{"version":3,"file":"aepp-sdk.browser.cjs","mappings":"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U,EACV39B,KAAM,CACJne,KAAM,OACNm8C,cAAe,CACb,UACA,kBACA,mBACA,oBACA,yBACA,uBACA,qBACA,iBACA,kBACA,wBACA,wBACA,mBACA,iBACA,gBACA,kBACA,iBACA,cACA,eACA,iBACA,eACA,mBACA,iBACA,aACA,WACA,oBAQCgB,GAAwC,CACnDh/B,KAAM,CACJne,KAAM,YACN47C,UAAW,YACXC,gBAAiB,CACfzM,UAAW,CACTuJ,eAAgB,YAChBx6B,KAAM,CACJne,KAAM,WACN4c,QAAS,CACPuB,KAAM,CACJne,KAAM,aAKdsvC,UAAW,CACTqJ,eAAgB,YAChBx6B,KAAM,CACJne,KAAM,WACN4c,QAAS,CACPuB,KAAM,CACJne,KAAM,gBASPo9C,GAA6C,CACxDj/B,KAAM,CACJne,KAAM,YACN47C,UAAW,iBACXyB,WAAY,iBACZC,yBAA0B,CACxB3E,eAAgB,KAChB4E,WAAY,MAEd1B,gBAAiB,CACf2B,GAAI,CACF7E,eAAgB,KAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,cAOHy9C,GAA0C,CACrDt/B,KAAM,CACJne,KAAM,YACN47C,UAAW,cACXC,gBAAiB,CACf19B,KAAM,CACJguB,aAAc,QACduR,YAAY,EACZ/E,eAAgB,OAChBx6B,KAAM,CACJne,KAAM,WAGVH,MAAO,CACLk8C,YAAa,CACXE,iBAAkB,oBAClBD,iBAAkB,GAEpBrD,eAAgB,QAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,cAOH29C,GAAkC,CAC7Cx/B,KAAM,CACJne,KAAM,YACN47C,UAAW,MACXC,gBAAiB,CACf19B,KAAM,CACJw6B,eAAgB,OAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,OACNm8C,cAAe,CAAC,QAAS,WAG7Bt8C,MAAO,CACLk8C,YAAa,CACXE,iBAAkB,oBAClBD,iBAAkB,GAEpBrD,eAAgB,QAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,cAOH49C,GAA0C,CACrDz/B,KAAM,CACJne,KAAM,YACN47C,UAAW,cACXC,gBAAiB,CACfpgD,IAAK,CACHk9C,eAAgB,MAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WAGV69C,WAAY,CACVlF,eAAgB,cAChBx6B,KAAM,CACJne,KAAM,WAGVgoB,GAAI,CACF2wB,eAAgB,KAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,cAOH89C,GAA2C,CACtD3/B,KAAM,CACJne,KAAM,YACN47C,UAAW,eACXC,gBAAiB,CACf7zB,GAAI,CACF2wB,eAAgB,KAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WAGV+9C,UAAW,CACThC,YAAa,CACXE,iBAAkB,oBAClBD,iBAAkB,GAEpBrD,eAAgB,aAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WAGVg+C,OAAQ,CACNjC,YAAa,CACXE,iBAAkB,oBAClBD,iBAAkB,GAEpBrD,eAAgB,UAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WAGVi+C,cAAe,CACbtF,eAAgB,iBAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WAGVk+C,WAAY,CACVnC,YAAa,CACXC,iBAAkB,GAEpBrD,eAAgB,cAChBmD,UAAU,EACV39B,KAAM,CAEJne,KAAM,cAOH04B,GAAsC,CACjDva,KAAM,CACJne,KAAM,YACN47C,UAAW,UACXC,gBAAiB,CACf7zB,GAAI,CACF2wB,eAAgB,KAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WAGV08C,YAAa,CACX/D,eAAgB,eAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WAGV28C,YAAa,CACXhE,eAAgB,eAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WAGVs1C,cAAe,CACbyG,YAAa,CACXC,iBAAkB,GAEpBrD,eAAgB,iBAChBmD,UAAU,EACV39B,KAAM,CAEJne,KAAM,WAGVqvC,gBAAiB,CACf0M,YAAa,CACXC,iBAAkB,GAEpBrD,eAAgB,mBAChBmD,UAAU,EACV39B,KAAM,CAEJne,KAAM,WAGVuvC,gBAAiB,CACfwM,YAAa,CACXC,iBAAkB,GAEpBrD,eAAgB,mBAChBmD,UAAU,EACV39B,KAAM,CAEJne,KAAM,WAGVwvC,eAAgB,CACduM,YAAa,CACXC,iBAAkB,GAEpBrD,eAAgB,kBAChBmD,UAAU,EACV39B,KAAM,CAEJne,KAAM,WAGV48C,YAAa,CACXjE,eAAgB,eAChBx6B,KAAM,CACJne,KAAM,YACN47C,UAAW,cAGfhM,UAAW,CACT+I,eAAgB,aAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WAGVvB,MAAO,CACLs9C,YAAa,CACXE,iBAAkB,oBAClBD,iBAAkB,GAEpBrD,eAAgB,QAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WAGVu1C,UAAW,CACTwG,YAAa,CACXE,iBAAkB,oBAClBD,iBAAkB,GAEpBrD,eAAgB,aAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WAGVyvC,WAAY,CACVsM,YAAa,CACXE,iBAAkB,oBAClBD,iBAAkB,GAEpBrD,eAAgB,cAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WAGVw1C,YAAa,CACXuG,YAAa,CACXE,iBAAkB,oBAClBD,iBAAkB,GAEpBrD,eAAgB,eAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,cAOHm+C,GAA6C,CACxDhgC,KAAM,CACJne,KAAM,YACN47C,UAAW,iBACXC,gBAAiB,CACf7zB,GAAI,CACF2wB,eAAgB,KAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WAGViuC,QAAS,CACP0K,eAAgB,WAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WAGV+kC,UAAW,CACTgX,YAAa,CACXE,iBAAkB,MAClBD,iBAAkB,GAEpBrD,eAAgB,aAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WAGVilC,WAAY,CACV8W,YAAa,CACXE,iBAAkB,MAClBD,iBAAkB,GAEpBrD,eAAgB,cAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WAGV+0C,OAAQ,CACN4D,eAAgB,SAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,YAGVo+C,YAAa,CACXzF,eAAgB,eAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WACN4c,QAAS,CACPuB,KAAM,CACJne,KAAM,aAKdmuC,QAAS,CACP4N,YAAa,CACXE,iBAAkB,oBAClBD,iBAAkB,GAEpBrD,eAAgB,UAChBmD,UAAU,EACV39B,KAAM,CAEJne,KAAM,cAOHq+C,GAAuC,CAClDlgC,KAAM,CACJne,KAAM,YACN47C,UAAW,WACXC,gBAAiB,CACfyC,SAAU,CACR3F,eAAgB,WAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,cAOHu+C,GAAkC,CAC7CpgC,KAAM,CACJne,KAAM,YACN47C,UAAW,MACXC,gBAAiB,CACf1L,IAAK,CACHwI,eAAgB,MAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,cAOHw+C,GAAuC,CAClDrgC,KAAM,CACJne,KAAM,YACN47C,UAAW,WACXC,gBAAiB,CACf77C,KAAM,CACJ24C,eAAgB,OAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WAGV2mB,OAAQ,CACNgyB,eAAgB,SAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WAGVy+C,QAAS,CACP9F,eAAgB,UAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WAGV0+C,gBAAiB,CACf3C,YAAa,CACXE,iBAAkB,oBAClBD,iBAAkB,GAEpBrD,eAAgB,oBAChBmD,UAAU,EACV39B,KAAM,CAEJne,KAAM,WAGV2+C,mBAAoB,CAClBhG,eAAgB,uBAChBx6B,KAAM,CACJne,KAAM,WAGV4+C,kBAAmB,CACjBjG,eAAgB,sBAChBx6B,KAAM,CACJne,KAAM,WAGV6+C,KAAM,CACJlG,eAAgB,OAChBx6B,KAAM,CACJne,KAAM,YACN47C,UAAW,UAGfkD,cAAe,CACbnG,eAAgB,iBAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WAGV++C,gBAAiB,CACfpG,eAAgB,mBAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WAGVg/C,YAAa,CACXrG,eAAgB,eAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,cAOHi/C,GAAoC,CAC/C9gC,KAAM,CACJne,KAAM,YACN47C,UAAW,QACXC,gBAAiB,CACf19B,KAAM,CACJw6B,eAAgB,OAChBx6B,KAAM,CACJne,KAAM,WAGV4O,KAAM,CACJ+pC,eAAgB,OAChBx6B,KAAM,CACJne,KAAM,cAOHk/C,GAA0C,CACrD/gC,KAAM,CACJne,KAAM,YACN47C,UAAW,cACXC,gBAAiB,CACf9Y,IAAK,CACH4V,eAAgB,MAChBx6B,KAAM,CACJne,KAAM,WAGVojC,SAAU,CACRuV,eAAgB,WAChBx6B,KAAM,CACJne,KAAM,WACN4c,QAAS,CACPuB,KAAM,CACJne,KAAM,YACN47C,UAAW,oBAKnB1Y,IAAK,CACHyV,eAAgB,MAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WACN4c,QAAS,CACPuB,KAAM,CACJne,KAAM,YACN47C,UAAW,sBAKnB3Y,SAAU,CACRkJ,cAAc,EACdwM,eAAgB,YAChBx6B,KAAM,CACJne,KAAM,eAOHm/C,GAA4C,CACvDhhC,KAAM,CACJne,KAAM,YACN47C,UAAW,gBACXC,gBAAiB,CACfvY,OAAQ,CACNqV,eAAgB,UAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WAGV0yB,OAAQ,CACNqpB,YAAa,CACXC,iBAAkB,GAEpBrD,eAAgB,SAChBmD,UAAU,EACV39B,KAAM,CAEJne,KAAM,cAOHo/C,GAA8C,CACzDjhC,KAAM,CACJne,KAAM,YACN47C,UAAW,kBACXC,gBAAiB,CACfnb,GAAI,CACFiY,eAAgB,KAChBx6B,KAAM,CACJne,KAAM,WAGVk0B,OAAQ,CACNykB,eAAgB,UAChBx6B,KAAM,CACJne,KAAM,WAGVq/C,QAAS,CACP1G,eAAgB,WAChBx6B,KAAM,CACJne,KAAM,YACN47C,UAAW,qBAOR0D,GAA4C,CACvDnhC,KAAM,CACJne,KAAM,YACN47C,UAAW,gBACXC,gBAAiB,CACf0D,SAAU,CACR5G,eAAgB,WAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WAGVk2C,SAAU,CACRyC,eAAgB,WAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WAGV0yB,OAAQ,CACNqpB,YAAa,CACXC,iBAAkB,GAEpBrD,eAAgB,SAChBx6B,KAAM,CAEJne,KAAM,WAGVi9C,IAAK,CACHlB,YAAa,CACXC,iBAAkB,GAEpBrD,eAAgB,MAChBx6B,KAAM,CACJne,KAAM,WAGVi2C,OAAQ,CACN0C,eAAgB,SAChBx6B,KAAM,CACJne,KAAM,WAGV+8B,MAAO,CACLgf,YAAa,CACXE,iBAAkB,oBAClBD,iBAAkB,GAEpBrD,eAAgB,QAChBx6B,KAAM,CACJne,KAAM,WAGVilC,WAAY,CACV8W,YAAa,CACXE,iBAAkB,MAClBD,iBAAkB,GAEpBrD,eAAgB,cAChBx6B,KAAM,CACJne,KAAM,WAGVw/C,QAAS,CACP7G,eAAgB,UAChBx6B,KAAM,CACJne,KAAM,YACN47C,UAAW,yBAOR6D,GAAgD,CAC3DthC,KAAM,CACJne,KAAM,YACN47C,UAAW,oBACXC,gBAAiB,CACfnb,GAAI,CACFiY,eAAgB,KAChBx6B,KAAM,CACJne,KAAM,WAGVk0B,OAAQ,CACNykB,eAAgB,UAChBx6B,KAAM,CACJne,KAAM,WAGV0/C,SAAU,CACR/G,eAAgB,WAChBx6B,KAAM,CACJne,KAAM,eAOH2/C,GAA4C,CACvDxhC,KAAM,CACJne,KAAM,YACN47C,UAAW,gBACXC,gBAAiB,CACfrY,QAAS,CACPmV,eAAgB,UAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WACN4c,QAAS,CACPuB,KAAM,CACJne,KAAM,YACN47C,UAAW,mBAKnB3Y,SAAU,CACR0V,eAAgB,YAChBx6B,KAAM,CACJne,KAAM,WACN4c,QAAS,CACPuB,KAAM,CACJne,KAAM,aACNH,MAAO,CAAEse,KAAM,CAAEne,KAAM,eASxB4/C,GAA2C,CACtDzhC,KAAM,CACJne,KAAM,YACN47C,UAAW,eACXC,gBAAiB,CACf19B,KAAM,CACJw6B,eAAgB,OAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WAGV8D,OAAQ,CACN60C,eAAgB,SAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WAGVyjC,OAAQ,CACNkV,eAAgB,SAChBx6B,KAAM,CACJne,KAAM,WAGV6/C,QAAS,CACPlH,eAAgB,WAChBx6B,KAAM,CACJne,KAAM,YACN47C,UAAW,0BAORkE,GAAiD,CAC5D3hC,KAAM,CACJne,KAAM,YACN47C,UAAW,qBACXC,gBAAiB,CACfxN,SAAU,CACRsK,eAAgB,YAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WAGVk1C,YAAa,CACX6G,YAAa,CACXE,iBAAkB,oBAClBD,iBAAkB,GAEpBrD,eAAgB,eAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WAGVuvB,OAAQ,CACNwsB,YAAa,CACXE,iBAAkB,oBAClBD,iBAAkB,GAEpBrD,eAAgB,SAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WAGVokC,WAAY,CACVuU,eAAgB,cAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WAGV2nC,SAAU,CACRoU,YAAa,CACXC,iBAAkB,GAEpBrD,eAAgB,YAChBmD,UAAU,EACV39B,KAAM,CAEJne,KAAM,WAGVm1C,QAAS,CACP4G,YAAa,CACXE,iBAAkB,oBAClBD,iBAAkB,GAEpBrD,eAAgB,WAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WAGVpC,IAAK,CACH+6C,eAAgB,MAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WACN4c,QAAS,CACPuB,KAAM,CACJne,KAAM,YACN47C,UAAW,YAKnBxG,YAAa,CACXuD,eAAgB,eAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WAGVq1C,WAAY,CACVsD,eAAgB,cAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,OACNm8C,cAAe,CAAC,KAAM,QAAS,eAO5B4D,GAAoC,CAC/C5hC,KAAM,CACJne,KAAM,YACN47C,UAAW,QACXC,gBAAiB,CACfvrB,QAAS,CACPqoB,eAAgB,UAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WAGVggD,OAAQ,CACNrH,eAAgB,SAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WACN4c,QAAS,CACPm/B,YAAa,CACXC,iBAAkB,GAEpB79B,KAAM,CAEJne,KAAM,aAKd4O,KAAM,CACJ+pC,eAAgB,OAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,cAOHigD,GAAyC,CACpD9hC,KAAM,CACJne,KAAM,YACN47C,UAAW,aACXC,gBAAiB,CACfqE,SAAU,CACRvH,eAAgB,YAChBx6B,KAAM,CACJne,KAAM,YACN47C,UAAW,aAGfuE,YAAa,CACXxH,eAAgB,eAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WACN4c,QAAS,CACPuB,KAAM,CACJne,KAAM,gBASPogD,GAAuC,CAClDjiC,KAAM,CACJne,KAAM,YACN47C,UAAW,WACXC,gBAAiB,CACfnsC,KAAM,CACJipC,eAAgB,OAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WAGVuvB,OAAQ,CACNwsB,YAAa,CACXE,iBAAkB,oBAClBD,iBAAkB,GAEpBrD,eAAgB,SAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WAGVqgD,SAAU,CACR1H,eAAgB,YAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WAGVsgD,YAAa,CACX3H,eAAgB,gBAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WAGV4vC,UAAW,CACT+I,eAAgB,aAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WAGVugD,MAAO,CACL5H,eAAgB,QAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WAGVwgD,YAAa,CACX7H,eAAgB,cAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WAGV20C,MAAO,CACLgE,eAAgB,QAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WAGVqD,OAAQ,CACN04C,YAAa,CACXE,iBAAkB,WAClBD,iBAAkB,GAEpBrD,eAAgB,SAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WAGV0E,IAAK,CACHq3C,YAAa,CACX0E,SAAU,GACVC,SAAU,IAEZ/H,eAAgB,MAChBx6B,KAAM,CACJne,KAAM,WACN4c,QAAS,CACPm/B,YAAa,CACXE,iBAAkB,WAClBD,iBAAkB,GAEpB79B,KAAM,CACJne,KAAM,aAKd+8B,MAAO,CACLgf,YAAa,CACXE,iBAAkB,oBAClBD,iBAAkB,GAEpBrD,eAAgB,QAChBx6B,KAAM,CACJne,KAAM,WAGVqgC,KAAM,CACJsY,eAAgB,OAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,aAGVga,QAAS,CACP+hC,YAAa,CACXE,iBAAkB,WAClBD,iBAAkB,GAEpBrD,eAAgB,UAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WAGV2gD,KAAM,CACJhI,eAAgB,OAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,cAOH4gD,GAAqC,CAChDziC,KAAM,CACJne,KAAM,YACN47C,UAAW,SACXC,gBAAiB,CACfnsC,KAAM,CACJipC,eAAgB,OAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WAGVuvB,OAAQ,CACNwsB,YAAa,CACXE,iBAAkB,oBAClBD,iBAAkB,GAEpBrD,eAAgB,SAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WAGVqgD,SAAU,CACR1H,eAAgB,YAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WAGVsgD,YAAa,CACX3H,eAAgB,gBAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WAGV4vC,UAAW,CACT+I,eAAgB,aAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WAGVugD,MAAO,CACL5H,eAAgB,QAChBx6B,KAAM,CACJne,KAAM,WAGVwgD,YAAa,CACX7H,eAAgB,cAChBx6B,KAAM,CACJne,KAAM,WAGV20C,MAAO,CACLgE,eAAgB,QAChBx6B,KAAM,CACJne,KAAM,WAGVqD,OAAQ,CACN04C,YAAa,CACXE,iBAAkB,WAClBD,iBAAkB,GAEpBrD,eAAgB,SAChBx6B,KAAM,CACJne,KAAM,WAGV0E,IAAK,CACHq3C,YAAa,CACX0E,SAAU,GACVC,SAAU,IAEZ/H,eAAgB,MAChBx6B,KAAM,CACJne,KAAM,WACN4c,QAAS,CACPm/B,YAAa,CACXE,iBAAkB,WAClBD,iBAAkB,GAEpB79B,KAAM,CACJne,KAAM,aAKd+8B,MAAO,CACLgf,YAAa,CACXE,iBAAkB,oBAClBD,iBAAkB,GAEpBrD,eAAgB,QAChBx6B,KAAM,CACJne,KAAM,WAGVqgC,KAAM,CACJsY,eAAgB,OAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,aAGVga,QAAS,CACP+hC,YAAa,CACXE,iBAAkB,WAClBD,iBAAkB,GAEpBrD,eAAgB,UAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WAGV2gD,KAAM,CACJhI,eAAgB,OAChBx6B,KAAM,CACJne,KAAM,WAGV6gD,QAAS,CACPlI,eAAgB,WAChBx6B,KAAM,CACJne,KAAM,WAGV8gD,QAAS,CACPnI,eAAgB,WAChBx6B,KAAM,CACJne,KAAM,WAGVo7B,UAAW,CACTud,eAAgB,YAChBx6B,KAAM,CACJne,KAAM,cAOH+gD,GAAwC,CACnD5iC,KAAM,CACJne,KAAM,YACN47C,UAAW,YACXC,gBAAiB,CACfmF,MAAO,CACLrI,eAAgB,QAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WAGVuvB,OAAQ,CACNopB,eAAgB,SAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WAGVw8C,UAAW,CACT7D,eAAgB,aAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WAGVihD,cAAe,CACbtI,eAAgB,iBAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WAGVkhD,WAAY,CACVvI,eAAgB,cAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WAGVmhD,WAAY,CACVxI,eAAgB,cAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WAGVohD,gBAAiB,CACfzI,eAAgB,oBAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,cAOHqhD,GAAgD,CAC3DljC,KAAM,CACJne,KAAM,YACN47C,UAAW,oBACXC,gBAAiB,CACfyF,QAAS,CACP3I,eAAgB,UAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WAGVuhD,SAAU,CACR5I,eAAgB,WAChBx6B,KAAM,CACJne,KAAM,WAGVwhD,QAAS,CACP7I,eAAgB,UAChBx6B,KAAM,CACJne,KAAM,cAOHyhD,GAA2C,CACtDtjC,KAAM,CACJne,KAAM,YACN47C,UAAW,eACXC,gBAAiB,CACfnsC,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,KAAM,WAGVw/C,QAAS,CACP7G,eAAgB,UAChBx6B,KAAM,CACJne,KAAM,cAOH0qE,GAAuC,CAClDvsD,KAAM,CACJne,KAAM,YACN47C,UAAW,WACXC,gBAAiB,CACf8uB,KAAM,CACJhyB,eAAgB,OAChBx6B,KAAM,CACJne,KAAM,WAGV4qE,KAAM,CACJjyB,eAAgB,OAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WAGV6qE,IAAK,CACHlyB,eAAgB,MAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,cAOH8qE,GAA4C,CACvD3sD,KAAM,CACJne,KAAM,YACN47C,UAAW,gBACXC,gBAAiB,CACfyC,SAAU,CACR3F,eAAgB,WAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WAGV4uD,IAAK,CACHjW,eAAgB,MAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WACN4c,QAAS,CACPuB,KAAM,CACJne,KAAM,aACNH,MAAO,CAAEse,KAAM,CAAEne,KAAM,YAK/B+qE,SAAU,CACRpyB,eAAgB,WAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WACN4c,QAAS,CACPuB,KAAM,CACJne,KAAM,YACN47C,UAAW,uBASZovB,GAAoD,CAC/D7sD,KAAM,CACJne,KAAM,YACN47C,UAAW,wBACXC,gBAAiB,CACfnhC,OAAQ,CACNi+B,eAAgB,SAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WAGV4X,QAAS,CACP+gC,eAAgB,UAChBx6B,KAAM,CACJne,KAAM,YACN47C,UAAW,gBAGfqvB,SAAU,CACRtyB,eAAgB,WAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WAGVkrE,WAAY,CACVvyB,eAAgB,cAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WAGVmrE,UAAW,CACTxyB,eAAgB,aAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,cAOHorE,GAAsD,CACjEjtD,KAAM,CACJne,KAAM,YACN47C,UAAW,0BACXC,gBAAiB,CACfyC,SAAU,CACR3F,eAAgB,WAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WAGVirE,SAAU,CACRtyB,eAAgB,WAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WAGVkrE,WAAY,CACVvyB,eAAgB,cAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WAGVmrE,UAAW,CACTxyB,eAAgB,aAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,cAOHqrE,GAAgD,CAC3DltD,KAAM,CACJne,KAAM,YACN47C,UAAW,oBACXC,gBAAiB,CACfovB,SAAU,CACRtyB,eAAgB,WAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WAGV8D,OAAQ,CACN60C,eAAgB,SAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,aACNH,MAAO,CAAEse,KAAM,CAAEne,KAAM,aAOpBsrE,GAAgD,CAC3DntD,KAAM,CACJne,KAAM,YACN47C,UAAW,oBACXC,gBAAiB,CACfnhC,OAAQ,CACNi+B,eAAgB,SAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WAGV4X,QAAS,CACP+gC,eAAgB,UAChBx6B,KAAM,CACJne,KAAM,YACN47C,UAAW,gBAGfqvB,SAAU,CACRtyB,eAAgB,WAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WAGVjB,UAAW,CACT45C,eAAgB,YAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WACN4c,QAAS,CACPuB,KAAM,CACJne,KAAM,gBASP04D,GAAuC,CAClDv6C,KAAM,CACJne,KAAM,YACN47C,UAAW,WACXC,gBAAiB,CACf0D,SAAU,CACR5G,eAAgB,WAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,cAOHurE,GAAqD,CAChEptD,KAAM,CACJne,KAAM,YACN47C,UAAW,yBACXC,gBAAiB,CACf0D,SAAU,CACR5G,eAAgB,WAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WAGVs+C,SAAU,CACR3F,eAAgB,WAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,cAOHwrE,GAA8C,CACzDrtD,KAAM,CACJne,KAAM,YACN47C,UAAW,kBACXC,gBAAiB,CACfovB,SAAU,CACRtyB,eAAgB,WAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WAGVjB,UAAW,CACT45C,eAAgB,YAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WACN4c,QAAS,CACPuB,KAAM,CACJne,KAAM,aACNH,MAAO,CAAEse,KAAM,CAAEne,KAAM,eASxBo8C,GAAyC,CACpDj+B,KAAM,CACJne,KAAM,YACN47C,UAAW,aACXC,gBAAiB,CACfpY,OAAQ,CACNkV,eAAgB,SAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,cAOHyrE,GAAmD,CAC9DttD,KAAM,CACJne,KAAM,YACN47C,UAAW,uBACXC,gBAAiB,CACfnhC,OAAQ,CACNi+B,eAAgB,SAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WAGV4X,QAAS,CACP+gC,eAAgB,UAChBx6B,KAAM,CACJne,KAAM,YACN47C,UAAW,gBAGf2D,SAAU,CACR5G,eAAgB,WAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WAGVirE,SAAU,CACRtyB,eAAgB,WAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,cAOH0rE,GAA4C,CACvDvtD,KAAM,CACJne,KAAM,YACN47C,UAAW,gBACXC,gBAAiB,CACfyC,SAAU,CACR3F,eAAgB,WAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,cAOH2rE,GAA4C,CACvDxtD,KAAM,CACJne,KAAM,YACN47C,UAAW,gBACXC,gBAAiB,CACf+vB,cAAe,CACbjzB,eAAgB,iBAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,cAOH6rE,GAAoD,CAC/D1tD,KAAM,CACJne,KAAM,YACN47C,UAAW,wBACXC,gBAAiB,CACfyC,SAAU,CACR3F,eAAgB,WAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WAGV0a,OAAQ,CACNi+B,eAAgB,SAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WAGV4X,QAAS,CACP+gC,eAAgB,UAChBx6B,KAAM,CACJne,KAAM,YACN47C,UAAW,mBAORkwB,GAA8C,CACzD3tD,KAAM,C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Bx6B,KAAM,CACJne,KAAM,YAgBCy7E,GAA+B,CAC1Cv0B,cAAe,CAAC,UAAW,MAC3BzO,OAAQ,CACNsD,YAAa,CACXmB,QAAS,IAAIz1C,OAAO,oBAEtBkxC,eAAgB,KAChBx6B,KAAM,CACJne,KAAM,YAgBC07E,GAA+B,CAC1Cx0B,cAAe,OACfzO,OAAQ,CACNsD,YAAa,CACXmB,QAAS,IAAIz1C,OAAO,oBAEtBkxC,eAAgB,OAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,YCxxCC27E,GACX,CACEx9D,KAAM,CACJne,KAAM,YACN47C,UACE,4FACFC,gBAAiB,CACfjtC,KAAM,CACJ+pC,eAAgB,OAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WACN4c,QAAS,CACPuB,KAAM,CACJne,KAAM,YACN47C,UAAW,kBASdggC,GAAuC,CAClDz9D,KAAM,CACJne,KAAM,YACN47C,UAAW,WACXC,gBAAiB,CACfW,UAAW,CACTT,YAAa,CACXmB,QAAS,IAAIz1C,OAAO,oBAEtBkxC,eAAgB,aAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WAGV67E,UAAW,CACTljC,eAAgB,aAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,aAGVuvB,OAAQ,CACNopB,eAAgB,SAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WAGVme,KAAM,CACJw6B,eAAgB,OAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,OACNm8C,cAAe,CACb,eACA,wBACA,sBACA,qBACA,wBACA,sBACA,mBACA,sBACA,oBACA,oBACA,wBACA,sBACA,kBACA,gBACA,uBACA,wBACA,yBACA,8BACA,4BACA,0BACA,sBACA,uBACA,6BACA,6BACA,yBACA,gCACA,sBAIN1iB,QAAS,CACPkf,eAAgB,UAChBx6B,KAAM,CACJne,KAAM,YACN47C,UAAW,uBAORkgC,GAA8C,CACzD39D,KAAM,CACJne,KAAM,YACN47C,UAAW,kBACXC,gBAAiB,CACfW,UAAW,CACTT,YAAa,CACXmB,QAAS,IAAIz1C,OAAO,oBAEtBkxC,eAAgB,aA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AgB,WAChBx6B,KAAM,CACJne,KAAM,WAGVga,QAAS,CACP+hC,YAAa,CACXE,iBAAkB,WAClBD,iBAAkB,GAEpBrD,eAAgB,UAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WAGVme,KAAM,CACJw6B,eAAgB,OAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,OACNm8C,cAAe,CACb,UACA,kBACA,mBACA,oBACA,yBACA,uBACA,qBACA,iBACA,kBACA,wBACA,wBACA,mBACA,iBACA,gBACA,kBACA,iBACA,cACA,eACA,iBACA,eACA,mBACA,iBACA,aACA,WACA,oBAQCgB,GAAwC,CACnDh/B,KAAM,CACJne,KAAM,YACN47C,UAAW,YACXC,gBAAiB,CACfzM,UAAW,CACTuJ,eAAgB,YAChBx6B,KAAM,CACJne,KAAM,WACN4c,QAAS,CACPuB,KAAM,CACJne,KAAM,aAKdsvC,UAAW,CACTqJ,eAAgB,YAChBx6B,KAAM,CACJne,KAAM,WACN4c,QAAS,CACPuB,KAAM,CACJne,KAAM,gBASPo9C,GAA6C,CACxDzE,eAAgB,iBAChBx6B,KAAM,CACJne,KAAM,YACN47C,UAAW,iBACXyB,WAAY,iBACZC,yBAA0B,CACxB3E,eAAgB,KAChB4E,WAAY,MAEd1B,gBAAiB,CACf2B,GAAI,CACF7E,eAAgB,KAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,cAOHy9C,GAA0C,CACrDt/B,KAAM,CACJne,KAAM,YACN47C,UAAW,cACXC,gBAAiB,CACf19B,KAAM,CACJguB,aAAc,QACduR,YAAY,EACZ/E,eAAgB,OAChBx6B,KAAM,CACJne,KAAM,WAGVH,MAAO,CACLk8C,YAAa,CACXE,iBAAkB,oBAClBD,iBAAkB,GAEpBrD,eAAgB,QAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,cAOH29C,GAAkC,CAC7Cx/B,KAAM,CACJne,KAAM,YACN47C,UAAW,MACXC,gBAAiB,CACf19B,KAAM,CACJw6B,eAAgB,OAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,OACNm8C,cAAe,CAAC,QAAS,WAG7Bt8C,MAAO,CACLk8C,YAAa,CACXE,iBAAkB,oBAClBD,iBAAkB,GAEpBrD,eAAgB,QAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,cAOH49C,GAA0C,CACrDz/B,KAAM,CACJne,KAAM,YACN47C,UAAW,cACXC,gBAAiB,CACfpgD,IAAK,CACHk9C,eAAgB,MAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WAGV69C,WAAY,CACVlF,eAAgB,cAChBx6B,KAAM,CACJne,KAAM,WAGVgoB,GAAI,CACF2wB,eAAgB,KAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,cAOH0sC,GAAuC,CAClDvuB,KAAM,CACJne,KAAM,YACN47C,UAAW,WACXC,gBAAiB,CACfnb,GAAI,CACFiY,eAAgB,KAChBx6B,KAAM,CACJne,KAAM,YACN47C,UAAW,OAGfhb,YAAa,CACXmb,YAAa,CACXE,iBAAkB,oBAClBD,kBAAmB,GAErBrD,eAAgB,eAChBx6B,KAAM,CACJne,KAAM,WAGVw8C,UAAW,CACT7D,eAAgB,aAChBx6B,KAAM,CACJne,KAAM,WAGV0P,KAAM,CACJipC,eAAgB,OAChBx6B,KAAM,CACJne,KAAM,WAGV+oC,UAAW,CACT4P,eAAgB,aAChBx6B,KAAM,CACJne,KAAM,WAGVmtC,WAAY,CACVwL,eAAgB,aAChBx6B,KAAM,CACJne,KAAM,WACN4c,QAAS,CACPuB,KAAM,CACJne,KAAM,gBASPw8E,GAAgD,CAC3Dr+D,KAAM,CACJne,KAAM,YACN47C,UAAW,oBACXC,gBAAiB,CACfj8B,KAAM,CACJ+4B,eAAgB,OAChBmD,UAAU,EACV2gC,UAAU,EACVt+D,KAAM,CACJne,KAAM,WAGVoqB,KAAM,CACJuuB,eAAgB,OAChBmD,UAAU,EACV2gC,UAAU,EACVt+D,KAAM,CACJne,KAAM,cAOH08E,GAA4C,CACvDv+D,KAAM,CACJne,KAAM,YACN47C,UAAW,gBACXC,gBAAiB,CACf3zC,MAAO,CACLywC,eAAgB,QAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,cAOH28E,GACX,CACEx+D,KAAM,CACJne,KAAM,YACN47C,UACE,+FACFC,gBAAiB,CACfjtC,KAAM,CACJ+pC,eAAgB,OAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WACN4c,QAAS,CACPuB,KAAM,CACJne,KAAM,YACN47C,UAAW,6BASdghC,GAAkD,CAC7Dz+D,KAAM,CACJne,KAAM,YACN47C,UAAW,sBACXC,gBAAiB,CACfzX,WAAY,CACV2X,YAAa,CACXmB,QAAS,IAAIz1C,OAAO,oBAEtBkxC,eAAgB,cAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WAGViuC,QAAS,CACP8N,YAAa,CACXmB,QAAS,IAAIz1C,OAAO,oBAEtBkxC,eAAgB,WAChBx6B,KAAM,CACJne,KAAM,WAGVm8E,QAAS,CACPxjC,eAAgB,WAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,cAOH68E,GACX,CACE1+D,KAAM,CACJne,KAAM,YACN47C,UACE,8FACFC,gBAAiB,CACfjtC,KAAM,CACJ+pC,eAAgB,OAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WACN4c,QAAS,CACPuB,KAAM,CACJne,KAAM,YACN47C,UAAW,6BASdkhC,GAAkD,CAC7D3+D,KAAM,CACJne,KAAM,YACN47C,UAAW,sBACXC,gBAAiB,CACfnpB,OAAQ,CACNimB,eAAgB,SAChBmD,UAAU,EACV39B,KAAM,CAEJne,KAAM,WAGVw8C,UAAW,CACT7D,eAAgB,aAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WAGVokC,WAAY,CACV2X,YAAa,CACXmB,QAAS,IAAIz1C,OAAO,oBAEtBkxC,eAAgB,cAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WAGV+8E,SAAU,CACRpkC,eAAgB,WAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WAGVuvB,OAAQ,CACNopB,eAAgB,SAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WAGVg9E,UAAW,CACTrkC,eAAgB,aAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WAGVi9E,YAAa,CACXtkC,eAAgB,eAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WAGVk0B,OAAQ,CACN6nB,YAAa,CACXmB,QAAS,IAAIz1C,OAAO,oBAEtBkxC,eAAgB,UAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WAGVk9E,QAAS,CACPvkC,eAAgB,WAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WAGVgpC,OAAQ,CACN2P,eAAgB,UAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,cAOHm9E,GACX,CACEh/D,KAAM,CACJne,KAAM,YACN47C,UACE,2FACFC,gBAAiB,CACfjtC,KAAM,CACJ+pC,eAAgB,OAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WACN4c,QAAS,CACPuB,KAAM,CACJne,KAAM,YACN47C,UAAW,iBASdwhC,GAAsC,CACjDj/D,KAAM,CACJne,KAAM,YACN47C,UAAW,UACXC,gBAAiB,CACfwhC,QAAS,CACP1kC,eAAgB,UAChBx6B,KAAM,CACJne,KAAM,YACN47C,UAAW,mBAGfoY,OAAQ,CACNrb,eAAgB,SAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,OACNm8C,cAAe,CAAC,OAAQ,MAAO,UAGnClG,OAAQ,CACN8F,YAAa,CACXmB,QAAS,IAAIz1C,OAAO,oBAEtBkxC,eAAgB,SAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WAGVs9E,UAAW,CACT3kC,eAAgB,aAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WAGVu9E,QAAS,CACP5kC,eAAgB,WAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WAGVi8E,OAAQ,CACNtjC,eAAgB,UAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WAGVw9E,UAAW,CACTzhC,YAAa,CACXmB,QAAS,IAAIz1C,OAAO,oBAEtBkxC,eAAgB,aAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WAGVk0B,OAAQ,CACN6nB,YAAa,CACXmB,QAAS,IAAIz1C,OAAO,oBAEtBkxC,eAAgB,UAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WAGVy9E,aAAc,CACZ1hC,YAAa,CACXmB,QAAS,IAAIz1C,OAAO,oBAEtBkxC,eAAgB,gBAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WAGV09E,WAAY,CACV3hC,YAAa,CACXmB,QAAS,IAAIz1C,OAAO,oBAEtBkxC,eAAgB,cAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WAGV29E,WAAY,CACVhlC,eAAgB,cAChBmD,UAAU,EACV39B,KAAM,CAEJne,KAAM,WAGV49E,SAAU,CACRjlC,eAAgB,YAChBmD,UAAU,EACV39B,KAAM,CAEJne,KAAM,WAGV69E,aAAc,CACZllC,eAAgB,gBAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WAGV89E,WAAY,CACVnlC,eAAgB,cAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WAGVg8E,UAAW,CACTrjC,eAAgB,aAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,aAGVuvB,OAAQ,CACNopB,eAAgB,SAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,cAOH+9E,GAA6C,CACxD5/D,KAAM,CACJne,KAAM,YACN47C,UAAW,iBACXC,gBAAiB,CACfmiC,UAAW,CACTrlC,eAAgB,aAChBmD,UAAU,EACV39B,KAAM,CAEJne,KAAM,WAGVi+E,UAAW,CACTtlC,eAAgB,aAChBmD,UAAU,EACV39B,KAAM,CAEJne,KAAM,WAGVk+E,WAAY,CACVvlC,eAAgB,cAChBmD,UAAU,EACV39B,KAAM,CAEJne,KAAM,WAGVm+E,WAAY,CACVxlC,eAAgB,cAChBmD,UAAU,EACV39B,KAAM,CAEJne,KAAM,cAOHo+E,GACX,CACEjgE,KAAM,CACJne,KAAM,YACN47C,UACE,8FACFC,gBAAiB,CACfjtC,KAAM,CACJ+pC,eAAgB,OAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WACN4c,QAAS,CACPuB,KAAM,CACJne,KAAM,YACN47C,UAAW,mBASdyiC,GAAwC,CACnDlgE,KAAM,CACJne,KAAM,YACN47C,UAAW,YACXC,gBAAiB,CACfyiC,WAAY,CACV3lC,eAAgB,cAChBmD,UAAU,EACV39B,KAAM,CACJn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39B,KAAM,CACJne,KAAM,WAGV4kC,SAAU,CACR+T,eAAgB,WAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WACN4c,QAAS,CACPuB,KAAM,CACJne,KAAM,YACN47C,UAAW,kBAKnB9O,UAAW,CACTiP,YAAa,CACXE,iBAAkB,oBAClBD,iBAAkB,GAEpBrD,eAAgB,aAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WAGViqC,IAAK,CACH8R,YAAa,CACXC,iBAAkB,GAEpBrD,eAAgB,MAChBmD,UAAU,EACV39B,KAAM,CAEJne,KAAM,WAGV6gC,IAAK,CACHkb,YAAa,CACXE,iBAAkB,oBAClBD,iBAAkB,GAEpBrD,eAAgB,MAChBx6B,KAAM,CACJne,KAAM,WAGVytC,UAAW,CACTkL,eAAgB,aAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WAGV+8B,MAAO,CACLgf,YAAa,CACXE,iBAAkB,oBAClBD,iBAAkB,GAEpBrD,eAAgB,QAChBx6B,KAAM,CACJne,KAAM,cAOH6+E,GACX,CACE1gE,KAAM,CACJne,KAAM,YACN47C,UACE,6FACFC,gBAAiB,CACfijC,iBAAkB,CAChBnmC,eAAgB,qBAChBx6B,KAAM,CACJne,KAAM,YACN47C,UAAW,oCAGfmjC,eAAgB,CACdpmC,eAAgB,mBAChBx6B,KAAM,CACJne,KAAM,YACN47C,UACE,uHAGNojC,WAAY,CACVrmC,eAAgB,eAChBx6B,KAAM,CACJne,KAAM,YACN47C,UACE,oHAGNorB,SAAU,CACRruB,eAAgB,aAChBx6B,KAAM,CACJne,KAAM,YACN47C,UACE,iHAGNqjC,qBAAsB,CACpBtmC,eAAgB,0BAChBx6B,KAAM,CACJne,KAAM,YACN47C,UACE,6HAGNsjC,mBAAoB,CAClBvmC,eAAgB,wBAChBx6B,KAAM,CACJne,KAAM,YACN47C,UACE,4HAGNujC,gBAAiB,CACfxmC,eAAgB,oBAChBx6B,KAAM,CACJne,KAAM,YACN47C,UACE,wHAGNwjC,iBAAkB,CAChBzmC,eAAgB,qBAChBx6B,KAAM,CACJne,KAAM,YACN47C,UACE,0HAGNyjC,uBAAwB,CACtB1mC,eAAgB,4BAChBx6B,KAAM,CACJne,KAAM,YACN47C,UACE,gIAGN0jC,sBAAuB,CACrB3mC,eAAgB,2BAChBx6B,KAAM,CACJne,KAAM,YACN47C,UACE,8HAGN2jC,gBAAiB,CACf5mC,eAAgB,oBAChBx6B,KAAM,CACJne,KAAM,YACN47C,UACE,wHAGN4jC,eAAgB,CACd7mC,eAAgB,mBAChBx6B,KAAM,CACJne,KAAM,YACN47C,UACE,uHAGN6jC,sBAAuB,CACrB9mC,eAAgB,2BAChBx6B,KAAM,CACJne,KAAM,YACN47C,UACE,8HAGN8jC,kBAAmB,CACjB/mC,eAAgB,sBAChBx6B,KAAM,CACJne,KAAM,YACN47C,UACE,2HAGN+jC,YAAa,CACXhnC,eAAgB,gBAChBx6B,KAAM,CACJne,KAAM,YACN47C,UACE,oHAGNgkC,eAAgB,CACdjnC,eAAgB,mBAChBx6B,KAAM,CACJne,KAAM,YACN47C,UACE,wHAGNikC,aAAc,CACZlnC,eAAgB,iBAChBx6B,KAAM,CACJne,KAAM,YACN47C,UACE,qHAGNkkC,eAAgB,CACdnnC,eAAgB,mBAChBx6B,KAAM,CACJne,KAAM,YACN47C,UACE,uHAGNmkC,aAAc,CACZpnC,eAAgB,iBAChBx6B,KAAM,CACJne,KAAM,YACN47C,UACE,qHAGNokC,eAAgB,CACdrnC,eAAgB,mBAChBx6B,KAAM,CACJne,KAAM,YACN47C,UACE,wHAGN+e,cAAe,CACbhiB,eAAgB,kBAChBx6B,KAAM,CACJne,KAAM,YACN47C,UACE,uHAGNqkC,iBAAkB,CAChBtnC,eAAgB,qBAChBx6B,KAAM,CACJne,KAAM,YACN47C,UACE,yHAGNskC,iBAAkB,CAChBvnC,eAAgB,qBAChBx6B,KAAM,CACJne,KAAM,YACN47C,UACE,0HAGNukC,YAAa,CACXxnC,eAAgB,gBAChBx6B,KAAM,CACJne,KAAM,YACN47C,UACE,qHAGNwkC,QAAS,CACPznC,eAAgB,WAChBx6B,KAAM,CACJne,KAAM,YACN47C,UACE,gHAGNykC,kBAAmB,CACjB1nC,eAAgB,sBAChBx6B,KAAM,CACJne,KAAM,YACN47C,UACE,0HAGN6K,MAAO,CACL9N,eAAgB,QAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,cAOLsgF,GAA8D,CACzEniE,KAAM,CACJne,KAAM,YACN47C,UAAW,kCACXC,gBAAiB,CACf5N,QAAS,CACP0K,eAAgB,WAChBx6B,KAAM,CACJne,KAAM,cAOHugF,GACX,CACEpiE,KAAM,CACJne,KAAM,YACN47C,UACE,qHACFC,gBAAiB,CACfzX,WAAY,CACVuU,eAAgB,cAChBx6B,KAAM,CACJne,KAAM,WAGVquC,SAAU,CACRsK,eAAgB,YAChBx6B,KAAM,CACJne,KAAM,cAOLwgF,GACX,CACEriE,KAAM,CACJne,KAAM,YACN47C,UACE,kHACFC,gBAAiB,CACf5N,QAAS,CACP0K,eAAgB,WAChBx6B,KAAM,CACJne,KAAM,cAOLygF,GACX,CACEtiE,KAAM,CACJne,KAAM,YACN47C,UACE,+GACFC,gBAAiB,CACfjL,KAAM,CACJ+H,eAAgB,QAChBx6B,KAAM,CACJne,KAAM,cAOL0gF,GACX,CACEviE,KAAM,CACJne,KAAM,YACN47C,UACE,2HACFC,gBAAiB,CACf/L,UAAW,CACT6I,eAAgB,aAChBx6B,KAAM,CACJne,KAAM,WAGV+vC,OAAQ,CACN4I,eAAgB,UAChBx6B,KAAM,CACJne,KAAM,cAOL2gF,GACX,CACExiE,KAAM,CACJne,KAAM,YACN47C,UACE,0HACFC,gBAAiB,CACf/L,UAAW,CACT6I,eAAgB,aAChBx6B,KAAM,CACJne,KAAM,WAGV+vC,OAAQ,CACN4I,eAAgB,UAChBx6B,KAAM,CACJne,KAAM,cAOL4gF,GACX,CACEziE,KAAM,CACJne,KAAM,YACN47C,UACE,sHACFC,gBAAiB,CACfa,YAAa,CACX/D,eAAgB,eAChBx6B,KAAM,CACJne,KAAM,WAGV28C,YAAa,CACXhE,eAAgB,eAChBx6B,KAAM,CACJne,KAAM,cAOL6gF,GACX,CACE1iE,KAAM,CACJne,KAAM,YACN47C,UACE,wHACFC,gBAAiB,CACf/L,UAAW,CACT6I,eAAgB,aAChBx6B,KAAM,CACJne,KAAM,WAGV+vC,OAAQ,CACN4I,eAAgB,UAChBx6B,KAAM,CACJne,KAAM,cAOL8gF,GACX,CACE3iE,KAAM,CACJne,KAAM,YACN47C,UACE,8HACFC,gBAAiB,CACf/L,UAAW,CACT6I,eAAgB,aAChBx6B,KAAM,CACJne,KAAM,WAGV+vC,OAAQ,CACN4I,eAAgB,UAChBx6B,KAAM,CACJne,KAAM,cAOL+gF,GACX,CACE5iE,KAAM,CACJne,KAAM,YACN47C,UACE,4HACFC,gBAAiB,CACf/L,UAAW,CACT6I,eAAgB,aAChBx6B,KAAM,CACJne,KAAM,WAGV+vC,OAAQ,CACN4I,eAAgB,UAChBx6B,KAAM,CACJne,KAAM,cAOLghF,GACX,CACE7iE,KAAM,CACJne,KAAM,YACN47C,UACE,sHACFC,gBAAiB,CACf/L,UAAW,CACT6I,eAAgB,aAChBx6B,KAAM,CACJne,KAAM,WAGV+vC,OAAQ,CACN4I,eAAgB,UAChBx6B,KAAM,CACJne,KAAM,cAOLihF,GACX,CACE9iE,KAAM,CACJne,KAAM,YACN47C,UACE,qHACFC,gBAAiB,CACf/L,UAAW,CACT6I,eAAgB,aAChBx6B,KAAM,CACJne,KAAM,WAGV+vC,OAAQ,CACN4I,eAAgB,UAChBx6B,KAAM,CACJne,KAAM,cAOLkhF,GACX,CACE/iE,KAAM,CACJne,KAAM,YACN47C,UACE,4HACFC,gBAAiB,CACf/L,UAAW,CACT6I,eAAgB,aAChBx6B,KAAM,CACJne,KAAM,WAGV+vC,OAAQ,CACN4I,eAAgB,UAChBx6B,KAAM,CACJne,KAAM,cAOLmhF,GACX,CACEhjE,KAAM,CACJne,KAAM,YACN47C,UACE,yHACFC,gBAAiB,CACf/L,UAAW,CACT6I,eAAgB,aAChBx6B,KAAM,CACJne,KAAM,WAGVuwC,KAAM,CACJoI,eAAgB,QAChBx6B,KAAM,CACJne,KAAM,cAOLohF,GACX,CACEjjE,KAAM,CACJne,KAAM,YACN47C,UACE,kHACFC,gBAAiB,CACfpO,UAAW,CACTkL,eAAgB,aAChBx6B,KAAM,CACJne,KAAM,cAOLqhF,GACX,CACEljE,KAAM,CACJne,KAAM,YACN47C,UACE,sHACFC,gBAAiB,CACfpO,UAAW,CACTkL,eAAgB,aAChBx6B,KAAM,CACJne,KAAM,WAGV0tC,aAAc,CACZiL,eAAgB,gBAChBx6B,KAAM,CACJne,KAAM,cAOLshF,GACX,CACEnjE,KAAM,CACJne,KAAM,YACN47C,UACE,mHACFC,gBAAiB,CACfpO,UAAW,CACTkL,eAAgB,aAChBx6B,KAAM,CACJne,KAAM,WAGV8tC,OAAQ,CACN6K,eAAgB,UAChBx6B,KAAM,CACJne,KAAM,cAOLuhF,GACX,CACEpjE,KAAM,CACJne,KAAM,YACN47C,UACE,qHACFC,gBAAiB,CACfvO,YAAa,CACXqL,eAAgB,eAChBx6B,KAAM,CACJne,KAAM,WAGVytC,UAAW,CACTkL,eAAgB,aAChBx6B,KAAM,CACJne,KAAM,WAGV8tC,OAAQ,CACN6K,eAAgB,UAChBx6B,KAAM,CACJne,KAAM,cAOLwhF,GACX,CACErjE,KAAM,CACJne,KAAM,YACN47C,UACE,mHACFC,gBAAiB,CACfpO,UAAW,CACTkL,eAAgB,aAChBx6B,KAAM,CACJne,KAAM,WAGV8tC,OAAQ,CACN6K,eAAgB,UAChBx6B,KAAM,CACJne,KAAM,cAOLyhF,GACX,CACEtjE,KAAM,CACJne,KAAM,YACN47C,UACE,sHACFC,gBAAiB,CACf3e,SAAU,CACRyb,eAAgB,YAChBx6B,KAAM,CACJne,KAAM,cAOL0hF,GACX,CACEvjE,KAAM,CACJne,KAAM,YACN47C,UACE,qHACFC,gBAAiB,CACf5e,SAAU,CACR0b,eAAgB,YAChBx6B,KAAM,CACJne,KAAM,WAGVk9B,SAAU,CACRyb,eAAgB,YAChBx6B,KAAM,CACJne,KAAM,cAOL2hF,GACX,CACExjE,KAAM,CACJne,KAAM,YACN47C,UACE,uHACFC,gBAAiB,CACfpO,UAAW,CACTkL,eAAgB,aAChBx6B,KAAM,CACJne,KAAM,cAOL4hF,GACX,CACEzjE,KAAM,CACJne,KAAM,YACN47C,UACE,wHACFC,gBAAiB,CACf3e,SAAU,CACRyb,eAAgB,YAChBx6B,KAAM,CACJne,KAAM,cAOL6hF,GACX,CACE1jE,KAAM,CACJne,KAAM,YACN47C,UACE,mHACFC,gBAAiB,CACf/K,QAAS,CACP6H,eAAgB,WAChBx6B,KAAM,CACJne,KAAM,cAOL8hF,GACX,CACE3jE,KAAM,CACJne,KAAM,YACN47C,UACE,8GACFC,gBAAiB,CACf5e,SAAU,CACR0b,eAAgB,YAChBx6B,KAAM,CACJne,KAAM,WAGVstC,YAAa,CACXqL,eAAgB,eAChBx6B,KAAM,CACJne,KAAM,cAOL+hF,GACX,CACE5jE,KAAM,CACJne,KAAM,YACN47C,UACE,wHACFC,gBAAiB,CACf/L,UAAW,CACT6I,eAAgB,aAChBx6B,KAAM,CACJne,KAAM,cAOLgiF,GACX,CACE7jE,KAAM,CACJne,KAAM,YACN47C,UACE,uEACFC,gBAAiB,CACfjtC,KAAM,CACJ+pC,eAAgB,OAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WACN4c,QAAS,CACPuB,KAAM,CACJne,KAAM,YACN47C,UAAW,wBASdqmC,GAA6C,CACxD9jE,KAAM,CACJne,KAAM,YACN47C,UAAW,iBACXC,gBAAiB,CACfqmC,QAAS,CACPvpC,eAAgB,WAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WAGVokC,WAAY,CACV2X,YAAa,CACXmB,QAAS,IAAIz1C,OAAO,oBAEtBkxC,eAAgB,cAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WAGVo8E,eAAgB,CACdrgC,YAAa,CACXmB,QAAS,IAAIz1C,OAAO,oBAEtBkxC,eAAgB,mBAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WAGVmiF,WAAY,CACVxpC,eAAgB,aAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WACN4c,QAAS,CACPuB,KAAM,CACJne,KAAM,aAKdoiF,OAAQ,CACNzpC,eAAgB,SAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,aACNH,MAAO,CAAEse,KAAM,CAAEne,KAAM,UAG3BqiF,QAAS,CACP1pC,eAAgB,UAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,YAGVsiF,aAAc,CACZ3pC,eAAgB,gBAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,aAGV4gC,YAAa,CACX+X,eAAgB,eAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,cAOHuiF,GACX,CACEpkE,KAAM,CACJne,KAAM,YACN47C,UACE,0FACFC,gBAAiB,CACfjtC,KAAM,CACJ+pC,eAAgB,OAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WACN4c,QAAS,CACPuB,KAAM,CACJne,KAAM,YACN47C,UAAW,iCASd4mC,GAAsD,CACjErkE,KAAM,CACJne,KAAM,YACN47C,UAAW,0BACXC,gBAAiB,CACfzX,WAAY,CACV2X,YAAa,CACXmB,QAAS,IAAIz1C,OAAO,oBAEtBkxC,eAAgB,cAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WAGVyiF,QAAS,CACP9pC,eAAgB,UAChBx6B,KAAM,CACJne,KAAM,aACNH,MAAO,CAAEse,KAAM,CAAEne,KAAM,UAG3Bi8E,OAAQ,CACNtjC,eAAgB,UAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WAGV0iF,WAAY,CACV/pC,eAAgB,cAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WAGVk0B,OAAQ,CACN6nB,YAAa,CACXmB,QAAS,IAAIz1C,OAAO,oBAEtBkxC,eAAgB,UAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,cAOH2iF,GACX,CACExkE,KAAM,CACJne,KAAM,YACN47C,UACE,0GACFC,gBAAiB,CACfjtC,KAAM,CACJ+pC,eAAgB,OAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WACN4c,QAAS,CACPuB,KAAM,CACJne,KAAM,YACN47C,UAAW,sCASdgnC,GAA2D,CACtEzkE,KAAM,CACJne,KAAM,YACN47C,UAAW,+BACXC,gBAAiB,CACf5N,QAAS,CACP8N,YAAa,CACXmB,QAAS,IAAIz1C,OAAO,oBAEtBkxC,eAAgB,WAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WAGVi8E,OAAQ,CACNtjC,eAAgB,UAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WAGVm8E,QAAS,CACPxjC,eAAgB,WAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WAGVk0B,OAAQ,CACN6nB,YAAa,CACXmB,QAAS,IAAIz1C,OAAO,oBAEtBkxC,eAAgB,UAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,cAOH6iF,GACX,CACE1kE,KAAM,CACJne,KAAM,YACN47C,UACE,wFACFC,gBAAiB,CACfjtC,KAAM,CACJ+pC,eAAgB,OAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WACN4c,QAAS,CACPuB,KAAM,CACJne,KAAM,YACN47C,UAAW,6BASdknC,GAAwD,CACnE3kE,KAAM,CACJne,KAAM,YACN47C,UAAW,4BACXC,gBAAiB,CACfzX,WAAY,CACV2X,YAAa,CACXmB,QAAS,IAAIz1C,OAAO,oBAEtBkxC,eAAgB,cAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WAGViuC,QAAS,CACP8N,YAAa,CACXmB,QAAS,IAAIz1C,OAAO,oBAEtBkxC,eAAgB,WAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WAGVm8E,QAAS,CACPxjC,eAAgB,WAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WAGV8d,SAAU,CACR66B,eAAgB,WAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,aACNH,MAAO,CAAEse,KAAM,CAAEne,KAAM,aAOpB+iF,GACX,CACE5kE,KAAM,CACJne,KAAM,YACN47C,UACE,2FACFC,gBAAiB,CACfjtC,KAAM,CACJ+pC,eAAgB,OAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WACN4c,QAAS,CACPuB,KAAM,CACJne,KAAM,YACN47C,UAAW,6BASdonC,GAAkD,CAC7D7kE,KAAM,CACJne,KAAM,YACN47C,UAAW,sBACXC,gBAAiB,CACfjb,YAAa,CACX+X,eAAgB,eAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WAGVokC,WAAY,CACV2X,YAAa,CACXmB,QAAS,IAAIz1C,OAAO,oBAEtBkxC,eAAgB,cAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WAGVi8E,OAAQ,CACNtjC,eAAgB,UAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WAGV+7E,WAAY,CACVpjC,eAAgB,cAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WAGVg8E,UAAW,CACTrjC,eAAgB,aAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,aAGVqxD,UAAW,CACTtV,YAAa,CACXmB,QAAS,IAAIz1C,OAAO,oBAEtBkxC,eAAgB,YAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WAGVk8E,OAAQ,CACNngC,YAAa,CACXmB,QAAS,IAAIz1C,OAAO,oBAEtBkxC,eAAgB,SAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WAGVm8E,QAAS,CACPxjC,eAAgB,WAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WAGVk0B,OAAQ,CACN6nB,YAAa,CACXmB,QAAS,IAAIz1C,OAAO,oBAEtBkxC,eAAgB,UAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,cAOHijF,GACX,CACE9kE,KAAM,CACJne,KAAM,YACN47C,UACE,sEACFC,gBAAiB,CACfjtC,KAAM,CACJ+pC,eAAgB,OAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WACN4c,QAAS,CACPuB,KAAM,CACJne,KAAM,YACN47C,UAAW,sBASdsnC,GAA2C,CACtD/kE,KAAM,CACJne,KAAM,YACN47C,UAAW,eACXC,gBAAiB,CACfzX,WAAY,CACV2X,YAAa,CACXmB,QAAS,IAAIz1C,OAAO,oBAEtBkxC,eAAgB,cAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WAGVo8E,eAAgB,CACdrgC,YAAa,CACXmB,QAAS,IAAIz1C,OAAO,oBAEtBkxC,eAAgB,mBAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WAGVmjF,cAAe,CACbxqC,eAAgB,iBAChBmD,UAAU,EACV39B,KAAM,CAEJne,KAAM,WAGVojF,YAAa,CACXzqC,eAAgB,eAChBmD,UAAU,EACV39B,KAAM,CAEJne,KAAM,WAGV+8E,SAAU,CACRpkC,eAAgB,WAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WAGVmiF,WAAY,CACVxpC,eAAgB,aAChBx6B,KAAM,CACJne,KAAM,WACN4c,QAAS,CACPuB,KAAM,CACJne,KAAM,aAKdqjF,QAAS,CACP1qC,eAAgB,UAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WAGVA,KAAM,CACJ24C,eAAgB,OAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WAGV2mB,OAAQ,CACNgyB,eAAgB,SAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WAGVqiF,QAAS,CACP1pC,eAAgB,UAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,eAOHsjF,GACX,CACEnlE,KAAM,CACJne,KAAM,YACN47C,UACE,qEACFC,gBAAiB,CACfjtC,KAAM,CACJ+pC,eAAgB,OAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,cAOLujF,GACX,CACEplE,KAAM,CACJne,KAAM,YACN47C,UACE,uFACFC,gBAAiB,CACfjtC,KAAM,CACJ+pC,eAAgB,OAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WACN4c,QAAS,CACPuB,KAAM,CACJne,KAAM,YACN47C,UAAW,qCASd4nC,GAA0D,CACrErlE,KAAM,CACJne,KAAM,YACN47C,UAAW,8BACXC,gBAAiB,CACfpO,UAAW,CACTsO,YAAa,CACXmB,QAAS,IAAIz1C,OAAO,oBAEtBkxC,eAAgB,aAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WAGV0yB,OAAQ,CACNimB,eAAgB,SAChBmD,UAAU,EACV39B,KAAM,CAEJne,KAAM,WAGVw8C,UAAW,CACT7D,eAAgB,aAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WAGVokC,WAAY,CACVuU,eAAgB,cAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WAGVuvB,OAAQ,CACNopB,eAAgB,SAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WAGVyjF,W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ACV39B,KAAM,CACJne,KAAM,WACN4c,QAAS,CACPuB,KAAM,CACJne,KAAM,YACN47C,UAAW,iBASdmpC,GACX,CACE5mE,KAAM,CACJne,KAAM,YACN47C,UACE,mFACFC,gBAAiB,CACfjtC,KAAM,CACJ+pC,eAAgB,OAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WACN4c,QAAS,CACPuB,KAAM,CACJne,KAAM,YACN47C,UAAW,iBASdopC,GACX,CACE7mE,KAAM,CACJne,KAAM,YACN47C,UACE,kFACFC,gBAAiB,CACfjtC,KAAM,CACJ+pC,eAAgB,OAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WACN4c,QAAS,CACPuB,KAAM,CACJne,KAAM,YACN47C,UAAW,mBASdqpC,GAAwC,CACnD9mE,KAAM,CACJne,KAAM,YACN47C,UAAW,YACXC,gBAAiB,CACfmF,MAAO,CACLrI,eAAgB,QAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WAGVyJ,MAAO,CACLkvC,eAAgB,QAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WAGV7E,KAAM,CACJw9C,eAAgB,OAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WAGVnE,OAAQ,CACN88C,eAAgB,SAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WAGVymE,KAAM,CACJ9tB,eAAgB,OAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WAGVklF,cAAe,CACbvsC,eAAgB,kBAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WAGVmlF,gBAAiB,CACfxsC,eAAgB,oBAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WAGVkhD,WAAY,CACVvI,eAAgB,cAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WAGVolF,eAAgB,CACdzsC,eAAgB,mBAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WAGVwwD,WAAY,CACV7X,eAAgB,aAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WACN4c,QAAS,CACPuB,KAAM,CACJne,KAAM,YACN47C,UAAW,iCASZypC,GAAsD,CACjElnE,KAAM,CACJne,KAAM,YACN47C,UAAW,0BACXC,gBAAiB,CACfi/B,UAAW,CACTniC,eAAgB,YAChBx6B,KAAM,CACJne,KAAM,WAGVslF,MAAO,CACL3sC,eAAgB,QAChBx6B,KAAM,CACJne,KAAM,cAOHulF,GACX,CACEpnE,KAAM,CACJne,KAAM,YACN47C,UACE,mFACFC,gBAAiB,CACfjtC,KAAM,CACJ+pC,eAAgB,OAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WACN4c,QAAS,CACPuB,KAAM,CACJne,KAAM,YACN47C,UAAW,kBASd4pC,GAAuC,CAClDrnE,KAAM,CACJne,KAAM,YACN47C,UAAW,WACXC,gBAAiB,CACftsB,OAAQ,CACNopB,eAAgB,SAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WAGVylF,OAAQ,CACN9sC,eAAgB,SAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,cAOH0lF,GACX,CACEvnE,KAAM,CACJne,KAAM,YACN47C,UACE,sFACFC,gBAAiB,CACfjtC,KAAM,CACJ+pC,eAAgB,OAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WACN4c,QAAS,CACPuB,KAAM,CACJne,KAAM,YACN47C,UAAW,mBASd+pC,GAAwC,CACnDxnE,KAAM,CACJne,KAAM,YACN47C,UAAW,YACXC,gBAAiB,CACfmF,MAAO,CACLrI,eAAgB,QAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WAGV86E,UAAW,CACTniC,eAAgB,YAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WAGV4lF,YAAa,CACXjtC,eAAgB,eAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WAGV6lF,UAAW,CACTltC,eAAgB,YAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WAGV8lF,cAAe,CACbntC,eAAgB,iBAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WAGV+lF,eAAgB,CACdptC,eAAgB,kBAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,aACNH,MAAO,CAAEse,KAAM,CAAEne,KAAM,gBAOpBgmF,GACX,CACE7nE,KAAM,CACJne,KAAM,YACN47C,UACE,uGACFC,gBAAiB,CACfjtC,KAAM,CACJ+pC,eAAgB,OAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WACN4c,QAAS,CACPuB,KAAM,CACJne,KAAM,YACN47C,UAAW,kBASdqqC,GAAuC,CAClD9nE,KAAM,CACJne,KAAM,YACN47C,UAAW,WACXC,gBAAiB,CACfmF,MAAO,CACLrI,eAAgB,QAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WAGVkmF,SAAU,CACRvtC,eAAgB,WAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WAGVslF,MAAO,CACL3sC,eAAgB,QAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WAGV86E,UAAW,CACTniC,eAAgB,YAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,cAOHmmF,GACX,CACEhoE,KAAM,CACJne,KAAM,YACN47C,UACE,0GACFC,gBAAiB,CACfjtC,KAAM,CACJ+pC,eAAgB,OAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WACN4c,QAAS,CACPuB,KAAM,CACJne,KAAM,YACN47C,UAAW,kBASdwqC,GACX,CACEjoE,KAAM,CACJne,KAAM,YACN47C,UACE,0EACFC,gBAAiB,CACfjtC,KAAM,CACJ+pC,eAAgB,OAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WACN4c,QAAS,CACPuB,KAAM,CACJne,KAAM,YACN47C,UAAW,0BASdwE,GAAuC,CAClDjiC,KAAM,CACJne,KAAM,YACN47C,UAAW,WACXC,gBAAiB,CACfnsC,KAAM,CACJipC,eAAgB,OAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WAGVuvB,OAAQ,CACNwsB,YAAa,CACXE,iBAAkB,oBAClBD,iBAAkB,GAEpBrD,eAAgB,SAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WAGVqgD,SAAU,CACR1H,eAAgB,YAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WAGVsgD,YAAa,C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ACV39B,KAAM,CACJne,KAAM,WAGV+7E,WAAY,CACVpjC,eAAgB,cAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WAGVg8E,UAAW,CACTrjC,eAAgB,aAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,aAGVmtC,WAAY,CACVwL,eAAgB,aAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WACN4c,QAAS,CACPm/B,YAAa,CACXmB,QAAS,IAAIz1C,OAAO,cAEtB0W,KAAM,CACJne,KAAM,aAKd0gC,GAAI,CACFiY,eAAgB,KAChBx6B,KAAM,CACJne,KAAM,YACN47C,UAAW,UAOR2qC,GACX,CACEpoE,KAAM,CACJne,KAAM,YACN47C,UACE,sEACFC,gBAAiB,CACfjtC,KAAM,CACJ+pC,eAAgB,OAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WACN4c,QAAS,CACPuB,KAAM,CACJne,KAAM,YACN47C,UAAW,cASdxiB,GAAmC,CAC9Cjb,KAAM,CACJne,KAAM,YACN47C,UAAW,OACXC,gBAAiB,CACf9G,OAAQ,CACN4D,eAAgB,SAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,YAGV0P,KAAM,CACJqsC,YAAa,CACXmB,QAAS,IAAIz1C,OAAO,oBAEtBkxC,eAAgB,OAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WAGVs+E,WAAY,CACV3lC,eAAgB,cAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WAGVwmF,0BAA2B,CACzB7tC,eAAgB,8BAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,aAGVymF,sBAAuB,CACrB9tC,eAAgB,0BAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,aAGV0mF,aAAc,CACZ/tC,eAAgB,gBAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WAGV4kC,SAAU,CACR+T,eAAgB,WAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WACN4c,QAAS,CACPuB,KAAM,CACJne,KAAM,YACN47C,UAAW,kBAKnB+qC,QAAS,CACPhuC,eAAgB,UAChBx6B,KAAM,CACJne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,WAGVga,QAAS,CACP2+B,eAAgB,UAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,cAOLynF,GACX,CACEtpE,KAAM,CACJne,KAAM,YACN47C,UACE,+EACFC,gBAAiB,CACfjtC,KAAM,CACJ+pC,eAAgB,OAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WACN4c,QAAS,CACPuB,KAAM,CACJne,KAAM,YACN47C,UAAW,iBASd8rC,GACX,CACEvpE,KAAM,CACJne,KAAM,YACN47C,UACE,gFACFC,gBAAiB,CACfjtC,KAAM,CACJ+pC,eAAgB,OAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WACN4c,QAAS,CACPuB,KAAM,CACJne,KAAM,YACN47C,UAAW,mBASd+rC,GACX,CACExpE,KAAM,CACJne,KAAM,YACN47C,UACE,8EACFC,gBAAiB,CACfjtC,KAAM,CACJ+pC,eAAgB,OAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WACN4c,QAAS,CACPuB,KAAM,CACJne,KAAM,YACN47C,UAAW,mBASdgsC,GACX,CACEzpE,KAAM,CACJne,KAAM,YACN47C,UACE,kFACFC,gBAAiB,CACfjtC,KAAM,CACJ+pC,eAAgB,OAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WACN4c,QAAS,CACPuB,KAAM,CACJne,KAAM,YACN47C,UAAW,sBASdisC,GAA2C,CACtD1pE,KAAM,CACJne,KAAM,YACN47C,UAAW,eACXC,gBAAiB,CACfyiC,WAAY,CACV3lC,eAAgB,cAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WAGVw8C,UAAW,CACTT,YAAa,CACXmB,QAAS,IAAIz1C,OAAO,oBAEtBkxC,eAAgB,aAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WAGVuvB,OAAQ,CACNopB,eAAgB,SAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WAGVu+E,aAAc,CACZxiC,YAAa,CACXmB,QAAS,IAAIz1C,OAAO,oBAEtBkxC,eAAgB,iBAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WAGVw+E,aA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KAAM,CACJne,KAAM,YACN47C,UACE,oFACFC,gBAAiB,CACfjtC,KAAM,CACJ+pC,eAAgB,OAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WACN4c,QAAS,CACPuB,KAAM,CACJne,KAAM,YACN47C,UAAW,wBASd8sC,GAAoC,CAC/CvqE,KAAM,CACJne,KAAM,YACN47C,UAAW,QACXC,gBAAiB,CACf8sC,YAAa,CACXhwC,eAAgB,eAChBx6B,KAAM,CACJne,KAAM,WAGV4oF,UAAW,CACTjwC,eAAgB,aAChBx6B,KAAM,CACJne,KAAM,WAGV6oF,+BAAgC,CAC9BlwC,eAAgB,qCAChBx6B,KAAM,CACJne,KAAM,WAGV8oF,qBAAsB,CACpBnwC,eAAgB,yBAChBx6B,KAAM,CACJne,KAAM,WAGV+oF,yBAA0B,CACxBpwC,eAAgB,8BAChBx6B,KAAM,CACJne,KAAM,WAGVgpF,kCAAmC,CACjCjtC,YAAa,CACXmB,QAAS,IAAIz1C,OAAO,oBAEtBkxC,eAAgB,yCAChBx6B,KAAM,CACJne,KAAM,WAGVipF,kBAAmB,CACjBtwC,eAAgB,qBAChBx6B,KAAM,CACJne,KAAM,cAOHkpF,GACX,CACE/qE,KAAM,CACJne,KAAM,YACN47C,UACE,oFACFC,gBAAiB,CACfjtC,KAAM,CACJ+pC,eAAgB,OAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WACN4c,QAAS,CACPuB,KAAM,CACJne,KAAM,YACN47C,UAAW,cASdutC,GAAmC,CAC9ChrE,KAAM,CACJne,KAAM,YACN47C,UAAW,OACXC,gBAAiB,CACfgG,MAAO,CACLlJ,eAAgB,QAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WAGVopF,UAAW,CACTzwC,eAAgB,aAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WAGVqpF,QAAS,CACP1wC,eAAgB,WAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,cAOHspF,GACX,CACEnrE,KAAM,CACJne,KAAM,YACN47C,UACE,oFACFC,gBAAiB,CACfjtC,KAAM,CACJ+pC,eAAgB,OAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WACN4c,QAAS,CACPuB,KAAM,CACJne,KAAM,YACN47C,UAAW,cASd2tC,GACX,CACEprE,KAAM,CACJne,KAAM,YACN47C,UACE,6EACFC,gBAAiB,CACfjtC,KAAM,CACJ+pC,eAAgB,OAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WACN4c,QAAS,CACPuB,KAAM,CACJne,KAAM,YACN47C,UAAW,cASd4tC,GACX,CACErrE,KAAM,CACJne,KAAM,YACN47C,UACE,+EACFC,gBAAiB,CACfjtC,KAAM,CACJ+pC,eAAgB,OAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WACN4c,QAAS,CACPuB,KAAM,CACJne,KAAM,YACN47C,UAAW,cASd6tC,GACX,CACEtrE,KAAM,CACJne,KAAM,YACN47C,UACE,4EACFC,gBAAiB,CACfjtC,KAAM,CACJ+pC,eAAgB,OAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WACN4c,QAAS,CACPuB,KAAM,CACJne,KAAM,YACN47C,UAAW,mBASd8tC,GAAwC,CACnDvrE,KAAM,CACJne,KAAM,YACN47C,UAAW,YACXC,gBAAiB,CACftsB,OAAQ,CACNopB,eAAgB,SAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WAGV2pF,gBAAiB,CACfhxC,eAAgB,mBAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WAGV4pF,YAAa,CACXjxC,eAAgB,eAChBmD,UAAU,EACV39B,KAAM,CAEJne,KAAM,WAGV6pF,iBAAkB,CAChBlxC,eAAgB,qBAChBmD,UAAU,EACV39B,KAAM,CAEJne,KAAM,WAGV8pF,eAAgB,CACdnxC,eAAgB,kBAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WAGV+pF,eAAgB,CACdpxC,eAAgB,kBAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WAGVgqF,iBAAkB,CAChBrxC,eAAgB,oBAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WAGViqF,UAAW,CACTtxC,eAAgB,aAChBmD,UAAU,EACV39B,KAAM,CAEJne,KAAM,WAGVkqF,eAAgB,CACdvxC,eAAgB,kBAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WAGVmqF,aAAc,CACZxxC,eAAgB,gBAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WAGVoqF,aAAc,CACZzxC,eAAgB,gBAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WAGVqqF,eAAgB,CACd1xC,eAAgB,kBAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WAGVsqF,kBAAmB,CACjB3xC,eAAgB,qBAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WAGVyjF,WAAY,CACV1nC,YAAa,CACXmB,QAAS,IAAIz1C,OAAO,oBAEtBkxC,eAAgB,eAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WAGVuqF,iBAAkB,CAChB5xC,eAAgB,qBAChBmD,UAAU,EACV39B,KAAM,CAEJne,KAAM,WAGVwqF,iBAAkB,CAChB7xC,eAAgB,qBAChBmD,UAAU,EACV39B,KAAM,CAEJne,KAAM,cAOHyqF,GACX,CACEtsE,KAAM,CACJne,KAAM,YACN47C,UACE,iFACFC,gBAAiB,CACfjtC,KAAM,CACJ+pC,eAAgB,OAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WACN4c,QAAS,CACPuB,KAAM,CACJne,KAAM,YACN47C,UAAW,cASd8uC,GACX,CACEvsE,KAAM,CACJne,KAAM,YACN47C,UACE,8EACFC,gBAAiB,CACfjtC,KAAM,CACJ+pC,eAAgB,OAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WACN4c,QAAS,CACPuB,KAAM,CACJne,KAAM,YACN47C,UAAW,cASd+uC,GACX,CACExsE,KAAM,CACJne,KAAM,YACN47C,UACE,4EACFC,gBAAiB,CACfjtC,KAAM,CACJ+pC,eAAgB,OAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WACN4c,QAAS,CACPuB,KAAM,CACJne,KAAM,YACN47C,UAAW,eASdgvC,GAAoC,CAC/CzsE,KAAM,CACJne,KAAM,YACN47C,UAAW,QACXC,gBAAiB,CACf0E,MAAO,CACLxE,YAAa,CACXmB,QAAS,IAAIz1C,OAAO,oBAEtBkxC,eAAgB,QAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WAGV6qF,YAAa,CACXlyC,eAAgB,eAChBmD,UAAU,EACV39B,KAAM,CAEJne,KAAM,cAOH8qF,GACX,CACE3sE,KAAM,CACJne,KAAM,YACN47C,UACE,2EACFC,gBAAiB,CACfjtC,KAAM,CACJ+pC,eAAgB,OAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WACN4c,QAAS,CACPuB,KAAM,CACJne,KAAM,YACN47C,UAAW,cASdmvC,GACX,CACE5sE,KAAM,CACJne,KAAM,YACN47C,UACE,4EACFC,gBAAiB,CACfjtC,KAAM,CACJ+pC,eAAgB,OAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WACN4c,QAAS,CACPuB,KAAM,CACJne,KAAM,YACN47C,UAAW,mBASdovC,GAAwC,CACnD7sE,KAAM,CACJne,KAAM,YACN47C,UAAW,YACXC,gBAAiB,CACftsB,OAAQ,CACNopB,eAAgB,SAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WAGVu2C,UAAW,CACToC,eAAgB,YAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WAGVuqF,iBAAkB,CAChB5xC,eAAgB,qBAChBmD,UAAU,EACV39B,KAAM,CAEJne,KAAM,WAGV6pF,iBAAkB,CAChBlxC,eAAgB,qBAChBmD,UAAU,EACV39B,KAAM,CAEJne,KAAM,WAGVwqF,iBAAkB,CAChB7xC,eAAgB,qBAChBmD,UAAU,EACV39B,KAAM,CAEJne,KAAM,WAGVirF,eAAgB,CACdtyC,eAAgB,kBAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WAGVkrF,YAAa,CACXvyC,eAAgB,eAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WAGVmrF,cAAe,CACbxyC,eAAgB,iBAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WAGVorF,cAAe,CACbzyC,eAAgB,iBAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WAGVqrF,gBAAiB,CACf1yC,eAAgB,mBAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WAGVsrF,aAAc,CACZ3yC,eAAgB,gBAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WAGVurF,eAAgB,CACd5yC,eAAgB,mBAChBmD,UAAU,EACV39B,KAAM,CAEJne,KAAM,WAGVwrF,aAAc,CACZ7yC,eAAgB,iBAChBmD,UAAU,EACV39B,KAAM,CAEJne,KAAM,WAGVyrF,iBAAkB,CAChB9yC,eAAgB,qBAChBmD,UAAU,EACV39B,KAAM,CAEJne,KAAM,WAGVyjF,WAAY,CACV1nC,YAAa,CACXmB,QAAS,IAAIz1C,OAAO,oBAEtBkxC,eAAgB,eAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,cAOH0rF,GACX,CACEvtE,KAAM,CACJne,KAAM,YACN47C,UACE,mFACFC,gBAAiB,CACfjtC,KAAM,CACJ+pC,eAAgB,OAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WACN4c,QAAS,CACPuB,KAAM,CACJne,KAAM,YACN47C,UAAW,cASd+vC,GACX,CACExtE,KAAM,CACJne,KAAM,YACN47C,UACE,kFACFC,gBAAiB,CACfjtC,KAAM,CACJ+pC,eAAgB,OAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WACN4c,QAAS,CACPuB,KAAM,CACJne,KAAM,YACN47C,UAAW,cASd4G,GAAqC,CAChDrkC,KAAM,CACJne,KAAM,YACN47C,UAAW,SACXC,gBAAiB,CACf+vC,cAAe,CACbjzC,eAAgB,kBAChBx6B,KAAM,CACJne,KAAM,YACN47C,UAAW,wBAGfiwC,iBAAkB,CAChBlzC,eAAgB,sBAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WAGV8rF,UAAW,CACTnzC,eAAgB,aAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WAGV+rF,iBAAkB,CAChBpzC,eAAgB,qBAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WAGVgsF,YAAa,CACXrzC,eAAgB,eAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WAGVisF,UAAW,CACTtzC,eAAgB,aAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,YAGVksF,WAAY,CACVvzC,eAAgB,cAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,YAGVmsF,WAAY,CACVxzC,eAAgB,eAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WAGVosF,WAAY,CACVzzC,eAAgB,cAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WAGVqsF,WAAY,CACV1zC,eAAgB,cAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WAGVssF,aAAc,CACZ3zC,eAAgB,gBAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WAGVmjD,aAAc,CACZxK,eAAgB,gBAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WAGVusF,YAAa,CACX5zC,eAAgB,eAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,YAGVkjD,YAAa,CACXvK,eAAgB,eAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,cAOHwsF,GAAkD,CAC7DruE,KAAM,CACJne,KAAM,YACN47C,UAAW,sBACXC,gBAAiB,CACf4wC,UAAW,CACT9zC,eAAgB,aAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WAGV0sF,eAAgB,CACd/zC,eAAgB,kBAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WAGV2sF,aAAc,CACZh0C,eAAgB,gBAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,cAOH4sF,GACX,CACEzuE,KAAM,CACJne,KAAM,YACN47C,UACE,6EACFC,gBAAiB,CACfjtC,KAAM,CACJ+pC,eAAgB,OAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WACN4c,QAAS,CACPuB,KAAM,CACJne,KAAM,YACN47C,UAAW,qBASdixC,GACX,CACE1uE,KAAM,CACJne,KAAM,YACN47C,UACE,oFACFC,gBAAiB,CACfjtC,KAAM,CACJ+pC,eAAgB,OAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WACN4c,QAAS,CACPuB,KAAM,CACJne,KAAM,YACN47C,UAAW,4BASd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GV6wC,SAAU,CACR8H,eAAgB,YAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WAGV0gC,GAAI,CACFiY,eAAgB,KAChBx6B,KAAM,CACJne,KAAM,YACN47C,UAAW,gBAOR9S,GAA0C,CACrD3qB,KAAM,CACJne,KAAM,YACN47C,UAAW,cACXC,gBAAiB,CACf/K,QAAS,CACP6H,eAAgB,WAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WAGViqC,IAAK,CACH8R,YAAa,CACXC,iBAAkB,GAEpBrD,eAAgB,MAChBmD,UAAU,EACV39B,KAAM,CAEJne,KAAM,WAGV+8B,MAAO,CACLgf,YAAa,CACXE,iBAAkB,oBAClBD,iBAAkB,GAEpBrD,eAAgB,QAChBx6B,KAAM,CACJne,KAAM,WAGV0gC,GAAI,CACFiY,eAAgB,KAChBx6B,KAAM,CACJne,KAAM,YACN47C,UAAW,gBAOR8xC,GACX,CACEvvE,KAAM,CACJne,KAAM,YACN47C,UACE,uFACFC,gBAAiB,IACZ8/B,GACAx9D,KAAK09B,mBACL2gC,GAAkBr+D,KAAK09B,mBAKrB8xC,GACX,CACExvE,KAAM,CACJne,KAAM,YACN47C,UACE,wFACFC,gBAAiB,IACZ8gC,GACAx+D,KAAK09B,mBACL2gC,GAAkBr+D,KAAK09B,mBAKrB+xC,GACX,CACEzvE,KAAM,CACJne,KAAM,YACN47C,UACE,wFACFC,gBAAiB,IACZ2gC,GAAkBr+D,KAAK09B,mBACvBghC,GACA1+D,KAAK09B,mBAKHgyC,GACX,CACE1vE,KAAM,CACJne,KAAM,YACN47C,UACE,oFACFC,gBAAiB,IACZshC,GACAh/D,KAAK09B,mBACL2gC,GAAkBr+D,KAAK09B,mBAKrBiyC,GACX,CACE3vE,KAAM,CACJne,KAAM,YACN47C,UACE,wFACFC,gBAAiB,IACZuiC,GACAjgE,KAAK09B,mBACL2gC,GAAkBr+D,KAAK09B,mBAKrBkyC,GACX,CACE5vE,KAAM,CACJne,KAAM,YACN47C,UACE,0FACFC,gBAAiB,IACZ8iC,GACAxgE,KAAK09B,mBACL2gC,GAAkBr+D,KAAK09B,mBAKrBmyC,GACX,CACE7vE,KAAM,CACJne,KAAM,YACN47C,UACE,kEACFC,gBAAiB,IACZmmC,GACA7jE,KAAK09B,mBACL2gC,GAAkBr+D,KAAK09B,mBAKrBoyC,GACX,CACE9vE,KAAM,CACJne,KAAM,YACN47C,UACE,qFACFC,gBAAiB,IACZ0mC,GACApkE,KAAK09B,mBACL2gC,GAAkBr+D,KAAK09B,mBAKrBqyC,GACX,CACE/vE,KAAM,CACJne,KAAM,YACN47C,UACE,qGACFC,gBAAiB,IACZ8mC,GACAxkE,KAAK09B,mBACL2gC,GAAkBr+D,KAAK09B,mBAKrBsyC,GACX,CACEhwE,KAAM,CACJne,KAAM,YACN47C,UACE,iFACFC,gBAAiB,IACZgnC,GACA1kE,KAAK09B,mBACL2gC,GAAkBr+D,KAAK09B,mBAKrBuyC,GACX,CACEjwE,KAAM,CACJne,KAAM,YACN47C,UACE,qFACFC,gBAAiB,IACZknC,GACA5kE,KAAK09B,mBACL2gC,GAAkBr+D,KAAK09B,mBAKrBwyC,GACX,CACElwE,KAAM,CACJne,KAAM,YACN47C,UACE,gEACFC,gBAAiB,IACZonC,GACA9kE,KAAK09B,mBACL2gC,GAAkBr+D,KAAK09B,mBAKrByyC,GACX,CACEnwE,KAAM,CACJne,KAAM,YACN47C,UACE,kFACFC,gBAAiB,IACZ0nC,GACAplE,KAAK09B,mBACL2gC,GAAkBr+D,KAAK09B,mBAKrB0yC,GACX,CACEpwE,KAAM,CACJne,KAAM,YACN47C,UACE,kGACFC,gBAAiB,IACZ2gC,GAAkBr+D,KAAK09B,mBACvB+nC,GACAzlE,KAAK09B,mBAKH2yC,GACX,CACErwE,KAAM,CACJne,KAAM,YACN47C,UACE,mEACFC,gBAAiB,IACZioC,GACA3lE,KAAK09B,mBACL2gC,GAAkBr+D,KAAK09B,mBAKrB4yC,GACX,CACEtwE,KAAM,CACJne,KAAM,YACN47C,UACE,0EACFC,gBAAiB,IACZuoC,GACAjmE,KAAK09B,mBACL2gC,GAAkBr+D,KAAK09B,mBAKrB6yC,GACX,CACEvwE,KAAM,CACJne,KAAM,YACN47C,UACE,wEACFC,gBAAiB,IACZyoC,GACAnmE,KAAK09B,mBACL2gC,GAAkBr+D,KAAK09B,mBAKrB8yC,GACX,CACExwE,KAAM,CACJne,KAAM,YACN47C,UACE,oEACFC,gBAAiB,IACZipC,GACA3mE,KAAK09B,mBACL2gC,GAAkBr+D,KAAK09B,mBAKrB+yC,GACX,CACEzwE,KAAM,CACJne,KAAM,YACN47C,UACE,6EACFC,gBAAiB,IACZkpC,GACA5mE,KAAK09B,mBACL2gC,GAAkBr+D,KAAK09B,mBAKrBgzC,GACX,CACE1wE,KAAM,CACJne,KAAM,YACN47C,UACE,4EACFC,gBAAiB,IACZmpC,GACA7mE,KAAK09B,mBACL2gC,GAAkBr+D,KAAK09B,mBAKrBizC,GACX,CACE3wE,KAAM,CACJne,KAAM,YACN47C,UACE,8EACFC,gBAAiB,IACZ0pC,GACApnE,KAAK09B,mBACL2gC,GAAkBr+D,KAAK09B,mBAKrBkzC,GACX,CACE5wE,KAAM,CACJne,KAAM,YACN47C,UACE,gFACFC,gBAAiB,IACZ6pC,GACAvnE,KAAK09B,mBACL2gC,GAAkBr+D,KAAK09B,mBAKrBmzC,GACX,CACE7wE,KAAM,CACJne,KAAM,YACN47C,UACE,kGACFC,gBAAiB,IACZmqC,GACA7nE,KAAK09B,mBACL2gC,GAAkBr+D,KAAK09B,mBAKrBozC,GACX,CACE9wE,KAAM,CACJne,KAAM,YACN47C,UACE,qGACFC,gBAAiB,IACZsqC,GACAhoE,KAAK09B,mBACL2gC,GAAkBr+D,KAAK09B,mBAKrBqzC,GACX,CACE/wE,KAAM,CACJne,KAAM,YACN47C,UACE,oEACFC,gBAAiB,IACZuqC,GACAjoE,KAAK09B,mBACL2gC,GAAkBr+D,KAAK09B,mBAKrBszC,GACX,CACEhxE,KAAM,CACJne,KAAM,YACN47C,UACE,yFACFC,gBAAiB,IACZwqC,GACAloE,KAAK09B,mBACL2gC,GAAkBr+D,KAAK09B,mBAKrBuzC,GACX,CACEjxE,KAAM,CACJne,KAAM,YACN47C,UACE,uFACFC,gBAAiB,IACZyqC,GACAnoE,KAAK09B,mBACL2gC,GAAkBr+D,KAAK09B,mBAKrBwzC,GACX,CACElxE,KAAM,CACJne,KAAM,YACN47C,UACE,iEACFC,gBAAiB,IACZ0qC,GACApoE,KAAK09B,mBACL2gC,GAAkBr+D,KAAK09B,mBAKrByzC,GACX,CACEnxE,KAAM,CACJne,KAAM,YACN47C,UACE,wEACFC,gBAAiB,IACZ4rC,GACAtpE,KAAK09B,mBACL2gC,GAAkBr+D,KAAK09B,mBAKrB0zC,GACX,CACEpxE,KAAM,CACJne,KAAM,YACN47C,UACE,yEACFC,gBAAiB,IACZ8rC,GACAxpE,KAAK09B,mBACL2gC,GAAkBr+D,KAAK09B,mBAKrB2zC,GACX,CACErxE,KAAM,CACJne,KAAM,YACN47C,UACE,2EACFC,gBAAiB,IACZ+rC,GACAzpE,KAAK09B,mBACL2gC,GAAkBr+D,KAAK09B,mBAKrB4zC,GACX,CACEtxE,KAAM,CACJne,KAAM,YACN47C,UACE,0EACFC,gBAAiB,IACZisC,GACA3pE,KAAK09B,mBACL2gC,GAAkBr+D,KAAK09B,mBAKrB6zC,GACX,CACEvxE,KAAM,CACJne,KAAM,YACN47C,UACE,mEACFC,gBAAiB,IACZmsC,GACA7pE,KAAK09B,mBACL2gC,GAAkBr+D,KAAK09B,mBAKrB8zC,GACX,CACExxE,KAAM,CACJne,KAAM,YACN47C,UACE,4EACFC,gBAAiB,IACZysC,GACAnqE,KAAK09B,mBACL2gC,GAAkBr+D,KAAK09B,mBAKrB+zC,GACX,CACEzxE,KAAM,CACJne,KAAM,YACN47C,UACE,2EACFC,gBAAiB,IACZ2sC,GACArqE,KAAK09B,mBACL2gC,GAAkBr+D,KAAK09B,mBAKrBg0C,GACX,CACE1xE,KAAM,CACJne,KAAM,YACN47C,UACE,6EACFC,gBAAiB,IACZ4sC,GACAtqE,KAAK09B,mBACL2gC,GAAkBr+D,KAAK09B,mBAKrBi0C,GACX,CACE3xE,KAAM,CACJne,KAAM,YACN47C,UACE,8EACFC,gBAAiB,IACZqtC,GACA/qE,KAAK09B,mBACL2gC,GAAkBr+D,KAAK09B,mBAKrBk0C,GACX,CACE5xE,KAAM,CACJne,KAAM,YACN47C,UACE,8EACFC,gBAAiB,IACZytC,GACAnrE,KAAK09B,mBACL2gC,GAAkBr+D,KAAK09B,mBAKrBm0C,GACX,CACE7xE,KAAM,CACJne,KAAM,YACN47C,UACE,uEACFC,gBAAiB,IACZ0tC,GACAprE,KAAK09B,mBACL2gC,GAAkBr+D,KAAK09B,mBAKrBo0C,GACX,CACE9xE,KAAM,CACJne,KAAM,YACN47C,UACE,yEACFC,gBAAiB,IACZ2tC,GACArrE,KAAK09B,mBACL2gC,GAAkBr+D,KAAK09B,mBAKrBq0C,GACX,CACE/xE,KAAM,CACJne,KAAM,YACN47C,UACE,qEACFC,gBAAiB,IACZ4tC,GACAtrE,KAAK09B,mBACL2gC,GAAkBr+D,KAAK09B,mBAKrBs0C,GACX,CACEhyE,KAAM,CACJne,KAAM,YACN47C,UACE,2EACFC,gBAAiB,IACZ4uC,GACAtsE,KAAK09B,mBACL2gC,GAAkBr+D,KAAK09B,mBAKrBu0C,GACX,CACEjyE,KAAM,CACJne,KAAM,YACN47C,UACE,wEACFC,gBAAiB,IACZ6uC,GACAvsE,KAAK09B,mBACL2gC,GAAkBr+D,KAAK09B,mBAKrBw0C,GACX,CACElyE,KAAM,CACJne,KAAM,YACN47C,UACE,sEACFC,gBAAiB,IACZ8uC,GACAxsE,KAAK09B,mBACL2gC,GAAkBr+D,KAAK09B,mBAKrBy0C,GACX,CACEnyE,KAAM,CACJne,KAAM,YACN47C,UACE,qEACFC,gBAAiB,IACZivC,GACA3sE,KAAK09B,mBACL2gC,GAAkBr+D,KAAK09B,mBAKrB00C,GACX,CACEpyE,KAAM,CACJne,KAAM,YACN47C,UACE,qEACFC,gBAAiB,IACZkvC,GACA5sE,KAAK09B,mBACL2gC,GAAkBr+D,KAAK09B,mBAKrB20C,GACX,CACEryE,KAAM,CACJne,KAAM,YACN47C,UACE,8EACFC,gBAAiB,IACZ6vC,GACAvtE,KAAK09B,mBACL2gC,GAAkBr+D,KAAK09B,mBAKrB40C,GACX,CACEtyE,KAAM,CACJne,KAAM,YACN47C,UACE,6EACFC,gBAAiB,IACZ8vC,GACAxtE,KAAK09B,mBACL2gC,GAAkBr+D,KAAK09B,mBAKrB60C,GACX,CACEvyE,KAAM,CACJne,KAAM,YACN47C,UACE,wEACFC,gBAAiB,IACZ+wC,GACAzuE,KAAK09B,mBACL2gC,GAAkBr+D,KAAK09B,mBAKrB80C,GACX,CACExyE,KAAM,CACJne,KAAM,YACN47C,UACE,8EACFC,gBAAiB,IACZgxC,GACA1uE,KAAK09B,mBACL2gC,GAAkBr+D,KAAK09B,mBAKrB+0C,GACX,CACEzyE,KAAM,CACJne,KAAM,YACN47C,UACE,oEACFC,gBAAiB,IACZmxC,GACA7uE,KAAK09B,mBACL2gC,GAAkBr+D,KAAK09B,mBAKrBg1C,GAA+C,CAC1D1yE,KAAM,CACJne,KAAM,YACN47C,UAAW,mBACXC,gBAAiB,IACZlO,GAAYxvB,KAAK09B,mBACjBurC,GAAmEjpE,KACnE09B,mBAKIi1C,GAA+C,CAC1D3yE,KAAM,CACJne,KAAM,YACN47C,UAAW,mBACXC,gBAAiB,IACZuE,GAASjiC,KAAK09B,gBACjBk1C,kBAAmB,CACjBp4C,eAAgB,qBAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WAGV20C,MAAO,CACLoH,YAAa,CACXmB,QAAS,IAAIz1C,OAAO,cAEtBkxC,eAAgB,QAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WAGVgxF,iBAAkB,CAChBr4C,eAAgB,qBAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WAGVixF,kBAAmB,CACjBt4C,eAAgB,qBAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,cAOHkxF,GAAiD,CAC5D/yE,KAAM,CACJne,KAAM,YACN47C,UAAW,qBACXC,gBAAiB,IACZ8F,GAAiBxjC,KAAK09B,gBACzBs1C,gBAAiB,CACfx4C,eAAgB,oBAChBmD,UAAU,EACV39B,KAAM,CACJne,KAAM,WAGVixF,kBAAmB,CACjBt4C,eAAgB,qBAChBmD,UAAU,EA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CNm8C,cAAe,CAAC,UAAW,gBEixC/BqQ,cAAe,CAACC,IAChBC,iBAAkB,CAACD,IACnBlU,WAAUA,IAENuhD,GAAqE,CACzEnmF,KAAM,iCACNy4C,WAAY,MACZC,UAAW,CACT,IAAK,CACHC,WAAY,CAAEnuC,KAAM,CAAEne,KAAM,YAE9B,IAAK,CACHssD,WAAYH,GACZI,SAAS,IAGbC,cAAe,CAACC,IAChBC,iBAAkB,CAACD,IACnBlU,WAAUA,IAENyhD,GAAwD,CAC5DrmF,KAAM,0BACNy4C,WAAY,MACZC,UAAW,CACT,IAAK,CACHC,WAAYH,IAEd,IAAK,CACHG,WAAYH,GACZI,SAAS,GAEX,IAAK,CACHD,WAAYH,GACZI,SAAS,IAGbC,cAAe,CAACC,GAAkBA,IAClCC,iBAAkB,CAACD,IACnBlU,WAAUA,IAEN2hD,GAAsD,CAC1DvmF,KAAM,gBACNy4C,WAAY,MACZC,UAAW,CACT,IAAK,CACHC,WACEH,IAEJ,IAAK,CACHG,WAAYH,GACZI,SAAS,IAGbI,gBAAiB,CAACF,GAAkBA,GFnzCc,CAClDvF,cAAe,CAAC,UAAW,aAC3BzO,OAAQ,CACNE,eAAgB,YAChBx6B,KAAM,CACJne,KAAM,OACNm8C,cAAe,CAAC,UAAW,gBE8yC/BqQ,cAAe,CAACC,IAChBC,iBAAkB,CAACD,IACnBlU,WAAUA,IAGC6hD,GAAiB,CAC5B7I,GACAE,GACAE,GACAE,GACAE,GACAE,GACAE,GACAE,GACAE,GACAE,GACAE,GACAE,GACAE,GACAE,GACAE,GACAE,GACAE,GACAE,GACAI,GACAE,GACAE,GACAE,GACAE,GACAxrC,GACA0rC,GACAE,GACAE,GACAE,GACAE,GACAE,GACAE,GACAE,GACAE,GACAE,GACAE,GACAC,GACAE,GACAE,GACAC,GACAE,GACAE,GACAE,GACAE,GACAE,GACAC,GACAE,GACAE,GACAE,GACAE,GACAE,GACAE,GACAE,GACAE,GACAE,GACAE,GACAE,GACAE,GACAE,GACAE,GACAE,GACAE,GACAE,GACAE,GACAE,GACAE,GACAE,GACA7tC,GACA+tC,GACAE,GACAE,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","sources":["webpack://Aeternity/webpack/universalModuleDefinition","webpack://Aeternity/./node_modules/blakejs/blake2b.js","webpack://Aeternity/./node_modules/blakejs/util.js","webpack://Aeternity/./node_modules/call-bind-apply-helpers/actualApply.js","webpack://Aeternity/./node_modules/call-bind-apply-helpers/applyBind.js","webpack://Aeternity/./node_modules/call-bind-apply-helpers/functionApply.js","webpack://Aeternity/./node_modules/call-bind-apply-helpers/functionCall.js","webpack://Aeternity/./node_modules/call-bind-apply-helpers/index.js","webpack://Aeternity/./node_modules/call-bind-apply-helpers/reflectApply.js","webpack://Aeternity/./node_modules/call-bind/index.js","webpack://Aeternity/./node_modules/call-bound/index.js","webpack://Aeternity/./node_modules/define-data-property/index.js","webpack://Aeternity/./node_modules/dunder-proto/get.js","webpack://Aeternity/./node_modules/es-define-property/index.js","webpack://Aeternity/./node_modules/es-errors/eval.js","webpack://Aeternity/./node_modules/es-errors/index.js","webpack://Aeternity/./node_modules/es-errors/range.js","webpack://Aeternity/./node_modules/es-errors/ref.js","webpack://Aeternity/./node_modules/es-errors/syntax.js","webpack://Aeternity/./node_modules/es-errors/type.js","webpack://Aeternity/./node_modules/es-errors/uri.js","webpack://Aeternity/./node_modules/es-object-atoms/index.js","webpack://Aeternity/./node_modules/for-each/index.js","webpack://Aeternity/./node_modules/function-bind/implementation.js","webpack://Aeternity/./node_modules/function-bind/index.js","webpack://Aeternity/./node_modules/get-intrinsic/index.js","webpack://Aeternity/./node_modules/get-proto/Object.getPrototypeOf.js","webpack://Aeternity/./node_modules/get-proto/Reflect.getPrototypeOf.js","webpack://Aeternity/./node_modules/get-proto/index.js","webpack://Aeternity/./node_modules/gopd/gOPD.js","webpack://Aeternity/./node_modules/gopd/index.js","webpack://Aeternity/./node_modules/has-property-descriptors/index.js","webpack://Aeternity/./node_modules/has-symbols/index.js","webpack://Aeternity/./node_modules/has-symbols/shams.js","webpack://Aeternity/./node_modules/has-tostringtag/shams.js","webpack://Aeternity/./node_modules/hasown/index.js","webpack://Aeternity/./node_modules/inherits/inherits_browser.js","webpack://Aeternity/./node_modules/is-callable/index.js","webpack://Aeternity/./node_modules/is-typed-array/index.js","webpack://Aeternity/./node_modules/isarray/index.js","webpack://Aeternity/./node_modules/math-intrinsics/abs.js","webpack://Aeternity/./node_modules/math-intrinsics/floor.js","webpack://Aeternity/./node_modules/math-intrinsics/isNaN.js","webpack://Aeternity/./node_modules/math-intrinsics/max.js","webpack://Aeternity/./node_modules/math-intrinsics/min.js","webpack://Aeternity/./node_modules/math-intrinsics/pow.js","webpack://Aeternity/./node_modules/math-intrinsics/round.js","webpack://Aeternity/./node_modules/math-intrinsics/sign.js","webpack://Aeternity/./node_modules/possible-typed-array-names/index.js","webpack://Aeternity/./node_modules/safe-buffer/index.js","webpack://Aeternity/./node_modules/set-function-length/index.js","webpack://Aeternity/./node_modules/sha.js/hash.js","webpack://Aeternity/./node_modules/sha.js/sha256.js","webpack://Aeternity/./node_modules/to-buffer/index.js","webpack://Aeternity/./node_modules/typed-array-buffer/index.js","webpack://Aeternity/./node_modules/which-typed-array/index.js","webpack://Aeternity/external umd \"@aeternity/aepp-calldata\"","webpack://Aeternity/external umd \"@azure/core-client\"","webpack://Aeternity/external umd \"@azure/core-rest-pipeline\"","webpack://Aeternity/external umd \"@scure/bip39\"","webpack://Aeternity/external umd \"bignumber.js\"","webpack://Aeternity/external umd \"bs58\"","webpack://Aeternity/external umd \"buffer\"","webpack://Aeternity/external umd \"canonicalize\"","webpack://Aeternity/external umd \"eventemitter3\"","webpack://Aeternity/external umd \"events\"","webpack://Aeternity/external umd \"isomorphic-ws\"","webpack://Aeternity/external umd \"json-bigint\"","webpack://Aeternity/external umd \"rlp\"","webpack://Aeternity/external umd \"tweetnacl\"","webpack://Aeternity/external umd \"tweetnacl-auth\"","webpack://Aeternity/external umd \"websocket\"","webpack://Aeternity/./node_modules/available-typed-arrays/index.js","webpack://Aeternity/./node_modules/core-js-pure/actual/object/define-property.js","webpack://Aeternity/./node_modules/core-js-pure/actual/symbol/index.js","webpack://Aeternity/./node_modules/core-js-pure/actual/symbol/iterator.js","webpack://Aeternity/./node_modules/core-js-pure/actual/symbol/to-primitive.js","webpack://Aeternity/./node_modules/core-js-pure/es/object/define-property.js","webpack://Aeternity/./node_modules/core-js-pure/es/symbol/index.js","webpack://Aeternity/./node_modules/core-js-pure/es/symbol/iterator.js","webpack://Aeternity/./node_modules/core-js-pure/es/symbol/to-primitive.js","webpack://Aeternity/./node_modules/core-js-pure/full/object/define-property.js","webpack://Aeternity/./node_modules/core-js-pure/full/symbol/index.js","webpack://Aeternity/./node_modules/core-js-pure/full/symbol/iterator.js","webpack://Aeternity/./node_modules/core-js-pure/full/symbol/to-primitive.js","webpack://Aeternity/./node_modules/core-js-pure/internals/a-callable.js","webpack://Aeternity/./node_modules/core-js-pure/internals/a-possible-prototype.js","webpack://Aeternity/./node_modules/core-js-pure/internals/add-to-unscopables.js","webpack://Aeternity/./node_modules/core-js-pure/internals/an-object.js","webpack://Aeternity/./node_modules/core-js-pure/internals/array-includes.js","webpack://Aeternity/./node_modules/core-js-pure/internals/array-iteration.js","webpack://Aeternity/./node_modules/core-js-pure/internals/array-method-has-species-support.js","webpack://Aeternity/./node_modules/core-js-pure/internals/array-slice.js","webpack://Aeternity/./node_modules/core-js-pure/internals/array-species-constructor.js","webpack://Aeternity/./node_modules/core-js-pure/internals/array-species-create.js","webpack://Aeternity/./node_modules/core-js-pure/internals/classof-raw.js","webpack://Aeternity/./node_modules/core-js-pure/internals/classof.js","webpack://Aeternity/./node_modules/core-js-pure/internals/correct-prototype-getter.js","webpack://Aeternity/./node_modules/core-js-pure/internals/create-iter-result-object.js","webpack://Aeternity/./node_modules/core-js-pure/internals/create-non-enumerable-property.js","webpack://Aeternity/./node_modules/core-js-pure/internals/create-property-descriptor.js","webpack://Aeternity/./node_modules/core-js-pure/internals/create-property.js","webpack://Aeternity/./node_modules/core-js-pure/internals/define-built-in-accessor.js","webpack://Aeternity/./node_modules/core-js-pure/internals/define-built-in.js","webpack://Aeternity/./node_modules/core-js-pure/internals/define-global-property.js","webpack://Aeternity/./node_modules/core-js-pure/internals/descriptors.js","webpack://Aeternity/./node_modules/core-js-pure/internals/document-create-element.js","webpack://Aeternity/./node_modules/core-js-pure/internals/does-not-exceed-safe-integer.js","webpack://Aeternity/./node_modules/core-js-pure/internals/dom-iterables.js","webpack://Aeternity/./node_modules/core-js-pure/internals/enum-bug-keys.js","webpack://Aeternity/./node_modules/core-js-pure/internals/environment-user-agent.js","webpack://Aeternity/./node_modules/core-js-pure/internals/environment-v8-version.js","webpack://Aeternity/./node_modules/core-js-pure/internals/export.js","webpack://Aeternity/./node_modules/core-js-pure/internals/fails.js","webpack://Aeternity/./node_modules/core-js-pure/internals/function-apply.js","webpack://Aeternity/./node_modules/core-js-pure/internals/function-bind-context.js","webpack://Aeternity/./node_modules/core-js-pure/internals/function-bind-native.js","webpack://Aeternity/./node_modules/core-js-pure/internals/function-call.js","webpack://Aeternity/./node_modules/core-js-pure/internals/function-name.js","webpack://Aeternity/./node_modules/core-js-pure/internals/function-uncurry-this-accessor.js","webpack://Aeternity/./node_modules/core-js-pure/internals/function-uncurry-this-clause.js","webpack://Aeternity/./node_modules/core-js-pure/internals/function-uncurry-this.js","webpack://Aeternity/./node_modules/core-js-pure/internals/get-built-in.js","webpack://Aeternity/./node_modules/core-js-pure/internals/get-json-replacer-function.js","webpack://Aeternity/./node_modules/core-js-pure/internals/get-method.js","webpack://Aeternity/./node_modules/core-js-pure/internals/global-this.js","webpack://Aeternity/./node_modules/core-js-pure/internals/has-own-property.js","webpack://Aeternity/./node_modules/core-js-pure/internals/hidden-keys.js","webpack://Aeternity/./node_modules/core-js-pure/internals/html.js","webpack://Aeternity/./node_modules/core-js-pure/internals/ie8-dom-define.js","webpack://Aeternity/./node_modules/core-js-pure/internals/indexed-object.js","webpack://Aeternity/./node_modules/core-js-pure/internals/inspect-source.js","webpack://Aeternity/./node_modules/core-js-pure/internals/internal-state.js","webpack://Aeternity/./node_modules/core-js-pure/internals/is-array.js","webpack://Aeternity/./node_modules/core-js-pure/internals/is-callable.js","webpack://Aeternity/./node_modules/core-js-pure/internals/is-constructor.js","webpack://Aeternity/./node_modules/core-js-pure/internals/is-forced.js","webpack://Aeternity/./node_modules/core-js-pure/internals/is-null-or-undefined.js","webpack://Aeternity/./node_modules/core-js-pure/internals/is-object.js","webpack://Aeternity/./node_modules/core-js-pure/internals/is-possible-prototype.js","webpack://Aeternity/./node_modules/core-js-pure/internals/is-pure.js","webpack://Aeternity/./node_modules/core-js-pure/internals/is-symbol.js","webpack://Aeternity/./node_modules/core-js-pure/internals/iterator-create-constructor.js","webpack://Aeternity/./node_modules/core-js-pure/internals/iterator-define.js","webpack://Aeternity/./node_modules/core-js-pure/internals/iterators-core.js","webpack://Aeternity/./node_modules/core-js-pure/internals/iterators.js","webpack://Aeternity/./node_modules/core-js-pure/internals/length-of-array-like.js","webpack://Aeternity/./node_modules/core-js-pure/internals/math-trunc.js","webpack://Aeternity/./node_modules/core-js-pure/internals/object-create.js","webpack://Aeternity/./node_modules/core-js-pure/internals/object-define-properties.js","webpack://Aeternity/./node_modules/core-js-pure/internals/object-define-property.js","webpack://Aeternity/./node_modules/core-js-pure/internals/object-get-own-property-descriptor.js","webpack://Aeternity/./node_modules/core-js-pure/internals/object-get-own-property-names-external.js","webpack://Aeternity/./node_modules/core-js-pure/internals/object-get-own-property-names.js","webpack://Aeternity/./node_modules/core-js-pure/internals/object-get-own-property-symbols.js","webpack://Aeternity/./node_modules/core-js-pure/internals/object-get-prototype-of.js","webpack://Aeternity/./node_modules/core-js-pure/internals/object-is-prototype-of.js","webpack://Aeternity/./node_modules/core-js-pure/internals/object-keys-internal.js","webpack://Aeternity/./node_modules/core-js-pure/internals/object-keys.js","webpack://Aeternity/./node_modules/core-js-pure/internals/object-property-is-enumerable.js","webpack://Aeternity/./node_modules/core-js-pure/internals/object-set-prototype-of.js","webpack://Aeternity/./node_modules/core-js-pure/internals/object-to-string.js","webpack://Aeternity/./node_modules/core-js-pure/internals/ordinary-to-primitive.js","webpack://Aeternity/./node_modules/core-js-pure/internals/path.js","webpack://Aeternity/./node_modules/core-js-pure/internals/require-object-coercible.js","webpack://Aeternity/./node_modules/core-js-pure/internals/set-to-string-tag.js","webpack://Aeternity/./node_modules/core-js-pure/internals/shared-key.js","webpack://Aeternity/./node_modules/core-js-pure/internals/shared-store.js","webpack://Aeternity/./node_modules/core-js-pure/internals/shared.js","webpack://Aeternity/./node_modules/core-js-pure/internals/string-multibyte.js","webpack://Aeternity/./node_modules/core-js-pure/internals/symbol-constructor-detection.js","webpack://Aeternity/./node_modules/core-js-pure/internals/symbol-define-to-primitive.js","webpack://Aeternity/./node_modules/core-js-pure/internals/symbol-is-registered.js","webpack://Aeternity/./node_modules/core-js-pure/internals/symbol-is-well-known.js","webpack://Aeternity/./node_modules/core-js-pure/internals/symbol-registry-detection.js","webpack://Aeternity/./node_modules/core-js-pure/internals/to-absolute-index.js","webpack://Aeternity/./node_modules/core-js-pure/internals/to-indexed-object.js","webpack://Aeternity/./node_modules/core-js-pure/internals/to-integer-or-infinity.js","webpack://Aeternity/./node_modules/core-js-pure/internals/to-length.js","webpack://Aeternity/./node_modules/core-js-pure/internals/to-object.js","webpack://Aeternity/./node_modules/core-js-pure/internals/to-primitive.js","webpack://Aeternity/./node_modules/core-js-pure/internals/to-property-key.js","webpack://Aeternity/./node_modules/core-js-pure/internals/to-string-tag-support.js","webpack://Aeternity/./node_modules/core-js-pure/internals/to-string.js","webpack://Aeternity/./node_modules/core-js-pure/internals/try-to-string.js","webpack://Aeternity/./node_modules/core-js-pure/internals/uid.js","webpack://Aeternity/./node_modules/core-js-pure/internals/use-symbol-as-uid.js","webpack://Aeternity/./node_modules/core-js-pure/internals/v8-prototype-define-bug.js","webpack://Aeternity/./node_modules/core-js-pure/internals/weak-map-basic-detection.js","webpack://Aeternity/./node_modules/core-js-pure/internals/well-known-symbol-define.js","webpack://Aeternity/./node_modules/core-js-pure/internals/well-known-symbol-wrapped.js","webpack://Aeternity/./node_modules/core-js-pure/internals/well-known-symbol.js","webpack://Aeternity/./node_modules/core-js-pure/modules/es.array.concat.js","webpack://Aeternity/./node_modules/core-js-pure/modules/es.array.iterator.js","webpack://Aeternity/./node_modules/core-js-pure/modules/es.json.stringify.js","webpack://Aeternity/./node_modules/core-js-pure/modules/es.json.to-string-tag.js","webpack://Aeternity/./node_modules/core-js-pure/modules/es.object.define-property.js","webpack://Aeternity/./node_modules/core-js-pure/modules/es.object.get-own-property-symbols.js","webpack://Aeternity/./node_modules/core-js-pure/modules/es.string.iterator.js","webpack://Aeternity/./node_modules/core-js-pure/modules/es.symbol.async-iterator.js","webpack://Aeternity/./node_modules/core-js-pure/modules/es.symbol.constructor.js","webpack://Aeternity/./node_modules/core-js-pure/modules/es.symbol.for.js","webpack://Aeternity/./node_modules/core-js-pure/modules/es.symbol.has-instance.js","webpack://Aeternity/./node_modules/core-js-pure/modules/es.symbol.is-concat-spreadable.js","webpack://Aeternity/./node_modules/core-js-pure/modules/es.symbol.iterator.js","webpack://Aeternity/./node_modules/core-js-pure/modules/es.symbol.js","webpack://Aeternity/./node_modules/core-js-pure/modules/es.symbol.key-for.js","webpack://Aeternity/./node_modules/core-js-pure/modules/es.symbol.match-all.js","webpack://Aeternity/./node_modules/core-js-pure/modules/es.symbol.match.js","webpack://Aeternity/./node_modules/core-js-pure/modules/es.symbol.replace.js","webpack://Aeternity/./node_modules/core-js-pure/modules/es.symbol.search.js","webpack://Aeternity/./node_modules/core-js-pure/modules/es.symbol.species.js","webpack://Aeternity/./node_modules/core-js-pure/modules/es.symbol.split.js","webpack://Aeternity/./node_modules/core-js-pure/modules/es.symbol.to-primitive.js","webpack://Aeternity/./node_modules/core-js-pure/modules/es.symbol.to-string-tag.js","webpack://Aeternity/./node_modules/core-js-pure/modules/es.symbol.unscopables.js","webpack://Aeternity/./node_modules/core-js-pure/modules/esnext.function.metadata.js","webpack://Aeternity/./node_modules/core-js-pure/modules/esnext.symbol.async-dispose.js","webpack://Aeternity/./node_modules/core-js-pure/modules/esnext.symbol.custom-matcher.js","webpack://Aeternity/./node_modules/core-js-pure/modules/esnext.symbol.dispose.js","webpack://Aeternity/./node_modules/core-js-pure/modules/esnext.symbol.is-registered-symbol.js","webpack://Aeternity/./node_modules/core-js-pure/modules/esnext.symbol.is-registered.js","webpack://Aeternity/./node_modules/core-js-pure/modules/esnext.symbol.is-well-known-symbol.js","webpack://Aeternity/./node_modules/core-js-pure/modules/esnext.symbol.is-well-known.js","webpack://Aeternity/./node_modules/core-js-pure/modules/esnext.symbol.matcher.js","webpack://Aeternity/./node_modules/core-js-pure/modules/esnext.symbol.metadata-key.js","webpack://Aeternity/./node_modules/core-js-pure/modules/esnext.symbol.metadata.js","webpack://Aeternity/./node_modules/core-js-pure/modules/esnext.symbol.observable.js","webpack://Aeternity/./node_modules/core-js-pure/modules/esnext.symbol.pattern-match.js","webpack://Aeternity/./node_modules/core-js-pure/modules/esnext.symbol.replace-all.js","webpack://Aeternity/./node_modules/core-js-pure/modules/web.dom-collections.iterator.js","webpack://Aeternity/./node_modules/core-js-pure/stable/object/define-property.js","webpack://Aeternity/./node_modules/core-js-pure/stable/symbol/index.js","webpack://Aeternity/./node_modules/core-js-pure/stable/symbol/iterator.js","webpack://Aeternity/./node_modules/core-js-pure/stable/symbol/to-primitive.js","webpack://Aeternity/webpack/bootstrap","webpack://Aeternity/webpack/runtime/compat get default export","webpack://Aeternity/webpack/runtime/define property getters","webpack://Aeternity/webpack/runtime/global","webpack://Aeternity/webpack/runtime/hasOwnProperty shorthand","webpack://Aeternity/webpack/runtime/make namespace object","webpack://Aeternity/./src/utils/bignumber.ts","webpack://Aeternity/./src/utils/errors.ts","webpack://Aeternity/./src/utils/amount-formatter.ts","webpack://Aeternity/./src/utils/other.ts","webpack://Aeternity/./src/utils/wrap-proxy.ts","webpack://Aeternity/./src/utils/encoder-types.ts","webpack://Aeternity/./src/utils/encoder.ts","webpack://Aeternity/./src/utils/crypto.ts","webpack://Aeternity/./src/utils/bytes.ts","webpack://Aeternity/./src/tx/builder/constants.ts","webpack://Aeternity/./src/tx/builder/helpers.ts","webpack://Aeternity/./src/chain.ts","webpack://Aeternity/./src/tx/builder/field-types/ct-version.ts","webpack://Aeternity/./src/tx/builder/field-types/abi-version.ts","webpack://Aeternity/./src/tx/builder/field-types/address.ts","webpack://Aeternity/./src/tx/builder/field-types/array.ts","webpack://Aeternity/./src/tx/builder/field-types/u-int.ts","webpack://Aeternity/./src/tx/builder/field-types/coin-amount.ts","webpack://Aeternity/./src/tx/builder/field-types/encoded.ts","webpack://Aeternity/./src/tx/builder/field-types/entry.ts","webpack://Aeternity/./src/tx/builder/field-types/enumeration.ts","webpack://Aeternity/./src/tx/builder/field-types/gas-price.ts","webpack://Aeternity/./src/tx/builder/field-types/fee.ts","webpack://Aeternity/./src/tx/builder/field-types/short-u-int.ts","webpack://Aeternity/./src/tx/builder/field-types/gas-limit.ts","webpack://Aeternity/./src/tx/builder/field-types/field.ts","webpack://Aeternity/./src/tx/builder/field-types/name.ts","webpack://Aeternity/./src/tx/builder/field-types/name-fee.ts","webpack://Aeternity/./src/tx/builder/field-types/name-id.ts","webpack://Aeternity/./src/tx/builder/field-types/nonce.ts","webpack://Aeternity/./src/tx/builder/field-types/pointers.ts","webpack://Aeternity/./src/tx/builder/field-types/query-fee.ts","webpack://Aeternity/./src/tx/builder/field-types/raw.ts","webpack://Aeternity/./src/tx/builder/field-types/short-u-int-const.ts","webpack://Aeternity/./src/tx/builder/field-types/string.ts","webpack://Aeternity/./src/tx/builder/field-types/transaction.ts","webpack://Aeternity/./src/tx/builder/field-types/ttl.ts","webpack://Aeternity/./src/tx/builder/field-types/with-default.ts","webpack://Aeternity/./src/tx/builder/field-types/with-formatting.ts","webpack://Aeternity/./src/tx/builder/entry/constants.ts","webpack://Aeternity/./src/tx/builder/schema.ts","webpack://Aeternity/./src/tx/builder/common.ts","webpack://Aeternity/./src/tx/builder/field-types/boolean.ts","webpack://Aeternity/./src/tx/builder/field-types/map.ts","webpack://Aeternity/./src/tx/builder/field-types/mptree.ts","webpack://Aeternity/./src/tx/builder/field-types/wrapped.ts","webpack://Aeternity/./src/tx/builder/entry/schema.ts","webpack://Aeternity/./src/tx/builder/entry/index.ts","webpack://Aeternity/./src/tx/builder/index.ts","webpack://Aeternity/./src/utils/semver-satisfies.ts","webpack://Aeternity/./src/utils/autorest.ts","webpack://Aeternity/./src/apis/node/models/mappers.ts","webpack://Aeternity/./src/apis/node/models/parameters.ts","webpack://Aeternity/./src/apis/node/node.ts","webpack://Aeternity/./src/Node.ts","webpack://Aeternity/./src/tx/transaction-signer.ts","webpack://Aeternity/./src/account/Base.ts","webpack://Aeternity/./src/utils/typed-data.ts","webpack://Aeternity/./src/account/Memory.ts","webpack://Aeternity/./src/tx/execution-cost.ts","webpack://Aeternity/./src/tx/validator.ts","webpack://Aeternity/./src/send-transaction.ts","webpack://Aeternity/./src/utils/jwt.ts","webpack://Aeternity/./src/tx/builder/delegation/schema.ts","webpack://Aeternity/./src/tx/builder/delegation/index.ts","webpack://Aeternity/./src/aens.ts","webpack://Aeternity/./src/contract/Contract.ts","webpack://Aeternity/./src/oracle/OracleBase.ts","webpack://Aeternity/./src/oracle/Oracle.ts","webpack://Aeternity/./src/oracle/OracleClient.ts","webpack://Aeternity/./src/spend.ts","webpack://Aeternity/./src/contract/ga.ts","webpack://Aeternity/./node_modules/@babel/runtime-corejs3/helpers/esm/typeof.js","webpack://Aeternity/./node_modules/@babel/runtime-corejs3/helpers/esm/defineProperty.js","webpack://Aeternity/./node_modules/@babel/runtime-corejs3/helpers/esm/toPropertyKey.js","webpack://Aeternity/./node_modules/@babel/runtime-corejs3/helpers/esm/toPrimitive.js","webpack://Aeternity/./src/AeSdkMethods.ts","webpack://Aeternity/./src/AeSdkBase.ts","webpack://Aeternity/./src/AeSdk.ts","webpack://Aeternity/./src/aepp-wallet-communication/schema.ts","webpack://Aeternity/./src/account/Rpc.ts","webpack://Aeternity/./src/aepp-wallet-communication/rpc/RpcClient.ts","webpack://Aeternity/./src/AeSdkAepp.ts","webpack://Aeternity/./src/aepp-wallet-communication/rpc/types.ts","webpack://Aeternity/./src/aepp-wallet-communication/WalletConnectorFrameBase.ts","webpack://Aeternity/./src/aepp-wallet-communication/WalletConnectorFrame.ts","webpack://Aeternity/./src/aepp-wallet-communication/WalletConnectorFrameWithNode.ts","webpack://Aeternity/./src/utils/json-big.ts","webpack://Aeternity/./src/AeSdkWallet.ts","webpack://Aeternity/./src/account/BaseFactory.ts","webpack://Aeternity/./src/account/MnemonicFactory.ts","webpack://Aeternity/./src/account/Generalized.ts","webpack://Aeternity/./src/account/Ledger.ts","webpack://Aeternity/./src/account/LedgerFactory.ts","webpack://Aeternity/./src/account/Metamask.ts","webpack://Aeternity/./src/account/MetamaskFactory.ts","webpack://Aeternity/./src/contract/compiler/Base.ts","webpack://Aeternity/./src/apis/compiler/models/mappers.ts","webpack://Aeternity/./src/apis/compiler/models/parameters.ts","webpack://Aeternity/./src/apis/compiler/compiler.ts","webpack://Aeternity/./src/contract/compiler/Http.ts","webpack://Aeternity/./src/utils/string.ts","webpack://Aeternity/./src/channel/internal.ts","webpack://Aeternity/./src/channel/handlers.ts","webpack://Aeternity/./src/channel/Base.ts","webpack://Aeternity/./src/channel/Spend.ts","webpack://Aeternity/./src/channel/Contract.ts","webpack://Aeternity/./src/MiddlewareSubscriber.ts","webpack://Aeternity/./src/apis/middleware/models/parameters.ts","webpack://Aeternity/./src/apis/middleware/models/mappers.ts","webpack://Aeternity/./src/apis/middleware/middleware.ts","webpack://Aeternity/./src/utils/MiddlewarePage.ts","webpack://Aeternity/./src/Middleware.ts","webpack://Aeternity/./src/aepp-wallet-communication/connection-proxy.ts","webpack://Aeternity/./src/aepp-wallet-communication/connection/Browser.ts","webpack://Aeternity/./src/aepp-wallet-communication/connection/BrowserWindowMessage.ts","webpack://Aeternity/./src/aepp-wallet-communication/wallet-detector.ts","webpack://Aeternity/./src/aepp-wallet-communication/connection/BrowserRuntime.ts"],"sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"bignumber.js\"), require(\"@azure/core-rest-pipeline\"), require(\"buffer\"), require(\"tweetnacl\"), require(\"bs58\"), require(\"rlp\"), require(\"@azure/core-client\"), require(\"@aeternity/aepp-calldata\"), require(\"canonicalize\"), require(\"eventemitter3\"), require(\"json-bigint\"), require(\"@scure/bip39\"), require(\"tweetnacl-auth\"), require(\"websocket\"), require(\"events\"), require(\"isomorphic-ws\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"bignumber.js\", \"@azure/core-rest-pipeline\", \"buffer\", \"tweetnacl\", \"bs58\", \"rlp\", \"@azure/core-client\", \"@aeternity/aepp-calldata\", \"canonicalize\", \"eventemitter3\", \"json-bigint\", \"@scure/bip39\", \"tweetnacl-auth\", \"websocket\", \"events\", \"isomorphic-ws\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"Aeternity\"] = factory(require(\"bignumber.js\"), require(\"@azure/core-rest-pipeline\"), require(\"buffer\"), require(\"tweetnacl\"), require(\"bs58\"), require(\"rlp\"), require(\"@azure/core-client\"), require(\"@aeternity/aepp-calldata\"), require(\"canonicalize\"), require(\"eventemitter3\"), require(\"json-bigint\"), require(\"@scure/bip39\"), require(\"tweetnacl-auth\"), require(\"websocket\"), require(\"events\"), require(\"isomorphic-ws\"));\n\telse\n\t\troot[\"Aeternity\"] = factory(root[\"bignumber.js\"], root[\"@azure/core-rest-pipeline\"], root[\"buffer\"], root[\"tweetnacl\"], root[\"bs58\"], root[\"rlp\"], root[\"@azure/core-client\"], root[\"@aeternity/aepp-calldata\"], root[\"canonicalize\"], root[\"eventemitter3\"], root[\"json-bigint\"], root[\"@scure/bip39\"], root[\"tweetnacl-auth\"], root[\"websocket\"], root[\"events\"], root[\"isomorphic-ws\"]);\n})(self, function(__WEBPACK_EXTERNAL_MODULE__6168__, __WEBPACK_EXTERNAL_MODULE__833__, __WEBPACK_EXTERNAL_MODULE__18__, __WEBPACK_EXTERNAL_MODULE__1655__, __WEBPACK_EXTERNAL_MODULE__4578__, __WEBPACK_EXTERNAL_MODULE__6514__, __WEBPACK_EXTERNAL_MODULE__1081__, __WEBPACK_EXTERNAL_MODULE__2853__, __WEBPACK_EXTERNAL_MODULE__6016__, __WEBPACK_EXTERNAL_MODULE__1891__, __WEBPACK_EXTERNAL_MODULE__4146__, __WEBPACK_EXTERNAL_MODULE__8380__, __WEBPACK_EXTERNAL_MODULE__5196__, __WEBPACK_EXTERNAL_MODULE__8963__, __WEBPACK_EXTERNAL_MODULE__761__, __WEBPACK_EXTERNAL_MODULE__7250__) {\nreturn ","// Blake2B in pure Javascript\n// Adapted from the reference implementation in RFC7693\n// Ported to Javascript by DC - https://github.com/dcposch\n\nconst util = require('./util')\n\n// 64-bit unsigned addition\n// Sets v[a,a+1] += v[b,b+1]\n// v should be a Uint32Array\nfunction ADD64AA (v, a, b) {\n  const o0 = v[a] + v[b]\n  let o1 = v[a + 1] + v[b + 1]\n  if (o0 >= 0x100000000) {\n    o1++\n  }\n  v[a] = o0\n  v[a + 1] = o1\n}\n\n// 64-bit unsigned addition\n// Sets v[a,a+1] += b\n// b0 is the low 32 bits of b, b1 represents the high 32 bits\nfunction ADD64AC (v, a, b0, b1) {\n  let o0 = v[a] + b0\n  if (b0 < 0) {\n    o0 += 0x100000000\n  }\n  let o1 = v[a + 1] + b1\n  if (o0 >= 0x100000000) {\n    o1++\n  }\n  v[a] = o0\n  v[a + 1] = o1\n}\n\n// Little-endian byte access\nfunction B2B_GET32 (arr, i) {\n  return arr[i] ^ (arr[i + 1] << 8) ^ (arr[i + 2] << 16) ^ (arr[i + 3] << 24)\n}\n\n// G Mixing function\n// The ROTRs are inlined for speed\nfunction B2B_G (a, b, c, d, ix, iy) {\n  const x0 = m[ix]\n  const x1 = m[ix + 1]\n  const y0 = m[iy]\n  const y1 = m[iy + 1]\n\n  ADD64AA(v, a, b) // v[a,a+1] += v[b,b+1] ... in JS we must store a uint64 as two uint32s\n  ADD64AC(v, a, x0, x1) // v[a, a+1] += x ... x0 is the low 32 bits of x, x1 is the high 32 bits\n\n  // v[d,d+1] = (v[d,d+1] xor v[a,a+1]) rotated to the right by 32 bits\n  let xor0 = v[d] ^ v[a]\n  let xor1 = v[d + 1] ^ v[a + 1]\n  v[d] = xor1\n  v[d + 1] = xor0\n\n  ADD64AA(v, c, d)\n\n  // v[b,b+1] = (v[b,b+1] xor v[c,c+1]) rotated right by 24 bits\n  xor0 = v[b] ^ v[c]\n  xor1 = v[b + 1] ^ v[c + 1]\n  v[b] = (xor0 >>> 24) ^ (xor1 << 8)\n  v[b + 1] = (xor1 >>> 24) ^ (xor0 << 8)\n\n  ADD64AA(v, a, b)\n  ADD64AC(v, a, y0, y1)\n\n  // v[d,d+1] = (v[d,d+1] xor v[a,a+1]) rotated right by 16 bits\n  xor0 = v[d] ^ v[a]\n  xor1 = v[d + 1] ^ v[a + 1]\n  v[d] = (xor0 >>> 16) ^ (xor1 << 16)\n  v[d + 1] = (xor1 >>> 16) ^ (xor0 << 16)\n\n  ADD64AA(v, c, d)\n\n  // v[b,b+1] = (v[b,b+1] xor v[c,c+1]) rotated right by 63 bits\n  xor0 = v[b] ^ v[c]\n  xor1 = v[b + 1] ^ v[c + 1]\n  v[b] = (xor1 >>> 31) ^ (xor0 << 1)\n  v[b + 1] = (xor0 >>> 31) ^ (xor1 << 1)\n}\n\n// Initialization Vector\nconst BLAKE2B_IV32 = new Uint32Array([\n  0xf3bcc908, 0x6a09e667, 0x84caa73b, 0xbb67ae85, 0xfe94f82b, 0x3c6ef372,\n  0x5f1d36f1, 0xa54ff53a, 0xade682d1, 0x510e527f, 0x2b3e6c1f, 0x9b05688c,\n  0xfb41bd6b, 0x1f83d9ab, 0x137e2179, 0x5be0cd19\n])\n\nconst SIGMA8 = [\n  0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 14, 10, 4, 8, 9, 15, 13,\n  6, 1, 12, 0, 2, 11, 7, 5, 3, 11, 8, 12, 0, 5, 2, 15, 13, 10, 14, 3, 6, 7, 1,\n  9, 4, 7, 9, 3, 1, 13, 12, 11, 14, 2, 6, 5, 10, 4, 0, 15, 8, 9, 0, 5, 7, 2, 4,\n  10, 15, 14, 1, 11, 12, 6, 8, 3, 13, 2, 12, 6, 10, 0, 11, 8, 3, 4, 13, 7, 5,\n  15, 14, 1, 9, 12, 5, 1, 15, 14, 13, 4, 10, 0, 7, 6, 3, 9, 2, 8, 11, 13, 11, 7,\n  14, 12, 1, 3, 9, 5, 0, 15, 4, 8, 6, 2, 10, 6, 15, 14, 9, 11, 3, 0, 8, 12, 2,\n  13, 7, 1, 4, 10, 5, 10, 2, 8, 4, 7, 6, 1, 5, 15, 11, 9, 14, 3, 12, 13, 0, 0,\n  1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 14, 10, 4, 8, 9, 15, 13, 6,\n  1, 12, 0, 2, 11, 7, 5, 3\n]\n\n// These are offsets into a uint64 buffer.\n// Multiply them all by 2 to make them offsets into a uint32 buffer,\n// because this is Javascript and we don't have uint64s\nconst SIGMA82 = new Uint8Array(\n  SIGMA8.map(function (x) {\n    return x * 2\n  })\n)\n\n// Compression function. 'last' flag indicates last block.\n// Note we're representing 16 uint64s as 32 uint32s\nconst v = new Uint32Array(32)\nconst m = new Uint32Array(32)\nfunction blake2bCompress (ctx, last) {\n  let i = 0\n\n  // init work variables\n  for (i = 0; i < 16; i++) {\n    v[i] = ctx.h[i]\n    v[i + 16] = BLAKE2B_IV32[i]\n  }\n\n  // low 64 bits of offset\n  v[24] = v[24] ^ ctx.t\n  v[25] = v[25] ^ (ctx.t / 0x100000000)\n  // high 64 bits not supported, offset may not be higher than 2**53-1\n\n  // last block flag set ?\n  if (last) {\n    v[28] = ~v[28]\n    v[29] = ~v[29]\n  }\n\n  // get little-endian words\n  for (i = 0; i < 32; i++) {\n    m[i] = B2B_GET32(ctx.b, 4 * i)\n  }\n\n  // twelve rounds of mixing\n  // uncomment the DebugPrint calls to log the computation\n  // and match the RFC sample documentation\n  // util.debugPrint('          m[16]', m, 64)\n  for (i = 0; i < 12; i++) {\n    // util.debugPrint('   (i=' + (i < 10 ? ' ' : '') + i + ') v[16]', v, 64)\n    B2B_G(0, 8, 16, 24, SIGMA82[i * 16 + 0], SIGMA82[i * 16 + 1])\n    B2B_G(2, 10, 18, 26, SIGMA82[i * 16 + 2], SIGMA82[i * 16 + 3])\n    B2B_G(4, 12, 20, 28, SIGMA82[i * 16 + 4], SIGMA82[i * 16 + 5])\n    B2B_G(6, 14, 22, 30, SIGMA82[i * 16 + 6], SIGMA82[i * 16 + 7])\n    B2B_G(0, 10, 20, 30, SIGMA82[i * 16 + 8], SIGMA82[i * 16 + 9])\n    B2B_G(2, 12, 22, 24, SIGMA82[i * 16 + 10], SIGMA82[i * 16 + 11])\n    B2B_G(4, 14, 16, 26, SIGMA82[i * 16 + 12], SIGMA82[i * 16 + 13])\n    B2B_G(6, 8, 18, 28, SIGMA82[i * 16 + 14], SIGMA82[i * 16 + 15])\n  }\n  // util.debugPrint('   (i=12) v[16]', v, 64)\n\n  for (i = 0; i < 16; i++) {\n    ctx.h[i] = ctx.h[i] ^ v[i] ^ v[i + 16]\n  }\n  // util.debugPrint('h[8]', ctx.h, 64)\n}\n\n// reusable parameterBlock\nconst parameterBlock = new Uint8Array([\n  0,\n  0,\n  0,\n  0, //  0: outlen, keylen, fanout, depth\n  0,\n  0,\n  0,\n  0, //  4: leaf length, sequential mode\n  0,\n  0,\n  0,\n  0, //  8: node offset\n  0,\n  0,\n  0,\n  0, // 12: node offset\n  0,\n  0,\n  0,\n  0, // 16: node depth, inner length, rfu\n  0,\n  0,\n  0,\n  0, // 20: rfu\n  0,\n  0,\n  0,\n  0, // 24: rfu\n  0,\n  0,\n  0,\n  0, // 28: rfu\n  0,\n  0,\n  0,\n  0, // 32: salt\n  0,\n  0,\n  0,\n  0, // 36: salt\n  0,\n  0,\n  0,\n  0, // 40: salt\n  0,\n  0,\n  0,\n  0, // 44: salt\n  0,\n  0,\n  0,\n  0, // 48: personal\n  0,\n  0,\n  0,\n  0, // 52: personal\n  0,\n  0,\n  0,\n  0, // 56: personal\n  0,\n  0,\n  0,\n  0 // 60: personal\n])\n\n// Creates a BLAKE2b hashing context\n// Requires an output length between 1 and 64 bytes\n// Takes an optional Uint8Array key\n// Takes an optinal Uint8Array salt\n// Takes an optinal Uint8Array personal\nfunction blake2bInit (outlen, key, salt, personal) {\n  if (outlen === 0 || outlen > 64) {\n    throw new Error('Illegal output length, expected 0 < length <= 64')\n  }\n  if (key && key.length > 64) {\n    throw new Error('Illegal key, expected Uint8Array with 0 < length <= 64')\n  }\n  if (salt && salt.length !== 16) {\n    throw new Error('Illegal salt, expected Uint8Array with length is 16')\n  }\n  if (personal && personal.length !== 16) {\n    throw new Error('Illegal personal, expected Uint8Array with length is 16')\n  }\n\n  // state, 'param block'\n  const ctx = {\n    b: new Uint8Array(128),\n    h: new Uint32Array(16),\n    t: 0, // input count\n    c: 0, // pointer within buffer\n    outlen: outlen // output length in bytes\n  }\n\n  // initialize parameterBlock before usage\n  parameterBlock.fill(0)\n  parameterBlock[0] = outlen\n  if (key) parameterBlock[1] = key.length\n  parameterBlock[2] = 1 // fanout\n  parameterBlock[3] = 1 // depth\n  if (salt) parameterBlock.set(salt, 32)\n  if (personal) parameterBlock.set(personal, 48)\n\n  // initialize hash state\n  for (let i = 0; i < 16; i++) {\n    ctx.h[i] = BLAKE2B_IV32[i] ^ B2B_GET32(parameterBlock, i * 4)\n  }\n\n  // key the hash, if applicable\n  if (key) {\n    blake2bUpdate(ctx, key)\n    // at the end\n    ctx.c = 128\n  }\n\n  return ctx\n}\n\n// Updates a BLAKE2b streaming hash\n// Requires hash context and Uint8Array (byte array)\nfunction blake2bUpdate (ctx, input) {\n  for (let i = 0; i < input.length; i++) {\n    if (ctx.c === 128) {\n      // buffer full ?\n      ctx.t += ctx.c // add counters\n      blake2bCompress(ctx, false) // compress (not last)\n      ctx.c = 0 // counter to zero\n    }\n    ctx.b[ctx.c++] = input[i]\n  }\n}\n\n// Completes a BLAKE2b streaming hash\n// Returns a Uint8Array containing the message digest\nfunction blake2bFinal (ctx) {\n  ctx.t += ctx.c // mark last block offset\n\n  while (ctx.c < 128) {\n    // fill up with zeros\n    ctx.b[ctx.c++] = 0\n  }\n  blake2bCompress(ctx, true) // final block flag = 1\n\n  // little endian convert and store\n  const out = new Uint8Array(ctx.outlen)\n  for (let i = 0; i < ctx.outlen; i++) {\n    out[i] = ctx.h[i >> 2] >> (8 * (i & 3))\n  }\n  return out\n}\n\n// Computes the BLAKE2B hash of a string or byte array, and returns a Uint8Array\n//\n// Returns a n-byte Uint8Array\n//\n// Parameters:\n// - input - the input bytes, as a string, Buffer or Uint8Array\n// - key - optional key Uint8Array, up to 64 bytes\n// - outlen - optional output length in bytes, default 64\n// - salt - optional salt bytes, string, Buffer or Uint8Array\n// - personal - optional personal bytes, string, Buffer or Uint8Array\nfunction blake2b (input, key, outlen, salt, personal) {\n  // preprocess inputs\n  outlen = outlen || 64\n  input = util.normalizeInput(input)\n  if (salt) {\n    salt = util.normalizeInput(salt)\n  }\n  if (personal) {\n    personal = util.normalizeInput(personal)\n  }\n\n  // do the math\n  const ctx = blake2bInit(outlen, key, salt, personal)\n  blake2bUpdate(ctx, input)\n  return blake2bFinal(ctx)\n}\n\n// Computes the BLAKE2B hash of a string or byte array\n//\n// Returns an n-byte hash in hex, all lowercase\n//\n// Parameters:\n// - input - the input bytes, as a string, Buffer, or Uint8Array\n// - key - optional key Uint8Array, up to 64 bytes\n// - outlen - optional output length in bytes, default 64\n// - salt - optional salt bytes, string, Buffer or Uint8Array\n// - personal - optional personal bytes, string, Buffer or Uint8Array\nfunction blake2bHex (input, key, outlen, salt, personal) {\n  const output = blake2b(input, key, outlen, salt, personal)\n  return util.toHex(output)\n}\n\nmodule.exports = {\n  blake2b: blake2b,\n  blake2bHex: blake2bHex,\n  blake2bInit: blake2bInit,\n  blake2bUpdate: blake2bUpdate,\n  blake2bFinal: blake2bFinal\n}\n","const ERROR_MSG_INPUT = 'Input must be an string, Buffer or Uint8Array'\n\n// For convenience, let people hash a string, not just a Uint8Array\nfunction normalizeInput (input) {\n  let ret\n  if (input instanceof Uint8Array) {\n    ret = input\n  } else if (typeof input === 'string') {\n    const encoder = new TextEncoder()\n    ret = encoder.encode(input)\n  } else {\n    throw new Error(ERROR_MSG_INPUT)\n  }\n  return ret\n}\n\n// Converts a Uint8Array to a hexadecimal string\n// For example, toHex([255, 0, 255]) returns \"ff00ff\"\nfunction toHex (bytes) {\n  return Array.prototype.map\n    .call(bytes, function (n) {\n      return (n < 16 ? '0' : '') + n.toString(16)\n    })\n    .join('')\n}\n\n// Converts any value in [0...2^32-1] to an 8-character hex string\nfunction uint32ToHex (val) {\n  return (0x100000000 + val).toString(16).substring(1)\n}\n\n// For debugging: prints out hash state in the same format as the RFC\n// sample computation exactly, so that you can diff\nfunction debugPrint (label, arr, size) {\n  let msg = '\\n' + label + ' = '\n  for (let i = 0; i < arr.length; i += 2) {\n    if (size === 32) {\n      msg += uint32ToHex(arr[i]).toUpperCase()\n      msg += ' '\n      msg += uint32ToHex(arr[i + 1]).toUpperCase()\n    } else if (size === 64) {\n      msg += uint32ToHex(arr[i + 1]).toUpperCase()\n      msg += uint32ToHex(arr[i]).toUpperCase()\n    } else throw new Error('Invalid size ' + size)\n    if (i % 6 === 4) {\n      msg += '\\n' + new Array(label.length + 4).join(' ')\n    } else if (i < arr.length - 2) {\n      msg += ' '\n    }\n  }\n  console.log(msg)\n}\n\n// For performance testing: generates N bytes of input, hashes M times\n// Measures and prints MB/second hash performance each time\nfunction testSpeed (hashFn, N, M) {\n  let startMs = new Date().getTime()\n\n  const input = new Uint8Array(N)\n  for (let i = 0; i < N; i++) {\n    input[i] = i % 256\n  }\n  const genMs = new Date().getTime()\n  console.log('Generated random input in ' + (genMs - startMs) + 'ms')\n  startMs = genMs\n\n  for (let i = 0; i < M; i++) {\n    const hashHex = hashFn(input)\n    const hashMs = new Date().getTime()\n    const ms = hashMs - startMs\n    startMs = hashMs\n    console.log('Hashed in ' + ms + 'ms: ' + hashHex.substring(0, 20) + '...')\n    console.log(\n      Math.round((N / (1 << 20) / (ms / 1000)) * 100) / 100 + ' MB PER SECOND'\n    )\n  }\n}\n\nmodule.exports = {\n  normalizeInput: normalizeInput,\n  toHex: toHex,\n  debugPrint: debugPrint,\n  testSpeed: testSpeed\n}\n","'use strict';\n\nvar bind = require('function-bind');\n\nvar $apply = require('./functionApply');\nvar $call = require('./functionCall');\nvar $reflectApply = require('./reflectApply');\n\n/** @type {import('./actualApply')} */\nmodule.exports = $reflectApply || bind.call($call, $apply);\n","'use strict';\n\nvar bind = require('function-bind');\nvar $apply = require('./functionApply');\nvar actualApply = require('./actualApply');\n\n/** @type {import('./applyBind')} */\nmodule.exports = function applyBind() {\n\treturn actualApply(bind, $apply, arguments);\n};\n","'use strict';\n\n/** @type {import('./functionApply')} */\nmodule.exports = Function.prototype.apply;\n","'use strict';\n\n/** @type {import('./functionCall')} */\nmodule.exports = Function.prototype.call;\n","'use strict';\n\nvar bind = require('function-bind');\nvar $TypeError = require('es-errors/type');\n\nvar $call = require('./functionCall');\nvar $actualApply = require('./actualApply');\n\n/** @type {(args: [Function, thisArg?: unknown, ...args: unknown[]]) => Function} TODO FIXME, find a way to use import('.') */\nmodule.exports = function callBindBasic(args) {\n\tif (args.length < 1 || typeof args[0] !== 'function') {\n\t\tthrow new $TypeError('a function is required');\n\t}\n\treturn $actualApply(bind, $call, args);\n};\n","'use strict';\n\n/** @type {import('./reflectApply')} */\nmodule.exports = typeof Reflect !== 'undefined' && Reflect && Reflect.apply;\n","'use strict';\n\nvar setFunctionLength = require('set-function-length');\n\nvar $defineProperty = require('es-define-property');\n\nvar callBindBasic = require('call-bind-apply-helpers');\nvar applyBind = require('call-bind-apply-helpers/applyBind');\n\nmodule.exports = function callBind(originalFunction) {\n\tvar func = callBindBasic(arguments);\n\tvar adjustedLength = originalFunction.length - (arguments.length - 1);\n\treturn setFunctionLength(\n\t\tfunc,\n\t\t1 + (adjustedLength > 0 ? adjustedLength : 0),\n\t\ttrue\n\t);\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 GetIntrinsic = require('get-intrinsic');\n\nvar callBindBasic = require('call-bind-apply-helpers');\n\n/** @type {(thisArg: string, searchString: string, position?: number) => number} */\nvar $indexOf = callBindBasic([GetIntrinsic('%String.prototype.indexOf%')]);\n\n/** @type {import('.')} */\nmodule.exports = function callBoundIntrinsic(name, allowMissing) {\n\t/* eslint no-extra-parens: 0 */\n\n\tvar intrinsic = /** @type {(this: unknown, ...args: unknown[]) => unknown} */ (GetIntrinsic(name, !!allowMissing));\n\tif (typeof intrinsic === 'function' && $indexOf(name, '.prototype.') > -1) {\n\t\treturn callBindBasic(/** @type {const} */ ([intrinsic]));\n\t}\n\treturn intrinsic;\n};\n","'use strict';\n\nvar $defineProperty = require('es-define-property');\n\nvar $SyntaxError = require('es-errors/syntax');\nvar $TypeError = require('es-errors/type');\n\nvar gopd = require('gopd');\n\n/** @type {import('.')} */\nmodule.exports = function defineDataProperty(\n\tobj,\n\tproperty,\n\tvalue\n) {\n\tif (!obj || (typeof obj !== 'object' && typeof obj !== 'function')) {\n\t\tthrow new $TypeError('`obj` must be an object or a function`');\n\t}\n\tif (typeof property !== 'string' && typeof property !== 'symbol') {\n\t\tthrow new $TypeError('`property` must be a string or a symbol`');\n\t}\n\tif (arguments.length > 3 && typeof arguments[3] !== 'boolean' && arguments[3] !== null) {\n\t\tthrow new $TypeError('`nonEnumerable`, if provided, must be a boolean or null');\n\t}\n\tif (arguments.length > 4 && typeof arguments[4] !== 'boolean' && arguments[4] !== null) {\n\t\tthrow new $TypeError('`nonWritable`, if provided, must be a boolean or null');\n\t}\n\tif (arguments.length > 5 && typeof arguments[5] !== 'boolean' && arguments[5] !== null) {\n\t\tthrow new $TypeError('`nonConfigurable`, if provided, must be a boolean or null');\n\t}\n\tif (arguments.length > 6 && typeof arguments[6] !== 'boolean') {\n\t\tthrow new $TypeError('`loose`, if provided, must be a boolean');\n\t}\n\n\tvar nonEnumerable = arguments.length > 3 ? arguments[3] : null;\n\tvar nonWritable = arguments.length > 4 ? arguments[4] : null;\n\tvar nonConfigurable = arguments.length > 5 ? arguments[5] : null;\n\tvar loose = arguments.length > 6 ? arguments[6] : false;\n\n\t/* @type {false | TypedPropertyDescriptor<unknown>} */\n\tvar desc = !!gopd && gopd(obj, property);\n\n\tif ($defineProperty) {\n\t\t$defineProperty(obj, property, {\n\t\t\tconfigurable: nonConfigurable === null && desc ? desc.configurable : !nonConfigurable,\n\t\t\tenumerable: nonEnumerable === null && desc ? desc.enumerable : !nonEnumerable,\n\t\t\tvalue: value,\n\t\t\twritable: nonWritable === null && desc ? desc.writable : !nonWritable\n\t\t});\n\t} else if (loose || (!nonEnumerable && !nonWritable && !nonConfigurable)) {\n\t\t// must fall back to [[Set]], and was not explicitly asked to make non-enumerable, non-writable, or non-configurable\n\t\tobj[property] = value; // eslint-disable-line no-param-reassign\n\t} else {\n\t\tthrow new $SyntaxError('This environment does not support defining a property as non-configurable, non-writable, or non-enumerable.');\n\t}\n};\n","'use strict';\n\nvar callBind = require('call-bind-apply-helpers');\nvar gOPD = require('gopd');\n\nvar hasProtoAccessor;\ntry {\n\t// eslint-disable-next-line no-extra-parens, no-proto\n\thasProtoAccessor = /** @type {{ __proto__?: typeof Array.prototype }} */ ([]).__proto__ === Array.prototype;\n} catch (e) {\n\tif (!e || typeof e !== 'object' || !('code' in e) || e.code !== 'ERR_PROTO_ACCESS') {\n\t\tthrow e;\n\t}\n}\n\n// eslint-disable-next-line no-extra-parens\nvar desc = !!hasProtoAccessor && gOPD && gOPD(Object.prototype, /** @type {keyof typeof Object.prototype} */ ('__proto__'));\n\nvar $Object = Object;\nvar $getPrototypeOf = $Object.getPrototypeOf;\n\n/** @type {import('./get')} */\nmodule.exports = desc && typeof desc.get === 'function'\n\t? callBind([desc.get])\n\t: typeof $getPrototypeOf === 'function'\n\t\t? /** @type {import('./get')} */ function getDunder(value) {\n\t\t\t// eslint-disable-next-line eqeqeq\n\t\t\treturn $getPrototypeOf(value == null ? value : $Object(value));\n\t\t}\n\t\t: false;\n","'use strict';\n\n/** @type {import('.')} */\nvar $defineProperty = Object.defineProperty || false;\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 = false;\n\t}\n}\n\nmodule.exports = $defineProperty;\n","'use strict';\n\n/** @type {import('./eval')} */\nmodule.exports = EvalError;\n","'use strict';\n\n/** @type {import('.')} */\nmodule.exports = Error;\n","'use strict';\n\n/** @type {import('./range')} */\nmodule.exports = RangeError;\n","'use strict';\n\n/** @type {import('./ref')} */\nmodule.exports = ReferenceError;\n","'use strict';\n\n/** @type {import('./syntax')} */\nmodule.exports = SyntaxError;\n","'use strict';\n\n/** @type {import('./type')} */\nmodule.exports = TypeError;\n","'use strict';\n\n/** @type {import('./uri')} */\nmodule.exports = URIError;\n","'use strict';\n\n/** @type {import('.')} */\nmodule.exports = Object;\n","'use strict';\n\nvar isCallable = require('is-callable');\n\nvar toStr = Object.prototype.toString;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\n\n/** @type {<This, A extends readonly unknown[]>(arr: A, iterator: (this: This | void, value: A[number], index: number, arr: A) => void, receiver: This | undefined) => void} */\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\n/** @type {<This, S extends string>(string: S, iterator: (this: This | void, value: S[number], index: number, string: S) => void, receiver: This | undefined) => void} */\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\n/** @type {<This, O>(obj: O, iterator: (this: This | void, value: O[keyof O], index: keyof O, obj: O) => void, receiver: This | undefined) => void} */\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\n/** @type {(x: unknown) => x is readonly unknown[]} */\nfunction isArray(x) {\n    return toStr.call(x) === '[object Array]';\n}\n\n/** @type {import('.')._internal} */\nmodule.exports = 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 (isArray(list)) {\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","'use strict';\n\n/* eslint no-invalid-this: 1 */\n\nvar ERROR_MESSAGE = 'Function.prototype.bind called on incompatible ';\nvar toStr = Object.prototype.toString;\nvar max = Math.max;\nvar funcType = '[object Function]';\n\nvar concatty = function concatty(a, b) {\n    var arr = [];\n\n    for (var i = 0; i < a.length; i += 1) {\n        arr[i] = a[i];\n    }\n    for (var j = 0; j < b.length; j += 1) {\n        arr[j + a.length] = b[j];\n    }\n\n    return arr;\n};\n\nvar slicy = function slicy(arrLike, offset) {\n    var arr = [];\n    for (var i = offset || 0, j = 0; i < arrLike.length; i += 1, j += 1) {\n        arr[j] = arrLike[i];\n    }\n    return arr;\n};\n\nvar joiny = function (arr, joiner) {\n    var str = '';\n    for (var i = 0; i < arr.length; i += 1) {\n        str += arr[i];\n        if (i + 1 < arr.length) {\n            str += joiner;\n        }\n    }\n    return str;\n};\n\nmodule.exports = function bind(that) {\n    var target = this;\n    if (typeof target !== 'function' || toStr.apply(target) !== funcType) {\n        throw new TypeError(ERROR_MESSAGE + target);\n    }\n    var args = slicy(arguments, 1);\n\n    var bound;\n    var binder = function () {\n        if (this instanceof bound) {\n            var result = target.apply(\n                this,\n                concatty(args, arguments)\n            );\n            if (Object(result) === result) {\n                return result;\n            }\n            return this;\n        }\n        return target.apply(\n            that,\n            concatty(args, arguments)\n        );\n\n    };\n\n    var boundLength = max(0, target.length - args.length);\n    var boundArgs = [];\n    for (var i = 0; i < boundLength; i++) {\n        boundArgs[i] = '$' + i;\n    }\n\n    bound = Function('binder', 'return function (' + joiny(boundArgs, ',') + '){ 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 implementation = require('./implementation');\n\nmodule.exports = Function.prototype.bind || implementation;\n","'use strict';\n\nvar undefined;\n\nvar $Object = require('es-object-atoms');\n\nvar $Error = require('es-errors');\nvar $EvalError = require('es-errors/eval');\nvar $RangeError = require('es-errors/range');\nvar $ReferenceError = require('es-errors/ref');\nvar $SyntaxError = require('es-errors/syntax');\nvar $TypeError = require('es-errors/type');\nvar $URIError = require('es-errors/uri');\n\nvar abs = require('math-intrinsics/abs');\nvar floor = require('math-intrinsics/floor');\nvar max = require('math-intrinsics/max');\nvar min = require('math-intrinsics/min');\nvar pow = require('math-intrinsics/pow');\nvar round = require('math-intrinsics/round');\nvar sign = require('math-intrinsics/sign');\n\nvar $Function = Function;\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 = require('gopd');\nvar $defineProperty = require('es-define-property');\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')();\n\nvar getProto = require('get-proto');\nvar $ObjectGPO = require('get-proto/Object.getPrototypeOf');\nvar $ReflectGPO = require('get-proto/Reflect.getPrototypeOf');\n\nvar $apply = require('call-bind-apply-helpers/functionApply');\nvar $call = require('call-bind-apply-helpers/functionCall');\n\nvar needsEval = {};\n\nvar TypedArray = typeof Uint8Array === 'undefined' || !getProto ? undefined : getProto(Uint8Array);\n\nvar INTRINSICS = {\n\t__proto__: null,\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'%Float16Array%': typeof Float16Array === 'undefined' ? undefined : Float16Array,\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'%Object.getOwnPropertyDescriptor%': $gOPD,\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\t'%Function.prototype.call%': $call,\n\t'%Function.prototype.apply%': $apply,\n\t'%Object.defineProperty%': $defineProperty,\n\t'%Object.getPrototypeOf%': $ObjectGPO,\n\t'%Math.abs%': abs,\n\t'%Math.floor%': floor,\n\t'%Math.max%': max,\n\t'%Math.min%': min,\n\t'%Math.pow%': pow,\n\t'%Math.round%': round,\n\t'%Math.sign%': sign,\n\t'%Reflect.getPrototypeOf%': $ReflectGPO\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__proto__: null,\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('hasown');\nvar $concat = bind.call($call, Array.prototype.concat);\nvar $spliceApply = bind.call($apply, Array.prototype.splice);\nvar $replace = bind.call($call, String.prototype.replace);\nvar $strSlice = bind.call($call, String.prototype.slice);\nvar $exec = bind.call($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 $Object = require('es-object-atoms');\n\n/** @type {import('./Object.getPrototypeOf')} */\nmodule.exports = $Object.getPrototypeOf || null;\n","'use strict';\n\n/** @type {import('./Reflect.getPrototypeOf')} */\nmodule.exports = (typeof Reflect !== 'undefined' && Reflect.getPrototypeOf) || null;\n","'use strict';\n\nvar reflectGetProto = require('./Reflect.getPrototypeOf');\nvar originalGetProto = require('./Object.getPrototypeOf');\n\nvar getDunderProto = require('dunder-proto/get');\n\n/** @type {import('.')} */\nmodule.exports = reflectGetProto\n\t? function getProto(O) {\n\t\t// @ts-expect-error TS can't narrow inside a closure, for some reason\n\t\treturn reflectGetProto(O);\n\t}\n\t: originalGetProto\n\t\t? function getProto(O) {\n\t\t\tif (!O || (typeof O !== 'object' && typeof O !== 'function')) {\n\t\t\t\tthrow new TypeError('getProto: not an object');\n\t\t\t}\n\t\t\t// @ts-expect-error TS can't narrow inside a closure, for some reason\n\t\t\treturn originalGetProto(O);\n\t\t}\n\t\t: getDunderProto\n\t\t\t? function getProto(O) {\n\t\t\t\t// @ts-expect-error TS can't narrow inside a closure, for some reason\n\t\t\t\treturn getDunderProto(O);\n\t\t\t}\n\t\t\t: null;\n","'use strict';\n\n/** @type {import('./gOPD')} */\nmodule.exports = Object.getOwnPropertyDescriptor;\n","'use strict';\n\n/** @type {import('.')} */\nvar $gOPD = require('./gOPD');\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 $defineProperty = require('es-define-property');\n\nvar hasPropertyDescriptors = function hasPropertyDescriptors() {\n\treturn !!$defineProperty;\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 (!$defineProperty) {\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 origSymbol = typeof Symbol !== 'undefined' && Symbol;\nvar hasSymbolSham = require('./shams');\n\n/** @type {import('.')} */\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\n/** @type {import('./shams')} */\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\t/** @type {{ [k in symbol]?: unknown }} */\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 (var _ 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\t// eslint-disable-next-line no-extra-parens\n\t\tvar descriptor = /** @type {PropertyDescriptor} */ (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 hasSymbols = require('has-symbols/shams');\n\n/** @type {import('.')} */\nmodule.exports = function hasToStringTagShams() {\n\treturn hasSymbols() && !!Symbol.toStringTag;\n};\n","'use strict';\n\nvar call = Function.prototype.call;\nvar $hasOwn = Object.prototype.hasOwnProperty;\nvar bind = require('function-bind');\n\n/** @type {import('.')} */\nmodule.exports = bind.call(call, $hasOwn);\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 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 whichTypedArray = require('which-typed-array');\n\n/** @type {import('.')} */\nmodule.exports = function isTypedArray(value) {\n\treturn !!whichTypedArray(value);\n};\n","var toString = {}.toString;\n\nmodule.exports = Array.isArray || function (arr) {\n  return toString.call(arr) == '[object Array]';\n};\n","'use strict';\n\n/** @type {import('./abs')} */\nmodule.exports = Math.abs;\n","'use strict';\n\n/** @type {import('./floor')} */\nmodule.exports = Math.floor;\n","'use strict';\n\n/** @type {import('./isNaN')} */\nmodule.exports = Number.isNaN || function isNaN(a) {\n\treturn a !== a;\n};\n","'use strict';\n\n/** @type {import('./max')} */\nmodule.exports = Math.max;\n","'use strict';\n\n/** @type {import('./min')} */\nmodule.exports = Math.min;\n","'use strict';\n\n/** @type {import('./pow')} */\nmodule.exports = Math.pow;\n","'use strict';\n\n/** @type {import('./round')} */\nmodule.exports = Math.round;\n","'use strict';\n\nvar $isNaN = require('./isNaN');\n\n/** @type {import('./sign')} */\nmodule.exports = function sign(number) {\n\tif ($isNaN(number) || number === 0) {\n\t\treturn number;\n\t}\n\treturn number < 0 ? -1 : +1;\n};\n","'use strict';\n\n/** @type {import('.')} */\nmodule.exports = [\n\t'Float16Array',\n\t'Float32Array',\n\t'Float64Array',\n\t'Int8Array',\n\t'Int16Array',\n\t'Int32Array',\n\t'Uint8Array',\n\t'Uint8ClampedArray',\n\t'Uint16Array',\n\t'Uint32Array',\n\t'BigInt64Array',\n\t'BigUint64Array'\n];\n","/*! safe-buffer. MIT License. Feross Aboukhadijeh <https://feross.org/opensource> */\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\nvar GetIntrinsic = require('get-intrinsic');\nvar define = require('define-data-property');\nvar hasDescriptors = require('has-property-descriptors')();\nvar gOPD = require('gopd');\n\nvar $TypeError = require('es-errors/type');\nvar $floor = GetIntrinsic('%Math.floor%');\n\n/** @type {import('.')} */\nmodule.exports = function setFunctionLength(fn, length) {\n\tif (typeof fn !== 'function') {\n\t\tthrow new $TypeError('`fn` is not a function');\n\t}\n\tif (typeof length !== 'number' || length < 0 || length > 0xFFFFFFFF || $floor(length) !== length) {\n\t\tthrow new $TypeError('`length` must be a positive 32-bit integer');\n\t}\n\n\tvar loose = arguments.length > 2 && !!arguments[2];\n\n\tvar functionLengthIsConfigurable = true;\n\tvar functionLengthIsWritable = true;\n\tif ('length' in fn && gOPD) {\n\t\tvar desc = gOPD(fn, 'length');\n\t\tif (desc && !desc.configurable) {\n\t\t\tfunctionLengthIsConfigurable = false;\n\t\t}\n\t\tif (desc && !desc.writable) {\n\t\t\tfunctionLengthIsWritable = false;\n\t\t}\n\t}\n\n\tif (functionLengthIsConfigurable || functionLengthIsWritable || !loose) {\n\t\tif (hasDescriptors) {\n\t\t\tdefine(/** @type {Parameters<define>[0]} */ (fn), 'length', length, true, true);\n\t\t} else {\n\t\t\tdefine(/** @type {Parameters<define>[0]} */ (fn), 'length', length);\n\t\t}\n\t}\n\treturn fn;\n};\n","'use strict';\n\nvar Buffer = require('safe-buffer').Buffer;\nvar toBuffer = require('to-buffer');\n\n// prototype class for hash functions\nfunction Hash(blockSize, finalSize) {\n\tthis._block = Buffer.alloc(blockSize);\n\tthis._finalSize = finalSize;\n\tthis._blockSize = blockSize;\n\tthis._len = 0;\n}\n\nHash.prototype.update = function (data, enc) {\n\t/* eslint no-param-reassign: 0 */\n\tdata = toBuffer(data, enc || 'utf8');\n\n\tvar block = this._block;\n\tvar blockSize = this._blockSize;\n\tvar length = data.length;\n\tvar accum = this._len;\n\n\tfor (var offset = 0; offset < length;) {\n\t\tvar assigned = accum % blockSize;\n\t\tvar remainder = Math.min(length - offset, blockSize - assigned);\n\n\t\tfor (var i = 0; i < remainder; i++) {\n\t\t\tblock[assigned + i] = data[offset + i];\n\t\t}\n\n\t\taccum += remainder;\n\t\toffset += remainder;\n\n\t\tif ((accum % blockSize) === 0) {\n\t\t\tthis._update(block);\n\t\t}\n\t}\n\n\tthis._len += length;\n\treturn this;\n};\n\nHash.prototype.digest = function (enc) {\n\tvar rem = this._len % this._blockSize;\n\n\tthis._block[rem] = 0x80;\n\n\t/*\n\t * zero (rem + 1) trailing bits, where (rem + 1) is the smallest\n\t * non-negative solution to the equation (length + 1 + (rem + 1)) === finalSize mod blockSize\n\t */\n\tthis._block.fill(0, rem + 1);\n\n\tif (rem >= this._finalSize) {\n\t\tthis._update(this._block);\n\t\tthis._block.fill(0);\n\t}\n\n\tvar bits = this._len * 8;\n\n\t// uint32\n\tif (bits <= 0xffffffff) {\n\t\tthis._block.writeUInt32BE(bits, this._blockSize - 4);\n\n\t\t// uint64\n\t} else {\n\t\tvar lowBits = (bits & 0xffffffff) >>> 0;\n\t\tvar highBits = (bits - lowBits) / 0x100000000;\n\n\t\tthis._block.writeUInt32BE(highBits, this._blockSize - 8);\n\t\tthis._block.writeUInt32BE(lowBits, this._blockSize - 4);\n\t}\n\n\tthis._update(this._block);\n\tvar hash = this._hash();\n\n\treturn enc ? hash.toString(enc) : hash;\n};\n\nHash.prototype._update = function () {\n\tthrow new Error('_update must be implemented by subclass');\n};\n\nmodule.exports = Hash;\n","'use strict';\n\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\t0x428A2F98,\n\t0x71374491,\n\t0xB5C0FBCF,\n\t0xE9B5DBA5,\n\t0x3956C25B,\n\t0x59F111F1,\n\t0x923F82A4,\n\t0xAB1C5ED5,\n\t0xD807AA98,\n\t0x12835B01,\n\t0x243185BE,\n\t0x550C7DC3,\n\t0x72BE5D74,\n\t0x80DEB1FE,\n\t0x9BDC06A7,\n\t0xC19BF174,\n\t0xE49B69C1,\n\t0xEFBE4786,\n\t0x0FC19DC6,\n\t0x240CA1CC,\n\t0x2DE92C6F,\n\t0x4A7484AA,\n\t0x5CB0A9DC,\n\t0x76F988DA,\n\t0x983E5152,\n\t0xA831C66D,\n\t0xB00327C8,\n\t0xBF597FC7,\n\t0xC6E00BF3,\n\t0xD5A79147,\n\t0x06CA6351,\n\t0x14292967,\n\t0x27B70A85,\n\t0x2E1B2138,\n\t0x4D2C6DFC,\n\t0x53380D13,\n\t0x650A7354,\n\t0x766A0ABB,\n\t0x81C2C92E,\n\t0x92722C85,\n\t0xA2BFE8A1,\n\t0xA81A664B,\n\t0xC24B8B70,\n\t0xC76C51A3,\n\t0xD192E819,\n\t0xD6990624,\n\t0xF40E3585,\n\t0x106AA070,\n\t0x19A4C116,\n\t0x1E376C08,\n\t0x2748774C,\n\t0x34B0BCB5,\n\t0x391C0CB3,\n\t0x4ED8AA4A,\n\t0x5B9CCA4F,\n\t0x682E6FF3,\n\t0x748F82EE,\n\t0x78A5636F,\n\t0x84C87814,\n\t0x8CC70208,\n\t0x90BEFFFA,\n\t0xA4506CEB,\n\t0xBEF9A3F7,\n\t0xC67178F2\n];\n\nvar W = new Array(64);\n\nfunction Sha256() {\n\tthis.init();\n\n\tthis._w = W; // new Array(64)\n\n\tHash.call(this, 64, 56);\n}\n\ninherits(Sha256, Hash);\n\nSha256.prototype.init = function () {\n\tthis._a = 0x6a09e667;\n\tthis._b = 0xbb67ae85;\n\tthis._c = 0x3c6ef372;\n\tthis._d = 0xa54ff53a;\n\tthis._e = 0x510e527f;\n\tthis._f = 0x9b05688c;\n\tthis._g = 0x1f83d9ab;\n\tthis._h = 0x5be0cd19;\n\n\treturn this;\n};\n\nfunction ch(x, y, z) {\n\treturn z ^ (x & (y ^ z));\n}\n\nfunction maj(x, y, z) {\n\treturn (x & y) | (z & (x | y));\n}\n\nfunction sigma0(x) {\n\treturn ((x >>> 2) | (x << 30)) ^ ((x >>> 13) | (x << 19)) ^ ((x >>> 22) | (x << 10));\n}\n\nfunction sigma1(x) {\n\treturn ((x >>> 6) | (x << 26)) ^ ((x >>> 11) | (x << 21)) ^ ((x >>> 25) | (x << 7));\n}\n\nfunction gamma0(x) {\n\treturn ((x >>> 7) | (x << 25)) ^ ((x >>> 18) | (x << 14)) ^ (x >>> 3);\n}\n\nfunction gamma1(x) {\n\treturn ((x >>> 17) | (x << 15)) ^ ((x >>> 19) | (x << 13)) ^ (x >>> 10);\n}\n\nSha256.prototype._update = function (M) {\n\tvar w = this._w;\n\n\tvar a = this._a | 0;\n\tvar b = this._b | 0;\n\tvar c = this._c | 0;\n\tvar d = this._d | 0;\n\tvar e = this._e | 0;\n\tvar f = this._f | 0;\n\tvar g = this._g | 0;\n\tvar h = this._h | 0;\n\n\tfor (var i = 0; i < 16; ++i) {\n\t\tw[i] = M.readInt32BE(i * 4);\n\t}\n\tfor (; i < 64; ++i) {\n\t\tw[i] = (gamma1(w[i - 2]) + w[i - 7] + gamma0(w[i - 15]) + w[i - 16]) | 0;\n\t}\n\n\tfor (var j = 0; j < 64; ++j) {\n\t\tvar T1 = (h + sigma1(e) + ch(e, f, g) + K[j] + w[j]) | 0;\n\t\tvar T2 = (sigma0(a) + maj(a, b, c)) | 0;\n\n\t\th = g;\n\t\tg = f;\n\t\tf = e;\n\t\te = (d + T1) | 0;\n\t\td = c;\n\t\tc = b;\n\t\tb = a;\n\t\ta = (T1 + T2) | 0;\n\t}\n\n\tthis._a = (a + this._a) | 0;\n\tthis._b = (b + this._b) | 0;\n\tthis._c = (c + this._c) | 0;\n\tthis._d = (d + this._d) | 0;\n\tthis._e = (e + this._e) | 0;\n\tthis._f = (f + this._f) | 0;\n\tthis._g = (g + this._g) | 0;\n\tthis._h = (h + this._h) | 0;\n};\n\nSha256.prototype._hash = function () {\n\tvar H = Buffer.allocUnsafe(32);\n\n\tH.writeInt32BE(this._a, 0);\n\tH.writeInt32BE(this._b, 4);\n\tH.writeInt32BE(this._c, 8);\n\tH.writeInt32BE(this._d, 12);\n\tH.writeInt32BE(this._e, 16);\n\tH.writeInt32BE(this._f, 20);\n\tH.writeInt32BE(this._g, 24);\n\tH.writeInt32BE(this._h, 28);\n\n\treturn H;\n};\n\nmodule.exports = Sha256;\n","'use strict';\n\nvar Buffer = require('safe-buffer').Buffer;\nvar isArray = require('isarray');\nvar typedArrayBuffer = require('typed-array-buffer');\n\nvar isView = ArrayBuffer.isView || function isView(obj) {\n\ttry {\n\t\ttypedArrayBuffer(obj);\n\t\treturn true;\n\t} catch (e) {\n\t\treturn false;\n\t}\n};\n\nvar useUint8Array = typeof Uint8Array !== 'undefined';\nvar useArrayBuffer = typeof ArrayBuffer !== 'undefined'\n\t&& typeof Uint8Array !== 'undefined';\nvar useFromArrayBuffer = useArrayBuffer && (Buffer.prototype instanceof Uint8Array || Buffer.TYPED_ARRAY_SUPPORT);\n\nmodule.exports = function toBuffer(data, encoding) {\n\tif (Buffer.isBuffer(data)) {\n\t\tif (data.constructor && !('isBuffer' in data)) {\n\t\t\t// probably a SlowBuffer\n\t\t\treturn Buffer.from(data);\n\t\t}\n\t\treturn data;\n\t}\n\n\tif (typeof data === 'string') {\n\t\treturn Buffer.from(data, encoding);\n\t}\n\n\t/*\n\t * Wrap any TypedArray instances and DataViews\n\t * Makes sense only on engines with full TypedArray support -- let Buffer detect that\n\t */\n\tif (useArrayBuffer && isView(data)) {\n\t\t// Bug in Node.js <6.3.1, which treats this as out-of-bounds\n\t\tif (data.byteLength === 0) {\n\t\t\treturn Buffer.alloc(0);\n\t\t}\n\n\t\t// When Buffer is based on Uint8Array, we can just construct it from ArrayBuffer\n\t\tif (useFromArrayBuffer) {\n\t\t\tvar res = Buffer.from(data.buffer, data.byteOffset, data.byteLength);\n\t\t\t/*\n\t\t\t * Recheck result size, as offset/length doesn't work on Node.js <5.10\n\t\t\t * We just go to Uint8Array case if this fails\n\t\t\t */\n\t\t\tif (res.byteLength === data.byteLength) {\n\t\t\t\treturn res;\n\t\t\t}\n\t\t}\n\n\t\t// Convert to Uint8Array bytes and then to Buffer\n\t\tvar uint8 = data instanceof Uint8Array ? data : new Uint8Array(data.buffer, data.byteOffset, data.byteLength);\n\t\tvar result = Buffer.from(uint8);\n\n\t\t/*\n\t\t * Let's recheck that conversion succeeded\n\t\t * We have .length but not .byteLength when useFromArrayBuffer is false\n\t\t */\n\t\tif (result.length === data.byteLength) {\n\t\t\treturn result;\n\t\t}\n\t}\n\n\t/*\n\t * Uint8Array in engines where Buffer.from might not work with ArrayBuffer, just copy over\n\t * Doesn't make sense with other TypedArray instances\n\t */\n\tif (useUint8Array && data instanceof Uint8Array) {\n\t\treturn Buffer.from(data);\n\t}\n\n\tvar isArr = isArray(data);\n\tif (isArr) {\n\t\tfor (var i = 0; i < data.length; i += 1) {\n\t\t\tvar x = data[i];\n\t\t\tif (\n\t\t\t\ttypeof x !== 'number'\n\t\t\t\t|| x < 0\n\t\t\t\t|| x > 255\n\t\t\t\t|| ~~x !== x // NaN and integer check\n\t\t\t) {\n\t\t\t\tthrow new RangeError('Array items must be numbers in the range 0-255.');\n\t\t\t}\n\t\t}\n\t}\n\n\t/*\n\t * Old Buffer polyfill on an engine that doesn't have TypedArray support\n\t * Also, this is from a different Buffer polyfill implementation then we have, as instanceof check failed\n\t * Convert to our current Buffer implementation\n\t */\n\tif (\n\t\tisArr || (\n\t\t\tBuffer.isBuffer(data)\n\t\t\t&& data.constructor\n\t\t\t&& typeof data.constructor.isBuffer === 'function'\n\t\t\t&& data.constructor.isBuffer(data)\n\t\t)\n\t) {\n\t\treturn Buffer.from(data);\n\t}\n\n\tthrow new TypeError('The \"data\" argument must be a string, an Array, a Buffer, a Uint8Array, or a DataView.');\n};\n","'use strict';\n\nvar $TypeError = require('es-errors/type');\n\nvar callBound = require('call-bound');\n\n/** @type {undefined | ((thisArg: import('.').TypedArray) => Buffer<ArrayBufferLike>)} */\nvar $typedArrayBuffer = callBound('TypedArray.prototype.buffer', true);\n\nvar isTypedArray = require('is-typed-array');\n\n/** @type {import('.')} */\n// node <= 0.10, < 0.11.4 has a nonconfigurable own property instead of a prototype getter\nmodule.exports = $typedArrayBuffer || function typedArrayBuffer(x) {\n\tif (!isTypedArray(x)) {\n\t\tthrow new $TypeError('Not a Typed Array');\n\t}\n\treturn x.buffer;\n};\n","'use strict';\n\nvar forEach = require('for-each');\nvar availableTypedArrays = require('available-typed-arrays');\nvar callBind = require('call-bind');\nvar callBound = require('call-bound');\nvar gOPD = require('gopd');\nvar getProto = require('get-proto');\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');\n\n/** @type {<T = unknown>(array: readonly T[], value: unknown) => number} */\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};\n\n/** @typedef {import('./types').Getter} Getter */\n/** @type {import('./types').Cache} */\nvar cache = { __proto__: null };\nif (hasToStringTag && gOPD && getProto) {\n\tforEach(typedArrays, function (typedArray) {\n\t\tvar arr = new g[typedArray]();\n\t\tif (Symbol.toStringTag in arr && getProto) {\n\t\t\tvar proto = getProto(arr);\n\t\t\t// @ts-expect-error TS won't narrow inside a closure\n\t\t\tvar descriptor = gOPD(proto, Symbol.toStringTag);\n\t\t\tif (!descriptor && proto) {\n\t\t\t\tvar superProto = getProto(proto);\n\t\t\t\t// @ts-expect-error TS won't narrow inside a closure\n\t\t\t\tdescriptor = gOPD(superProto, Symbol.toStringTag);\n\t\t\t}\n\t\t\t// @ts-expect-error TODO: fix\n\t\t\tcache['$' + typedArray] = callBind(descriptor.get);\n\t\t}\n\t});\n} else {\n\tforEach(typedArrays, function (typedArray) {\n\t\tvar arr = new g[typedArray]();\n\t\tvar fn = arr.slice || arr.set;\n\t\tif (fn) {\n\t\t\tcache[\n\t\t\t\t/** @type {`$${import('.').TypedArrayName}`} */ ('$' + typedArray)\n\t\t\t] = /** @type {import('./types').BoundSlice | import('./types').BoundSet} */ (\n\t\t\t\t// @ts-expect-error TODO FIXME\n\t\t\t\tcallBind(fn)\n\t\t\t);\n\t\t}\n\t});\n}\n\n/** @type {(value: object) => false | import('.').TypedArrayName} */\nvar tryTypedArrays = function tryAllTypedArrays(value) {\n\t/** @type {ReturnType<typeof tryAllTypedArrays>} */ var found = false;\n\tforEach(\n\t\t/** @type {Record<`\\$${import('.').TypedArrayName}`, Getter>} */ (cache),\n\t\t/** @type {(getter: Getter, name: `\\$${import('.').TypedArrayName}`) => void} */\n\t\tfunction (getter, typedArray) {\n\t\t\tif (!found) {\n\t\t\t\ttry {\n\t\t\t\t\t// @ts-expect-error a throw is fine here\n\t\t\t\t\tif ('$' + getter(value) === typedArray) {\n\t\t\t\t\t\tfound = /** @type {import('.').TypedArrayName} */ ($slice(typedArray, 1));\n\t\t\t\t\t}\n\t\t\t\t} catch (e) { /**/ }\n\t\t\t}\n\t\t}\n\t);\n\treturn found;\n};\n\n/** @type {(value: object) => false | import('.').TypedArrayName} */\nvar trySlices = function tryAllSlices(value) {\n\t/** @type {ReturnType<typeof tryAllSlices>} */ var found = false;\n\tforEach(\n\t\t/** @type {Record<`\\$${import('.').TypedArrayName}`, Getter>} */(cache),\n\t\t/** @type {(getter: Getter, name: `\\$${import('.').TypedArrayName}`) => void} */ function (getter, name) {\n\t\t\tif (!found) {\n\t\t\t\ttry {\n\t\t\t\t\t// @ts-expect-error a throw is fine here\n\t\t\t\t\tgetter(value);\n\t\t\t\t\tfound = /** @type {import('.').TypedArrayName} */ ($slice(name, 1));\n\t\t\t\t} catch (e) { /**/ }\n\t\t\t}\n\t\t}\n\t);\n\treturn found;\n};\n\n/** @type {import('.')} */\nmodule.exports = function whichTypedArray(value) {\n\tif (!value || typeof value !== 'object') { return false; }\n\tif (!hasToStringTag) {\n\t\t/** @type {string} */\n\t\tvar tag = $slice($toString(value), 8, -1);\n\t\tif ($indexOf(typedArrays, tag) > -1) {\n\t\t\treturn tag;\n\t\t}\n\t\tif (tag !== 'Object') {\n\t\t\treturn false;\n\t\t}\n\t\t// node < 0.6 hits here on real Typed Arrays\n\t\treturn trySlices(value);\n\t}\n\tif (!gOPD) { return null; } // unknown engine\n\treturn tryTypedArrays(value);\n};\n","module.exports = __WEBPACK_EXTERNAL_MODULE__2853__;","module.exports = __WEBPACK_EXTERNAL_MODULE__1081__;","module.exports = __WEBPACK_EXTERNAL_MODULE__833__;","module.exports = __WEBPACK_EXTERNAL_MODULE__8380__;","module.exports = __WEBPACK_EXTERNAL_MODULE__6168__;","module.exports = __WEBPACK_EXTERNAL_MODULE__4578__;","module.exports = __WEBPACK_EXTERNAL_MODULE__18__;","module.exports = __WEBPACK_EXTERNAL_MODULE__6016__;","module.exports = __WEBPACK_EXTERNAL_MODULE__1891__;","module.exports = __WEBPACK_EXTERNAL_MODULE__761__;","module.exports = __WEBPACK_EXTERNAL_MODULE__7250__;","module.exports = __WEBPACK_EXTERNAL_MODULE__4146__;","module.exports = __WEBPACK_EXTERNAL_MODULE__6514__;","module.exports = __WEBPACK_EXTERNAL_MODULE__1655__;","module.exports = __WEBPACK_EXTERNAL_MODULE__5196__;","module.exports = __WEBPACK_EXTERNAL_MODULE__8963__;","'use strict';\n\nvar possibleNames = require('possible-typed-array-names');\n\nvar g = typeof globalThis === 'undefined' ? global : globalThis;\n\n/** @type {import('.')} */\nmodule.exports = function availableTypedArrays() {\n\tvar /** @type {ReturnType<typeof availableTypedArrays>} */ out = [];\n\tfor (var i = 0; i < possibleNames.length; i++) {\n\t\tif (typeof g[possibleNames[i]] === 'function') {\n\t\t\t// @ts-expect-error\n\t\t\tout[out.length] = possibleNames[i];\n\t\t}\n\t}\n\treturn out;\n};\n","'use strict';\nvar parent = require('../../stable/object/define-property');\n\nmodule.exports = parent;\n","'use strict';\nvar parent = require('../../stable/symbol');\n\nrequire('../../modules/esnext.function.metadata');\nrequire('../../modules/esnext.symbol.async-dispose');\nrequire('../../modules/esnext.symbol.dispose');\nrequire('../../modules/esnext.symbol.metadata');\n\nmodule.exports = parent;\n","'use strict';\nvar parent = require('../../stable/symbol/iterator');\n\nmodule.exports = parent;\n","'use strict';\nvar parent = require('../../stable/symbol/to-primitive');\n\nmodule.exports = parent;\n","'use strict';\nrequire('../../modules/es.object.define-property');\nvar path = require('../../internals/path');\n\nvar Object = path.Object;\n\nvar defineProperty = module.exports = function defineProperty(it, key, desc) {\n  return Object.defineProperty(it, key, desc);\n};\n\nif (Object.defineProperty.sham) defineProperty.sham = true;\n","'use strict';\nrequire('../../modules/es.array.concat');\nrequire('../../modules/es.object.to-string');\nrequire('../../modules/es.symbol');\nrequire('../../modules/es.symbol.async-iterator');\nrequire('../../modules/es.symbol.description');\nrequire('../../modules/es.symbol.has-instance');\nrequire('../../modules/es.symbol.is-concat-spreadable');\nrequire('../../modules/es.symbol.iterator');\nrequire('../../modules/es.symbol.match');\nrequire('../../modules/es.symbol.match-all');\nrequire('../../modules/es.symbol.replace');\nrequire('../../modules/es.symbol.search');\nrequire('../../modules/es.symbol.species');\nrequire('../../modules/es.symbol.split');\nrequire('../../modules/es.symbol.to-primitive');\nrequire('../../modules/es.symbol.to-string-tag');\nrequire('../../modules/es.symbol.unscopables');\nrequire('../../modules/es.json.to-string-tag');\nrequire('../../modules/es.math.to-string-tag');\nrequire('../../modules/es.reflect.to-string-tag');\nvar path = require('../../internals/path');\n\nmodule.exports = path.Symbol;\n","'use strict';\nrequire('../../modules/es.array.iterator');\nrequire('../../modules/es.object.to-string');\nrequire('../../modules/es.string.iterator');\nrequire('../../modules/es.symbol.iterator');\nvar WrappedWellKnownSymbolModule = require('../../internals/well-known-symbol-wrapped');\n\nmodule.exports = WrappedWellKnownSymbolModule.f('iterator');\n","'use strict';\nrequire('../../modules/es.date.to-primitive');\nrequire('../../modules/es.symbol.to-primitive');\nvar WrappedWellKnownSymbolModule = require('../../internals/well-known-symbol-wrapped');\n\nmodule.exports = WrappedWellKnownSymbolModule.f('toPrimitive');\n","'use strict';\nvar parent = require('../../actual/object/define-property');\n\nmodule.exports = parent;\n","'use strict';\nvar parent = require('../../actual/symbol');\nrequire('../../modules/esnext.symbol.is-registered-symbol');\nrequire('../../modules/esnext.symbol.is-well-known-symbol');\nrequire('../../modules/esnext.symbol.custom-matcher');\nrequire('../../modules/esnext.symbol.observable');\n// TODO: Remove from `core-js@4`\nrequire('../../modules/esnext.symbol.is-registered');\nrequire('../../modules/esnext.symbol.is-well-known');\nrequire('../../modules/esnext.symbol.matcher');\nrequire('../../modules/esnext.symbol.metadata-key');\nrequire('../../modules/esnext.symbol.pattern-match');\nrequire('../../modules/esnext.symbol.replace-all');\n\nmodule.exports = parent;\n","'use strict';\nvar parent = require('../../actual/symbol/iterator');\n\nmodule.exports = parent;\n","'use strict';\nvar parent = require('../../actual/symbol/to-primitive');\n\nmodule.exports = parent;\n","'use strict';\nvar isCallable = require('../internals/is-callable');\nvar tryToString = require('../internals/try-to-string');\n\nvar $TypeError = TypeError;\n\n// `Assert: IsCallable(argument) is true`\nmodule.exports = function (argument) {\n  if (isCallable(argument)) return argument;\n  throw new $TypeError(tryToString(argument) + ' is not a function');\n};\n","'use strict';\nvar isPossiblePrototype = require('../internals/is-possible-prototype');\n\nvar $String = String;\nvar $TypeError = TypeError;\n\nmodule.exports = function (argument) {\n  if (isPossiblePrototype(argument)) return argument;\n  throw new $TypeError(\"Can't set \" + $String(argument) + ' as a prototype');\n};\n","'use strict';\nmodule.exports = function () { /* empty */ };\n","'use strict';\nvar isObject = require('../internals/is-object');\n\nvar $String = String;\nvar $TypeError = TypeError;\n\n// `Assert: Type(argument) is Object`\nmodule.exports = function (argument) {\n  if (isObject(argument)) return argument;\n  throw new $TypeError($String(argument) + ' is not an object');\n};\n","'use strict';\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\n\n// `Array.prototype.{ indexOf, includes }` methods implementation\nvar createMethod = function (IS_INCLUDES) {\n  return function ($this, el, fromIndex) {\n    var O = toIndexedObject($this);\n    var length = lengthOfArrayLike(O);\n    if (length === 0) return !IS_INCLUDES && -1;\n    var index = toAbsoluteIndex(fromIndex, length);\n    var value;\n    // Array#includes uses SameValueZero equality algorithm\n    // eslint-disable-next-line no-self-compare -- NaN check\n    if (IS_INCLUDES && el !== el) while (length > index) {\n      value = O[index++];\n      // eslint-disable-next-line no-self-compare -- NaN check\n      if (value !== value) return true;\n    // Array#indexOf ignores holes, Array#includes - not\n    } else for (;length > index; index++) {\n      if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;\n    } return !IS_INCLUDES && -1;\n  };\n};\n\nmodule.exports = {\n  // `Array.prototype.includes` method\n  // https://tc39.es/ecma262/#sec-array.prototype.includes\n  includes: createMethod(true),\n  // `Array.prototype.indexOf` method\n  // https://tc39.es/ecma262/#sec-array.prototype.indexof\n  indexOf: createMethod(false)\n};\n","'use strict';\nvar bind = require('../internals/function-bind-context');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar IndexedObject = require('../internals/indexed-object');\nvar toObject = require('../internals/to-object');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar arraySpeciesCreate = require('../internals/array-species-create');\n\nvar push = uncurryThis([].push);\n\n// `Array.prototype.{ forEach, map, filter, some, every, find, findIndex, filterReject }` methods implementation\nvar createMethod = function (TYPE) {\n  var IS_MAP = TYPE === 1;\n  var IS_FILTER = TYPE === 2;\n  var IS_SOME = TYPE === 3;\n  var IS_EVERY = TYPE === 4;\n  var IS_FIND_INDEX = TYPE === 6;\n  var IS_FILTER_REJECT = TYPE === 7;\n  var NO_HOLES = TYPE === 5 || IS_FIND_INDEX;\n  return function ($this, callbackfn, that, specificCreate) {\n    var O = toObject($this);\n    var self = IndexedObject(O);\n    var length = lengthOfArrayLike(self);\n    var boundFunction = bind(callbackfn, that);\n    var index = 0;\n    var create = specificCreate || arraySpeciesCreate;\n    var target = IS_MAP ? create($this, length) : IS_FILTER || IS_FILTER_REJECT ? create($this, 0) : undefined;\n    var value, result;\n    for (;length > index; index++) if (NO_HOLES || index in self) {\n      value = self[index];\n      result = boundFunction(value, index, O);\n      if (TYPE) {\n        if (IS_MAP) target[index] = result; // map\n        else if (result) switch (TYPE) {\n          case 3: return true;              // some\n          case 5: return value;             // find\n          case 6: return index;             // findIndex\n          case 2: push(target, value);      // filter\n        } else switch (TYPE) {\n          case 4: return false;             // every\n          case 7: push(target, value);      // filterReject\n        }\n      }\n    }\n    return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : target;\n  };\n};\n\nmodule.exports = {\n  // `Array.prototype.forEach` method\n  // https://tc39.es/ecma262/#sec-array.prototype.foreach\n  forEach: createMethod(0),\n  // `Array.prototype.map` method\n  // https://tc39.es/ecma262/#sec-array.prototype.map\n  map: createMethod(1),\n  // `Array.prototype.filter` method\n  // https://tc39.es/ecma262/#sec-array.prototype.filter\n  filter: createMethod(2),\n  // `Array.prototype.some` method\n  // https://tc39.es/ecma262/#sec-array.prototype.some\n  some: createMethod(3),\n  // `Array.prototype.every` method\n  // https://tc39.es/ecma262/#sec-array.prototype.every\n  every: createMethod(4),\n  // `Array.prototype.find` method\n  // https://tc39.es/ecma262/#sec-array.prototype.find\n  find: createMethod(5),\n  // `Array.prototype.findIndex` method\n  // https://tc39.es/ecma262/#sec-array.prototype.findIndex\n  findIndex: createMethod(6),\n  // `Array.prototype.filterReject` method\n  // https://github.com/tc39/proposal-array-filtering\n  filterReject: createMethod(7)\n};\n","'use strict';\nvar fails = require('../internals/fails');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar V8_VERSION = require('../internals/environment-v8-version');\n\nvar SPECIES = wellKnownSymbol('species');\n\nmodule.exports = function (METHOD_NAME) {\n  // We can't use this feature detection in V8 since it causes\n  // deoptimization and serious performance degradation\n  // https://github.com/zloirock/core-js/issues/677\n  return V8_VERSION >= 51 || !fails(function () {\n    var array = [];\n    var constructor = array.constructor = {};\n    constructor[SPECIES] = function () {\n      return { foo: 1 };\n    };\n    return array[METHOD_NAME](Boolean).foo !== 1;\n  });\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = uncurryThis([].slice);\n","'use strict';\nvar isArray = require('../internals/is-array');\nvar isConstructor = require('../internals/is-constructor');\nvar isObject = require('../internals/is-object');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar SPECIES = wellKnownSymbol('species');\nvar $Array = Array;\n\n// a part of `ArraySpeciesCreate` abstract operation\n// https://tc39.es/ecma262/#sec-arrayspeciescreate\nmodule.exports = function (originalArray) {\n  var C;\n  if (isArray(originalArray)) {\n    C = originalArray.constructor;\n    // cross-realm fallback\n    if (isConstructor(C) && (C === $Array || isArray(C.prototype))) C = undefined;\n    else if (isObject(C)) {\n      C = C[SPECIES];\n      if (C === null) C = undefined;\n    }\n  } return C === undefined ? $Array : C;\n};\n","'use strict';\nvar arraySpeciesConstructor = require('../internals/array-species-constructor');\n\n// `ArraySpeciesCreate` abstract operation\n// https://tc39.es/ecma262/#sec-arrayspeciescreate\nmodule.exports = function (originalArray, length) {\n  return new (arraySpeciesConstructor(originalArray))(length === 0 ? 0 : length);\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nvar toString = uncurryThis({}.toString);\nvar stringSlice = uncurryThis(''.slice);\n\nmodule.exports = function (it) {\n  return stringSlice(toString(it), 8, -1);\n};\n","'use strict';\nvar TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar isCallable = require('../internals/is-callable');\nvar classofRaw = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar $Object = Object;\n\n// ES3 wrong here\nvar CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) === 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n  try {\n    return it[key];\n  } catch (error) { /* empty */ }\n};\n\n// getting tag from ES6+ `Object.prototype.toString`\nmodule.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) {\n  var O, tag, result;\n  return it === undefined ? 'Undefined' : it === null ? 'Null'\n    // @@toStringTag case\n    : typeof (tag = tryGet(O = $Object(it), TO_STRING_TAG)) == 'string' ? tag\n    // builtinTag case\n    : CORRECT_ARGUMENTS ? classofRaw(O)\n    // ES3 arguments fallback\n    : (result = classofRaw(O)) === 'Object' && isCallable(O.callee) ? 'Arguments' : result;\n};\n","'use strict';\nvar fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n  function F() { /* empty */ }\n  F.prototype.constructor = null;\n  // eslint-disable-next-line es/no-object-getprototypeof -- required for testing\n  return Object.getPrototypeOf(new F()) !== F.prototype;\n});\n","'use strict';\n// `CreateIterResultObject` abstract operation\n// https://tc39.es/ecma262/#sec-createiterresultobject\nmodule.exports = function (value, done) {\n  return { value: value, done: done };\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = DESCRIPTORS ? function (object, key, value) {\n  return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));\n} : function (object, key, value) {\n  object[key] = value;\n  return object;\n};\n","'use strict';\nmodule.exports = function (bitmap, value) {\n  return {\n    enumerable: !(bitmap & 1),\n    configurable: !(bitmap & 2),\n    writable: !(bitmap & 4),\n    value: value\n  };\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = function (object, key, value) {\n  if (DESCRIPTORS) definePropertyModule.f(object, key, createPropertyDescriptor(0, value));\n  else object[key] = value;\n};\n","'use strict';\nvar defineProperty = require('../internals/object-define-property');\n\nmodule.exports = function (target, name, descriptor) {\n  return defineProperty.f(target, name, descriptor);\n};\n","'use strict';\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\n\nmodule.exports = function (target, key, value, options) {\n  if (options && options.enumerable) target[key] = value;\n  else createNonEnumerableProperty(target, key, value);\n  return target;\n};\n","'use strict';\nvar globalThis = require('../internals/global-this');\n\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar defineProperty = Object.defineProperty;\n\nmodule.exports = function (key, value) {\n  try {\n    defineProperty(globalThis, key, { value: value, configurable: true, writable: true });\n  } catch (error) {\n    globalThis[key] = value;\n  } return value;\n};\n","'use strict';\nvar fails = require('../internals/fails');\n\n// Detect IE8's incomplete defineProperty implementation\nmodule.exports = !fails(function () {\n  // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n  return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] !== 7;\n});\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar isObject = require('../internals/is-object');\n\nvar document = globalThis.document;\n// typeof document.createElement is 'object' in old IE\nvar EXISTS = isObject(document) && isObject(document.createElement);\n\nmodule.exports = function (it) {\n  return EXISTS ? document.createElement(it) : {};\n};\n","'use strict';\nvar $TypeError = TypeError;\nvar MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF; // 2 ** 53 - 1 == 9007199254740991\n\nmodule.exports = function (it) {\n  if (it > MAX_SAFE_INTEGER) throw $TypeError('Maximum allowed index exceeded');\n  return it;\n};\n","'use strict';\n// iterable DOM collections\n// flag - `iterable` interface - 'entries', 'keys', 'values', 'forEach' methods\nmodule.exports = {\n  CSSRuleList: 0,\n  CSSStyleDeclaration: 0,\n  CSSValueList: 0,\n  ClientRectList: 0,\n  DOMRectList: 0,\n  DOMStringList: 0,\n  DOMTokenList: 1,\n  DataTransferItemList: 0,\n  FileList: 0,\n  HTMLAllCollection: 0,\n  HTMLCollection: 0,\n  HTMLFormElement: 0,\n  HTMLSelectElement: 0,\n  MediaList: 0,\n  MimeTypeArray: 0,\n  NamedNodeMap: 0,\n  NodeList: 1,\n  PaintRequestList: 0,\n  Plugin: 0,\n  PluginArray: 0,\n  SVGLengthList: 0,\n  SVGNumberList: 0,\n  SVGPathSegList: 0,\n  SVGPointList: 0,\n  SVGStringList: 0,\n  SVGTransformList: 0,\n  SourceBufferList: 0,\n  StyleSheetList: 0,\n  TextTrackCueList: 0,\n  TextTrackList: 0,\n  TouchList: 0\n};\n","'use strict';\n// IE8- don't enum bug keys\nmodule.exports = [\n  'constructor',\n  'hasOwnProperty',\n  'isPrototypeOf',\n  'propertyIsEnumerable',\n  'toLocaleString',\n  'toString',\n  'valueOf'\n];\n","'use strict';\nvar globalThis = require('../internals/global-this');\n\nvar navigator = globalThis.navigator;\nvar userAgent = navigator && navigator.userAgent;\n\nmodule.exports = userAgent ? String(userAgent) : '';\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar userAgent = require('../internals/environment-user-agent');\n\nvar process = globalThis.process;\nvar Deno = globalThis.Deno;\nvar versions = process && process.versions || Deno && Deno.version;\nvar v8 = versions && versions.v8;\nvar match, version;\n\nif (v8) {\n  match = v8.split('.');\n  // in old Chrome, versions of V8 isn't V8 = Chrome / 10\n  // but their correct versions are not interesting for us\n  version = match[0] > 0 && match[0] < 4 ? 1 : +(match[0] + match[1]);\n}\n\n// BrowserFS NodeJS `process` polyfill incorrectly set `.v8` to `0.0`\n// so check `userAgent` even if `.v8` exists, but 0\nif (!version && userAgent) {\n  match = userAgent.match(/Edge\\/(\\d+)/);\n  if (!match || match[1] >= 74) {\n    match = userAgent.match(/Chrome\\/(\\d+)/);\n    if (match) version = +match[1];\n  }\n}\n\nmodule.exports = version;\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar apply = require('../internals/function-apply');\nvar uncurryThis = require('../internals/function-uncurry-this-clause');\nvar isCallable = require('../internals/is-callable');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar isForced = require('../internals/is-forced');\nvar path = require('../internals/path');\nvar bind = require('../internals/function-bind-context');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar hasOwn = require('../internals/has-own-property');\n// add debugging info\nrequire('../internals/shared-store');\n\nvar wrapConstructor = function (NativeConstructor) {\n  var Wrapper = function (a, b, c) {\n    if (this instanceof Wrapper) {\n      switch (arguments.length) {\n        case 0: return new NativeConstructor();\n        case 1: return new NativeConstructor(a);\n        case 2: return new NativeConstructor(a, b);\n      } return new NativeConstructor(a, b, c);\n    } return apply(NativeConstructor, this, arguments);\n  };\n  Wrapper.prototype = NativeConstructor.prototype;\n  return Wrapper;\n};\n\n/*\n  options.target         - name of the target object\n  options.global         - target is the global object\n  options.stat           - export as static methods of target\n  options.proto          - export as prototype methods of target\n  options.real           - real prototype method for the `pure` version\n  options.forced         - export even if the native feature is available\n  options.bind           - bind methods to the target, required for the `pure` version\n  options.wrap           - wrap constructors to preventing global pollution, required for the `pure` version\n  options.unsafe         - use the simple assignment of property instead of delete + defineProperty\n  options.sham           - add a flag to not completely full polyfills\n  options.enumerable     - export as enumerable property\n  options.dontCallGetSet - prevent calling a getter on target\n  options.name           - the .name of the function if it does not match the key\n*/\nmodule.exports = function (options, source) {\n  var TARGET = options.target;\n  var GLOBAL = options.global;\n  var STATIC = options.stat;\n  var PROTO = options.proto;\n\n  var nativeSource = GLOBAL ? globalThis : STATIC ? globalThis[TARGET] : globalThis[TARGET] && globalThis[TARGET].prototype;\n\n  var target = GLOBAL ? path : path[TARGET] || createNonEnumerableProperty(path, TARGET, {})[TARGET];\n  var targetPrototype = target.prototype;\n\n  var FORCED, USE_NATIVE, VIRTUAL_PROTOTYPE;\n  var key, sourceProperty, targetProperty, nativeProperty, resultProperty, descriptor;\n\n  for (key in source) {\n    FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n    // contains in native\n    USE_NATIVE = !FORCED && nativeSource && hasOwn(nativeSource, key);\n\n    targetProperty = target[key];\n\n    if (USE_NATIVE) if (options.dontCallGetSet) {\n      descriptor = getOwnPropertyDescriptor(nativeSource, key);\n      nativeProperty = descriptor && descriptor.value;\n    } else nativeProperty = nativeSource[key];\n\n    // export native or implementation\n    sourceProperty = (USE_NATIVE && nativeProperty) ? nativeProperty : source[key];\n\n    if (!FORCED && !PROTO && typeof targetProperty == typeof sourceProperty) continue;\n\n    // bind methods to global for calling from export context\n    if (options.bind && USE_NATIVE) resultProperty = bind(sourceProperty, globalThis);\n    // wrap global constructors for prevent changes in this version\n    else if (options.wrap && USE_NATIVE) resultProperty = wrapConstructor(sourceProperty);\n    // make static versions for prototype methods\n    else if (PROTO && isCallable(sourceProperty)) resultProperty = uncurryThis(sourceProperty);\n    // default case\n    else resultProperty = sourceProperty;\n\n    // add a flag to not completely full polyfills\n    if (options.sham || (sourceProperty && sourceProperty.sham) || (targetProperty && targetProperty.sham)) {\n      createNonEnumerableProperty(resultProperty, 'sham', true);\n    }\n\n    createNonEnumerableProperty(target, key, resultProperty);\n\n    if (PROTO) {\n      VIRTUAL_PROTOTYPE = TARGET + 'Prototype';\n      if (!hasOwn(path, VIRTUAL_PROTOTYPE)) {\n        createNonEnumerableProperty(path, VIRTUAL_PROTOTYPE, {});\n      }\n      // export virtual prototype methods\n      createNonEnumerableProperty(path[VIRTUAL_PROTOTYPE], key, sourceProperty);\n      // export real prototype methods\n      if (options.real && targetPrototype && (FORCED || !targetPrototype[key])) {\n        createNonEnumerableProperty(targetPrototype, key, sourceProperty);\n      }\n    }\n  }\n};\n","'use strict';\nmodule.exports = function (exec) {\n  try {\n    return !!exec();\n  } catch (error) {\n    return true;\n  }\n};\n","'use strict';\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar FunctionPrototype = Function.prototype;\nvar apply = FunctionPrototype.apply;\nvar call = FunctionPrototype.call;\n\n// eslint-disable-next-line es/no-function-prototype-bind, es/no-reflect -- safe\nmodule.exports = typeof Reflect == 'object' && Reflect.apply || (NATIVE_BIND ? call.bind(apply) : function () {\n  return call.apply(apply, arguments);\n});\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this-clause');\nvar aCallable = require('../internals/a-callable');\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar bind = uncurryThis(uncurryThis.bind);\n\n// optional / simple context binding\nmodule.exports = function (fn, that) {\n  aCallable(fn);\n  return that === undefined ? fn : NATIVE_BIND ? bind(fn, that) : function (/* ...args */) {\n    return fn.apply(that, arguments);\n  };\n};\n","'use strict';\nvar fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n  // eslint-disable-next-line es/no-function-prototype-bind -- safe\n  var test = (function () { /* empty */ }).bind();\n  // eslint-disable-next-line no-prototype-builtins -- safe\n  return typeof test != 'function' || test.hasOwnProperty('prototype');\n});\n","'use strict';\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar call = Function.prototype.call;\n// eslint-disable-next-line es/no-function-prototype-bind -- safe\nmodule.exports = NATIVE_BIND ? call.bind(call) : function () {\n  return call.apply(call, arguments);\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar hasOwn = require('../internals/has-own-property');\n\nvar FunctionPrototype = Function.prototype;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getDescriptor = DESCRIPTORS && Object.getOwnPropertyDescriptor;\n\nvar EXISTS = hasOwn(FunctionPrototype, 'name');\n// additional protection from minified / mangled / dropped function names\nvar PROPER = EXISTS && (function something() { /* empty */ }).name === 'something';\nvar CONFIGURABLE = EXISTS && (!DESCRIPTORS || (DESCRIPTORS && getDescriptor(FunctionPrototype, 'name').configurable));\n\nmodule.exports = {\n  EXISTS: EXISTS,\n  PROPER: PROPER,\n  CONFIGURABLE: CONFIGURABLE\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar aCallable = require('../internals/a-callable');\n\nmodule.exports = function (object, key, method) {\n  try {\n    // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\n    return uncurryThis(aCallable(Object.getOwnPropertyDescriptor(object, key)[method]));\n  } catch (error) { /* empty */ }\n};\n","'use strict';\nvar classofRaw = require('../internals/classof-raw');\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = function (fn) {\n  // Nashorn bug:\n  //   https://github.com/zloirock/core-js/issues/1128\n  //   https://github.com/zloirock/core-js/issues/1130\n  if (classofRaw(fn) === 'Function') return uncurryThis(fn);\n};\n","'use strict';\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar FunctionPrototype = Function.prototype;\nvar call = FunctionPrototype.call;\n// eslint-disable-next-line es/no-function-prototype-bind -- safe\nvar uncurryThisWithBind = NATIVE_BIND && FunctionPrototype.bind.bind(call, call);\n\nmodule.exports = NATIVE_BIND ? uncurryThisWithBind : function (fn) {\n  return function () {\n    return call.apply(fn, arguments);\n  };\n};\n","'use strict';\nvar path = require('../internals/path');\nvar globalThis = require('../internals/global-this');\nvar isCallable = require('../internals/is-callable');\n\nvar aFunction = function (variable) {\n  return isCallable(variable) ? variable : undefined;\n};\n\nmodule.exports = function (namespace, method) {\n  return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(globalThis[namespace])\n    : path[namespace] && path[namespace][method] || globalThis[namespace] && globalThis[namespace][method];\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar isArray = require('../internals/is-array');\nvar isCallable = require('../internals/is-callable');\nvar classof = require('../internals/classof-raw');\nvar toString = require('../internals/to-string');\n\nvar push = uncurryThis([].push);\n\nmodule.exports = function (replacer) {\n  if (isCallable(replacer)) return replacer;\n  if (!isArray(replacer)) return;\n  var rawLength = replacer.length;\n  var keys = [];\n  for (var i = 0; i < rawLength; i++) {\n    var element = replacer[i];\n    if (typeof element == 'string') push(keys, element);\n    else if (typeof element == 'number' || classof(element) === 'Number' || classof(element) === 'String') push(keys, toString(element));\n  }\n  var keysLength = keys.length;\n  var root = true;\n  return function (key, value) {\n    if (root) {\n      root = false;\n      return value;\n    }\n    if (isArray(this)) return value;\n    for (var j = 0; j < keysLength; j++) if (keys[j] === key) return value;\n  };\n};\n","'use strict';\nvar aCallable = require('../internals/a-callable');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\n\n// `GetMethod` abstract operation\n// https://tc39.es/ecma262/#sec-getmethod\nmodule.exports = function (V, P) {\n  var func = V[P];\n  return isNullOrUndefined(func) ? undefined : aCallable(func);\n};\n","'use strict';\nvar check = function (it) {\n  return it && it.Math === Math && it;\n};\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nmodule.exports =\n  // eslint-disable-next-line es/no-global-this -- safe\n  check(typeof globalThis == 'object' && globalThis) ||\n  check(typeof window == 'object' && window) ||\n  // eslint-disable-next-line no-restricted-globals -- safe\n  check(typeof self == 'object' && self) ||\n  check(typeof global == 'object' && global) ||\n  check(typeof this == 'object' && this) ||\n  // eslint-disable-next-line no-new-func -- fallback\n  (function () { return this; })() || Function('return this')();\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar toObject = require('../internals/to-object');\n\nvar hasOwnProperty = uncurryThis({}.hasOwnProperty);\n\n// `HasOwnProperty` abstract operation\n// https://tc39.es/ecma262/#sec-hasownproperty\n// eslint-disable-next-line es/no-object-hasown -- safe\nmodule.exports = Object.hasOwn || function hasOwn(it, key) {\n  return hasOwnProperty(toObject(it), key);\n};\n","'use strict';\nmodule.exports = {};\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('document', 'documentElement');\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar createElement = require('../internals/document-create-element');\n\n// Thanks to IE8 for its funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n  // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n  return Object.defineProperty(createElement('div'), 'a', {\n    get: function () { return 7; }\n  }).a !== 7;\n});\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\n\nvar $Object = Object;\nvar split = uncurryThis(''.split);\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nmodule.exports = fails(function () {\n  // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346\n  // eslint-disable-next-line no-prototype-builtins -- safe\n  return !$Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n  return classof(it) === 'String' ? split(it, '') : $Object(it);\n} : $Object;\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar isCallable = require('../internals/is-callable');\nvar store = require('../internals/shared-store');\n\nvar functionToString = uncurryThis(Function.toString);\n\n// this helper broken in `core-js@3.4.1-3.4.4`, so we can't use `shared` helper\nif (!isCallable(store.inspectSource)) {\n  store.inspectSource = function (it) {\n    return functionToString(it);\n  };\n}\n\nmodule.exports = store.inspectSource;\n","'use strict';\nvar NATIVE_WEAK_MAP = require('../internals/weak-map-basic-detection');\nvar globalThis = require('../internals/global-this');\nvar isObject = require('../internals/is-object');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar hasOwn = require('../internals/has-own-property');\nvar shared = require('../internals/shared-store');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar OBJECT_ALREADY_INITIALIZED = 'Object already initialized';\nvar TypeError = globalThis.TypeError;\nvar WeakMap = globalThis.WeakMap;\nvar set, get, has;\n\nvar enforce = function (it) {\n  return has(it) ? get(it) : set(it, {});\n};\n\nvar getterFor = function (TYPE) {\n  return function (it) {\n    var state;\n    if (!isObject(it) || (state = get(it)).type !== TYPE) {\n      throw new TypeError('Incompatible receiver, ' + TYPE + ' required');\n    } return state;\n  };\n};\n\nif (NATIVE_WEAK_MAP || shared.state) {\n  var store = shared.state || (shared.state = new WeakMap());\n  /* eslint-disable no-self-assign -- prototype methods protection */\n  store.get = store.get;\n  store.has = store.has;\n  store.set = store.set;\n  /* eslint-enable no-self-assign -- prototype methods protection */\n  set = function (it, metadata) {\n    if (store.has(it)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n    metadata.facade = it;\n    store.set(it, metadata);\n    return metadata;\n  };\n  get = function (it) {\n    return store.get(it) || {};\n  };\n  has = function (it) {\n    return store.has(it);\n  };\n} else {\n  var STATE = sharedKey('state');\n  hiddenKeys[STATE] = true;\n  set = function (it, metadata) {\n    if (hasOwn(it, STATE)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n    metadata.facade = it;\n    createNonEnumerableProperty(it, STATE, metadata);\n    return metadata;\n  };\n  get = function (it) {\n    return hasOwn(it, STATE) ? it[STATE] : {};\n  };\n  has = function (it) {\n    return hasOwn(it, STATE);\n  };\n}\n\nmodule.exports = {\n  set: set,\n  get: get,\n  has: has,\n  enforce: enforce,\n  getterFor: getterFor\n};\n","'use strict';\nvar classof = require('../internals/classof-raw');\n\n// `IsArray` abstract operation\n// https://tc39.es/ecma262/#sec-isarray\n// eslint-disable-next-line es/no-array-isarray -- safe\nmodule.exports = Array.isArray || function isArray(argument) {\n  return classof(argument) === 'Array';\n};\n","'use strict';\n// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot\nvar documentAll = typeof document == 'object' && document.all;\n\n// `IsCallable` abstract operation\n// https://tc39.es/ecma262/#sec-iscallable\n// eslint-disable-next-line unicorn/no-typeof-undefined -- required for testing\nmodule.exports = typeof documentAll == 'undefined' && documentAll !== undefined ? function (argument) {\n  return typeof argument == 'function' || argument === documentAll;\n} : function (argument) {\n  return typeof argument == 'function';\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar classof = require('../internals/classof');\nvar getBuiltIn = require('../internals/get-built-in');\nvar inspectSource = require('../internals/inspect-source');\n\nvar noop = function () { /* empty */ };\nvar construct = getBuiltIn('Reflect', 'construct');\nvar constructorRegExp = /^\\s*(?:class|function)\\b/;\nvar exec = uncurryThis(constructorRegExp.exec);\nvar INCORRECT_TO_STRING = !constructorRegExp.test(noop);\n\nvar isConstructorModern = function isConstructor(argument) {\n  if (!isCallable(argument)) return false;\n  try {\n    construct(noop, [], argument);\n    return true;\n  } catch (error) {\n    return false;\n  }\n};\n\nvar isConstructorLegacy = function isConstructor(argument) {\n  if (!isCallable(argument)) return false;\n  switch (classof(argument)) {\n    case 'AsyncFunction':\n    case 'GeneratorFunction':\n    case 'AsyncGeneratorFunction': return false;\n  }\n  try {\n    // we can't check .prototype since constructors produced by .bind haven't it\n    // `Function#toString` throws on some built-it function in some legacy engines\n    // (for example, `DOMQuad` and similar in FF41-)\n    return INCORRECT_TO_STRING || !!exec(constructorRegExp, inspectSource(argument));\n  } catch (error) {\n    return true;\n  }\n};\n\nisConstructorLegacy.sham = true;\n\n// `IsConstructor` abstract operation\n// https://tc39.es/ecma262/#sec-isconstructor\nmodule.exports = !construct || fails(function () {\n  var called;\n  return isConstructorModern(isConstructorModern.call)\n    || !isConstructorModern(Object)\n    || !isConstructorModern(function () { called = true; })\n    || called;\n}) ? isConstructorLegacy : isConstructorModern;\n","'use strict';\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\n\nvar replacement = /#|\\.prototype\\./;\n\nvar isForced = function (feature, detection) {\n  var value = data[normalize(feature)];\n  return value === POLYFILL ? true\n    : value === NATIVE ? false\n    : isCallable(detection) ? fails(detection)\n    : !!detection;\n};\n\nvar normalize = isForced.normalize = function (string) {\n  return String(string).replace(replacement, '.').toLowerCase();\n};\n\nvar data = isForced.data = {};\nvar NATIVE = isForced.NATIVE = 'N';\nvar POLYFILL = isForced.POLYFILL = 'P';\n\nmodule.exports = isForced;\n","'use strict';\n// we can't use just `it == null` since of `document.all` special case\n// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot-aec\nmodule.exports = function (it) {\n  return it === null || it === undefined;\n};\n","'use strict';\nvar isCallable = require('../internals/is-callable');\n\nmodule.exports = function (it) {\n  return typeof it == 'object' ? it !== null : isCallable(it);\n};\n","'use strict';\nvar isObject = require('../internals/is-object');\n\nmodule.exports = function (argument) {\n  return isObject(argument) || argument === null;\n};\n","'use strict';\nmodule.exports = true;\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar isCallable = require('../internals/is-callable');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar $Object = Object;\n\nmodule.exports = USE_SYMBOL_AS_UID ? function (it) {\n  return typeof it == 'symbol';\n} : function (it) {\n  var $Symbol = getBuiltIn('Symbol');\n  return isCallable($Symbol) && isPrototypeOf($Symbol.prototype, $Object(it));\n};\n","'use strict';\nvar IteratorPrototype = require('../internals/iterators-core').IteratorPrototype;\nvar create = require('../internals/object-create');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar Iterators = require('../internals/iterators');\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (IteratorConstructor, NAME, next, ENUMERABLE_NEXT) {\n  var TO_STRING_TAG = NAME + ' Iterator';\n  IteratorConstructor.prototype = create(IteratorPrototype, { next: createPropertyDescriptor(+!ENUMERABLE_NEXT, next) });\n  setToStringTag(IteratorConstructor, TO_STRING_TAG, false, true);\n  Iterators[TO_STRING_TAG] = returnThis;\n  return IteratorConstructor;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar IS_PURE = require('../internals/is-pure');\nvar FunctionName = require('../internals/function-name');\nvar isCallable = require('../internals/is-callable');\nvar createIteratorConstructor = require('../internals/iterator-create-constructor');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar Iterators = require('../internals/iterators');\nvar IteratorsCore = require('../internals/iterators-core');\n\nvar PROPER_FUNCTION_NAME = FunctionName.PROPER;\nvar CONFIGURABLE_FUNCTION_NAME = FunctionName.CONFIGURABLE;\nvar IteratorPrototype = IteratorsCore.IteratorPrototype;\nvar BUGGY_SAFARI_ITERATORS = IteratorsCore.BUGGY_SAFARI_ITERATORS;\nvar ITERATOR = wellKnownSymbol('iterator');\nvar KEYS = 'keys';\nvar VALUES = 'values';\nvar ENTRIES = 'entries';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Iterable, NAME, IteratorConstructor, next, DEFAULT, IS_SET, FORCED) {\n  createIteratorConstructor(IteratorConstructor, NAME, next);\n\n  var getIterationMethod = function (KIND) {\n    if (KIND === DEFAULT && defaultIterator) return defaultIterator;\n    if (!BUGGY_SAFARI_ITERATORS && KIND && KIND in IterablePrototype) return IterablePrototype[KIND];\n\n    switch (KIND) {\n      case KEYS: return function keys() { return new IteratorConstructor(this, KIND); };\n      case VALUES: return function values() { return new IteratorConstructor(this, KIND); };\n      case ENTRIES: return function entries() { return new IteratorConstructor(this, KIND); };\n    }\n\n    return function () { return new IteratorConstructor(this); };\n  };\n\n  var TO_STRING_TAG = NAME + ' Iterator';\n  var INCORRECT_VALUES_NAME = false;\n  var IterablePrototype = Iterable.prototype;\n  var nativeIterator = IterablePrototype[ITERATOR]\n    || IterablePrototype['@@iterator']\n    || DEFAULT && IterablePrototype[DEFAULT];\n  var defaultIterator = !BUGGY_SAFARI_ITERATORS && nativeIterator || getIterationMethod(DEFAULT);\n  var anyNativeIterator = NAME === 'Array' ? IterablePrototype.entries || nativeIterator : nativeIterator;\n  var CurrentIteratorPrototype, methods, KEY;\n\n  // fix native\n  if (anyNativeIterator) {\n    CurrentIteratorPrototype = getPrototypeOf(anyNativeIterator.call(new Iterable()));\n    if (CurrentIteratorPrototype !== Object.prototype && CurrentIteratorPrototype.next) {\n      if (!IS_PURE && getPrototypeOf(CurrentIteratorPrototype) !== IteratorPrototype) {\n        if (setPrototypeOf) {\n          setPrototypeOf(CurrentIteratorPrototype, IteratorPrototype);\n        } else if (!isCallable(CurrentIteratorPrototype[ITERATOR])) {\n          defineBuiltIn(CurrentIteratorPrototype, ITERATOR, returnThis);\n        }\n      }\n      // Set @@toStringTag to native iterators\n      setToStringTag(CurrentIteratorPrototype, TO_STRING_TAG, true, true);\n      if (IS_PURE) Iterators[TO_STRING_TAG] = returnThis;\n    }\n  }\n\n  // fix Array.prototype.{ values, @@iterator }.name in V8 / FF\n  if (PROPER_FUNCTION_NAME && DEFAULT === VALUES && nativeIterator && nativeIterator.name !== VALUES) {\n    if (!IS_PURE && CONFIGURABLE_FUNCTION_NAME) {\n      createNonEnumerableProperty(IterablePrototype, 'name', VALUES);\n    } else {\n      INCORRECT_VALUES_NAME = true;\n      defaultIterator = function values() { return call(nativeIterator, this); };\n    }\n  }\n\n  // export additional methods\n  if (DEFAULT) {\n    methods = {\n      values: getIterationMethod(VALUES),\n      keys: IS_SET ? defaultIterator : getIterationMethod(KEYS),\n      entries: getIterationMethod(ENTRIES)\n    };\n    if (FORCED) for (KEY in methods) {\n      if (BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME || !(KEY in IterablePrototype)) {\n        defineBuiltIn(IterablePrototype, KEY, methods[KEY]);\n      }\n    } else $({ target: NAME, proto: true, forced: BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME }, methods);\n  }\n\n  // define iterator\n  if ((!IS_PURE || FORCED) && IterablePrototype[ITERATOR] !== defaultIterator) {\n    defineBuiltIn(IterablePrototype, ITERATOR, defaultIterator, { name: DEFAULT });\n  }\n  Iterators[NAME] = defaultIterator;\n\n  return methods;\n};\n","'use strict';\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\nvar create = require('../internals/object-create');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_PURE = require('../internals/is-pure');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar BUGGY_SAFARI_ITERATORS = false;\n\n// `%IteratorPrototype%` object\n// https://tc39.es/ecma262/#sec-%iteratorprototype%-object\nvar IteratorPrototype, PrototypeOfArrayIteratorPrototype, arrayIterator;\n\n/* eslint-disable es/no-array-prototype-keys -- safe */\nif ([].keys) {\n  arrayIterator = [].keys();\n  // Safari 8 has buggy iterators w/o `next`\n  if (!('next' in arrayIterator)) BUGGY_SAFARI_ITERATORS = true;\n  else {\n    PrototypeOfArrayIteratorPrototype = getPrototypeOf(getPrototypeOf(arrayIterator));\n    if (PrototypeOfArrayIteratorPrototype !== Object.prototype) IteratorPrototype = PrototypeOfArrayIteratorPrototype;\n  }\n}\n\nvar NEW_ITERATOR_PROTOTYPE = !isObject(IteratorPrototype) || fails(function () {\n  var test = {};\n  // FF44- legacy iterators case\n  return IteratorPrototype[ITERATOR].call(test) !== test;\n});\n\nif (NEW_ITERATOR_PROTOTYPE) IteratorPrototype = {};\nelse if (IS_PURE) IteratorPrototype = create(IteratorPrototype);\n\n// `%IteratorPrototype%[@@iterator]()` method\n// https://tc39.es/ecma262/#sec-%iteratorprototype%-@@iterator\nif (!isCallable(IteratorPrototype[ITERATOR])) {\n  defineBuiltIn(IteratorPrototype, ITERATOR, function () {\n    return this;\n  });\n}\n\nmodule.exports = {\n  IteratorPrototype: IteratorPrototype,\n  BUGGY_SAFARI_ITERATORS: BUGGY_SAFARI_ITERATORS\n};\n","'use strict';\nmodule.exports = {};\n","'use strict';\nvar toLength = require('../internals/to-length');\n\n// `LengthOfArrayLike` abstract operation\n// https://tc39.es/ecma262/#sec-lengthofarraylike\nmodule.exports = function (obj) {\n  return toLength(obj.length);\n};\n","'use strict';\nvar ceil = Math.ceil;\nvar floor = Math.floor;\n\n// `Math.trunc` method\n// https://tc39.es/ecma262/#sec-math.trunc\n// eslint-disable-next-line es/no-math-trunc -- safe\nmodule.exports = Math.trunc || function trunc(x) {\n  var n = +x;\n  return (n > 0 ? floor : ceil)(n);\n};\n","'use strict';\n/* global ActiveXObject -- old IE, WSH */\nvar anObject = require('../internals/an-object');\nvar definePropertiesModule = require('../internals/object-define-properties');\nvar enumBugKeys = require('../internals/enum-bug-keys');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar html = require('../internals/html');\nvar documentCreateElement = require('../internals/document-create-element');\nvar sharedKey = require('../internals/shared-key');\n\nvar GT = '>';\nvar LT = '<';\nvar PROTOTYPE = 'prototype';\nvar SCRIPT = 'script';\nvar IE_PROTO = sharedKey('IE_PROTO');\n\nvar EmptyConstructor = function () { /* empty */ };\n\nvar scriptTag = function (content) {\n  return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;\n};\n\n// Create object with fake `null` prototype: use ActiveX Object with cleared prototype\nvar NullProtoObjectViaActiveX = function (activeXDocument) {\n  activeXDocument.write(scriptTag(''));\n  activeXDocument.close();\n  var temp = activeXDocument.parentWindow.Object;\n  // eslint-disable-next-line no-useless-assignment -- avoid memory leak\n  activeXDocument = null;\n  return temp;\n};\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar NullProtoObjectViaIFrame = function () {\n  // Thrash, waste and sodomy: IE GC bug\n  var iframe = documentCreateElement('iframe');\n  var JS = 'java' + SCRIPT + ':';\n  var iframeDocument;\n  iframe.style.display = 'none';\n  html.appendChild(iframe);\n  // https://github.com/zloirock/core-js/issues/475\n  iframe.src = String(JS);\n  iframeDocument = iframe.contentWindow.document;\n  iframeDocument.open();\n  iframeDocument.write(scriptTag('document.F=Object'));\n  iframeDocument.close();\n  return iframeDocument.F;\n};\n\n// Check for document.domain and active x support\n// No need to use active x approach when document.domain is not set\n// see https://github.com/es-shims/es5-shim/issues/150\n// variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346\n// avoid IE GC bug\nvar activeXDocument;\nvar NullProtoObject = function () {\n  try {\n    activeXDocument = new ActiveXObject('htmlfile');\n  } catch (error) { /* ignore */ }\n  NullProtoObject = typeof document != 'undefined'\n    ? document.domain && activeXDocument\n      ? NullProtoObjectViaActiveX(activeXDocument) // old IE\n      : NullProtoObjectViaIFrame()\n    : NullProtoObjectViaActiveX(activeXDocument); // WSH\n  var length = enumBugKeys.length;\n  while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];\n  return NullProtoObject();\n};\n\nhiddenKeys[IE_PROTO] = true;\n\n// `Object.create` method\n// https://tc39.es/ecma262/#sec-object.create\n// eslint-disable-next-line es/no-object-create -- safe\nmodule.exports = Object.create || function create(O, Properties) {\n  var result;\n  if (O !== null) {\n    EmptyConstructor[PROTOTYPE] = anObject(O);\n    result = new EmptyConstructor();\n    EmptyConstructor[PROTOTYPE] = null;\n    // add \"__proto__\" for Object.getPrototypeOf polyfill\n    result[IE_PROTO] = O;\n  } else result = NullProtoObject();\n  return Properties === undefined ? result : definePropertiesModule.f(result, Properties);\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar V8_PROTOTYPE_DEFINE_BUG = require('../internals/v8-prototype-define-bug');\nvar definePropertyModule = require('../internals/object-define-property');\nvar anObject = require('../internals/an-object');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar objectKeys = require('../internals/object-keys');\n\n// `Object.defineProperties` method\n// https://tc39.es/ecma262/#sec-object.defineproperties\n// eslint-disable-next-line es/no-object-defineproperties -- safe\nexports.f = DESCRIPTORS && !V8_PROTOTYPE_DEFINE_BUG ? Object.defineProperties : function defineProperties(O, Properties) {\n  anObject(O);\n  var props = toIndexedObject(Properties);\n  var keys = objectKeys(Properties);\n  var length = keys.length;\n  var index = 0;\n  var key;\n  while (length > index) definePropertyModule.f(O, key = keys[index++], props[key]);\n  return O;\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\nvar V8_PROTOTYPE_DEFINE_BUG = require('../internals/v8-prototype-define-bug');\nvar anObject = require('../internals/an-object');\nvar toPropertyKey = require('../internals/to-property-key');\n\nvar $TypeError = TypeError;\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar $defineProperty = Object.defineProperty;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar ENUMERABLE = 'enumerable';\nvar CONFIGURABLE = 'configurable';\nvar WRITABLE = 'writable';\n\n// `Object.defineProperty` method\n// https://tc39.es/ecma262/#sec-object.defineproperty\nexports.f = DESCRIPTORS ? V8_PROTOTYPE_DEFINE_BUG ? function defineProperty(O, P, Attributes) {\n  anObject(O);\n  P = toPropertyKey(P);\n  anObject(Attributes);\n  if (typeof O === 'function' && P === 'prototype' && 'value' in Attributes && WRITABLE in Attributes && !Attributes[WRITABLE]) {\n    var current = $getOwnPropertyDescriptor(O, P);\n    if (current && current[WRITABLE]) {\n      O[P] = Attributes.value;\n      Attributes = {\n        configurable: CONFIGURABLE in Attributes ? Attributes[CONFIGURABLE] : current[CONFIGURABLE],\n        enumerable: ENUMERABLE in Attributes ? Attributes[ENUMERABLE] : current[ENUMERABLE],\n        writable: false\n      };\n    }\n  } return $defineProperty(O, P, Attributes);\n} : $defineProperty : function defineProperty(O, P, Attributes) {\n  anObject(O);\n  P = toPropertyKey(P);\n  anObject(Attributes);\n  if (IE8_DOM_DEFINE) try {\n    return $defineProperty(O, P, Attributes);\n  } catch (error) { /* empty */ }\n  if ('get' in Attributes || 'set' in Attributes) throw new $TypeError('Accessors not supported');\n  if ('value' in Attributes) O[P] = Attributes.value;\n  return O;\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar call = require('../internals/function-call');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPropertyKey = require('../internals/to-property-key');\nvar hasOwn = require('../internals/has-own-property');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\n\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor\nexports.f = DESCRIPTORS ? $getOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n  O = toIndexedObject(O);\n  P = toPropertyKey(P);\n  if (IE8_DOM_DEFINE) try {\n    return $getOwnPropertyDescriptor(O, P);\n  } catch (error) { /* empty */ }\n  if (hasOwn(O, P)) return createPropertyDescriptor(!call(propertyIsEnumerableModule.f, O, P), O[P]);\n};\n","'use strict';\n/* eslint-disable es/no-object-getownpropertynames -- safe */\nvar classof = require('../internals/classof-raw');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar $getOwnPropertyNames = require('../internals/object-get-own-property-names').f;\nvar arraySlice = require('../internals/array-slice');\n\nvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames\n  ? Object.getOwnPropertyNames(window) : [];\n\nvar getWindowNames = function (it) {\n  try {\n    return $getOwnPropertyNames(it);\n  } catch (error) {\n    return arraySlice(windowNames);\n  }\n};\n\n// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\nmodule.exports.f = function getOwnPropertyNames(it) {\n  return windowNames && classof(it) === 'Window'\n    ? getWindowNames(it)\n    : $getOwnPropertyNames(toIndexedObject(it));\n};\n","'use strict';\nvar internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\nvar hiddenKeys = enumBugKeys.concat('length', 'prototype');\n\n// `Object.getOwnPropertyNames` method\n// https://tc39.es/ecma262/#sec-object.getownpropertynames\n// eslint-disable-next-line es/no-object-getownpropertynames -- safe\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n  return internalObjectKeys(O, hiddenKeys);\n};\n","'use strict';\n// eslint-disable-next-line es/no-object-getownpropertysymbols -- safe\nexports.f = Object.getOwnPropertySymbols;\n","'use strict';\nvar hasOwn = require('../internals/has-own-property');\nvar isCallable = require('../internals/is-callable');\nvar toObject = require('../internals/to-object');\nvar sharedKey = require('../internals/shared-key');\nvar CORRECT_PROTOTYPE_GETTER = require('../internals/correct-prototype-getter');\n\nvar IE_PROTO = sharedKey('IE_PROTO');\nvar $Object = Object;\nvar ObjectPrototype = $Object.prototype;\n\n// `Object.getPrototypeOf` method\n// https://tc39.es/ecma262/#sec-object.getprototypeof\n// eslint-disable-next-line es/no-object-getprototypeof -- safe\nmodule.exports = CORRECT_PROTOTYPE_GETTER ? $Object.getPrototypeOf : function (O) {\n  var object = toObject(O);\n  if (hasOwn(object, IE_PROTO)) return object[IE_PROTO];\n  var constructor = object.constructor;\n  if (isCallable(constructor) && object instanceof constructor) {\n    return constructor.prototype;\n  } return object instanceof $Object ? ObjectPrototype : null;\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = uncurryThis({}.isPrototypeOf);\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar hasOwn = require('../internals/has-own-property');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar indexOf = require('../internals/array-includes').indexOf;\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar push = uncurryThis([].push);\n\nmodule.exports = function (object, names) {\n  var O = toIndexedObject(object);\n  var i = 0;\n  var result = [];\n  var key;\n  for (key in O) !hasOwn(hiddenKeys, key) && hasOwn(O, key) && push(result, key);\n  // Don't enum bug & hidden keys\n  while (names.length > i) if (hasOwn(O, key = names[i++])) {\n    ~indexOf(result, key) || push(result, key);\n  }\n  return result;\n};\n","'use strict';\nvar internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\n// `Object.keys` method\n// https://tc39.es/ecma262/#sec-object.keys\n// eslint-disable-next-line es/no-object-keys -- safe\nmodule.exports = Object.keys || function keys(O) {\n  return internalObjectKeys(O, enumBugKeys);\n};\n","'use strict';\nvar $propertyIsEnumerable = {}.propertyIsEnumerable;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Nashorn ~ JDK8 bug\nvar NASHORN_BUG = getOwnPropertyDescriptor && !$propertyIsEnumerable.call({ 1: 2 }, 1);\n\n// `Object.prototype.propertyIsEnumerable` method implementation\n// https://tc39.es/ecma262/#sec-object.prototype.propertyisenumerable\nexports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n  var descriptor = getOwnPropertyDescriptor(this, V);\n  return !!descriptor && descriptor.enumerable;\n} : $propertyIsEnumerable;\n","'use strict';\n/* eslint-disable no-proto -- safe */\nvar uncurryThisAccessor = require('../internals/function-uncurry-this-accessor');\nvar isObject = require('../internals/is-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar aPossiblePrototype = require('../internals/a-possible-prototype');\n\n// `Object.setPrototypeOf` method\n// https://tc39.es/ecma262/#sec-object.setprototypeof\n// Works with __proto__ only. Old v8 can't work with null proto objects.\n// eslint-disable-next-line es/no-object-setprototypeof -- safe\nmodule.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () {\n  var CORRECT_SETTER = false;\n  var test = {};\n  var setter;\n  try {\n    setter = uncurryThisAccessor(Object.prototype, '__proto__', 'set');\n    setter(test, []);\n    CORRECT_SETTER = test instanceof Array;\n  } catch (error) { /* empty */ }\n  return function setPrototypeOf(O, proto) {\n    requireObjectCoercible(O);\n    aPossiblePrototype(proto);\n    if (!isObject(O)) return O;\n    if (CORRECT_SETTER) setter(O, proto);\n    else O.__proto__ = proto;\n    return O;\n  };\n}() : undefined);\n","'use strict';\nvar TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar classof = require('../internals/classof');\n\n// `Object.prototype.toString` method implementation\n// https://tc39.es/ecma262/#sec-object.prototype.tostring\nmodule.exports = TO_STRING_TAG_SUPPORT ? {}.toString : function toString() {\n  return '[object ' + classof(this) + ']';\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\n\nvar $TypeError = TypeError;\n\n// `OrdinaryToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-ordinarytoprimitive\nmodule.exports = function (input, pref) {\n  var fn, val;\n  if (pref === 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n  if (isCallable(fn = input.valueOf) && !isObject(val = call(fn, input))) return val;\n  if (pref !== 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n  throw new $TypeError(\"Can't convert object to primitive value\");\n};\n","'use strict';\nmodule.exports = {};\n","'use strict';\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\n\nvar $TypeError = TypeError;\n\n// `RequireObjectCoercible` abstract operation\n// https://tc39.es/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n  if (isNullOrUndefined(it)) throw new $TypeError(\"Can't call method on \" + it);\n  return it;\n};\n","'use strict';\nvar TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar defineProperty = require('../internals/object-define-property').f;\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar hasOwn = require('../internals/has-own-property');\nvar toString = require('../internals/object-to-string');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\n\nmodule.exports = function (it, TAG, STATIC, SET_METHOD) {\n  var target = STATIC ? it : it && it.prototype;\n  if (target) {\n    if (!hasOwn(target, TO_STRING_TAG)) {\n      defineProperty(target, TO_STRING_TAG, { configurable: true, value: TAG });\n    }\n    if (SET_METHOD && !TO_STRING_TAG_SUPPORT) {\n      createNonEnumerableProperty(target, 'toString', toString);\n    }\n  }\n};\n","'use strict';\nvar shared = require('../internals/shared');\nvar uid = require('../internals/uid');\n\nvar keys = shared('keys');\n\nmodule.exports = function (key) {\n  return keys[key] || (keys[key] = uid(key));\n};\n","'use strict';\nvar IS_PURE = require('../internals/is-pure');\nvar globalThis = require('../internals/global-this');\nvar defineGlobalProperty = require('../internals/define-global-property');\n\nvar SHARED = '__core-js_shared__';\nvar store = module.exports = globalThis[SHARED] || defineGlobalProperty(SHARED, {});\n\n(store.versions || (store.versions = [])).push({\n  version: '3.41.0',\n  mode: IS_PURE ? 'pure' : 'global',\n  copyright: '© 2014-2025 Denis Pushkarev (zloirock.ru)',\n  license: 'https://github.com/zloirock/core-js/blob/v3.41.0/LICENSE',\n  source: 'https://github.com/zloirock/core-js'\n});\n","'use strict';\nvar store = require('../internals/shared-store');\n\nmodule.exports = function (key, value) {\n  return store[key] || (store[key] = value || {});\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\nvar toString = require('../internals/to-string');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar charAt = uncurryThis(''.charAt);\nvar charCodeAt = uncurryThis(''.charCodeAt);\nvar stringSlice = uncurryThis(''.slice);\n\nvar createMethod = function (CONVERT_TO_STRING) {\n  return function ($this, pos) {\n    var S = toString(requireObjectCoercible($this));\n    var position = toIntegerOrInfinity(pos);\n    var size = S.length;\n    var first, second;\n    if (position < 0 || position >= size) return CONVERT_TO_STRING ? '' : undefined;\n    first = charCodeAt(S, position);\n    return first < 0xD800 || first > 0xDBFF || position + 1 === size\n      || (second = charCodeAt(S, position + 1)) < 0xDC00 || second > 0xDFFF\n        ? CONVERT_TO_STRING\n          ? charAt(S, position)\n          : first\n        : CONVERT_TO_STRING\n          ? stringSlice(S, position, position + 2)\n          : (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000;\n  };\n};\n\nmodule.exports = {\n  // `String.prototype.codePointAt` method\n  // https://tc39.es/ecma262/#sec-string.prototype.codepointat\n  codeAt: createMethod(false),\n  // `String.prototype.at` method\n  // https://github.com/mathiasbynens/String.prototype.at\n  charAt: createMethod(true)\n};\n","'use strict';\n/* eslint-disable es/no-symbol -- required for testing */\nvar V8_VERSION = require('../internals/environment-v8-version');\nvar fails = require('../internals/fails');\nvar globalThis = require('../internals/global-this');\n\nvar $String = globalThis.String;\n\n// eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n  var symbol = Symbol('symbol detection');\n  // Chrome 38 Symbol has incorrect toString conversion\n  // `get-own-property-symbols` polyfill symbols converted to object are not Symbol instances\n  // nb: Do not call `String` directly to avoid this being optimized out to `symbol+''` which will,\n  // of course, fail.\n  return !$String(symbol) || !(Object(symbol) instanceof Symbol) ||\n    // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances\n    !Symbol.sham && V8_VERSION && V8_VERSION < 41;\n});\n","'use strict';\nvar call = require('../internals/function-call');\nvar getBuiltIn = require('../internals/get-built-in');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar defineBuiltIn = require('../internals/define-built-in');\n\nmodule.exports = function () {\n  var Symbol = getBuiltIn('Symbol');\n  var SymbolPrototype = Symbol && Symbol.prototype;\n  var valueOf = SymbolPrototype && SymbolPrototype.valueOf;\n  var TO_PRIMITIVE = wellKnownSymbol('toPrimitive');\n\n  if (SymbolPrototype && !SymbolPrototype[TO_PRIMITIVE]) {\n    // `Symbol.prototype[@@toPrimitive]` method\n    // https://tc39.es/ecma262/#sec-symbol.prototype-@@toprimitive\n    // eslint-disable-next-line no-unused-vars -- required for .length\n    defineBuiltIn(SymbolPrototype, TO_PRIMITIVE, function (hint) {\n      return call(valueOf, this);\n    }, { arity: 1 });\n  }\n};\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nvar Symbol = getBuiltIn('Symbol');\nvar keyFor = Symbol.keyFor;\nvar thisSymbolValue = uncurryThis(Symbol.prototype.valueOf);\n\n// `Symbol.isRegisteredSymbol` method\n// https://tc39.es/proposal-symbol-predicates/#sec-symbol-isregisteredsymbol\nmodule.exports = Symbol.isRegisteredSymbol || function isRegisteredSymbol(value) {\n  try {\n    return keyFor(thisSymbolValue(value)) !== undefined;\n  } catch (error) {\n    return false;\n  }\n};\n","'use strict';\nvar shared = require('../internals/shared');\nvar getBuiltIn = require('../internals/get-built-in');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar isSymbol = require('../internals/is-symbol');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar Symbol = getBuiltIn('Symbol');\nvar $isWellKnownSymbol = Symbol.isWellKnownSymbol;\nvar getOwnPropertyNames = getBuiltIn('Object', 'getOwnPropertyNames');\nvar thisSymbolValue = uncurryThis(Symbol.prototype.valueOf);\nvar WellKnownSymbolsStore = shared('wks');\n\nfor (var i = 0, symbolKeys = getOwnPropertyNames(Symbol), symbolKeysLength = symbolKeys.length; i < symbolKeysLength; i++) {\n  // some old engines throws on access to some keys like `arguments` or `caller`\n  try {\n    var symbolKey = symbolKeys[i];\n    if (isSymbol(Symbol[symbolKey])) wellKnownSymbol(symbolKey);\n  } catch (error) { /* empty */ }\n}\n\n// `Symbol.isWellKnownSymbol` method\n// https://tc39.es/proposal-symbol-predicates/#sec-symbol-iswellknownsymbol\n// We should patch it for newly added well-known symbols. If it's not required, this module just will not be injected\nmodule.exports = function isWellKnownSymbol(value) {\n  if ($isWellKnownSymbol && $isWellKnownSymbol(value)) return true;\n  try {\n    var symbol = thisSymbolValue(value);\n    for (var j = 0, keys = getOwnPropertyNames(WellKnownSymbolsStore), keysLength = keys.length; j < keysLength; j++) {\n      // eslint-disable-next-line eqeqeq -- polyfilled symbols case\n      if (WellKnownSymbolsStore[keys[j]] == symbol) return true;\n    }\n  } catch (error) { /* empty */ }\n  return false;\n};\n","'use strict';\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\n\n/* eslint-disable es/no-symbol -- safe */\nmodule.exports = NATIVE_SYMBOL && !!Symbol['for'] && !!Symbol.keyFor;\n","'use strict';\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar max = Math.max;\nvar min = Math.min;\n\n// Helper for a popular repeating case of the spec:\n// Let integer be ? ToInteger(index).\n// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).\nmodule.exports = function (index, length) {\n  var integer = toIntegerOrInfinity(index);\n  return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n","'use strict';\n// toObject with fallback for non-array-like ES3 strings\nvar IndexedObject = require('../internals/indexed-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nmodule.exports = function (it) {\n  return IndexedObject(requireObjectCoercible(it));\n};\n","'use strict';\nvar trunc = require('../internals/math-trunc');\n\n// `ToIntegerOrInfinity` abstract operation\n// https://tc39.es/ecma262/#sec-tointegerorinfinity\nmodule.exports = function (argument) {\n  var number = +argument;\n  // eslint-disable-next-line no-self-compare -- NaN check\n  return number !== number || number === 0 ? 0 : trunc(number);\n};\n","'use strict';\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.es/ecma262/#sec-tolength\nmodule.exports = function (argument) {\n  var len = toIntegerOrInfinity(argument);\n  return len > 0 ? min(len, 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n","'use strict';\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar $Object = Object;\n\n// `ToObject` abstract operation\n// https://tc39.es/ecma262/#sec-toobject\nmodule.exports = function (argument) {\n  return $Object(requireObjectCoercible(argument));\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar isObject = require('../internals/is-object');\nvar isSymbol = require('../internals/is-symbol');\nvar getMethod = require('../internals/get-method');\nvar ordinaryToPrimitive = require('../internals/ordinary-to-primitive');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar $TypeError = TypeError;\nvar TO_PRIMITIVE = wellKnownSymbol('toPrimitive');\n\n// `ToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-toprimitive\nmodule.exports = function (input, pref) {\n  if (!isObject(input) || isSymbol(input)) return input;\n  var exoticToPrim = getMethod(input, TO_PRIMITIVE);\n  var result;\n  if (exoticToPrim) {\n    if (pref === undefined) pref = 'default';\n    result = call(exoticToPrim, input, pref);\n    if (!isObject(result) || isSymbol(result)) return result;\n    throw new $TypeError(\"Can't convert object to primitive value\");\n  }\n  if (pref === undefined) pref = 'number';\n  return ordinaryToPrimitive(input, pref);\n};\n","'use strict';\nvar toPrimitive = require('../internals/to-primitive');\nvar isSymbol = require('../internals/is-symbol');\n\n// `ToPropertyKey` abstract operation\n// https://tc39.es/ecma262/#sec-topropertykey\nmodule.exports = function (argument) {\n  var key = toPrimitive(argument, 'string');\n  return isSymbol(key) ? key : key + '';\n};\n","'use strict';\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar test = {};\n\ntest[TO_STRING_TAG] = 'z';\n\nmodule.exports = String(test) === '[object z]';\n","'use strict';\nvar classof = require('../internals/classof');\n\nvar $String = String;\n\nmodule.exports = function (argument) {\n  if (classof(argument) === 'Symbol') throw new TypeError('Cannot convert a Symbol value to a string');\n  return $String(argument);\n};\n","'use strict';\nvar $String = String;\n\nmodule.exports = function (argument) {\n  try {\n    return $String(argument);\n  } catch (error) {\n    return 'Object';\n  }\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nvar id = 0;\nvar postfix = Math.random();\nvar toString = uncurryThis(1.0.toString);\n\nmodule.exports = function (key) {\n  return 'Symbol(' + (key === undefined ? '' : key) + ')_' + toString(++id + postfix, 36);\n};\n","'use strict';\n/* eslint-disable es/no-symbol -- required for testing */\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\n\nmodule.exports = NATIVE_SYMBOL &&\n  !Symbol.sham &&\n  typeof Symbol.iterator == 'symbol';\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\n\n// V8 ~ Chrome 36-\n// https://bugs.chromium.org/p/v8/issues/detail?id=3334\nmodule.exports = DESCRIPTORS && fails(function () {\n  // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n  return Object.defineProperty(function () { /* empty */ }, 'prototype', {\n    value: 42,\n    writable: false\n  }).prototype !== 42;\n});\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar isCallable = require('../internals/is-callable');\n\nvar WeakMap = globalThis.WeakMap;\n\nmodule.exports = isCallable(WeakMap) && /native code/.test(String(WeakMap));\n","'use strict';\nvar path = require('../internals/path');\nvar hasOwn = require('../internals/has-own-property');\nvar wrappedWellKnownSymbolModule = require('../internals/well-known-symbol-wrapped');\nvar defineProperty = require('../internals/object-define-property').f;\n\nmodule.exports = function (NAME) {\n  var Symbol = path.Symbol || (path.Symbol = {});\n  if (!hasOwn(Symbol, NAME)) defineProperty(Symbol, NAME, {\n    value: wrappedWellKnownSymbolModule.f(NAME)\n  });\n};\n","'use strict';\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nexports.f = wellKnownSymbol;\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar shared = require('../internals/shared');\nvar hasOwn = require('../internals/has-own-property');\nvar uid = require('../internals/uid');\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar Symbol = globalThis.Symbol;\nvar WellKnownSymbolsStore = shared('wks');\nvar createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol['for'] || Symbol : Symbol && Symbol.withoutSetter || uid;\n\nmodule.exports = function (name) {\n  if (!hasOwn(WellKnownSymbolsStore, name)) {\n    WellKnownSymbolsStore[name] = NATIVE_SYMBOL && hasOwn(Symbol, name)\n      ? Symbol[name]\n      : createWellKnownSymbol('Symbol.' + name);\n  } return WellKnownSymbolsStore[name];\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar fails = require('../internals/fails');\nvar isArray = require('../internals/is-array');\nvar isObject = require('../internals/is-object');\nvar toObject = require('../internals/to-object');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar doesNotExceedSafeInteger = require('../internals/does-not-exceed-safe-integer');\nvar createProperty = require('../internals/create-property');\nvar arraySpeciesCreate = require('../internals/array-species-create');\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar V8_VERSION = require('../internals/environment-v8-version');\n\nvar IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable');\n\n// We can't use this feature detection in V8 since it causes\n// deoptimization and serious performance degradation\n// https://github.com/zloirock/core-js/issues/679\nvar IS_CONCAT_SPREADABLE_SUPPORT = V8_VERSION >= 51 || !fails(function () {\n  var array = [];\n  array[IS_CONCAT_SPREADABLE] = false;\n  return array.concat()[0] !== array;\n});\n\nvar isConcatSpreadable = function (O) {\n  if (!isObject(O)) return false;\n  var spreadable = O[IS_CONCAT_SPREADABLE];\n  return spreadable !== undefined ? !!spreadable : isArray(O);\n};\n\nvar FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !arrayMethodHasSpeciesSupport('concat');\n\n// `Array.prototype.concat` method\n// https://tc39.es/ecma262/#sec-array.prototype.concat\n// with adding support of @@isConcatSpreadable and @@species\n$({ target: 'Array', proto: true, arity: 1, forced: FORCED }, {\n  // eslint-disable-next-line no-unused-vars -- required for `.length`\n  concat: function concat(arg) {\n    var O = toObject(this);\n    var A = arraySpeciesCreate(O, 0);\n    var n = 0;\n    var i, k, length, len, E;\n    for (i = -1, length = arguments.length; i < length; i++) {\n      E = i === -1 ? O : arguments[i];\n      if (isConcatSpreadable(E)) {\n        len = lengthOfArrayLike(E);\n        doesNotExceedSafeInteger(n + len);\n        for (k = 0; k < len; k++, n++) if (k in E) createProperty(A, n, E[k]);\n      } else {\n        doesNotExceedSafeInteger(n + 1);\n        createProperty(A, n++, E);\n      }\n    }\n    A.length = n;\n    return A;\n  }\n});\n","'use strict';\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar addToUnscopables = require('../internals/add-to-unscopables');\nvar Iterators = require('../internals/iterators');\nvar InternalStateModule = require('../internals/internal-state');\nvar defineProperty = require('../internals/object-define-property').f;\nvar defineIterator = require('../internals/iterator-define');\nvar createIterResultObject = require('../internals/create-iter-result-object');\nvar IS_PURE = require('../internals/is-pure');\nvar DESCRIPTORS = require('../internals/descriptors');\n\nvar ARRAY_ITERATOR = 'Array Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(ARRAY_ITERATOR);\n\n// `Array.prototype.entries` method\n// https://tc39.es/ecma262/#sec-array.prototype.entries\n// `Array.prototype.keys` method\n// https://tc39.es/ecma262/#sec-array.prototype.keys\n// `Array.prototype.values` method\n// https://tc39.es/ecma262/#sec-array.prototype.values\n// `Array.prototype[@@iterator]` method\n// https://tc39.es/ecma262/#sec-array.prototype-@@iterator\n// `CreateArrayIterator` internal method\n// https://tc39.es/ecma262/#sec-createarrayiterator\nmodule.exports = defineIterator(Array, 'Array', function (iterated, kind) {\n  setInternalState(this, {\n    type: ARRAY_ITERATOR,\n    target: toIndexedObject(iterated), // target\n    index: 0,                          // next index\n    kind: kind                         // kind\n  });\n// `%ArrayIteratorPrototype%.next` method\n// https://tc39.es/ecma262/#sec-%arrayiteratorprototype%.next\n}, function () {\n  var state = getInternalState(this);\n  var target = state.target;\n  var index = state.index++;\n  if (!target || index >= target.length) {\n    state.target = null;\n    return createIterResultObject(undefined, true);\n  }\n  switch (state.kind) {\n    case 'keys': return createIterResultObject(index, false);\n    case 'values': return createIterResultObject(target[index], false);\n  } return createIterResultObject([index, target[index]], false);\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values%\n// https://tc39.es/ecma262/#sec-createunmappedargumentsobject\n// https://tc39.es/ecma262/#sec-createmappedargumentsobject\nvar values = Iterators.Arguments = Iterators.Array;\n\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n\n// V8 ~ Chrome 45- bug\nif (!IS_PURE && DESCRIPTORS && values.name !== 'values') try {\n  defineProperty(values, 'name', { value: 'values' });\n} catch (error) { /* empty */ }\n","'use strict';\nvar $ = require('../internals/export');\nvar getBuiltIn = require('../internals/get-built-in');\nvar apply = require('../internals/function-apply');\nvar call = require('../internals/function-call');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar isSymbol = require('../internals/is-symbol');\nvar arraySlice = require('../internals/array-slice');\nvar getReplacerFunction = require('../internals/get-json-replacer-function');\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\n\nvar $String = String;\nvar $stringify = getBuiltIn('JSON', 'stringify');\nvar exec = uncurryThis(/./.exec);\nvar charAt = uncurryThis(''.charAt);\nvar charCodeAt = uncurryThis(''.charCodeAt);\nvar replace = uncurryThis(''.replace);\nvar numberToString = uncurryThis(1.0.toString);\n\nvar tester = /[\\uD800-\\uDFFF]/g;\nvar low = /^[\\uD800-\\uDBFF]$/;\nvar hi = /^[\\uDC00-\\uDFFF]$/;\n\nvar WRONG_SYMBOLS_CONVERSION = !NATIVE_SYMBOL || fails(function () {\n  var symbol = getBuiltIn('Symbol')('stringify detection');\n  // MS Edge converts symbol values to JSON as {}\n  return $stringify([symbol]) !== '[null]'\n    // WebKit converts symbol values to JSON as null\n    || $stringify({ a: symbol }) !== '{}'\n    // V8 throws on boxed symbols\n    || $stringify(Object(symbol)) !== '{}';\n});\n\n// https://github.com/tc39/proposal-well-formed-stringify\nvar ILL_FORMED_UNICODE = fails(function () {\n  return $stringify('\\uDF06\\uD834') !== '\"\\\\udf06\\\\ud834\"'\n    || $stringify('\\uDEAD') !== '\"\\\\udead\"';\n});\n\nvar stringifyWithSymbolsFix = function (it, replacer) {\n  var args = arraySlice(arguments);\n  var $replacer = getReplacerFunction(replacer);\n  if (!isCallable($replacer) && (it === undefined || isSymbol(it))) return; // IE8 returns string on undefined\n  args[1] = function (key, value) {\n    // some old implementations (like WebKit) could pass numbers as keys\n    if (isCallable($replacer)) value = call($replacer, this, $String(key), value);\n    if (!isSymbol(value)) return value;\n  };\n  return apply($stringify, null, args);\n};\n\nvar fixIllFormed = function (match, offset, string) {\n  var prev = charAt(string, offset - 1);\n  var next = charAt(string, offset + 1);\n  if ((exec(low, match) && !exec(hi, next)) || (exec(hi, match) && !exec(low, prev))) {\n    return '\\\\u' + numberToString(charCodeAt(match, 0), 16);\n  } return match;\n};\n\nif ($stringify) {\n  // `JSON.stringify` method\n  // https://tc39.es/ecma262/#sec-json.stringify\n  $({ target: 'JSON', stat: true, arity: 3, forced: WRONG_SYMBOLS_CONVERSION || ILL_FORMED_UNICODE }, {\n    // eslint-disable-next-line no-unused-vars -- required for `.length`\n    stringify: function stringify(it, replacer, space) {\n      var args = arraySlice(arguments);\n      var result = apply(WRONG_SYMBOLS_CONVERSION ? stringifyWithSymbolsFix : $stringify, null, args);\n      return ILL_FORMED_UNICODE && typeof result == 'string' ? replace(result, tester, fixIllFormed) : result;\n    }\n  });\n}\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar setToStringTag = require('../internals/set-to-string-tag');\n\n// JSON[@@toStringTag] property\n// https://tc39.es/ecma262/#sec-json-@@tostringtag\nsetToStringTag(globalThis.JSON, 'JSON', true);\n","'use strict';\nvar $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar defineProperty = require('../internals/object-define-property').f;\n\n// `Object.defineProperty` method\n// https://tc39.es/ecma262/#sec-object.defineproperty\n// eslint-disable-next-line es/no-object-defineproperty -- safe\n$({ target: 'Object', stat: true, forced: Object.defineProperty !== defineProperty, sham: !DESCRIPTORS }, {\n  defineProperty: defineProperty\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\nvar fails = require('../internals/fails');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar toObject = require('../internals/to-object');\n\n// V8 ~ Chrome 38 and 39 `Object.getOwnPropertySymbols` fails on primitives\n// https://bugs.chromium.org/p/v8/issues/detail?id=3443\nvar FORCED = !NATIVE_SYMBOL || fails(function () { getOwnPropertySymbolsModule.f(1); });\n\n// `Object.getOwnPropertySymbols` method\n// https://tc39.es/ecma262/#sec-object.getownpropertysymbols\n$({ target: 'Object', stat: true, forced: FORCED }, {\n  getOwnPropertySymbols: function getOwnPropertySymbols(it) {\n    var $getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n    return $getOwnPropertySymbols ? $getOwnPropertySymbols(toObject(it)) : [];\n  }\n});\n","'use strict';\nvar charAt = require('../internals/string-multibyte').charAt;\nvar toString = require('../internals/to-string');\nvar InternalStateModule = require('../internals/internal-state');\nvar defineIterator = require('../internals/iterator-define');\nvar createIterResultObject = require('../internals/create-iter-result-object');\n\nvar STRING_ITERATOR = 'String Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(STRING_ITERATOR);\n\n// `String.prototype[@@iterator]` method\n// https://tc39.es/ecma262/#sec-string.prototype-@@iterator\ndefineIterator(String, 'String', function (iterated) {\n  setInternalState(this, {\n    type: STRING_ITERATOR,\n    string: toString(iterated),\n    index: 0\n  });\n// `%StringIteratorPrototype%.next` method\n// https://tc39.es/ecma262/#sec-%stringiteratorprototype%.next\n}, function next() {\n  var state = getInternalState(this);\n  var string = state.string;\n  var index = state.index;\n  var point;\n  if (index >= string.length) return createIterResultObject(undefined, true);\n  point = charAt(string, index);\n  state.index += point.length;\n  return createIterResultObject(point, false);\n});\n","'use strict';\nvar defineWellKnownSymbol = require('../internals/well-known-symbol-define');\n\n// `Symbol.asyncIterator` well-known symbol\n// https://tc39.es/ecma262/#sec-symbol.asynciterator\ndefineWellKnownSymbol('asyncIterator');\n","'use strict';\nvar $ = require('../internals/export');\nvar globalThis = require('../internals/global-this');\nvar call = require('../internals/function-call');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar IS_PURE = require('../internals/is-pure');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\nvar fails = require('../internals/fails');\nvar hasOwn = require('../internals/has-own-property');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar anObject = require('../internals/an-object');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPropertyKey = require('../internals/to-property-key');\nvar $toString = require('../internals/to-string');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar nativeObjectCreate = require('../internals/object-create');\nvar objectKeys = require('../internals/object-keys');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertyNamesExternal = require('../internals/object-get-own-property-names-external');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\nvar definePropertiesModule = require('../internals/object-define-properties');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar defineBuiltInAccessor = require('../internals/define-built-in-accessor');\nvar shared = require('../internals/shared');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar uid = require('../internals/uid');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar wrappedWellKnownSymbolModule = require('../internals/well-known-symbol-wrapped');\nvar defineWellKnownSymbol = require('../internals/well-known-symbol-define');\nvar defineSymbolToPrimitive = require('../internals/symbol-define-to-primitive');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar InternalStateModule = require('../internals/internal-state');\nvar $forEach = require('../internals/array-iteration').forEach;\n\nvar HIDDEN = sharedKey('hidden');\nvar SYMBOL = 'Symbol';\nvar PROTOTYPE = 'prototype';\n\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(SYMBOL);\n\nvar ObjectPrototype = Object[PROTOTYPE];\nvar $Symbol = globalThis.Symbol;\nvar SymbolPrototype = $Symbol && $Symbol[PROTOTYPE];\nvar RangeError = globalThis.RangeError;\nvar TypeError = globalThis.TypeError;\nvar QObject = globalThis.QObject;\nvar nativeGetOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\nvar nativeDefineProperty = definePropertyModule.f;\nvar nativeGetOwnPropertyNames = getOwnPropertyNamesExternal.f;\nvar nativePropertyIsEnumerable = propertyIsEnumerableModule.f;\nvar push = uncurryThis([].push);\n\nvar AllSymbols = shared('symbols');\nvar ObjectPrototypeSymbols = shared('op-symbols');\nvar WellKnownSymbolsStore = shared('wks');\n\n// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173\nvar USE_SETTER = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;\n\n// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687\nvar fallbackDefineProperty = function (O, P, Attributes) {\n  var ObjectPrototypeDescriptor = nativeGetOwnPropertyDescriptor(ObjectPrototype, P);\n  if (ObjectPrototypeDescriptor) delete ObjectPrototype[P];\n  nativeDefineProperty(O, P, Attributes);\n  if (ObjectPrototypeDescriptor && O !== ObjectPrototype) {\n    nativeDefineProperty(ObjectPrototype, P, ObjectPrototypeDescriptor);\n  }\n};\n\nvar setSymbolDescriptor = DESCRIPTORS && fails(function () {\n  return nativeObjectCreate(nativeDefineProperty({}, 'a', {\n    get: function () { return nativeDefineProperty(this, 'a', { value: 7 }).a; }\n  })).a !== 7;\n}) ? fallbackDefineProperty : nativeDefineProperty;\n\nvar wrap = function (tag, description) {\n  var symbol = AllSymbols[tag] = nativeObjectCreate(SymbolPrototype);\n  setInternalState(symbol, {\n    type: SYMBOL,\n    tag: tag,\n    description: description\n  });\n  if (!DESCRIPTORS) symbol.description = description;\n  return symbol;\n};\n\nvar $defineProperty = function defineProperty(O, P, Attributes) {\n  if (O === ObjectPrototype) $defineProperty(ObjectPrototypeSymbols, P, Attributes);\n  anObject(O);\n  var key = toPropertyKey(P);\n  anObject(Attributes);\n  if (hasOwn(AllSymbols, key)) {\n    if (!Attributes.enumerable) {\n      if (!hasOwn(O, HIDDEN)) nativeDefineProperty(O, HIDDEN, createPropertyDescriptor(1, nativeObjectCreate(null)));\n      O[HIDDEN][key] = true;\n    } else {\n      if (hasOwn(O, HIDDEN) && O[HIDDEN][key]) O[HIDDEN][key] = false;\n      Attributes = nativeObjectCreate(Attributes, { enumerable: createPropertyDescriptor(0, false) });\n    } return setSymbolDescriptor(O, key, Attributes);\n  } return nativeDefineProperty(O, key, Attributes);\n};\n\nvar $defineProperties = function defineProperties(O, Properties) {\n  anObject(O);\n  var properties = toIndexedObject(Properties);\n  var keys = objectKeys(properties).concat($getOwnPropertySymbols(properties));\n  $forEach(keys, function (key) {\n    if (!DESCRIPTORS || call($propertyIsEnumerable, properties, key)) $defineProperty(O, key, properties[key]);\n  });\n  return O;\n};\n\nvar $create = function create(O, Properties) {\n  return Properties === undefined ? nativeObjectCreate(O) : $defineProperties(nativeObjectCreate(O), Properties);\n};\n\nvar $propertyIsEnumerable = function propertyIsEnumerable(V) {\n  var P = toPropertyKey(V);\n  var enumerable = call(nativePropertyIsEnumerable, this, P);\n  if (this === ObjectPrototype && hasOwn(AllSymbols, P) && !hasOwn(ObjectPrototypeSymbols, P)) return false;\n  return enumerable || !hasOwn(this, P) || !hasOwn(AllSymbols, P) || hasOwn(this, HIDDEN) && this[HIDDEN][P]\n    ? enumerable : true;\n};\n\nvar $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(O, P) {\n  var it = toIndexedObject(O);\n  var key = toPropertyKey(P);\n  if (it === ObjectPrototype && hasOwn(AllSymbols, key) && !hasOwn(ObjectPrototypeSymbols, key)) return;\n  var descriptor = nativeGetOwnPropertyDescriptor(it, key);\n  if (descriptor && hasOwn(AllSymbols, key) && !(hasOwn(it, HIDDEN) && it[HIDDEN][key])) {\n    descriptor.enumerable = true;\n  }\n  return descriptor;\n};\n\nvar $getOwnPropertyNames = function getOwnPropertyNames(O) {\n  var names = nativeGetOwnPropertyNames(toIndexedObject(O));\n  var result = [];\n  $forEach(names, function (key) {\n    if (!hasOwn(AllSymbols, key) && !hasOwn(hiddenKeys, key)) push(result, key);\n  });\n  return result;\n};\n\nvar $getOwnPropertySymbols = function (O) {\n  var IS_OBJECT_PROTOTYPE = O === ObjectPrototype;\n  var names = nativeGetOwnPropertyNames(IS_OBJECT_PROTOTYPE ? ObjectPrototypeSymbols : toIndexedObject(O));\n  var result = [];\n  $forEach(names, function (key) {\n    if (hasOwn(AllSymbols, key) && (!IS_OBJECT_PROTOTYPE || hasOwn(ObjectPrototype, key))) {\n      push(result, AllSymbols[key]);\n    }\n  });\n  return result;\n};\n\n// `Symbol` constructor\n// https://tc39.es/ecma262/#sec-symbol-constructor\nif (!NATIVE_SYMBOL) {\n  $Symbol = function Symbol() {\n    if (isPrototypeOf(SymbolPrototype, this)) throw new TypeError('Symbol is not a constructor');\n    var description = !arguments.length || arguments[0] === undefined ? undefined : $toString(arguments[0]);\n    var tag = uid(description);\n    var setter = function (value) {\n      var $this = this === undefined ? globalThis : this;\n      if ($this === ObjectPrototype) call(setter, ObjectPrototypeSymbols, value);\n      if (hasOwn($this, HIDDEN) && hasOwn($this[HIDDEN], tag)) $this[HIDDEN][tag] = false;\n      var descriptor = createPropertyDescriptor(1, value);\n      try {\n        setSymbolDescriptor($this, tag, descriptor);\n      } catch (error) {\n        if (!(error instanceof RangeError)) throw error;\n        fallbackDefineProperty($this, tag, descriptor);\n      }\n    };\n    if (DESCRIPTORS && USE_SETTER) setSymbolDescriptor(ObjectPrototype, tag, { configurable: true, set: setter });\n    return wrap(tag, description);\n  };\n\n  SymbolPrototype = $Symbol[PROTOTYPE];\n\n  defineBuiltIn(SymbolPrototype, 'toString', function toString() {\n    return getInternalState(this).tag;\n  });\n\n  defineBuiltIn($Symbol, 'withoutSetter', function (description) {\n    return wrap(uid(description), description);\n  });\n\n  propertyIsEnumerableModule.f = $propertyIsEnumerable;\n  definePropertyModule.f = $defineProperty;\n  definePropertiesModule.f = $defineProperties;\n  getOwnPropertyDescriptorModule.f = $getOwnPropertyDescriptor;\n  getOwnPropertyNamesModule.f = getOwnPropertyNamesExternal.f = $getOwnPropertyNames;\n  getOwnPropertySymbolsModule.f = $getOwnPropertySymbols;\n\n  wrappedWellKnownSymbolModule.f = function (name) {\n    return wrap(wellKnownSymbol(name), name);\n  };\n\n  if (DESCRIPTORS) {\n    // https://github.com/tc39/proposal-Symbol-description\n    defineBuiltInAccessor(SymbolPrototype, 'description', {\n      configurable: true,\n      get: function description() {\n        return getInternalState(this).description;\n      }\n    });\n    if (!IS_PURE) {\n      defineBuiltIn(ObjectPrototype, 'propertyIsEnumerable', $propertyIsEnumerable, { unsafe: true });\n    }\n  }\n}\n\n$({ global: true, constructor: true, wrap: true, forced: !NATIVE_SYMBOL, sham: !NATIVE_SYMBOL }, {\n  Symbol: $Symbol\n});\n\n$forEach(objectKeys(WellKnownSymbolsStore), function (name) {\n  defineWellKnownSymbol(name);\n});\n\n$({ target: SYMBOL, stat: true, forced: !NATIVE_SYMBOL }, {\n  useSetter: function () { USE_SETTER = true; },\n  useSimple: function () { USE_SETTER = false; }\n});\n\n$({ target: 'Object', stat: true, forced: !NATIVE_SYMBOL, sham: !DESCRIPTORS }, {\n  // `Object.create` method\n  // https://tc39.es/ecma262/#sec-object.create\n  create: $create,\n  // `Object.defineProperty` method\n  // https://tc39.es/ecma262/#sec-object.defineproperty\n  defineProperty: $defineProperty,\n  // `Object.defineProperties` method\n  // https://tc39.es/ecma262/#sec-object.defineproperties\n  defineProperties: $defineProperties,\n  // `Object.getOwnPropertyDescriptor` method\n  // https://tc39.es/ecma262/#sec-object.getownpropertydescriptors\n  getOwnPropertyDescriptor: $getOwnPropertyDescriptor\n});\n\n$({ target: 'Object', stat: true, forced: !NATIVE_SYMBOL }, {\n  // `Object.getOwnPropertyNames` method\n  // https://tc39.es/ecma262/#sec-object.getownpropertynames\n  getOwnPropertyNames: $getOwnPropertyNames\n});\n\n// `Symbol.prototype[@@toPrimitive]` method\n// https://tc39.es/ecma262/#sec-symbol.prototype-@@toprimitive\ndefineSymbolToPrimitive();\n\n// `Symbol.prototype[@@toStringTag]` property\n// https://tc39.es/ecma262/#sec-symbol.prototype-@@tostringtag\nsetToStringTag($Symbol, SYMBOL);\n\nhiddenKeys[HIDDEN] = true;\n","'use strict';\nvar $ = require('../internals/export');\nvar getBuiltIn = require('../internals/get-built-in');\nvar hasOwn = require('../internals/has-own-property');\nvar toString = require('../internals/to-string');\nvar shared = require('../internals/shared');\nvar NATIVE_SYMBOL_REGISTRY = require('../internals/symbol-registry-detection');\n\nvar StringToSymbolRegistry = shared('string-to-symbol-registry');\nvar SymbolToStringRegistry = shared('symbol-to-string-registry');\n\n// `Symbol.for` method\n// https://tc39.es/ecma262/#sec-symbol.for\n$({ target: 'Symbol', stat: true, forced: !NATIVE_SYMBOL_REGISTRY }, {\n  'for': function (key) {\n    var string = toString(key);\n    if (hasOwn(StringToSymbolRegistry, string)) return StringToSymbolRegistry[string];\n    var symbol = getBuiltIn('Symbol')(string);\n    StringToSymbolRegistry[string] = symbol;\n    SymbolToStringRegistry[symbol] = string;\n    return symbol;\n  }\n});\n","'use strict';\nvar defineWellKnownSymbol = require('../internals/well-known-symbol-define');\n\n// `Symbol.hasInstance` well-known symbol\n// https://tc39.es/ecma262/#sec-symbol.hasinstance\ndefineWellKnownSymbol('hasInstance');\n","'use strict';\nvar defineWellKnownSymbol = require('../internals/well-known-symbol-define');\n\n// `Symbol.isConcatSpreadable` well-known symbol\n// https://tc39.es/ecma262/#sec-symbol.isconcatspreadable\ndefineWellKnownSymbol('isConcatSpreadable');\n","'use strict';\nvar defineWellKnownSymbol = require('../internals/well-known-symbol-define');\n\n// `Symbol.iterator` well-known symbol\n// https://tc39.es/ecma262/#sec-symbol.iterator\ndefineWellKnownSymbol('iterator');\n","'use strict';\n// TODO: Remove this module from `core-js@4` since it's split to modules listed below\nrequire('../modules/es.symbol.constructor');\nrequire('../modules/es.symbol.for');\nrequire('../modules/es.symbol.key-for');\nrequire('../modules/es.json.stringify');\nrequire('../modules/es.object.get-own-property-symbols');\n","'use strict';\nvar $ = require('../internals/export');\nvar hasOwn = require('../internals/has-own-property');\nvar isSymbol = require('../internals/is-symbol');\nvar tryToString = require('../internals/try-to-string');\nvar shared = require('../internals/shared');\nvar NATIVE_SYMBOL_REGISTRY = require('../internals/symbol-registry-detection');\n\nvar SymbolToStringRegistry = shared('symbol-to-string-registry');\n\n// `Symbol.keyFor` method\n// https://tc39.es/ecma262/#sec-symbol.keyfor\n$({ target: 'Symbol', stat: true, forced: !NATIVE_SYMBOL_REGISTRY }, {\n  keyFor: function keyFor(sym) {\n    if (!isSymbol(sym)) throw new TypeError(tryToString(sym) + ' is not a symbol');\n    if (hasOwn(SymbolToStringRegistry, sym)) return SymbolToStringRegistry[sym];\n  }\n});\n","'use strict';\nvar defineWellKnownSymbol = require('../internals/well-known-symbol-define');\n\n// `Symbol.matchAll` well-known symbol\n// https://tc39.es/ecma262/#sec-symbol.matchall\ndefineWellKnownSymbol('matchAll');\n","'use strict';\nvar defineWellKnownSymbol = require('../internals/well-known-symbol-define');\n\n// `Symbol.match` well-known symbol\n// https://tc39.es/ecma262/#sec-symbol.match\ndefineWellKnownSymbol('match');\n","'use strict';\nvar defineWellKnownSymbol = require('../internals/well-known-symbol-define');\n\n// `Symbol.replace` well-known symbol\n// https://tc39.es/ecma262/#sec-symbol.replace\ndefineWellKnownSymbol('replace');\n","'use strict';\nvar defineWellKnownSymbol = require('../internals/well-known-symbol-define');\n\n// `Symbol.search` well-known symbol\n// https://tc39.es/ecma262/#sec-symbol.search\ndefineWellKnownSymbol('search');\n","'use strict';\nvar defineWellKnownSymbol = require('../internals/well-known-symbol-define');\n\n// `Symbol.species` well-known symbol\n// https://tc39.es/ecma262/#sec-symbol.species\ndefineWellKnownSymbol('species');\n","'use strict';\nvar defineWellKnownSymbol = require('../internals/well-known-symbol-define');\n\n// `Symbol.split` well-known symbol\n// https://tc39.es/ecma262/#sec-symbol.split\ndefineWellKnownSymbol('split');\n","'use strict';\nvar defineWellKnownSymbol = require('../internals/well-known-symbol-define');\nvar defineSymbolToPrimitive = require('../internals/symbol-define-to-primitive');\n\n// `Symbol.toPrimitive` well-known symbol\n// https://tc39.es/ecma262/#sec-symbol.toprimitive\ndefineWellKnownSymbol('toPrimitive');\n\n// `Symbol.prototype[@@toPrimitive]` method\n// https://tc39.es/ecma262/#sec-symbol.prototype-@@toprimitive\ndefineSymbolToPrimitive();\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar defineWellKnownSymbol = require('../internals/well-known-symbol-define');\nvar setToStringTag = require('../internals/set-to-string-tag');\n\n// `Symbol.toStringTag` well-known symbol\n// https://tc39.es/ecma262/#sec-symbol.tostringtag\ndefineWellKnownSymbol('toStringTag');\n\n// `Symbol.prototype[@@toStringTag]` property\n// https://tc39.es/ecma262/#sec-symbol.prototype-@@tostringtag\nsetToStringTag(getBuiltIn('Symbol'), 'Symbol');\n","'use strict';\nvar defineWellKnownSymbol = require('../internals/well-known-symbol-define');\n\n// `Symbol.unscopables` well-known symbol\n// https://tc39.es/ecma262/#sec-symbol.unscopables\ndefineWellKnownSymbol('unscopables');\n","'use strict';\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar defineProperty = require('../internals/object-define-property').f;\n\nvar METADATA = wellKnownSymbol('metadata');\nvar FunctionPrototype = Function.prototype;\n\n// Function.prototype[@@metadata]\n// https://github.com/tc39/proposal-decorator-metadata\nif (FunctionPrototype[METADATA] === undefined) {\n  defineProperty(FunctionPrototype, METADATA, {\n    value: null\n  });\n}\n","'use strict';\nvar defineWellKnownSymbol = require('../internals/well-known-symbol-define');\n\n// `Symbol.asyncDispose` well-known symbol\n// https://github.com/tc39/proposal-async-explicit-resource-management\ndefineWellKnownSymbol('asyncDispose');\n","'use strict';\nvar defineWellKnownSymbol = require('../internals/well-known-symbol-define');\n\n// `Symbol.customMatcher` well-known symbol\n// https://github.com/tc39/proposal-pattern-matching\ndefineWellKnownSymbol('customMatcher');\n","'use strict';\nvar defineWellKnownSymbol = require('../internals/well-known-symbol-define');\n\n// `Symbol.dispose` well-known symbol\n// https://github.com/tc39/proposal-explicit-resource-management\ndefineWellKnownSymbol('dispose');\n","'use strict';\nvar $ = require('../internals/export');\nvar isRegisteredSymbol = require('../internals/symbol-is-registered');\n\n// `Symbol.isRegisteredSymbol` method\n// https://tc39.es/proposal-symbol-predicates/#sec-symbol-isregisteredsymbol\n$({ target: 'Symbol', stat: true }, {\n  isRegisteredSymbol: isRegisteredSymbol\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar isRegisteredSymbol = require('../internals/symbol-is-registered');\n\n// `Symbol.isRegistered` method\n// obsolete version of https://tc39.es/proposal-symbol-predicates/#sec-symbol-isregisteredsymbol\n$({ target: 'Symbol', stat: true, name: 'isRegisteredSymbol' }, {\n  isRegistered: isRegisteredSymbol\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar isWellKnownSymbol = require('../internals/symbol-is-well-known');\n\n// `Symbol.isWellKnownSymbol` method\n// https://tc39.es/proposal-symbol-predicates/#sec-symbol-iswellknownsymbol\n// We should patch it for newly added well-known symbols. If it's not required, this module just will not be injected\n$({ target: 'Symbol', stat: true, forced: true }, {\n  isWellKnownSymbol: isWellKnownSymbol\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar isWellKnownSymbol = require('../internals/symbol-is-well-known');\n\n// `Symbol.isWellKnown` method\n// obsolete version of https://tc39.es/proposal-symbol-predicates/#sec-symbol-iswellknownsymbol\n// We should patch it for newly added well-known symbols. If it's not required, this module just will not be injected\n$({ target: 'Symbol', stat: true, name: 'isWellKnownSymbol', forced: true }, {\n  isWellKnown: isWellKnownSymbol\n});\n","'use strict';\nvar defineWellKnownSymbol = require('../internals/well-known-symbol-define');\n\n// `Symbol.matcher` well-known symbol\n// https://github.com/tc39/proposal-pattern-matching\ndefineWellKnownSymbol('matcher');\n","'use strict';\n// TODO: Remove from `core-js@4`\nvar defineWellKnownSymbol = require('../internals/well-known-symbol-define');\n\n// `Symbol.metadataKey` well-known symbol\n// https://github.com/tc39/proposal-decorator-metadata\ndefineWellKnownSymbol('metadataKey');\n","'use strict';\nvar defineWellKnownSymbol = require('../internals/well-known-symbol-define');\n\n// `Symbol.metadata` well-known symbol\n// https://github.com/tc39/proposal-decorators\ndefineWellKnownSymbol('metadata');\n","'use strict';\nvar defineWellKnownSymbol = require('../internals/well-known-symbol-define');\n\n// `Symbol.observable` well-known symbol\n// https://github.com/tc39/proposal-observable\ndefineWellKnownSymbol('observable');\n","'use strict';\n// TODO: remove from `core-js@4`\nvar defineWellKnownSymbol = require('../internals/well-known-symbol-define');\n\n// `Symbol.patternMatch` well-known symbol\n// https://github.com/tc39/proposal-pattern-matching\ndefineWellKnownSymbol('patternMatch');\n","'use strict';\n// TODO: remove from `core-js@4`\nvar defineWellKnownSymbol = require('../internals/well-known-symbol-define');\n\ndefineWellKnownSymbol('replaceAll');\n","'use strict';\nrequire('../modules/es.array.iterator');\nvar DOMIterables = require('../internals/dom-iterables');\nvar globalThis = require('../internals/global-this');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar Iterators = require('../internals/iterators');\n\nfor (var COLLECTION_NAME in DOMIterables) {\n  setToStringTag(globalThis[COLLECTION_NAME], COLLECTION_NAME);\n  Iterators[COLLECTION_NAME] = Iterators.Array;\n}\n","'use strict';\nvar parent = require('../../es/object/define-property');\n\nmodule.exports = parent;\n","'use strict';\nvar parent = require('../../es/symbol');\nrequire('../../modules/web.dom-collections.iterator');\n\nmodule.exports = parent;\n","'use strict';\nvar parent = require('../../es/symbol/iterator');\nrequire('../../modules/web.dom-collections.iterator');\n\nmodule.exports = parent;\n","'use strict';\nvar parent = require('../../es/symbol/to-primitive');\n\nmodule.exports = parent;\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = function(module) {\n\tvar getter = module && module.__esModule ?\n\t\tfunction() { return module['default']; } :\n\t\tfunction() { return module; };\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","// define __esModule on exports\n__webpack_require__.r = function(exports) {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","/**\n * Big Number Helpers\n */\nimport BigNumber from 'bignumber.js';\n\n/**\n * Check if value is BigNumber, Number, BigInt or number string representation\n * @param number - number to check\n */\nexport const isBigNumber = (number: string | number | bigint | BigNumber): boolean => {\n  if (typeof number === 'bigint') return true;\n  return (\n    ['number', 'object', 'string'].includes(typeof number) &&\n    // eslint-disable-next-line no-restricted-globals\n    (!isNaN(number as number) || Number.isInteger(number) || BigNumber.isBigNumber(number))\n  );\n};\n\n/**\n * BigNumber ceil operation\n */\nexport const ceil = (bigNumber: BigNumber): BigNumber =>\n  bigNumber.integerValue(BigNumber.ROUND_CEIL);\n","// eslint-disable-next-line max-classes-per-file\nimport BigNumber from 'bignumber.js';\nimport { AensName, Int } from '../tx/builder/constants.js';\nimport * as Encoded from './encoder-types.js';\n\n/**\n * aepp-sdk originated error\n * @category exception\n */\nexport abstract class BaseError extends Error {\n  constructor(message: string) {\n    super(message);\n    this.name = 'BaseError';\n  }\n}\n\n/**\n * @category exception\n */\nexport class AccountError extends BaseError {\n  constructor(message: string) {\n    super(message);\n    this.name = 'AccountError';\n  }\n}\n\n/**\n * @category exception\n */\nexport class AensError extends BaseError {\n  constructor(message: string) {\n    super(message);\n    this.name = 'AensError';\n  }\n}\n\n/**\n * @category exception\n */\nexport class AeppError extends BaseError {\n  constructor(message: string) {\n    super(message);\n    this.name = 'AeppError';\n  }\n}\n\n/**\n * @category exception\n */\nexport class ChannelError extends BaseError {\n  constructor(message: string) {\n    super(message);\n    this.name = 'ChannelError';\n  }\n}\n\n/**\n * @category exception\n */\nexport class CompilerError extends BaseError {\n  constructor(message: string) {\n    super(message);\n    this.name = 'CompilerError';\n  }\n}\n\n/**\n * @category exception\n */\nexport class ContractError extends BaseError {\n  constructor(message: string) {\n    super(message);\n    this.name = 'ContractError';\n  }\n}\n\n/**\n * @category exception\n */\nexport class CryptographyError extends BaseError {\n  constructor(message: string) {\n    super(message);\n    this.name = 'CryptographyError';\n  }\n}\n\n/**\n * @category exception\n */\nexport class NodeError extends BaseError {\n  constructor(message: string) {\n    super(message);\n    this.name = 'NodeError';\n  }\n}\n\n/**\n * @category exception\n */\nexport class TransactionError extends BaseError {\n  constructor(message: string) {\n    super(message);\n    this.name = 'TransactionError';\n  }\n}\n\n/**\n * @category exception\n */\nexport class WalletError extends BaseError {\n  constructor(message: string) {\n    super(message);\n    this.name = 'WalletError';\n  }\n}\n\n/**\n * @category exception\n */\nexport class ArgumentError extends BaseError {\n  constructor(argumentName: string, requirement: unknown, argumentValue: unknown) {\n    super(`${argumentName} should be ${requirement}, got ${argumentValue} instead`);\n    this.name = 'ArgumentError';\n  }\n}\n\n/**\n * @category exception\n */\nexport class IllegalArgumentError extends CryptographyError {\n  constructor(message: string) {\n    super(message);\n    this.name = 'IllegalArgumentError';\n  }\n}\n\n/**\n * @category exception\n */\nexport class ArgumentCountMismatchError extends BaseError {\n  constructor(functionName: string, requiredCount: number, providedCount: number) {\n    super(`${functionName} expects ${requiredCount} arguments, got ${providedCount} instead`);\n    this.name = 'ArgumentCountMismatchError';\n  }\n}\n\n/**\n * @category exception\n */\nexport class InsufficientBalanceError extends BaseError {\n  constructor(message: string) {\n    super(message);\n    this.name = 'InsufficientBalanceError';\n  }\n}\n\n/**\n * @category exception\n */\nexport class MissingParamError extends BaseError {\n  constructor(message: string) {\n    super(message);\n    this.name = 'MissingParamError';\n  }\n}\n\n/**\n * @category exception\n */\nexport class NoSerializerFoundError extends BaseError {\n  constructor() {\n    super('Byte serialization not supported');\n    this.name = 'NoSerializerFoundError';\n  }\n}\n\n/**\n * @category exception\n */\nexport class RequestTimedOutError extends BaseError {\n  constructor(height: number) {\n    super(`Giving up at height ${height}`);\n    this.name = 'RequestTimedOutError';\n  }\n}\n\n/**\n * @category exception\n */\nexport class TxTimedOutError extends BaseError {\n  constructor(blocks: number, th: Encoded.TxHash) {\n    super(`Giving up after ${blocks} blocks mined, transaction hash: ${th}`);\n    this.name = 'TxTimedOutError';\n  }\n}\n\n/**\n * @category exception\n */\nexport class TypeError extends BaseError {\n  constructor(message: string) {\n    super(message);\n    this.name = 'TypeError';\n  }\n}\n\n/**\n * @category exception\n */\nexport class UnsupportedPlatformError extends BaseError {\n  constructor(message: string) {\n    super(message);\n    this.name = 'UnsupportedPlatformError';\n  }\n}\n\n/**\n * @category exception\n */\nexport class UnsupportedProtocolError extends BaseError {\n  constructor(message: string) {\n    super(message);\n    this.name = 'UnsupportedProtocolError';\n  }\n}\n\n/**\n * @category exception\n */\nexport class NotImplementedError extends BaseError {\n  constructor(message: string) {\n    super(message);\n    this.name = 'NotImplementedError';\n  }\n}\n\n/**\n * @category exception\n */\nexport class UnsupportedVersionError extends BaseError {\n  constructor(dependency: string, version: string, geVersion: string, ltVersion?: string) {\n    super(\n      `Unsupported ${dependency} version ${version}. Supported: >= ${geVersion}` +\n        (ltVersion == null ? '' : ` < ${ltVersion}`),\n    );\n    this.name = 'UnsupportedVersionError';\n  }\n}\n\n/**\n * @category exception\n */\nexport class LogicError extends BaseError {\n  constructor(message: string) {\n    super(message);\n    this.name = 'LogicError';\n  }\n}\n\n/**\n * @category exception\n */\nexport class InternalError extends BaseError {\n  constructor(message: string) {\n    super(message);\n    this.name = 'InternalError';\n  }\n}\n\n/**\n * @category exception\n */\nexport class UnexpectedTsError extends InternalError {\n  constructor(message = 'Expected to not happen, required for TS') {\n    super(message);\n    this.name = 'UnexpectedTsError';\n  }\n}\n\n/**\n * @category exception\n */\nexport class UnavailableAccountError extends AccountError {\n  constructor(address: Encoded.AccountAddress) {\n    super(`Account for ${address} not available`);\n    this.name = 'UnavailableAccountError';\n  }\n}\n\n/**\n * @category exception\n */\nexport class AensPointerContextError extends AensError {\n  constructor(nameOrId: AensName | Encoded.Name, prefix: string) {\n    super(`Name ${nameOrId} don't have pointers for ${prefix}`);\n    this.name = 'AensPointerContextError';\n  }\n}\n\n/**\n * @category exception\n */\nexport class InsufficientNameFeeError extends AensError {\n  constructor(nameFee: BigNumber, minNameFee: BigNumber) {\n    super(\n      `the provided fee ${nameFee.toString()} is not enough to execute the claim, required: ${minNameFee.toString()}`,\n    );\n    this.name = 'InsufficientNameFeeError';\n  }\n}\n\n/**\n * @category exception\n */\nexport class InvalidAensNameError extends AensError {\n  constructor(message: string) {\n    super(message);\n    this.name = 'InvalidAensNameError';\n  }\n}\n\n/**\n * @category exception\n */\nexport class InvalidRpcMessageError extends AeppError {\n  constructor(message: string) {\n    super(`Received invalid message: ${message}`);\n    this.name = 'InvalidRpcMessageError';\n  }\n}\n\n/**\n * @category exception\n */\nexport class MissingCallbackError extends AeppError {\n  constructor(id: number) {\n    super(`Can't find callback for this messageId ${id}`);\n    this.name = 'MissingCallbackError';\n  }\n}\n\n/**\n * @category exception\n */\nexport class UnAuthorizedAccountError extends AeppError {\n  constructor(onAccount: Encoded.AccountAddress) {\n    super(`You do not have access to account ${onAccount}`);\n    this.name = 'UnAuthorizedAccountError';\n  }\n}\n\n/**\n * @category exception\n */\nexport class UnknownRpcClientError extends AeppError {\n  constructor(id: string) {\n    super(`RpcClient with id ${id} do not exist`);\n    this.name = 'UnknownRpcClientError';\n  }\n}\n\n/**\n * @category exception\n */\nexport class UnsubscribedAccountError extends AeppError {\n  constructor() {\n    super('You are not subscribed for an account.');\n    this.name = 'UnsubscribedAccountError';\n  }\n}\n\n/**\n * @category exception\n */\nexport class ChannelCallError extends ChannelError {\n  constructor(message: string) {\n    super(message);\n    this.name = 'ChannelCallError';\n  }\n}\n\n/**\n * @category exception\n */\nexport class ChannelConnectionError extends ChannelError {\n  constructor(message: string) {\n    super(message);\n    this.name = 'ChannelConnectionError';\n  }\n}\n\n/**\n * @category exception\n */\nexport class ChannelPingTimedOutError extends ChannelError {\n  constructor() {\n    super('Server pong timed out');\n    this.name = 'ChannelPingTimedOutError';\n  }\n}\n\n/**\n * @category exception\n */\nexport class UnexpectedChannelMessageError extends ChannelError {\n  constructor(message: string) {\n    super(message);\n    this.name = 'UnexpectedChannelMessageError';\n  }\n}\n\n/**\n * @category exception\n */\nexport class ChannelIncomingMessageError extends ChannelError {\n  handlerError: Error;\n\n  incomingMessage: { [key: string]: any };\n\n  constructor(handlerError: Error, incomingMessage: { [key: string]: any }) {\n    super(handlerError.message);\n    this.handlerError = handlerError;\n    this.incomingMessage = incomingMessage;\n    this.name = 'ChannelIncomingMessageError';\n  }\n}\n\n/**\n * @category exception\n */\nexport class UnknownChannelStateError extends ChannelError {\n  constructor() {\n    super('State Channels FSM entered unknown state');\n    this.name = 'UnknownChannelStateError';\n  }\n}\n\n/**\n * @category exception\n */\nexport class InvalidAuthDataError extends CompilerError {\n  constructor(message: string) {\n    super(message);\n    this.name = 'InvalidAuthDataError';\n  }\n}\n\n/**\n * @category exception\n */\nexport class BytecodeMismatchError extends ContractError {\n  constructor(source: 'source code' | 'bytecode' | 'ACI', details: string = '') {\n    super(`Contract ${source} do not correspond to the bytecode deployed on the chain` + details);\n    this.name = 'BytecodeMismatchError';\n  }\n}\n\n/**\n * @category exception\n */\nexport class DuplicateContractError extends ContractError {\n  constructor() {\n    super('Contract already deployed');\n    this.name = 'DuplicateContractError';\n  }\n}\n\n/**\n * @category exception\n */\nexport class InactiveContractError extends ContractError {\n  constructor(contractAddress: Encoded.ContractAddress) {\n    super(`Contract with address ${contractAddress} not active`);\n    this.name = 'InactiveContractError';\n  }\n}\n\n/**\n * @category exception\n */\nexport class InvalidMethodInvocationError extends ContractError {\n  constructor(message: string) {\n    super(message);\n    this.name = 'InvalidMethodInvocationError';\n  }\n}\n\n/**\n * @category exception\n */\nexport class MissingContractAddressError extends ContractError {\n  constructor(message: string) {\n    super(message);\n    this.name = 'MissingContractAddressError';\n  }\n}\n\n/**\n * @category exception\n */\nexport class MissingContractDefError extends ContractError {\n  constructor() {\n    super('Either ACI or sourceCode or sourceCodePath is required');\n    this.name = 'MissingContractDefError';\n  }\n}\n\n/**\n * @category exception\n */\nexport class MissingFunctionNameError extends ContractError {\n  constructor() {\n    super('Function name is required');\n    this.name = 'MissingFunctionNameError';\n  }\n}\n\n/**\n * @category exception\n */\nexport class NodeInvocationError extends ContractError {\n  transaction?: Encoded.Transaction;\n\n  constructor(message: string, transaction?: Encoded.Transaction) {\n    super(`Invocation failed${message == null ? '' : `: \"${message}\"`}`);\n    this.name = 'NodeInvocationError';\n    this.transaction = transaction;\n  }\n}\n\n/**\n * @category exception\n */\nexport class NoSuchContractFunctionError extends ContractError {\n  constructor(name: string) {\n    super(`Function ${name} doesn't exist in contract`);\n    this.name = 'NoSuchContractFunctionError';\n  }\n}\n\n/**\n * @category exception\n */\nexport class NotPayableFunctionError extends ContractError {\n  constructor(amount: Int, fn: string) {\n    super(\n      `You try to pay \"${amount}\" to function \"${fn}\" which is not payable. ` +\n        'Only payable function can accept coins',\n    );\n    this.name = 'NotPayableFunctionError';\n  }\n}\n\n/**\n * @category exception\n */\nexport class MissingEventDefinitionError extends ContractError {\n  constructor(eventNameHash: string, eventAddress: Encoded.ContractAddress) {\n    super(\n      `Can't find definition of ${eventNameHash} event emitted by ${eventAddress}` +\n        ' (use omitUnknown option to ignore events like this)',\n    );\n    this.name = 'MissingEventDefinitionError';\n  }\n}\n\n/**\n * @category exception\n */\nexport class AmbiguousEventDefinitionError extends ContractError {\n  constructor(eventAddress: Encoded.ContractAddress, matchedEvents: Array<[string, string]>) {\n    super(\n      `Found multiple definitions of \"${matchedEvents[0][1]}\" event with different types emitted by` +\n        ` ${eventAddress} in ${matchedEvents.map(([name]) => `\"${name}\"`).join(', ')} contracts` +\n        ' (use contractAddressToName option to specify contract name corresponding to address)',\n    );\n    this.name = 'AmbiguousEventDefinitionError';\n  }\n}\n\n/**\n * @category exception\n */\nexport class InvalidChecksumError extends CryptographyError {\n  constructor() {\n    super('Invalid checksum');\n    this.name = 'InvalidChecksumError';\n  }\n}\n\n/**\n * @category exception\n */\nexport class MerkleTreeHashMismatchError extends CryptographyError {\n  constructor() {\n    super('Node hash is not equal to provided one');\n    this.name = 'MerkleTreeHashMismatchError';\n  }\n}\n\n/**\n * @category exception\n */\nexport class MissingNodeInTreeError extends CryptographyError {\n  constructor(message: string) {\n    super(message);\n    this.name = 'MissingNodeInTreeError';\n  }\n}\n\n/**\n * @category exception\n */\nexport class UnknownNodeLengthError extends CryptographyError {\n  constructor(nodeLength: number) {\n    super(`Unknown node length: ${nodeLength}`);\n    this.name = 'UnknownNodeLengthError';\n  }\n}\n\n/**\n * @category exception\n */\nexport class UnknownPathNibbleError extends CryptographyError {\n  constructor(nibble: number) {\n    super(`Unknown path nibble: ${nibble}`);\n    this.name = 'UnknownPathNibbleError';\n  }\n}\n\n/**\n * @category exception\n */\nexport class DuplicateNodeError extends NodeError {\n  constructor(name: string) {\n    super(`Node with name ${name} already exist`);\n    this.name = 'DuplicateNodeError';\n  }\n}\n\n/**\n * @category exception\n */\nexport class NodeNotFoundError extends NodeError {\n  constructor(message: string) {\n    super(message);\n    this.name = 'NodeNotFoundError';\n  }\n}\n\n/**\n * @category exception\n */\nexport class DecodeError extends TransactionError {\n  constructor(message: string) {\n    super(message);\n    this.name = 'DecodeError';\n  }\n}\n\n/**\n * @category exception\n */\nexport class PayloadLengthError extends TransactionError {\n  constructor(message: string) {\n    super(message);\n    this.name = 'PayloadLengthError';\n  }\n}\n\n/**\n * @category exception\n */\nexport class DryRunError extends TransactionError {\n  constructor(message: string) {\n    super(message);\n    this.name = 'DryRunError';\n  }\n}\n\n/**\n * @category exception\n */\nexport class IllegalBidFeeError extends TransactionError {\n  constructor(message: string) {\n    super(message);\n    this.name = 'IllegalBidFeeError';\n  }\n}\n\n/**\n * @category exception\n */\nexport class InvalidSignatureError extends TransactionError {\n  constructor(message: string) {\n    super(message);\n    this.name = 'InvalidSignatureError';\n  }\n}\n\n/**\n * @category exception\n */\nexport class PrefixNotFoundError extends TransactionError {\n  constructor(tag: number) {\n    super(`Prefix for id-tag ${tag} not found.`);\n    this.name = 'PrefixNotFoundError';\n  }\n}\n\n/**\n * @category exception\n */\nexport class SchemaNotFoundError extends TransactionError {\n  constructor(key: string, version: number) {\n    super(`Transaction schema not implemented for tag ${key} version ${version}`);\n    this.name = 'SchemaNotFoundError';\n  }\n}\n\n/**\n * @category exception\n */\nexport class TagNotFoundError extends TransactionError {\n  constructor(prefix: string) {\n    super(`Id tag for prefix ${prefix} not found.`);\n    this.name = 'DecodeError';\n  }\n}\n\n/**\n * @category exception\n */\nexport class TxNotInChainError extends TransactionError {\n  constructor(txHash: Encoded.TxHash) {\n    super(`Transaction ${txHash} is removed from chain`);\n    this.name = 'TxNotInChainError';\n  }\n}\n\n/**\n * @category exception\n */\nexport class AlreadyConnectedError extends WalletError {\n  constructor(message: string) {\n    super(message);\n    this.name = 'AlreadyConnectedError';\n  }\n}\n\n/**\n * @category exception\n */\nexport class NoWalletConnectedError extends WalletError {\n  constructor(message: string) {\n    super(message);\n    this.name = 'NoWalletConnectedError';\n  }\n}\n\n/**\n * @category exception\n */\nexport class RpcConnectionError extends WalletError {\n  constructor(message: string) {\n    super(message);\n    this.name = 'RpcConnectionError';\n  }\n}\n","import BigNumber from 'bignumber.js';\nimport { isBigNumber } from './bignumber.js';\nimport { ArgumentError } from './errors.js';\n\n/**\n * @deprecated no replacement implemented yet\n * @category utils\n */\nexport enum AE_AMOUNT_FORMATS {\n  AE = 'ae',\n  MILI_AE = 'miliAE',\n  MICRO_AE = 'microAE',\n  NANO_AE = 'nanoAE',\n  PICO_AE = 'picoAE',\n  FEMTO_AE = 'femtoAE',\n  AETTOS = 'aettos',\n}\n\n/**\n * DENOMINATION_MAGNITUDE\n */\nconst DENOMINATION_MAGNITUDE = {\n  [AE_AMOUNT_FORMATS.AE]: 0,\n  [AE_AMOUNT_FORMATS.MILI_AE]: -3,\n  [AE_AMOUNT_FORMATS.MICRO_AE]: -6,\n  [AE_AMOUNT_FORMATS.NANO_AE]: -9,\n  [AE_AMOUNT_FORMATS.PICO_AE]: -12,\n  [AE_AMOUNT_FORMATS.FEMTO_AE]: -15,\n  [AE_AMOUNT_FORMATS.AETTOS]: -18,\n} as const;\n\n/**\n * Convert amount from one to other denomination\n * @deprecated no replacement implemented yet\n * @category utils\n * @param value - amount to convert\n * @param options - options\n * @param options.denomination - denomination of amount, can be ['ae', 'aettos']\n * @param options.targetDenomination - target denomination,\n * can be ['ae', 'aettos']\n */\nexport const formatAmount = (\n  value: string | number | bigint | BigNumber,\n  {\n    denomination = AE_AMOUNT_FORMATS.AETTOS,\n    targetDenomination = AE_AMOUNT_FORMATS.AETTOS,\n  }: { denomination?: AE_AMOUNT_FORMATS; targetDenomination?: AE_AMOUNT_FORMATS },\n): string => {\n  if (!isBigNumber(value)) throw new ArgumentError('value', 'a number', value);\n\n  return new BigNumber(typeof value === 'bigint' ? value.toString() : value)\n    .shiftedBy(DENOMINATION_MAGNITUDE[denomination] - DENOMINATION_MAGNITUDE[targetDenomination])\n    .toFixed();\n};\n\n/**\n * Convert amount to AE\n * @deprecated no replacement implemented yet\n * @category utils\n * @param value - amount to convert\n * @param options - options\n * @param options.denomination - denomination of amount, can be ['ae', 'aettos']\n */\nexport const toAe = (\n  value: string | number | BigNumber,\n  { denomination = AE_AMOUNT_FORMATS.AETTOS }: { denomination?: AE_AMOUNT_FORMATS } = {},\n): string => formatAmount(value, { denomination, targetDenomination: AE_AMOUNT_FORMATS.AE });\n\n/**\n * Convert amount to aettos\n * @deprecated no replacement implemented yet\n * @category utils\n * @param value - amount to convert\n * @param options - options\n * @param options.denomination - denomination of amount, can be ['ae', 'aettos']\n */\nexport const toAettos = (\n  value: string | number | BigNumber,\n  { denomination = AE_AMOUNT_FORMATS.AE }: { denomination?: AE_AMOUNT_FORMATS } = {},\n): string => formatAmount(value, { denomination });\n\ninterface Prefix {\n  name: string;\n  magnitude: number;\n}\n\nconst prefixes: Prefix[] = [\n  { name: 'exa', magnitude: 18 },\n  { name: 'giga', magnitude: 9 },\n  { name: '', magnitude: 0 },\n  { name: 'pico', magnitude: -12 },\n];\n\nconst getNearestPrefix = (exponent: number): Prefix =>\n  prefixes.reduce((p, n) =>\n    Math.abs(n.magnitude - exponent) < Math.abs(p.magnitude - exponent) ? n : p,\n  );\n\nconst getLowerBoundPrefix = (exponent: number): Prefix =>\n  prefixes.find((p) => p.magnitude <= exponent) ?? prefixes[prefixes.length - 1];\n\n/**\n * @deprecated no replacement implemented yet\n * @category utils\n */\nexport const prefixedAmount = (rawValue: string | number | BigNumber): string => {\n  const value: BigNumber = new BigNumber(rawValue);\n\n  const exp = value.e ?? 0;\n  const { name, magnitude } = (exp < 0 ? getNearestPrefix : getLowerBoundPrefix)(exp);\n  const v = value\n    .shiftedBy(-magnitude)\n    .precision(9 + Math.min(exp - magnitude, 0))\n    .toFixed();\n  return `${v}${name !== '' ? ' ' : ''}${name}`;\n};\n","import { RestError } from '@azure/core-rest-pipeline';\n\nexport const pause = async (duration: number): Promise<void> =>\n  new Promise((resolve) => {\n    setTimeout(resolve, duration);\n  });\n\nexport const mapObject = <InputV, OutputV>(\n  object: { [k: string]: InputV },\n  fn: (\n    value: [string, InputV],\n    index: number,\n    array: Array<[string, InputV]>,\n  ) => [number | string, OutputV],\n): { [k: string]: OutputV } => Object.fromEntries(Object.entries(object).map(fn));\n\n// remove after dropping webpack4 support\nconst isWebpack4Buffer = (() => {\n  try {\n    Buffer.concat([Uint8Array.from([])]);\n    return false;\n  } catch (error) {\n    return true;\n  }\n})();\n\nexport const concatBuffers = isWebpack4Buffer\n  ? (list: readonly Uint8Array[], totalLength?: number): Buffer =>\n      Buffer.concat(\n        list.map((el) => Buffer.from(el)),\n        totalLength,\n      )\n  : Buffer.concat;\n\n/**\n * Object key type guard\n * @param key - Maybe object key\n * @param object - Object\n */\nexport function isKeyOfObject<T extends object>(\n  key: string | number | symbol,\n  object: T,\n): key is keyof T {\n  return key in object;\n}\n\n/**\n * Array item type guard\n * @param item - Maybe array item\n * @param array - Array\n */\nexport function isItemOfArray<T>(item: any, array: readonly T[]): item is T {\n  return array.includes(item);\n}\n\nexport function isAccountNotFoundError(error: Error): boolean {\n  return (\n    error instanceof RestError &&\n    error.statusCode === 404 &&\n    error.message.includes('Account not found')\n  );\n}\n\n// based on https://stackoverflow.com/a/50375286\nexport type UnionToIntersection<Union> = (Union extends any ? (k: Union) => void : never) extends (\n  k: infer Intersection,\n) => void\n  ? Intersection\n  : never;\n\n// based on https://stackoverflow.com/a/61108377\nexport type Optional<T, K extends keyof T> = Pick<Partial<T>, K> & Omit<T, K>;\n\nexport function ensureError(error: unknown): asserts error is Error {\n  if (error instanceof Error) return;\n  throw error;\n}\n","import { ArgumentError } from './errors.js';\n\nexport function wrapWithProxy<Value extends object | undefined>(\n  valueCb: () => Value,\n): NonNullable<Value> {\n  return new Proxy(\n    {},\n    Object.fromEntries(\n      (\n        [\n          'apply',\n          'construct',\n          'defineProperty',\n          'deleteProperty',\n          'getOwnPropertyDescriptor',\n          'getPrototypeOf',\n          'isExtensible',\n          'ownKeys',\n          'preventExtensions',\n          'set',\n          'setPrototypeOf',\n          'get',\n          'has',\n        ] as const\n      ).map((name) => [\n        name,\n        (t: {}, ...args: unknown[]) => {\n          const target = valueCb();\n          if (target == null) throw new ArgumentError('wrapped value', 'defined', target);\n          if (name === 'get' && args[0] === '_wrappedValue') return target;\n          const res = (Reflect[name] as any)(target, ...args);\n          return typeof res === 'function' && name === 'get' ? res.bind(target) : res;\n        },\n      ]),\n    ),\n  ) as NonNullable<Value>;\n}\n\nexport function unwrapProxy<Value extends object>(value: Value): Value {\n  return (value as { _wrappedValue?: Value })._wrappedValue ?? value;\n}\n","/**\n * @category utils\n * @see {@link https://github.com/aeternity/protocol/blob/master/node/api/api_encoding.md}\n * @see {@link https://github.com/aeternity/aeserialization/blob/eb68fe331bd476910394966b7f5ede7a74d37e35/src/aeser_api_encoder.erl#L205-L230}\n */\nexport enum Encoding {\n  KeyBlockHash = 'kh',\n  MicroBlockHash = 'mh',\n  BlockPofHash = 'bf',\n  BlockTxHash = 'bx',\n  BlockStateHash = 'bs',\n  Channel = 'ch',\n  ContractAddress = 'ct',\n  ContractBytearray = 'cb',\n  ContractStoreKey = 'ck',\n  ContractStoreValue = 'cv',\n  Transaction = 'tx',\n  TxHash = 'th',\n  OracleAddress = 'ok',\n  OracleQuery = 'ov',\n  OracleQueryId = 'oq',\n  OracleResponse = 'or',\n  AccountAddress = 'ak',\n  AccountSecretKey = 'sk',\n  Signature = 'sg',\n  Commitment = 'cm',\n  PeerPubkey = 'pp',\n  Name = 'nm',\n  State = 'st',\n  Poi = 'pi',\n  StateTrees = 'ss',\n  CallStateTree = 'cs',\n  Bytearray = 'ba',\n}\n\nexport type KeyBlockHash = `${Encoding.KeyBlockHash}_${string}`;\nexport type MicroBlockHash = `${Encoding.MicroBlockHash}_${string}`;\nexport type BlockPofHash = `${Encoding.BlockPofHash}_${string}`;\nexport type BlockTxHash = `${Encoding.BlockTxHash}_${string}`;\nexport type BlockStateHash = `${Encoding.BlockStateHash}_${string}`;\nexport type Channel = `${Encoding.Channel}_${string}`;\nexport type ContractAddress = `${Encoding.ContractAddress}_${string}`;\nexport type ContractBytearray = `${Encoding.ContractBytearray}_${string}`;\nexport type ContractStoreKey = `${Encoding.ContractStoreKey}_${string}`;\nexport type ContractStoreValue = `${Encoding.ContractStoreValue}_${string}`;\nexport type Transaction = `${Encoding.Transaction}_${string}`;\nexport type TxHash = `${Encoding.TxHash}_${string}`;\nexport type OracleAddress = `${Encoding.OracleAddress}_${string}`;\nexport type OracleQuery = `${Encoding.OracleQuery}_${string}`;\nexport type OracleQueryId = `${Encoding.OracleQueryId}_${string}`;\nexport type OracleResponse = `${Encoding.OracleResponse}_${string}`;\nexport type AccountAddress = `${Encoding.AccountAddress}_${string}`;\nexport type AccountSecretKey = `${Encoding.AccountSecretKey}_${string}`;\nexport type Signature = `${Encoding.Signature}_${string}`;\nexport type Commitment = `${Encoding.Commitment}_${string}`;\nexport type PeerPubkey = `${Encoding.PeerPubkey}_${string}`;\nexport type Name = `${Encoding.Name}_${string}`;\nexport type State = `${Encoding.State}_${string}`;\nexport type Poi = `${Encoding.Poi}_${string}`;\nexport type StateTrees = `${Encoding.StateTrees}_${string}`;\nexport type CallStateTree = `${Encoding.CallStateTree}_${string}`;\nexport type Bytearray = `${Encoding.Bytearray}_${string}`;\n\nexport type Generic<Type extends Encoding> = `${Type}_${string}`;\nexport type Any = `${Encoding}_${string}`;\n","import bs58 from 'bs58';\n// js extension is required for mjs build, not importing the whole package to reduce bundle size\n// eslint-disable-next-line import/extensions\nimport Sha256 from 'sha.js/sha256.js';\nimport { DecodeError, ArgumentError, InvalidChecksumError, PayloadLengthError } from './errors.js';\nimport { concatBuffers, isKeyOfObject } from './other.js';\nimport * as Encoded from './encoder-types.js';\nimport { Encoding } from './encoder-types.js';\n\nexport { Encoded, Encoding };\n\n/**\n * Calculate SHA256 hash of `input`\n * @param input - Data to hash\n * @returns Hash\n */\nexport function sha256hash(input: Uint8Array | string): Buffer {\n  return new Sha256().update(input).digest();\n}\n\n/**\n * @see {@link https://github.com/aeternity/aeserialization/blob/eb68fe331bd476910394966b7f5ede7a74d37e35/src/aeser_api_encoder.erl#L177-L202}\n */\nconst base64Types = [\n  Encoding.ContractBytearray,\n  Encoding.ContractStoreKey,\n  Encoding.ContractStoreValue,\n  Encoding.Transaction,\n  Encoding.OracleQuery,\n  Encoding.OracleResponse,\n  Encoding.State,\n  Encoding.Poi,\n  Encoding.StateTrees,\n  Encoding.CallStateTree,\n  Encoding.Bytearray,\n] as const;\nconst base58Types = [\n  Encoding.KeyBlockHash,\n  Encoding.MicroBlockHash,\n  Encoding.BlockPofHash,\n  Encoding.BlockTxHash,\n  Encoding.BlockStateHash,\n  Encoding.Channel,\n  Encoding.ContractAddress,\n  Encoding.TxHash,\n  Encoding.OracleAddress,\n  Encoding.OracleQueryId,\n  Encoding.AccountAddress,\n  Encoding.AccountSecretKey,\n  Encoding.Signature,\n  Encoding.Commitment,\n  Encoding.PeerPubkey,\n  Encoding.Name,\n] as const;\n\n/**\n * @see {@link https://github.com/aeternity/aeserialization/blob/eb68fe331bd476910394966b7f5ede7a74d37e35/src/aeser_api_encoder.erl#L261-L286}\n */\nconst byteSizeForType = {\n  [Encoding.KeyBlockHash]: 32,\n  [Encoding.MicroBlockHash]: 32,\n  [Encoding.BlockPofHash]: 32,\n  [Encoding.BlockTxHash]: 32,\n  [Encoding.BlockStateHash]: 32,\n  [Encoding.Channel]: 32,\n  [Encoding.ContractAddress]: 32,\n  [Encoding.TxHash]: 32,\n  [Encoding.OracleAddress]: 32,\n  [Encoding.OracleQueryId]: 32,\n  [Encoding.AccountAddress]: 32,\n  [Encoding.AccountSecretKey]: 32,\n  [Encoding.Signature]: 64,\n  [Encoding.Commitment]: 32,\n  [Encoding.PeerPubkey]: 32,\n  [Encoding.State]: 32,\n} as const;\n\nfunction ensureValidLength(data: Uint8Array, type: Encoding): void {\n  if (!isKeyOfObject(type, byteSizeForType)) return;\n  const reqLen = byteSizeForType[type];\n  if (reqLen == null || data.length === reqLen) return;\n  throw new PayloadLengthError(`Payload should be ${reqLen} bytes, got ${data.length} instead`);\n}\n\nconst getChecksum = (payload: Uint8Array): Buffer => sha256hash(sha256hash(payload)).slice(0, 4);\n\nconst addChecksum = (payload: Uint8Array): Buffer => concatBuffers([payload, getChecksum(payload)]);\n\nfunction getPayload(buffer: Buffer): Buffer {\n  const payload = buffer.slice(0, -4);\n  if (!getChecksum(payload).equals(buffer.slice(-4))) throw new InvalidChecksumError();\n  return payload;\n}\n\nconst base64 = {\n  encode: (buffer: Uint8Array) => addChecksum(buffer).toString('base64'),\n  decode: (string: string) => getPayload(Buffer.from(string, 'base64')),\n};\n\nconst base58 = {\n  encode: (buffer: Uint8Array) => bs58.encode(addChecksum(buffer)),\n  decode: (string: string) => getPayload(Buffer.from(bs58.decode(string))),\n};\n\nconst parseType = (maybeType: unknown): [Encoding, typeof base64] => {\n  const base64Type = base64Types.find((t) => t === maybeType);\n  if (base64Type != null) return [base64Type, base64];\n  const base58Type = base58Types.find((t) => t === maybeType);\n  if (base58Type != null) return [base58Type, base58];\n  throw new ArgumentError(\n    'prefix',\n    `one of ${[...base58Types, ...base64Types].join(', ')}`,\n    maybeType,\n  );\n};\n\n/**\n * Decode data using the default encoding/decoding algorithm\n * @param data - An Base58/64check encoded and prefixed string\n * (ex tx_..., sg_..., ak_....)\n * @returns Decoded data\n * @category utils\n */\nexport function decode(data: Encoded.Any): Buffer {\n  const [prefix, encodedPayload, extra] = data.split('_');\n  if (encodedPayload == null) throw new DecodeError(`Encoded string missing payload: ${data}`);\n  if (extra != null) throw new DecodeError(`Encoded string have extra parts: ${data}`);\n  const [type, encoder] = parseType(prefix);\n  const payload = encoder.decode(encodedPayload);\n  ensureValidLength(payload, type);\n  return payload;\n}\n\n/**\n * Encode data using the default encoding/decoding algorithm\n * @param data - An decoded data\n * @param type - Prefix of Transaction\n * @returns Encoded string Base58check or Base64check data\n * @category utils\n */\nexport function encode<Type extends Encoding>(data: Uint8Array, type: Type): Encoded.Generic<Type> {\n  const [, encoder] = parseType(type);\n  ensureValidLength(data, type);\n  return `${type}_${encoder.encode(data)}`;\n}\n","import nacl from 'tweetnacl';\n// js extension is required for mjs build, not importing the whole package to reduce bundle size\n// eslint-disable-next-line import/extensions\nimport { blake2b } from 'blakejs/blake2b.js';\n\nimport { concatBuffers, isItemOfArray } from './other.js';\nimport { decode, Encoded, Encoding } from './encoder.js';\nimport { ArgumentError } from './errors.js';\n\n/**\n * Check if address is valid\n * @param maybeAddress - Address to check\n * @category utils\n * @deprecated Use {@link isEncoded} instead\n */\nexport function isAddressValid(maybeAddress: string): maybeAddress is Encoded.AccountAddress;\n/**\n * Check if data is encoded in one of provided encodings\n * @param maybeEncoded - Data to check\n * @param encodings - Rest parameters with encodings to check against\n * @deprecated Use {@link isEncoded} instead\n */\nexport function isAddressValid<E extends Encoding>(\n  maybeEncoded: string,\n  ...encodings: E[]\n): maybeEncoded is Encoded.Generic<E>;\nexport function isAddressValid(maybeEncoded: string, ...encodings: Encoding[]): boolean {\n  if (encodings.length === 0) encodings = [Encoding.AccountAddress];\n  try {\n    decode(maybeEncoded as Encoded.Any);\n    const encoding = maybeEncoded.split('_')[0];\n    if (!isItemOfArray(encoding, encodings)) {\n      throw new ArgumentError(\n        'Encoded string type',\n        encodings.length > 1 ? `one of ${encodings.join(', ')}` : encodings[0],\n        encoding,\n      );\n    }\n    return true;\n  } catch (error) {\n    return false;\n  }\n}\n\n/**\n * Check if data is encoded in any encoding\n * @param maybeEncoded - Data to check\n * @category utils\n */\nexport function ensureEncoded(maybeEncoded: string): asserts maybeEncoded is Encoded.Any;\n/**\n * Check if data is encoded in one of provided encodings\n * @param maybeEncoded - Data to check\n * @param encodings - Rest parameters with encodings to check against\n */\nexport function ensureEncoded<E extends Encoding>(\n  maybeEncoded: string,\n  ...encodings: E[]\n): asserts maybeEncoded is Encoded.Generic<E>;\nexport function ensureEncoded(maybeEncoded: string, ...encodings: Encoding[]): void {\n  decode(maybeEncoded as Encoded.Any);\n  if (encodings.length === 0) return;\n  const encoding = maybeEncoded.split('_')[0];\n  if (isItemOfArray(encoding, encodings)) return;\n  throw new ArgumentError(\n    'Encoded string type',\n    encodings.length > 1 ? `one of ${encodings.join(', ')}` : encodings[0],\n    encoding,\n  );\n}\n\n/**\n * Check if data is encoded in any encoding\n * @param maybeEncoded - Data to check\n * @category utils\n */\nexport function isEncoded(maybeEncoded: string): maybeEncoded is Encoded.Any;\n/**\n * Check if data is encoded in one of provided encodings\n * @param maybeEncoded - Data to check\n * @param encodings - Rest parameters with encodings to check against\n */\nexport function isEncoded<E extends Encoding>(\n  maybeEncoded: string,\n  ...encodings: E[]\n): maybeEncoded is Encoded.Generic<E>;\nexport function isEncoded(maybeEncoded: string, ...encodings: Encoding[]): boolean {\n  try {\n    ensureEncoded(maybeEncoded, ...encodings);\n    return true;\n  } catch (error) {\n    return false;\n  }\n}\n\n/**\n * Generate a random salt (positive integer)\n * @returns random salt\n * @category utils\n */\nexport function genSalt(): number {\n  const [random] = new BigUint64Array(nacl.randomBytes(8).buffer);\n  return Number(random % BigInt(Number.MAX_SAFE_INTEGER));\n}\n\n/**\n * Converts a positive integer to the smallest possible\n * representation in a binary digit representation\n * @param value - Value to encode\n * @returns Encoded number\n * @category utils\n * @deprecated This function is out of the sdk scope. Copy implementation from sdk if necessary.\n */\nexport function encodeUnsigned(value: number): Buffer {\n  const binary = Buffer.allocUnsafe(4);\n  binary.writeUInt32BE(value);\n  return binary.subarray(binary.findIndex((i) => i !== 0));\n}\n\n/**\n * Calculate 256bits Blake2b hash of `input`\n * @param input - Data to hash\n * @returns Hash\n * @category utils\n * @deprecated use \"blakejs\" package directly\n */\nexport function hash(input: string | Uint8Array): Buffer {\n  return Buffer.from(blake2b(input, undefined, 32)); // 256 bits\n}\n\n/**\n * Verify that data was signed by account\n * @param data - Data that was signed\n * @param signature - Signature of data\n * @param address - Address of account to verify against\n * @returns is data was signed by account\n * @category utils\n */\nexport function verifySignature(\n  data: Uint8Array,\n  signature: Uint8Array,\n  address: Encoded.AccountAddress,\n): boolean {\n  return nacl.sign.detached.verify(data, signature, decode(address));\n}\n\nexport function encodeVarUInt(value: number): Buffer {\n  if (value < 0xfd) {\n    return Buffer.from([value]);\n  }\n  if (value <= 0xffff) {\n    return concatBuffers([Buffer.from([0xfd]), Buffer.from(new Uint16Array([value]).buffer)]);\n  }\n  if (value <= 0xffffffff) {\n    return concatBuffers([Buffer.from([0xfe]), Buffer.from(new Uint32Array([value]).buffer)]);\n  }\n  return concatBuffers([\n    Buffer.from([0xff]),\n    Buffer.from(new BigUint64Array([BigInt(value)]).buffer),\n  ]);\n}\n\nconst messagePrefix = Buffer.from('aeternity Signed Message:\\n', 'utf8');\nexport const messagePrefixLength = encodeVarUInt(messagePrefix.length);\n\n/**\n * Hash message\n * @param message - Message to hash\n * @returns Hash of message\n * @category utils\n */\nexport function hashMessage(message: string): Buffer {\n  const msg = Buffer.from(message, 'utf8');\n  return hash(concatBuffers([messagePrefixLength, messagePrefix, encodeVarUInt(msg.length), msg]));\n}\n\n/**\n * Verify that message was signed by address\n * @param message - Message that was signed\n * @param signature - Signature of message\n * @param address - Address to verify against\n * @returns is data was signed by address\n * @category utils\n */\nexport function verifyMessageSignature(\n  message: string,\n  signature: Uint8Array,\n  address: Encoded.AccountAddress,\n): boolean {\n  return verifySignature(hashMessage(message), signature, address);\n}\n","import BigNumber from 'bignumber.js';\nimport { NoSerializerFoundError, TypeError } from './errors.js';\n\n/**\n * Convert string, number, or BigNumber to byte array\n * @param val - value to convert\n * @param big - enables force conversion to BigNumber\n * @returns Buffer\n * @category utils\n * @deprecated use `Buffer.from(<string>)` or `Buffer.from(<number>.toString(16), 'hex')` instead\n */\n// eslint-disable-next-line import/prefer-default-export\nexport function toBytes(val?: null | string | number | BigNumber, big = false): Buffer {\n  // Encode a value to bytes.\n  // If the value is an int it will be encoded as bytes big endian\n  // Raises ValueError if the input is not an int or string\n\n  if (val == null) return Buffer.from([]);\n  if (Number.isInteger(val) || BigNumber.isBigNumber(val) || big) {\n    if (!BigNumber.isBigNumber(val)) val = new BigNumber(val);\n    if (!val.isInteger()) throw new TypeError(`Unexpected not integer value: ${val.toFixed()}`);\n    let hexString = val.toString(16);\n    if (hexString.length % 2 === 1) hexString = `0${hexString}`;\n    return Buffer.from(hexString, 'hex');\n  }\n  if (typeof val === 'string') {\n    return Buffer.from(val);\n  }\n  throw new NoSerializerFoundError();\n}\n","import BigNumber from 'bignumber.js';\nimport { mapObject } from '../../utils/other.js';\n\n/**\n * @category transaction builder\n */\nexport const DRY_RUN_ACCOUNT = {\n  pub: 'ak_11111111111111111111111111111111273Yts',\n  amount: 100000000000000000000000000000000000n,\n} as const;\n\n/**\n * @category account generalized\n * @deprecated transaction builder will ensure that gas doesn't exceed the maximum value by itself\n */\nexport const MAX_AUTH_FUN_GAS = 50000;\n/**\n * @category utils\n */\nexport type Int = number | string | BigNumber;\n/**\n * @category AENS\n */\nexport type AensName = `${string}.chain`;\n/**\n * @category transaction builder\n */\nexport const MIN_GAS_PRICE = 1e9; // TODO: don't use number for ae\n/**\n * @category AENS\n * @see {@link https://github.com/aeternity/aeternity/blob/72e440b8731422e335f879a31ecbbee7ac23a1cf/apps/aecore/src/aec_governance.erl#L67}\n * @deprecated use {@link getMinimumNameFee} instead\n */\nexport const NAME_FEE_MULTIPLIER = 1e14;\n/**\n * The next bid should be at least 5% bigger than the previous one\n * @category AENS\n * @deprecated use {@link computeBidFee} instead\n */\nexport const NAME_FEE_BID_INCREMENT = 0.05;\n/**\n * Approximately 1 day\n * @category AENS\n * @see {@link https://github.com/aeternity/aeternity/blob/72e440b8731422e335f879a31ecbbee7ac23a1cf/apps/aecore/src/aec_governance.erl#L272}\n * @deprecated use {@link computeAuctionEndBlock} instead\n */\nexport const NAME_BID_TIMEOUT_BLOCKS = 480;\n/**\n * This is the max length for a domain that requires a base fee to be paid\n * @category AENS\n * @deprecated use {@link getMinimumNameFee} instead\n */\nexport const NAME_MAX_LENGTH_FEE = 31;\n/**\n * @category AENS\n * @see {@link https://github.com/aeternity/aeternity/blob/72e440b8731422e335f879a31ecbbee7ac23a1cf/apps/aecore/src/aec_governance.erl#L290}\n * @see {@link https://github.com/aeternity/protocol/blob/master/AENS.md#protocol-fees-and-protection-times}\n * @deprecated use {@link getMinimumNameFee} instead\n */\nexport const NAME_BID_RANGES = mapObject(\n  {\n    31: 3,\n    30: 5,\n    29: 8,\n    28: 13,\n    27: 21,\n    26: 34,\n    25: 55,\n    24: 89,\n    23: 144,\n    22: 233,\n    21: 377,\n    20: 610,\n    19: 987,\n    18: 1597,\n    17: 2584,\n    16: 4181,\n    15: 6765,\n    14: 10946,\n    13: 17711,\n    12: 28657,\n    11: 46368,\n    10: 75025,\n    9: 121393,\n    8: 196418,\n    7: 317811,\n    6: 514229,\n    5: 832040,\n    4: 1346269,\n    3: 2178309,\n    2: 3524578,\n    1: 5702887,\n  },\n  ([key, value]) => [key, new BigNumber(value).times(NAME_FEE_MULTIPLIER)],\n);\n\n/**\n * @category chain\n */\nexport enum ConsensusProtocolVersion {\n  Ceres = 6,\n}\n\n/**\n * @category contract\n * @see {@link https://github.com/aeternity/protocol/blob/0f6dee3d9d1e8e2469816798f5c7587a6c918f94/contracts/contract_vms.md#virtual-machines-on-the-%C3%A6ternity-blockchain}\n */\nexport enum VmVersion {\n  NoVm = 0,\n  Sophia = 1,\n  SophiaImprovementsMinerva = 3,\n  SophiaImprovementsFortuna = 4,\n  Fate = 5,\n  SophiaImprovementsLima = 6,\n  Fate2 = 7,\n  Fate3 = 8,\n}\n\n/**\n * @category contract\n * @see {@link https://github.com/aeternity/protocol/blob/0f6dee3d9d1e8e2469816798f5c7587a6c918f94/contracts/contract_vms.md#virtual-machines-on-the-%C3%A6ternity-blockchain}\n */\nexport enum AbiVersion {\n  NoAbi = 0,\n  Sophia = 1,\n  Fate = 3,\n}\n\n/**\n * Enum with tag types\n * @category transaction builder\n * @see {@link https://github.com/aeternity/protocol/blob/0f6dee3d9d1e8e2469816798f5c7587a6c918f94/serializations.md#binary-serialization}\n * @see {@link https://github.com/aeternity/aeserialization/blob/eb68fe331bd476910394966b7f5ede7a74d37e35/src/aeser_chain_objects.erl#L39-L97}\n */\n// TODO: implement serialisation for commented-out tags\nexport enum Tag {\n  SignedTx = 11,\n  SpendTx = 12,\n  OracleRegisterTx = 22,\n  OracleQueryTx = 23,\n  /**\n   * @deprecated use `OracleRespondTx` instead\n   */\n  OracleResponseTx = 24,\n  // eslint-disable-next-line @typescript-eslint/no-duplicate-enum-values\n  OracleRespondTx = 24,\n  OracleExtendTx = 25,\n  NameClaimTx = 32,\n  NamePreclaimTx = 33,\n  NameUpdateTx = 34,\n  NameRevokeTx = 35,\n  NameTransferTx = 36,\n  ContractCreateTx = 42,\n  ContractCallTx = 43,\n  ChannelCreateTx = 50,\n  ChannelDepositTx = 51,\n  ChannelWithdrawTx = 52,\n  ChannelForceProgressTx = 521,\n  ChannelCloseMutualTx = 53,\n  ChannelCloseSoloTx = 54,\n  ChannelSlashTx = 55,\n  ChannelSettleTx = 56,\n  ChannelOffChainTx = 57,\n  ChannelSnapshotSoloTx = 59,\n  GaAttachTx = 80,\n  GaMetaTx = 81,\n  PayingForTx = 82,\n}\n","import BigNumber from 'bignumber.js';\nimport { genSalt, hash } from '../../utils/crypto.js';\nimport { decode, encode, Encoded, Encoding } from '../../utils/encoder.js';\nimport { toBytes } from '../../utils/bytes.js';\nimport { concatBuffers } from '../../utils/other.js';\nimport {\n  AensName,\n  NAME_BID_RANGES,\n  NAME_FEE_BID_INCREMENT,\n  NAME_MAX_LENGTH_FEE,\n} from './constants.js';\nimport { ceil } from '../../utils/bignumber.js';\nimport { ArgumentError, IllegalBidFeeError } from '../../utils/errors.js';\n\n/**\n * JavaScript-based Transaction builder helper function's\n */\n\n/**\n * Build a contract address\n * @category contract\n * @param owner - Address of contract owner\n * @param nonce - Nonce of ContractCreateTx or state channel round when contract was created\n * @returns Contract address\n */\nexport function buildContractId(\n  owner: Encoded.AccountAddress,\n  nonce: number | BigNumber,\n): Encoded.ContractAddress {\n  const ownerIdAndNonce = Buffer.from([...decode(owner), ...toBytes(nonce)]);\n  const b2bHash = hash(ownerIdAndNonce);\n  return encode(b2bHash, Encoding.ContractAddress);\n}\n\n// TODO: add `build` prefix the same as others\n/**\n * Build a oracle query id\n * @category oracle\n * @param senderId - The public key of the sender account\n * @param nonce - the nonce of the transaction\n * @param oracleId - The oracle public key\n * @returns Contract public key\n */\nexport function oracleQueryId(\n  senderId: Encoded.AccountAddress,\n  nonce: number | BigNumber | string,\n  oracleId: Encoded.OracleAddress,\n): Encoded.OracleQueryId {\n  function _int32(val: number | string | BigNumber): Buffer {\n    const nonceBE = toBytes(val, true);\n    return concatBuffers([Buffer.alloc(32 - nonceBE.length), nonceBE]);\n  }\n\n  const b2bHash = hash(Buffer.from([...decode(senderId), ..._int32(nonce), ...decode(oracleId)]));\n  return encode(b2bHash, Encoding.OracleQueryId);\n}\n\nconst AENS_SUFFIX = '.chain';\n\nexport function nameToPunycode(maybeName: string): AensName {\n  const [name, suffix, ...other] = maybeName.split('.');\n  if (other.length !== 0) throw new ArgumentError('aens name', 'including only one dot', maybeName);\n  if (suffix !== AENS_SUFFIX.slice(1)) {\n    throw new ArgumentError('aens name', `suffixed with ${AENS_SUFFIX}`, maybeName);\n  }\n  if (/\\p{Emoji_Presentation}/u.test(name)) {\n    throw new ArgumentError('aens name', 'not containing emoji', maybeName);\n  }\n  if (name[2] === '-' && name[3] === '-') {\n    throw new ArgumentError(\n      'aens name',\n      'without \"-\" char in both the third and fourth positions',\n      maybeName,\n    );\n  }\n  if (name[0] === '-') {\n    throw new ArgumentError('aens name', 'starting with no \"-\" char', maybeName);\n  }\n  if (name.at(-1) === '-') {\n    throw new ArgumentError('aens name', 'ending with no \"-\" char', maybeName);\n  }\n  let punycode;\n  try {\n    const u = new URL(`http://${name}.${suffix}`);\n    if (u.username + u.password + u.port + u.search + u.hash !== '' || u.pathname !== '/') {\n      throw new ArgumentError('aens name', 'valid', maybeName);\n    }\n    punycode = u.host;\n  } catch (error) {\n    if (error instanceof TypeError && error.message.includes('Invalid URL')) {\n      throw new ArgumentError('aens name', 'valid', maybeName);\n    }\n    throw error;\n  }\n  if (!/^[a-z0-9.-]+$/i.test(punycode)) {\n    throw new ArgumentError('aens name', 'without illegal chars', maybeName);\n  }\n  if (punycode.length > 63 + AENS_SUFFIX.length) {\n    throw new ArgumentError('aens name', 'not too long', maybeName);\n  }\n  return punycode as AensName;\n}\n\n// TODO: replace `produce` with `build` the same as others\n/**\n * Encode an AENS name\n * @category AENS\n * @param name - Name to encode\n * @returns `nm_` prefixed encoded AENS name\n */\nexport function produceNameId(name: AensName): Encoded.Name {\n  return encode(hash(nameToPunycode(name)), Encoding.Name);\n}\n\n// TODO: add `build` the same as others\n/**\n * Generate the commitment hash by hashing the salt and\n * name, base 58 encoding the result and prepending 'cm_'\n * @category transaction builder\n * @param name - Name to be registered\n * @param salt - Random number\n * @returns Commitment hash\n */\nexport function commitmentHash(name: AensName, salt: number = genSalt()): Encoded.Commitment {\n  return encode(\n    hash(\n      concatBuffers([\n        Buffer.from(nameToPunycode(name)),\n        Buffer.from(salt.toString(16).padStart(64, '0'), 'hex'),\n      ]),\n    ),\n    Encoding.Commitment,\n  );\n}\n\n/**\n * Utility function to convert bytes to int\n * @category utils\n * @param buffer - Value\n * @returns Buffer Buffer from number(BigEndian)\n * @deprecated use `BigInt('0x' + <buffer>.toString('hex')).toString()` instead\n */\nexport function readInt(buffer: Uint8Array = Buffer.from([])): string {\n  return BigInt('0x' + Buffer.from(buffer).toString('hex')).toString();\n}\n\n/**\n * Ensure that name is valid AENS name, would throw an exception otherwise\n * @category AENS\n * @param maybeName - AENS name\n */\nexport function ensureName(maybeName: string): asserts maybeName is AensName {\n  nameToPunycode(maybeName);\n}\n\n/**\n * Is AENS name valid\n * @category AENS\n * @param maybeName - AENS name\n */\nexport function isName(maybeName: string): maybeName is AensName {\n  try {\n    ensureName(maybeName);\n    return true;\n  } catch (error) {\n    return false;\n  }\n}\n\nconst encodingToPointerKey = [\n  [Encoding.AccountAddress, 'account_pubkey'],\n  [Encoding.OracleAddress, 'oracle_pubkey'],\n  [Encoding.ContractAddress, 'contract_pubkey'],\n  [Encoding.Channel, 'channel'],\n] as const;\n\n/**\n * @category AENS\n * @param identifier - account/oracle/contract address, or channel\n * @returns default AENS pointer key\n */\nexport function getDefaultPointerKey(\n  identifier: Encoded.Generic<(typeof encodingToPointerKey)[number][0]>,\n): (typeof encodingToPointerKey)[number][1] {\n  decode(identifier);\n  const encoding = identifier.substring(0, 2);\n  const result = encodingToPointerKey.find(([e]) => e === encoding)?.[1];\n  if (result != null) return result;\n  throw new ArgumentError(\n    'identifier',\n    `prefixed with one of ${encodingToPointerKey.map(([e]) => `${e}_`).join(', ')}`,\n    identifier,\n  );\n}\n\n/**\n * Get the minimum AENS name fee\n * @category AENS\n * @param name - the AENS name to get the fee for\n * @returns the minimum fee for the AENS name auction\n */\nexport function getMinimumNameFee(name: AensName): BigNumber {\n  const nameLength = nameToPunycode(name).length - AENS_SUFFIX.length;\n  return NAME_BID_RANGES[Math.min(nameLength, NAME_MAX_LENGTH_FEE)];\n}\n\n/**\n * Compute bid fee for AENS auction\n * @category AENS\n * @param name - the AENS name to get the fee for\n * @param options - Options\n * @param options.startFee - Auction start fee\n * @param options.increment - Bid multiplier(In percentage, must be between 0 and 1)\n * @returns Bid fee\n */\nexport function computeBidFee(\n  name: AensName,\n  {\n    startFee,\n    increment = NAME_FEE_BID_INCREMENT,\n  }: { startFee?: number | string | BigNumber; increment?: number } = {},\n): BigNumber {\n  if (!(Number(increment) === increment && increment % 1 !== 0))\n    throw new IllegalBidFeeError(`Increment must be float. Current increment ${increment}`);\n  if (increment < NAME_FEE_BID_INCREMENT)\n    throw new IllegalBidFeeError(`minimum increment percentage is ${NAME_FEE_BID_INCREMENT}`);\n  // FIXME: increment should be used somehow here\n  return ceil(\n    new BigNumber(startFee ?? getMinimumNameFee(name)).times(\n      new BigNumber(NAME_FEE_BID_INCREMENT).plus(1),\n    ),\n  );\n}\n\n/**\n * Compute approximate auction end height.\n *\n * From Ceres, each time a new (successful!) bid is made for a name the auction is extended for up\n * to 120 key-blocks/generations. I.e. after the bid there is always at least 120 generations to\n * make a higher bid.\n *\n * @category AENS\n * @param name - Name to compute auction end for\n * @param claimHeight - Auction starting height\n * @see {@link https://github.com/aeternity/protocol/blob/cfb19ce/AENS.md#from-ceres-protocol-upgrade}\n * @returns Auction end height\n */\nexport function computeAuctionEndBlock(name: AensName, claimHeight: number): number {\n  const length = nameToPunycode(name).length - AENS_SUFFIX.length;\n  const h =\n    (length <= 4 ? 2400 : null) ?? (length <= 8 ? 960 : null) ?? (length <= 12 ? 480 : null) ?? 0;\n  return h + claimHeight;\n}\n\n/**\n * Is name accept going to auction\n * @category AENS\n */\nexport function isAuctionName(name: AensName): boolean {\n  return nameToPunycode(name).length < 13 + AENS_SUFFIX.length;\n}\n","import { AE_AMOUNT_FORMATS, formatAmount } from './utils/amount-formatter.js';\nimport { isAccountNotFoundError, pause } from './utils/other.js';\nimport { unwrapProxy } from './utils/wrap-proxy.js';\nimport { isName, produceNameId } from './tx/builder/helpers.js';\nimport { AensName, DRY_RUN_ACCOUNT } from './tx/builder/constants.js';\nimport {\n  AensPointerContextError,\n  DryRunError,\n  InvalidAensNameError,\n  TxTimedOutError,\n  TxNotInChainError,\n  InternalError,\n} from './utils/errors.js';\nimport Node from './Node.js';\nimport { DryRunResult, DryRunResults, SignedTx } from './apis/node/index.js';\nimport { decode, encode, Encoded, Encoding } from './utils/encoder.js';\n\nasync function getEventInterval(\n  type: 'key-block' | 'micro-block',\n  {\n    _expectedMineRate,\n    _microBlockCycle,\n    onNode,\n  }: { _expectedMineRate?: number; _microBlockCycle?: number; onNode: Node },\n): Promise<number> {\n  if (_expectedMineRate != null && type === 'key-block') return _expectedMineRate;\n  if (_microBlockCycle != null && type === 'micro-block') return _microBlockCycle;\n\n  const networkId = await onNode.getNetworkId();\n  if (networkId === 'ae_dev') return 0;\n  if (!['ae_mainnet', 'ae_uat'].includes(networkId) && (await onNode._isHyperchain())) return 3000;\n\n  if (type === 'key-block') return 180000;\n  else return 3000;\n}\n\n/**\n * @category chain\n * @param type - Type\n * @param options - Options\n */\nexport async function _getPollInterval(\n  type: Parameters<typeof getEventInterval>[0],\n  options: Parameters<typeof getEventInterval>[1],\n): Promise<number> {\n  return Math.floor((await getEventInterval(type, options)) / 3);\n}\n\nconst heightCache: WeakMap<Node, { time: number; height: number }> = new WeakMap();\n\n/**\n * Obtain current height of the chain\n * @category chain\n * @param options - Options\n * @param options.cached - Get height from the cache. The lag behind the actual height shouldn't\n * be more than 1 block. Use if needed to reduce requests count, and approximate value can be used.\n * For example, for timeout check in transaction status polling.\n * @returns Current chain height\n */\nexport async function getHeight({\n  cached = false,\n  ...options\n}: {\n  onNode: Node;\n  cached?: boolean;\n} & Parameters<typeof _getPollInterval>[1]): Promise<number> {\n  const onNode = unwrapProxy(options.onNode);\n  if (cached) {\n    const cache = heightCache.get(onNode);\n    if (cache != null && cache.time > Date.now() - (await _getPollInterval('key-block', options))) {\n      return cache.height;\n    }\n  }\n  const { height } = await onNode.getCurrentKeyBlockHeight();\n  heightCache.set(onNode, { height, time: Date.now() });\n  return height;\n}\n\n/**\n * Return transaction details if it is mined, fail otherwise.\n * If the transaction has ttl specified then would wait till it leaves the mempool.\n * Otherwise would fail if a specified amount of blocks were mined.\n * @category chain\n * @param th - The hash of transaction to poll\n * @param options - Options\n * @param options.interval - Interval (in ms) at which to poll the chain\n * @param options.blocks - Number of blocks mined after which to fail if transaction ttl is not set\n * @param options.onNode - Node to use\n * @returns The transaction as it was mined\n */\nexport async function poll(\n  th: Encoded.TxHash,\n  {\n    blocks = 5,\n    interval,\n    ...options\n  }: { blocks?: number; interval?: number; onNode: Node } & Parameters<typeof _getPollInterval>[1],\n): ReturnType<Node['getTransactionByHash']> {\n  interval ??= await _getPollInterval('micro-block', options);\n  let max;\n  do {\n    const tx = await options.onNode.getTransactionByHash(th);\n    if (tx.blockHeight !== -1) return tx;\n    if (max == null) {\n      max = tx.tx.ttl !== 0 ? -1 : (await getHeight({ ...options, cached: true })) + blocks;\n    }\n    await pause(interval);\n  } while (max === -1 ? true : (await getHeight({ ...options, cached: true })) < max);\n  throw new TxTimedOutError(blocks, th);\n}\n\n/**\n * Wait for the chain to reach a specific height\n * @category chain\n * @param height - Height to wait for\n * @param options - Options\n * @param options.interval - Interval (in ms) at which to poll the chain\n * @param options.onNode - Node to use\n * @returns Current chain height\n */\nexport async function awaitHeight(\n  height: number,\n  {\n    interval,\n    ...options\n  }: { interval?: number; onNode: Node } & Parameters<typeof _getPollInterval>[1],\n): Promise<number> {\n  interval ??= Math.min(await _getPollInterval('key-block', options), 5000);\n  let currentHeight;\n  do {\n    if (currentHeight != null) await pause(interval);\n    currentHeight = await getHeight(options);\n  } while (currentHeight < height);\n  return currentHeight;\n}\n\n/**\n * Wait for transaction confirmation\n * @category chain\n * @param txHash - Transaction hash\n * @param options - Options\n * @param options.confirm - Number of micro blocks to wait for transaction confirmation\n * @param options.onNode - Node to use\n * @returns Current Height\n */\nexport async function waitForTxConfirm(\n  txHash: Encoded.TxHash,\n  {\n    confirm = 3,\n    onNode,\n    ...options\n  }: { confirm?: number; onNode: Node } & Parameters<typeof awaitHeight>[1],\n): Promise<number> {\n  const { blockHeight } = await onNode.getTransactionByHash(txHash);\n  const height = await awaitHeight(blockHeight + confirm, { onNode, ...options });\n  const { blockHeight: newBlockHeight } = await onNode.getTransactionByHash(txHash);\n  switch (newBlockHeight) {\n    case -1:\n      throw new TxNotInChainError(txHash);\n    case blockHeight:\n      return height;\n    default:\n      return waitForTxConfirm(txHash, { onNode, confirm, ...options });\n  }\n}\n\n/**\n * Get account by account public key\n * @category chain\n * @param address - Account address (public key)\n * @param options - Options\n * @param options.height - Get account on specific block by block height\n * @param options.hash - Get account on specific block by micro block hash or key block hash\n * @param options.onNode - Node to use\n */\nexport async function getAccount(\n  address: Encoded.AccountAddress | Encoded.ContractAddress,\n  {\n    height,\n    hash,\n    onNode,\n  }: { height?: number; hash?: Encoded.KeyBlockHash | Encoded.MicroBlockHash; onNode: Node },\n): ReturnType<Node['getAccountByPubkey']> {\n  if (height != null) return onNode.getAccountByPubkeyAndHeight(address, height);\n  if (hash != null) return onNode.getAccountByPubkeyAndHash(address, hash);\n  return onNode.getAccountByPubkey(address);\n}\n\n/**\n * Request the balance of specified account\n * @category chain\n * @param address - The public account address to obtain the balance for\n * @param options - Options\n * @param options.format\n * @param options.height - The chain height at which to obtain the balance for\n * (default: top of chain)\n * @param options.hash - The block hash on which to obtain the balance for (default: top of chain)\n */\nexport async function getBalance(\n  address: Encoded.AccountAddress | Encoded.ContractAddress | Encoded.OracleAddress,\n  {\n    /**\n     * @deprecated no replacement implemented yet\n     */\n    format = AE_AMOUNT_FORMATS.AETTOS,\n    ...options\n  }: { format?: AE_AMOUNT_FORMATS } & Parameters<typeof getAccount>[1],\n): Promise<string> {\n  const addr = address.startsWith('ok_')\n    ? encode(decode(address), Encoding.AccountAddress)\n    : (address as Encoded.AccountAddress | Encoded.ContractAddress);\n\n  const { balance } = await getAccount(addr, options).catch((error) => {\n    if (!isAccountNotFoundError(error)) throw error;\n    return { balance: 0n };\n  });\n\n  return formatAmount(balance, { targetDenomination: format });\n}\n\n/**\n * Obtain current generation\n * @category chain\n * @param options - Options\n * @param options.onNode - Node to use\n * @returns Current Generation\n * @deprecated Use {@link Node.getCurrentGeneration} instead\n */\nexport async function getCurrentGeneration({\n  onNode,\n}: {\n  onNode: Node;\n}): ReturnType<Node['getCurrentGeneration']> {\n  return onNode.getCurrentGeneration();\n}\n\n/**\n * Get generation by hash or height\n * @category chain\n * @param hashOrHeight - Generation hash or height\n * @param options - Options\n * @param options.onNode - Node to use\n * @returns Generation\n * @deprecated Use {@link Node.getGenerationByHash} or {@link Node.getGenerationByHeight} instead\n */\nexport async function getGeneration(\n  hashOrHeight: Encoded.KeyBlockHash | number,\n  { onNode }: { onNode: Node },\n): ReturnType<Node['getGenerationByHash']> {\n  if (typeof hashOrHeight === 'number') return onNode.getGenerationByHeight(hashOrHeight);\n  return onNode.getGenerationByHash(hashOrHeight);\n}\n\n/**\n * Get micro block transactions\n * @category chain\n * @param hash - Micro block hash\n * @param options - Options\n * @param options.onNode - Node to use\n * @returns Transactions\n * @deprecated Use {@link Node.getMicroBlockTransactionsByHash} instead\n */\nexport async function getMicroBlockTransactions(\n  hash: Encoded.MicroBlockHash,\n  { onNode }: { onNode: Node },\n): Promise<SignedTx[]> {\n  return (await onNode.getMicroBlockTransactionsByHash(hash)).transactions;\n}\n\n/**\n * Get key block\n * @category chain\n * @param hashOrHeight - Key block hash or height\n * @param options - Options\n * @param options.onNode - Node to use\n * @returns Key Block\n * @deprecated Use {@link Node.getKeyBlockByHeight} or {@link Node.getKeyBlockByHash} instead\n */\nexport async function getKeyBlock(\n  hashOrHeight: Encoded.KeyBlockHash | number,\n  { onNode }: { onNode: Node },\n): ReturnType<Node['getKeyBlockByHash']> {\n  if (typeof hashOrHeight === 'number') return onNode.getKeyBlockByHeight(hashOrHeight);\n  return onNode.getKeyBlockByHash(hashOrHeight);\n}\n\n/**\n * Get micro block header\n * @category chain\n * @param hash - Micro block hash\n * @param options - Options\n * @param options.onNode - Node to use\n * @returns Micro block header\n * @deprecated Use {@link Node.getMicroBlockHeaderByHash} instead\n */\nexport async function getMicroBlockHeader(\n  hash: Encoded.MicroBlockHash,\n  { onNode }: { onNode: Node },\n): ReturnType<Node['getMicroBlockHeaderByHash']> {\n  return onNode.getMicroBlockHeaderByHash(hash);\n}\n\ninterface TxDryRunArguments {\n  tx: Encoded.Transaction;\n  accountAddress: Encoded.AccountAddress;\n  top?: number | Encoded.KeyBlockHash | Encoded.MicroBlockHash;\n  txEvents?: any;\n  resolve: Function;\n  reject: Function;\n}\nconst txDryRunRequests: Map<string, TxDryRunArguments[] & { timeout?: NodeJS.Timeout }> = new Map();\n\nasync function txDryRunHandler(key: string, onNode: Node): Promise<void> {\n  const rs = txDryRunRequests.get(key);\n  txDryRunRequests.delete(key);\n  if (rs == null) throw new InternalError(\"Can't get dry-run request\");\n\n  let dryRunRes;\n  try {\n    const top =\n      typeof rs[0].top === 'number'\n        ? (await onNode.getKeyBlockByHeight(rs[0].top)).hash\n        : rs[0].top;\n    dryRunRes = await onNode.protectedDryRunTxs({\n      top,\n      txEvents: rs[0].txEvents,\n      txs: rs.map((req) => ({ tx: req.tx })),\n      accounts: Array.from(new Set(rs.map((req) => req.accountAddress))).map((pubKey) => ({\n        pubKey,\n        amount: DRY_RUN_ACCOUNT.amount,\n      })),\n    });\n  } catch (error) {\n    rs.forEach(({ reject }) => reject(error));\n    return;\n  }\n\n  const { results, txEvents } = dryRunRes;\n  results.forEach(({ result, reason, ...resultPayload }, idx) => {\n    const { resolve, reject, tx, accountAddress } = rs[idx];\n    if (result === 'ok') resolve({ ...resultPayload, txEvents });\n    else reject(Object.assign(new DryRunError(reason as string), { tx, accountAddress }));\n  });\n}\n\n/**\n * Transaction dry-run\n * @category chain\n * @param tx - transaction to execute\n * @param accountAddress - address that will be used to execute transaction\n * @param options - Options\n * @param options.top - hash of block on which to make dry-run\n * @param options.txEvents - collect and return on-chain tx events that would result from the call\n * @param options.combine - Enables combining of similar requests to a single dry-run call\n * @param options.onNode - Node to use\n */\nexport async function txDryRun(\n  tx: Encoded.Transaction,\n  accountAddress: Encoded.AccountAddress,\n  {\n    top,\n    txEvents,\n    combine,\n    onNode,\n  }: { top?: TxDryRunArguments['top']; txEvents?: boolean; combine?: boolean; onNode: Node },\n): Promise<{ txEvents?: DryRunResults['txEvents'] } & DryRunResult> {\n  const key = combine === true ? [top, txEvents].join() : 'immediate';\n  const requests = txDryRunRequests.get(key) ?? [];\n  txDryRunRequests.set(key, requests);\n  return new Promise((resolve, reject) => {\n    requests.push({\n      tx,\n      accountAddress,\n      top,\n      txEvents,\n      resolve,\n      reject,\n    });\n    if (combine !== true) {\n      void txDryRunHandler(key, onNode);\n      return;\n    }\n    requests.timeout ??= setTimeout(() => {\n      void txDryRunHandler(key, onNode);\n    });\n  });\n}\n\n/**\n * Get contract byte code\n * @category contract\n * @param contractId - Contract address\n * @param options - Options\n * @param options.onNode - Node to use\n * @deprecated Use {@link Node.getContractCode} instead\n */\nexport async function getContractByteCode(\n  contractId: Encoded.ContractAddress,\n  { onNode }: { onNode: Node },\n): ReturnType<Node['getContractCode']> {\n  return onNode.getContractCode(contractId);\n}\n\n/**\n * Get contract entry\n * @category contract\n * @param contractId - Contract address\n * @param options - Options\n * @param options.onNode - Node to use\n * @deprecated Use {@link Node.getContract} instead\n */\nexport async function getContract(\n  contractId: Encoded.ContractAddress,\n  { onNode }: { onNode: Node },\n): ReturnType<Node['getContract']> {\n  return onNode.getContract(contractId);\n}\n\n/**\n * Get name entry\n * @category AENS\n * @param name - AENS name\n * @param options - Options\n * @param options.onNode - Node to use\n * @deprecated Use {@link Node.getNameEntryByName} or {@link Name.getState} instead\n */\nexport async function getName(\n  name: AensName,\n  { onNode }: { onNode: Node },\n): ReturnType<Node['getNameEntryByName']> {\n  return onNode.getNameEntryByName(name);\n}\n\n/**\n * Resolve AENS name and return name hash\n * @category AENS\n * @param nameOrId - AENS name or address\n * @param key - in AENS pointers record\n * @param options - Options\n * @param options.verify - To ensure that name exist and have a corresponding pointer\n * // TODO: avoid that to don't trust to current api gateway\n * @param options.resolveByNode - Enables pointer resolving using node\n * @param options.onNode - Node to use\n * @returns Address or AENS name hash\n */\nexport async function resolveName<Type extends Encoding.AccountAddress | Encoding.ContractAddress>(\n  nameOrId: AensName | Encoded.Generic<Type>,\n  key: string,\n  {\n    verify = true,\n    resolveByNode = false,\n    onNode,\n  }: { verify?: boolean; resolveByNode?: boolean; onNode: Node },\n): Promise<Encoded.Generic<Type | Encoding.Name>> {\n  if (isName(nameOrId)) {\n    if (verify || resolveByNode) {\n      const name = await onNode.getNameEntryByName(nameOrId);\n      const pointer = name.pointers.find((p) => p.key === key);\n      if (pointer == null) throw new AensPointerContextError(nameOrId, key);\n      if (resolveByNode) return pointer.id as Encoded.Generic<Type>;\n    }\n    return produceNameId(nameOrId);\n  }\n  try {\n    decode(nameOrId);\n    return nameOrId;\n  } catch (error) {\n    throw new InvalidAensNameError(`Invalid name or address: ${nameOrId}`);\n  }\n}\n","import { ConsensusProtocolVersion, VmVersion, AbiVersion } from '../constants.js';\nimport Node from '../../../Node.js';\n\n/*\n * First abi/vm by default\n * @see {@link https://github.com/aeternity/protocol/blob/71cf111/contracts/contract_vms.md#virtual-machines-on-the-æternity-blockchain}\n */\nexport const ProtocolToVmAbi = {\n  [ConsensusProtocolVersion.Ceres]: {\n    'contract-create': {\n      vmVersion: [VmVersion.Fate3],\n      abiVersion: [AbiVersion.Fate],\n    },\n    'contract-call': {\n      vmVersion: [],\n      abiVersion: [AbiVersion.Fate],\n    },\n    'oracle-call': {\n      vmVersion: [],\n      abiVersion: [AbiVersion.NoAbi, AbiVersion.Fate],\n    },\n  },\n} as const;\n\nexport interface CtVersion {\n  vmVersion: VmVersion;\n  abiVersion: AbiVersion;\n}\n\nexport function getProtocolDetails(\n  protocolVersion: ConsensusProtocolVersion,\n  type: 'contract-create' | 'contract-call' | 'oracle-call',\n): CtVersion {\n  const protocol = ProtocolToVmAbi[protocolVersion][type];\n  return {\n    vmVersion: protocol.vmVersion[0] ?? VmVersion.Fate2,\n    abiVersion: protocol.abiVersion[0],\n  };\n}\n\nexport default {\n  serialize(\n    value: CtVersion | undefined,\n    params: {},\n    {\n      consensusProtocolVersion = ConsensusProtocolVersion.Ceres,\n    }: { consensusProtocolVersion?: ConsensusProtocolVersion },\n  ): Buffer {\n    value ??= getProtocolDetails(consensusProtocolVersion, 'contract-create');\n\n    return Buffer.from([value.vmVersion, 0, value.abiVersion]);\n  },\n\n  async prepare(\n    value: CtVersion | undefined,\n    params: {},\n    // TODO: { consensusProtocolVersion: ConsensusProtocolVersion } | { onNode: Node } | {}\n    options: { consensusProtocolVersion?: ConsensusProtocolVersion; onNode?: Node },\n  ): Promise<CtVersion | undefined> {\n    if (value != null) return value;\n    if (options.consensusProtocolVersion != null) return undefined;\n    if (Object.keys(ConsensusProtocolVersion).length === 2) return undefined;\n    if (options.onNode != null) {\n      return getProtocolDetails(\n        (await options.onNode.getNodeInfo()).consensusProtocolVersion,\n        'contract-create',\n      );\n    }\n    return undefined;\n  },\n\n  deserialize(buffer: Buffer): CtVersion {\n    const [vm, , abi] = buffer;\n    return { vmVersion: +vm, abiVersion: +abi };\n  },\n};\n","import { Tag, ConsensusProtocolVersion, AbiVersion } from '../constants.js';\nimport { getProtocolDetails } from './ct-version.js';\nimport Node from '../../../Node.js';\n\nexport default {\n  _getProtocolDetails(c: ConsensusProtocolVersion, tag: Tag): AbiVersion {\n    const kind =\n      Tag.ContractCallTx === tag || Tag.GaMetaTx === tag ? 'contract-call' : 'oracle-call';\n    return getProtocolDetails(c, kind).abiVersion;\n  },\n\n  serialize(\n    value: AbiVersion | undefined,\n    { tag }: { tag: Tag },\n    {\n      consensusProtocolVersion = ConsensusProtocolVersion.Ceres,\n    }: { consensusProtocolVersion?: ConsensusProtocolVersion },\n  ): Buffer {\n    const result = value ?? this._getProtocolDetails(consensusProtocolVersion, tag);\n\n    return Buffer.from([result]);\n  },\n\n  async prepare(\n    value: AbiVersion | undefined,\n    { tag }: { tag: Tag },\n    // TODO: { consensusProtocolVersion: ConsensusProtocolVersion } | { onNode: Node } | {}\n    options: { consensusProtocolVersion?: ConsensusProtocolVersion; onNode?: Node },\n  ): Promise<AbiVersion | undefined> {\n    if (value != null) return value;\n    if (options.consensusProtocolVersion != null) return undefined;\n    if (Object.keys(ConsensusProtocolVersion).length === 2) return undefined;\n    if (options.onNode != null) {\n      return this._getProtocolDetails(\n        (await options.onNode.getNodeInfo()).consensusProtocolVersion,\n        tag,\n      );\n    }\n    return undefined;\n  },\n\n  deserialize(buffer: Buffer): AbiVersion {\n    return buffer[0];\n  },\n};\n","import { ArgumentError, PrefixNotFoundError, TagNotFoundError } from '../../../utils/errors.js';\nimport { toBytes } from '../../../utils/bytes.js';\nimport { decode, encode, Encoded, Encoding } from '../../../utils/encoder.js';\nimport { isItemOfArray } from '../../../utils/other.js';\n\n/**\n * Map of prefix to ID tag constant\n * @see {@link https://github.com/aeternity/protocol/blob/master/serializations.md#the-id-type}\n * @see {@link https://github.com/aeternity/aeserialization/blob/eb68fe331bd476910394966b7f5ede7a74d37e35/src/aeser_id.erl#L97-L102}\n * @see {@link https://github.com/aeternity/aeserialization/blob/eb68fe331bd476910394966b7f5ede7a74d37e35/src/aeser_api_encoder.erl#L163-L168}\n */\nexport const idTagToEncoding = [\n  Encoding.AccountAddress,\n  Encoding.Name,\n  Encoding.Commitment,\n  Encoding.OracleAddress,\n  Encoding.ContractAddress,\n  Encoding.Channel,\n] as const;\n\nexport type AddressEncodings = (typeof idTagToEncoding)[number];\n\nexport default function genAddressField<Encoding extends AddressEncodings>(\n  ...encodings: Encoding[]\n): {\n  serialize: (value: Encoded.Generic<Encoding>) => Buffer;\n  deserialize: (value: Buffer) => Encoded.Generic<Encoding>;\n} {\n  return {\n    /**\n     * Utility function to create and _id type\n     * @param hashId - Encoded hash\n     * @returns Buffer Buffer with ID tag and decoded HASh\n     */\n    serialize(hashId) {\n      const enc = hashId.slice(0, 2);\n      if (!isItemOfArray(enc, idTagToEncoding)) throw new TagNotFoundError(enc);\n      if (!isItemOfArray(enc, encodings)) {\n        throw new ArgumentError('Address encoding', encodings.join(', '), enc);\n      }\n      const idTag = idTagToEncoding.indexOf(enc) + 1;\n      return Buffer.from([...toBytes(idTag), ...decode(hashId)]);\n    },\n\n    /**\n     * Utility function to read and _id type\n     * @param buf - Data\n     * @returns Encoded hash string with prefix\n     */\n    deserialize(buf) {\n      const idTag = Buffer.from(buf).readUIntBE(0, 1);\n      const enc = idTagToEncoding[idTag - 1];\n      if (enc == null) throw new PrefixNotFoundError(idTag);\n      if (!isItemOfArray(enc, encodings)) {\n        throw new ArgumentError('Address encoding', encodings.join(', '), enc);\n      }\n      return encode(buf.subarray(1), enc) as Encoded.Generic<Encoding>;\n    },\n  };\n}\n","export default function genArrayField<Input, Output, Binary>(itemHandler: {\n  serialize: (value: Input, params: unknown) => Binary;\n  deserialize: (value: Binary, params: unknown) => Output;\n}): {\n  serialize: (value: readonly Input[], params: unknown) => Binary[];\n  deserialize: (value: Binary[], params: unknown) => Output[];\n} {\n  return {\n    serialize(items, params) {\n      return items.map((item) => itemHandler.serialize(item, params));\n    },\n\n    deserialize(buffers, params) {\n      return buffers.map((buffer) => itemHandler.deserialize(buffer, params));\n    },\n  };\n}\n","import { readInt } from '../helpers.js';\nimport { Int } from '../constants.js';\nimport { ArgumentError } from '../../../utils/errors.js';\nimport { toBytes } from '../../../utils/bytes.js';\n\nexport default {\n  serialize(value: Int): Buffer {\n    if (Number(value) < 0) throw new ArgumentError('value', 'greater or equal to 0', value);\n    return toBytes(value, true);\n  },\n\n  deserialize(value: Buffer): string {\n    return readInt(value);\n  },\n};\n","import uInt from './u-int.js';\nimport { Int } from '../constants.js';\nimport { AE_AMOUNT_FORMATS, formatAmount } from '../../../utils/amount-formatter.js';\n\nexport default {\n  ...uInt,\n\n  // eslint-disable-next-line @typescript-eslint/no-unused-vars\n  serializeAettos(value: string | undefined, params: {}, options: {}): string {\n    return value ?? '0';\n  },\n\n  serialize(\n    value: Int | undefined,\n    params: {},\n    { denomination = AE_AMOUNT_FORMATS.AETTOS, ...options }: { denomination?: AE_AMOUNT_FORMATS },\n  ): Buffer {\n    return uInt.serialize(\n      this.serializeAettos(\n        value != null ? formatAmount(value, { denomination }) : value,\n        params,\n        options,\n      ),\n    );\n  },\n};\n","import { decode, encode, Encoded, Encoding } from '../../../utils/encoder.js';\nimport { ArgumentError } from '../../../utils/errors.js';\n\nexport default function genEncodedField<E extends Encoding, Optional extends boolean = false>(\n  encoding: E,\n  optional?: Optional,\n): {\n  serialize: Optional extends true\n    ? (value?: Encoded.Generic<E>) => Buffer\n    : (value: Encoded.Generic<E>) => Buffer;\n  deserialize: (value: Buffer) => Encoded.Generic<E>;\n} {\n  return {\n    serialize(encodedData?: Encoded.Generic<E>) {\n      if (encodedData == null) {\n        if (optional === true) return Buffer.from([]);\n        throw new ArgumentError('Encoded data', 'provided', encodedData);\n      }\n      return decode(encodedData);\n    },\n\n    deserialize(buffer) {\n      return encode(buffer, encoding);\n    },\n  };\n}\n","import { decode, encode, Encoded, Encoding } from '../../../utils/encoder.js';\nimport { EntryTag } from '../entry/constants.js';\nimport type { unpackEntry as unpackEntryType, packEntry as packEntryType } from '../entry/index.js';\n\nexport default function genEntryField<T extends EntryTag = EntryTag>(\n  tag?: T,\n): {\n  serialize: (\n    // TODO: replace with `TxParams & { tag: T }`,\n    //  but fix TS2502 value is referenced directly or indirectly in its own type annotation\n    value: any,\n    options: { packEntry: typeof packEntryType },\n  ) => Buffer;\n  deserialize: (\n    value: Buffer,\n    options: { unpackEntry: typeof unpackEntryType },\n    // TODO: replace with `TxUnpacked & { tag: T }`,\n    //  TS2577 Return type annotation circularly references itself\n  ) => any;\n} {\n  return {\n    serialize(txParams, { packEntry }) {\n      if (ArrayBuffer.isView(txParams)) return Buffer.from(txParams as any);\n      if (typeof txParams === 'string' && txParams.startsWith('tx_')) {\n        return decode(txParams as Encoded.Transaction);\n      }\n      return decode(packEntry({ ...txParams, ...(tag != null && { tag }) }));\n    },\n\n    deserialize(buf, { unpackEntry }) {\n      return unpackEntry(encode(buf, Encoding.Bytearray), tag);\n    },\n  };\n}\n","import { ArgumentError } from '../../../utils/errors.js';\nimport { isItemOfArray } from '../../../utils/other.js';\n\nexport default function genEnumerationField<Enum extends { [key: string]: number | string }>(\n  enm: Enum,\n): {\n  serialize: (value: Enum[keyof Enum]) => Buffer;\n  deserialize: (value: Buffer) => Enum[keyof Enum];\n} {\n  const values = Object.values(enm).filter((v) => typeof v === 'number');\n  return {\n    serialize(value) {\n      if (typeof value !== 'number') throw new ArgumentError('value', 'to be a number', value);\n      if (value > 0xff) throw new ArgumentError('value', 'to be less than 256', value);\n      if (!isItemOfArray(value, values)) {\n        throw new ArgumentError('value', 'to be a value of Enum', value);\n      }\n      return Buffer.from([value]);\n    },\n\n    deserialize(buffer) {\n      if (buffer.length !== 1) {\n        throw new ArgumentError('buffer', 'to have single element', buffer.length);\n      }\n      const value = buffer[0];\n      if (!isItemOfArray(value, values)) {\n        throw new ArgumentError('value', 'to be a value of Enum', value);\n      }\n      return value as Enum[keyof Enum];\n    },\n  };\n}\n","import BigNumber from 'bignumber.js';\nimport coinAmount from './coin-amount.js';\nimport { ArgumentError, IllegalArgumentError } from '../../../utils/errors.js';\nimport { Int, MIN_GAS_PRICE } from '../constants.js';\nimport Node from '../../../Node.js';\nimport { AE_AMOUNT_FORMATS, formatAmount } from '../../../utils/amount-formatter.js';\n\nconst gasPriceCache: WeakMap<Node, { time: number; gasPrice: bigint }> = new WeakMap();\n\nexport async function getCachedIncreasedGasPrice(node: Node): Promise<bigint> {\n  const cache = gasPriceCache.get(node);\n  if (cache != null && cache.time > Date.now() - 20 * 1000) {\n    return cache.gasPrice;\n  }\n\n  const { minGasPrice, utilization } = (await node.getRecentGasPrices())[0];\n  let gasPrice =\n    utilization < 70\n      ? 0n\n      : BigInt(new BigNumber(minGasPrice.toString()).times(1.01).integerValue().toFixed());\n\n  const maxSafeGasPrice = BigInt(MIN_GAS_PRICE) * 100000n; // max microblock fee is 600ae or 35usd\n  if (gasPrice > maxSafeGasPrice) {\n    console.warn(\n      `Estimated gas price ${gasPrice} exceeds the maximum safe value for unknown reason.` +\n        ` It will be limited to ${maxSafeGasPrice}.` +\n        ' To overcome this restriction provide `gasPrice`/`fee` in options.',\n    );\n    gasPrice = maxSafeGasPrice;\n  }\n\n  gasPriceCache.set(node, { gasPrice, time: Date.now() });\n  return gasPrice;\n}\n\n// TODO: use withFormatting after using a single type for coins representation\nexport default {\n  ...coinAmount,\n\n  async prepare(\n    value: Int | undefined,\n    params: {},\n    {\n      onNode,\n      denomination,\n    }: {\n      onNode?: Node;\n      /**\n       * @deprecated no replacement implemented yet\n       */\n      denomination?: AE_AMOUNT_FORMATS;\n    },\n  ): Promise<Int | undefined> {\n    if (value != null) return value;\n    if (onNode == null) {\n      throw new ArgumentError('onNode', 'provided (or provide `gasPrice` instead)', onNode);\n    }\n    const gasPrice = await getCachedIncreasedGasPrice(onNode);\n    if (gasPrice === 0n) return undefined;\n    return formatAmount(gasPrice, { targetDenomination: denomination });\n  },\n\n  serializeAettos(value: string | undefined = MIN_GAS_PRICE.toString()): string {\n    if (+value < MIN_GAS_PRICE) {\n      throw new IllegalArgumentError(\n        `Gas price ${value.toString()} must be bigger than ${MIN_GAS_PRICE}`,\n      );\n    }\n    return value;\n  },\n};\n","import BigNumber from 'bignumber.js';\nimport { ArgumentError, IllegalArgumentError } from '../../../utils/errors.js';\nimport { Int, MIN_GAS_PRICE, Tag } from '../constants.js';\nimport uInt from './u-int.js';\nimport coinAmount from './coin-amount.js';\nimport { getCachedIncreasedGasPrice } from './gas-price.js';\nimport { isKeyOfObject } from '../../../utils/other.js';\nimport { decode, Encoded } from '../../../utils/encoder.js';\nimport type { unpackTx as unpackTxType, buildTx as buildTxType } from '../index.js';\nimport Node from '../../../Node.js';\n\nconst BASE_GAS = 15000;\nconst GAS_PER_BYTE = 20;\nconst KEY_BLOCK_INTERVAL = 3;\n\n/**\n * Calculate the base gas\n * @see {@link https://github.com/aeternity/protocol/blob/master/consensus/README.md#gas}\n * @param txType - The transaction type\n * @returns The base gas\n * @example\n * ```js\n * TX_BASE_GAS(Tag.ChannelForceProgressTx) => 30 * 15000\n * ```\n */\nconst TX_BASE_GAS = (txType: Tag): number => {\n  const feeFactors = {\n    [Tag.ChannelForceProgressTx]: 30,\n    [Tag.ChannelOffChainTx]: 0,\n    [Tag.ContractCreateTx]: 5,\n    [Tag.ContractCallTx]: 12,\n    [Tag.GaAttachTx]: 5,\n    [Tag.GaMetaTx]: 5,\n    [Tag.PayingForTx]: 1 / 5,\n  } as const;\n  const factor = feeFactors[txType as keyof typeof feeFactors] ?? 1;\n  return factor * BASE_GAS;\n};\n\n/**\n * Calculate gas for other types of transactions\n * @see {@link https://github.com/aeternity/protocol/blob/master/consensus/README.md#gas}\n * @param txType - The transaction type\n * @param txSize - The transaction size\n * @returns parameters - The transaction parameters\n * @returns parameters.relativeTtl - The relative ttl\n * @returns parameters.innerTxSize - The size of the inner transaction\n * @returns The other gas\n * @example\n * ```js\n * TX_OTHER_GAS(Tag.OracleRespondTx, 10, { relativeTtl: 12, innerTxSize: 0 })\n *  => 10 * 20 + Math.ceil(32000 * 12 / Math.floor(60 * 24 * 365 / 3))\n * ```\n */\nconst TX_OTHER_GAS = (\n  txType: Tag,\n  txSize: number,\n  { relativeTtl, innerTxSize }: { relativeTtl: number; innerTxSize: number },\n): number => {\n  switch (txType) {\n    case Tag.OracleRegisterTx:\n    case Tag.OracleExtendTx:\n    case Tag.OracleQueryTx:\n    case Tag.OracleRespondTx:\n      return (\n        txSize * GAS_PER_BYTE +\n        Math.ceil((32000 * relativeTtl) / Math.floor((60 * 24 * 365) / KEY_BLOCK_INTERVAL))\n      );\n    case Tag.GaMetaTx:\n    case Tag.PayingForTx:\n      return (txSize - innerTxSize) * GAS_PER_BYTE;\n    default:\n      return txSize * GAS_PER_BYTE;\n  }\n};\n\nfunction getOracleRelativeTtl(params: any): number {\n  const ttlKeys = {\n    [Tag.OracleRegisterTx]: 'oracleTtlValue',\n    [Tag.OracleExtendTx]: 'oracleTtlValue',\n    [Tag.OracleQueryTx]: 'queryTtlValue',\n    [Tag.OracleRespondTx]: 'responseTtlValue',\n  } as const;\n\n  const { tag } = params;\n  if (!isKeyOfObject(tag, ttlKeys)) return 1;\n  return params[ttlKeys[tag]];\n}\n\n/**\n * Calculate gas based on tx type and params\n */\nexport function buildGas(\n  builtTx: Encoded.Transaction,\n  unpackTx: typeof unpackTxType,\n  buildTx: typeof buildTxType,\n): number {\n  const { length } = decode(builtTx);\n  const txObject = unpackTx(builtTx);\n\n  let innerTxSize = 0;\n  if (txObject.tag === Tag.GaMetaTx || txObject.tag === Tag.PayingForTx) {\n    innerTxSize = decode(buildTx(txObject.tx.encodedTx)).length;\n  }\n\n  return (\n    TX_BASE_GAS(txObject.tag) +\n    TX_OTHER_GAS(txObject.tag, length, {\n      relativeTtl: getOracleRelativeTtl(txObject),\n      innerTxSize,\n    })\n  );\n}\n\n/**\n * Calculate min fee\n * @category transaction builder\n * @param rebuildTx - Callback to get built transaction with specific fee\n */\nfunction calculateMinFee(\n  rebuildTx: (value: BigNumber) => Encoded.Transaction,\n  unpackTx: typeof unpackTxType,\n  buildTx: typeof buildTxType,\n): BigNumber {\n  let fee = new BigNumber(0);\n  let previousFee;\n  do {\n    previousFee = fee;\n    fee = new BigNumber(MIN_GAS_PRICE).times(buildGas(rebuildTx(fee), unpackTx, buildTx));\n  } while (!fee.eq(previousFee));\n  return fee;\n}\n\n// TODO: Get rid of this workaround. Transaction builder can't accept/return gas price instead of\n// fee because it may get a decimal gas price. So, it should accept the optional `gasPrice` even\n// if it is not a contract-related transaction. And use this `gasPrice` to calculate `fee`.\nconst gasPricePrefix = '_gas-price:';\n\nexport interface SerializeAettosParams {\n  rebuildTx: (params: any) => Encoded.Transaction;\n  unpackTx: typeof unpackTxType;\n  buildTx: typeof buildTxType;\n  _computingMinFee?: BigNumber;\n}\n\nexport default {\n  ...coinAmount,\n\n  async prepare(\n    value: Int | undefined,\n    params: {},\n    { onNode }: { onNode?: Node },\n  ): Promise<Int | undefined> {\n    if (value != null) return value;\n    if (onNode == null) {\n      throw new ArgumentError('onNode', 'provided (or provide `fee` instead)', onNode);\n    }\n    const gasPrice = await getCachedIncreasedGasPrice(onNode);\n    if (gasPrice === 0n) return undefined;\n    return gasPricePrefix + gasPrice;\n  },\n\n  serializeAettos(\n    _value: string | undefined,\n    { rebuildTx, unpackTx, buildTx, _computingMinFee }: SerializeAettosParams,\n    { _canIncreaseFee }: { _canIncreaseFee?: boolean },\n  ): string {\n    if (_computingMinFee != null) return _computingMinFee.toFixed();\n    const minFee = calculateMinFee(\n      (fee) => rebuildTx({ _computingMinFee: fee }),\n      unpackTx,\n      buildTx,\n    );\n    const value =\n      _value?.startsWith(gasPricePrefix) === true\n        ? minFee.dividedBy(MIN_GAS_PRICE).times(_value.replace(gasPricePrefix, ''))\n        : new BigNumber(_value ?? minFee);\n    if (minFee.gt(value)) {\n      if (_canIncreaseFee === true) return minFee.toFixed();\n      throw new IllegalArgumentError(`Fee ${value.toString()} must be bigger than ${minFee}`);\n    }\n    return value.toFixed();\n  },\n\n  serialize(\n    value: Parameters<typeof coinAmount.serialize>[0],\n    params: Parameters<typeof coinAmount.serialize>[1] & SerializeAettosParams,\n    options: { _canIncreaseFee?: boolean } & Parameters<typeof coinAmount.serialize>[2],\n  ): Buffer {\n    if (typeof value === 'string' && value.startsWith(gasPricePrefix)) {\n      return uInt.serialize(this.serializeAettos(value, params, options));\n    }\n    return coinAmount.serialize.call(this, value, params, options);\n  },\n};\n","import uInt from './u-int.js';\n\nexport default {\n  serialize(value: number): Buffer {\n    return uInt.serialize(value);\n  },\n\n  deserialize(value: Buffer): number {\n    return +uInt.deserialize(value);\n  },\n};\n","import { IllegalArgumentError } from '../../../utils/errors.js';\nimport { Tag, MAX_AUTH_FUN_GAS } from '../constants.js';\nimport shortUInt from './short-u-int.js';\nimport { buildGas } from './fee.js';\nimport type { unpackTx as unpackTxType, buildTx as buildTxType } from '../index.js';\n\nfunction calculateGasLimitMax(\n  gasMax: number,\n  rebuildTx: (value: number) => any,\n  unpackTx: typeof unpackTxType,\n  buildTx: typeof buildTxType,\n): number {\n  return gasMax - +buildGas(rebuildTx(gasMax), unpackTx, buildTx);\n}\n\nexport default {\n  ...shortUInt,\n\n  serialize(\n    _value: number | undefined,\n    {\n      tag,\n      rebuildTx,\n      unpackTx,\n      buildTx,\n      _computingGasLimit,\n    }: {\n      tag: Tag;\n      rebuildTx: (params: any) => any;\n      unpackTx: typeof unpackTxType;\n      buildTx: typeof buildTxType;\n      _computingGasLimit?: number;\n    },\n    { gasMax = 6e6 }: { gasMax?: number },\n  ): Buffer {\n    if (_computingGasLimit != null) return shortUInt.serialize(_computingGasLimit);\n\n    const gasLimitMax =\n      tag === Tag.GaMetaTx\n        ? MAX_AUTH_FUN_GAS\n        : calculateGasLimitMax(\n            gasMax,\n            (gasLimit) => rebuildTx({ _computingGasLimit: gasLimit, _canIncreaseFee: true }),\n            unpackTx,\n            buildTx,\n          );\n    const value = _value ?? gasLimitMax;\n    if (value > gasLimitMax) {\n      throw new IllegalArgumentError(`Gas limit ${value} must be less or equal to ${gasLimitMax}`);\n    }\n    return shortUInt.serialize(value);\n  },\n};\n","export default {\n  serialize(value: string): Buffer {\n    return Buffer.from(value);\n  },\n\n  deserialize(value: Buffer): string {\n    return value.toString();\n  },\n};\n","import field from './field.js';\nimport { AensName } from '../constants.js';\n\nexport default {\n  /**\n   * @param value - AENS name\n   */\n  serialize(value: AensName): Buffer {\n    return field.serialize(value);\n  },\n\n  /**\n   * @param value - AENS name\n   */\n  deserialize(value: Buffer): AensName {\n    return field.deserialize(value) as AensName;\n  },\n};\n","import BigNumber from 'bignumber.js';\nimport { getMinimumNameFee } from '../helpers.js';\nimport { InsufficientNameFeeError } from '../../../utils/errors.js';\nimport coinAmount from './coin-amount.js';\nimport { AensName, Int } from '../constants.js';\n\nexport default {\n  ...coinAmount,\n\n  serializeAettos(_value: string | undefined, txFields: { name: AensName }): string {\n    const minNameFee = getMinimumNameFee(txFields.name);\n    const value = new BigNumber(_value ?? minNameFee);\n    if (minNameFee.gt(value)) throw new InsufficientNameFeeError(value, minNameFee);\n    return value.toFixed();\n  },\n\n  /**\n   * @param value - AENS name fee\n   * @param txFields - Transaction fields\n   * @param txFields.name - AENS Name in transaction\n   */\n  serialize(\n    value: Int | undefined,\n    txFields: { name: AensName } & Parameters<(typeof coinAmount)['serialize']>[1],\n    parameters: Parameters<(typeof coinAmount)['serialize']>[2],\n  ): Buffer {\n    return coinAmount.serialize.call(this, value, txFields, parameters);\n  },\n};\n","import { AensName } from '../constants.js';\nimport { produceNameId, isName } from '../helpers.js';\nimport address from './address.js';\nimport { Encoded, Encoding } from '../../../utils/encoder.js';\n\nconst addressName = address(Encoding.Name);\n\nexport default {\n  ...addressName,\n\n  /**\n   * @param value - AENS name ID\n   */\n  serialize(value: AensName | Encoded.Name): Buffer {\n    return addressName.serialize(isName(value) ? produceNameId(value) : value);\n  },\n};\n","import { isAccountNotFoundError } from '../../../utils/other.js';\nimport shortUInt from './short-u-int.js';\nimport Node from '../../../Node.js';\nimport { ArgumentError } from '../../../utils/errors.js';\nimport { Enum1 as NextNonceStrategy } from '../../../apis/node/index.js';\nimport { Tag } from '../constants.js';\n\nexport default function genNonceField<SenderKey extends string>(\n  senderKey: SenderKey,\n): {\n  serialize: (value: number, params: { tag: Tag }) => Buffer;\n  // TODO: (value: number) => Promise<number> | (value: undefined, ...) => Promise<number>\n  prepare: (\n    value: number | undefined,\n    params: {},\n    // TODO: replace `string` with AddressEncodings\n    options: { [key in SenderKey]: string } & {\n      strategy?: NextNonceStrategy;\n      onNode?: Node;\n      _isInternalBuild?: boolean;\n    },\n  ) => Promise<number>;\n  deserialize: (value: Buffer) => number;\n  senderKey: string;\n} {\n  return {\n    ...shortUInt,\n\n    serialize(value: number, { tag }): Buffer {\n      if (Tag.GaAttachTx === tag && value !== 1) {\n        throw new ArgumentError('nonce', 'equal 1 if GaAttachTx', value);\n      }\n      return shortUInt.serialize(value);\n    },\n\n    async prepare(value, params, options) {\n      if (value != null) return value;\n      // TODO: uncomment the below line\n      // if (options._isInternalBuild === true) return 0;\n      const { onNode, strategy } = options;\n      const senderId = options[senderKey];\n      const requirement = 'provided (or provide `nonce` instead)';\n      if (onNode == null) throw new ArgumentError('onNode', requirement, onNode);\n      if (senderId == null) throw new ArgumentError('senderId', requirement, senderId);\n      return (\n        await onNode\n          .getAccountNextNonce(senderId.replace(/^ok_/, 'ak_'), { strategy })\n          .catch((error) => {\n            if (!isAccountNotFoundError(error)) throw error;\n            return { nextNonce: 1 };\n          })\n      ).nextNonce;\n    },\n\n    senderKey,\n  };\n}\n","import { NamePointer as NamePointerString } from '../../../apis/node/index.js';\nimport { toBytes } from '../../../utils/bytes.js';\nimport { Encoded, Encoding, decode, encode } from '../../../utils/encoder.js';\nimport { isEncoded } from '../../../utils/crypto.js';\nimport { IllegalArgumentError, DecodeError, ArgumentError } from '../../../utils/errors.js';\nimport address, { AddressEncodings, idTagToEncoding } from './address.js';\n\nconst ID_TAG = Buffer.from([1]);\nconst DATA_TAG = Buffer.from([2]);\nconst DATA_LENGTH_MAX = 1024;\nconst addressAny = address(...idTagToEncoding);\n\n// TODO: remove after fixing node types\ntype NamePointer = NamePointerString & {\n  id: Encoded.Generic<AddressEncodings>;\n};\ntype NamePointerRaw = NamePointerString & {\n  id: Encoded.Generic<AddressEncodings | Encoding.Bytearray>;\n};\n\nexport default <AllowRaw extends boolean>(\n  allowRaw: AllowRaw,\n): {\n  serialize: (pointers: Array<AllowRaw extends true ? NamePointerRaw : NamePointer>) => Buffer[][];\n  deserialize: (\n    pointers: Array<[key: Buffer, id: Buffer]>,\n  ) => Array<AllowRaw extends true ? NamePointerRaw : NamePointer>;\n} => ({\n  /**\n   * Helper function to build pointers for name update TX\n   * @param pointers - Array of pointers\n   * `([ { key: 'account_pubkey', id: 'ak_32klj5j23k23j5423l434l2j3423'} ])`\n   * @returns Serialized pointers array\n   */\n  serialize(pointers) {\n    if (pointers.length > 32) {\n      throw new IllegalArgumentError(\n        `Expected 32 pointers or less, got ${pointers.length} instead`,\n      );\n    }\n    return pointers.map(({ key, id }) => {\n      let payload;\n      if (isEncoded(id, ...idTagToEncoding)) {\n        payload = [...(allowRaw ? [ID_TAG] : []), addressAny.serialize(id)];\n      }\n      if (isEncoded(id, Encoding.Bytearray)) {\n        const data = decode(id);\n        if (data.length > DATA_LENGTH_MAX) {\n          throw new ArgumentError(\n            'Raw pointer',\n            `shorter than ${DATA_LENGTH_MAX + 1} bytes`,\n            `${data.length} bytes`,\n          );\n        }\n        payload = [DATA_TAG, data];\n      }\n      if (payload == null) throw new DecodeError(`Unknown AENS pointer value: ${id}`);\n      return [toBytes(key), Buffer.concat(payload)];\n    });\n  },\n\n  /**\n   * Helper function to read pointers from name update TX\n   * @param pointers - Array of pointers\n   * @returns Deserialize pointer array\n   */\n  deserialize(pointers) {\n    return pointers.map(([bKey, bId]) => {\n      if (!allowRaw) return { key: bKey.toString(), id: addressAny.deserialize(bId) };\n      const tag = bId.subarray(0, 1);\n      const payload = bId.subarray(1);\n      let id;\n      if (tag.equals(ID_TAG)) id = addressAny.deserialize(payload);\n      // TS can't figure out the real type depending on allowRaw\n      if (tag.equals(DATA_TAG)) id = encode(payload, Encoding.Bytearray) as Encoded.AccountAddress;\n      if (id == null) throw new DecodeError(`Unknown AENS pointer tag: ${tag}`);\n      return { key: bKey.toString(), id };\n    });\n  },\n});\n","import coinAmount from './coin-amount.js';\nimport { Int } from '../constants.js';\nimport Node from '../../../Node.js';\nimport { Encoded } from '../../../utils/encoder.js';\nimport { ArgumentError } from '../../../utils/errors.js';\n\n/**\n * Oracle query fee\n */\nexport default {\n  ...coinAmount,\n\n  async prepare(\n    value: Int | undefined,\n    params: {},\n    options: { oracleId?: Encoded.OracleAddress; onNode?: Node },\n  ) {\n    if (value != null) return value;\n    const { onNode, oracleId } = options;\n    const requirement = 'provided (or provide `queryFee` instead)';\n    if (onNode == null) throw new ArgumentError('onNode', requirement, onNode);\n    if (oracleId == null) throw new ArgumentError('oracleId', requirement, oracleId);\n    return (await onNode.getOracleByPubkey(oracleId)).queryFee.toString();\n  },\n};\n","export default {\n  serialize(buffer: Uint8Array): Buffer {\n    return Buffer.from(buffer);\n  },\n\n  deserialize(buffer: Buffer): Buffer {\n    return buffer;\n  },\n};\n","import { ArgumentError } from '../../../utils/errors.js';\nimport shortUInt from './short-u-int.js';\n\nexport default function genShortUIntConstField<\n  Value extends number,\n  Optional extends boolean = false,\n>(\n  constValue: Value,\n  optional?: Optional,\n): {\n  serialize: Optional extends true ? (value?: Value) => Buffer : (value: Value) => Buffer;\n  deserialize: (value: Buffer) => Value;\n  constValue: Value;\n  constValueOptional: boolean;\n} {\n  return {\n    serialize(value?: Value) {\n      if ((optional !== true || value != null) && value !== constValue) {\n        throw new ArgumentError('ShortUIntConst', constValue, value);\n      }\n      return shortUInt.serialize(constValue);\n    },\n\n    deserialize(buf) {\n      const value = shortUInt.deserialize(buf);\n      if (value !== constValue) throw new ArgumentError('ShortUIntConst', constValue, value);\n      return constValue;\n    },\n\n    constValue,\n\n    constValueOptional: optional === true,\n  };\n}\n","import { toBytes } from '../../../utils/bytes.js';\n\nexport default {\n  serialize(string: string): Buffer {\n    return toBytes(string);\n  },\n\n  deserialize(buffer: Buffer): string {\n    return buffer.toString();\n  },\n};\n","import { decode, encode, Encoded, Encoding } from '../../../utils/encoder.js';\nimport { Tag } from '../constants.js';\nimport type { unpackTx as unpackTxType, buildTx as buildTxType } from '../index.js';\n\nexport default function genTransactionField<T extends Tag = Tag>(\n  tag?: T,\n): {\n  serialize: (\n    // TODO: replace with `TxParams & { tag: T }`,\n    //  but fix TS2502 value is referenced directly or indirectly in its own type annotation\n    value: any,\n    options: { buildTx: typeof buildTxType },\n  ) => Buffer;\n  deserialize: (\n    value: Buffer,\n    options: { unpackTx: typeof unpackTxType },\n    // TODO: replace with `TxUnpacked & { tag: T }`,\n    //  TS2577 Return type annotation circularly references itself\n  ) => any;\n} {\n  return {\n    serialize(txParams, { buildTx }) {\n      if (ArrayBuffer.isView(txParams)) return Buffer.from(txParams as any);\n      if (typeof txParams === 'string' && txParams.startsWith('tx_')) {\n        return decode(txParams as Encoded.Transaction);\n      }\n      return decode(buildTx({ ...txParams, ...(tag != null && { tag }) }));\n    },\n\n    deserialize(buf, { unpackTx }) {\n      return unpackTx(encode(buf, Encoding.Transaction), tag);\n    },\n  };\n}\n","import shortUInt from './short-u-int.js';\nimport Node from '../../../Node.js';\nimport { ArgumentError } from '../../../utils/errors.js';\nimport { _getPollInterval, getHeight } from '../../../chain.js';\n\n// TODO: restore after the mainnet mining issue is solved, was used via `_isInternalBuild` flag\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nconst DEFAULT_INTERNAL_RELATIVE_TTL = 3;\n\n/**\n * Time to leave\n */\nexport default {\n  ...shortUInt,\n\n  serialize(value: number | undefined): Buffer {\n    return shortUInt.serialize(value ?? 0);\n  },\n\n  async prepare(\n    value: number | undefined,\n    params: {},\n    // TODO: { absoluteTtl: true } | { absoluteTtl: false, onNode: Node }\n    {\n      onNode,\n      absoluteTtl,\n      ...options\n    }: {\n      onNode?: Node;\n      absoluteTtl?: boolean;\n    } & Omit<Parameters<typeof _getPollInterval>[1], 'onNode'>,\n  ) {\n    if (absoluteTtl !== true && value !== 0 && value != null) {\n      if (onNode == null) throw new ArgumentError('onNode', 'provided', onNode);\n      value += await getHeight({ ...options, onNode, cached: true });\n    }\n    return value;\n  },\n};\n","export default function withDefault<Input, Output, Binary>(\n  defaultValue: Input,\n  field: {\n    serialize: (value: Input, params: unknown) => Binary;\n    deserialize: (value: Binary, params: unknown) => Output;\n  },\n): {\n  serialize: (value: Input | undefined, params: unknown) => Binary;\n  deserialize: (value: Binary, params: unknown) => Output;\n} {\n  return {\n    ...field,\n\n    serialize(value, params) {\n      return field.serialize(value ?? defaultValue, params);\n    },\n  };\n}\n","export default function withFormatting<Input, Output, Binary, Params, Options>(\n  format: (v: Input | undefined) => Input,\n  field: {\n    serialize: (value: Input, params: Params, options: Options) => Binary;\n    deserialize: (value: Binary) => Output;\n  },\n): {\n  serialize: (value: Input | undefined, params: Params, options: Options) => Binary;\n  deserialize: (value: Binary) => Output;\n} {\n  return {\n    ...field,\n\n    serialize(value, params, options) {\n      return field.serialize(format(value), params, options);\n    },\n  };\n}\n","/**\n * @category contract\n */\nexport enum CallReturnType {\n  Ok = 0,\n  Error = 1,\n  Revert = 2,\n}\n\n/**\n * @category entry builder\n */\nexport enum EntryTag {\n  Account = 10,\n  Oracle = 20,\n  // OracleQuery = 21,\n  Name = 30,\n  // NameCommitment = 31,\n  // NameAuction = 37,\n  Contract = 40,\n  ContractCall = 41,\n  ChannelOffChainUpdateTransfer = 570,\n  ChannelOffChainUpdateDeposit = 571,\n  ChannelOffChainUpdateWithdraw = 572,\n  ChannelOffChainUpdateCreateContract = 573,\n  ChannelOffChainUpdateCallContract = 574,\n  // ChannelOffChainUpdateMeta = 576,\n  Channel = 58,\n  TreesPoi = 60,\n  // TreesDb = 61,\n  StateTrees = 62,\n  Mtree = 63,\n  MtreeValue = 64,\n  ContractsMtree = 621,\n  CallsMtree = 622,\n  ChannelsMtree = 623,\n  NameserviceMtree = 624,\n  OraclesMtree = 625,\n  AccountsMtree = 626,\n  // CompilerSophia = 70,\n  GaMetaTxAuthData = 810,\n}\n","/**\n * Transaction Schema for TxBuilder\n */\n// # RLP version number\n// # https://github.com/aeternity/protocol/blob/master/serializations.md#binary-serialization\n\nimport { Tag } from './constants.js';\nimport SchemaTypes from './SchemaTypes.js';\nimport abiVersion from './field-types/abi-version.js';\nimport address, { idTagToEncoding } from './field-types/address.js';\nimport array from './field-types/array.js';\nimport coinAmount from './field-types/coin-amount.js';\nimport ctVersion from './field-types/ct-version.js';\nimport encoded from './field-types/encoded.js';\nimport entry from './field-types/entry.js';\nimport enumeration from './field-types/enumeration.js';\nimport fee from './field-types/fee.js';\nimport gasLimit from './field-types/gas-limit.js';\nimport gasPrice from './field-types/gas-price.js';\nimport name from './field-types/name.js';\nimport nameFee from './field-types/name-fee.js';\nimport nameId from './field-types/name-id.js';\nimport nonce from './field-types/nonce.js';\nimport pointers from './field-types/pointers.js';\nimport queryFee from './field-types/query-fee.js';\nimport raw from './field-types/raw.js';\nimport shortUInt from './field-types/short-u-int.js';\nimport shortUIntConst from './field-types/short-u-int-const.js';\nimport string from './field-types/string.js';\nimport transaction from './field-types/transaction.js';\nimport ttl from './field-types/ttl.js';\nimport uInt from './field-types/u-int.js';\nimport withDefault from './field-types/with-default.js';\nimport withFormatting from './field-types/with-formatting.js';\nimport { Encoded, Encoding } from '../../utils/encoder.js';\nimport { ArgumentError } from '../../utils/errors.js';\nimport { EntryTag } from './entry/constants.js';\nimport { EntParams, EntUnpacked } from './entry/schema.generated.js';\n\n/**\n * @category oracle\n */\nexport enum ORACLE_TTL_TYPES {\n  delta = 0,\n  block = 1,\n}\n\n// TODO: figure out how to omit overriding types of recursive fields\ninterface TransactionAny {\n  serialize: (value: TxParams | Uint8Array | Encoded.Transaction) => Buffer;\n  deserialize: (value: Buffer) => TxUnpacked;\n  recursiveType: true;\n}\n\nconst transactionAny = transaction() as unknown as TransactionAny;\n\ninterface TransactionSignedTx {\n  serialize: (\n    value: (TxParams & { tag: Tag.SignedTx }) | Uint8Array | Encoded.Transaction,\n  ) => Buffer;\n  deserialize: (value: Buffer) => TxUnpacked & { tag: Tag.SignedTx };\n  recursiveType: true;\n}\n\nconst transactionSignedTx = transaction(Tag.SignedTx) as unknown as TransactionSignedTx;\n\ninterface EntryTreesPoi {\n  serialize: (\n    value: (EntParams & { tag: EntryTag.TreesPoi }) | Uint8Array | Encoded.Transaction,\n  ) => Buffer;\n  deserialize: (value: Buffer) => EntUnpacked & { tag: EntryTag.TreesPoi };\n  recursiveType: true;\n}\n\nconst entryTreesPoi = entry(EntryTag.TreesPoi) as unknown as EntryTreesPoi;\n\nconst clientTtl = withDefault(60 * 60, shortUInt);\n// https://github.com/aeternity/protocol/blob/fd17982/AENS.md#update\n/**\n * Name ttl represented in number of blocks (Max value is 50000 blocks)\n */\nconst nameTtl = withFormatting((value) => {\n  const NAME_TTL = 180000;\n  value ??= NAME_TTL;\n  if (value >= 1 && value <= NAME_TTL) return value;\n  throw new ArgumentError('nameTtl', `a number between 1 and ${NAME_TTL} blocks`, value);\n}, shortUInt);\n\n/**\n * @see {@link https://github.com/aeternity/protocol/blob/c007deeac4a01e401238412801ac7084ac72d60e/serializations.md#accounts-version-1-basic-accounts}\n */\nexport const txSchema = [\n  {\n    tag: shortUIntConst(Tag.SignedTx),\n    version: shortUIntConst(1, true),\n    signatures: array(raw), // TODO: use sg_ (Encoding.Signature) instead\n    encodedTx: transactionAny,\n  },\n  {\n    tag: shortUIntConst(Tag.SpendTx),\n    version: shortUIntConst(1, true),\n    senderId: address(Encoding.AccountAddress),\n    // TODO: accept also an AENS name\n    recipientId: address(Encoding.AccountAddress, Encoding.ContractAddress, Encoding.Name),\n    amount: coinAmount,\n    fee,\n    ttl,\n    nonce: nonce('senderId'),\n    payload: encoded(Encoding.Bytearray, true),\n  },\n  {\n    tag: shortUIntConst(Tag.NamePreclaimTx),\n    version: shortUIntConst(1, true),\n    accountId: address(Encoding.AccountAddress),\n    nonce: nonce('accountId'),\n    commitmentId: address(Encoding.Commitment),\n    fee,\n    ttl,\n  },\n  {\n    tag: shortUIntConst(Tag.NameClaimTx),\n    version: shortUIntConst(2, true),\n    accountId: address(Encoding.AccountAddress),\n    nonce: nonce('accountId'),\n    name,\n    nameSalt: withDefault(0, uInt),\n    nameFee,\n    fee,\n    ttl,\n  },\n  {\n    tag: shortUIntConst(Tag.NameUpdateTx),\n    version: shortUIntConst(1, true),\n    accountId: address(Encoding.AccountAddress),\n    nonce: nonce('accountId'),\n    nameId,\n    nameTtl,\n    pointers: pointers(false),\n    clientTtl,\n    fee,\n    ttl,\n  },\n  {\n    tag: shortUIntConst(Tag.NameUpdateTx),\n    version: shortUIntConst(2),\n    accountId: address(Encoding.AccountAddress),\n    nonce: nonce('accountId'),\n    nameId,\n    nameTtl,\n    pointers: pointers(true),\n    clientTtl,\n    fee,\n    ttl,\n  },\n  {\n    tag: shortUIntConst(Tag.NameTransferTx),\n    version: shortUIntConst(1, true),\n    accountId: address(Encoding.AccountAddress),\n    nonce: nonce('accountId'),\n    nameId,\n    // TODO: accept also an AENS name\n    recipientId: address(Encoding.AccountAddress, Encoding.Name),\n    fee,\n    ttl,\n  },\n  {\n    tag: shortUIntConst(Tag.NameRevokeTx),\n    version: shortUIntConst(1, true),\n    accountId: address(Encoding.AccountAddress),\n    nonce: nonce('accountId'),\n    nameId,\n    fee,\n    ttl,\n  },\n  {\n    tag: shortUIntConst(Tag.ContractCreateTx),\n    version: shortUIntConst(1, true),\n    ownerId: address(Encoding.AccountAddress),\n    nonce: nonce('ownerId'),\n    code: encoded(Encoding.ContractBytearray),\n    ctVersion,\n    fee,\n    ttl,\n    deposit: withFormatting((value = 0) => {\n      if (+value === 0) return value;\n      throw new ArgumentError('deposit', 'equal 0 (because is not refundable)', value);\n    }, coinAmount),\n    amount: coinAmount,\n    gasLimit,\n    gasPrice,\n    callData: encoded(Encoding.ContractBytearray),\n  },\n  {\n    tag: shortUIntConst(Tag.ContractCallTx),\n    version: shortUIntConst(1, true),\n    callerId: address(Encoding.AccountAddress),\n    nonce: nonce('callerId'),\n    // TODO: accept also an AENS name\n    contractId: address(Encoding.ContractAddress, Encoding.Name),\n    abiVersion,\n    fee,\n    ttl,\n    amount: coinAmount,\n    gasLimit,\n    gasPrice,\n    callData: encoded(Encoding.ContractBytearray),\n  },\n  {\n    tag: shortUIntConst(Tag.OracleRegisterTx),\n    version: shortUIntConst(1, true),\n    accountId: address(Encoding.AccountAddress),\n    nonce: nonce('accountId'),\n    queryFormat: string,\n    responseFormat: string,\n    queryFee: coinAmount,\n    oracleTtlType: withDefault(ORACLE_TTL_TYPES.delta, enumeration(ORACLE_TTL_TYPES)),\n    oracleTtlValue: withDefault(500, shortUInt),\n    fee,\n    ttl,\n    abiVersion,\n  },\n  {\n    tag: shortUIntConst(Tag.OracleExtendTx),\n    version: shortUIntConst(1, true),\n    // TODO: accept also an AENS name\n    oracleId: address(Encoding.OracleAddress, Encoding.Name),\n    nonce: nonce('oracleId'),\n    oracleTtlType: withDefault(ORACLE_TTL_TYPES.delta, enumeration(ORACLE_TTL_TYPES)),\n    oracleTtlValue: withDefault(500, shortUInt),\n    fee,\n    ttl,\n  },\n  {\n    tag: shortUIntConst(Tag.OracleQueryTx),\n    version: shortUIntConst(1, true),\n    senderId: address(Encoding.AccountAddress),\n    nonce: nonce('senderId'),\n    // TODO: accept also an AENS name\n    oracleId: address(Encoding.OracleAddress, Encoding.Name),\n    query: string,\n    queryFee,\n    queryTtlType: withDefault(ORACLE_TTL_TYPES.delta, enumeration(ORACLE_TTL_TYPES)),\n    queryTtlValue: withDefault(10, shortUInt),\n    responseTtlType: withDefault(ORACLE_TTL_TYPES.delta, enumeration(ORACLE_TTL_TYPES)),\n    responseTtlValue: withDefault(10, shortUInt),\n    fee,\n    ttl,\n  },\n  {\n    tag: shortUIntConst(Tag.OracleRespondTx),\n    version: shortUIntConst(1, true),\n    oracleId: address(Encoding.OracleAddress),\n    nonce: nonce('oracleId'),\n    queryId: encoded(Encoding.OracleQueryId),\n    response: string,\n    responseTtlType: withDefault(ORACLE_TTL_TYPES.delta, enumeration(ORACLE_TTL_TYPES)),\n    responseTtlValue: withDefault(10, shortUInt),\n    fee,\n    ttl,\n  },\n  {\n    tag: shortUIntConst(Tag.ChannelCreateTx),\n    version: shortUIntConst(2, true),\n    initiator: address(Encoding.AccountAddress),\n    initiatorAmount: uInt,\n    responder: address(Encoding.AccountAddress),\n    responderAmount: uInt,\n    channelReserve: uInt,\n    lockPeriod: uInt,\n    ttl,\n    fee,\n    initiatorDelegateIds: array(address(...idTagToEncoding)),\n    responderDelegateIds: array(address(...idTagToEncoding)),\n    stateHash: encoded(Encoding.State),\n    nonce: nonce('initiator'),\n  },\n  {\n    tag: shortUIntConst(Tag.ChannelCloseMutualTx),\n    version: shortUIntConst(1, true),\n    channelId: address(Encoding.Channel),\n    fromId: address(Encoding.AccountAddress),\n    initiatorAmountFinal: uInt,\n    responderAmountFinal: uInt,\n    ttl,\n    fee,\n    nonce: nonce('fromId'),\n  },\n  {\n    tag: shortUIntConst(Tag.ChannelCloseSoloTx),\n    version: shortUIntConst(1, true),\n    channelId: address(Encoding.Channel),\n    fromId: address(Encoding.AccountAddress),\n    payload: encoded(Encoding.Transaction),\n    poi: entryTreesPoi,\n    ttl,\n    fee,\n    nonce: nonce('fromId'),\n  },\n  {\n    tag: shortUIntConst(Tag.ChannelSlashTx),\n    version: shortUIntConst(1, true),\n    channelId: address(Encoding.Channel),\n    fromId: address(Encoding.AccountAddress),\n    payload: encoded(Encoding.Transaction),\n    poi: entryTreesPoi,\n    ttl,\n    fee,\n    nonce: nonce('fromId'),\n  },\n  {\n    tag: shortUIntConst(Tag.ChannelDepositTx),\n    version: shortUIntConst(1, true),\n    channelId: address(Encoding.Channel),\n    fromId: address(Encoding.AccountAddress),\n    amount: uInt,\n    ttl,\n    fee,\n    stateHash: encoded(Encoding.State),\n    round: shortUInt,\n    nonce: nonce('fromId'),\n  },\n  {\n    tag: shortUIntConst(Tag.ChannelWithdrawTx),\n    version: shortUIntConst(1, true),\n    channelId: address(Encoding.Channel),\n    toId: address(Encoding.AccountAddress),\n    amount: uInt,\n    ttl,\n    fee,\n    stateHash: encoded(Encoding.State),\n    round: shortUInt,\n    nonce: nonce('fromId'),\n  },\n  {\n    tag: shortUIntConst(Tag.ChannelSettleTx),\n    version: shortUIntConst(1, true),\n    channelId: address(Encoding.Channel),\n    fromId: address(Encoding.AccountAddress),\n    initiatorAmountFinal: uInt,\n    responderAmountFinal: uInt,\n    ttl,\n    fee,\n    nonce: nonce('fromId'),\n  },\n  {\n    tag: shortUIntConst(Tag.ChannelForceProgressTx),\n    version: shortUIntConst(1, true),\n    channelId: address(Encoding.Channel),\n    fromId: address(Encoding.AccountAddress),\n    payload: encoded(Encoding.Transaction),\n    round: shortUInt,\n    update: encoded(Encoding.ContractBytearray),\n    stateHash: encoded(Encoding.State),\n    offChainTrees: encoded(Encoding.StateTrees),\n    ttl,\n    fee,\n    nonce: nonce('fromId'),\n  },\n  {\n    tag: shortUIntConst(Tag.ChannelOffChainTx),\n    version: shortUIntConst(2, true),\n    channelId: address(Encoding.Channel),\n    round: shortUInt,\n    stateHash: encoded(Encoding.State),\n  },\n  {\n    tag: shortUIntConst(Tag.ChannelSnapshotSoloTx),\n    version: shortUIntConst(1, true),\n    channelId: address(Encoding.Channel),\n    fromId: address(Encoding.AccountAddress),\n    payload: encoded(Encoding.Transaction),\n    ttl,\n    fee,\n    nonce: nonce('fromId'),\n  },\n  {\n    tag: shortUIntConst(Tag.GaAttachTx),\n    version: shortUIntConst(1, true),\n    ownerId: address(Encoding.AccountAddress),\n    nonce: nonce('ownerId'),\n    code: encoded(Encoding.ContractBytearray),\n    authFun: raw,\n    ctVersion,\n    fee,\n    ttl,\n    gasLimit,\n    gasPrice,\n    callData: encoded(Encoding.ContractBytearray),\n  },\n  {\n    tag: shortUIntConst(Tag.GaMetaTx),\n    version: shortUIntConst(2, true),\n    gaId: address(Encoding.AccountAddress),\n    authData: encoded(Encoding.ContractBytearray),\n    abiVersion,\n    fee,\n    gasLimit,\n    gasPrice,\n    tx: transactionSignedTx,\n  },\n  {\n    tag: shortUIntConst(Tag.PayingForTx),\n    version: shortUIntConst(1, true),\n    payerId: address(Encoding.AccountAddress),\n    nonce: nonce('payerId'),\n    fee,\n    tx: transactionSignedTx,\n  },\n] as const;\n\ntype TxSchema = SchemaTypes<typeof txSchema>;\nexport type TxParams = TxSchema['TxParams'];\nexport type TxParamsAsync = TxSchema['TxParamsAsync'];\nexport type TxUnpacked = TxSchema['TxUnpacked'];\n","import { decode as rlpDecode, encode as rlpEncode } from 'rlp';\nimport { Field, BinaryData } from './field-types/interface.js';\nimport {\n  ArgumentError,\n  DecodeError,\n  SchemaNotFoundError,\n  InternalError,\n} from '../../utils/errors.js';\nimport { Encoding, Encoded, encode, decode } from '../../utils/encoder.js';\n\ntype Schemas = ReadonlyArray<{\n  tag: { constValue: number } & Field;\n  version: { constValue: number; constValueOptional: boolean } & Field;\n}>;\n\nexport function getSchema(\n  schemas: Schemas,\n  Tag: { [key: number]: string },\n  tag: number,\n  version: number | undefined,\n): Array<[string, Field]> {\n  const subSchemas = schemas.filter((s) => s.tag.constValue === tag);\n  if (subSchemas.length === 0) throw new SchemaNotFoundError(`${Tag[tag]} (${tag})`, 0);\n  if (version == null) {\n    const defaultSchema = subSchemas.find((schema) => schema.version.constValueOptional);\n    if (defaultSchema == null)\n      throw new InternalError(`Can't find default schema of ${Tag[tag]} (${tag})`);\n    version = defaultSchema.version.constValue;\n  }\n  const schema = subSchemas.find((s) => s.version.constValue === version);\n  if (schema == null) throw new SchemaNotFoundError(`${Tag[tag]} (${tag})`, version);\n  return Object.entries(schema);\n}\n\nexport function packRecord<E extends Encoding>(\n  schemas: Schemas,\n  Tag: { [key: number]: string },\n  params: {\n    tag: number;\n    version?: number;\n    [k: string]: unknown;\n  },\n  extraParams: { [k: string]: unknown },\n  encoding: E,\n): Encoded.Generic<E> {\n  const schema = getSchema(schemas, Tag, params.tag, params.version);\n  const binary = schema.map(([key, field]) =>\n    field.serialize(params[key], { ...params, ...extraParams }, params),\n  );\n  return encode(rlpEncode(binary), encoding);\n}\n\nexport function unpackRecord(\n  schemas: Schemas,\n  Tag: { [key: number]: string },\n  encodedRecord: Encoded.Any,\n  expectedTag: number | undefined,\n  extraParams: { [k: string]: unknown },\n): unknown {\n  const binary = rlpDecode(decode(encodedRecord));\n  if (!ArrayBuffer.isView(binary[0]) || !ArrayBuffer.isView(binary[1])) {\n    throw new DecodeError(\"Can't parse tag or version in provided RLP\");\n  }\n  const tag = Buffer.from(binary[0]).readUintBE(0, binary[0].length);\n  const version = Buffer.from(binary[1]).readUintBE(0, binary[1].length);\n  const schema = getSchema(schemas, Tag, tag, version);\n  if (expectedTag != null && expectedTag !== tag) {\n    throw new DecodeError(`Expected ${Tag[expectedTag]} tag, got ${Tag[tag]} instead`);\n  }\n  if (binary.length !== schema.length) {\n    throw new ArgumentError('RLP length', schema.length, binary.length);\n  }\n  return Object.fromEntries(\n    schema.map(([name, field], index) => [\n      name,\n      field.deserialize(binary[index] as BinaryData, extraParams),\n    ]),\n  );\n}\n","export default {\n  serialize(value: boolean): Buffer {\n    return Buffer.from([value ? 1 : 0]);\n  },\n\n  deserialize(buffer: Buffer): boolean {\n    return buffer[0] === 1;\n  },\n};\n","import { EntryTag } from '../entry/constants.js';\nimport { encode, Encoding, Encoded, decode } from '../../../utils/encoder.js';\nimport type { unpackEntry as unpackEntryType, packEntry as packEntryType } from '../entry/index.js';\n\nexport default function genMapField<E extends Encoding, T extends EntryTag>(\n  encoding: E,\n  tag: T,\n): {\n  serialize: (\n    // TODO: replace with `TxParams & { tag: T }`,\n    //  but fix TS2502 value is referenced directly or indirectly in its own type annotation\n    value: Record<Encoded.Generic<E>, any>,\n    options: { packEntry: typeof packEntryType },\n  ) => Buffer;\n  deserialize: (\n    value: Buffer,\n    options: { unpackEntry: typeof unpackEntryType },\n    // TODO: replace with `TxUnpacked & { tag: T }`,\n    //  TS2577 Return type annotation circularly references itself\n  ) => Record<Encoded.Generic<E>, any>;\n  recursiveType: true;\n} {\n  return {\n    serialize(object, { packEntry }) {\n      return decode(\n        packEntry({\n          tag: EntryTag.Mtree,\n          values: Object.entries(object).map(\n            ([key, value]) =>\n              ({\n                tag: EntryTag.MtreeValue,\n                key: decode(key as Encoded.Generic<E>),\n                value: decode(packEntry({ ...(value as any), tag })),\n              }) as const,\n          ),\n        }),\n      );\n    },\n\n    deserialize(buffer, { unpackEntry }) {\n      const { values } = unpackEntry(encode(buffer, Encoding.Bytearray), EntryTag.Mtree);\n      return Object.fromEntries(\n        values\n          // TODO: remove after resolving https://github.com/aeternity/aeternity/issues/4066\n          .filter(({ key }) => encoding !== Encoding.ContractAddress || key.length === 32)\n          .map(({ key, value }) => [\n            encode(key, encoding),\n            unpackEntry(encode(value, Encoding.Bytearray), tag),\n          ]),\n      ) as Record<Encoded.Generic<E>, any>;\n    },\n\n    recursiveType: true,\n  };\n}\n","import { encode as rlpEncode, Input } from 'rlp';\nimport { EntryTag } from '../entry/constants.js';\nimport { hash } from '../../../utils/crypto.js';\nimport {\n  MerkleTreeHashMismatchError,\n  MissingNodeInTreeError,\n  UnknownPathNibbleError,\n  UnexpectedTsError,\n  UnknownNodeLengthError,\n  InternalError,\n} from '../../../utils/errors.js';\nimport { decode, encode, Encoded, Encoding } from '../../../utils/encoder.js';\nimport type { unpackEntry } from '../entry/index.js';\nimport type { EntUnpacked } from '../entry/schema.generated.js';\n\nenum NodeType {\n  Branch,\n  Extension,\n  Leaf,\n}\n\ntype MPTreeBinary = [Buffer, Array<[Buffer, Buffer[]]>];\n\nclass MPTree<E extends Encoding, T extends EntryTag> {\n  readonly #rootHash: string;\n\n  #isComplete = true;\n\n  get isComplete(): boolean {\n    return this.#isComplete;\n  }\n\n  readonly #nodes: { [key: string]: Buffer[] };\n\n  readonly #encoding: E;\n\n  readonly #tag: T;\n\n  readonly #unpackEntry: typeof unpackEntry;\n\n  static #nodeHash(node: Input): string {\n    return Buffer.from(hash(rlpEncode(node))).toString('hex');\n  }\n\n  /**\n   * Deserialize Merkle Patricia Tree\n   * @param binary - Binary\n   * @param tag - Tag to use to decode value\n   * @param unpEnt - Implementation of unpackEntry use to decode values\n   * @returns Merkle Patricia Tree\n   */\n  constructor(binary: MPTreeBinary, encoding: E, tag: T, unpEnt: typeof unpackEntry) {\n    this.#encoding = encoding;\n    this.#tag = tag;\n    this.#unpackEntry = unpEnt;\n    this.#rootHash = binary[0].toString('hex');\n    this.#nodes = Object.fromEntries(binary[1].map((node) => [node[0].toString('hex'), node[1]]));\n\n    if (this.#nodes[this.#rootHash] == null) {\n      if (Object.keys(this.#nodes).length !== 0) {\n        throw new MissingNodeInTreeError(\"Can't find a node by root hash\");\n      }\n      this.#isComplete = false;\n      return;\n    }\n    Object.entries(this.#nodes).forEach(([key, node]) => {\n      if (MPTree.#nodeHash(node) !== key) throw new MerkleTreeHashMismatchError();\n      const { type } = MPTree.#parseNode(node);\n      switch (type) {\n        case NodeType.Branch:\n          node\n            .slice(0, 16)\n            .filter((n) => n.length)\n            .forEach((n) => {\n              // TODO: enable after resolving https://github.com/aeternity/aeternity/issues/4066\n              // if (n.length !== 32) {\n              //   throw new ArgumentError('MPTree branch item length', 32, n.length);\n              // }\n              if (this.#nodes[n.toString('hex')] == null) this.#isComplete = false;\n            });\n          break;\n        case NodeType.Extension:\n          if (this.#nodes[node[1].toString('hex')] == null) {\n            throw new MissingNodeInTreeError(\"Can't find a node by hash in extension node\");\n          }\n          break;\n        case NodeType.Leaf:\n          break;\n        default:\n          throw new InternalError(`Unknown MPTree node type: ${type}`);\n      }\n    });\n  }\n\n  isEqual(tree: MPTree<E, T>): boolean {\n    return this.#rootHash === tree.#rootHash;\n  }\n\n  static #parseNode(node: Buffer[]): { type: NodeType; value?: Buffer; path?: string } {\n    switch (node.length) {\n      case 17:\n        return {\n          type: NodeType.Branch,\n          ...(node[16].length !== 0 && { value: node[16] }),\n        };\n      case 2: {\n        const nibble = node[0][0] >> 4; // eslint-disable-line no-bitwise\n        if (nibble > 3) throw new UnknownPathNibbleError(nibble);\n        const type = nibble <= 1 ? NodeType.Extension : NodeType.Leaf;\n        const slice = [0, 2].includes(nibble) ? 2 : 1;\n        return {\n          type,\n          ...(type === NodeType.Leaf && { value: node[1] }),\n          path: node[0].toString('hex').slice(slice),\n        };\n      }\n      default:\n        throw new UnknownNodeLengthError(node.length);\n    }\n  }\n\n  /**\n   * Serialize Merkle Patricia Tree\n   * @returns Binary\n   */\n  serialize(): MPTreeBinary {\n    return [\n      Buffer.from(this.#rootHash, 'hex'),\n      Object.entries(this.#nodes).map(([mptHash, value]) => [Buffer.from(mptHash, 'hex'), value]),\n    ];\n  }\n\n  /**\n   * Retrieve value from Merkle Patricia Tree\n   * @param _key - The key of the element to retrieve\n   * @returns Value associated to the specified key\n   */\n  #getRaw(_key: string): Buffer | undefined {\n    let searchFrom = this.#rootHash;\n    let key = _key;\n    while (true) {\n      // eslint-disable-line no-constant-condition\n      const node = this.#nodes[searchFrom];\n      if (node == null) {\n        if (!this.isComplete) return undefined;\n        throw new InternalError(\"Can't find node in complete tree\");\n      }\n      const { type, value, path } = MPTree.#parseNode(node);\n      switch (type) {\n        case NodeType.Branch:\n          if (key.length === 0) return value;\n          searchFrom = node[+`0x${key[0]}`].toString('hex');\n          key = key.substring(1);\n          break;\n        case NodeType.Extension:\n          if (key.substring(0, path?.length) !== path) return undefined;\n          searchFrom = node[1].toString('hex');\n          key = key.substring(path.length);\n          break;\n        case NodeType.Leaf:\n          if (path !== key) return undefined;\n          return value;\n        default:\n          throw new InternalError(`Unknown MPTree node type: ${type}`);\n      }\n    }\n  }\n\n  /**\n   * Retrieve value from Merkle Patricia Tree\n   * @param key - The key of the element to retrieve\n   * @returns Value associated to the specified key\n   */\n  get(key: Encoded.Generic<E>): (EntUnpacked & { tag: T }) | undefined {\n    const d = this.#getRaw(decode(key).toString('hex'));\n    if (d == null) return d;\n    return this.#unpackEntry(encode(d, Encoding.Bytearray), this.#tag);\n  }\n\n  #entriesRaw(): Array<[string, Buffer]> {\n    const entries: Array<[string, Buffer]> = [];\n    const rec = (searchFrom: string, key: string): void => {\n      const node = this.#nodes[searchFrom];\n      if (node == null) {\n        if (!this.isComplete) return;\n        throw new InternalError(\"Can't find node in complete tree\");\n      }\n      const { type, value, path } = MPTree.#parseNode(node);\n      switch (type) {\n        case NodeType.Branch:\n          node\n            .slice(0, 16)\n            .map((t, idx): [typeof t, number] => [t, idx])\n            .filter(([t]) => t.length)\n            .forEach(([t, idx]) => rec(t.toString('hex'), key + idx.toString(16)));\n          if (value != null) entries.push([key, value]);\n          break;\n        case NodeType.Extension:\n          rec(node[1].toString('hex'), key + path);\n          break;\n        case NodeType.Leaf:\n          if (value == null) throw new UnexpectedTsError();\n          entries.push([key + path, value]);\n          break;\n        default:\n          throw new InternalError(`Unknown MPTree node type: ${type}`);\n      }\n    };\n    rec(this.#rootHash, '');\n    return entries;\n  }\n\n  toObject(): Record<Encoded.Generic<E>, EntUnpacked & { tag: T }> {\n    return Object.fromEntries(\n      this.#entriesRaw()\n        // TODO: remove after resolving https://github.com/aeternity/aeternity/issues/4066\n        .filter(([k]) => this.#encoding !== Encoding.ContractAddress || k.length !== 66)\n        .map(([k, v]) => [\n          encode(Buffer.from(k, 'hex'), this.#encoding),\n          this.#unpackEntry(encode(v, Encoding.Bytearray), this.#tag),\n        ]),\n    ) as Record<Encoded.Generic<E>, EntUnpacked & { tag: T }>;\n  }\n}\n\nexport default function genMPTreeField<E extends Encoding, T extends EntryTag>(\n  encoding: E,\n  tag: T,\n): {\n  serialize: (value: MPTree<E, T>) => MPTreeBinary;\n  deserialize: (value: MPTreeBinary, o: { unpackEntry: typeof unpackEntry }) => MPTree<E, T>;\n} {\n  return {\n    serialize(value) {\n      return value.serialize();\n    },\n\n    deserialize(value, { unpackEntry }) {\n      return new MPTree(value, encoding, tag, unpackEntry);\n    },\n  };\n}\n","import { EntryTag } from '../entry/constants.js';\nimport { encode, Encoding, decode } from '../../../utils/encoder.js';\nimport type { unpackEntry as unpackEntryType, packEntry as packEntryType } from '../entry/index.js';\n\ntype TagWrapping =\n  | EntryTag.AccountsMtree\n  | EntryTag.CallsMtree\n  | EntryTag.ChannelsMtree\n  | EntryTag.ContractsMtree\n  | EntryTag.NameserviceMtree\n  | EntryTag.OraclesMtree;\n\nexport default function genWrappedField<T extends TagWrapping>(\n  tag: T,\n): {\n  serialize: (\n    // TODO: replace with `(EntParams & { tag: T })['payload']`,\n    //  but fix TS2502 value is referenced directly or indirectly in its own type annotation\n    value: any,\n    options: { packEntry: typeof packEntryType },\n  ) => Buffer;\n  deserialize: (\n    value: Buffer,\n    options: { unpackEntry: typeof unpackEntryType },\n    // TODO: replace with `(EntUnpacked & { tag: T })['payload']`,\n    //  TS2577 Return type annotation circularly references itself\n  ) => any;\n  recursiveType: true;\n} {\n  return {\n    serialize(payload, { packEntry }) {\n      return decode(packEntry({ tag, payload }));\n    },\n\n    deserialize(buffer, { unpackEntry }) {\n      return unpackEntry<TagWrapping>(encode(buffer, Encoding.Bytearray), tag).payload;\n    },\n\n    recursiveType: true,\n  };\n}\n","import SchemaTypes from '../SchemaTypes.js';\nimport abiVersion from '../field-types/abi-version.js';\nimport address, { idTagToEncoding } from '../field-types/address.js';\nimport array from '../field-types/array.js';\nimport boolean from '../field-types/boolean.js';\nimport coinAmount from '../field-types/coin-amount.js';\nimport ctVersion from '../field-types/ct-version.js';\nimport encoded from '../field-types/encoded.js';\nimport entry from '../field-types/entry.js';\nimport enumeration from '../field-types/enumeration.js';\nimport gasLimit from '../field-types/gas-limit.js';\nimport gasPrice from '../field-types/gas-price.js';\nimport map from '../field-types/map.js';\nimport mptree from '../field-types/mptree.js';\nimport pointers from '../field-types/pointers.js';\nimport raw from '../field-types/raw.js';\nimport shortUInt from '../field-types/short-u-int.js';\nimport shortUIntConst from '../field-types/short-u-int-const.js';\nimport string from '../field-types/string.js';\nimport uInt from '../field-types/u-int.js';\nimport wrapped from '../field-types/wrapped.js';\nimport { Encoded, Encoding } from '../../../utils/encoder.js';\nimport { EntryTag, CallReturnType } from './constants.js';\n\ninterface EntryMtreeValueArray {\n  serialize: (\n    value: Array<(EntParams & { tag: EntryTag.MtreeValue }) | Uint8Array | Encoded.Transaction>,\n  ) => Buffer[];\n  deserialize: (value: Buffer[]) => Array<EntUnpacked & { tag: EntryTag.MtreeValue }>;\n  recursiveType: true;\n}\n\nconst entryMtreeValueArray = array(entry(EntryTag.MtreeValue)) as unknown as EntryMtreeValueArray;\n\ninterface MapContracts {\n  serialize: (\n    value: Record<Encoded.ContractAddress, EntParams & { tag: EntryTag.Contract }>,\n  ) => Buffer;\n  deserialize: (\n    value: Buffer,\n  ) => Record<Encoded.ContractAddress, EntUnpacked & { tag: EntryTag.Contract }>;\n  recursiveType: true;\n}\n\nconst mapContracts = map(Encoding.ContractAddress, EntryTag.Contract) as unknown as MapContracts;\n\ninterface MapAccounts {\n  serialize: (\n    value: Record<Encoded.AccountAddress, EntParams & { tag: EntryTag.Account }>,\n  ) => Buffer;\n  deserialize: (\n    value: Buffer,\n  ) => Record<Encoded.AccountAddress, EntUnpacked & { tag: EntryTag.Account }>;\n  recursiveType: true;\n}\n\nconst mapAccounts = map(Encoding.AccountAddress, EntryTag.Account) as unknown as MapAccounts;\n\ninterface MapCalls {\n  serialize: (\n    value: Record<Encoded.Bytearray, EntParams & { tag: EntryTag.ContractCall }>,\n  ) => Buffer;\n  deserialize: (\n    value: Buffer,\n  ) => Record<Encoded.Bytearray, EntUnpacked & { tag: EntryTag.ContractCall }>;\n  recursiveType: true;\n}\n\nconst mapCalls = map(Encoding.Bytearray, EntryTag.ContractCall) as unknown as MapCalls;\n\ninterface MapChannels {\n  serialize: (value: Record<Encoded.Channel, EntParams & { tag: EntryTag.Channel }>) => Buffer;\n  deserialize: (value: Buffer) => Record<Encoded.Channel, EntUnpacked & { tag: EntryTag.Channel }>;\n  recursiveType: true;\n}\n\nconst mapChannels = map(Encoding.Channel, EntryTag.Channel) as unknown as MapChannels;\n\ninterface MapNames {\n  serialize: (value: Record<Encoded.Name, EntParams & { tag: EntryTag.Name }>) => Buffer;\n  deserialize: (value: Buffer) => Record<Encoded.Name, EntUnpacked & { tag: EntryTag.Name }>;\n  recursiveType: true;\n}\n\nconst mapNames = map(Encoding.Name, EntryTag.Name) as unknown as MapNames;\n\ninterface MapOracles {\n  serialize: (value: Record<Encoded.OracleAddress, EntParams & { tag: EntryTag.Oracle }>) => Buffer;\n  deserialize: (\n    value: Buffer,\n  ) => Record<Encoded.OracleAddress, EntUnpacked & { tag: EntryTag.Oracle }>;\n  recursiveType: true;\n}\n\nconst mapOracles = map(Encoding.OracleAddress, EntryTag.Oracle) as unknown as MapOracles;\n\n/**\n * @see {@link https://github.com/aeternity/protocol/blob/8a9d1d1206174627f6aaef86159dc9c643080653/contracts/fate.md#from-ceres-serialized-signature-data}\n */\nexport const schemas = [\n  {\n    tag: shortUIntConst(EntryTag.Account),\n    version: shortUIntConst(1),\n    nonce: shortUInt,\n    balance: uInt,\n  },\n  {\n    tag: shortUIntConst(EntryTag.Account),\n    version: shortUIntConst(2, true),\n    flags: uInt,\n    nonce: shortUInt,\n    balance: uInt,\n    gaContract: address(Encoding.ContractAddress, Encoding.Name),\n    gaAuthFun: encoded(Encoding.ContractBytearray),\n  },\n  {\n    tag: shortUIntConst(EntryTag.Name),\n    version: shortUIntConst(1, true),\n    accountId: address(Encoding.AccountAddress),\n    nameTtl: shortUInt,\n    status: raw,\n    /**\n     * a suggestion as to how long any clients should cache this information\n     */\n    clientTtl: shortUInt,\n    pointers,\n  },\n  {\n    tag: shortUIntConst(EntryTag.Contract),\n    version: shortUIntConst(1, true),\n    owner: address(Encoding.AccountAddress),\n    ctVersion,\n    code: encoded(Encoding.ContractBytearray),\n    log: encoded(Encoding.ContractBytearray),\n    active: boolean,\n    referers: array(address(Encoding.AccountAddress)),\n    deposit: coinAmount,\n  },\n  {\n    tag: shortUIntConst(EntryTag.ContractCall),\n    version: shortUIntConst(2, true),\n    callerId: address(Encoding.AccountAddress),\n    callerNonce: shortUInt,\n    height: shortUInt,\n    contractId: address(Encoding.ContractAddress),\n    // TODO: rename after resolving https://github.com/aeternity/protocol/issues/506\n    gasPrice: uInt,\n    gasUsed: shortUInt,\n    returnValue: encoded(Encoding.ContractBytearray),\n    returnType: enumeration(CallReturnType),\n    // TODO: add serialization for\n    //  <log> :: [ { <address> :: id, [ <topics> :: binary() }, <data> :: binary() } ]\n    log: array(raw),\n  },\n  {\n    tag: shortUIntConst(EntryTag.Oracle),\n    version: shortUIntConst(1, true),\n    accountId: address(Encoding.AccountAddress),\n    queryFormat: string,\n    responseFormat: string,\n    queryFee: coinAmount,\n    oracleTtlValue: shortUInt,\n    abiVersion,\n  },\n  {\n    tag: shortUIntConst(EntryTag.Channel),\n    version: shortUIntConst(3, true),\n    initiator: address(Encoding.AccountAddress),\n    responder: address(Encoding.AccountAddress),\n    channelAmount: uInt,\n    initiatorAmount: uInt,\n    responderAmount: uInt,\n    channelReserve: uInt,\n    initiatorDelegateIds: array(address(...idTagToEncoding)),\n    responderDelegateIds: array(address(...idTagToEncoding)),\n    stateHash: encoded(Encoding.State),\n    round: shortUInt,\n    soloRound: uInt,\n    lockPeriod: uInt,\n    lockedUntil: uInt,\n    initiatorAuth: encoded(Encoding.ContractBytearray),\n    responderAuth: encoded(Encoding.ContractBytearray),\n  },\n  {\n    tag: shortUIntConst(EntryTag.ChannelOffChainUpdateTransfer),\n    version: shortUIntConst(1, true),\n    from: address(Encoding.AccountAddress),\n    to: address(Encoding.AccountAddress),\n    amount: uInt,\n  },\n  {\n    tag: shortUIntConst(EntryTag.ChannelOffChainUpdateDeposit),\n    version: shortUIntConst(1, true),\n    from: address(Encoding.AccountAddress),\n    amount: uInt,\n  },\n  {\n    tag: shortUIntConst(EntryTag.ChannelOffChainUpdateWithdraw),\n    version: shortUIntConst(1, true),\n    from: address(Encoding.AccountAddress),\n    amount: uInt,\n  },\n  {\n    tag: shortUIntConst(EntryTag.ChannelOffChainUpdateCreateContract),\n    version: shortUIntConst(1, true),\n    owner: address(Encoding.AccountAddress),\n    ctVersion,\n    code: encoded(Encoding.ContractBytearray),\n    deposit: uInt,\n    callData: encoded(Encoding.ContractBytearray),\n  },\n  {\n    tag: shortUIntConst(EntryTag.ChannelOffChainUpdateCallContract),\n    version: shortUIntConst(1, true),\n    caller: address(Encoding.AccountAddress),\n    contract: address(Encoding.ContractAddress),\n    abiVersion,\n    amount: uInt,\n    callData: encoded(Encoding.ContractBytearray),\n    callStack: raw,\n    gasPrice,\n    gasLimit,\n  },\n  {\n    tag: shortUIntConst(EntryTag.TreesPoi),\n    version: shortUIntConst(1, true),\n    // TODO: inline an extra wrapping array after resolving https://github.com/aeternity/protocol/issues/505\n    accounts: array(mptree(Encoding.AccountAddress, EntryTag.Account)),\n    calls: array(mptree(Encoding.Bytearray, EntryTag.ContractCall)),\n    channels: array(mptree(Encoding.Channel, EntryTag.Channel)),\n    contracts: array(mptree(Encoding.ContractAddress, EntryTag.Contract)),\n    ns: array(mptree(Encoding.Name, EntryTag.Name)),\n    oracles: array(mptree(Encoding.OracleAddress, EntryTag.Oracle)),\n  },\n  {\n    tag: shortUIntConst(EntryTag.StateTrees),\n    version: shortUIntConst(0, true),\n    contracts: wrapped(EntryTag.ContractsMtree) as unknown as MapContracts,\n    calls: wrapped(EntryTag.CallsMtree) as unknown as MapCalls,\n    channels: wrapped(EntryTag.ChannelsMtree) as unknown as MapChannels,\n    ns: wrapped(EntryTag.NameserviceMtree) as unknown as MapNames,\n    oracles: wrapped(EntryTag.OraclesMtree) as unknown as MapOracles,\n    accounts: wrapped(EntryTag.AccountsMtree) as unknown as MapAccounts,\n  },\n  {\n    tag: shortUIntConst(EntryTag.Mtree),\n    version: shortUIntConst(1, true),\n    values: entryMtreeValueArray,\n  },\n  {\n    tag: shortUIntConst(EntryTag.MtreeValue),\n    version: shortUIntConst(1, true),\n    key: raw,\n    value: raw,\n  },\n  {\n    tag: shortUIntConst(EntryTag.ContractsMtree),\n    version: shortUIntConst(1, true),\n    payload: mapContracts,\n  },\n  {\n    tag: shortUIntConst(EntryTag.CallsMtree),\n    version: shortUIntConst(1, true),\n    payload: mapCalls,\n  },\n  {\n    tag: shortUIntConst(EntryTag.ChannelsMtree),\n    version: shortUIntConst(1, true),\n    payload: mapChannels,\n  },\n  {\n    tag: shortUIntConst(EntryTag.NameserviceMtree),\n    version: shortUIntConst(1, true),\n    payload: mapNames,\n  },\n  {\n    tag: shortUIntConst(EntryTag.OraclesMtree),\n    version: shortUIntConst(1, true),\n    payload: mapOracles,\n  },\n  {\n    tag: shortUIntConst(EntryTag.AccountsMtree),\n    version: shortUIntConst(1, true),\n    payload: mapAccounts,\n  },\n  {\n    tag: shortUIntConst(EntryTag.GaMetaTxAuthData),\n    version: shortUIntConst(1, true),\n    fee: coinAmount,\n    gasPrice,\n    txHash: encoded(Encoding.TxHash),\n  },\n] as const;\n\ntype Schemas = SchemaTypes<typeof schemas>;\nexport type EntParams = Schemas['TxParams'];\nexport type EntUnpacked = Schemas['TxUnpacked'];\n","import { Encoded, Encoding } from '../../../utils/encoder.js';\nimport { packRecord, unpackRecord } from '../common.js';\nimport { schemas } from './schema.js';\nimport { EntryTag } from './constants.js';\nimport { EntParams, EntUnpacked } from './schema.generated.js';\n\nconst encodingTag = [\n  [EntryTag.CallsMtree, Encoding.CallStateTree],\n  [EntryTag.StateTrees, Encoding.StateTrees],\n  [EntryTag.TreesPoi, Encoding.Poi],\n] as const;\n\nexport function packEntry(params: EntParams & { tag: EntryTag.CallsMtree }): Encoded.CallStateTree;\nexport function packEntry(params: EntParams & { tag: EntryTag.StateTrees }): Encoded.StateTrees;\nexport function packEntry(params: EntParams & { tag: EntryTag.TreesPoi }): Encoded.Poi;\n/**\n * Pack entry\n * @category entry builder\n * @param params - Params of entry\n * @returns Encoded entry\n */\nexport function packEntry(params: EntParams): Encoded.Any;\nexport function packEntry(params: EntParams): Encoded.Any {\n  const encoding = encodingTag.find(([tag]) => tag === params.tag)?.[1] ?? Encoding.Bytearray;\n  return packRecord(schemas, EntryTag, params, { packEntry }, encoding);\n}\n\nexport function unpackEntry(\n  encoded: Encoded.CallStateTree,\n): EntUnpacked & { tag: EntryTag.CallsMtree };\nexport function unpackEntry(\n  encoded: Encoded.StateTrees,\n): EntUnpacked & { tag: EntryTag.StateTrees };\nexport function unpackEntry(encoded: Encoded.Poi): EntUnpacked & { tag: EntryTag.TreesPoi };\n/**\n * Unpack entry\n * @category entry builder\n * @param encoded - Encoded entry\n * @param expectedTag - Expected entry type\n * @returns Params of entry\n */\nexport function unpackEntry<T extends EntryTag>(\n  encoded: Encoded.Any,\n  expectedTag?: T,\n): EntUnpacked & { tag: T };\nexport function unpackEntry(encoded: Encoded.Any, expectedTag?: EntryTag): EntUnpacked {\n  expectedTag ??= encodingTag.find(([, enc]) => encoded.startsWith(enc))?.[0];\n  return unpackRecord(schemas, EntryTag, encoded, expectedTag, { unpackEntry }) as any;\n}\n","import { decode, encode, Encoded, Encoding } from '../../utils/encoder.js';\nimport { hash } from '../../utils/crypto.js';\nimport { Field } from './field-types/interface.js';\nimport { txSchema } from './schema.js';\nimport { TxUnpacked, TxParams, TxParamsAsync } from './schema.generated.js';\nimport { Tag } from './constants.js';\nimport { buildContractId } from './helpers.js';\nimport { getSchema as getSchemaCommon, packRecord, unpackRecord } from './common.js';\nimport { ArgumentError } from '../../utils/errors.js';\nimport { packEntry, unpackEntry } from './entry/index.js';\n\n/**\n * JavaScript-based Transaction builder\n */\n\nexport function getSchema(tag: Tag, version?: number): Array<[string, Field]> {\n  return getSchemaCommon(txSchema, Tag, tag, version);\n}\n\ntype TxEncoding =\n  | Encoding.Transaction\n  | Encoding.Poi\n  | Encoding.StateTrees\n  | Encoding.CallStateTree;\n\n/**\n * Build transaction\n * @category transaction builder\n * @param params - Transaction params\n */\nexport function buildTx(params: TxParams): Encoded.Transaction {\n  return packRecord(\n    txSchema,\n    Tag,\n    params,\n    {\n      // eslint-disable-next-line @typescript-eslint/no-use-before-define\n      unpackTx,\n      buildTx,\n      rebuildTx: (overrideParams: any) => buildTx({ ...params, ...overrideParams }),\n      packEntry,\n    },\n    Encoding.Transaction,\n  );\n}\n\nexport type BuildTxOptions<TxType extends Tag, OmitFields extends string> = Omit<\n  TxParamsAsync & { tag: TxType },\n  'tag' | OmitFields\n>;\n\n// TODO: require onNode because it is the only reason this builder is async [breaking change]\n/**\n * Build transaction async (may request node for additional data)\n * @category transaction builder\n * @param params - Transaction params\n * @returns tx_-encoded transaction\n */\nexport async function buildTxAsync(params: TxParamsAsync): Promise<Encoded.Transaction> {\n  await Promise.all(\n    getSchema(params.tag, params.version).map(async ([key, field]) => {\n      if (field.prepare == null) return;\n      // @ts-expect-error the type of `params[key]` can't be determined accurately\n      params[key] = await field.prepare(params[key], params, params);\n    }),\n  );\n\n  // @ts-expect-error after preparation properties should be compatible with sync tx builder\n  return buildTx(params);\n}\n\n/**\n * Unpack transaction encoded as string\n * @category transaction builder\n * @param encodedTx - Encoded transaction\n * @param txType - Expected transaction type\n * @returns Transaction params\n */\nexport function unpackTx<TxType extends Tag>(\n  encodedTx: Encoded.Generic<TxEncoding>,\n  txType?: TxType,\n): TxUnpacked & { tag: TxType } {\n  return unpackRecord(txSchema, Tag, encodedTx, txType, { unpackTx, unpackEntry }) as any;\n}\n\n/**\n * Build a transaction hash\n * @category transaction builder\n * @param rawTx - base64 or rlp encoded transaction\n * @returns Transaction hash\n */\nexport function buildTxHash(rawTx: Encoded.Transaction | Uint8Array): Encoded.TxHash {\n  const data = typeof rawTx === 'string' && rawTx.startsWith('tx_') ? decode(rawTx) : rawTx;\n  return encode(hash(data), Encoding.TxHash);\n}\n\n/**\n * Build a contract public key by contractCreateTx, gaAttach or signedTx\n * @category contract\n * @param contractTx - Transaction\n * @returns Contract public key\n */\nexport function buildContractIdByContractTx(\n  contractTx: Encoded.Transaction,\n): Encoded.ContractAddress {\n  let params = unpackTx(contractTx);\n  if (Tag.SignedTx === params.tag) params = params.encodedTx;\n  if (Tag.ContractCreateTx !== params.tag && Tag.GaAttachTx !== params.tag) {\n    throw new ArgumentError('contractTx', 'a contractCreateTx or gaAttach', params.tag);\n  }\n  return buildContractId(params.ownerId, params.nonce);\n}\n","function verCmp(a: string, b: string): number {\n  const getComponents = (v: string): number[] =>\n    v\n      .split(/[-+]/)[0]\n      .split('.')\n      .map((i) => +i);\n\n  const aComponents = getComponents(a);\n  const bComponents = getComponents(b);\n\n  const base = Math.max(...aComponents, ...bComponents) + 1;\n  const componentsToNumber = (components: number[]): number =>\n    components.reverse().reduce((acc, n, idx) => acc + n * base ** idx, 0);\n\n  return componentsToNumber(aComponents) - componentsToNumber(bComponents);\n}\n\nexport default function semverSatisfies(\n  version: string,\n  geVersion: string,\n  ltVersion?: string,\n): boolean {\n  return verCmp(version, geVersion) >= 0 && (ltVersion == null || verCmp(version, ltVersion) < 0);\n}\n","import { RestError, PipelineResponse, PipelinePolicy } from '@azure/core-rest-pipeline';\nimport {\n  AdditionalPolicyConfig,\n  FullOperationResponse,\n  OperationOptions,\n  createSerializer as createSerializerOrig,\n} from '@azure/core-client';\nimport { pause } from './other.js';\nimport semverSatisfies from './semver-satisfies.js';\nimport { InternalError, UnexpectedTsError, UnsupportedVersionError } from './errors.js';\n\nconst bigIntPrefix = '_sdk-big-int-';\n\nexport const createSerializer = (\n  ...args: Parameters<typeof createSerializerOrig>\n): ReturnType<typeof createSerializerOrig> => {\n  const serializer = createSerializerOrig(...args);\n  const { serialize, deserialize } = serializer;\n  return Object.assign(serializer, {\n    serialize(\n      ...[mapper, object, objectName, options]: Parameters<typeof serialize>\n    ): ReturnType<typeof serialize> {\n      // @ts-expect-error we are extending autorest with BigInt support\n      if (mapper.type.name !== 'BigInt' || object == null) {\n        return serialize.call(this, mapper, object, objectName, options);\n      }\n      if (typeof object !== 'bigint') {\n        objectName ??= mapper.serializedName;\n        throw new Error(`${objectName} with value ${object} must be of type bigint.`);\n      }\n      return object.toString();\n    },\n\n    deserialize(\n      ...[mapper, responseBody, objectName, options]: Parameters<typeof deserialize>\n    ): ReturnType<typeof deserialize> {\n      // @ts-expect-error we are extending autorest with BigInt support\n      if (mapper.type.name !== 'BigInt' || responseBody == null) {\n        if (typeof responseBody === 'string' && responseBody.startsWith(bigIntPrefix)) {\n          console.warn(`AeSdk internal error: BigInt value ${responseBody} handled incorrectly`);\n          responseBody = +responseBody.replace(bigIntPrefix, '');\n        }\n        const result = deserialize.call(this, mapper, responseBody, objectName, options);\n        // TODO: remove after fixing https://github.com/aeternity/ae_mdw/issues/1891\n        // and https://github.com/aeternity/aeternity/issues/4386\n        if (result instanceof Date) return new Date(+result / 1000);\n        return result;\n      }\n      if (typeof responseBody === 'number' && responseBody > Number.MAX_SAFE_INTEGER) {\n        throw new InternalError(`Number ${responseBody} is not accurate to be converted to BigInt`);\n      }\n      return BigInt(responseBody.toString().replace(bigIntPrefix, ''));\n    },\n  });\n};\n\nconst safeLength = Number.MAX_SAFE_INTEGER.toString().length;\nconst bigIntPropertyRe = new RegExp(String.raw`(\"\\w+\":\\s*)(\\d{${safeLength},})(\\s*[,}])`, 'm');\nconst bigIntArrayItemRe = new RegExp(String.raw`([[,]\\s*)(\\d{${safeLength},})\\b`, 'm');\nexport const parseBigIntPolicy: PipelinePolicy = {\n  name: 'parse-big-int',\n  async sendRequest(request, next) {\n    const response = await next(request);\n    if (response.bodyAsText == null) return response;\n    // TODO: replace with https://caniuse.com/mdn-javascript_builtins_json_parse_reviver_parameter_context_argument when it gets support in FF and Safari\n    response.bodyAsText = response.bodyAsText.replaceAll(\n      new RegExp(bigIntPropertyRe, 'g'),\n      (matched) => {\n        const match = matched.match(bigIntPropertyRe);\n        if (match == null) throw new UnexpectedTsError();\n        const [, name, value, end] = match;\n        return [\n          name,\n          +value > Number.MAX_SAFE_INTEGER ? `\"${bigIntPrefix}${value}\"` : value,\n          end,\n        ].join('');\n      },\n    );\n    // FIXME: may break strings inside json\n    response.bodyAsText = response.bodyAsText.replaceAll(\n      new RegExp(bigIntArrayItemRe, 'g'),\n      (matched) => {\n        const match = matched.match(bigIntArrayItemRe);\n        if (match == null) throw new UnexpectedTsError();\n        const [, prefix, value] = match;\n        return `${prefix}\"${bigIntPrefix}${value}\"`;\n      },\n    );\n    return response;\n  },\n};\n\nexport const genRequestQueuesPolicy = (): AdditionalPolicyConfig => {\n  const requestQueues = new Map<string, Promise<unknown>>();\n\n  return {\n    policy: {\n      name: 'request-queues',\n      async sendRequest(request, next) {\n        const key = request.headers.get('__queue');\n        request.headers.delete('__queue');\n        const getResponse = async (): Promise<PipelineResponse> => next(request);\n        if (key == null) return getResponse();\n        const req = (requestQueues.get(key) ?? Promise.resolve()).then(getResponse);\n        requestQueues.set(\n          key,\n          req.catch(() => {}),\n        );\n        return req;\n      },\n    },\n    position: 'perCall',\n  };\n};\n\nexport const genCombineGetRequestsPolicy = (): AdditionalPolicyConfig => {\n  const pendingGetRequests = new Map<string, Promise<PipelineResponse>>();\n\n  return {\n    policy: {\n      name: 'combine-get-requests',\n      async sendRequest(request, next) {\n        if (request.method !== 'GET') return next(request);\n        const key = JSON.stringify([request.url, request.body]);\n        const response = pendingGetRequests.get(key) ?? next(request);\n        pendingGetRequests.set(key, response);\n        try {\n          return await response;\n        } finally {\n          pendingGetRequests.delete(key);\n        }\n      },\n    },\n    position: 'perCall',\n  };\n};\n\nexport const genAggressiveCacheGetResponsesPolicy = (): AdditionalPolicyConfig => {\n  const getRequests = new Map<string, Promise<PipelineResponse>>();\n\n  return {\n    policy: {\n      name: 'aggressive-cache-get-responses',\n      async sendRequest(request, next) {\n        if (request.method !== 'GET') return next(request);\n        const key = JSON.stringify([request.url, request.body]);\n        const response = getRequests.get(key) ?? next(request);\n        getRequests.set(key, response);\n        return response;\n      },\n    },\n    position: 'perCall',\n  };\n};\n\nexport const genErrorFormatterPolicy = (\n  getMessage: (b: any) => string,\n): AdditionalPolicyConfig => ({\n  policy: {\n    name: 'error-formatter',\n    async sendRequest(request, next) {\n      try {\n        return await next(request);\n      } catch (error) {\n        if (\n          !(error instanceof RestError) ||\n          error.request == null ||\n          error.message.startsWith('Error ')\n        )\n          throw error;\n        const prefix = `${new URL(error.request.url).pathname.slice(1)} error`;\n\n        if (error.response?.bodyAsText == null) {\n          if (error.message === '') error.message = `${prefix}: ${error.code}`;\n          throw error;\n        }\n\n        const body = (error.response as FullOperationResponse).parsedBody;\n        error.message = prefix;\n        const message = body == null ? ` ${error.response.status} status code` : getMessage(body);\n        if (message !== '') error.message += `:${message}`;\n        throw error;\n      }\n    },\n  },\n  position: 'perCall',\n});\n\nexport const genVersionCheckPolicy = (\n  name: string,\n  versionCb: (options: OperationOptions) => Promise<string>,\n  geVersion: string,\n  ltVersion: string,\n  ignoreVersion: boolean,\n): AdditionalPolicyConfig => ({\n  policy: {\n    name: 'version-check',\n    async sendRequest(request, next) {\n      if (request.headers.has('__version-check')) {\n        request.headers.delete('__version-check');\n        return next(request);\n      }\n      const options = { requestOptions: { customHeaders: { '__version-check': 'true' } } };\n      const args = [await versionCb(options), geVersion, ltVersion] as const;\n      if (!semverSatisfies(...args)) {\n        const error = new UnsupportedVersionError(name, ...args);\n        if (ignoreVersion) console.warn(error.message);\n        else throw error;\n      }\n      return next(request);\n    },\n  },\n  position: 'perCall',\n});\n\nexport const genRetryOnFailurePolicy = (\n  retryCount: number,\n  retryOverallDelay: number,\n): AdditionalPolicyConfig => ({\n  policy: {\n    name: 'retry-on-failure',\n    async sendRequest(request, next) {\n      if (request.headers.get('__no-retry') != null) {\n        request.headers.delete('__no-retry');\n        return next(request);\n      }\n\n      const retryCode = request.headers.get('__retry-code') ?? NaN;\n      request.headers.delete('__retry-code');\n      const statusesToNotRetry = [200, 400, 403, 410, 500].filter((c) => c !== +retryCode);\n\n      const intervals = new Array(retryCount)\n        .fill(0)\n        .map((_, idx) => ((idx + 1) / retryCount) ** 2);\n      const intervalSum = intervals.reduce((a, b) => a + b, 0);\n      const intervalsInMs = intervals.map((e) => Math.floor((e / intervalSum) * retryOverallDelay));\n\n      let error = new RestError('Not expected to be thrown');\n      for (let attempt = 0; attempt <= retryCount; attempt += 1) {\n        if (attempt !== 0) {\n          await pause(intervalsInMs[attempt - 1]);\n          const urlParsed = new URL(request.url);\n          urlParsed.searchParams.set('__sdk-retry', attempt.toString());\n          request.url = urlParsed.toString();\n        }\n        try {\n          return await next(request);\n        } catch (e) {\n          if (!(e instanceof RestError)) throw e;\n          if (statusesToNotRetry.includes(e.response?.status ?? 0)) throw e;\n          error = e;\n        }\n      }\n      throw error;\n    },\n  },\n  position: 'perCall',\n});\n","import * as coreClient from \"@azure/core-client\";\n\nexport const Account: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"Account\",\n    modelProperties: {\n      id: {\n        serializedName: \"id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      balance: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"balance\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      nonce: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"nonce\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      payable: {\n        serializedName: \"payable\",\n        type: {\n          name: \"Boolean\",\n        },\n      },\n      kind: {\n        serializedName: \"kind\",\n        type: {\n          name: \"Enum\",\n          allowedValues: [\"basic\", \"generalized\"],\n        },\n      },\n      contractId: {\n        serializedName: \"contract_id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      authFun: {\n        serializedName: \"auth_fun\",\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const ErrorModel: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"ErrorModel\",\n    modelProperties: {\n      reason: {\n        serializedName: \"reason\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      errorCode: {\n        serializedName: \"error_code\",\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const NextNonceResponse: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"NextNonceResponse\",\n    modelProperties: {\n      nextNonce: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"next_nonce\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n    },\n  },\n};\n\nexport const SignedTxs: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"SignedTxs\",\n    modelProperties: {\n      transactions: {\n        serializedName: \"transactions\",\n        required: true,\n        type: {\n          name: \"Sequence\",\n          element: {\n            type: {\n              name: \"Composite\",\n              className: \"SignedTx\",\n            },\n          },\n        },\n      },\n    },\n  },\n};\n\nexport const SignedTx: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"SignedTx\",\n    modelProperties: {\n      tx: {\n        serializedName: \"tx\",\n        type: {\n          name: \"Composite\",\n          className: \"Tx\",\n        },\n      },\n      blockHeight: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: -1,\n        },\n        serializedName: \"block_height\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      blockHash: {\n        serializedName: \"block_hash\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      hash: {\n        serializedName: \"hash\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      encodedTx: {\n        serializedName: \"encoded_tx\",\n        type: {\n          name: \"String\",\n        },\n      },\n      signatures: {\n        serializedName: \"signatures\",\n        required: true,\n        type: {\n          name: \"Sequence\",\n          element: {\n            type: {\n              name: \"String\",\n            },\n          },\n        },\n      },\n    },\n  },\n};\n\nexport const Tx: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"Tx\",\n    modelProperties: {\n      recipientId: {\n        serializedName: \"recipient_id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      amount: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"amount\",\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      fee: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"fee\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      ttl: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"ttl\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      senderId: {\n        serializedName: \"sender_id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      nonce: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"nonce\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      payload: {\n        serializedName: \"payload\",\n        type: {\n          name: \"String\",\n        },\n      },\n      initiatorId: {\n        serializedName: \"initiator_id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      initiatorAmount: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"initiator_amount\",\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      responderId: {\n        serializedName: \"responder_id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      responderAmount: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"responder_amount\",\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      channelReserve: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"channel_reserve\",\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      lockPeriod: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"lock_period\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      stateHash: {\n        serializedName: \"state_hash\",\n        type: {\n          name: \"String\",\n        },\n      },\n      delegateIds: {\n        serializedName: \"delegate_ids\",\n        type: {\n          name: \"Composite\",\n          className: \"Delegates\",\n        },\n      },\n      channelId: {\n        serializedName: \"channel_id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      fromId: {\n        serializedName: \"from_id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      round: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"round\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      toId: {\n        serializedName: \"to_id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      update: {\n        serializedName: \"update\",\n        type: {\n          name: \"Composite\",\n          className: \"OffChainUpdate\",\n        },\n      },\n      offchainTrees: {\n        serializedName: \"offchain_trees\",\n        type: {\n          name: \"String\",\n        },\n      },\n      initiatorAmountFinal: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"initiator_amount_final\",\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      responderAmountFinal: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"responder_amount_final\",\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      poi: {\n        serializedName: \"poi\",\n        type: {\n          name: \"String\",\n        },\n      },\n      initiatorDelegateIds: {\n        serializedName: \"initiator_delegate_ids\",\n        type: {\n          name: \"Sequence\",\n          element: {\n            type: {\n              name: \"String\",\n            },\n          },\n        },\n      },\n      responderDelegateIds: {\n        serializedName: \"responder_delegate_ids\",\n        type: {\n          name: \"Sequence\",\n          element: {\n            type: {\n              name: \"String\",\n            },\n          },\n        },\n      },\n      queryFormat: {\n        serializedName: \"query_format\",\n        type: {\n          name: \"String\",\n        },\n      },\n      responseFormat: {\n        serializedName: \"response_format\",\n        type: {\n          name: \"String\",\n        },\n      },\n      queryFee: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"query_fee\",\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      oracleTtl: {\n        serializedName: \"oracle_ttl\",\n        type: {\n          name: \"Composite\",\n          className: \"RelativeTTL\",\n        },\n      },\n      accountId: {\n        serializedName: \"account_id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      abiVersion: {\n        constraints: {\n          InclusiveMaximum: 65535,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"abi_version\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      oracleId: {\n        serializedName: \"oracle_id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      query: {\n        serializedName: \"query\",\n        type: {\n          name: \"String\",\n        },\n      },\n      queryTtl: {\n        serializedName: \"query_ttl\",\n        type: {\n          name: \"Composite\",\n          className: \"Ttl\",\n        },\n      },\n      responseTtl: {\n        serializedName: \"response_ttl\",\n        type: {\n          name: \"Composite\",\n          className: \"RelativeTTL\",\n        },\n      },\n      queryId: {\n        serializedName: \"query_id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      response: {\n        serializedName: \"response\",\n        type: {\n          name: \"String\",\n        },\n      },\n      commitmentId: {\n        serializedName: \"commitment_id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      name: {\n        serializedName: \"name\",\n        type: {\n          name: \"String\",\n        },\n      },\n      nameSalt: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"name_salt\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      nameFee: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"name_fee\",\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      nameId: {\n        serializedName: \"name_id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      nameTtl: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"name_ttl\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      pointers: {\n        serializedName: \"pointers\",\n        type: {\n          name: \"Sequence\",\n          element: {\n            type: {\n              name: \"Composite\",\n              className: \"NamePointer\",\n            },\n          },\n        },\n      },\n      clientTtl: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"client_ttl\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      ownerId: {\n        serializedName: \"owner_id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      code: {\n        serializedName: \"code\",\n        type: {\n          name: \"String\",\n        },\n      },\n      vmVersion: {\n        constraints: {\n          InclusiveMaximum: 65535,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"vm_version\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      deposit: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"deposit\",\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      gas: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"gas\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      gasPrice: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"gas_price\",\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      callData: {\n        serializedName: \"call_data\",\n        type: {\n          name: \"String\",\n        },\n      },\n      callerId: {\n        serializedName: \"caller_id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      contractId: {\n        serializedName: \"contract_id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      authFun: {\n        constraints: {\n          Pattern: new RegExp(\"^(0x|0X)?[a-fA-F0-9]+$\"),\n        },\n        serializedName: \"auth_fun\",\n        type: {\n          name: \"String\",\n        },\n      },\n      gaId: {\n        serializedName: \"ga_id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      authData: {\n        serializedName: \"auth_data\",\n        type: {\n          name: \"String\",\n        },\n      },\n      tx: {\n        serializedName: \"tx\",\n        type: {\n          name: \"Composite\",\n          className: \"SignedTx\",\n        },\n      },\n      payerId: {\n        serializedName: \"payer_id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      version: {\n        constraints: {\n          InclusiveMaximum: 4294967295,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"version\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      type: {\n        serializedName: \"type\",\n        required: true,\n        type: {\n          name: \"Enum\",\n          allowedValues: [\n            \"SpendTx\",\n            \"ChannelCreateTx\",\n            \"ChannelDepositTx\",\n            \"ChannelWithdrawTx\",\n            \"ChannelForceProgressTx\",\n            \"ChannelCloseMutualTx\",\n            \"ChannelCloseSoloTx\",\n            \"ChannelSlashTx\",\n            \"ChannelSettleTx\",\n            \"ChannelSnapshotSoloTx\",\n            \"ChannelSetDelegatesTx\",\n            \"OracleRegisterTx\",\n            \"OracleExtendTx\",\n            \"OracleQueryTx\",\n            \"OracleRespondTx\",\n            \"NamePreclaimTx\",\n            \"NameClaimTx\",\n            \"NameUpdateTx\",\n            \"NameTransferTx\",\n            \"NameRevokeTx\",\n            \"ContractCreateTx\",\n            \"ContractCallTx\",\n            \"GAAttachTx\",\n            \"GAMetaTx\",\n            \"PayingForTx\",\n          ],\n        },\n      },\n    },\n  },\n};\n\nexport const Delegates: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"Delegates\",\n    modelProperties: {\n      initiator: {\n        serializedName: \"initiator\",\n        type: {\n          name: \"Sequence\",\n          element: {\n            type: {\n              name: \"String\",\n            },\n          },\n        },\n      },\n      responder: {\n        serializedName: \"responder\",\n        type: {\n          name: \"Sequence\",\n          element: {\n            type: {\n              name: \"String\",\n            },\n          },\n        },\n      },\n    },\n  },\n};\n\nexport const OffChainUpdate: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"OffChainUpdate\",\n    uberParent: \"OffChainUpdate\",\n    polymorphicDiscriminator: {\n      serializedName: \"op\",\n      clientName: \"op\",\n    },\n    modelProperties: {\n      op: {\n        serializedName: \"op\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const RelativeTTL: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"RelativeTTL\",\n    modelProperties: {\n      type: {\n        defaultValue: \"delta\",\n        isConstant: true,\n        serializedName: \"type\",\n        type: {\n          name: \"String\",\n        },\n      },\n      value: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"value\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n    },\n  },\n};\n\nexport const Ttl: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"Ttl\",\n    modelProperties: {\n      type: {\n        serializedName: \"type\",\n        required: true,\n        type: {\n          name: \"Enum\",\n          allowedValues: [\"delta\", \"block\"],\n        },\n      },\n      value: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"value\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n    },\n  },\n};\n\nexport const NamePointer: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"NamePointer\",\n    modelProperties: {\n      key: {\n        serializedName: \"key\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      encodedKey: {\n        serializedName: \"encoded_key\",\n        type: {\n          name: \"String\",\n        },\n      },\n      id: {\n        serializedName: \"id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const AuctionEntry: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"AuctionEntry\",\n    modelProperties: {\n      id: {\n        serializedName: \"id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      startedAt: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"started_at\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      endsAt: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"ends_at\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      highestBidder: {\n        serializedName: \"highest_bidder\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      highestBid: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"highest_bid\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n    },\n  },\n};\n\nexport const Channel: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"Channel\",\n    modelProperties: {\n      id: {\n        serializedName: \"id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      initiatorId: {\n        serializedName: \"initiator_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      responderId: {\n        serializedName: \"responder_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      channelAmount: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"channel_amount\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      initiatorAmount: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"initiator_amount\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      responderAmount: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"responder_amount\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      channelReserve: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"channel_reserve\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      delegateIds: {\n        serializedName: \"delegate_ids\",\n        type: {\n          name: \"Composite\",\n          className: \"Delegates\",\n        },\n      },\n      stateHash: {\n        serializedName: \"state_hash\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      round: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"round\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      soloRound: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"solo_round\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      lockPeriod: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"lock_period\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      lockedUntil: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"locked_until\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n    },\n  },\n};\n\nexport const ContractObject: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"ContractObject\",\n    modelProperties: {\n      id: {\n        serializedName: \"id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      ownerId: {\n        serializedName: \"owner_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      vmVersion: {\n        constraints: {\n          InclusiveMaximum: 65535,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"vm_version\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      abiVersion: {\n        constraints: {\n          InclusiveMaximum: 65535,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"abi_version\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      active: {\n        serializedName: \"active\",\n        required: true,\n        type: {\n          name: \"Boolean\",\n        },\n      },\n      referrerIds: {\n        serializedName: \"referrer_ids\",\n        required: true,\n        type: {\n          name: \"Sequence\",\n          element: {\n            type: {\n              name: \"String\",\n            },\n          },\n        },\n      },\n      deposit: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"deposit\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n    },\n  },\n};\n\nexport const ByteCode: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"ByteCode\",\n    modelProperties: {\n      bytecode: {\n        serializedName: \"bytecode\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const PoI: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"PoI\",\n    modelProperties: {\n      poi: {\n        serializedName: \"poi\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const Currency: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"Currency\",\n    modelProperties: {\n      name: {\n        serializedName: \"name\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      symbol: {\n        serializedName: \"symbol\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      subunit: {\n        serializedName: \"subunit\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      subunitsPerUnit: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"subunits_per_unit\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      fiatConverstionUrl: {\n        serializedName: \"fiat_converstion_url\",\n        type: {\n          name: \"String\",\n        },\n      },\n      fiatConversionUrl: {\n        serializedName: \"fiat_conversion_url\",\n        type: {\n          name: \"String\",\n        },\n      },\n      logo: {\n        serializedName: \"logo\",\n        type: {\n          name: \"Composite\",\n          className: \"Image\",\n        },\n      },\n      primaryColour: {\n        serializedName: \"primary_colour\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      secondaryColour: {\n        serializedName: \"secondary_colour\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      networkName: {\n        serializedName: \"network_name\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const Image: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"Image\",\n    modelProperties: {\n      type: {\n        serializedName: \"type\",\n        type: {\n          name: \"String\",\n        },\n      },\n      data: {\n        serializedName: \"data\",\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const DryRunInput: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"DryRunInput\",\n    modelProperties: {\n      top: {\n        serializedName: \"top\",\n        type: {\n          name: \"String\",\n        },\n      },\n      accounts: {\n        serializedName: \"accounts\",\n        type: {\n          name: \"Sequence\",\n          element: {\n            type: {\n              name: \"Composite\",\n              className: \"DryRunAccount\",\n            },\n          },\n        },\n      },\n      txs: {\n        serializedName: \"txs\",\n        required: true,\n        type: {\n          name: \"Sequence\",\n          element: {\n            type: {\n              name: \"Composite\",\n              className: \"DryRunInputItem\",\n            },\n          },\n        },\n      },\n      txEvents: {\n        defaultValue: false,\n        serializedName: \"tx_events\",\n        type: {\n          name: \"Boolean\",\n        },\n      },\n    },\n  },\n};\n\nexport const DryRunAccount: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"DryRunAccount\",\n    modelProperties: {\n      pubKey: {\n        serializedName: \"pub_key\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      amount: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"amount\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n    },\n  },\n};\n\nexport const DryRunInputItem: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"DryRunInputItem\",\n    modelProperties: {\n      tx: {\n        serializedName: \"tx\",\n        type: {\n          name: \"String\",\n        },\n      },\n      txHash: {\n        serializedName: \"tx_hash\",\n        type: {\n          name: \"String\",\n        },\n      },\n      callReq: {\n        serializedName: \"call_req\",\n        type: {\n          name: \"Composite\",\n          className: \"DryRunCallReq\",\n        },\n      },\n    },\n  },\n};\n\nexport const DryRunCallReq: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"DryRunCallReq\",\n    modelProperties: {\n      calldata: {\n        serializedName: \"calldata\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      contract: {\n        serializedName: \"contract\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      amount: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"amount\",\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      gas: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"gas\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      caller: {\n        serializedName: \"caller\",\n        type: {\n          name: \"String\",\n        },\n      },\n      nonce: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"nonce\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      abiVersion: {\n        constraints: {\n          InclusiveMaximum: 65535,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"abi_version\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      context: {\n        serializedName: \"context\",\n        type: {\n          name: \"Composite\",\n          className: \"DryRunCallContext\",\n        },\n      },\n    },\n  },\n};\n\nexport const DryRunCallContext: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"DryRunCallContext\",\n    modelProperties: {\n      tx: {\n        serializedName: \"tx\",\n        type: {\n          name: \"String\",\n        },\n      },\n      txHash: {\n        serializedName: \"tx_hash\",\n        type: {\n          name: \"String\",\n        },\n      },\n      stateful: {\n        serializedName: \"stateful\",\n        type: {\n          name: \"Boolean\",\n        },\n      },\n    },\n  },\n};\n\nexport const DryRunResults: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"DryRunResults\",\n    modelProperties: {\n      results: {\n        serializedName: \"results\",\n        required: true,\n        type: {\n          name: \"Sequence\",\n          element: {\n            type: {\n              name: \"Composite\",\n              className: \"DryRunResult\",\n            },\n          },\n        },\n      },\n      txEvents: {\n        serializedName: \"tx_events\",\n        type: {\n          name: \"Sequence\",\n          element: {\n            type: {\n              name: \"Dictionary\",\n              value: { type: { name: \"any\" } },\n            },\n          },\n        },\n      },\n    },\n  },\n};\n\nexport const DryRunResult: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"DryRunResult\",\n    modelProperties: {\n      type: {\n        serializedName: \"type\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      result: {\n        serializedName: \"result\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      reason: {\n        serializedName: \"reason\",\n        type: {\n          name: \"String\",\n        },\n      },\n      callObj: {\n        serializedName: \"call_obj\",\n        type: {\n          name: \"Composite\",\n          className: \"ContractCallObject\",\n        },\n      },\n    },\n  },\n};\n\nexport const ContractCallObject: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"ContractCallObject\",\n    modelProperties: {\n      callerId: {\n        serializedName: \"caller_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      callerNonce: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"caller_nonce\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      height: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"height\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      contractId: {\n        serializedName: \"contract_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      gasPrice: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"gas_price\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      gasUsed: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"gas_used\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      log: {\n        serializedName: \"log\",\n        required: true,\n        type: {\n          name: \"Sequence\",\n          element: {\n            type: {\n              name: \"Composite\",\n              className: \"Event\",\n            },\n          },\n        },\n      },\n      returnValue: {\n        serializedName: \"return_value\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      returnType: {\n        serializedName: \"return_type\",\n        required: true,\n        type: {\n          name: \"Enum\",\n          allowedValues: [\"ok\", \"error\", \"revert\"],\n        },\n      },\n    },\n  },\n};\n\nexport const Event: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"Event\",\n    modelProperties: {\n      address: {\n        serializedName: \"address\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      topics: {\n        serializedName: \"topics\",\n        required: true,\n        type: {\n          name: \"Sequence\",\n          element: {\n            constraints: {\n              InclusiveMinimum: 0,\n            },\n            type: {\n              // @ts-expect-error we are extending autorest with BigInt support\n              name: \"BigInt\",\n            },\n          },\n        },\n      },\n      data: {\n        serializedName: \"data\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const Generation: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"Generation\",\n    modelProperties: {\n      keyBlock: {\n        serializedName: \"key_block\",\n        type: {\n          name: \"Composite\",\n          className: \"KeyBlock\",\n        },\n      },\n      microBlocks: {\n        serializedName: \"micro_blocks\",\n        required: true,\n        type: {\n          name: \"Sequence\",\n          element: {\n            type: {\n              name: \"String\",\n            },\n          },\n        },\n      },\n    },\n  },\n};\n\nexport const KeyBlock: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"KeyBlock\",\n    modelProperties: {\n      hash: {\n        serializedName: \"hash\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      height: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"height\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      prevHash: {\n        serializedName: \"prev_hash\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      prevKeyHash: {\n        serializedName: \"prev_key_hash\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      stateHash: {\n        serializedName: \"state_hash\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      miner: {\n        serializedName: \"miner\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      beneficiary: {\n        serializedName: \"beneficiary\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      flags: {\n        serializedName: \"flags\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      target: {\n        constraints: {\n          InclusiveMaximum: 4294967295,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"target\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      pow: {\n        constraints: {\n          MinItems: 42,\n          MaxItems: 42,\n        },\n        serializedName: \"pow\",\n        type: {\n          name: \"Sequence\",\n          element: {\n            constraints: {\n              InclusiveMaximum: 4294967295,\n              InclusiveMinimum: 0,\n            },\n            type: {\n              name: \"Number\",\n            },\n          },\n        },\n      },\n      nonce: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"nonce\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      time: {\n        serializedName: \"time\",\n        required: true,\n        type: {\n          name: \"UnixTime\",\n        },\n      },\n      version: {\n        constraints: {\n          InclusiveMaximum: 4294967295,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"version\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      info: {\n        serializedName: \"info\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const Header: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"Header\",\n    modelProperties: {\n      hash: {\n        serializedName: \"hash\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      height: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"height\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      prevHash: {\n        serializedName: \"prev_hash\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      prevKeyHash: {\n        serializedName: \"prev_key_hash\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      stateHash: {\n        serializedName: \"state_hash\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      miner: {\n        serializedName: \"miner\",\n        type: {\n          name: \"String\",\n        },\n      },\n      beneficiary: {\n        serializedName: \"beneficiary\",\n        type: {\n          name: \"String\",\n        },\n      },\n      flags: {\n        serializedName: \"flags\",\n        type: {\n          name: \"String\",\n        },\n      },\n      target: {\n        constraints: {\n          InclusiveMaximum: 4294967295,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"target\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      pow: {\n        constraints: {\n          MinItems: 42,\n          MaxItems: 42,\n        },\n        serializedName: \"pow\",\n        type: {\n          name: \"Sequence\",\n          element: {\n            constraints: {\n              InclusiveMaximum: 4294967295,\n              InclusiveMinimum: 0,\n            },\n            type: {\n              name: \"Number\",\n            },\n          },\n        },\n      },\n      nonce: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"nonce\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      time: {\n        serializedName: \"time\",\n        required: true,\n        type: {\n          name: \"UnixTime\",\n        },\n      },\n      version: {\n        constraints: {\n          InclusiveMaximum: 4294967295,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"version\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      info: {\n        serializedName: \"info\",\n        type: {\n          name: \"String\",\n        },\n      },\n      pofHash: {\n        serializedName: \"pof_hash\",\n        type: {\n          name: \"String\",\n        },\n      },\n      txsHash: {\n        serializedName: \"txs_hash\",\n        type: {\n          name: \"String\",\n        },\n      },\n      signature: {\n        serializedName: \"signature\",\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const PinningTx: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"PinningTx\",\n    modelProperties: {\n      epoch: {\n        serializedName: \"epoch\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      height: {\n        serializedName: \"height\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      blockHash: {\n        serializedName: \"block_hash\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      parentPayload: {\n        serializedName: \"parent_payload\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      lastLeader: {\n        serializedName: \"last_leader\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      parentType: {\n        serializedName: \"parent_type\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      parentNetworkId: {\n        serializedName: \"parent_network_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const HCContractPubkeys: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"HCContractPubkeys\",\n    modelProperties: {\n      staking: {\n        serializedName: \"staking\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      election: {\n        serializedName: \"election\",\n        type: {\n          name: \"String\",\n        },\n      },\n      rewards: {\n        serializedName: \"rewards\",\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const HashResponse: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"HashResponse\",\n    modelProperties: {\n      hash: {\n        serializedName: \"hash\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const HeightResponse: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"HeightResponse\",\n    modelProperties: {\n      height: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"height\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n    },\n  },\n};\n\nexport const MicroBlockHeader: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"MicroBlockHeader\",\n    modelProperties: {\n      hash: {\n        serializedName: \"hash\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      height: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"height\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      pofHash: {\n        serializedName: \"pof_hash\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      prevHash: {\n        serializedName: \"prev_hash\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      prevKeyHash: {\n        serializedName: \"prev_key_hash\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      stateHash: {\n        serializedName: \"state_hash\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      txsHash: {\n        serializedName: \"txs_hash\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      signature: {\n        serializedName: \"signature\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      time: {\n        serializedName: \"time\",\n        required: true,\n        type: {\n          name: \"UnixTime\",\n        },\n      },\n      version: {\n        constraints: {\n          InclusiveMaximum: 4294967295,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"version\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n    },\n  },\n};\n\nexport const CountResponse: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"CountResponse\",\n    modelProperties: {\n      count: {\n        constraints: {\n          InclusiveMaximum: 4294967295,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"count\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n    },\n  },\n};\n\nexport const NameEntry: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"NameEntry\",\n    modelProperties: {\n      id: {\n        serializedName: \"id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      owner: {\n        serializedName: \"owner\",\n        type: {\n          name: \"String\",\n        },\n      },\n      ttl: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"ttl\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      pointers: {\n        serializedName: \"pointers\",\n        required: true,\n        type: {\n          name: \"Sequence\",\n          element: {\n            type: {\n              name: \"Composite\",\n              className: \"NamePointerComplete\",\n            },\n          },\n        },\n      },\n    },\n  },\n};\n\nexport const NamePointerComplete: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"NamePointerComplete\",\n    modelProperties: {\n      key: {\n        serializedName: \"key\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      encodedKey: {\n        serializedName: \"encoded_key\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      id: {\n        serializedName: \"id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const RegisteredOracle: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"RegisteredOracle\",\n    modelProperties: {\n      id: {\n        serializedName: \"id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      queryFormat: {\n        serializedName: \"query_format\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      responseFormat: {\n        serializedName: \"response_format\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      queryFee: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"query_fee\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      ttl: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"ttl\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      abiVersion: {\n        constraints: {\n          InclusiveMaximum: 65535,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"abi_version\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n    },\n  },\n};\n\nexport const OracleQueries: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"OracleQueries\",\n    modelProperties: {\n      oracleQueries: {\n        serializedName: \"oracle_queries\",\n        required: true,\n        type: {\n          name: \"Sequence\",\n          element: {\n            type: {\n              name: \"Composite\",\n              className: \"OracleQuery\",\n            },\n          },\n        },\n      },\n    },\n  },\n};\n\nexport const OracleQuery: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"OracleQuery\",\n    modelProperties: {\n      id: {\n        serializedName: \"id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      senderId: {\n        serializedName: \"sender_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      senderNonce: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"sender_nonce\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      oracleId: {\n        serializedName: \"oracle_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      query: {\n        serializedName: \"query\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      response: {\n        serializedName: \"response\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      ttl: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"ttl\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      responseTtl: {\n        serializedName: \"response_ttl\",\n        type: {\n          name: \"Composite\",\n          className: \"Ttl\",\n        },\n      },\n      fee: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"fee\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n    },\n  },\n};\n\nexport const PeerPubKey: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"PeerPubKey\",\n    modelProperties: {\n      pubkey: {\n        serializedName: \"pubkey\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const GasPricesItem: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"GasPricesItem\",\n    modelProperties: {\n      minGasPrice: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"min_gas_price\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      utilization: {\n        constraints: {\n          InclusiveMaximum: 100,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"utilization\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      minutes: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"minutes\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n    },\n  },\n};\n\nexport const Status: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"Status\",\n    modelProperties: {\n      genesisKeyBlockHash: {\n        serializedName: \"genesis_key_block_hash\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      solutions: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"solutions\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      difficulty: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"difficulty\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      hashrate: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"hashrate\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      syncing: {\n        serializedName: \"syncing\",\n        required: true,\n        type: {\n          name: \"Boolean\",\n        },\n      },\n      syncProgress: {\n        constraints: {\n          InclusiveMaximum: 100,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"sync_progress\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      uptime: {\n        serializedName: \"uptime\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      listening: {\n        serializedName: \"listening\",\n        required: true,\n        type: {\n          name: \"Boolean\",\n        },\n      },\n      protocols: {\n        serializedName: \"protocols\",\n        required: true,\n        type: {\n          name: \"Sequence\",\n          element: {\n            type: {\n              name: \"Composite\",\n              className: \"Protocol\",\n            },\n          },\n        },\n      },\n      nodeVersion: {\n        serializedName: \"node_version\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      nodeRevision: {\n        serializedName: \"node_revision\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      peerCount: {\n        constraints: {\n          InclusiveMaximum: 4294967295,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"peer_count\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      peerConnections: {\n        serializedName: \"peer_connections\",\n        type: {\n          name: \"Composite\",\n          className: \"PeerConnections\",\n        },\n      },\n      pendingTransactionsCount: {\n        constraints: {\n          InclusiveMaximum: 4294967295,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"pending_transactions_count\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      networkId: {\n        serializedName: \"network_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      peerPubkey: {\n        serializedName: \"peer_pubkey\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      topKeyBlockHash: {\n        serializedName: \"top_key_block_hash\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      topBlockHeight: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"top_block_height\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n    },\n  },\n};\n\nexport const Protocol: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"Protocol\",\n    modelProperties: {\n      version: {\n        constraints: {\n          InclusiveMaximum: 4294967295,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"version\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      effectiveAtHeight: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"effective_at_height\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n    },\n  },\n};\n\nexport const PeerConnections: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"PeerConnections\",\n    modelProperties: {\n      inbound: {\n        constraints: {\n          InclusiveMaximum: 4294967295,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"inbound\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      outbound: {\n        constraints: {\n          InclusiveMaximum: 4294967295,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"outbound\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n    },\n  },\n};\n\nexport const SyncStatus: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"SyncStatus\",\n    modelProperties: {\n      progress: {\n        serializedName: \"progress\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      target: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"target\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      speed: {\n        serializedName: \"speed\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      estimate: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"estimate\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n    },\n  },\n};\n\nexport const EncodedTx: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"EncodedTx\",\n    modelProperties: {\n      tx: {\n        serializedName: \"tx\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const PostTxResponse: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"PostTxResponse\",\n    modelProperties: {\n      txHash: {\n        serializedName: \"tx_hash\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const TxInfoObject: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"TxInfoObject\",\n    modelProperties: {\n      callInfo: {\n        serializedName: \"call_info\",\n        type: {\n          name: \"Composite\",\n          className: \"ContractCallObject\",\n        },\n      },\n      gaInfo: {\n        serializedName: \"ga_info\",\n        type: {\n          name: \"Composite\",\n          className: \"GAObject\",\n        },\n      },\n      txInfo: {\n        serializedName: \"tx_info\",\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const GAObject: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"GAObject\",\n    modelProperties: {\n      callerId: {\n        serializedName: \"caller_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      height: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"height\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      gasPrice: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"gas_price\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      gasUsed: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"gas_used\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      returnValue: {\n        serializedName: \"return_value\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      returnType: {\n        serializedName: \"return_type\",\n        required: true,\n        type: {\n          name: \"Enum\",\n          allowedValues: [\"ok\", \"error\"],\n        },\n      },\n      innerObject: {\n        serializedName: \"inner_object\",\n        type: {\n          name: \"Composite\",\n          className: \"TxInfoObject\",\n        },\n      },\n    },\n  },\n};\n\nexport const ChannelCloseMutualTx: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"ChannelCloseMutualTx\",\n    modelProperties: {\n      channelId: {\n        serializedName: \"channel_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      fromId: {\n        serializedName: \"from_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      initiatorAmountFinal: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"initiator_amount_final\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      responderAmountFinal: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"responder_amount_final\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      ttl: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"ttl\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      fee: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"fee\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      nonce: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"nonce\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n    },\n  },\n};\n\nexport const ChannelCloseSoloTx: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"ChannelCloseSoloTx\",\n    modelProperties: {\n      channelId: {\n        serializedName: \"channel_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      fromId: {\n        serializedName: \"from_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      payload: {\n        serializedName: \"payload\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      ttl: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"ttl\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      fee: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"fee\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      nonce: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"nonce\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      poi: {\n        serializedName: \"poi\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const ChannelCreateTx: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"ChannelCreateTx\",\n    modelProperties: {\n      initiatorId: {\n        serializedName: \"initiator_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      initiatorAmount: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"initiator_amount\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      responderId: {\n        serializedName: \"responder_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      responderAmount: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"responder_amount\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      channelReserve: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"channel_reserve\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      lockPeriod: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"lock_period\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      ttl: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"ttl\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      fee: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"fee\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      nonce: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"nonce\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      stateHash: {\n        serializedName: \"state_hash\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      delegateIds: {\n        serializedName: \"delegate_ids\",\n        type: {\n          name: \"Composite\",\n          className: \"Delegates\",\n        },\n      },\n    },\n  },\n};\n\nexport const ChannelDepositTx: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"ChannelDepositTx\",\n    modelProperties: {\n      channelId: {\n        serializedName: \"channel_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      fromId: {\n        serializedName: \"from_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      amount: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"amount\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      ttl: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"ttl\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      fee: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"fee\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      nonce: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"nonce\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      stateHash: {\n        serializedName: \"state_hash\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      round: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"round\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n    },\n  },\n};\n\nexport const ChannelForceProgressTx: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"ChannelForceProgressTx\",\n    modelProperties: {\n      channelId: {\n        serializedName: \"channel_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      fromId: {\n        serializedName: \"from_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      payload: {\n        serializedName: \"payload\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      round: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"round\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      update: {\n        serializedName: \"update\",\n        type: {\n          name: \"Composite\",\n          className: \"OffChainUpdate\",\n        },\n      },\n      stateHash: {\n        serializedName: \"state_hash\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      ttl: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"ttl\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      fee: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"fee\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      nonce: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"nonce\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      offchainTrees: {\n        serializedName: \"offchain_trees\",\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const ChannelSetDelegatesTx: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"ChannelSetDelegatesTx\",\n    modelProperties: {\n      channelId: {\n        serializedName: \"channel_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      fromId: {\n        serializedName: \"from_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      initiatorDelegateIds: {\n        serializedName: \"initiator_delegate_ids\",\n        required: true,\n        type: {\n          name: \"Sequence\",\n          element: {\n            type: {\n              name: \"String\",\n            },\n          },\n        },\n      },\n      responderDelegateIds: {\n        serializedName: \"responder_delegate_ids\",\n        required: true,\n        type: {\n          name: \"Sequence\",\n          element: {\n            type: {\n              name: \"String\",\n            },\n          },\n        },\n      },\n      stateHash: {\n        serializedName: \"state_hash\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      round: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"round\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      payload: {\n        serializedName: \"payload\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      ttl: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"ttl\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      fee: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"fee\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      nonce: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"nonce\",\n        type: {\n          name: \"Number\",\n        },\n      },\n    },\n  },\n};\n\nexport const ChannelSettleTx: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"ChannelSettleTx\",\n    modelProperties: {\n      channelId: {\n        serializedName: \"channel_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      fromId: {\n        serializedName: \"from_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      initiatorAmountFinal: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"initiator_amount_final\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      responderAmountFinal: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"responder_amount_final\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      ttl: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"ttl\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      fee: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"fee\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      nonce: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"nonce\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n    },\n  },\n};\n\nexport const ChannelSlashTx: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"ChannelSlashTx\",\n    modelProperties: {\n      channelId: {\n        serializedName: \"channel_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      fromId: {\n        serializedName: \"from_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      payload: {\n        serializedName: \"payload\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      ttl: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"ttl\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      fee: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"fee\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      nonce: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"nonce\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      poi: {\n        serializedName: \"poi\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const ChannelSnapshotSoloTx: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"ChannelSnapshotSoloTx\",\n    modelProperties: {\n      channelId: {\n        serializedName: \"channel_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      fromId: {\n        serializedName: \"from_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      payload: {\n        serializedName: \"payload\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      ttl: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"ttl\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      fee: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"fee\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      nonce: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"nonce\",\n        type: {\n          name: \"Number\",\n        },\n      },\n    },\n  },\n};\n\nexport const ChannelWithdrawTx: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"ChannelWithdrawTx\",\n    modelProperties: {\n      channelId: {\n        serializedName: \"channel_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      toId: {\n        serializedName: \"to_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      amount: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"amount\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      ttl: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"ttl\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      fee: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"fee\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      nonce: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"nonce\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      stateHash: {\n        serializedName: \"state_hash\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      round: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"round\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n    },\n  },\n};\n\nexport const CheckTxInPoolResponse: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"CheckTxInPoolResponse\",\n    modelProperties: {\n      status: {\n        serializedName: \"status\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const CommitmentId: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"CommitmentId\",\n    modelProperties: {\n      commitmentId: {\n        serializedName: \"commitment_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const ContractCallTx: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"ContractCallTx\",\n    modelProperties: {\n      callerId: {\n        serializedName: \"caller_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      nonce: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"nonce\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      contractId: {\n        serializedName: \"contract_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      abiVersion: {\n        constraints: {\n          InclusiveMaximum: 65535,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"abi_version\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      fee: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"fee\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      ttl: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"ttl\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      amount: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"amount\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      gas: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"gas\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      gasPrice: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"gas_price\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      callData: {\n        serializedName: \"call_data\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const ContractCreateTx: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"ContractCreateTx\",\n    modelProperties: {\n      ownerId: {\n        serializedName: \"owner_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      nonce: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"nonce\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      code: {\n        serializedName: \"code\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      vmVersion: {\n        constraints: {\n          InclusiveMaximum: 65535,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"vm_version\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      abiVersion: {\n        constraints: {\n          InclusiveMaximum: 65535,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"abi_version\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      deposit: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"deposit\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      amount: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"amount\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      gas: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"gas\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      gasPrice: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"gas_price\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      fee: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"fee\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      ttl: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"ttl\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      callData: {\n        serializedName: \"call_data\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const UnsignedTx: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"UnsignedTx\",\n    modelProperties: {\n      tx: {\n        serializedName: \"tx\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const GAAttachTx: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"GAAttachTx\",\n    modelProperties: {\n      ownerId: {\n        serializedName: \"owner_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      nonce: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"nonce\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      code: {\n        serializedName: \"code\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      vmVersion: {\n        constraints: {\n          InclusiveMaximum: 65535,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"vm_version\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      abiVersion: {\n        constraints: {\n          InclusiveMaximum: 65535,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"abi_version\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      gas: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"gas\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      gasPrice: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"gas_price\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      fee: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"fee\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      ttl: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"ttl\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      callData: {\n        serializedName: \"call_data\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      authFun: {\n        constraints: {\n          Pattern: new RegExp(\"^(0x|0X)?[a-fA-F0-9]+$\"),\n        },\n        serializedName: \"auth_fun\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const GAMetaTx: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"GAMetaTx\",\n    modelProperties: {\n      gaId: {\n        serializedName: \"ga_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      abiVersion: {\n        constraints: {\n          InclusiveMaximum: 65535,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"abi_version\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      gas: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"gas\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      gasPrice: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"gas_price\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      fee: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"fee\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      ttl: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"ttl\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      authData: {\n        serializedName: \"auth_data\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      tx: {\n        serializedName: \"tx\",\n        type: {\n          name: \"Composite\",\n          className: \"SignedTx\",\n        },\n      },\n    },\n  },\n};\n\nexport const NameClaimTx: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"NameClaimTx\",\n    modelProperties: {\n      name: {\n        serializedName: \"name\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      nameSalt: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"name_salt\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      nameFee: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"name_fee\",\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      fee: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"fee\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      ttl: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"ttl\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      accountId: {\n        serializedName: \"account_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      nonce: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"nonce\",\n        type: {\n          name: \"Number\",\n        },\n      },\n    },\n  },\n};\n\nexport const NameHash: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"NameHash\",\n    modelProperties: {\n      nameId: {\n        serializedName: \"name_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const NamePreclaimTx: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"NamePreclaimTx\",\n    modelProperties: {\n      commitmentId: {\n        serializedName: \"commitment_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      fee: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"fee\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      ttl: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"ttl\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      accountId: {\n        serializedName: \"account_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      nonce: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"nonce\",\n        type: {\n          name: \"Number\",\n        },\n      },\n    },\n  },\n};\n\nexport const NameRevokeTx: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"NameRevokeTx\",\n    modelProperties: {\n      nameId: {\n        serializedName: \"name_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      fee: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"fee\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      ttl: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"ttl\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      accountId: {\n        serializedName: \"account_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      nonce: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"nonce\",\n        type: {\n          name: \"Number\",\n        },\n      },\n    },\n  },\n};\n\nexport const NameTransferTx: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"NameTransferTx\",\n    modelProperties: {\n      nameId: {\n        serializedName: \"name_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      recipientId: {\n        serializedName: \"recipient_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      fee: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"fee\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      ttl: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"ttl\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      accountId: {\n        serializedName: \"account_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      nonce: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"nonce\",\n        type: {\n          name: \"Number\",\n        },\n      },\n    },\n  },\n};\n\nexport const NameUpdateTx: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"NameUpdateTx\",\n    modelProperties: {\n      nameId: {\n        serializedName: \"name_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      nameTtl: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"name_ttl\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      pointers: {\n        serializedName: \"pointers\",\n        required: true,\n        type: {\n          name: \"Sequence\",\n          element: {\n            type: {\n              name: \"Composite\",\n              className: \"NamePointer\",\n            },\n          },\n        },\n      },\n      clientTtl: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"client_ttl\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      fee: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"fee\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      ttl: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"ttl\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      accountId: {\n        serializedName: \"account_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      nonce: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"nonce\",\n        type: {\n          name: \"Number\",\n        },\n      },\n    },\n  },\n};\n\nexport const PeerDetails: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"PeerDetails\",\n    modelProperties: {\n      host: {\n        serializedName: \"host\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      port: {\n        constraints: {\n          InclusiveMaximum: 4294967295,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"port\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      firstSeen: {\n        constraints: {\n          InclusiveMaximum: 4294967295,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"first_seen\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      lastSeen: {\n        constraints: {\n          InclusiveMaximum: 4294967295,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"last_seen\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      genesisHash: {\n        serializedName: \"genesis_hash\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      topHash: {\n        serializedName: \"top_hash\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      topDifficulty: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"top_difficulty\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      networkId: {\n        serializedName: \"network_id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      nodeVersion: {\n        serializedName: \"node_version\",\n        type: {\n          name: \"String\",\n        },\n      },\n      nodeRevision: {\n        serializedName: \"node_revision\",\n        type: {\n          name: \"String\",\n        },\n      },\n      nodeVendor: {\n        serializedName: \"node_vendor\",\n        type: {\n          name: \"String\",\n        },\n      },\n      nodeOs: {\n        serializedName: \"node_os\",\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const OracleExtendTx: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"OracleExtendTx\",\n    modelProperties: {\n      fee: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"fee\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      oracleTtl: {\n        serializedName: \"oracle_ttl\",\n        type: {\n          name: \"Composite\",\n          className: \"RelativeTTL\",\n        },\n      },\n      oracleId: {\n        serializedName: \"oracle_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      nonce: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"nonce\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      ttl: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"ttl\",\n        type: {\n          name: \"Number\",\n        },\n      },\n    },\n  },\n};\n\nexport const OracleQueryTx: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"OracleQueryTx\",\n    modelProperties: {\n      oracleId: {\n        serializedName: \"oracle_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      query: {\n        serializedName: \"query\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      queryFee: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"query_fee\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      queryTtl: {\n        serializedName: \"query_ttl\",\n        type: {\n          name: \"Composite\",\n          className: \"Ttl\",\n        },\n      },\n      responseTtl: {\n        serializedName: \"response_ttl\",\n        type: {\n          name: \"Composite\",\n          className: \"RelativeTTL\",\n        },\n      },\n      fee: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"fee\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      ttl: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"ttl\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      senderId: {\n        serializedName: \"sender_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      nonce: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"nonce\",\n        type: {\n          name: \"Number\",\n        },\n      },\n    },\n  },\n};\n\nexport const OracleRegisterTx: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"OracleRegisterTx\",\n    modelProperties: {\n      queryFormat: {\n        serializedName: \"query_format\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      responseFormat: {\n        serializedName: \"response_format\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      queryFee: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"query_fee\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      oracleTtl: {\n        serializedName: \"oracle_ttl\",\n        type: {\n          name: \"Composite\",\n          className: \"Ttl\",\n        },\n      },\n      accountId: {\n        serializedName: \"account_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      nonce: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"nonce\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      fee: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"fee\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      ttl: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"ttl\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      abiVersion: {\n        constraints: {\n          InclusiveMaximum: 65535,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"abi_version\",\n        type: {\n          name: \"Number\",\n        },\n      },\n    },\n  },\n};\n\nexport const OracleRespondTx: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"OracleRespondTx\",\n    modelProperties: {\n      queryId: {\n        serializedName: \"query_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      response: {\n        serializedName: \"response\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      responseTtl: {\n        serializedName: \"response_ttl\",\n        type: {\n          name: \"Composite\",\n          className: \"RelativeTTL\",\n        },\n      },\n      fee: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"fee\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      ttl: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"ttl\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      oracleId: {\n        serializedName: \"oracle_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      nonce: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"nonce\",\n        type: {\n          name: \"Number\",\n        },\n      },\n    },\n  },\n};\n\nexport const PayingForTx: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"PayingForTx\",\n    modelProperties: {\n      payerId: {\n        serializedName: \"payer_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      fee: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"fee\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      nonce: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"nonce\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      tx: {\n        serializedName: \"tx\",\n        type: {\n          name: \"Composite\",\n          className: \"SignedTx\",\n        },\n      },\n    },\n  },\n};\n\nexport const PeerCount: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"PeerCount\",\n    modelProperties: {\n      connected: {\n        serializedName: \"connected\",\n        type: {\n          name: \"Composite\",\n          className: \"PeerCountConnected\",\n        },\n      },\n      available: {\n        serializedName: \"available\",\n        type: {\n          name: \"Composite\",\n          className: \"PeerCountAvailable\",\n        },\n      },\n      blocked: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"blocked\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n    },\n  },\n};\n\nexport const PeerCountConnected: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"PeerCountConnected\",\n    modelProperties: {\n      inbound: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"inbound\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      outbound: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"outbound\",\n        type: {\n          name: \"Number\",\n        },\n      },\n    },\n  },\n};\n\nexport const PeerCountAvailable: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"PeerCountAvailable\",\n    modelProperties: {\n      verified: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"verified\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      unverified: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"unverified\",\n        type: {\n          name: \"Number\",\n        },\n      },\n    },\n  },\n};\n\nexport const Peers: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"Peers\",\n    modelProperties: {\n      peers: {\n        serializedName: \"peers\",\n        required: true,\n        type: {\n          name: \"Sequence\",\n          element: {\n            type: {\n              name: \"String\",\n            },\n          },\n        },\n      },\n      blocked: {\n        serializedName: \"blocked\",\n        required: true,\n        type: {\n          name: \"Sequence\",\n          element: {\n            type: {\n              name: \"String\",\n            },\n          },\n        },\n      },\n    },\n  },\n};\n\nexport const PubKey: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"PubKey\",\n    modelProperties: {\n      pubKey: {\n        serializedName: \"pub_key\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const SpendTx: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"SpendTx\",\n    modelProperties: {\n      recipientId: {\n        serializedName: \"recipient_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      amount: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"amount\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      fee: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"fee\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      ttl: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"ttl\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      senderId: {\n        serializedName: \"sender_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      nonce: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"nonce\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      payload: {\n        serializedName: \"payload\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const TokenSupply: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"TokenSupply\",\n    modelProperties: {\n      accounts: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"accounts\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      contracts: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"contracts\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      contractOracles: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"contract_oracles\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      locked: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"locked\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      oracles: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"oracles\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      oracleQueries: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"oracle_queries\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      pendingRewards: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"pending_rewards\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      total: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"total\",\n        type: {\n          name: \"Number\",\n        },\n      },\n    },\n  },\n};\n\nexport const OffChainCallContract: coreClient.CompositeMapper = {\n  serializedName: \"OffChainCallContract\",\n  type: {\n    name: \"Composite\",\n    className: \"OffChainCallContract\",\n    uberParent: \"OffChainUpdate\",\n    polymorphicDiscriminator: OffChainUpdate.type.polymorphicDiscriminator,\n    modelProperties: {\n      ...OffChainUpdate.type.modelProperties,\n      caller: {\n        serializedName: \"caller\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      contract: {\n        serializedName: \"contract\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      abiVersion: {\n        constraints: {\n          InclusiveMaximum: 65535,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"abi_version\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      amount: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"amount\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      gas: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"gas\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      gasPrice: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"gas_price\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      callData: {\n        serializedName: \"call_data\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const OffChainDeposit: coreClient.CompositeMapper = {\n  serializedName: \"OffChainDeposit\",\n  type: {\n    name: \"Composite\",\n    className: \"OffChainDeposit\",\n    uberParent: \"OffChainUpdate\",\n    polymorphicDiscriminator: OffChainUpdate.type.polymorphicDiscriminator,\n    modelProperties: {\n      ...OffChainUpdate.type.modelProperties,\n      from: {\n        serializedName: \"from\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      amount: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"amount\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n    },\n  },\n};\n\nexport const OffChainNewContract: coreClient.CompositeMapper = {\n  serializedName: \"OffChainNewContract\",\n  type: {\n    name: \"Composite\",\n    className: \"OffChainNewContract\",\n    uberParent: \"OffChainUpdate\",\n    polymorphicDiscriminator: OffChainUpdate.type.polymorphicDiscriminator,\n    modelProperties: {\n      ...OffChainUpdate.type.modelProperties,\n      owner: {\n        serializedName: \"owner\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      vmVersion: {\n        constraints: {\n          InclusiveMaximum: 65535,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"vm_version\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      abiVersion: {\n        constraints: {\n          InclusiveMaximum: 65535,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"abi_version\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      code: {\n        serializedName: \"code\",\n        type: {\n          name: \"Composite\",\n          className: \"ByteCode\",\n        },\n      },\n      deposit: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"deposit\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      callData: {\n        serializedName: \"call_data\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const OffChainTransfer: coreClient.CompositeMapper = {\n  serializedName: \"OffChainTransfer\",\n  type: {\n    name: \"Composite\",\n    className: \"OffChainTransfer\",\n    uberParent: \"OffChainUpdate\",\n    polymorphicDiscriminator: OffChainUpdate.type.polymorphicDiscriminator,\n    modelProperties: {\n      ...OffChainUpdate.type.modelProperties,\n      from: {\n        serializedName: \"from\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      to: {\n        serializedName: \"to\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      amount: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"amount\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n    },\n  },\n};\n\nexport const OffChainWithdrawal: coreClient.CompositeMapper = {\n  serializedName: \"OffChainWithdrawal\",\n  type: {\n    name: \"Composite\",\n    className: \"OffChainWithdrawal\",\n    uberParent: \"OffChainUpdate\",\n    polymorphicDiscriminator: OffChainUpdate.type.polymorphicDiscriminator,\n    modelProperties: {\n      ...OffChainUpdate.type.modelProperties,\n      to: {\n        serializedName: \"to\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      amount: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"amount\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n    },\n  },\n};\n\nexport const CreateContractUnsignedTx: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"CreateContractUnsignedTx\",\n    modelProperties: {\n      ...UnsignedTx.type.modelProperties,\n      contractId: {\n        serializedName: \"contract_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport let discriminators = {\n  OffChainUpdate: OffChainUpdate,\n  \"OffChainUpdate.OffChainCallContract\": OffChainCallContract,\n  \"OffChainUpdate.OffChainDeposit\": OffChainDeposit,\n  \"OffChainUpdate.OffChainNewContract\": OffChainNewContract,\n  \"OffChainUpdate.OffChainTransfer\": OffChainTransfer,\n  \"OffChainUpdate.OffChainWithdrawal\": OffChainWithdrawal,\n};\n","import {\n  OperationParameter,\n  OperationURLParameter,\n  OperationQueryParameter,\n} from \"@azure/core-client\";\nimport {\n  DryRunInput as DryRunInputMapper,\n  EncodedTx as EncodedTxMapper,\n} from \"../models/mappers.js\";\n\nexport const accept: OperationParameter = {\n  parameterPath: \"accept\",\n  mapper: {\n    defaultValue: \"application/json\",\n    isConstant: true,\n    serializedName: \"Accept\",\n    type: {\n      name: \"String\",\n    },\n  },\n};\n\nexport const $host: OperationURLParameter = {\n  parameterPath: \"$host\",\n  mapper: {\n    serializedName: \"$host\",\n    required: true,\n    type: {\n      name: \"String\",\n    },\n  },\n  skipEncoding: true,\n};\n\nexport const pubkey: OperationURLParameter = {\n  parameterPath: \"pubkey\",\n  mapper: {\n    serializedName: \"pubkey\",\n    required: true,\n    type: {\n      name: \"String\",\n    },\n  },\n};\n\nexport const hash: OperationURLParameter = {\n  parameterPath: \"hash\",\n  mapper: {\n    serializedName: \"hash\",\n    required: true,\n    type: {\n      name: \"String\",\n    },\n  },\n};\n\nexport const height: OperationURLParameter = {\n  parameterPath: \"height\",\n  mapper: {\n    constraints: {\n      InclusiveMaximum: 18446744073709552000,\n      InclusiveMinimum: 0,\n    },\n    serializedName: \"height\",\n    required: true,\n    type: {\n      name: \"Number\",\n    },\n  },\n};\n\nexport const strategy: OperationQueryParameter = {\n  parameterPath: [\"options\", \"strategy\"],\n  mapper: {\n    defaultValue: \"max\",\n    serializedName: \"strategy\",\n    type: {\n      name: \"Enum\",\n      allowedValues: [\"max\", \"continuity\"],\n    },\n  },\n};\n\nexport const name: OperationURLParameter = {\n  parameterPath: \"name\",\n  mapper: {\n    serializedName: \"name\",\n    required: true,\n    type: {\n      name: \"String\",\n    },\n  },\n};\n\nexport const contentType: OperationParameter = {\n  parameterPath: [\"options\", \"contentType\"],\n  mapper: {\n    defaultValue: \"application/json\",\n    isConstant: true,\n    serializedName: \"Content-Type\",\n    type: {\n      name: \"String\",\n    },\n  },\n};\n\nexport const body: OperationParameter = {\n  parameterPath: \"body\",\n  mapper: DryRunInputMapper,\n};\n\nexport const index: OperationURLParameter = {\n  parameterPath: \"index\",\n  mapper: {\n    constraints: {\n      InclusiveMinimum: 1,\n    },\n    serializedName: \"index\",\n    required: true,\n    type: {\n      name: \"Number\",\n    },\n  },\n};\n\nexport const nameHash: OperationURLParameter = {\n  parameterPath: \"nameHash\",\n  mapper: {\n    serializedName: \"name_hash\",\n    required: true,\n    type: {\n      name: \"String\",\n    },\n  },\n};\n\nexport const fromParam: OperationQueryParameter = {\n  parameterPath: [\"options\", \"from\"],\n  mapper: {\n    serializedName: \"from\",\n    type: {\n      name: \"String\",\n    },\n  },\n};\n\nexport const limit: OperationQueryParameter = {\n  parameterPath: [\"options\", \"limit\"],\n  mapper: {\n    defaultValue: 20,\n    constraints: {\n      InclusiveMaximum: 1000,\n      InclusiveMinimum: 1,\n    },\n    serializedName: \"limit\",\n    type: {\n      name: \"Number\",\n    },\n  },\n};\n\nexport const typeParam: OperationQueryParameter = {\n  parameterPath: [\"options\", \"type\"],\n  mapper: {\n    defaultValue: \"all\",\n    serializedName: \"type\",\n    type: {\n      name: \"Enum\",\n      allowedValues: [\"open\", \"closed\", \"all\"],\n    },\n  },\n};\n\nexport const queryId: OperationURLParameter = {\n  parameterPath: \"queryId\",\n  mapper: {\n    serializedName: \"query-id\",\n    required: true,\n    type: {\n      name: \"String\",\n    },\n  },\n};\n\nexport const body1: OperationParameter = {\n  parameterPath: \"body\",\n  mapper: EncodedTxMapper,\n};\n","import { createSerializer } from \"../../utils/autorest.js\";\nimport * as coreClient from \"@azure/core-client\";\nimport * as Parameters from \"./models/parameters.js\";\nimport * as Mappers from \"./models/mappers.js\";\nimport {\n  NodeOptionalParams,\n  GetAccountByPubkeyOptionalParams,\n  GetAccountByPubkeyResponse,\n  GetAccountByPubkeyAndHashOptionalParams,\n  GetAccountByPubkeyAndHashResponse,\n  GetAccountByPubkeyAndHeightOptionalParams,\n  GetAccountByPubkeyAndHeightResponse,\n  GetAccountNextNonceOptionalParams,\n  GetAccountNextNonceResponse,\n  GetPendingAccountTransactionsByPubkeyOptionalParams,\n  GetPendingAccountTransactionsByPubkeyResponse,\n  GetAuctionEntryByNameOptionalParams,\n  GetAuctionEntryByNameResponse,\n  GetChannelByPubkeyOptionalParams,\n  GetChannelByPubkeyResponse,\n  GetContractOptionalParams,\n  GetContractResponse,\n  GetContractCodeOptionalParams,\n  GetContractCodeResponse,\n  GetContractPoIOptionalParams,\n  GetContractPoIResponse,\n  GetCurrencyOptionalParams,\n  GetCurrencyResponse,\n  DryRunInput,\n  ProtectedDryRunTxsOptionalParams,\n  ProtectedDryRunTxsResponse,\n  GetCurrentGenerationOptionalParams,\n  GetCurrentGenerationResponse,\n  GetGenerationByHashOptionalParams,\n  GetGenerationByHashResponse,\n  GetGenerationByHeightOptionalParams,\n  GetGenerationByHeightResponse,\n  GetTopHeaderOptionalParams,\n  GetTopHeaderResponse,\n  GetPinningTxOptionalParams,\n  GetPinningTxResponse,\n  GetHyperchainContractPubkeysOptionalParams,\n  GetHyperchainContractPubkeysResponse,\n  GetCurrentKeyBlockOptionalParams,\n  GetCurrentKeyBlockResponse,\n  GetCurrentKeyBlockHashOptionalParams,\n  GetCurrentKeyBlockHashResponse,\n  GetCurrentKeyBlockHeightOptionalParams,\n  GetCurrentKeyBlockHeightResponse,\n  GetKeyBlockByHashOptionalParams,\n  GetKeyBlockByHashResponse,\n  GetKeyBlockByHeightOptionalParams,\n  GetKeyBlockByHeightResponse,\n  GetPendingKeyBlockOptionalParams,\n  GetPendingKeyBlockResponse,\n  GetMicroBlockHeaderByHashOptionalParams,\n  GetMicroBlockHeaderByHashResponse,\n  GetMicroBlockTransactionsByHashOptionalParams,\n  GetMicroBlockTransactionsByHashResponse,\n  GetMicroBlockTransactionsCountByHashOptionalParams,\n  GetMicroBlockTransactionsCountByHashResponse,\n  GetMicroBlockTransactionByHashAndIndexOptionalParams,\n  GetMicroBlockTransactionByHashAndIndexResponse,\n  GetNameEntryByNameOptionalParams,\n  GetNameEntryByNameResponse,\n  GetNameEntryByNameHashOptionalParams,\n  GetNameEntryByNameHashResponse,\n  GetOracleByPubkeyOptionalParams,\n  GetOracleByPubkeyResponse,\n  GetOracleQueriesByPubkeyOptionalParams,\n  GetOracleQueriesByPubkeyResponse,\n  GetOracleQueryByPubkeyAndQueryIdOptionalParams,\n  GetOracleQueryByPubkeyAndQueryIdResponse,\n  GetPeerPubkeyOptionalParams,\n  GetPeerPubkeyResponse,\n  GetRecentGasPricesOptionalParams,\n  GetRecentGasPricesResponse,\n  GetStatusOptionalParams,\n  GetStatusResponse,\n  GetChainEndsOptionalParams,\n  GetChainEndsResponse,\n  GetSyncStatusOptionalParams,\n  GetSyncStatusResponse,\n  EncodedTx,\n  PostTransactionOptionalParams,\n  PostTransactionResponse,\n  GetTransactionByHashOptionalParams,\n  GetTransactionByHashResponse,\n  GetTransactionInfoByHashOptionalParams,\n  GetTransactionInfoByHashResponse,\n} from \"./models/index.js\";\n\nexport class Node extends coreClient.ServiceClient {\n  readonly $host: string;\n\n  /**\n   * Initializes a new instance of the Node class.\n   * @param $host server parameter\n   * @param options The parameter options\n   */\n  constructor($host: string, options?: NodeOptionalParams) {\n    if ($host === undefined) {\n      throw new Error(\"'$host' cannot be null\");\n    }\n\n    // Initializing default values for options\n    if (!options) {\n      options = {};\n    }\n    const defaults: NodeOptionalParams = {\n      requestContentType: \"application/json; charset=utf-8\",\n    };\n\n    const packageDetails = `azsdk-js-node/1.0.0-beta.1`;\n    const userAgentPrefix =\n      options.userAgentOptions && options.userAgentOptions.userAgentPrefix\n        ? `${options.userAgentOptions.userAgentPrefix} ${packageDetails}`\n        : `${packageDetails}`;\n\n    const optionsWithDefaults = {\n      ...defaults,\n      ...options,\n      userAgentOptions: {\n        userAgentPrefix,\n      },\n      endpoint: options.endpoint ?? options.baseUri ?? \"{$host}\",\n    };\n    super(optionsWithDefaults);\n    // Parameter assignments\n    this.$host = $host;\n  }\n\n  /**\n   * Get an account by public key\n   * @param pubkey The public key of the account\n   * @param options The options parameters.\n   */\n  getAccountByPubkey(\n    pubkey: string,\n    options?: GetAccountByPubkeyOptionalParams,\n  ): Promise<GetAccountByPubkeyResponse> {\n    return this.sendOperationRequest(\n      { pubkey, options },\n      getAccountByPubkeyOperationSpec,\n    );\n  }\n\n  /**\n   * Get an account by public key after the block indicated by hash. Can be either a micro block or a\n   * keyblock hash\n   * @param pubkey The public key of the account\n   * @param hash The hash of the block - either a keyblock or a microblock\n   * @param options The options parameters.\n   */\n  getAccountByPubkeyAndHash(\n    pubkey: string,\n    hash: string,\n    options?: GetAccountByPubkeyAndHashOptionalParams,\n  ): Promise<GetAccountByPubkeyAndHashResponse> {\n    return this.sendOperationRequest(\n      { pubkey, hash, options },\n      getAccountByPubkeyAndHashOperationSpec,\n    );\n  }\n\n  /**\n   * Get an account by public key after the opening key block of the generation at height\n   * @param pubkey The public key of the account\n   * @param height The height\n   * @param options The options parameters.\n   */\n  getAccountByPubkeyAndHeight(\n    pubkey: string,\n    height: number,\n    options?: GetAccountByPubkeyAndHeightOptionalParams,\n  ): Promise<GetAccountByPubkeyAndHeightResponse> {\n    return this.sendOperationRequest(\n      { pubkey, height, options },\n      getAccountByPubkeyAndHeightOperationSpec,\n    );\n  }\n\n  /**\n   * Get an account's next nonce; This is computed according to whatever is the current account nonce and\n   * what transactions are currently present in the transaction pool\n   * @param pubkey The public key of the account\n   * @param options The options parameters.\n   */\n  getAccountNextNonce(\n    pubkey: string,\n    options?: GetAccountNextNonceOptionalParams,\n  ): Promise<GetAccountNextNonceResponse> {\n    return this.sendOperationRequest(\n      { pubkey, options },\n      getAccountNextNonceOperationSpec,\n    );\n  }\n\n  /**\n   * Get pending account transactions by public key\n   * @param pubkey The public key of the account\n   * @param options The options parameters.\n   */\n  getPendingAccountTransactionsByPubkey(\n    pubkey: string,\n    options?: GetPendingAccountTransactionsByPubkeyOptionalParams,\n  ): Promise<GetPendingAccountTransactionsByPubkeyResponse> {\n    return this.sendOperationRequest(\n      { pubkey, options },\n      getPendingAccountTransactionsByPubkeyOperationSpec,\n    );\n  }\n\n  /**\n   * Get auction entry from naming system\n   * @param name The name key of the name entry\n   * @param options The options parameters.\n   */\n  getAuctionEntryByName(\n    name: string,\n    options?: GetAuctionEntryByNameOptionalParams,\n  ): Promise<GetAuctionEntryByNameResponse> {\n    return this.sendOperationRequest(\n      { name, options },\n      getAuctionEntryByNameOperationSpec,\n    );\n  }\n\n  /**\n   * Get channel by public key\n   * @param pubkey The pubkey of the channel\n   * @param options The options parameters.\n   */\n  getChannelByPubkey(\n    pubkey: string,\n    options?: GetChannelByPubkeyOptionalParams,\n  ): Promise<GetChannelByPubkeyResponse> {\n    return this.sendOperationRequest(\n      { pubkey, options },\n      getChannelByPubkeyOperationSpec,\n    );\n  }\n\n  /**\n   * Get a contract by pubkey\n   * @param pubkey Contract pubkey to get proof for\n   * @param options The options parameters.\n   */\n  getContract(\n    pubkey: string,\n    options?: GetContractOptionalParams,\n  ): Promise<GetContractResponse> {\n    return this.sendOperationRequest(\n      { pubkey, options },\n      getContractOperationSpec,\n    );\n  }\n\n  /**\n   * Get contract code by pubkey\n   * @param pubkey Contract pubkey to get proof for\n   * @param options The options parameters.\n   */\n  getContractCode(\n    pubkey: string,\n    options?: GetContractCodeOptionalParams,\n  ): Promise<GetContractCodeResponse> {\n    return this.sendOperationRequest(\n      { pubkey, options },\n      getContractCodeOperationSpec,\n    );\n  }\n\n  /**\n   * Get a proof of inclusion for a contract\n   * @param pubkey Contract pubkey to get proof for\n   * @param options The options parameters.\n   */\n  getContractPoI(\n    pubkey: string,\n    options?: GetContractPoIOptionalParams,\n  ): Promise<GetContractPoIResponse> {\n    return this.sendOperationRequest(\n      { pubkey, options },\n      getContractPoIOperationSpec,\n    );\n  }\n\n  /**\n   * Get the currency metadata of a node\n   * @param options The options parameters.\n   */\n  getCurrency(\n    options?: GetCurrencyOptionalParams,\n  ): Promise<GetCurrencyResponse> {\n    return this.sendOperationRequest({ options }, getCurrencyOperationSpec);\n  }\n\n  /**\n   * Dry-run unsigned transactions on top of a given block. Supports all TXs except GAMetaTx, PayingForTx\n   * and OffchainTx. The maximum gas limit of all calls is capped. The maximum gas limit per request is a\n   * global node setting. Since DryRunCallReq object do not have a mandatory gas field, if not set a\n   * default value of 1000000 is being used instead.\n   * @param body transactions\n   * @param options The options parameters.\n   */\n  protectedDryRunTxs(\n    body: DryRunInput,\n    options?: ProtectedDryRunTxsOptionalParams,\n  ): Promise<ProtectedDryRunTxsResponse> {\n    return this.sendOperationRequest(\n      { body, options },\n      protectedDryRunTxsOperationSpec,\n    );\n  }\n\n  /**\n   * Get the current generation\n   * @param options The options parameters.\n   */\n  getCurrentGeneration(\n    options?: GetCurrentGenerationOptionalParams,\n  ): Promise<GetCurrentGenerationResponse> {\n    return this.sendOperationRequest(\n      { options },\n      getCurrentGenerationOperationSpec,\n    );\n  }\n\n  /**\n   * Get a generation by hash\n   * @param hash The hash of the key block\n   * @param options The options parameters.\n   */\n  getGenerationByHash(\n    hash: string,\n    options?: GetGenerationByHashOptionalParams,\n  ): Promise<GetGenerationByHashResponse> {\n    return this.sendOperationRequest(\n      { hash, options },\n      getGenerationByHashOperationSpec,\n    );\n  }\n\n  /**\n   * Get a generation by height\n   * @param height The height\n   * @param options The options parameters.\n   */\n  getGenerationByHeight(\n    height: number,\n    options?: GetGenerationByHeightOptionalParams,\n  ): Promise<GetGenerationByHeightResponse> {\n    return this.sendOperationRequest(\n      { height, options },\n      getGenerationByHeightOperationSpec,\n    );\n  }\n\n  /**\n   * Get the top header (either key or micro block)\n   * @param options The options parameters.\n   */\n  getTopHeader(\n    options?: GetTopHeaderOptionalParams,\n  ): Promise<GetTopHeaderResponse> {\n    return this.sendOperationRequest({ options }, getTopHeaderOperationSpec);\n  }\n\n  /**\n   * Get the pinning transaction for the current epoch. Returns both the individual parameters as well as\n   * the parent chain type (aeternity, btc etc.), network id and a packaged 80 byte readymade payload for\n   * that chain type.\n   * @param options The options parameters.\n   */\n  getPinningTx(\n    options?: GetPinningTxOptionalParams,\n  ): Promise<GetPinningTxResponse> {\n    return this.sendOperationRequest({ options }, getPinningTxOperationSpec);\n  }\n\n  /**\n   * Get the pubkeys for the configured hyperchain contracts for staking, election and rewards\n   * @param options The options parameters.\n   */\n  getHyperchainContractPubkeys(\n    options?: GetHyperchainContractPubkeysOptionalParams,\n  ): Promise<GetHyperchainContractPubkeysResponse> {\n    return this.sendOperationRequest(\n      { options },\n      getHyperchainContractPubkeysOperationSpec,\n    );\n  }\n\n  /**\n   * Get the current key block\n   * @param options The options parameters.\n   */\n  getCurrentKeyBlock(\n    options?: GetCurrentKeyBlockOptionalParams,\n  ): Promise<GetCurrentKeyBlockResponse> {\n    return this.sendOperationRequest(\n      { options },\n      getCurrentKeyBlockOperationSpec,\n    );\n  }\n\n  /**\n   * Get the hash of the current key block\n   * @param options The options parameters.\n   */\n  getCurrentKeyBlockHash(\n    options?: GetCurrentKeyBlockHashOptionalParams,\n  ): Promise<GetCurrentKeyBlockHashResponse> {\n    return this.sendOperationRequest(\n      { options },\n      getCurrentKeyBlockHashOperationSpec,\n    );\n  }\n\n  /**\n   * Get the height of the current key block\n   * @param options The options parameters.\n   */\n  getCurrentKeyBlockHeight(\n    options?: GetCurrentKeyBlockHeightOptionalParams,\n  ): Promise<GetCurrentKeyBlockHeightResponse> {\n    return this.sendOperationRequest(\n      { options },\n      getCurrentKeyBlockHeightOperationSpec,\n    );\n  }\n\n  /**\n   * Get a key block by hash\n   * @param hash The hash of the block - either a keyblock or a microblock\n   * @param options The options parameters.\n   */\n  getKeyBlockByHash(\n    hash: string,\n    options?: GetKeyBlockByHashOptionalParams,\n  ): Promise<GetKeyBlockByHashResponse> {\n    return this.sendOperationRequest(\n      { hash, options },\n      getKeyBlockByHashOperationSpec,\n    );\n  }\n\n  /**\n   * Get a key block by height\n   * @param height The height\n   * @param options The options parameters.\n   */\n  getKeyBlockByHeight(\n    height: number,\n    options?: GetKeyBlockByHeightOptionalParams,\n  ): Promise<GetKeyBlockByHeightResponse> {\n    return this.sendOperationRequest(\n      { height, options },\n      getKeyBlockByHeightOperationSpec,\n    );\n  }\n\n  /**\n   * Get the pending key block\n   * @param options The options parameters.\n   */\n  getPendingKeyBlock(\n    options?: GetPendingKeyBlockOptionalParams,\n  ): Promise<GetPendingKeyBlockResponse> {\n    return this.sendOperationRequest(\n      { options },\n      getPendingKeyBlockOperationSpec,\n    );\n  }\n\n  /**\n   * Get a micro block header by hash\n   * @param hash The hash of the block - either a keyblock or a microblock\n   * @param options The options parameters.\n   */\n  getMicroBlockHeaderByHash(\n    hash: string,\n    options?: GetMicroBlockHeaderByHashOptionalParams,\n  ): Promise<GetMicroBlockHeaderByHashResponse> {\n    return this.sendOperationRequest(\n      { hash, options },\n      getMicroBlockHeaderByHashOperationSpec,\n    );\n  }\n\n  /**\n   * Get micro block transactions by hash\n   * @param hash The hash of the micro block\n   * @param options The options parameters.\n   */\n  getMicroBlockTransactionsByHash(\n    hash: string,\n    options?: GetMicroBlockTransactionsByHashOptionalParams,\n  ): Promise<GetMicroBlockTransactionsByHashResponse> {\n    return this.sendOperationRequest(\n      { hash, options },\n      getMicroBlockTransactionsByHashOperationSpec,\n    );\n  }\n\n  /**\n   * Get micro block transaction count by hash\n   * @param hash The hash of the micro block\n   * @param options The options parameters.\n   */\n  getMicroBlockTransactionsCountByHash(\n    hash: string,\n    options?: GetMicroBlockTransactionsCountByHashOptionalParams,\n  ): Promise<GetMicroBlockTransactionsCountByHashResponse> {\n    return this.sendOperationRequest(\n      { hash, options },\n      getMicroBlockTransactionsCountByHashOperationSpec,\n    );\n  }\n\n  /**\n   * Get a micro block transaction by hash and index\n   * @param hash The hash of the micro block\n   * @param index The index of the transaction in a block\n   * @param options The options parameters.\n   */\n  getMicroBlockTransactionByHashAndIndex(\n    hash: string,\n    index: number,\n    options?: GetMicroBlockTransactionByHashAndIndexOptionalParams,\n  ): Promise<GetMicroBlockTransactionByHashAndIndexResponse> {\n    return this.sendOperationRequest(\n      { hash, index, options },\n      getMicroBlockTransactionByHashAndIndexOperationSpec,\n    );\n  }\n\n  /**\n   * Get name entry from naming system\n   * @param name The name key of the name entry\n   * @param options The options parameters.\n   */\n  getNameEntryByName(\n    name: string,\n    options?: GetNameEntryByNameOptionalParams,\n  ): Promise<GetNameEntryByNameResponse> {\n    return this.sendOperationRequest(\n      { name, options },\n      getNameEntryByNameOperationSpec,\n    );\n  }\n\n  /**\n   * Get name entry from naming system\n   * @param nameHash The name hash of the name entry\n   * @param options The options parameters.\n   */\n  getNameEntryByNameHash(\n    nameHash: string,\n    options?: GetNameEntryByNameHashOptionalParams,\n  ): Promise<GetNameEntryByNameHashResponse> {\n    return this.sendOperationRequest(\n      { nameHash, options },\n      getNameEntryByNameHashOperationSpec,\n    );\n  }\n\n  /**\n   * Get an oracle by public key\n   * @param pubkey The public key of the oracle\n   * @param options The options parameters.\n   */\n  getOracleByPubkey(\n    pubkey: string,\n    options?: GetOracleByPubkeyOptionalParams,\n  ): Promise<GetOracleByPubkeyResponse> {\n    return this.sendOperationRequest(\n      { pubkey, options },\n      getOracleByPubkeyOperationSpec,\n    );\n  }\n\n  /**\n   * Get oracle queries by public key\n   * @param pubkey The public key of the oracle\n   * @param options The options parameters.\n   */\n  getOracleQueriesByPubkey(\n    pubkey: string,\n    options?: GetOracleQueriesByPubkeyOptionalParams,\n  ): Promise<GetOracleQueriesByPubkeyResponse> {\n    return this.sendOperationRequest(\n      { pubkey, options },\n      getOracleQueriesByPubkeyOperationSpec,\n    );\n  }\n\n  /**\n   * Get an oracle query by public key and query ID\n   * @param pubkey The public key of the oracle\n   * @param queryId The ID of the query\n   * @param options The options parameters.\n   */\n  getOracleQueryByPubkeyAndQueryId(\n    pubkey: string,\n    queryId: string,\n    options?: GetOracleQueryByPubkeyAndQueryIdOptionalParams,\n  ): Promise<GetOracleQueryByPubkeyAndQueryIdResponse> {\n    return this.sendOperationRequest(\n      { pubkey, queryId, options },\n      getOracleQueryByPubkeyAndQueryIdOperationSpec,\n    );\n  }\n\n  /**\n   * Get peer public key\n   * @param options The options parameters.\n   */\n  getPeerPubkey(\n    options?: GetPeerPubkeyOptionalParams,\n  ): Promise<GetPeerPubkeyResponse> {\n    return this.sendOperationRequest({ options }, getPeerPubkeyOperationSpec);\n  }\n\n  /**\n   * Get minimum gas prices in recent blocks\n   * @param options The options parameters.\n   */\n  getRecentGasPrices(\n    options?: GetRecentGasPricesOptionalParams,\n  ): Promise<GetRecentGasPricesResponse> {\n    return this.sendOperationRequest(\n      { options },\n      getRecentGasPricesOperationSpec,\n    );\n  }\n\n  /**\n   * Get the status of a node\n   * @param options The options parameters.\n   */\n  getStatus(options?: GetStatusOptionalParams): Promise<GetStatusResponse> {\n    return this.sendOperationRequest({ options }, getStatusOperationSpec);\n  }\n\n  /**\n   * Get oldest keyblock hashes counting from genesis including orphans\n   * @param options The options parameters.\n   */\n  getChainEnds(\n    options?: GetChainEndsOptionalParams,\n  ): Promise<GetChainEndsResponse> {\n    return this.sendOperationRequest({ options }, getChainEndsOperationSpec);\n  }\n\n  /**\n   * Get the sync status of a node\n   * @param options The options parameters.\n   */\n  getSyncStatus(\n    options?: GetSyncStatusOptionalParams,\n  ): Promise<GetSyncStatusResponse> {\n    return this.sendOperationRequest({ options }, getSyncStatusOperationSpec);\n  }\n\n  /**\n   * Post a new transaction\n   * @param body The new transaction\n   * @param options The options parameters.\n   */\n  postTransaction(\n    body: EncodedTx,\n    options?: PostTransactionOptionalParams,\n  ): Promise<PostTransactionResponse> {\n    return this.sendOperationRequest(\n      { body, options },\n      postTransactionOperationSpec,\n    );\n  }\n\n  /**\n   * Get a transaction by hash\n   * @param hash The hash of the transaction\n   * @param options The options parameters.\n   */\n  getTransactionByHash(\n    hash: string,\n    options?: GetTransactionByHashOptionalParams,\n  ): Promise<GetTransactionByHashResponse> {\n    return this.sendOperationRequest(\n      { hash, options },\n      getTransactionByHashOperationSpec,\n    );\n  }\n\n  /**\n   * @param hash The hash of the transaction\n   * @param options The options parameters.\n   */\n  getTransactionInfoByHash(\n    hash: string,\n    options?: GetTransactionInfoByHashOptionalParams,\n  ): Promise<GetTransactionInfoByHashResponse> {\n    return this.sendOperationRequest(\n      { hash, options },\n      getTransactionInfoByHashOperationSpec,\n    );\n  }\n}\n// Operation Specifications\nconst serializer = createSerializer(Mappers, /* isXml */ false);\n\nconst getAccountByPubkeyOperationSpec: coreClient.OperationSpec = {\n  path: \"/v3/accounts/{pubkey}\",\n  httpMethod: \"GET\",\n  responses: {\n    200: {\n      bodyMapper: Mappers.Account,\n    },\n    400: {\n      bodyMapper: Mappers.ErrorModel,\n      isError: true,\n    },\n    404: {\n      bodyMapper: Mappers.ErrorModel,\n      isError: true,\n    },\n  },\n  urlParameters: [Parameters.$host, Parameters.pubkey],\n  headerParameters: [Parameters.accept],\n  serializer,\n};\nconst getAccountByPubkeyAndHashOperationSpec: coreClient.OperationSpec = {\n  path: \"/v3/accounts/{pubkey}/hash/{hash}\",\n  httpMethod: \"GET\",\n  responses: {\n    200: {\n      bodyMapper: Mappers.Account,\n    },\n    400: {\n      bodyMapper: Mappers.ErrorModel,\n      isError: true,\n    },\n    404: {\n      bodyMapper: Mappers.ErrorModel,\n      isError: true,\n    },\n  },\n  urlParameters: [Parameters.$host, Parameters.pubkey, Parameters.hash],\n  headerParameters: [Parameters.accept],\n  serializer,\n};\nconst getAccountByPubkeyAndHeightOperationSpec: coreClient.OperationSpec = {\n  path: \"/v3/accounts/{pubkey}/height/{height}\",\n  httpMethod: \"GET\",\n  responses: {\n    200: {\n      bodyMapper: Mappers.Account,\n    },\n    400: {\n      bodyMapper: Mappers.ErrorModel,\n      isError: true,\n    },\n    404: {\n      bodyMapper: Mappers.ErrorModel,\n      isError: true,\n    },\n    410: {\n      bodyMapper: Mappers.ErrorModel,\n      isError: true,\n    },\n  },\n  urlParameters: [Parameters.$host, Parameters.pubkey, Parameters.height],\n  headerParameters: [Parameters.accept],\n  serializer,\n};\nconst getAccountNextNonceOperationSpec: coreClient.OperationSpec = {\n  path: \"/v3/accounts/{pubkey}/next-nonce\",\n  httpMethod: \"GET\",\n  responses: {\n    200: {\n      bodyMapper: Mappers.NextNonceResponse,\n    },\n    400: {\n      bodyMapper: Mappers.ErrorModel,\n      isError: true,\n    },\n    404: {\n      bodyMapper: Mappers.ErrorModel,\n      isError: true,\n    },\n  },\n  queryParameters: [Parameters.strategy],\n  urlParameters: [Parameters.$host, Parameters.pubkey],\n  headerParameters: [Parameters.accept],\n  serializer,\n};\nconst getPendingAccountTransactionsByPubkeyOperationSpec: coreClient.OperationSpec =\n  {\n    path: \"/v3/accounts/{pubkey}/transactions/pending\",\n    httpMethod: \"GET\",\n    responses: {\n      200: {\n        bodyMapper: Mappers.SignedTxs,\n      },\n      400: {\n        bodyMapper: Mappers.ErrorModel,\n        isError: true,\n      },\n      404: {\n        bodyMapper: Mappers.ErrorModel,\n        isError: true,\n      },\n    },\n    urlParameters: [Parameters.$host, Parameters.pubkey],\n    headerParameters: [Parameters.accept],\n    serializer,\n  };\nconst getAuctionEntryByNameOperationSpec: coreClient.OperationSpec = {\n  path: \"/v3/auctions/{name}\",\n  httpMethod: \"GET\",\n  responses: {\n    200: {\n      bodyMapper: Mappers.AuctionEntry,\n    },\n    400: {\n      bodyMapper: Mappers.ErrorModel,\n      isError: true,\n    },\n    404: {\n      bodyMapper: Mappers.ErrorModel,\n      isError: true,\n    },\n  },\n  urlParameters: [Parameters.$host, Parameters.name],\n  headerParameters: [Parameters.accept],\n  serializer,\n};\nconst getChannelByPubkeyOperationSpec: coreClient.OperationSpec = {\n  path: \"/v3/channels/{pubkey}\",\n  httpMethod: \"GET\",\n  responses: {\n    200: {\n      bodyMapper: Mappers.Channel,\n    },\n    400: {\n      bodyMapper: Mappers.ErrorModel,\n      isError: true,\n    },\n    404: {\n      bodyMapper: Mappers.ErrorModel,\n      isError: true,\n    },\n  },\n  urlParameters: [Parameters.$host, Parameters.pubkey],\n  headerParameters: [Parameters.accept],\n  serializer,\n};\nconst getContractOperationSpec: coreClient.OperationSpec = {\n  path: \"/v3/contracts/{pubkey}\",\n  httpMethod: \"GET\",\n  responses: {\n    200: {\n      bodyMapper: Mappers.ContractObject,\n    },\n    400: {\n      bodyMapper: Mappers.ErrorModel,\n      isError: true,\n    },\n    404: {\n      bodyMapper: Mappers.ErrorModel,\n      isError: true,\n    },\n  },\n  urlParameters: [Parameters.$host, Parameters.pubkey],\n  headerParameters: [Parameters.accept],\n  serializer,\n};\nconst getContractCodeOperationSpec: coreClient.OperationSpec = {\n  path: \"/v3/contracts/{pubkey}/code\",\n  httpMethod: \"GET\",\n  responses: {\n    200: {\n      bodyMapper: Mappers.ByteCode,\n    },\n    400: {\n      bodyMapper: Mappers.ErrorModel,\n      isError: true,\n    },\n    404: {\n      bodyMapper: Mappers.ErrorModel,\n      isError: true,\n    },\n  },\n  urlParameters: [Parameters.$host, Parameters.pubkey],\n  headerParameters: [Parameters.accept],\n  serializer,\n};\nconst getContractPoIOperationSpec: coreClient.OperationSpec = {\n  path: \"/v3/contracts/{pubkey}/poi\",\n  httpMethod: \"GET\",\n  responses: {\n    200: {\n      bodyMapper: Mappers.PoI,\n    },\n    400: {\n      bodyMapper: Mappers.ErrorModel,\n      isError: true,\n    },\n    404: {\n      bodyMapper: Mappers.ErrorModel,\n      isError: true,\n    },\n  },\n  urlParameters: [Parameters.$host, Parameters.pubkey],\n  headerParameters: [Parameters.accept],\n  serializer,\n};\nconst getCurrencyOperationSpec: coreClient.OperationSpec = {\n  path: \"/v3/currency\",\n  httpMethod: \"GET\",\n  responses: {\n    200: {\n      bodyMapper: Mappers.Currency,\n    },\n  },\n  urlParameters: [Parameters.$host],\n  headerParameters: [Parameters.accept],\n  serializer,\n};\nconst protectedDryRunTxsOperationSpec: coreClient.OperationSpec = {\n  path: \"/v3/dry-run\",\n  httpMethod: \"POST\",\n  responses: {\n    200: {\n      bodyMapper: Mappers.DryRunResults,\n    },\n    400: {\n      bodyMapper: Mappers.ErrorModel,\n      isError: true,\n    },\n    403: {\n      bodyMapper: Mappers.ErrorModel,\n      isError: true,\n    },\n  },\n  requestBody: Parameters.body,\n  urlParameters: [Parameters.$host],\n  headerParameters: [Parameters.accept, Parameters.contentType],\n  mediaType: \"json\",\n  serializer,\n};\nconst getCurrentGenerationOperationSpec: coreClient.OperationSpec = {\n  path: \"/v3/generations/current\",\n  httpMethod: \"GET\",\n  responses: {\n    200: {\n      bodyMapper: Mappers.Generation,\n    },\n    404: {\n      bodyMapper: Mappers.ErrorModel,\n      isError: true,\n    },\n  },\n  urlParameters: [Parameters.$host],\n  headerParameters: [Parameters.accept],\n  serializer,\n};\nconst getGenerationByHashOperationSpec: coreClient.OperationSpec = {\n  path: \"/v3/generations/hash/{hash}\",\n  httpMethod: \"GET\",\n  responses: {\n    200: {\n      bodyMapper: Mappers.Generation,\n    },\n    400: {\n      bodyMapper: Mappers.ErrorModel,\n      isError: true,\n    },\n    404: {\n      bodyMapper: Mappers.ErrorModel,\n      isError: true,\n    },\n  },\n  urlParameters: [Parameters.$host, Parameters.hash],\n  headerParameters: [Parameters.accept],\n  serializer,\n};\nconst getGenerationByHeightOperationSpec: coreClient.OperationSpec = {\n  path: \"/v3/generations/height/{height}\",\n  httpMethod: \"GET\",\n  responses: {\n    200: {\n      bodyMapper: Mappers.Generation,\n    },\n    404: {\n      bodyMapper: Mappers.ErrorModel,\n      isError: true,\n    },\n  },\n  urlParameters: [Parameters.$host, Parameters.height],\n  headerParameters: [Parameters.accept],\n  serializer,\n};\nconst getTopHeaderOperationSpec: coreClient.OperationSpec = {\n  path: \"/v3/headers/top\",\n  httpMethod: \"GET\",\n  responses: {\n    200: {\n      bodyMapper: Mappers.Header,\n    },\n    404: {\n      bodyMapper: Mappers.ErrorModel,\n      isError: true,\n    },\n  },\n  urlParameters: [Parameters.$host],\n  headerParameters: [Parameters.accept],\n  serializer,\n};\nconst getPinningTxOperationSpec: coreClient.OperationSpec = {\n  path: \"/v3/hyperchain/pin-tx\",\n  httpMethod: \"GET\",\n  responses: {\n    200: {\n      bodyMapper: Mappers.PinningTx,\n    },\n    404: {\n      bodyMapper: Mappers.ErrorModel,\n      isError: true,\n    },\n  },\n  urlParameters: [Parameters.$host],\n  headerParameters: [Parameters.accept],\n  serializer,\n};\nconst getHyperchainContractPubkeysOperationSpec: coreClient.OperationSpec = {\n  path: \"/v3/hyperchain/contracts\",\n  httpMethod: \"GET\",\n  responses: {\n    200: {\n      bodyMapper: Mappers.HCContractPubkeys,\n    },\n    404: {\n      bodyMapper: Mappers.ErrorModel,\n      isError: true,\n    },\n  },\n  urlParameters: [Parameters.$host],\n  headerParameters: [Parameters.accept],\n  serializer,\n};\nconst getCurrentKeyBlockOperationSpec: coreClient.OperationSpec = {\n  path: \"/v3/key-blocks/current\",\n  httpMethod: \"GET\",\n  responses: {\n    200: {\n      bodyMapper: Mappers.KeyBlock,\n    },\n    404: {\n      bodyMapper: Mappers.ErrorModel,\n      isError: true,\n    },\n  },\n  urlParameters: [Parameters.$host],\n  headerParameters: [Parameters.accept],\n  serializer,\n};\nconst getCurrentKeyBlockHashOperationSpec: coreClient.OperationSpec = {\n  path: \"/v3/key-blocks/current/hash\",\n  httpMethod: \"GET\",\n  responses: {\n    200: {\n      bodyMapper: Mappers.HashResponse,\n    },\n    404: {\n      bodyMapper: Mappers.ErrorModel,\n      isError: true,\n    },\n  },\n  urlParameters: [Parameters.$host],\n  headerParameters: [Parameters.accept],\n  serializer,\n};\nconst getCurrentKeyBlockHeightOperationSpec: coreClient.OperationSpec = {\n  path: \"/v3/key-blocks/current/height\",\n  httpMethod: \"GET\",\n  responses: {\n    200: {\n      bodyMapper: Mappers.HeightResponse,\n    },\n    404: {\n      bodyMapper: Mappers.ErrorModel,\n      isError: true,\n    },\n  },\n  urlParameters: [Parameters.$host],\n  headerParameters: [Parameters.accept],\n  serializer,\n};\nconst getKeyBlockByHashOperationSpec: coreClient.OperationSpec = {\n  path: \"/v3/key-blocks/hash/{hash}\",\n  httpMethod: \"GET\",\n  responses: {\n    200: {\n      bodyMapper: Mappers.KeyBlock,\n    },\n    400: {\n      bodyMapper: Mappers.ErrorModel,\n      isError: true,\n    },\n    404: {\n      bodyMapper: Mappers.ErrorModel,\n      isError: true,\n    },\n  },\n  urlParameters: [Parameters.$host, Parameters.hash],\n  headerParameters: [Parameters.accept],\n  serializer,\n};\nconst getKeyBlockByHeightOperationSpec: coreClient.OperationSpec = {\n  path: \"/v3/key-blocks/height/{height}\",\n  httpMethod: \"GET\",\n  responses: {\n    200: {\n      bodyMapper: Mappers.KeyBlock,\n    },\n    404: {\n      bodyMapper: Mappers.ErrorModel,\n      isError: true,\n    },\n  },\n  urlParameters: [Parameters.$host, Parameters.height],\n  headerParameters: [Parameters.accept],\n  serializer,\n};\nconst getPendingKeyBlockOperationSpec: coreClient.OperationSpec = {\n  path: \"/v3/key-blocks/pending\",\n  httpMethod: \"GET\",\n  responses: {\n    200: {\n      bodyMapper: Mappers.KeyBlock,\n    },\n    400: {\n      bodyMapper: Mappers.ErrorModel,\n      isError: true,\n    },\n    404: {\n      bodyMapper: Mappers.ErrorModel,\n      isError: true,\n    },\n  },\n  urlParameters: [Parameters.$host],\n  headerParameters: [Parameters.accept],\n  serializer,\n};\nconst getMicroBlockHeaderByHashOperationSpec: coreClient.OperationSpec = {\n  path: \"/v3/micro-blocks/hash/{hash}/header\",\n  httpMethod: \"GET\",\n  responses: {\n    200: {\n      bodyMapper: Mappers.MicroBlockHeader,\n    },\n    400: {\n      bodyMapper: Mappers.ErrorModel,\n      isError: true,\n    },\n    404: {\n      bodyMapper: Mappers.ErrorModel,\n      isError: true,\n    },\n  },\n  urlParameters: [Parameters.$host, Parameters.hash],\n  headerParameters: [Parameters.accept],\n  serializer,\n};\nconst getMicroBlockTransactionsByHashOperationSpec: coreClient.OperationSpec = {\n  path: \"/v3/micro-blocks/hash/{hash}/transactions\",\n  httpMethod: \"GET\",\n  responses: {\n    200: {\n      bodyMapper: Mappers.SignedTxs,\n    },\n    400: {\n      bodyMapper: Mappers.ErrorModel,\n      isError: true,\n    },\n    404: {\n      bodyMapper: Mappers.ErrorModel,\n      isError: true,\n    },\n  },\n  urlParameters: [Parameters.$host, Parameters.hash],\n  headerParameters: [Parameters.accept],\n  serializer,\n};\nconst getMicroBlockTransactionsCountByHashOperationSpec: coreClient.OperationSpec =\n  {\n    path: \"/v3/micro-blocks/hash/{hash}/transactions/count\",\n    httpMethod: \"GET\",\n    responses: {\n      200: {\n        bodyMapper: Mappers.CountResponse,\n      },\n      400: {\n        bodyMapper: Mappers.ErrorModel,\n        isError: true,\n      },\n      404: {\n        bodyMapper: Mappers.ErrorModel,\n        isError: true,\n      },\n    },\n    urlParameters: [Parameters.$host, Parameters.hash],\n    headerParameters: [Parameters.accept],\n    serializer,\n  };\nconst getMicroBlockTransactionByHashAndIndexOperationSpec: coreClient.OperationSpec =\n  {\n    path: \"/v3/micro-blocks/hash/{hash}/transactions/index/{index}\",\n    httpMethod: \"GET\",\n    responses: {\n      200: {\n        bodyMapper: Mappers.SignedTx,\n      },\n      400: {\n        bodyMapper: Mappers.ErrorModel,\n        isError: true,\n      },\n      404: {\n        bodyMapper: Mappers.ErrorModel,\n        isError: true,\n      },\n    },\n    urlParameters: [Parameters.$host, Parameters.hash, Parameters.index],\n    headerParameters: [Parameters.accept],\n    serializer,\n  };\nconst getNameEntryByNameOperationSpec: coreClient.OperationSpec = {\n  path: \"/v3/names/{name}\",\n  httpMethod: \"GET\",\n  responses: {\n    200: {\n      bodyMapper: Mappers.NameEntry,\n    },\n    400: {\n      bodyMapper: Mappers.ErrorModel,\n      isError: true,\n    },\n    404: {\n      bodyMapper: Mappers.ErrorModel,\n      isError: true,\n    },\n  },\n  urlParameters: [Parameters.$host, Parameters.name],\n  headerParameters: [Parameters.accept],\n  serializer,\n};\nconst getNameEntryByNameHashOperationSpec: coreClient.OperationSpec = {\n  path: \"/v3/names/hash/{name_hash}\",\n  httpMethod: \"GET\",\n  responses: {\n    200: {\n      bodyMapper: Mappers.NameEntry,\n    },\n    400: {\n      bodyMapper: Mappers.ErrorModel,\n      isError: true,\n    },\n    404: {\n      bodyMapper: Mappers.ErrorModel,\n      isError: true,\n    },\n  },\n  urlParameters: [Parameters.$host, Parameters.nameHash],\n  headerParameters: [Parameters.accept],\n  serializer,\n};\nconst getOracleByPubkeyOperationSpec: coreClient.OperationSpec = {\n  path: \"/v3/oracles/{pubkey}\",\n  httpMethod: \"GET\",\n  responses: {\n    200: {\n      bodyMapper: Mappers.RegisteredOracle,\n    },\n    400: {\n      bodyMapper: Mappers.ErrorModel,\n      isError: true,\n    },\n    404: {\n      bodyMapper: Mappers.ErrorModel,\n      isError: true,\n    },\n  },\n  urlParameters: [Parameters.$host, Parameters.pubkey],\n  headerParameters: [Parameters.accept],\n  serializer,\n};\nconst getOracleQueriesByPubkeyOperationSpec: coreClient.OperationSpec = {\n  path: \"/v3/oracles/{pubkey}/queries\",\n  httpMethod: \"GET\",\n  responses: {\n    200: {\n      bodyMapper: Mappers.OracleQueries,\n    },\n    400: {\n      bodyMapper: Mappers.ErrorModel,\n      isError: true,\n    },\n    404: {\n      bodyMapper: Mappers.ErrorModel,\n      isError: true,\n    },\n  },\n  queryParameters: [\n    Parameters.fromParam,\n    Parameters.limit,\n    Parameters.typeParam,\n  ],\n  urlParameters: [Parameters.$host, Parameters.pubkey],\n  headerParameters: [Parameters.accept],\n  serializer,\n};\nconst getOracleQueryByPubkeyAndQueryIdOperationSpec: coreClient.OperationSpec =\n  {\n    path: \"/v3/oracles/{pubkey}/queries/{query-id}\",\n    httpMethod: \"GET\",\n    responses: {\n      200: {\n        bodyMapper: Mappers.OracleQuery,\n      },\n      400: {\n        bodyMapper: Mappers.ErrorModel,\n        isError: true,\n      },\n      404: {\n        bodyMapper: Mappers.ErrorModel,\n        isError: true,\n      },\n    },\n    urlParameters: [Parameters.$host, Parameters.pubkey, Parameters.queryId],\n    headerParameters: [Parameters.accept],\n    serializer,\n  };\nconst getPeerPubkeyOperationSpec: coreClient.OperationSpec = {\n  path: \"/v3/peers/pubkey\",\n  httpMethod: \"GET\",\n  responses: {\n    200: {\n      bodyMapper: Mappers.PeerPubKey,\n    },\n  },\n  urlParameters: [Parameters.$host],\n  headerParameters: [Parameters.accept],\n  serializer,\n};\nconst getRecentGasPricesOperationSpec: coreClient.OperationSpec = {\n  path: \"/v3/recent-gas-prices\",\n  httpMethod: \"GET\",\n  responses: {\n    200: {\n      bodyMapper: {\n        type: {\n          name: \"Sequence\",\n          element: { type: { name: \"Composite\", className: \"GasPricesItem\" } },\n        },\n      },\n    },\n    400: {\n      bodyMapper: Mappers.ErrorModel,\n      isError: true,\n    },\n  },\n  urlParameters: [Parameters.$host],\n  headerParameters: [Parameters.accept],\n  serializer,\n};\nconst getStatusOperationSpec: coreClient.OperationSpec = {\n  path: \"/v3/status\",\n  httpMethod: \"GET\",\n  responses: {\n    200: {\n      bodyMapper: Mappers.Status,\n    },\n  },\n  urlParameters: [Parameters.$host],\n  headerParameters: [Parameters.accept],\n  serializer,\n};\nconst getChainEndsOperationSpec: coreClient.OperationSpec = {\n  path: \"/v3/status/chain-ends\",\n  httpMethod: \"GET\",\n  responses: {\n    200: {\n      bodyMapper: {\n        type: { name: \"Sequence\", element: { type: { name: \"String\" } } },\n      },\n    },\n  },\n  urlParameters: [Parameters.$host],\n  headerParameters: [Parameters.accept],\n  serializer,\n};\nconst getSyncStatusOperationSpec: coreClient.OperationSpec = {\n  path: \"/v3/sync-status\",\n  httpMethod: \"GET\",\n  responses: {\n    200: {\n      bodyMapper: Mappers.SyncStatus,\n    },\n    404: {\n      bodyMapper: Mappers.ErrorModel,\n      isError: true,\n    },\n  },\n  urlParameters: [Parameters.$host],\n  headerParameters: [Parameters.accept],\n  serializer,\n};\nconst postTransactionOperationSpec: coreClient.OperationSpec = {\n  path: \"/v3/transactions\",\n  httpMethod: \"POST\",\n  responses: {\n    200: {\n      bodyMapper: Mappers.PostTxResponse,\n    },\n    400: {\n      bodyMapper: Mappers.ErrorModel,\n      isError: true,\n    },\n  },\n  requestBody: Parameters.body1,\n  urlParameters: [Parameters.$host],\n  headerParameters: [Parameters.accept, Parameters.contentType],\n  mediaType: \"json\",\n  serializer,\n};\nconst getTransactionByHashOperationSpec: coreClient.OperationSpec = {\n  path: \"/v3/transactions/{hash}\",\n  httpMethod: \"GET\",\n  responses: {\n    200: {\n      bodyMapper: Mappers.SignedTx,\n    },\n    400: {\n      bodyMapper: Mappers.ErrorModel,\n      isError: true,\n    },\n    404: {\n      bodyMapper: Mappers.ErrorModel,\n      isError: true,\n    },\n  },\n  urlParameters: [Parameters.$host, Parameters.hash],\n  headerParameters: [Parameters.accept],\n  serializer,\n};\nconst getTransactionInfoByHashOperationSpec: coreClient.OperationSpec = {\n  path: \"/v3/transactions/{hash}/info\",\n  httpMethod: \"GET\",\n  responses: {\n    200: {\n      bodyMapper: Mappers.TxInfoObject,\n    },\n    400: {\n      bodyMapper: Mappers.ErrorModel,\n      isError: true,\n    },\n    404: {\n      bodyMapper: Mappers.ErrorModel,\n      isError: true,\n    },\n    410: {\n      bodyMapper: Mappers.ErrorModel,\n      isError: true,\n    },\n  },\n  urlParameters: [Parameters.$host, Parameters.hash],\n  headerParameters: [Parameters.accept],\n  serializer,\n};\n","// eslint-disable-next-line max-classes-per-file\nimport { OperationOptions } from '@azure/core-client';\nimport { userAgentPolicyName, setClientRequestIdPolicyName } from '@azure/core-rest-pipeline';\nimport {\n  genRequestQueuesPolicy,\n  genCombineGetRequestsPolicy,\n  genErrorFormatterPolicy,\n  parseBigIntPolicy,\n  genVersionCheckPolicy,\n  genRetryOnFailurePolicy,\n} from './utils/autorest.js';\nimport { Node as NodeApi, NodeOptionalParams, ErrorModel } from './apis/node/index.js';\nimport { UnsupportedVersionError } from './utils/errors.js';\nimport { ConsensusProtocolVersion } from './tx/builder/constants.js';\n\ninterface NodeInfo {\n  url: string;\n  nodeNetworkId: string;\n  version: string;\n  consensusProtocolVersion: ConsensusProtocolVersion;\n}\n\n/**\n * @category chain\n */\nexport default class Node extends NodeApi {\n  readonly #ignoreVersion: boolean;\n\n  /**\n   * @param url - Url for node API\n   * @param options - Options\n   * @param options.ignoreVersion - Print warning instead of throwing exception if node\n   * or consensus protocol version is not supported, use with caution\n   * @param options.retryCount - Amount of extra requests to do in case of failure\n   * @param options.retryOverallDelay - Time in ms to wait between all retries\n   */\n  constructor(\n    url: string,\n    {\n      ignoreVersion = false,\n      retryCount = 3,\n      retryOverallDelay = 800,\n      ...options\n    }: NodeOptionalParams & {\n      ignoreVersion?: boolean;\n      retryCount?: number;\n      retryOverallDelay?: number;\n    } = {},\n  ) {\n    const getVersion = async (opts: OperationOptions): Promise<string> =>\n      (await this._getCachedStatus(opts)).nodeVersion;\n    // eslint-disable-next-line constructor-super\n    super(url, {\n      allowInsecureConnection: true,\n      additionalPolicies: [\n        genVersionCheckPolicy('node', getVersion, '7.1.0', '8.0.0', ignoreVersion),\n        genRequestQueuesPolicy(),\n        genCombineGetRequestsPolicy(),\n        genRetryOnFailurePolicy(retryCount, retryOverallDelay),\n        genErrorFormatterPolicy((body: ErrorModel) =>\n          [' ', body.reason, body.errorCode == null ? '' : ` (${body.errorCode})`].join(''),\n        ),\n      ],\n      ...options,\n    });\n    this.#ignoreVersion = ignoreVersion;\n    this.pipeline.addPolicy(parseBigIntPolicy, { phase: 'Deserialize' });\n    this.pipeline.removePolicy({ name: userAgentPolicyName });\n    this.pipeline.removePolicy({ name: setClientRequestIdPolicyName });\n    // TODO: use instead our retry policy\n    this.pipeline.removePolicy({ name: 'defaultRetryPolicy' });\n  }\n\n  #cachedStatusPromise?: ReturnType<NodeApi['getStatus']>;\n\n  async _getCachedStatus(options?: OperationOptions): ReturnType<NodeApi['getStatus']> {\n    if (this.#cachedStatusPromise != null) return this.#cachedStatusPromise;\n    return this.getStatus(options);\n  }\n\n  override async getStatus(\n    ...args: Parameters<NodeApi['getStatus']>\n  ): ReturnType<NodeApi['getStatus']> {\n    const promise = super.getStatus(...args);\n    promise.then(\n      () => {\n        this.#cachedStatusPromise = promise;\n      },\n      () => {},\n    );\n    return promise;\n  }\n\n  #isHyperchainPromise?: Promise<boolean>;\n\n  async _isHyperchain(): Promise<boolean> {\n    if (this.#isHyperchainPromise != null) return this.#isHyperchainPromise;\n    this.#isHyperchainPromise = this.getHyperchainContractPubkeys({\n      requestOptions: { customHeaders: { '__no-retry': 'true' } },\n    }).then(\n      () => true,\n      (error) => {\n        if (error.message !== 'v3/hyperchain/contracts error: 404 status code') throw error;\n        return false;\n      },\n    );\n    return this.#isHyperchainPromise;\n  }\n\n  /**\n   * Returns network ID provided by node.\n   * This method won't do extra requests on subsequent calls.\n   */\n  async getNetworkId(): Promise<string> {\n    return (await this._getCachedStatus()).networkId;\n  }\n\n  async getNodeInfo(): Promise<NodeInfo> {\n    const {\n      nodeVersion,\n      networkId: nodeNetworkId,\n      protocols,\n      topBlockHeight,\n    } = await this.getStatus();\n\n    const consensusProtocolVersion = protocols\n      .filter(({ effectiveAtHeight }) => topBlockHeight >= effectiveAtHeight)\n      .reduce((acc, p) => (p.effectiveAtHeight > acc.effectiveAtHeight ? p : acc), {\n        effectiveAtHeight: -1,\n        version: 0,\n      }).version;\n    if (ConsensusProtocolVersion[consensusProtocolVersion] == null) {\n      const version = consensusProtocolVersion.toString();\n      const versions = Object.values(ConsensusProtocolVersion)\n        .filter((el) => typeof el === 'number')\n        .map((el) => +el);\n      const geVersion = Math.min(...versions).toString();\n      const ltVersion = (Math.max(...versions) + 1).toString();\n      const error = new UnsupportedVersionError(\n        'consensus protocol',\n        version,\n        geVersion,\n        ltVersion,\n      );\n      if (this.#ignoreVersion) console.warn(error.message);\n      else throw error;\n    }\n\n    return {\n      url: this.$host,\n      nodeNetworkId,\n      version: nodeVersion,\n      consensusProtocolVersion,\n    };\n  }\n}\n","import { Encoded } from '../utils/encoder.js';\nimport { buildTx, getSchema, unpackTx } from './builder/index.js';\nimport { Tag } from './builder/constants.js';\nimport { TransactionError, UnexpectedTsError } from '../utils/errors.js';\n\n/**\n * Returns account address that signed a transaction\n * @param transaction - transaction to get a signer of\n * @category utils\n */\nexport default function getTransactionSignerAddress(\n  transaction: Encoded.Transaction,\n): Encoded.AccountAddress {\n  const params = unpackTx(transaction);\n  switch (params.tag) {\n    case Tag.SignedTx:\n      return getTransactionSignerAddress(buildTx(params.encodedTx));\n    case Tag.GaMetaTx:\n      return params.gaId;\n    default:\n  }\n\n  const nonce = getSchema(params.tag, params.version).find(([name]) => name === 'nonce')?.[1];\n  if (nonce == null)\n    throw new TransactionError(`Transaction doesn't have nonce: ${Tag[params.tag]}`);\n  if (!('senderKey' in nonce)) throw new UnexpectedTsError();\n  const address = params[nonce.senderKey as keyof typeof params] as unknown as string;\n  return address.replace(/^ok_/, 'ak_') as Encoded.AccountAddress;\n}\n","import { Encoded } from '../utils/encoder.js';\nimport Node from '../Node.js';\nimport CompilerBase from '../contract/compiler/Base.js';\nimport { Int } from '../tx/builder/constants.js';\nimport { AciValue, Domain } from '../utils/typed-data.js';\n\ninterface AuthData {\n  fee?: Int;\n  gasLimit?: number;\n  gasPrice?: Int;\n  callData?: Encoded.ContractBytearray;\n  sourceCode?: string;\n  args?: any[];\n}\n\n/**\n * Account is one of the three basic building blocks of an\n * {@link AeSdk} and provides access to a signing key pair.\n * @category account\n */\nexport default abstract class AccountBase {\n  /**\n   * Sign encoded transaction\n   * @param tx - Transaction to sign\n   * @param options - Options\n   * @param options.innerTx - Sign as inner transaction for PayingFor\n   * @param options.authData - Object with gaMeta params\n   * @returns Signed transaction\n   */\n  abstract signTransaction(\n    tx: Encoded.Transaction,\n    options: {\n      innerTx?: boolean;\n      networkId?: string;\n      authData?: AuthData | ((tx: Encoded.Transaction) => Promise<AuthData>);\n      onNode?: Node;\n      onCompiler?: CompilerBase;\n      aeppOrigin?: string;\n      aeppRpcClientId?: string;\n    },\n  ): Promise<Encoded.Transaction>;\n\n  /**\n   * Sign message\n   * @param message - Message to sign\n   * @param options - Options\n   * @returns Signature\n   */\n  abstract signMessage(\n    message: string,\n    options?: {\n      aeppOrigin?: string;\n      aeppRpcClientId?: string;\n    },\n  ): Promise<Uint8Array>;\n\n  /**\n   * Sign typed data\n   * @param data - Encoded data to sign\n   * @param aci - Type of data to sign\n   * @param options - Options\n   * @returns Signature\n   */\n  abstract signTypedData(\n    data: Encoded.ContractBytearray,\n    aci: AciValue,\n    options?: Domain & {\n      aeppOrigin?: string;\n      aeppRpcClientId?: string;\n    },\n  ): Promise<Encoded.Signature>;\n\n  /**\n   * Sign data blob\n   * @param data - Data blob to sign\n   * @param options - Options\n   * @returns Signature\n   * @deprecated Use `unsafeSign` method instead\n   */\n  abstract sign(\n    data: string | Uint8Array,\n    options?: {\n      aeppOrigin?: string;\n      aeppRpcClientId?: string;\n    },\n  ): Promise<Uint8Array>;\n\n  /**\n   * Sign data blob\n   * @param data - Data blob to sign\n   * @param options - Options\n   * @returns Signature\n   */\n  abstract unsafeSign(\n    data: string | Uint8Array,\n    options?: {\n      aeppOrigin?: string;\n      aeppRpcClientId?: string;\n    },\n  ): Promise<Uint8Array>;\n\n  /**\n   * Account address\n   */\n  readonly address!: Encoded.AccountAddress;\n\n  /**\n   * Sign delegation, works only in Ceres\n   * @param delegation - Delegation to sign\n   * @param options - Options\n   * @returns Signature\n   */\n  abstract signDelegation(\n    delegation: Encoded.Bytearray,\n    options?: {\n      networkId?: string;\n      aeppOrigin?: string;\n      aeppRpcClientId?: string;\n    },\n  ): Promise<Encoded.Signature>;\n}\n","import { TypeResolver, ContractByteArrayEncoder } from '@aeternity/aepp-calldata';\nimport canonicalize from 'canonicalize';\nimport { Encoded, decode } from './encoder.js';\nimport { hash, messagePrefixLength } from './crypto.js';\nimport { concatBuffers } from './other.js';\n\n/**\n * Hashes arbitrary object, can be used to inline the aci hash to contract source code\n * @category typed data signing\n */\nexport function hashJson(data: unknown): Buffer {\n  return hash(canonicalize(data) ?? '');\n}\n\n// TODO: move this type to calldata library https://github.com/aeternity/aepp-calldata-js/issues/215\n// based on https://github.com/aeternity/aepp-calldata-js/blob/82b5a98f9b308482627da8d7484d213e9cf87151/src/AciTypeResolver.js#L129\nexport type AciValue =\n  | 'void'\n  | 'unit'\n  | 'int'\n  | 'bool'\n  | 'string'\n  | 'bits'\n  | 'hash'\n  | 'signature'\n  | 'address'\n  | 'contract_pubkey'\n  | 'Chain.ttl'\n  | 'Chain.ga_meta_tx'\n  | 'Chain.paying_for_tx'\n  | 'Chain.base_tx'\n  | 'AENS.pointee'\n  | 'AENS.name'\n  | 'MCL_BLS12_381.fr'\n  | 'MCL_BLS12_381.fp'\n  | { 'Set.set': readonly [AciValue] }\n  | { bytes: number }\n  | { list: readonly [AciValue] }\n  | { map: readonly [AciValue, AciValue] }\n  | { tuple: readonly AciValue[] }\n  | { record: ReadonlyArray<{ name: string; type: AciValue }> }\n  | { variant: ReadonlyArray<{ [key: string]: readonly AciValue[] }> }\n  | { option: readonly [AciValue] }\n  | { oracle: readonly [AciValue, AciValue] }\n  | { oracle_query: readonly [AciValue, AciValue] };\n\nexport interface Domain {\n  name?: string;\n  version?: number;\n  networkId?: string;\n  contractAddress?: Encoded.ContractAddress;\n}\n\n/**\n * Hashes domain object, can be used to inline domain hash to contract source code\n * @category typed data signing\n */\nexport function hashDomain(domain: Domain): Buffer {\n  const domainAci = {\n    record: [\n      {\n        name: 'name',\n        type: { option: ['string'] },\n      },\n      {\n        name: 'version',\n        type: { option: ['int'] },\n      },\n      {\n        name: 'networkId',\n        type: { option: ['string'] },\n      },\n      {\n        name: 'contractAddress',\n        type: { option: ['contract_pubkey'] },\n      },\n    ],\n  } as const;\n  const domainType = new TypeResolver().resolveType(domainAci, {});\n  const fateValue = new ContractByteArrayEncoder().encodeWithType(domain, domainType);\n  return hash(decode(fateValue));\n}\n\n/**\n * @category typed data signing\n */\nexport function hashTypedData(\n  data: Encoded.ContractBytearray,\n  aci: AciValue,\n  domain: Domain,\n): Buffer {\n  return hash(\n    concatBuffers([\n      messagePrefixLength,\n      new Uint8Array([0]),\n      hashDomain(domain),\n      hashJson(aci),\n      hash(decode(data)),\n    ]),\n  );\n}\n","import nacl from 'tweetnacl';\nimport AccountBase from './Base.js';\nimport { hash, hashMessage, messagePrefixLength } from '../utils/crypto.js';\nimport { ArgumentError } from '../utils/errors.js';\nimport { decode, encode, Encoded, Encoding } from '../utils/encoder.js';\nimport { concatBuffers } from '../utils/other.js';\nimport { hashTypedData, AciValue } from '../utils/typed-data.js';\nimport { buildTx } from '../tx/builder/index.js';\nimport { Tag } from '../tx/builder/constants.js';\n\nexport function getBufferToSign(\n  transaction: Encoded.Transaction,\n  networkId: string,\n  innerTx: boolean,\n): Uint8Array {\n  const prefixes = [networkId];\n  if (innerTx) prefixes.push('inner_tx');\n  const rlpBinaryTx = decode(transaction);\n  return concatBuffers([Buffer.from(prefixes.join('-')), hash(rlpBinaryTx)]);\n}\n\n/**\n * In-memory account class\n * @category account\n */\nexport default class AccountMemory extends AccountBase {\n  override readonly address: Encoded.AccountAddress;\n\n  readonly #secretKeyDecoded: Uint8Array;\n\n  /**\n   * @param secretKey - Secret key\n   */\n  constructor(public readonly secretKey: Encoded.AccountSecretKey) {\n    super();\n    const keyPair = nacl.sign.keyPair.fromSeed(decode(secretKey));\n    this.#secretKeyDecoded = keyPair.secretKey;\n    this.address = encode(keyPair.publicKey, Encoding.AccountAddress);\n  }\n\n  /**\n   * Generates a new AccountMemory using a random secret key\n   */\n  static generate(): AccountMemory {\n    const secretKey = encode(nacl.randomBytes(32), Encoding.AccountSecretKey);\n    return new AccountMemory(secretKey);\n  }\n\n  /**\n   * @deprecated Use `unsafeSign` method instead\n   */\n  // eslint-disable-next-line @typescript-eslint/no-unused-vars\n  override async sign(data: string | Uint8Array, options?: any): Promise<Uint8Array> {\n    return this.unsafeSign(data, options);\n  }\n\n  // eslint-disable-next-line @typescript-eslint/no-unused-vars\n  override async unsafeSign(data: string | Uint8Array, options?: any): Promise<Uint8Array> {\n    return nacl.sign.detached(Buffer.from(data), this.#secretKeyDecoded);\n  }\n\n  override async signTransaction(\n    transaction: Encoded.Transaction,\n    { innerTx, networkId, ...options }: { innerTx?: boolean; networkId?: string } = {},\n  ): Promise<Encoded.Transaction> {\n    if (networkId == null) {\n      throw new ArgumentError('networkId', 'provided', networkId);\n    }\n    const rlpBinaryTx = decode(transaction);\n    const txWithNetworkId = getBufferToSign(transaction, networkId, innerTx === true);\n\n    const signatures = [await this.unsafeSign(txWithNetworkId, options)];\n    return buildTx({ tag: Tag.SignedTx, encodedTx: rlpBinaryTx, signatures });\n  }\n\n  override async signMessage(message: string, options?: any): Promise<Uint8Array> {\n    return this.unsafeSign(hashMessage(message), options);\n  }\n\n  override async signTypedData(\n    data: Encoded.ContractBytearray,\n    aci: AciValue,\n    {\n      name,\n      version,\n      networkId,\n      contractAddress,\n      ...options\n    }: Parameters<AccountBase['signTypedData']>[2] = {},\n  ): Promise<Encoded.Signature> {\n    const dHash = hashTypedData(data, aci, {\n      name,\n      version,\n      networkId,\n      contractAddress,\n    });\n    const signature = await this.unsafeSign(dHash, options);\n    return encode(signature, Encoding.Signature);\n  }\n\n  override async signDelegation(\n    delegation: Encoded.Bytearray,\n    { networkId }: { networkId?: string } = {},\n  ): Promise<Encoded.Signature> {\n    if (networkId == null) throw new ArgumentError('networkId', 'provided', networkId);\n    const payload = concatBuffers([\n      messagePrefixLength,\n      new Uint8Array([1]),\n      Buffer.from(networkId),\n      decode(delegation),\n    ]);\n    const signature = await this.unsafeSign(payload);\n    return encode(signature, Encoding.Signature);\n  }\n}\n","import { Encoded } from '../utils/encoder.js';\nimport { buildTx, buildTxHash, unpackTx } from './builder/index.js';\nimport { Tag } from './builder/constants.js';\nimport { verifySignature } from '../utils/crypto.js';\nimport { getBufferToSign } from '../account/Memory.js';\nimport { IllegalArgumentError, InternalError, TransactionError } from '../utils/errors.js';\nimport Node from '../Node.js';\nimport getTransactionSignerAddress from './transaction-signer.js';\n\n/**\n * Calculates the cost of transaction execution\n * Provides an upper cost of contract-call-related transactions because of `gasLimit`.\n * Also assumes that oracle query fee is 0 unless it is provided in options.\n *\n * The idea is that if you need to show transaction details with some accuracy you can define\n * expense fields that you want to show separately. And to show `getExecutionCost` result as a fee,\n * subtracting all fields shown separately.\n *\n * @example\n * ```vue\n * <template>\n * Amount: {{ txUnpacked.amount }}\n * Name fee: {{ txUnpacked.nameFee }}\n * Other fees: {{ getExecutionCost(txEncoded) - txUnpacked.amount - txUnpacked.nameFee }}\n * </template>\n * ```\n *\n * Doing this way you won't worry to show wrong fee for a transaction you may not support. Because\n * the SDK calculates the overall price of any transaction on its side.\n *\n * @param transaction - Transaction to calculate the cost of\n * @param options - Options\n * @param options.innerTx - Should be provided if transaction wrapped with Tag.PayingForTx\n * @param options.gasUsed - Amount of gas actually used to make calculation more accurate\n * @param options.queryFee - Oracle query fee\n * @param options.isInitiator - Is transaction signer an initiator of state channel\n * @category utils\n */\nexport function getExecutionCost(\n  transaction: Encoded.Transaction,\n  {\n    innerTx,\n    gasUsed,\n    queryFee,\n    isInitiator,\n  }: {\n    innerTx?: 'fee-payer' | 'freeloader';\n    gasUsed?: number;\n    queryFee?: string;\n    isInitiator?: boolean;\n  } = {},\n): bigint {\n  const params = unpackTx(transaction);\n  if (params.tag === Tag.SignedTx) {\n    throw new IllegalArgumentError(\n      \"Transaction shouldn't be a SignedTx, use `getExecutionCostBySignedTx` instead\",\n    );\n  }\n\n  let res = 0n;\n  if ('fee' in params && innerTx !== 'freeloader') {\n    res += BigInt(params.fee);\n  }\n  if (params.tag === Tag.NameClaimTx) {\n    res += BigInt(params.nameFee);\n  }\n  if (params.tag === Tag.OracleQueryTx) {\n    res += BigInt(params.queryFee);\n  }\n  if (params.tag === Tag.OracleRespondTx) {\n    res -= BigInt(queryFee ?? 0);\n  }\n  if (params.tag === Tag.ChannelSettleTx) {\n    if (isInitiator === true) res -= BigInt(params.initiatorAmountFinal);\n    if (isInitiator === false) res -= BigInt(params.responderAmountFinal);\n  }\n  if (\n    (params.tag === Tag.SpendTx ||\n      params.tag === Tag.ContractCreateTx ||\n      params.tag === Tag.ContractCallTx ||\n      params.tag === Tag.ChannelDepositTx) &&\n    innerTx !== 'fee-payer'\n  ) {\n    res += BigInt(params.amount);\n  }\n  if (params.tag === Tag.ContractCreateTx) res += BigInt(params.deposit);\n  if (\n    (params.tag === Tag.ContractCreateTx ||\n      params.tag === Tag.ContractCallTx ||\n      params.tag === Tag.GaAttachTx ||\n      params.tag === Tag.GaMetaTx) &&\n    innerTx !== 'freeloader'\n  ) {\n    res += BigInt(params.gasPrice) * BigInt(gasUsed ?? params.gasLimit);\n  }\n  if (params.tag === Tag.GaMetaTx || params.tag === Tag.PayingForTx) {\n    res += getExecutionCost(\n      buildTx(params.tx.encodedTx),\n      params.tag === Tag.PayingForTx ? { innerTx: 'fee-payer' } : {},\n    );\n  }\n  return res;\n}\n\n/**\n * Calculates the cost of signed transaction execution\n * @param transaction - Transaction to calculate the cost of\n * @param networkId - Network id used to sign the transaction\n * @param options - Options\n * @category utils\n */\nexport function getExecutionCostBySignedTx(\n  transaction: Encoded.Transaction,\n  networkId: string,\n  options?: Omit<Parameters<typeof getExecutionCost>[1], 'innerTx'>,\n): bigint {\n  const params = unpackTx(transaction, Tag.SignedTx);\n  if (params.encodedTx.tag === Tag.GaMetaTx) {\n    return getExecutionCost(buildTx(params.encodedTx), options);\n  }\n\n  const tx = buildTx(params.encodedTx);\n  const address = getTransactionSignerAddress(tx);\n  const [isInnerTx, isNotInnerTx] = [true, false].map((f) =>\n    verifySignature(getBufferToSign(tx, networkId, f), params.signatures[0], address),\n  );\n  if (!isInnerTx && !isNotInnerTx) throw new TransactionError(\"Can't verify signature\");\n  return getExecutionCost(buildTx(params.encodedTx), {\n    ...(isInnerTx && { innerTx: 'freeloader' }),\n    ...options,\n  });\n}\n\n/**\n * Calculates the cost of signed and not signed transaction execution using node\n * @param transaction - Transaction to calculate the cost of\n * @param node - Node to use\n * @param options - Options\n * @param options.isMined - Is transaction already mined or not\n * @category utils\n */\nexport async function getExecutionCostUsingNode(\n  transaction: Encoded.Transaction,\n  node: Node,\n  { isMined, ...options }: { isMined?: boolean } & Parameters<typeof getExecutionCost>[1] = {},\n): Promise<bigint> {\n  let params = unpackTx(transaction);\n  const isSignedTx = params.tag === Tag.SignedTx;\n  const txHash = isSignedTx && isMined === true && buildTxHash(transaction);\n  if (params.tag === Tag.SignedTx) params = params.encodedTx;\n\n  // TODO: set gasUsed for PayingForTx after solving https://github.com/aeternity/aeternity/issues/4087\n  if (\n    options.gasUsed == null &&\n    txHash !== false &&\n    [Tag.ContractCreateTx, Tag.ContractCallTx, Tag.GaAttachTx, Tag.GaMetaTx].includes(params.tag)\n  ) {\n    const { callInfo, gaInfo } = await node.getTransactionInfoByHash(txHash);\n    const combinedInfo = callInfo ?? gaInfo;\n    if (combinedInfo == null) {\n      throw new InternalError(`callInfo and gaInfo is not available for transaction ${txHash}`);\n    }\n    options.gasUsed = combinedInfo.gasUsed;\n  }\n\n  if (options.queryFee == null && Tag.OracleRespondTx === params.tag) {\n    options.queryFee = (await node.getOracleByPubkey(params.oracleId)).queryFee.toString();\n  }\n\n  if (options.isInitiator == null && Tag.ChannelSettleTx === params.tag && isMined !== true) {\n    const { initiatorId } = await node.getChannelByPubkey(params.channelId);\n    options.isInitiator = params.fromId === initiatorId;\n  }\n\n  return isSignedTx\n    ? getExecutionCostBySignedTx(transaction, await node.getNetworkId(), options)\n    : getExecutionCost(transaction, options);\n}\n","import { RestError } from '@azure/core-rest-pipeline';\nimport { hash, isEncoded, verifySignature } from '../utils/crypto.js';\nimport { TxUnpacked } from './builder/schema.generated.js';\nimport { CtVersion, ProtocolToVmAbi } from './builder/field-types/ct-version.js';\nimport { Tag, ConsensusProtocolVersion } from './builder/constants.js';\nimport { buildTx, unpackTx } from './builder/index.js';\nimport { concatBuffers, isAccountNotFoundError } from '../utils/other.js';\nimport { Encoded, Encoding, decode } from '../utils/encoder.js';\nimport Node from '../Node.js';\nimport { Account } from '../apis/node/index.js';\nimport { genAggressiveCacheGetResponsesPolicy } from '../utils/autorest.js';\nimport { UnexpectedTsError } from '../utils/errors.js';\nimport getTransactionSignerAddress from './transaction-signer.js';\nimport { getExecutionCostUsingNode } from './execution-cost.js';\n\nexport interface ValidatorResult {\n  message: string;\n  key: string;\n  checkedKeys: string[];\n}\n\ntype Validator = (\n  tx: TxUnpacked,\n  options: {\n    // TODO: remove after fixing node types\n    account: Account & { id: Encoded.AccountAddress };\n    nodeNetworkId: string;\n    parentTxTypes: Tag[];\n    node: Node;\n    height: number;\n    consensusProtocolVersion: ConsensusProtocolVersion;\n  },\n) => ValidatorResult[] | Promise<ValidatorResult[]>;\n\nconst validators: Validator[] = [];\n\nasync function verifyTransactionInternal(\n  tx: TxUnpacked,\n  node: Node,\n  parentTxTypes: Tag[],\n): Promise<ValidatorResult[]> {\n  const address = getTransactionSignerAddress(buildTx(tx));\n  const [account, { height }, { consensusProtocolVersion, nodeNetworkId }] = await Promise.all([\n    node\n      .getAccountByPubkey(address)\n      .catch((error) => {\n        if (!isAccountNotFoundError(error)) throw error;\n        return { id: address, balance: 0n, nonce: 0 };\n      })\n      // TODO: remove after fixing https://github.com/aeternity/aepp-sdk-js/issues/1537\n      .then((acc) => ({ ...acc, id: acc.id as Encoded.AccountAddress })),\n    node.getCurrentKeyBlockHeight(), // TODO: don't request height on each validation, use caching\n    node.getNodeInfo(),\n  ]);\n\n  return (\n    await Promise.all(\n      validators.map(async (v) =>\n        v(tx, {\n          node,\n          account,\n          height,\n          consensusProtocolVersion,\n          nodeNetworkId,\n          parentTxTypes,\n        }),\n      ),\n    )\n  ).flat();\n}\n\n/**\n * Transaction Validator\n * This function validates some transaction properties,\n * to make sure it can be posted it to the chain\n * @category transaction builder\n * @param transaction - Base64Check-encoded transaction\n * @param nodeNotCached - Node to validate transaction against\n * @returns Array with verification errors\n * @example const errors = await verifyTransaction(transaction, node)\n */\nexport default async function verifyTransaction(\n  transaction: Parameters<typeof unpackTx>[0],\n  nodeNotCached: Node,\n): Promise<ValidatorResult[]> {\n  const pipeline = nodeNotCached.pipeline.clone();\n  pipeline.removePolicy({ name: 'parse-big-int' });\n  const node = new Node(nodeNotCached.$host, {\n    ignoreVersion: true,\n    pipeline,\n    additionalPolicies: [genAggressiveCacheGetResponsesPolicy()],\n  });\n  node._getCachedStatus = async () => nodeNotCached._getCachedStatus();\n  return verifyTransactionInternal(unpackTx(transaction), node, []);\n}\n\nvalidators.push(\n  (tx, { account, nodeNetworkId, parentTxTypes }) => {\n    if (tx.tag !== Tag.SignedTx) return [];\n    const { encodedTx, signatures } = tx;\n    if ((encodedTx ?? signatures) == null) return [];\n    if (signatures.length !== 1) return []; // TODO: Support multisignature like in state channels\n    const prefix = Buffer.from(\n      [nodeNetworkId, ...(parentTxTypes.includes(Tag.PayingForTx) ? ['inner_tx'] : [])].join('-'),\n    );\n    const txBinary = decode(buildTx(encodedTx));\n    const txWithNetworkId = concatBuffers([prefix, txBinary]);\n    const txHashWithNetworkId = concatBuffers([prefix, hash(txBinary)]);\n    if (\n      verifySignature(txWithNetworkId, signatures[0], account.id) ||\n      verifySignature(txHashWithNetworkId, signatures[0], account.id)\n    )\n      return [];\n    return [\n      {\n        message:\n          'Signature cannot be verified, please ensure that you transaction have' +\n          ' the correct prefix and the correct private key for the sender address',\n        key: 'InvalidSignature',\n        checkedKeys: ['encodedTx', 'signatures'],\n      },\n    ];\n  },\n  async (tx, { node, parentTxTypes }) => {\n    let nestedTx;\n    if ('encodedTx' in tx) nestedTx = tx.encodedTx;\n    if ('tx' in tx) nestedTx = tx.tx;\n    if (nestedTx == null) return [];\n    return verifyTransactionInternal(nestedTx, node, [...parentTxTypes, tx.tag]);\n  },\n  (tx, { height }) => {\n    if (!('ttl' in tx)) return [];\n    if (tx.ttl === 0 || tx.ttl > height) return [];\n    return [\n      {\n        message: `TTL ${tx.ttl} is already expired, current height is ${height}`,\n        key: 'ExpiredTTL',\n        checkedKeys: ['ttl'],\n      },\n    ];\n  },\n  async (tx, { account, parentTxTypes, node }) => {\n    if (parentTxTypes.length !== 0) return [];\n    const cost = await getExecutionCostUsingNode(buildTx(tx), node).catch(() => 0n);\n    if (cost <= account.balance) return [];\n    return [\n      {\n        message: `Account balance ${account.balance} is not enough to execute the transaction that costs ${cost}`,\n        key: 'InsufficientBalance',\n        checkedKeys: ['amount', 'fee', 'nameFee', 'gasLimit', 'gasPrice'],\n      },\n    ];\n  },\n  async (tx, { node }) => {\n    if (tx.tag !== Tag.SpendTx || isEncoded(tx.recipientId, Encoding.Name)) return [];\n    const recipient = await node.getAccountByPubkey(tx.recipientId).catch((error) => {\n      if (!isAccountNotFoundError(error)) throw error;\n      return null;\n    });\n    if (recipient == null || recipient.payable === true) return [];\n    return [\n      {\n        message: 'Recipient account is not payable',\n        key: 'RecipientAccountNotPayable',\n        checkedKeys: ['recipientId'],\n      },\n    ];\n  },\n  (tx, { account }) => {\n    let message;\n    if (tx.tag === Tag.SignedTx && account.kind === 'generalized' && tx.signatures.length !== 0) {\n      message = \"Generalized account can't be used to generate SignedTx with signatures\";\n    }\n    if (tx.tag === Tag.GaMetaTx && account.kind === 'basic') {\n      message = \"Basic account can't be used to generate GaMetaTx\";\n    }\n    if (message == null) return [];\n    return [{ message, key: 'InvalidAccountType', checkedKeys: ['tag'] }];\n  },\n  // TODO: revert nonce check\n  // TODO: ensure nonce valid when paying for own tx\n  (tx, { consensusProtocolVersion }) => {\n    const oracleCall = Tag.OracleRegisterTx === tx.tag;\n    const contractCreate = Tag.ContractCreateTx === tx.tag || Tag.GaAttachTx === tx.tag;\n    const contractCall = Tag.ContractCallTx === tx.tag || Tag.GaMetaTx === tx.tag;\n    const type =\n      (oracleCall ? 'oracle-call' : null) ??\n      (contractCreate ? 'contract-create' : null) ??\n      (contractCall ? 'contract-call' : null);\n    if (type == null) return [];\n    const protocol = ProtocolToVmAbi[consensusProtocolVersion][type] as {\n      abiVersion: readonly any[];\n      vmVersion: readonly any[];\n    };\n\n    let ctVersion: Partial<CtVersion> | undefined;\n    if ('abiVersion' in tx) ctVersion = { abiVersion: tx.abiVersion };\n    if ('ctVersion' in tx) ctVersion = tx.ctVersion;\n    if (ctVersion == null) throw new UnexpectedTsError();\n    if (\n      !protocol.abiVersion.includes(ctVersion.abiVersion) ||\n      (contractCreate && !protocol.vmVersion.includes(ctVersion.vmVersion))\n    ) {\n      return [\n        {\n          message: `ABI/VM version ${JSON.stringify(ctVersion)} is wrong, supported is: ${JSON.stringify(protocol)}`,\n          key: 'VmAndAbiVersionMismatch',\n          checkedKeys: ['ctVersion', 'abiVersion'],\n        },\n      ];\n    }\n    return [];\n  },\n  async (tx, { node }) => {\n    if (Tag.ContractCallTx !== tx.tag) return [];\n    // TODO: remove after solving https://github.com/aeternity/aeternity/issues/3669\n    if (tx.contractId.startsWith('nm_')) return [];\n    try {\n      const { active } = await node.getContract(tx.contractId);\n      if (active) return [];\n      return [\n        {\n          message: `Contract ${tx.contractId} is not active`,\n          key: 'ContractNotActive',\n          checkedKeys: ['contractId'],\n        },\n      ];\n    } catch (error) {\n      if (!(error instanceof RestError) || error.response?.bodyAsText == null) throw error;\n      return [\n        {\n          message: JSON.parse(error.response.bodyAsText).reason, // TODO: use parsedBody instead\n          key: 'ContractNotFound',\n          checkedKeys: ['contractId'],\n        },\n      ];\n    }\n  },\n);\n","import verifyTransaction, { ValidatorResult } from './tx/validator.js';\nimport { ensureError } from './utils/other.js';\nimport { TransactionError } from './utils/errors.js';\nimport Node from './Node.js';\nimport { SignedTx } from './apis/node/index.js';\nimport { Encoded } from './utils/encoder.js';\nimport AccountBase from './account/Base.js';\nimport { buildTxHash } from './tx/builder/index.js';\nimport { poll, waitForTxConfirm } from './chain.js';\n\n/**\n * @category exception\n */\nexport class InvalidTxError extends TransactionError {\n  validation: ValidatorResult[];\n\n  transaction: Encoded.Transaction;\n\n  constructor(message: string, validation: ValidatorResult[], transaction: Encoded.Transaction) {\n    super(message);\n    this.name = 'InvalidTxError';\n    this.validation = validation;\n    this.transaction = transaction;\n  }\n}\n\n/**\n * Signs and submits transaction for mining\n * @category chain\n * @param txUnsigned - Transaction to sign and submit\n * @param options - Options\n * @returns Transaction details\n */\nexport async function sendTransaction(\n  txUnsigned: Encoded.Transaction,\n  {\n    onNode,\n    onAccount,\n    verify = true,\n    waitMined = true,\n    confirm,\n    innerTx,\n    ...options\n  }: SendTransactionOptions,\n): Promise<SendTransactionReturnType> {\n  const tx = await onAccount.signTransaction(txUnsigned, {\n    ...options,\n    onNode,\n    innerTx,\n    networkId: await onNode.getNetworkId(),\n  });\n\n  if (innerTx === true) return { hash: buildTxHash(tx), rawTx: tx };\n\n  if (verify) {\n    const validation = await verifyTransaction(tx, onNode);\n    if (validation.length > 0) {\n      const message = `Transaction verification errors: ${validation\n        .map((v: { message: string }) => v.message)\n        .join(', ')}`;\n      throw new InvalidTxError(message, validation, tx);\n    }\n  }\n\n  try {\n    let __queue;\n    try {\n      __queue = onAccount != null ? `tx-${onAccount.address}` : null;\n    } catch (error) {\n      __queue = null;\n    }\n    const { txHash } = await onNode.postTransaction(\n      { tx },\n      {\n        requestOptions: {\n          customHeaders: {\n            // TODO: remove __retry-code after fixing https://github.com/aeternity/aeternity/issues/3803\n            '__retry-code': '400',\n            ...(__queue != null ? { __queue } : {}),\n          },\n        },\n      },\n    );\n\n    if (waitMined) {\n      const pollResult = await poll(txHash, { onNode, ...options });\n      const txData = {\n        ...pollResult,\n        hash: pollResult.hash as Encoded.TxHash,\n        rawTx: tx,\n      };\n      // wait for transaction confirmation\n      if (confirm != null && +confirm > 0) {\n        const c = typeof confirm === 'boolean' ? undefined : confirm;\n        return {\n          ...txData,\n          confirmationHeight: await waitForTxConfirm(txHash, { onNode, confirm: c, ...options }),\n        };\n      }\n      return txData;\n    }\n    return { hash: txHash, rawTx: tx };\n  } catch (error) {\n    ensureError(error);\n    throw Object.assign(error, {\n      rawTx: tx,\n      verifyTx: async () => verifyTransaction(tx, onNode),\n    });\n  }\n}\n\ntype SendTransactionOptionsType = {\n  /**\n   * Node to use\n   */\n  onNode: Node;\n  /**\n   * Account to use\n   */\n  onAccount: AccountBase;\n  /**\n   * Verify transaction before broadcast, throw error if not\n   */\n  verify?: boolean;\n  /**\n   * Ensure that transaction get into block\n   */\n  waitMined?: boolean;\n  /**\n   * Number of micro blocks that should be mined after tx get included\n   */\n  confirm?: boolean | number;\n} & Parameters<typeof poll>[1] &\n  Omit<Parameters<typeof waitForTxConfirm>[1], 'confirm'> &\n  Parameters<AccountBase['signTransaction']>[1];\nexport interface SendTransactionOptions extends SendTransactionOptionsType {}\ninterface SendTransactionReturnType extends Partial<SignedTx> {\n  hash: Encoded.TxHash;\n  // TODO: use `SignedTx.encodedTx` instead\n  rawTx: Encoded.Transaction;\n  confirmationHeight?: number;\n}\n","import canonicalize from 'canonicalize';\nimport AccountBase from '../account/Base.js';\nimport { Encoded, Encoding, decode, encode } from './encoder.js';\nimport { verifySignature } from './crypto.js';\nimport { ArgumentError, InvalidSignatureError } from './errors.js';\n\n// TODO: use Buffer.from(data, 'base64url') after solving https://github.com/feross/buffer/issues/309\nconst toBase64Url = (data: Buffer | Uint8Array | string): string =>\n  Buffer.from(data).toString('base64').replaceAll('/', '_').replaceAll('+', '-').replace(/=+$/, '');\n\nconst fromBase64Url = (data: string): Buffer =>\n  Buffer.from(data.replaceAll('_', '/').replaceAll('-', '+'), 'base64');\n\nconst objectToBase64Url = (data: any): string => toBase64Url(canonicalize(data) ?? '');\n\nconst header = 'eyJhbGciOiJFZERTQSIsInR5cCI6IkpXVCJ9'; // objectToBase64Url({ alg: 'EdDSA', typ: 'JWT' })\n\n/**\n * JWT including specific header\n * @category JWT\n */\nexport type Jwt = `${typeof header}.${string}.${string}`;\n\n/**\n * Generate a signed JWT\n * Provide `\"sub_jwk\": undefined` in payload to omit signer public key added by default.\n * @param originalPayload - Payload to sign\n * @param account - Account to sign by\n * @category JWT\n */\nexport async function signJwt(originalPayload: any, account: AccountBase): Promise<Jwt> {\n  const payload = { ...originalPayload };\n  if (!('sub_jwk' in payload)) {\n    payload.sub_jwk = {\n      kty: 'OKP',\n      crv: 'Ed25519',\n      x: toBase64Url(decode(account.address)),\n    };\n  }\n  if (payload.sub_jwk === undefined) delete payload.sub_jwk;\n  const body = `${header}.${objectToBase64Url(payload)}` as const;\n  const signature = await account.unsafeSign(body);\n  return `${body}.${toBase64Url(signature)}`;\n}\n\n/**\n * Unpack JWT. It will check signature if address or \"sub_jwk\" provided.\n * @param jwt - JWT to unpack\n * @param address - Address to check signature\n * @category JWT\n */\nexport function unpackJwt(\n  jwt: Jwt,\n  address?: Encoded.AccountAddress,\n): {\n  /**\n   * JWT payload as object\n   */\n  payload: any;\n  /**\n   * Undefined returned in case signature is not checked\n   */\n  signer: Encoded.AccountAddress | undefined;\n} {\n  const components = jwt.split('.');\n  if (components.length !== 3)\n    throw new ArgumentError('JWT components count', 3, components.length);\n  const [h, payloadEncoded, signature] = components;\n  if (h !== header) throw new ArgumentError('JWT header', header, h);\n  const payload = JSON.parse(fromBase64Url(payloadEncoded).toString());\n  const jwk = payload.sub_jwk ?? {};\n  const signer =\n    jwk.x == null || jwk.kty !== 'OKP' || jwk.crv !== 'Ed25519'\n      ? address\n      : encode(fromBase64Url(jwk.x), Encoding.AccountAddress);\n  if (address != null && signer !== address) {\n    throw new ArgumentError('address', `${signer} (\"sub_jwk\")`, address);\n  }\n  if (\n    signer != null &&\n    !verifySignature(Buffer.from(`${h}.${payloadEncoded}`), fromBase64Url(signature), signer)\n  ) {\n    throw new InvalidSignatureError(`JWT is not signed by ${signer}`);\n  }\n  return { payload, signer };\n}\n\n/**\n * Check is string a JWT or not. Use to validate the user input.\n * @param maybeJwt - A string to check\n * @returns True if argument is a JWT\n * @category JWT\n */\nexport function isJwt(maybeJwt: string): maybeJwt is Jwt {\n  try {\n    unpackJwt(maybeJwt as Jwt);\n    return true;\n  } catch (error) {\n    return false;\n  }\n}\n\n/**\n * Throws an error if argument is not JWT. Use to ensure that a value is JWT.\n * @param maybeJwt - A string to check\n * @category JWT\n */\nexport function ensureJwt(maybeJwt: string): asserts maybeJwt is Jwt {\n  unpackJwt(maybeJwt as Jwt);\n}\n\n/**\n * Check is JWT signed by address from arguments or \"sub_jwk\"\n * @param jwt - JWT to check\n * @param address - Address to check signature\n * @category JWT\n */\nexport function verifyJwt(jwt: Jwt, address?: Encoded.AccountAddress): boolean {\n  try {\n    const { signer } = unpackJwt(jwt, address);\n    return signer != null;\n  } catch (error) {\n    return false;\n  }\n}\n","import SchemaTypes from '../SchemaTypes.js';\nimport address from '../field-types/address.js';\nimport nameId from '../field-types/name-id.js';\nimport shortUIntConst from '../field-types/short-u-int-const.js';\nimport { Encoded, Encoding, decode, encode } from '../../../utils/encoder.js';\n\n/**\n * @category delegation signature\n */\nexport enum DelegationTag {\n  /**\n   * Delegation of all AENS names to a contract\n   */\n  AensWildcard = 1,\n  /**\n   * Delegation of an AENS name to a contract\n   */\n  AensName = 2,\n  /**\n   * Delegation of AENS preclaim to a contract\n   */\n  AensPreclaim = 3,\n  /**\n   * Delegation of oracle operations to a contract\n   */\n  Oracle = 4,\n  /**\n   * Delegation of oracle query to a contract\n   */\n  OracleResponse = 5,\n}\n\nconst oracleAddressField = address(Encoding.OracleAddress);\n/**\n * Oracle query ID to reply by a contract\n */\nconst queryIdField = {\n  serialize(value: Encoded.OracleQueryId): Buffer {\n    return oracleAddressField.serialize(encode(decode(value), Encoding.OracleAddress));\n  },\n  deserialize(value: Buffer): Encoded.OracleQueryId {\n    return encode(decode(oracleAddressField.deserialize(value)), Encoding.OracleQueryId);\n  },\n} as const;\n\n/**\n * Address of a contract to delegate permissions to\n */\nconst contractAddress = address(Encoding.ContractAddress);\n\n/**\n * @see {@link https://github.com/aeternity/protocol/blob/8a9d1d1206174627f6aaef86159dc9c643080653/contracts/fate.md#from-ceres-serialized-signature-data}\n */\nexport const schemas = [\n  {\n    tag: shortUIntConst(DelegationTag.AensWildcard),\n    version: shortUIntConst(1, true),\n    accountAddress: address(Encoding.AccountAddress),\n    contractAddress,\n  },\n  {\n    tag: shortUIntConst(DelegationTag.AensName),\n    version: shortUIntConst(1, true),\n    accountAddress: address(Encoding.AccountAddress),\n    /**\n     * AENS name to manage by a contract\n     */\n    nameId,\n    contractAddress,\n  },\n  {\n    tag: shortUIntConst(DelegationTag.AensPreclaim),\n    version: shortUIntConst(1, true),\n    accountAddress: address(Encoding.AccountAddress),\n    contractAddress,\n  },\n  {\n    tag: shortUIntConst(DelegationTag.Oracle),\n    version: shortUIntConst(1, true),\n    accountAddress: address(Encoding.AccountAddress),\n    contractAddress,\n  },\n  {\n    tag: shortUIntConst(DelegationTag.OracleResponse),\n    version: shortUIntConst(1, true),\n    queryId: queryIdField,\n    contractAddress,\n  },\n] as const;\n\ntype Schemas = SchemaTypes<typeof schemas>;\nexport type DlgParams = Schemas['TxParams'];\nexport type DlgUnpacked = Schemas['TxUnpacked'];\n","import { Encoded, Encoding } from '../../../utils/encoder.js';\nimport { packRecord, unpackRecord } from '../common.js';\nimport { DelegationTag, schemas } from './schema.js';\nimport { DlgParams, DlgUnpacked } from './schema.generated.js';\n\n/**\n * Pack delegation\n * @category delegation signature\n * @param params - Params of delegation\n * @returns Encoded delegation\n */\nexport function packDelegation(params: DlgParams): Encoded.Bytearray {\n  return packRecord(schemas, DelegationTag, params, {}, Encoding.Bytearray);\n}\n\n/**\n * Unpack delegation\n * @category delegation signature\n * @param encoded - Encoded delegation\n * @param expectedTag - Expected delegation signature type\n * @returns Params of delegation\n */\nexport function unpackDelegation<T extends DelegationTag>(\n  encoded: Encoded.Bytearray,\n  expectedTag?: T,\n): DlgUnpacked & { tag: T } {\n  return unpackRecord(schemas, DelegationTag, encoded, expectedTag, {}) as any;\n}\n","/**\n * Aens methods - routines to interact with the æternity naming system\n *\n * The high-level description of the naming system is\n * https://github.com/aeternity/protocol/blob/master/AENS.md in the protocol\n * repository.\n */\n\nimport BigNumber from 'bignumber.js';\nimport { genSalt, isEncoded } from './utils/crypto.js';\nimport { commitmentHash, isAuctionName, produceNameId } from './tx/builder/helpers.js';\nimport { Tag, AensName } from './tx/builder/constants.js';\nimport { Encoded, Encoding } from './utils/encoder.js';\nimport { LogicError } from './utils/errors.js';\nimport { sendTransaction, SendTransactionOptions } from './send-transaction.js';\nimport { Optional } from './utils/other.js';\nimport { buildTxAsync, BuildTxOptions } from './tx/builder/index.js';\nimport Node from './Node.js';\nimport AccountBase from './account/Base.js';\nimport { AddressEncodings } from './tx/builder/field-types/address.js';\n\ninterface NameRevokeOptions\n  extends BuildTxOptions<Tag.NameRevokeTx, 'nameId' | 'accountId'>,\n    Optional<SendTransactionOptions, 'onAccount' | 'onNode'> {}\n\ninterface KeyPointers {\n  [key: string]: Encoded.Generic<AddressEncodings | Encoding.Bytearray>;\n}\n\ninterface NameUpdateOptions\n  extends BuildTxOptions<Tag.NameUpdateTx, 'nameId' | 'accountId' | 'pointers'>,\n    Optional<SendTransactionOptions, 'onAccount' | 'onNode'> {\n  /**\n   * Get the pointers from the node and merge with provided ones. Pointers with the same key will be\n   * overwritten.\n   */\n  extendPointers?: boolean;\n}\n\ninterface NameTransferOptions\n  extends BuildTxOptions<Tag.NameTransferTx, 'nameId' | 'accountId' | 'recipientId'>,\n    Optional<SendTransactionOptions, 'onAccount' | 'onNode'> {}\n\ninterface NamePreclaimOptions\n  extends BuildTxOptions<Tag.NamePreclaimTx, 'accountId' | 'commitmentId'>,\n    Optional<SendTransactionOptions, 'onAccount' | 'onNode'> {}\n\ninterface NameClaimOptions\n  extends BuildTxOptions<Tag.NameClaimTx, 'accountId' | 'name'>,\n    Optional<SendTransactionOptions, 'onAccount' | 'onNode'> {}\n\nclass NotAuctionNameError extends LogicError {\n  constructor(name: AensName, action: string) {\n    super(`Can't ${action} because ${name} is not an auction name`);\n    this.name = 'NotAuctionNameError';\n  }\n}\n\n/**\n * @category AENS\n * @example\n * ```js\n * const name = new Name('test.chain', aeSdk.getContext())\n * ```\n */\nexport default class Name {\n  #salt?: number;\n\n  /**\n   * @param value - AENS name\n   * @param options - Options\n   * @param options.onNode - Node to use\n   * @param options.onAccount - Account to use\n   */\n  constructor(\n    public readonly value: AensName,\n    public options: { onNode: Node; onAccount: AccountBase } & Omit<\n      NameRevokeOptions &\n        NameUpdateOptions &\n        NameTransferOptions &\n        NamePreclaimOptions &\n        NameClaimOptions,\n      'version'\n    >,\n  ) {\n    this.options = options;\n  }\n\n  /**\n   * Name ID encoded as nm_-prefixed string\n   */\n  get id(): Encoded.Name {\n    return produceNameId(this.value);\n  }\n\n  /**\n   * Revoke a name\n   * @param options - Options\n   * @returns mined transaction details\n   * @example\n   * ```js\n   * await name.revoke({ fee, ttl, nonce })\n   * ```\n   */\n  async revoke(options: NameRevokeOptions = {}): ReturnType<typeof sendTransaction> {\n    const opt = { ...this.options, ...options };\n    const tx = await buildTxAsync({\n      _isInternalBuild: true,\n      ...opt,\n      tag: Tag.NameRevokeTx,\n      nameId: this.value,\n      accountId: opt.onAccount.address,\n    });\n    return sendTransaction(tx, opt);\n  }\n\n  /**\n   * Update a name\n   * @param pointers - Map of pointer keys to corresponding addresses\n   * @param options - Options\n   * @example\n   * ```js\n   * const name = 'test.chain'\n   * const channel = 'ch_2519mBs...'\n   * const pointers = {\n   *   account_pubkey: 'ak_asd23dasdas...,',\n   *   contract_pubkey: 'ct_asdf34fasdasd...',\n   *   [getDefaultPointerKey(channel)]: channel,\n   * }\n   * await name.update(pointers, { nameTtl, ttl, fee, nonce, clientTtl })\n   * ```\n   */\n  async update(\n    pointers: KeyPointers,\n    options: NameUpdateOptions = {},\n  ): ReturnType<typeof sendTransaction> {\n    const { extendPointers, ...opt } = { ...this.options, ...options };\n    const allPointers = {\n      ...(extendPointers === true &&\n        Object.fromEntries(\n          (await opt.onNode.getNameEntryByName(this.value)).pointers.map(({ key, id }) => [\n            key,\n            id,\n          ]),\n        )),\n      ...pointers,\n    };\n\n    const hasRawPointers = Object.values(allPointers).some((v) => isEncoded(v, Encoding.Bytearray));\n\n    const tx = await buildTxAsync({\n      _isInternalBuild: true,\n      ...opt,\n      tag: Tag.NameUpdateTx,\n      version: hasRawPointers ? 2 : 1,\n      nameId: this.value,\n      accountId: opt.onAccount.address,\n      pointers: Object.entries(allPointers).map(\n        ([key, id]: [string, Encoded.Generic<AddressEncodings>]) => ({ key, id }),\n      ),\n    });\n    return sendTransaction(tx, opt);\n  }\n\n  /**\n   * Transfer a name to another account\n   * @param address - Recipient account public key\n   * @param options - Options\n   * @returns mined transaction details\n   * @example\n   * ```js\n   * await name.transfer('ak_asd23dasdas...', { ttl, fee, nonce })\n   * ```\n   */\n  async transfer(\n    address: Encoded.AccountAddress,\n    options: NameTransferOptions = {},\n  ): ReturnType<typeof sendTransaction> {\n    const opt = { ...this.options, ...options };\n    const tx = await buildTxAsync({\n      _isInternalBuild: true,\n      ...opt,\n      tag: Tag.NameTransferTx,\n      nameId: this.value,\n      accountId: opt.onAccount.address,\n      recipientId: address,\n    });\n    return sendTransaction(tx, opt);\n  }\n\n  /**\n   * Query the AENS name info from the node and return the object with info\n   * @param options - Options\n   * @example\n   * ```js\n   * const nameEntry = await name.getState()\n   * console.log(nameEntry.owner)\n   * ```\n   */\n  async getState(options: { onNode?: Node } = {}): Promise<\n    Awaited<ReturnType<Node['getNameEntryByName']>> & {\n      id: Encoded.Name;\n      owner: Encoded.AccountAddress;\n    }\n  > {\n    const onNode = options.onNode ?? this.options.onNode;\n    const nameEntry = await onNode.getNameEntryByName(this.value);\n    return {\n      ...nameEntry,\n      id: nameEntry.id as Encoded.Name,\n      owner: nameEntry.owner as Encoded.AccountAddress,\n    };\n  }\n\n  /**\n   * Query the AENS auction info from the node and return the object with info\n   * @param options - Options\n   * @example\n   * ```js\n   * const auctionEntry = await name.getAuctionState()\n   * console.log(auctionEntry.highestBidder)\n   * ```\n   */\n  async getAuctionState(options: { onNode?: Node } = {}): Promise<\n    Awaited<ReturnType<Node['getAuctionEntryByName']>> & {\n      id: Encoded.Name;\n      highestBidder: Encoded.AccountAddress;\n    }\n  > {\n    if (!isAuctionName(this.value)) throw new NotAuctionNameError(this.value, 'get auction state');\n    const onNode = options.onNode ?? this.options.onNode;\n    const nameEntry = await onNode.getAuctionEntryByName(this.value);\n    return {\n      ...nameEntry,\n      id: nameEntry.id as Encoded.Name,\n      highestBidder: nameEntry.highestBidder as Encoded.AccountAddress,\n    };\n  }\n\n  /**\n   *\n   * @param nameTtl - represents in number of blocks (max and default is 180000)\n   * @param options - Options\n   * @returns mined transaction details\n   */\n  async extendTtl(\n    nameTtl?: number,\n    options: Omit<Parameters<Name['update']>[1], 'extendPointers' | 'nameTtl'> = {},\n  ): ReturnType<Name['update']> {\n    return this.update({}, { ...options, nameTtl, extendPointers: true });\n  }\n\n  /**\n   * Claim a name.\n   *\n   * Since the Ceres protocol upgrade, it is possible to claim a name without preclaiming it.\n   * If you preclaim, wait for at least 1 key block to be mined before exposing a name in the\n   * NameClaimTx to ensure that nobody can front-run the claim.\n   *\n   * @param options - options\n   * @returns mined transaction details\n   * @example\n   * ```js\n   * await name.claim({ ttl, fee, nonce, nameFee })\n   * ```\n   */\n  async claim(options: NameClaimOptions = {}): ReturnType<typeof sendTransaction> {\n    const opt = { ...this.options, ...options };\n    const tx = await buildTxAsync({\n      _isInternalBuild: true,\n      nameSalt: this.#salt,\n      ...opt,\n      tag: Tag.NameClaimTx,\n      accountId: opt.onAccount.address,\n      name: this.value,\n    });\n    return sendTransaction(tx, opt);\n  }\n\n  /**\n   * Preclaim a name. This sends a commitment hash (derived from the name and a random salt) to\n   * the node. Preclaiming was required to claim a name before the Ceres protocol upgrade.\n   * After the upgrade, preclaiming is optional but still available for added security if you\n   * want to claim a non-auction name.\n   * @param options - Options\n   * @example\n   * ```js\n   * await name.preclaim({ ttl, fee, nonce })\n   * ```\n   */\n  async preclaim(\n    options: NamePreclaimOptions = {},\n  ): Promise<Awaited<ReturnType<typeof sendTransaction>> & { nameSalt: number }> {\n    const opt = { ...this.options, ...options };\n    const nameSalt = genSalt();\n    const tx = await buildTxAsync({\n      _isInternalBuild: true,\n      ...opt,\n      tag: Tag.NamePreclaimTx,\n      accountId: opt.onAccount.address,\n      commitmentId: commitmentHash(this.value, nameSalt),\n    });\n    const result = await sendTransaction(tx, opt);\n    this.#salt = nameSalt;\n    return { ...result, nameSalt };\n  }\n\n  /**\n   * Bid to name auction\n   * @param nameFee - Name fee (bid fee)\n   * @param options - Options\n   * @returns mined transaction details\n   * @example\n   * ```js\n   * const bidFee = computeBidFee(name.value, { startFee, increment: 0.42 })\n   * await name.bid(213109412839123, { ttl, fee, nonce })\n   * ```\n   */\n  async bid(\n    nameFee: number | string | BigNumber,\n    options: Omit<NameClaimOptions, 'nameFee'> = {},\n  ): ReturnType<typeof sendTransaction> {\n    if (!isAuctionName(this.value)) throw new NotAuctionNameError(this.value, 'make a bid');\n    const opt = { ...this.options, ...options };\n    const tx = await buildTxAsync({\n      _isInternalBuild: true,\n      ...opt,\n      tag: Tag.NameClaimTx,\n      accountId: opt.onAccount.address,\n      nameSalt: 0,\n      name: this.value,\n      nameFee,\n    });\n    return sendTransaction(tx, opt);\n  }\n}\n","/**\n * Contract module - routines to interact with the æternity contract\n *\n * High level documentation of the contracts are available at\n * https://github.com/aeternity/protocol/tree/master/contracts and\n */\n\nimport { Encoder as Calldata } from '@aeternity/aepp-calldata';\nimport { Tag, AensName, DRY_RUN_ACCOUNT } from '../tx/builder/constants.js';\nimport {\n  buildContractIdByContractTx,\n  unpackTx,\n  buildTxAsync,\n  BuildTxOptions,\n  buildTxHash,\n} from '../tx/builder/index.js';\nimport { decode, Encoded } from '../utils/encoder.js';\nimport {\n  MissingContractDefError,\n  MissingContractAddressError,\n  InactiveContractError,\n  BytecodeMismatchError,\n  DuplicateContractError,\n  MissingFunctionNameError,\n  InvalidMethodInvocationError,\n  NotPayableFunctionError,\n  TypeError,\n  NodeInvocationError,\n  IllegalArgumentError,\n  NoSuchContractFunctionError,\n  MissingEventDefinitionError,\n  AmbiguousEventDefinitionError,\n  UnexpectedTsError,\n  InternalError,\n  NoWalletConnectedError,\n  ContractError,\n} from '../utils/errors.js';\nimport { hash as calcHash } from '../utils/crypto.js';\nimport {\n  ContractCallObject as NodeContractCallObject,\n  Event as NodeEvent,\n} from '../apis/node/index.js';\nimport CompilerBase, { Aci } from './compiler/Base.js';\nimport Node from '../Node.js';\nimport { getAccount, resolveName, txDryRun } from '../chain.js';\nimport { sendTransaction, SendTransactionOptions } from '../send-transaction.js';\nimport { TxUnpacked } from '../tx/builder/schema.generated.js';\nimport { Optional, isAccountNotFoundError } from '../utils/other.js';\nimport { isName, produceNameId } from '../tx/builder/helpers.js';\n\ntype ContractAci = NonNullable<Aci[0]['contract']>;\ntype FunctionAci = ContractAci['functions'][0];\n\ninterface Event extends NodeEvent {\n  address: Encoded.ContractAddress;\n  data: Encoded.ContractBytearray;\n}\n\nexport interface ContractCallObject extends NodeContractCallObject {\n  returnValue: Encoded.ContractBytearray;\n  log: Event[];\n}\n\ninterface DecodedEvent {\n  name: string;\n  args: unknown[];\n  contract: {\n    name: string;\n    address: Encoded.ContractAddress;\n  };\n}\n\ntype TxData = Awaited<ReturnType<typeof sendTransaction>>;\n\ninterface SendAndProcessReturnType {\n  result?: ContractCallObject;\n  hash: TxData['hash'];\n  tx: TxUnpacked & { tag: Tag.SignedTx | Tag.ContractCallTx | Tag.ContractCreateTx };\n  txData: TxData;\n  rawTx: Encoded.Transaction;\n}\n\n/**\n * @category contract\n */\nexport interface ContractMethodsBase {\n  [key: string]: (...args: any[]) => any;\n}\n\ntype MethodsToContractApi<M extends ContractMethodsBase> = {\n  [Name in keyof M]: M[Name] extends (...args: infer Args) => infer Ret\n    ? (\n        ...args: [\n          ...Args,\n          ...(\n            | []\n            | [\n                Name extends 'init'\n                  ? Parameters<Contract<M>['$deploy']>[1]\n                  : Parameters<Contract<M>['$call']>[2],\n              ]\n          ),\n        ]\n      ) => Promise<\n        Omit<Awaited<ReturnType<Contract<M>['$call']>>, 'decodedResult'> & {\n          // TODO: accurate would be to add `| undefined` because of `waitMined`, but better to drop `waitMined`\n          decodedResult: Ret;\n        }\n      >\n    : never;\n};\n\n/**\n * @category contract\n */\ntype ContractWithMethods<M extends ContractMethodsBase> = Contract<M> & MethodsToContractApi<M>;\n\ntype MethodNames<M extends ContractMethodsBase> = (keyof M & string) | 'init';\n\ntype MethodParameters<M extends ContractMethodsBase, Fn extends MethodNames<M>> = Fn extends 'init'\n  ? M extends { init: any }\n    ? Parameters<M['init']>\n    : []\n  : Parameters<M[Fn]>;\n\ninterface GetContractNameByEventOptions {\n  contractAddressToName?: { [key: Encoded.ContractAddress]: string };\n}\n\ninterface GetCallResultByHashReturnType<M extends ContractMethodsBase, Fn extends MethodNames<M>> {\n  decodedResult: ReturnType<M[Fn]>;\n  decodedEvents?: ReturnType<Contract<M>['$decodeEvents']>;\n}\n\n/**\n * Generate contract ACI object with predefined js methods for contract usage - can be used for\n * creating a reference to already deployed contracts\n * @category contract\n * @param options - Options object\n * @returns JS Contract API\n * @example\n * ```js\n * const contractIns = await Contract.initialize({ ...aeSdk.getContext(), sourceCode })\n * await contractIns.$deploy([321]) or await contractIns.init(321)\n * const callResult = await contractIns.$call('setState', [123])\n * const staticCallResult = await contractIns.$call('setState', [123], { callStatic: true })\n * ```\n * Also you can call contract like: `await contractIns.setState(123, options)`\n * Then sdk decide to make on-chain or static call (dry-run API) transaction based on function is\n * stateful or not\n */\nclass Contract<M extends ContractMethodsBase> {\n  /**\n   * Compile contract\n   * @returns bytecode\n   */\n  async $compile(): Promise<Encoded.ContractBytearray> {\n    if (this.$options.bytecode != null) return this.$options.bytecode;\n    if (this.$options.onCompiler == null)\n      throw new IllegalArgumentError(\"Can't compile without compiler\");\n    if (this.$options.sourceCode != null) {\n      const { bytecode } = await this.$options.onCompiler.compileBySourceCode(\n        this.$options.sourceCode,\n        this.$options.fileSystem,\n      );\n      this.$options.bytecode = bytecode;\n    }\n    if (this.$options.sourceCodePath != null) {\n      const { bytecode } = await this.$options.onCompiler.compile(this.$options.sourceCodePath);\n      this.$options.bytecode = bytecode;\n    }\n    if (this.$options.bytecode == null) {\n      throw new IllegalArgumentError(\"Can't compile without sourceCode and sourceCodePath\");\n    }\n    return this.$options.bytecode;\n  }\n\n  #getCallResult<Fn extends MethodNames<M>>(\n    { returnType, returnValue, log }: ContractCallObject,\n    fnName: Fn,\n    transaction: Encoded.Transaction | undefined,\n    options: Parameters<Contract<M>['$decodeEvents']>[1],\n  ): GetCallResultByHashReturnType<M, Fn> {\n    let message: string;\n    switch (returnType) {\n      case 'ok': {\n        const fnAci = this.#getFunctionAci(fnName);\n        return {\n          decodedResult: this._calldata.decode(this._name, fnAci.name, returnValue),\n          decodedEvents: this.$decodeEvents(log, options),\n        };\n      }\n      case 'revert':\n        message = this._calldata.decodeFateString(returnValue);\n        break;\n      case 'error':\n        message = decode(returnValue).toString();\n        if (/Expected \\d+ arguments, got \\d+/.test(message)) {\n          throw new BytecodeMismatchError('ACI', `. Error provided by node: \"${message}\".`);\n        }\n        if (/Trying to call undefined function: <<\\d+,\\d+,\\d+,\\d+>>/.test(message)) {\n          throw new BytecodeMismatchError(\n            'ACI',\n            `. Error provided by node: \"${message}\", function name: ${fnName}.`,\n          );\n        }\n        break;\n      default:\n        throw new InternalError(`Unknown return type: ${returnType}`);\n    }\n    throw new NodeInvocationError(message, transaction);\n  }\n\n  async #sendAndProcess<Fn extends MethodNames<M>>(\n    tx: Encoded.Transaction,\n    fnName: Fn,\n    options: SendTransactionOptions & Parameters<Contract<M>['$getCallResultByTxHash']>[2],\n  ): Promise<SendAndProcessReturnType & Partial<GetCallResultByHashReturnType<M, Fn>>> {\n    const txData = await sendTransaction(tx, { ...this.$options, ...options });\n    return {\n      hash: txData.hash,\n      tx: unpackTx<Tag.ContractCallTx | Tag.ContractCreateTx>(txData.rawTx),\n      txData,\n      rawTx: txData.rawTx,\n      // TODO: disallow `waitMined: false` to make `decodedResult` required\n      ...(txData.blockHeight != null &&\n        (await this.$getCallResultByTxHash(txData.hash, fnName, options))),\n    };\n  }\n\n  async $getCallResultByTxHash<Fn extends MethodNames<M>>(\n    hash: Encoded.TxHash,\n    fnName: Fn,\n    options?: Parameters<Contract<M>['$decodeEvents']>[1],\n  ): Promise<GetCallResultByHashReturnType<M, Fn> & { result: ContractCallObject }> {\n    const { callInfo } = await this.$options.onNode.getTransactionInfoByHash(hash);\n    if (callInfo == null) {\n      throw new ContractError(`callInfo is not available for transaction ${hash}`);\n    }\n    const callInfoTyped = callInfo as ContractCallObject;\n    return {\n      ...this.#getCallResult(callInfoTyped, fnName, undefined, options),\n      result: callInfoTyped,\n    };\n  }\n\n  async _estimateGas<Fn extends MethodNames<M>>(\n    name: Fn,\n    params: MethodParameters<M, Fn>,\n    options: Omit<Parameters<Contract<M>['$call']>[2], 'callStatic'> = {},\n  ): Promise<number> {\n    const { result } = await this.$call(name, params, { ...options, callStatic: true });\n    if (result == null) throw new UnexpectedTsError();\n    const { gasUsed } = result;\n    // taken from https://github.com/aeternity/aepp-sdk-js/issues/1286#issuecomment-977814771\n    return Math.floor(gasUsed * 1.25);\n  }\n\n  /**\n   * Deploy contract\n   * @param params - Contract init function arguments array\n   * @param options - Options\n   * @returns deploy info\n   */\n  async $deploy(\n    params: MethodParameters<M, 'init'>,\n    options?: Parameters<Contract<M>['$call']>[2] &\n      Partial<BuildTxOptions<Tag.ContractCreateTx, 'ownerId' | 'code' | 'callData'>>,\n  ): Promise<\n    Omit<SendAndProcessReturnType, 'hash'> & {\n      transaction?: Encoded.TxHash;\n      owner?: Encoded.AccountAddress;\n      address?: Encoded.ContractAddress;\n      decodedEvents?: ReturnType<Contract<M>['$decodeEvents']>;\n    }\n  > {\n    const { callStatic, ...opt } = { ...this.$options, ...options };\n    if (this.$options.bytecode == null) await this.$compile();\n    if (callStatic === true) return this.$call('init', params, { ...opt, callStatic });\n    if (this.$options.address != null) throw new DuplicateContractError();\n\n    if (opt.onAccount == null) throw new IllegalArgumentError(\"Can't deploy without account\");\n    const ownerId = opt.onAccount.address;\n    if (this.$options.bytecode == null)\n      throw new IllegalArgumentError(\"Can't deploy without bytecode\");\n    const tx = await buildTxAsync({\n      _isInternalBuild: true,\n      ...opt,\n      tag: Tag.ContractCreateTx,\n      gasLimit: opt.gasLimit ?? (await this._estimateGas('init', params, opt)),\n      callData: this._calldata.encode(this._name, 'init', params),\n      code: this.$options.bytecode,\n      ownerId,\n    });\n    const { hash, ...other } = await this.#sendAndProcess(tx, 'init', {\n      ...opt,\n      onAccount: opt.onAccount,\n    });\n    this.$options.address = buildContractIdByContractTx(other.rawTx);\n    return {\n      ...other,\n      ...(other.result?.log != null && {\n        decodedEvents: this.$decodeEvents(other.result.log, opt),\n      }),\n      owner: ownerId,\n      transaction: hash,\n      address: this.$options.address,\n    };\n  }\n\n  /**\n   * Get function schema from contract ACI object\n   * @param name - Function name\n   * @returns function ACI\n   */\n  #getFunctionAci(name: string): FunctionAci {\n    const fn = this.#aciContract.functions.find((f: { name: string }) => f.name === name);\n    if (fn != null) {\n      return fn;\n    }\n    if (name === 'init') {\n      return {\n        arguments: [],\n        name: 'init',\n        payable: false,\n        returns: 'unit',\n        stateful: true,\n      };\n    }\n    throw new NoSuchContractFunctionError(name);\n  }\n\n  /**\n   * Call contract function\n   * @param fn - Function name\n   * @param params - Array of function arguments\n   * @param options - Array of function arguments\n   * @returns CallResult\n   */\n  async $call<Fn extends MethodNames<M>>(\n    fn: Fn,\n    params: MethodParameters<M, Fn>,\n    options: Partial<BuildTxOptions<Tag.ContractCallTx, 'callerId' | 'contractId' | 'callData'>> &\n      Parameters<Contract<M>['$decodeEvents']>[1] &\n      Optional<SendTransactionOptions, 'onAccount' | 'onNode'> &\n      Omit<Parameters<typeof txDryRun>[2], 'onNode'> & { callStatic?: boolean } = {},\n  ): Promise<SendAndProcessReturnType & Partial<GetCallResultByHashReturnType<M, Fn>>> {\n    const { callStatic, top, ...opt } = { ...this.$options, ...options };\n    const fnAci = this.#getFunctionAci(fn);\n    const { address, name } = this.$options;\n    // TODO: call `produceNameId` on buildTx side\n    const contractId = name != null ? produceNameId(name) : address;\n    const { onNode } = opt;\n\n    if (fn == null) throw new MissingFunctionNameError();\n    if (fn === 'init' && callStatic !== true)\n      throw new InvalidMethodInvocationError('\"init\" can be called only via dryRun');\n    if (fn !== 'init' && opt.amount != null && Number(opt.amount) > 0 && !fnAci.payable) {\n      throw new NotPayableFunctionError(opt.amount, fn);\n    }\n\n    let callerId;\n    try {\n      if (opt.onAccount == null) throw new InternalError('Use fallback account');\n      callerId = opt.onAccount.address;\n    } catch (error) {\n      const useFallbackAccount =\n        callStatic === true &&\n        ((error instanceof TypeError &&\n          error.message ===\n            'Account should be an address (ak-prefixed string), or instance of AccountBase, got undefined instead') ||\n          error instanceof NoWalletConnectedError ||\n          (error instanceof InternalError && error.message === 'Use fallback account'));\n      if (!useFallbackAccount) throw error;\n      callerId = DRY_RUN_ACCOUNT.pub;\n    }\n    const callData = this._calldata.encode(this._name, fn, params);\n\n    if (callStatic === true) {\n      if (opt.nonce == null) {\n        const topOption = top != null && { [typeof top === 'number' ? 'height' : 'hash']: top };\n        const account = await getAccount(callerId, { ...topOption, onNode }).catch((error) => {\n          if (!isAccountNotFoundError(error)) throw error;\n          return { kind: 'basic', nonce: 0 };\n        });\n        opt.nonce = account.kind === 'generalized' ? 0 : account.nonce + 1;\n      }\n\n      const txOpt = { ...opt, onNode, callData };\n      let tx;\n      if (fn === 'init') {\n        if (this.$options.bytecode == null)\n          throw new IllegalArgumentError('Can\\'t dry-run \"init\" without bytecode');\n        tx = await buildTxAsync({\n          ...txOpt,\n          tag: Tag.ContractCreateTx,\n          code: this.$options.bytecode,\n          ownerId: callerId,\n        });\n      } else {\n        if (contractId == null)\n          throw new MissingContractAddressError(\"Can't dry-run contract without address\");\n        tx = await buildTxAsync({\n          ...txOpt,\n          tag: Tag.ContractCallTx,\n          callerId,\n          contractId,\n        });\n      }\n\n      const { callObj, ...dryRunOther } = await txDryRun(tx, callerId, { ...opt, top });\n      if (callObj == null) {\n        throw new InternalError(`callObj is not available for transaction ${tx}`);\n      }\n      const callInfoTyped = callObj as ContractCallObject;\n      return {\n        ...dryRunOther,\n        ...this.#getCallResult(callInfoTyped, fn, tx, opt),\n        tx: unpackTx(tx),\n        result: callInfoTyped,\n        rawTx: tx,\n        hash: buildTxHash(tx),\n        txData: undefined as any,\n      };\n    }\n\n    if (top != null)\n      throw new IllegalArgumentError(\"Can't handle `top` option in on-chain contract call\");\n    if (contractId == null)\n      throw new MissingContractAddressError(\"Can't call contract without address\");\n    const tx = await buildTxAsync({\n      _isInternalBuild: true,\n      ...opt,\n      tag: Tag.ContractCallTx,\n      gasLimit: opt.gasLimit ?? (await this._estimateGas(fn, params, opt)),\n      callerId,\n      contractId,\n      callData,\n    });\n    if (opt.onAccount == null)\n      throw new IllegalArgumentError(\"Can't call contract on chain without account\");\n    return this.#sendAndProcess(tx, fn, { ...opt, onAccount: opt.onAccount });\n  }\n\n  /**\n   * @param ctAddress - Contract address that emitted event\n   * @param nameHash - Hash of emitted event name\n   * @param options - Options\n   * @returns Contract name\n   * @throws {@link MissingEventDefinitionError}\n   * @throws {@link AmbiguousEventDefinitionError}\n   */\n  #getContractNameByEvent(\n    ctAddress: Encoded.ContractAddress,\n    nameHash: BigInt,\n    { contractAddressToName }: GetContractNameByEventOptions,\n  ): string {\n    const addressToName = { ...this.$options.contractAddressToName, ...contractAddressToName };\n    if (addressToName[ctAddress] != null) return addressToName[ctAddress];\n\n    // TODO: consider using a third-party library\n    const isEqual = (a: any, b: any): boolean => JSON.stringify(a) === JSON.stringify(b);\n\n    const contracts = this._aci\n      .map(({ contract }) => contract)\n      .filter((contract) => contract?.event) as ContractAci[];\n    const matchedEvents = contracts\n      .map((contract) => [contract.name, contract.event.variant])\n      .map(([name, events]) =>\n        events.map((event: {}) => [name, Object.keys(event)[0], Object.values(event)[0]]),\n      )\n      .flat()\n      .filter(([, eventName]) => BigInt(`0x${calcHash(eventName).toString('hex')}`) === nameHash)\n      .filter(([, , type], idx, arr) => !arr.slice(0, idx).some((el) => isEqual(el[2], type)));\n    switch (matchedEvents.length) {\n      case 0:\n        throw new MissingEventDefinitionError(nameHash.toString(), ctAddress);\n      case 1:\n        return matchedEvents[0][0];\n      default:\n        throw new AmbiguousEventDefinitionError(ctAddress, matchedEvents);\n    }\n  }\n\n  /**\n   * Decode Events\n   * @param events - Array of encoded events (callRes.result.log)\n   * @param options - Options\n   * @returns DecodedEvents\n   */\n  $decodeEvents(\n    events: Event[],\n    { omitUnknown, ...opt }: { omitUnknown?: boolean } & GetContractNameByEventOptions = {},\n  ): DecodedEvent[] {\n    return events\n      .map((event) => {\n        let contractName;\n        try {\n          contractName = this.#getContractNameByEvent(event.address, event.topics[0], opt);\n        } catch (error) {\n          if ((omitUnknown ?? false) && error instanceof MissingEventDefinitionError) return null;\n          throw error;\n        }\n        const decoded = this._calldata.decodeEvent(contractName, event.data, event.topics);\n        const [name, args] = Object.entries(decoded)[0];\n        return {\n          name,\n          args,\n          contract: {\n            name: contractName,\n            address: event.address,\n          },\n        };\n      })\n      .filter((e: DecodedEvent | null): e is DecodedEvent => e != null);\n  }\n\n  static async initialize<M extends ContractMethodsBase>({\n    onCompiler,\n    onNode,\n    bytecode,\n    aci,\n    address,\n    sourceCodePath,\n    sourceCode,\n    fileSystem,\n    validateBytecode,\n    ...otherOptions\n  }: Omit<ConstructorParameters<typeof Contract>[0], 'aci' | 'address'> & {\n    validateBytecode?: boolean;\n    aci?: Aci;\n    address?: Encoded.ContractAddress | AensName;\n  }): Promise<ContractWithMethods<M>> {\n    if (aci == null && onCompiler != null) {\n      let res;\n      if (sourceCodePath != null) res = await onCompiler.compile(sourceCodePath);\n      if (sourceCode != null) res = await onCompiler.compileBySourceCode(sourceCode, fileSystem);\n      if (res != null) {\n        aci = res.aci;\n        bytecode ??= res.bytecode;\n      }\n    }\n    if (aci == null) throw new MissingContractDefError();\n\n    let name;\n    if (address != null) {\n      address = (await resolveName(address, 'contract_pubkey', {\n        resolveByNode: true,\n        onNode,\n      })) as Encoded.ContractAddress;\n      if (isName(address)) name = address;\n    }\n\n    if (address == null && sourceCode == null && sourceCodePath == null && bytecode == null) {\n      throw new MissingContractAddressError(\"Can't create instance by ACI without address\");\n    }\n\n    if (address != null) {\n      const contract = await onNode.getContract(address);\n      if (contract.active == null) throw new InactiveContractError(address);\n    }\n\n    if (validateBytecode === true) {\n      if (address == null)\n        throw new MissingContractAddressError(\"Can't validate bytecode without contract address\");\n      const onChanBytecode = (await onNode.getContractCode(address)).bytecode;\n      let isValid = false;\n      if (bytecode != null) isValid = bytecode === onChanBytecode;\n      else if (sourceCode != null) {\n        if (onCompiler == null)\n          throw new IllegalArgumentError(\"Can't validate bytecode without compiler\");\n        isValid = await onCompiler.validateBySourceCode(onChanBytecode, sourceCode, fileSystem);\n      } else if (sourceCodePath != null) {\n        if (onCompiler == null)\n          throw new IllegalArgumentError(\"Can't validate bytecode without compiler\");\n        isValid = await onCompiler.validate(onChanBytecode, sourceCodePath);\n      }\n      if (!isValid) {\n        throw new BytecodeMismatchError(\n          (sourceCode ?? sourceCodePath) != null ? 'source code' : 'bytecode',\n        );\n      }\n    }\n\n    return new ContractWithMethods<M>({\n      onCompiler,\n      onNode,\n      sourceCode,\n      sourceCodePath,\n      bytecode,\n      aci,\n      address,\n      name,\n      fileSystem,\n      ...otherOptions,\n    });\n  }\n\n  _aci: Aci;\n\n  readonly #aciContract: ContractAci;\n\n  _name: string;\n\n  _calldata: Calldata;\n\n  $options: Omit<ConstructorParameters<typeof Contract>[0], 'aci'>;\n\n  /**\n   * @param options - Options\n   */\n  constructor({\n    aci,\n    ...otherOptions\n  }: {\n    onCompiler?: CompilerBase;\n    onNode: Node;\n    bytecode?: Encoded.ContractBytearray;\n    aci: Aci;\n    address?: Encoded.ContractAddress;\n    /**\n     * Supported only in Ceres\n     */\n    name?: AensName;\n    sourceCodePath?: Parameters<CompilerBase['compile']>[0];\n    sourceCode?: Parameters<CompilerBase['compileBySourceCode']>[0];\n    fileSystem?: Parameters<CompilerBase['compileBySourceCode']>[1];\n  } & Parameters<Contract<M>['$deploy']>[1]) {\n    this._aci = aci;\n    const aciLast = aci[aci.length - 1];\n    if (aciLast.contract == null) {\n      throw new IllegalArgumentError(\n        `The last 'aci' item should have 'contract' key, got ${Object.keys(aciLast)} keys instead`,\n      );\n    }\n    this.#aciContract = aciLast.contract;\n    this._name = this.#aciContract.name;\n    this._calldata = new Calldata(aci);\n    this.$options = otherOptions;\n\n    /**\n     * Generate proto function based on contract function using Contract ACI schema\n     * All function can be called like:\n     * ```js\n     * await contract.testFunction()\n     * ```\n     * then sdk will decide to use dry-run or send tx\n     * on-chain base on if function stateful or not.\n     * Also, you can manually do that:\n     * ```js\n     * await contract.testFunction({ callStatic: true }) // use call-static (dry-run)\n     * await contract.testFunction({ callStatic: false }) // send tx on-chain\n     * ```\n     */\n    Object.assign(\n      this,\n      Object.fromEntries(\n        this.#aciContract.functions.map(({ name, arguments: aciArgs, stateful }: FunctionAci) => {\n          const callStatic = name !== 'init' && !stateful;\n          return [\n            name,\n            async (...args: any) => {\n              const options = args.length === aciArgs.length + 1 ? args.pop() : {};\n              if (typeof options !== 'object')\n                throw new TypeError(`Options should be an object: ${options}`);\n              if (name === 'init') return this.$deploy(args, { callStatic, ...options });\n              return this.$call(name, args, { callStatic, ...options });\n            },\n          ];\n        }),\n      ),\n    );\n  }\n}\n\ninterface ContractWithMethodsClass {\n  new <M extends ContractMethodsBase>(\n    options: ConstructorParameters<typeof Contract>[0],\n  ): ContractWithMethods<M>;\n  initialize: (typeof Contract)['initialize'];\n}\n\n/**\n * @category contract\n */\n// eslint-disable-next-line @typescript-eslint/no-redeclare\nconst ContractWithMethods: ContractWithMethodsClass = Contract as any;\n\nexport default ContractWithMethods;\n","import { decode, Encoded } from '../utils/encoder.js';\nimport Node from '../Node.js';\n\n/**\n * @category oracle\n */\ntype OracleQueryNode = Awaited<ReturnType<Node['getOracleQueryByPubkeyAndQueryId']>>;\n\n/**\n * @category oracle\n */\nexport interface OracleQuery extends OracleQueryNode {\n  // TODO: type should be corrected in node api\n  id: Encoded.OracleQueryId;\n  decodedQuery: string;\n  decodedResponse: string;\n}\n\nfunction decodeQuery(queryEntry: OracleQueryNode): OracleQuery {\n  return {\n    ...queryEntry,\n    id: queryEntry.id as Encoded.OracleQueryId,\n    decodedQuery: decode(queryEntry.query as Encoded.OracleQuery).toString(),\n    decodedResponse: decode(queryEntry.response as Encoded.OracleResponse).toString(),\n  };\n}\n\n/**\n * This class is needed because `getOracleQuery` would return different values depending on the\n * oracle type.\n * @category oracle\n */\nexport default class OracleBase {\n  /**\n   * @param address - Oracle public key\n   */\n  constructor(\n    public readonly address: Encoded.OracleAddress,\n    public options: { onNode: Node },\n  ) {}\n\n  /**\n   * Get oracle entry from the node\n   * @param options - Options object\n   */\n  async getState(options: { onNode?: Node } = {}): ReturnType<Node['getOracleByPubkey']> {\n    const opt = { ...this.options, ...options };\n    return opt.onNode.getOracleByPubkey(this.address);\n  }\n\n  /**\n   * Get oracle queries from the node\n   * @param options - Options object\n   */\n  async getQueries(options: { onNode?: Node } = {}): Promise<OracleQuery[]> {\n    const opt = { ...this.options, ...options };\n    return (await opt.onNode.getOracleQueriesByPubkey(this.address)).oracleQueries.map(decodeQuery);\n  }\n\n  /**\n   * Get oracle query entry from the node\n   * @param queryId - Oracle query ID\n   * @param options - Options object\n   */\n  async getQuery(\n    queryId: Encoded.OracleQueryId,\n    options: { onNode?: Node } = {},\n  ): Promise<OracleQuery> {\n    const { onNode } = { ...this.options, ...options };\n    const queryEntry = await onNode.getOracleQueryByPubkeyAndQueryId(this.address, queryId);\n    return decodeQuery(queryEntry);\n  }\n}\n","import { buildTxAsync, BuildTxOptions } from '../tx/builder/index.js';\nimport { Tag } from '../tx/builder/constants.js';\nimport { LogicError, UnexpectedTsError } from '../utils/errors.js';\nimport { decode, encode, Encoded, Encoding } from '../utils/encoder.js';\nimport { _getPollInterval } from '../chain.js';\nimport { sendTransaction, SendTransactionOptions } from '../send-transaction.js';\nimport Node from '../Node.js';\nimport AccountBase from '../account/Base.js';\nimport OracleBase, { OracleQuery } from './OracleBase.js';\n\n/**\n * @category oracle\n */\ninterface OracleRegisterOptions\n  extends BuildTxOptions<Tag.OracleRegisterTx, 'accountId' | 'queryFormat' | 'responseFormat'>,\n    Omit<SendTransactionOptions, 'onNode' | 'onAccount'> {}\n\n/**\n * @category oracle\n */\ninterface OracleExtendTtlOptions\n  extends BuildTxOptions<Tag.OracleExtendTx, 'callerId' | 'oracleId'>,\n    Omit<SendTransactionOptions, 'onNode' | 'onAccount'> {}\n\n/**\n * @category oracle\n */\ninterface OracleRespondToQueryOptions\n  extends BuildTxOptions<Tag.OracleRespondTx, 'callerId' | 'oracleId' | 'queryId' | 'response'>,\n    Omit<SendTransactionOptions, 'onNode' | 'onAccount'> {}\n\n/**\n * @category oracle\n */\nexport default class Oracle extends OracleBase {\n  /**\n   * @param account - Account to use as oracle\n   * @param options - Options object\n   */\n  constructor(\n    public readonly account: AccountBase,\n    public override options: OracleRegisterOptions &\n      OracleExtendTtlOptions &\n      Parameters<Oracle['handleQueries']>[1] & { onNode: Node },\n  ) {\n    super(encode(decode(account.address), Encoding.OracleAddress), options);\n  }\n\n  // TODO: support abiVersion other than 0\n  /**\n   * Register oracle\n   * @param queryFormat - Format of query\n   * @param responseFormat - Format of query response\n   * @param options - Options object\n   */\n  async register(\n    queryFormat: string,\n    responseFormat: string,\n    options: OracleRegisterOptions = {},\n  ): ReturnType<typeof sendTransaction> {\n    const opt = { ...this.options, ...options };\n    const oracleRegisterTx = await buildTxAsync({\n      _isInternalBuild: true,\n      ...opt,\n      tag: Tag.OracleRegisterTx,\n      accountId: this.account.address,\n      queryFormat,\n      responseFormat,\n    });\n    return sendTransaction(oracleRegisterTx, { ...opt, onAccount: this.account });\n  }\n\n  /**\n   * Extend oracle ttl\n   * @param options - Options object\n   */\n  async extendTtl(options: OracleExtendTtlOptions = {}): ReturnType<typeof sendTransaction> {\n    const opt = { ...this.options, ...options };\n    const oracleExtendTx = await buildTxAsync({\n      _isInternalBuild: true,\n      ...opt,\n      tag: Tag.OracleExtendTx,\n      oracleId: this.address,\n    });\n    return sendTransaction(oracleExtendTx, { ...opt, onAccount: this.account });\n  }\n\n  /**\n   * Poll for oracle queries\n   * @param onQuery - OnQuery callback\n   * @param options - Options object\n   * @param options.interval - Poll interval (default: 5000)\n   * @returns Callback to stop polling function\n   */\n  pollQueries(\n    onQuery: (query: OracleQuery) => void,\n    options: { interval?: number; includeResponded?: boolean } & Partial<\n      Parameters<typeof _getPollInterval>[1]\n    > = {},\n  ): () => void {\n    const opt = { ...this.options, ...options };\n    const knownQueryIds = new Set();\n\n    let isChecking = false;\n    const checkNewQueries = async (): Promise<void> => {\n      if (isChecking) return;\n      isChecking = true;\n      const filtered = (await this.getQueries(opt))\n        .filter(({ id }) => !knownQueryIds.has(id))\n        .filter((query) => options.includeResponded === true || query.decodedResponse === '');\n      filtered.forEach((query) => knownQueryIds.add(query.id));\n      isChecking = false;\n      await Promise.all(filtered.map((query) => onQuery(query)));\n    };\n\n    checkNewQueries();\n    const idPromise = (async () => {\n      const interval = opt.interval ?? (await _getPollInterval('micro-block', opt));\n      return setInterval(async () => checkNewQueries(), interval);\n    })();\n\n    return async () => {\n      const id = await idPromise;\n      clearInterval(id);\n    };\n  }\n\n  /**\n   * Respond to a query\n   * @param queryId - Oracle query id\n   * @param response - The response to query\n   * @param options - Options object\n   */\n  async respondToQuery(\n    queryId: Encoded.OracleQueryId,\n    response: string,\n    options: OracleRespondToQueryOptions = {},\n  ): ReturnType<typeof sendTransaction> {\n    const opt = { ...this.options, ...options };\n    const oracleRespondTx = await buildTxAsync({\n      _isInternalBuild: true,\n      ...opt,\n      tag: Tag.OracleRespondTx,\n      oracleId: this.address,\n      queryId,\n      response,\n    });\n    return sendTransaction(oracleRespondTx, { ...opt, onAccount: this.account });\n  }\n\n  #handleQueriesPromise?: Promise<void>;\n\n  /**\n   * Respond to queries to oracle based on callback value\n   * @param getResponse - Callback to respond on query\n   * @param options - Options object\n   * @param options.interval - Poll interval (default: 5000)\n   * @returns Callback to stop polling function\n   */\n  handleQueries(\n    getResponse: (q: OracleQuery) => Promise<string> | string,\n    options: Parameters<Oracle['pollQueries']>[1] & OracleRespondToQueryOptions = {},\n  ): () => void {\n    if (this.#handleQueriesPromise != null) {\n      throw new LogicError(\n        'Another query handler already running, it needs to be stopped to run a new one',\n      );\n    }\n    const opt = { ...this.options, ...options };\n\n    let queuePromise = Promise.resolve();\n    const handler = async (q: OracleQuery): Promise<void> => {\n      const response = await getResponse(q);\n      const respondPromise = queuePromise.then(async () =>\n        this.respondToQuery(q.id, response, opt),\n      );\n      queuePromise = respondPromise.then(\n        () => {},\n        () => {},\n      );\n      await respondPromise;\n    };\n\n    this.#handleQueriesPromise = Promise.resolve();\n    const stopPoll = this.pollQueries(async (query: OracleQuery) => {\n      const promise = handler(query);\n      if (this.#handleQueriesPromise == null) throw new UnexpectedTsError();\n      this.#handleQueriesPromise = this.#handleQueriesPromise\n        .then(async () => promise)\n        .then(\n          () => {},\n          () => {},\n        );\n      return promise;\n    }, opt);\n\n    return async () => {\n      stopPoll();\n      await this.#handleQueriesPromise;\n      this.#handleQueriesPromise = undefined;\n    };\n  }\n}\n","import { pause, Optional } from '../utils/other.js';\nimport { oracleQueryId } from '../tx/builder/helpers.js';\nimport { unpackTx, buildTxAsync, BuildTxOptions } from '../tx/builder/index.js';\nimport { Tag } from '../tx/builder/constants.js';\nimport { RequestTimedOutError } from '../utils/errors.js';\nimport { decode, Encoded } from '../utils/encoder.js';\nimport { _getPollInterval, getHeight } from '../chain.js';\nimport { sendTransaction } from '../send-transaction.js';\nimport Node from '../Node.js';\nimport AccountBase from '../account/Base.js';\nimport OracleBase from './OracleBase.js';\n\n/**\n * @category oracle\n */\ninterface OracleClientPostQueryOptions\n  extends Optional<Parameters<typeof sendTransaction>[1], 'onNode' | 'onAccount'>,\n    BuildTxOptions<Tag.OracleQueryTx, 'oracleId' | 'senderId' | 'query'> {}\n\n/**\n * @category oracle\n */\nexport default class OracleClient extends OracleBase {\n  /**\n   * @param address - Oracle public key\n   * @param options - Options object\n   * @param options.onAccount - Account to use\n   * @param options.onNode - Node to use\n   */\n  constructor(\n    address: Encoded.OracleAddress,\n    public override options: { onAccount: AccountBase; onNode: Node } & Parameters<\n      OracleClient['query']\n    >[1],\n  ) {\n    super(address, options);\n  }\n\n  /**\n   * Post query to oracle\n   * @param query - Query to oracle\n   * @param options - Options object\n   * @returns Transaction details and query ID\n   */\n  async postQuery(\n    query: string,\n    options: OracleClientPostQueryOptions = {},\n  ): Promise<Awaited<ReturnType<typeof sendTransaction>> & { queryId: Encoded.OracleQueryId }> {\n    const opt = { ...this.options, ...options };\n    const senderId = opt.onAccount.address;\n\n    const oracleQueryTx = await buildTxAsync({\n      _isInternalBuild: true,\n      ...opt,\n      tag: Tag.OracleQueryTx,\n      oracleId: this.address,\n      senderId,\n      query,\n    });\n    const { nonce } = unpackTx(oracleQueryTx, Tag.OracleQueryTx);\n    return {\n      ...(await sendTransaction(oracleQueryTx, opt)),\n      queryId: oracleQueryId(senderId, nonce, this.address),\n    };\n  }\n\n  /**\n   * Poll for oracle response to query\n   * @param queryId - Oracle Query id\n   * @param options - Options object\n   * @param options.interval - Poll interval\n   * @returns Oracle response\n   */\n  async pollForResponse(\n    queryId: Encoded.OracleQueryId,\n    options: { interval?: number } & Partial<Parameters<typeof _getPollInterval>[1]> = {},\n  ): Promise<string> {\n    const opt = { ...this.options, ...options };\n    const interval = opt.interval ?? (await _getPollInterval('micro-block', opt));\n    let height;\n    let ttl;\n    let response;\n    do {\n      ({ response, ttl } = await this.getQuery(queryId, opt));\n      const responseBuffer = decode(response as Encoded.OracleResponse);\n      if (responseBuffer.length > 0) return responseBuffer.toString();\n      await pause(interval);\n      height = await getHeight({ ...opt, cached: true });\n    } while (ttl >= height);\n    throw new RequestTimedOutError(height);\n  }\n\n  /**\n   * Post query to oracle and wait for response\n   * @param query - Query to oracle\n   * @param options - Options object\n   * @returns Oracle response\n   */\n  async query(\n    query: string,\n    options: OracleClientPostQueryOptions & Parameters<OracleClient['pollForResponse']>[1] = {},\n  ): Promise<string> {\n    const { queryId } = await this.postQuery(query, options);\n    return this.pollForResponse(queryId, options);\n  }\n}\n","import BigNumber from 'bignumber.js';\nimport { getBalance, resolveName } from './chain.js';\nimport { sendTransaction, SendTransactionOptions } from './send-transaction.js';\nimport { buildTxAsync, BuildTxOptions, unpackTx } from './tx/builder/index.js';\nimport { ArgumentError } from './utils/errors.js';\nimport { Encoded } from './utils/encoder.js';\nimport { Tag, AensName } from './tx/builder/constants.js';\n\n// TODO: name verify should not overlap with transaction verify\ntype ResolveNameOptions = Omit<Parameters<typeof resolveName>[2], 'onNode' | 'verify'>;\n\n/**\n * Send coins to another account\n * @category chain\n * @param amount - Amount to spend\n * @param recipientIdOrName - Address or name of recipient account\n * @param options - Options\n * @returns Transaction\n */\nexport async function spend(\n  amount: number | string,\n  recipientIdOrName: Encoded.AccountAddress | Encoded.ContractAddress | AensName,\n  options: SpendOptions,\n): ReturnType<typeof sendTransaction> {\n  return sendTransaction(\n    await buildTxAsync({\n      _isInternalBuild: true,\n      ...options,\n      tag: Tag.SpendTx,\n      senderId: options.onAccount.address,\n      recipientId: await resolveName(recipientIdOrName, 'account_pubkey', options),\n      amount,\n    }),\n    options,\n  );\n}\n\ntype SpendOptionsType = BuildTxOptions<\n  Tag.SpendTx,\n  'senderId' | 'recipientId' | 'amount' | 'onNode'\n> &\n  ResolveNameOptions &\n  SendTransactionOptions;\ninterface SpendOptions extends SpendOptionsType {}\n\n// TODO: Rename to spendFraction\n/**\n * Spend a fraction of coin balance to another account. Useful if needed to drain account balance\n * completely, sending funds to another account (with fraction set to 1).\n * @category chain\n * @param fraction - Fraction of balance to spend (between 0 and 1)\n * @param recipientIdOrName - Address or name of recipient account\n * @param options - Options\n * @example\n * ```js\n * // `fraction` * 100 = % of AE to be transferred (e.g. `0.42` for 42% or `1` for 100%)\n * const { blockHeight } = await aeSdk.transferFunds(\n *   0.42,\n *   'ak_21A27UVVt3hDkBE5J7rhhqnH5YNb4Y1dqo4PnSybrH85pnWo7E',\n * );\n * console.log('Transaction mined at', blockHeight);\n * ```\n */\nexport async function transferFunds(\n  fraction: number | string, // TODO: accept only number\n  recipientIdOrName: AensName | Encoded.AccountAddress | Encoded.ContractAddress,\n  options: TransferFundsOptions,\n): ReturnType<typeof sendTransaction> {\n  if (+fraction < 0 || +fraction > 1) {\n    throw new ArgumentError('fraction', 'a number between 0 and 1', fraction);\n  }\n  const recipientId = await resolveName(recipientIdOrName, 'account_pubkey', options);\n  const senderId = options.onAccount.address;\n  const balance = new BigNumber(await getBalance.bind(options.onAccount)(senderId, options));\n  const desiredAmount = balance.times(fraction).integerValue(BigNumber.ROUND_HALF_UP);\n  const { fee } = unpackTx(\n    await buildTxAsync({\n      _isInternalBuild: true,\n      ...options,\n      tag: Tag.SpendTx,\n      senderId,\n      recipientId,\n      amount: desiredAmount,\n    }),\n    Tag.SpendTx,\n  );\n  // Reducing of the amount may reduce transaction fee, so this is not completely accurate\n  const amount = desiredAmount.plus(fee).gt(balance) ? balance.minus(fee) : desiredAmount;\n  return sendTransaction(\n    await buildTxAsync({\n      _isInternalBuild: true,\n      ...options,\n      tag: Tag.SpendTx,\n      senderId,\n      recipientId,\n      amount,\n    }),\n    options,\n  );\n}\n\ntype TransferFundsOptionsType = BuildTxOptions<\n  Tag.SpendTx,\n  'senderId' | 'recipientId' | 'amount' | 'onNode'\n> &\n  ResolveNameOptions &\n  SendTransactionOptions;\ninterface TransferFundsOptions extends TransferFundsOptionsType {}\n\n/**\n * Submit transaction of another account paying for it (fee and gas)\n * @category chain\n * @param transaction - tx_<base64>-encoded transaction\n * @param options - Options\n * @returns Object Transaction\n */\nexport async function payForTransaction(\n  transaction: Encoded.Transaction,\n  options: PayForTransactionOptions,\n): ReturnType<typeof sendTransaction> {\n  return sendTransaction(\n    await buildTxAsync({\n      _isInternalBuild: true,\n      ...options,\n      tag: Tag.PayingForTx,\n      payerId: options.onAccount.address,\n      tx: transaction,\n    }),\n    options,\n  );\n}\n\ninterface PayForTransactionOptions\n  extends BuildTxOptions<Tag.PayingForTx, 'payerId' | 'tx' | 'onNode'>,\n    SendTransactionOptions {}\n","/**\n * Generalized Account module - routines to use generalized account\n */\n\nimport { ConsensusProtocolVersion, Int, Tag } from '../tx/builder/constants.js';\nimport {\n  buildContractIdByContractTx,\n  buildTx,\n  buildTxAsync,\n  BuildTxOptions,\n  unpackTx,\n} from '../tx/builder/index.js';\nimport { hash } from '../utils/crypto.js';\nimport { decode, encode, Encoded, Encoding } from '../utils/encoder.js';\nimport { ArgumentError, IllegalArgumentError } from '../utils/errors.js';\nimport { concatBuffers } from '../utils/other.js';\nimport Contract from './Contract.js';\nimport Node from '../Node.js';\nimport { getAccount } from '../chain.js';\nimport { sendTransaction, SendTransactionOptions } from '../send-transaction.js';\nimport CompilerBase from './compiler/Base.js';\nimport { packEntry } from '../tx/builder/entry/index.js';\nimport { EntryTag } from '../tx/builder/entry/constants.js';\n\n/**\n * Convert current account to GA\n * @category account generalized\n * @param authFnName - Authorization function name\n * @param args - init arguments\n * @param options - Options\n * @returns General Account Object\n */\nexport async function createGeneralizedAccount(\n  authFnName: string,\n  args: any[],\n  {\n    onAccount,\n    onCompiler,\n    onNode,\n    bytecode,\n    aci,\n    sourceCodePath,\n    sourceCode,\n    fileSystem,\n    ...options\n  }: CreateGeneralizedAccountOptions,\n): Promise<\n  Readonly<{\n    owner: Encoded.AccountAddress;\n    transaction: Encoded.TxHash;\n    rawTx: Encoded.Transaction;\n    gaContractId: Encoded.ContractAddress;\n  }>\n> {\n  const ownerId = onAccount.address;\n  if ((await getAccount(ownerId, { onNode })).kind === 'generalized') {\n    throw new IllegalArgumentError(`Account ${ownerId} is already GA`);\n  }\n\n  const contract = await Contract.initialize<{ init: (...a: any[]) => void }>({\n    onAccount,\n    onCompiler,\n    onNode,\n    bytecode,\n    aci,\n    sourceCodePath,\n    sourceCode,\n    fileSystem,\n  });\n\n  const tx = await buildTxAsync({\n    _isInternalBuild: true,\n    ...options,\n    tag: Tag.GaAttachTx,\n    onNode,\n    code: await contract.$compile(),\n    gasLimit: options.gasLimit ?? (await contract._estimateGas('init', args, options)),\n    ownerId,\n    callData: contract._calldata.encode(contract._name, 'init', args),\n    authFun: hash(authFnName),\n  });\n  const { hash: transaction, rawTx } = await sendTransaction(tx, {\n    onNode,\n    onAccount,\n    onCompiler,\n    ...options,\n  });\n  const contractId = buildContractIdByContractTx(rawTx);\n\n  return Object.freeze({\n    owner: ownerId,\n    transaction,\n    rawTx,\n    gaContractId: contractId,\n  });\n}\n\ninterface CreateGeneralizedAccountOptions\n  extends BuildTxOptions<\n      Tag.GaAttachTx,\n      'authFun' | 'callData' | 'code' | 'ownerId' | 'gasLimit' | 'onNode'\n    >,\n    SendTransactionOptions,\n    Pick<\n      Parameters<typeof Contract.initialize>[0],\n      'bytecode' | 'aci' | 'sourceCodePath' | 'sourceCode' | 'fileSystem'\n    > {\n  onCompiler: CompilerBase;\n  gasLimit?: number;\n}\n\n/**\n * Build a transaction hash the same as `Auth.tx_hash` by GaMetaTx payload\n * @category account generalized\n * @param transaction - tx-encoded transaction\n * @param options - Options\n * @param options.fee - GaMetaTx fee, required in Ceres\n * @param options.gasPrice - GaMetaTx gasPrice, required in Ceres\n * @param options.onNode - Node to use\n * @returns Transaction hash\n */\nexport async function buildAuthTxHash(\n  transaction: Encoded.Transaction,\n  { fee, gasPrice, onNode }: { fee?: Int; gasPrice?: Int; onNode: Node },\n): Promise<Buffer> {\n  const { nodeNetworkId, consensusProtocolVersion } = await onNode.getNodeInfo();\n  let payload = hash(concatBuffers([Buffer.from(nodeNetworkId), decode(transaction)]));\n  if (consensusProtocolVersion === ConsensusProtocolVersion.Ceres) {\n    if (fee == null) throw new ArgumentError('fee', 'provided (in Ceres)', fee);\n    if (gasPrice == null) throw new ArgumentError('gasPrice', 'provided (in Ceres)', gasPrice);\n    payload = hash(\n      decode(\n        packEntry({\n          tag: EntryTag.GaMetaTxAuthData,\n          fee,\n          gasPrice,\n          txHash: encode(payload, Encoding.TxHash),\n        }),\n      ),\n    );\n  }\n  return payload;\n}\n\n/**\n * Build a transaction hash the same as `Auth.tx_hash` by GaMetaTx\n * @category account generalized\n * @param transaction - tx-encoded signed GaMeta transaction\n * @param options - Options\n * @param options.onNode - Node to use\n * @returns Transaction hash\n */\nexport async function buildAuthTxHashByGaMetaTx(\n  transaction: Encoded.Transaction,\n  { onNode }: { onNode: Node },\n): Promise<Buffer> {\n  const txParams = unpackTx(transaction, Tag.SignedTx);\n  if (txParams.encodedTx.tag !== Tag.GaMetaTx) {\n    throw new ArgumentError('transaction', 'to include GaMetaTx', Tag[txParams.encodedTx.tag]);\n  }\n  return buildAuthTxHash(buildTx(txParams.encodedTx.tx.encodedTx), {\n    fee: txParams.encodedTx.fee,\n    gasPrice: txParams.encodedTx.gasPrice,\n    onNode,\n  });\n}\n","import _Symbol from \"core-js-pure/features/symbol/index.js\";\nimport _Symbol$iterator from \"core-js-pure/features/symbol/iterator.js\";\nfunction _typeof(o) {\n  \"@babel/helpers - typeof\";\n\n  return _typeof = \"function\" == typeof _Symbol && \"symbol\" == typeof _Symbol$iterator ? function (o) {\n    return typeof o;\n  } : function (o) {\n    return o && \"function\" == typeof _Symbol && o.constructor === _Symbol && o !== _Symbol.prototype ? \"symbol\" : typeof o;\n  }, _typeof(o);\n}\nexport { _typeof as default };","import _Object$defineProperty from \"core-js-pure/features/object/define-property.js\";\nimport toPropertyKey from \"./toPropertyKey.js\";\nfunction _defineProperty(e, r, t) {\n  return (r = toPropertyKey(r)) in e ? _Object$defineProperty(e, r, {\n    value: t,\n    enumerable: !0,\n    configurable: !0,\n    writable: !0\n  }) : e[r] = t, e;\n}\nexport { _defineProperty as default };","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nfunction toPropertyKey(t) {\n  var i = toPrimitive(t, \"string\");\n  return \"symbol\" == _typeof(i) ? i : i + \"\";\n}\nexport { toPropertyKey as default };","import _typeof from \"./typeof.js\";\nimport _Symbol$toPrimitive from \"core-js-pure/features/symbol/to-primitive.js\";\nfunction toPrimitive(t, r) {\n  if (\"object\" != _typeof(t) || !t) return t;\n  var e = t[_Symbol$toPrimitive];\n  if (void 0 !== e) {\n    var i = e.call(t, r || \"default\");\n    if (\"object\" != _typeof(i)) return i;\n    throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n  }\n  return (\"string\" === r ? String : Number)(t);\n}\nexport { toPrimitive as default };","import * as chainMethods from './chain.js';\nimport { sendTransaction } from './send-transaction.js';\nimport * as spendMethods from './spend.js';\nimport * as contractGaMethods from './contract/ga.js';\nimport { buildTxAsync } from './tx/builder/index.js';\nimport { mapObject, UnionToIntersection } from './utils/other.js';\nimport { wrapWithProxy } from './utils/wrap-proxy.js';\nimport Node from './Node.js';\nimport { TxParamsAsync } from './tx/builder/schema.generated.js';\nimport AccountBase from './account/Base.js';\nimport { Encoded } from './utils/encoder.js';\nimport CompilerBase from './contract/compiler/Base.js';\n\nexport type OnAccount = Encoded.AccountAddress | AccountBase | undefined;\n\nconst methods = {\n  ...chainMethods,\n  sendTransaction,\n  ...spendMethods,\n  ...contractGaMethods,\n} as const;\n\ntype Decrement<Number extends number> = [-1, 0, 1, 2, 3, 4, 5][Number];\ntype GetMethodsOptions<Methods extends { [key: string]: Function }> = {\n  [Name in keyof Methods]: Methods[Name] extends (...args: infer Args) => any\n    ? Args[Decrement<Args['length']>]\n    : never;\n};\ntype MethodsOptions = GetMethodsOptions<typeof methods>;\nexport interface AeSdkMethodsOptions\n  extends Partial<UnionToIntersection<MethodsOptions[keyof MethodsOptions]>> {}\n\nexport interface WrappedOptions {\n  onAccount: AccountBase;\n  onCompiler: CompilerBase;\n  onNode: Node;\n}\n\n/**\n * AeSdkMethods is the composition of:\n * - chain methods\n * - tx methods\n * - aens methods\n * - spend methods\n * - oracle methods\n * - contract methods\n * - contract ga methods\n *\n * While these methods can be used separately, this class provides a handy way to store\n * their context (current account, network, and compiler to use).\n */\nclass AeSdkMethods {\n  _options: AeSdkMethodsOptions = {};\n\n  readonly #wrappedOptions: WrappedOptions;\n\n  /**\n   * @param options - Options\n   */\n  constructor(options: AeSdkMethodsOptions = {}) {\n    Object.assign(this._options, options);\n    this.#wrappedOptions = {\n      onAccount: wrapWithProxy(() => this._options.onAccount),\n      onNode: wrapWithProxy(() => this._options.onNode),\n      onCompiler: wrapWithProxy(() => this._options.onCompiler),\n    };\n  }\n\n  /**\n   * Returns sdk instance options with references to current account, node, compiler.\n   * Used to create an instance (Contract, Oracle) bound to AeSdk state.\n   * @param mergeWith - Merge context with these extra options\n   * @returns Context object\n   */\n  getContext(mergeWith: AeSdkMethodsOptions = {}): AeSdkMethodsOptions & WrappedOptions {\n    return {\n      ...this._options,\n      ...this.#wrappedOptions,\n      ...mergeWith,\n    };\n  }\n\n  // TODO: omit onNode from options, because it is already in context\n  async buildTx(options: TxParamsAsync): Promise<Encoded.Transaction> {\n    // TODO: remove `any` at the same time as AeSdk class\n    return buildTxAsync({ ...(this.getContext() as any), ...options });\n  }\n}\n\ntype RequiredKeys<T> = {\n  [K in keyof T]-?: {} extends Pick<T, K> ? never : K;\n}[keyof T];\n\ntype OptionalIfNotRequired<T extends [any]> = RequiredKeys<T[0]> extends never ? T | [] : T;\n\ntype ReplaceOnAccount<Options> = Options extends { onAccount: any }\n  ? Omit<Options, 'onAccount'> & {\n      /**\n       * Make operation on specific account by providing address (to use account from sdk) or instance\n       * of AccountBase (like AccountMemory)\n       */\n      onAccount: OnAccount;\n    }\n  : Options;\n\ntype MakeOptional<Options> = OptionalIfNotRequired<\n  [Omit<Options, 'onNode' | 'onCompiler' | 'onAccount'> & Partial<ReplaceOnAccount<Options>>]\n>;\n\ntype TransformMethods<Methods extends { [key: string]: Function }> = {\n  [Name in keyof Methods]: Methods[Name] extends (\n    ...args: [...infer Args, infer Options]\n  ) => infer Ret\n    ? (...args: [...Args, ...MakeOptional<Options>]) => Ret\n    : never;\n};\n\ninterface AeSdkMethodsTransformed extends TransformMethods<typeof methods> {}\n\nObject.assign(\n  AeSdkMethods.prototype,\n  mapObject<Function, Function>(methods, ([name, handler]) => [\n    name,\n    function methodWrapper(this: AeSdkMethods, ...args: any[]) {\n      args.length = handler.length;\n      const options = args[args.length - 1];\n      args[args.length - 1] = this.getContext(options);\n      return handler(...args);\n    },\n  ]),\n);\n\ntype AeSdkMethodsTyped = AeSdkMethods & AeSdkMethodsTransformed;\n// eslint-disable-next-line @typescript-eslint/no-redeclare\nconst AeSdkMethodsTyped = AeSdkMethods as new (options?: AeSdkMethodsOptions) => AeSdkMethodsTyped;\nexport default AeSdkMethodsTyped;\n","import Node from './Node.js';\nimport AccountBase from './account/Base.js';\nimport {\n  CompilerError,\n  DuplicateNodeError,\n  NodeNotFoundError,\n  NotImplementedError,\n  TypeError,\n} from './utils/errors.js';\nimport { Encoded } from './utils/encoder.js';\nimport { wrapWithProxy } from './utils/wrap-proxy.js';\nimport CompilerBase from './contract/compiler/Base.js';\nimport AeSdkMethods, { OnAccount, AeSdkMethodsOptions, WrappedOptions } from './AeSdkMethods.js';\n\ntype NodeInfo = Awaited<ReturnType<Node['getNodeInfo']>> & { name: string };\n\n/**\n * Basic AeSdk class implements:\n * - node selector,\n * - integrated compiler support,\n * - wrappers of account methods mapped to the current account.\n */\nexport default class AeSdkBase extends AeSdkMethods {\n  pool: Map<string, Node> = new Map();\n\n  selectedNodeName?: string;\n\n  readonly #wrappedOptions: WrappedOptions;\n\n  /**\n   * @param options - Options\n   * @param options.nodes - Array of nodes\n   */\n  constructor({\n    nodes = [],\n    ...options\n  }: AeSdkMethodsOptions & {\n    nodes?: Array<{ name: string; instance: Node }>;\n  } = {}) {\n    super(options);\n\n    nodes.forEach(({ name, instance }, i) => this.addNode(name, instance, i === 0));\n\n    this.#wrappedOptions = {\n      onNode: wrapWithProxy(() => this.api),\n      onCompiler: wrapWithProxy(() => this.compilerApi),\n      onAccount: wrapWithProxy(() => this._resolveAccount()),\n    };\n  }\n\n  // TODO: consider dropping this getter, because:\n  // compiler is not intended to be used separately any more (functionality limited to sdk needs)\n  // and user creates its instance by himself\n  get compilerApi(): CompilerBase {\n    if (this._options.onCompiler == null) {\n      throw new CompilerError(\"You can't use Compiler API. Compiler is not ready!\");\n    }\n    return this._options.onCompiler;\n  }\n\n  get api(): Node {\n    this.ensureNodeConnected();\n    return this.pool.get(this.selectedNodeName) as Node;\n  }\n\n  /**\n   * Add Node\n   * @param name - Node name\n   * @param node - Node instance\n   * @param select - Select this node as current\n   * @example\n   * ```js\n   * // add and select new node with name 'testNode'\n   * aeSdkBase.addNode('testNode', new Node({ url }), true)\n   * ```\n   */\n  addNode(name: string, node: Node, select = false): void {\n    if (this.pool.has(name)) throw new DuplicateNodeError(name);\n\n    this.pool.set(name, node);\n    if (select || this.selectedNodeName == null) {\n      this.selectNode(name);\n    }\n  }\n\n  /**\n   * Select Node\n   * @param name - Node name\n   * @example\n   * nodePool.selectNode('testNode')\n   */\n  selectNode(name: string): void {\n    if (!this.pool.has(name)) throw new NodeNotFoundError(`Node with name ${name} not in pool`);\n    this.selectedNodeName = name;\n  }\n\n  /**\n   * Check if you have selected node\n   * @example\n   * nodePool.isNodeConnected()\n   */\n  isNodeConnected(): this is AeSdkBase & { selectedNodeName: string } {\n    return this.selectedNodeName != null;\n  }\n\n  protected ensureNodeConnected(): asserts this is AeSdkBase & { selectedNodeName: string } {\n    if (!this.isNodeConnected()) {\n      throw new NodeNotFoundError(\"You can't use Node API. Node is not connected or not defined!\");\n    }\n  }\n\n  /**\n   * Get information about node\n   * @example\n   * ```js\n   * nodePool.getNodeInfo() // { name, version, networkId, protocol, ... }\n   * ```\n   */\n  async getNodeInfo(): Promise<NodeInfo> {\n    this.ensureNodeConnected();\n    return {\n      name: this.selectedNodeName,\n      ...(await this.api.getNodeInfo()),\n    };\n  }\n\n  /**\n   * Get array of available nodes\n   * @example\n   * nodePool.getNodesInPool()\n   */\n  async getNodesInPool(): Promise<NodeInfo[]> {\n    return Promise.all(\n      Array.from(this.pool.entries()).map(async ([name, node]) => ({\n        name,\n        ...(await node.getNodeInfo()),\n      })),\n    );\n  }\n\n  // eslint-disable-next-line class-methods-use-this\n  addresses(): Encoded.AccountAddress[] {\n    return [];\n  }\n\n  /**\n   * Resolves an account\n   * @param account - ak-address, instance of AccountBase, or keypair\n   */\n  _resolveAccount(account: OnAccount = this._options.onAccount): AccountBase {\n    if (typeof account === 'string') throw new NotImplementedError('Address in AccountResolver');\n    if (typeof account === 'object') return account;\n    throw new TypeError(\n      'Account should be an address (ak-prefixed string), ' +\n        `or instance of AccountBase, got ${String(account)} instead`,\n    );\n  }\n\n  get address(): Encoded.AccountAddress {\n    return this._resolveAccount().address;\n  }\n\n  /**\n   * Sign data blob\n   * @param data - Data to sign\n   * @param options - Options\n   * @deprecated Use `unsafeSign` method instead\n   */\n  async sign(\n    data: string | Uint8Array,\n    options: { onAccount?: OnAccount } = {},\n  ): Promise<Uint8Array> {\n    return this.unsafeSign(data, options);\n  }\n\n  /**\n   * Sign data blob\n   * @param data - Data to sign\n   * @param options - Options\n   */\n  async unsafeSign(\n    data: string | Uint8Array,\n    { onAccount, ...options }: { onAccount?: OnAccount } = {},\n  ): Promise<Uint8Array> {\n    return this._resolveAccount(onAccount).unsafeSign(data, options);\n  }\n\n  /**\n   * Sign encoded transaction\n   * @param tx - Transaction to sign\n   * @param options - Options\n   */\n  async signTransaction(\n    tx: Encoded.Transaction,\n    {\n      onAccount,\n      ...options\n    }: { onAccount?: OnAccount } & Parameters<AccountBase['signTransaction']>[1] = {},\n  ): Promise<Encoded.Transaction> {\n    const networkId = this.selectedNodeName !== null ? await this.api.getNetworkId() : undefined;\n    return this._resolveAccount(onAccount).signTransaction(tx, { networkId, ...options });\n  }\n\n  /**\n   * Sign message\n   * @param message - Message to sign\n   * @param options - Options\n   */\n  async signMessage(\n    message: string,\n    {\n      onAccount,\n      ...options\n    }: { onAccount?: OnAccount } & Parameters<AccountBase['signMessage']>[1] = {},\n  ): Promise<Uint8Array> {\n    return this._resolveAccount(onAccount).signMessage(message, options);\n  }\n\n  /**\n   * Sign typed data\n   * @param data - Encoded data to sign\n   * @param aci - Type of data to sign\n   * @param options - Options\n   */\n  async signTypedData(\n    data: Encoded.ContractBytearray,\n    aci: Parameters<AccountBase['signTypedData']>[1],\n    {\n      onAccount,\n      ...options\n    }: { onAccount?: OnAccount } & Parameters<AccountBase['signTypedData']>[2] = {},\n  ): Promise<Encoded.Signature> {\n    return this._resolveAccount(onAccount).signTypedData(data, aci, options);\n  }\n\n  /**\n   * Sign delegation, works only in Ceres\n   * @param delegation - Delegation to sign\n   * @param options - Options\n   */\n  async signDelegation(\n    delegation: Encoded.Bytearray,\n    {\n      onAccount,\n      ...options\n    }: { onAccount?: OnAccount } & Parameters<AccountBase['signDelegation']>[1] = {},\n  ): Promise<Encoded.Signature> {\n    options.networkId ??=\n      this.selectedNodeName !== null ? await this.api.getNetworkId() : undefined;\n    return this._resolveAccount(onAccount).signDelegation(delegation, options);\n  }\n\n  /**\n   * The same as AeSdkMethods:getContext, but it would resolve ak_-prefixed address in\n   * `mergeWith.onAccount` to AccountBase.\n   */\n  override getContext(mergeWith: AeSdkMethodsOptions = {}): AeSdkMethodsOptions & WrappedOptions {\n    return {\n      ...this._options,\n      ...this.#wrappedOptions,\n      ...mergeWith,\n      ...(mergeWith.onAccount != null && {\n        onAccount: this._resolveAccount(mergeWith.onAccount),\n      }),\n    };\n  }\n}\n","import AeSdkBase from './AeSdkBase.js';\nimport { OnAccount } from './AeSdkMethods.js';\nimport AccountBase from './account/Base.js';\nimport { decode, Encoded } from './utils/encoder.js';\nimport { UnavailableAccountError } from './utils/errors.js';\n\nexport default class AeSdk extends AeSdkBase {\n  accounts: { [key: Encoded.AccountAddress]: AccountBase } = {};\n\n  selectedAddress?: Encoded.AccountAddress;\n\n  /**\n   * @param options - Options\n   */\n  constructor({\n    accounts,\n    ...options\n  }: { accounts?: AccountBase[] } & ConstructorParameters<typeof AeSdkBase>[0] = {}) {\n    super(options);\n    accounts?.forEach((account, idx) => this.addAccount(account, { select: idx === 0 }));\n  }\n\n  override _resolveAccount(account: OnAccount = this.selectedAddress): AccountBase {\n    if (typeof account === 'string') {\n      const address = account as Encoded.AccountAddress;\n      decode(address);\n      if (this.accounts[address] == null) throw new UnavailableAccountError(account);\n      account = this.accounts[address];\n    }\n    return super._resolveAccount(account);\n  }\n\n  /**\n   * Get accounts addresses\n   * @example addresses()\n   */\n  override addresses(): Encoded.AccountAddress[] {\n    return Object.keys(this.accounts) as Encoded.AccountAddress[];\n  }\n\n  /**\n   * Add specific account\n   * @param account - Account instance\n   * @param options - Options\n   * @param options.select - Select account\n   * @example addAccount(account)\n   */\n  addAccount(account: AccountBase, { select }: { select?: boolean } = {}): void {\n    const { address } = account;\n    this.accounts[address] = account;\n    if (select === true) this.selectAccount(address);\n  }\n\n  /**\n   * Remove specific account\n   * @param address - Address of account to remove\n   * @example removeAccount(address)\n   */\n  removeAccount(address: Encoded.AccountAddress): void {\n    if (this.accounts[address] == null) throw new UnavailableAccountError(address);\n    delete this.accounts[address]; // eslint-disable-line @typescript-eslint/no-dynamic-delete\n    if (this.selectedAddress === address) delete this.selectedAddress;\n  }\n\n  /**\n   * Select specific account\n   * @param address - Address of account to select\n   * @example selectAccount('ak_xxxxxxxx')\n   */\n  selectAccount(address: Encoded.AccountAddress): void {\n    decode(address);\n    if (this.accounts[address] == null) throw new UnavailableAccountError(address);\n    this.selectedAddress = address;\n  }\n}\n","// eslint-disable-next-line max-classes-per-file\nimport { Encoded } from '../utils/encoder.js';\nimport { BaseError, InternalError } from '../utils/errors.js';\n\n/**\n * @category aepp wallet communication\n */\nexport const enum MESSAGE_DIRECTION {\n  to_waellet = 'to_waellet',\n  to_aepp = 'to_aepp',\n}\n\n/**\n * @category aepp wallet communication\n */\nexport const enum WALLET_TYPE {\n  window = 'window',\n  extension = 'extension',\n}\n\n/**\n * @category aepp wallet communication\n */\nexport const enum SUBSCRIPTION_TYPES {\n  subscribe = 'subscribe',\n  unsubscribe = 'unsubscribe',\n}\n\n/**\n * @category aepp wallet communication\n */\nexport const enum METHODS {\n  readyToConnect = 'connection.announcePresence',\n  updateAddress = 'address.update',\n  address = 'address.get',\n  connect = 'connection.open',\n  unsafeSign = 'data.unsafeSign',\n  sign = 'transaction.sign',\n  signMessage = 'message.sign',\n  signTypedData = 'typedData.sign',\n  signDelegation = 'delegation.sign',\n  subscribeAddress = 'address.subscribe',\n  updateNetwork = 'networkId.update',\n  closeConnection = 'connection.close',\n}\n\n/**\n * @category aepp wallet communication\n */\nexport const enum RPC_STATUS {\n  CONNECTED = 'CONNECTED',\n  DISCONNECTED = 'DISCONNECTED',\n  WAITING_FOR_CONNECTION_REQUEST = 'WAITING_FOR_CONNECTION_REQUEST',\n}\n\ninterface RpcErrorAsJson {\n  code: number;\n  message: string;\n  data?: any;\n}\n\nconst rpcErrors: Array<(new (data?: any) => RpcError) & { code: number }> = [];\n\n/**\n * @category exception\n */\nexport abstract class RpcError extends BaseError {\n  static code: number;\n\n  code!: number;\n\n  data?: any;\n\n  toJSON(): RpcErrorAsJson {\n    return {\n      code: this.code,\n      message: this.message,\n      data: this.data,\n    };\n  }\n\n  static deserialize(json: RpcErrorAsJson): RpcError {\n    const RpcErr = rpcErrors.find((cl) => cl.code === json.code);\n    if (RpcErr == null) throw new InternalError(`Can't find RpcError with code: ${json.code}`);\n    return new RpcErr(json.data);\n  }\n}\n\n/**\n * @category exception\n */\nexport class RpcInvalidTransactionError extends RpcError {\n  static override code = 2;\n\n  override code = 2;\n\n  constructor(data?: any) {\n    super('Invalid transaction');\n    this.data = data;\n    this.name = 'RpcInvalidTransactionError';\n  }\n}\nrpcErrors.push(RpcInvalidTransactionError);\n\n/**\n * @category exception\n */\nexport class RpcRejectedByUserError extends RpcError {\n  static override code = 4;\n\n  override code = 4;\n\n  constructor(data?: any) {\n    super('Operation rejected by user');\n    this.data = data;\n    this.name = 'RpcRejectedByUserError';\n  }\n}\nrpcErrors.push(RpcRejectedByUserError);\n\n/**\n * @category exception\n */\nexport class RpcUnsupportedProtocolError extends RpcError {\n  static override code = 5;\n\n  override code = 5;\n\n  constructor() {\n    super('Unsupported Protocol Version');\n    this.name = 'RpcUnsupportedProtocolError';\n  }\n}\nrpcErrors.push(RpcUnsupportedProtocolError);\n\n/**\n * @category exception\n */\nexport class RpcConnectionDenyError extends RpcError {\n  static override code = 9;\n\n  override code = 9;\n\n  constructor(data?: any) {\n    super('Wallet deny your connection request');\n    this.data = data;\n    this.name = 'RpcConnectionDenyError';\n  }\n}\nrpcErrors.push(RpcConnectionDenyError);\n\n/**\n * @category exception\n */\nexport class RpcNotAuthorizeError extends RpcError {\n  static override code = 10;\n\n  override code = 10;\n\n  constructor() {\n    super('You are not connected to the wallet');\n    this.name = 'RpcNotAuthorizeError';\n  }\n}\nrpcErrors.push(RpcNotAuthorizeError);\n\n/**\n * @category exception\n */\nexport class RpcPermissionDenyError extends RpcError {\n  static override code = 11;\n\n  override code = 11;\n\n  constructor(address: Encoded.AccountAddress) {\n    super(`You are not subscribed for account ${address}`);\n    this.data = address;\n    this.name = 'RpcPermissionDenyError';\n  }\n}\nrpcErrors.push(RpcPermissionDenyError);\n\n/**\n * @category exception\n */\nexport class RpcInternalError extends RpcError {\n  static override code = 12;\n\n  override code = 12;\n\n  constructor() {\n    super('The peer failed to execute your request due to unknown error');\n    this.name = 'RpcInternalError';\n  }\n}\nrpcErrors.push(RpcInternalError);\n\n/**\n * @category exception\n */\nexport class RpcNoNetworkById extends RpcError {\n  static override code = 13;\n\n  override code = 13;\n\n  constructor(networkId: string) {\n    super(`Wallet can't find a network by id \"${networkId}\"`);\n    this.data = networkId;\n    this.name = 'RpcNoNetworkById';\n  }\n}\nrpcErrors.push(RpcNoNetworkById);\n\n/**\n * @category exception\n */\nexport class RpcMethodNotFoundError extends RpcError {\n  static override code = -32601;\n\n  override code = -32601;\n\n  constructor() {\n    super('Method not found');\n    this.name = 'RpcMethodNotFoundError';\n  }\n}\nrpcErrors.push(RpcMethodNotFoundError);\n","import AccountBase from './Base.js';\nimport { METHODS } from '../aepp-wallet-communication/schema.js';\nimport { ArgumentError, UnsupportedProtocolError } from '../utils/errors.js';\nimport { Encoded, Encoding, decode, encode } from '../utils/encoder.js';\nimport RpcClient from '../aepp-wallet-communication/rpc/RpcClient.js';\nimport { AeppApi, WalletApi } from '../aepp-wallet-communication/rpc/types.js';\n\n/**\n * Account provided by wallet\n * @param params - Params\n * @param params.rpcClient - RpcClient instance\n * @param params.address - RPC account address\n * @returns AccountRpc instance\n * @category account\n */\nexport default class AccountRpc extends AccountBase {\n  _rpcClient: RpcClient<WalletApi, AeppApi>;\n\n  override readonly address: Encoded.AccountAddress;\n\n  constructor(rpcClient: RpcClient<WalletApi, AeppApi>, address: Encoded.AccountAddress) {\n    super();\n    this._rpcClient = rpcClient;\n    this.address = address;\n  }\n\n  /**\n   * @deprecated Use `unsafeSign` method instead\n   */\n  async sign(dataRaw: string | Uint8Array): Promise<Uint8Array> {\n    return this.unsafeSign(dataRaw);\n  }\n\n  async unsafeSign(dataRaw: string | Uint8Array): Promise<Uint8Array> {\n    const data = encode(Buffer.from(dataRaw), Encoding.Bytearray);\n    const { signature } = await this._rpcClient.request(METHODS.unsafeSign, {\n      onAccount: this.address,\n      data,\n    });\n    return decode(signature);\n  }\n\n  override async signTransaction(\n    tx: Encoded.Transaction,\n    { innerTx, networkId }: Parameters<AccountBase['signTransaction']>[1] = {},\n  ): Promise<Encoded.Transaction> {\n    if (networkId == null) throw new ArgumentError('networkId', 'provided', networkId);\n    const res = await this._rpcClient.request(METHODS.sign, {\n      onAccount: this.address,\n      tx,\n      returnSigned: true,\n      networkId,\n      innerTx,\n    });\n    if (res.signedTransaction == null) {\n      throw new UnsupportedProtocolError('signedTransaction is missed in wallet response');\n    }\n    return res.signedTransaction;\n  }\n\n  override async signMessage(message: string): Promise<Uint8Array> {\n    const { signature } = await this._rpcClient.request(METHODS.signMessage, {\n      onAccount: this.address,\n      message,\n    });\n    return Buffer.from(signature, 'hex');\n  }\n\n  override async signTypedData(\n    data: Encoded.ContractBytearray,\n    aci: Parameters<AccountBase['signTypedData']>[1],\n    { name, version, contractAddress, networkId }: Parameters<AccountBase['signTypedData']>[2] = {},\n  ): Promise<Encoded.Signature> {\n    const { signature } = await this._rpcClient.request(METHODS.signTypedData, {\n      onAccount: this.address,\n      domain: {\n        name,\n        version,\n        networkId,\n        contractAddress,\n      },\n      aci,\n      data,\n    });\n    return signature;\n  }\n\n  override async signDelegation(delegation: Encoded.Bytearray): Promise<Encoded.Signature> {\n    const { signature } = await this._rpcClient.request(METHODS.signDelegation, {\n      delegation,\n      onAccount: this.address,\n    });\n    return signature;\n  }\n}\n","import { RpcError, RpcInternalError, RpcMethodNotFoundError } from '../schema.js';\nimport BrowserConnection from '../connection/Browser.js';\nimport { InvalidRpcMessageError, MissingCallbackError } from '../../utils/errors.js';\nimport { ensureError } from '../../utils/other.js';\n\ninterface JsonRpcRequest {\n  jsonrpc: '2.0';\n  id: number;\n  method: string;\n  params?: any;\n}\n\ninterface JsonRpcResponse {\n  jsonrpc: '2.0';\n  id: number;\n  method: string;\n  result?: any;\n  error?: {\n    code: number;\n    message: string;\n    data?: any;\n  };\n}\n\ntype RpcApiHandler = (p?: any) => any | undefined;\ntype RpcApi<Api> = { [k in keyof Api]: RpcApiHandler };\ntype WithOrigin<Api extends RpcApi<Api>> = {\n  [k in keyof Api]: (p: Parameters<Api[k]>[0], origin: string) => ReturnType<Api[k]>;\n};\n\n/**\n * Contain functionality for using RPC conection\n * @category aepp wallet communication\n * @param connection - Connection object\n * @param onDisconnect - Disconnect callback\n * @param methods - Object containing handlers for each request by name\n */\nexport default class RpcClient<\n  RemoteApi extends RpcApi<RemoteApi>,\n  LocalApi extends RpcApi<LocalApi>,\n> {\n  connection: BrowserConnection;\n\n  readonly #callbacks = new Map<\n    number,\n    { resolve: (v: any) => void; reject: (e: Error) => void }\n  >();\n\n  #messageId = 0;\n\n  readonly #methods: WithOrigin<LocalApi>;\n\n  constructor(\n    connection: BrowserConnection,\n    onDisconnect: () => void,\n    methods: WithOrigin<LocalApi>,\n  ) {\n    this.connection = connection;\n    this.#methods = methods;\n    connection.connect(this.#handleMessage.bind(this), onDisconnect);\n  }\n\n  async #handleMessage(msg: JsonRpcRequest | JsonRpcResponse, origin: string): Promise<void> {\n    if (msg?.jsonrpc !== '2.0') throw new InvalidRpcMessageError(JSON.stringify(msg));\n    if ('result' in msg || 'error' in msg) {\n      this.#processResponse(msg);\n      return;\n    }\n\n    const request = msg as JsonRpcRequest;\n    let result;\n    let error: Error | undefined;\n    try {\n      if (!(request.method in this.#methods)) throw new RpcMethodNotFoundError();\n      const methodName = request.method as keyof LocalApi;\n      result = await this.#methods[methodName](request.params, origin);\n    } catch (e) {\n      ensureError(e);\n      error = e;\n    }\n    if (request.id != null) {\n      this.#sendResponse(\n        request.id,\n        request.method as keyof LocalApi,\n        result,\n        error == null || error instanceof RpcError ? error : new RpcInternalError(),\n      );\n    }\n    if (error != null && !(error instanceof RpcError)) throw error;\n  }\n\n  #sendRequest(\n    id: number | undefined,\n    method: keyof RemoteApi | keyof LocalApi,\n    params?: any,\n  ): void {\n    this.connection.sendMessage({\n      jsonrpc: '2.0',\n      ...(id != null ? { id } : {}),\n      method,\n      ...(params != null ? { params } : {}),\n    });\n  }\n\n  #sendResponse(\n    id: number,\n    method: keyof RemoteApi | keyof LocalApi, // TODO: remove as far it is not required in JSON RPC\n    result?: any,\n    error?: RpcError,\n  ): void {\n    this.connection.sendMessage({\n      jsonrpc: '2.0',\n      id,\n      method,\n      ...(error != null ? { error: error.toJSON() } : { result }),\n    });\n  }\n\n  /**\n   * Make a request\n   * @param name - Method name\n   * @param params - Method params\n   * @returns Promise which will be resolved after receiving response message\n   */\n  async request<Name extends keyof RemoteApi>(\n    name: Name,\n    params: Parameters<RemoteApi[Name]>[0],\n  ): Promise<ReturnType<RemoteApi[Name]>> {\n    this.#sendRequest((this.#messageId += 1), name, params);\n    return new Promise((resolve, reject) => {\n      this.#callbacks.set(this.#messageId, { resolve, reject });\n    });\n  }\n\n  /**\n   * Make a notification\n   * @param name - Method name\n   * @param params - Method params\n   */\n  notify<Name extends keyof RemoteApi>(name: Name, params: Parameters<RemoteApi[Name]>[0]): void {\n    this.#sendRequest(undefined, name, params);\n  }\n\n  /**\n   * Process response message\n   * @param msg - Message object\n   */\n  #processResponse({ id, error, result }: { id: number; error?: any; result?: any }): void {\n    const callbacks = this.#callbacks.get(id);\n    if (callbacks == null) throw new MissingCallbackError(id);\n    if (error != null) callbacks.reject(RpcError.deserialize(error));\n    else callbacks.resolve(result);\n    this.#callbacks.delete(id);\n  }\n}\n","import AeSdkBase from './AeSdkBase.js';\nimport { OnAccount } from './AeSdkMethods.js';\nimport AccountBase from './account/Base.js';\nimport AccountRpc from './account/Rpc.js';\nimport { decode, Encoded } from './utils/encoder.js';\nimport {\n  Accounts,\n  RPC_VERSION,\n  WalletInfo,\n  Network,\n  WalletApi,\n  AeppApi,\n  Node as NodeRpc,\n  NetworkToSelect,\n} from './aepp-wallet-communication/rpc/types.js';\nimport RpcClient from './aepp-wallet-communication/rpc/RpcClient.js';\nimport { METHODS, SUBSCRIPTION_TYPES } from './aepp-wallet-communication/schema.js';\nimport {\n  AlreadyConnectedError,\n  NoWalletConnectedError,\n  UnsubscribedAccountError,\n  UnAuthorizedAccountError,\n  RpcConnectionError,\n} from './utils/errors.js';\nimport Node from './Node.js';\nimport BrowserConnection from './aepp-wallet-communication/connection/Browser.js';\n\n/**\n * RPC handler for AEPP side\n * Contain functionality for wallet interaction and connect it to sdk\n * @deprecated use WalletConnectorFrame instead\n * @category aepp wallet communication\n */\nexport default class AeSdkAepp extends AeSdkBase {\n  name: string;\n\n  onAddressChange: (a: Accounts) => void;\n\n  onDisconnect: (p: any) => void;\n\n  onNetworkChange: (a: Network) => void;\n\n  rpcClient?: RpcClient<WalletApi, AeppApi>;\n\n  _accounts?: Accounts;\n\n  /**\n   * @param options - Options\n   * @param options.name - Aepp name\n   * @param options.onAddressChange - Call-back function for update address event\n   * @param options.onDisconnect - Call-back function for disconnect event\n   * @param options.onNetworkChange - Call-back function for update network event\n   */\n  constructor({\n    name,\n    onAddressChange = () => {},\n    onDisconnect = () => {},\n    onNetworkChange = () => {},\n    ...other\n  }: {\n    name: string;\n    onAddressChange?: (a: Accounts) => void;\n    onDisconnect?: (p: any) => void;\n    onNetworkChange?: (a: Network) => void;\n  } & ConstructorParameters<typeof AeSdkBase>[0]) {\n    super(other);\n    this.onAddressChange = onAddressChange;\n    this.onDisconnect = onDisconnect;\n    this.onNetworkChange = onNetworkChange;\n    this.name = name;\n  }\n\n  override _resolveAccount(account: OnAccount = this.addresses()[0]): AccountBase {\n    if (typeof account === 'string') {\n      const address = account as Encoded.AccountAddress;\n      decode(address);\n      if (!this.addresses().includes(address)) throw new UnAuthorizedAccountError(address);\n      this._ensureConnected();\n      account = new AccountRpc(this.rpcClient, address);\n    }\n    if (account == null) this._ensureAccountAccess();\n    return super._resolveAccount(account);\n  }\n\n  override addresses(): Encoded.AccountAddress[] {\n    if (this._accounts == null) return [];\n    const current = Object.keys(this._accounts.current)[0];\n    return [\n      ...(current != null ? [current] : []),\n      ...Object.keys(this._accounts.connected),\n    ] as Encoded.AccountAddress[];\n  }\n\n  /**\n   * Connect to wallet\n   * @param connection - Wallet connection object\n   * @param options - Options\n   * @param options.connectNode - Request wallet to bind node\n   * @param options.name - Node name\n   */\n  async connectToWallet(\n    connection: BrowserConnection,\n    { connectNode = false, name = 'wallet-node' }: { connectNode?: boolean; name?: string } = {},\n  ): Promise<WalletInfo & { node?: NodeRpc }> {\n    if (this.rpcClient != null)\n      throw new AlreadyConnectedError('You are already connected to wallet');\n    let disconnectParams: any;\n\n    const updateNetwork = (params: Network): void => {\n      if (connectNode) {\n        if (params.node?.url == null) throw new RpcConnectionError('Missing URLs of the Node');\n        this.pool.delete(name);\n        this.addNode(name, new Node(params.node.url), true);\n      }\n      this.onNetworkChange(params);\n    };\n\n    const client = new RpcClient<WalletApi, AeppApi>(\n      connection,\n      () => {\n        delete this.rpcClient;\n        delete this._accounts;\n        this.onDisconnect(disconnectParams);\n      },\n      {\n        [METHODS.updateAddress]: (params) => {\n          this._accounts = params;\n          this.onAddressChange(params);\n        },\n        [METHODS.updateNetwork]: updateNetwork,\n        [METHODS.closeConnection]: (params) => {\n          disconnectParams = params;\n          client.connection.disconnect();\n        },\n        [METHODS.readyToConnect]: () => {},\n      },\n    );\n    const walletInfo = await client.request(METHODS.connect, {\n      name: this.name,\n      version: RPC_VERSION,\n      connectNode,\n    });\n    updateNetwork(walletInfo);\n    this.rpcClient = client;\n    return walletInfo;\n  }\n\n  /**\n   * Disconnect from wallet\n   */\n  disconnectWallet(): void {\n    this._ensureConnected();\n    this.rpcClient.notify(METHODS.closeConnection, { reason: 'bye' });\n    this.rpcClient.connection.disconnect();\n  }\n\n  /**\n   * Ask addresses from wallet\n   * @returns Addresses from wallet\n   */\n  async askAddresses(): Promise<Encoded.AccountAddress[]> {\n    this._ensureConnected();\n    return this.rpcClient.request(METHODS.address, undefined);\n  }\n\n  /**\n   * Subscribe for addresses from wallet\n   * @param type - Subscription type\n   * @param value - Should be one of 'current' (the selected account), 'connected' (all)\n   * @returns Accounts from wallet\n   */\n  async subscribeAddress(\n    type: SUBSCRIPTION_TYPES,\n    value: 'current' | 'connected',\n  ): Promise<ReturnType<WalletApi[METHODS.subscribeAddress]>> {\n    this._ensureConnected();\n    const result = await this.rpcClient.request(METHODS.subscribeAddress, { type, value });\n    this._accounts = result.address;\n    return result;\n  }\n\n  /**\n   * Ask wallet to select a network\n   */\n  async askToSelectNetwork(network: NetworkToSelect): Promise<void> {\n    this._ensureConnected();\n    await this.rpcClient.request(METHODS.updateNetwork, network);\n  }\n\n  _ensureConnected(): asserts this is AeSdkAepp & {\n    rpcClient: NonNullable<AeSdkAepp['rpcClient']>;\n  } {\n    if (this.rpcClient != null) return;\n    throw new NoWalletConnectedError('You are not connected to Wallet');\n  }\n\n  _ensureAccountAccess(): asserts this is AeSdkAepp & {\n    rpcClient: NonNullable<AeSdkAepp['rpcClient']>;\n  } {\n    this._ensureConnected();\n    if (this.addresses().length !== 0) return;\n    throw new UnsubscribedAccountError();\n  }\n}\n","import { Encoded } from '../../utils/encoder.js';\nimport { Domain, AciValue } from '../../utils/typed-data.js';\nimport { METHODS, SUBSCRIPTION_TYPES, WALLET_TYPE } from '../schema.js';\nimport { SignedTx } from '../../apis/node/index.js';\n\nexport interface WalletInfo {\n  id: string;\n  name: string;\n  networkId: string;\n  origin: string; // TODO: origin needs to be provided by transport\n  type: WALLET_TYPE;\n}\n\nexport interface Accounts {\n  connected: { [pub: Encoded.AccountAddress]: {} };\n  current: { [pub: Encoded.AccountAddress]: {} };\n}\n\nexport interface Node {\n  // TODO: name is not used, can be removed\n  name: string;\n  url: string;\n}\n\nexport interface Network {\n  networkId: string;\n  node?: Node;\n}\n\ntype Icons = Array<{ src: string; sizes?: string; type?: string; purpose?: string }>;\n\nexport const RPC_VERSION = 1;\n\nexport type NetworkToSelect = { networkId: string } | { nodeUrl: string };\n\nexport interface WalletApi {\n  [METHODS.connect]: (p: {\n    name: string;\n    icons?: Icons;\n    version: typeof RPC_VERSION;\n    connectNode: boolean;\n  }) => Promise<WalletInfo & { node?: Node }>;\n\n  [METHODS.closeConnection]: (p: any) => void;\n\n  [METHODS.subscribeAddress]: (p: {\n    type: SUBSCRIPTION_TYPES;\n    value: 'connected' | 'current';\n  }) => Promise<{ subscription: Array<'connected' | 'current'>; address: Accounts }>;\n\n  [METHODS.address]: () => Promise<Encoded.AccountAddress[]>;\n\n  [METHODS.unsafeSign]: (p: {\n    data: Encoded.Bytearray;\n    onAccount: Encoded.AccountAddress;\n  }) => Promise<{ signature: Encoded.Signature }>;\n\n  [METHODS.sign]: (p: {\n    tx: Encoded.Transaction;\n    onAccount: Encoded.AccountAddress;\n    returnSigned: boolean;\n    /**\n     * @deprecated Wallet provided networkId will be used (current network)\n     * required to maintain backward compatibility with wallets using SDK v11.0.1 and below\n     * @see {@link https://github.com/aeternity/aepp-sdk-js/commit/153fd89a52c4eab39fcd659b356b36d32129c1ba}\n     */\n    networkId: string;\n    innerTx?: boolean;\n  }) => Promise<{\n    /**\n     * @deprecated this is not a hash at all, will be removed later at the same time\n     * as dropping ability to broadcast transaction by wallet\n     */\n    transactionHash?: Partial<SignedTx> & {\n      hash: Encoded.TxHash;\n      rawTx: Encoded.Transaction;\n    };\n    signedTransaction?: Encoded.Transaction;\n  }>;\n\n  [METHODS.signMessage]: (p: {\n    message: string;\n    onAccount: Encoded.AccountAddress;\n  }) => Promise<{ signature: string }>;\n\n  [METHODS.signTypedData]: (p: {\n    domain: Domain;\n    aci: AciValue;\n    data: Encoded.ContractBytearray;\n    onAccount: Encoded.AccountAddress;\n  }) => Promise<{ signature: Encoded.Signature }>;\n\n  [METHODS.signDelegation]: (p: {\n    delegation: Encoded.Bytearray;\n    onAccount: Encoded.AccountAddress;\n  }) => Promise<{ signature: Encoded.Signature }>;\n\n  [METHODS.updateNetwork]: (a: NetworkToSelect) => Promise<null>;\n}\n\nexport interface AeppApi {\n  [METHODS.updateAddress]: (a: Accounts) => void;\n  [METHODS.updateNetwork]: (a: Network) => void;\n  [METHODS.readyToConnect]: (w: WalletInfo) => void;\n  [METHODS.closeConnection]: (p: any) => void;\n}\n","import { EventEmitter } from 'eventemitter3';\nimport AccountRpc from '../account/Rpc.js';\nimport { Encoded } from '../utils/encoder.js';\nimport {\n  Accounts,\n  RPC_VERSION,\n  Network,\n  WalletApi,\n  AeppApi,\n  NetworkToSelect,\n} from './rpc/types.js';\nimport RpcClient from './rpc/RpcClient.js';\nimport { METHODS, SUBSCRIPTION_TYPES } from './schema.js';\nimport { NoWalletConnectedError } from '../utils/errors.js';\nimport BrowserConnection from './connection/Browser.js';\n\ninterface EventsBase {\n  accountsChange: (accounts: AccountRpc[]) => void;\n  disconnect: (p: any) => void;\n}\n\nexport default abstract class WalletConnectorFrameBase<T extends {}> extends EventEmitter<\n  EventsBase | T\n> {\n  #rpcClient?: RpcClient<WalletApi, AeppApi>;\n\n  #getRpcClient(): RpcClient<WalletApi, AeppApi> {\n    if (this.#rpcClient == null)\n      throw new NoWalletConnectedError('You are not connected to Wallet');\n    return this.#rpcClient;\n  }\n\n  /**\n   * Is connected to wallet\n   */\n  get isConnected(): boolean {\n    return this.#rpcClient != null;\n  }\n\n  #accounts: AccountRpc[] = [];\n\n  /**\n   * Accounts provided by wallet over subscription\n   */\n  get accounts(): AccountRpc[] {\n    return this.#accounts;\n  }\n\n  protected constructor() {\n    super();\n  }\n\n  protected abstract _updateNetwork(params: Network): void;\n\n  #updateAccounts(params: Accounts): void {\n    const addresses = [\n      ...new Set([...Object.keys(params.current), ...Object.keys(params.connected)]),\n    ] as Encoded.AccountAddress[];\n    this.#accounts = addresses.map((address) => new AccountRpc(this.#getRpcClient(), address));\n    this.emit('accountsChange', this.#accounts);\n  }\n\n  static async _connect(\n    name: string,\n    connection: BrowserConnection,\n    connector: WalletConnectorFrameBase<any>,\n    connectNode: boolean,\n  ): Promise<void> {\n    let disconnectParams: any;\n\n    const client = new RpcClient<WalletApi, AeppApi>(\n      connection,\n      () => {\n        connector.#rpcClient = undefined;\n        connector.#accounts = [];\n        connector.emit('disconnect', disconnectParams);\n      },\n      {\n        [METHODS.updateAddress]: connector.#updateAccounts.bind(connector),\n        [METHODS.updateNetwork]: connector._updateNetwork.bind(connector),\n        [METHODS.closeConnection]: (params) => {\n          disconnectParams = params;\n          client.connection.disconnect();\n        },\n        [METHODS.readyToConnect]: () => {},\n      },\n    );\n    connector.#rpcClient = client;\n    const walletInfo = await connector.#rpcClient.request(METHODS.connect, {\n      name,\n      version: RPC_VERSION,\n      connectNode,\n    });\n    connector._updateNetwork(walletInfo);\n  }\n\n  /**\n   * Disconnect from wallet\n   */\n  disconnect(): void {\n    const client = this.#getRpcClient();\n    client.notify(METHODS.closeConnection, { reason: 'bye' });\n    client.connection.disconnect();\n  }\n\n  /**\n   * Request accounts from wallet\n   */\n  async getAccounts(): Promise<AccountRpc[]> {\n    const client = this.#getRpcClient();\n    const addresses = await client.request(METHODS.address, undefined);\n    return addresses.map((address) => new AccountRpc(client, address));\n  }\n\n  /**\n   * Subscribe for wallet accounts, get account updates adding handler to `accountsChange` event\n   * @param type - Subscription type\n   * @param value - Should be one of 'current' (the selected account), 'connected' (all)\n   * @returns Accounts from wallet\n   */\n  async subscribeAccounts(\n    type: SUBSCRIPTION_TYPES,\n    value: 'current' | 'connected',\n  ): Promise<AccountRpc[]> {\n    const result = await this.#getRpcClient().request(METHODS.subscribeAddress, { type, value });\n    this.#updateAccounts(result.address);\n    return this.#accounts;\n  }\n\n  /**\n   * Ask wallet to select a network\n   */\n  async askToSelectNetwork(network: NetworkToSelect): Promise<void> {\n    await this.#getRpcClient().request(METHODS.updateNetwork, network);\n  }\n}\n","import { Network } from './rpc/types.js';\nimport BrowserConnection from './connection/Browser.js';\nimport WalletConnectorFrameBase from './WalletConnectorFrameBase.js';\n\ninterface EventsNetworkId {\n  networkIdChange: (networkId: string) => void;\n}\n\n/**\n * Connect to wallet as iframe/web-extension\n * @category aepp wallet communication\n */\nexport default class WalletConnectorFrame extends WalletConnectorFrameBase<EventsNetworkId> {\n  #networkId = '';\n\n  /**\n   * The last network id reported by wallet\n   */\n  get networkId(): string {\n    return this.#networkId;\n  }\n\n  protected override _updateNetwork(params: Network): void {\n    this.#networkId = params.networkId;\n    this.emit('networkIdChange', this.#networkId);\n  }\n\n  /**\n   * Connect to wallet\n   * @param name - Aepp name\n   * @param connection - Wallet connection object\n   */\n  static async connect(name: string, connection: BrowserConnection): Promise<WalletConnectorFrame> {\n    const connector = new WalletConnectorFrame();\n    await WalletConnectorFrame._connect(name, connection, connector, false);\n    return connector;\n  }\n}\n","import { Network } from './rpc/types.js';\nimport { RpcConnectionError } from '../utils/errors.js';\nimport Node from '../Node.js';\nimport BrowserConnection from './connection/Browser.js';\nimport WalletConnectorFrameBase from './WalletConnectorFrameBase.js';\n\ninterface EventsWithNode {\n  nodeChange: (node: Node) => void;\n}\n\n/**\n * Connect to wallet as iframe/web-extension, asks wallet to provide node url\n * In comparison with WalletConnectorFrame, this would work better for decentralized applications\n * @category aepp wallet communication\n */\nexport default class WalletConnectorFrameWithNode extends WalletConnectorFrameBase<EventsWithNode> {\n  #node: Node = null as unknown as Node;\n\n  /**\n   * The node instance provided by wallet\n   */\n  get node(): Node {\n    return this.#node;\n  }\n\n  protected override _updateNetwork(params: Network): void {\n    if (params.node?.url == null) throw new RpcConnectionError('Missing URLs of the Node');\n    this.#node = new Node(params.node.url);\n    this.emit('nodeChange', this.#node);\n  }\n\n  /**\n   * Connect to wallet\n   * @param name - Aepp name\n   * @param connection - Wallet connection object\n   */\n  static async connect(\n    name: string,\n    connection: BrowserConnection,\n  ): Promise<WalletConnectorFrameWithNode> {\n    const connector = new WalletConnectorFrameWithNode();\n    await super._connect(name, connection, connector, true);\n    return connector;\n  }\n}\n","import JsonBig from 'json-bigint';\nimport BigNumber from 'bignumber.js';\nimport { mapObject } from './other.js';\n\nconst jsonBig = JsonBig({ storeAsString: true });\n\nconst convertValuesToBigNumbers = (value: any): any => {\n  if (typeof value === 'object' && value !== null && value.constructor === Object) {\n    return mapObject(value, ([k, v]) => [k, convertValuesToBigNumbers(v)]);\n  }\n  if (Array.isArray(value)) {\n    return value.map((item) => convertValuesToBigNumbers(item));\n  }\n  if (typeof value === 'string' && new BigNumber(value).toString(10) === value) {\n    const bn = new BigNumber(value);\n    bn.toJSON = () => bn.toString(10);\n    return bn;\n  }\n  return value;\n};\n\nexport default {\n  stringify: (...args: Parameters<(typeof JsonBig)['stringify']>): string =>\n    jsonBig.stringify(convertValuesToBigNumbers(args[0]), ...args.slice(1)),\n  parse: jsonBig.parse,\n};\n","import nacl from 'tweetnacl';\nimport AeSdk from './AeSdk.js';\nimport verifyTransaction from './tx/validator.js';\nimport RpcClient from './aepp-wallet-communication/rpc/RpcClient.js';\nimport {\n  METHODS,\n  RPC_STATUS,\n  SUBSCRIPTION_TYPES,\n  WALLET_TYPE,\n  RpcInvalidTransactionError,\n  RpcNotAuthorizeError,\n  RpcPermissionDenyError,\n  RpcUnsupportedProtocolError,\n} from './aepp-wallet-communication/schema.js';\nimport { InternalError, UnknownRpcClientError } from './utils/errors.js';\nimport AccountBase from './account/Base.js';\nimport BrowserConnection from './aepp-wallet-communication/connection/Browser.js';\nimport {\n  Accounts,\n  AeppApi,\n  Network,\n  NetworkToSelect,\n  RPC_VERSION,\n  WalletApi,\n  WalletInfo,\n} from './aepp-wallet-communication/rpc/types.js';\nimport { Encoded, Encoding, encode, decode } from './utils/encoder.js';\nimport jsonBig from './utils/json-big.js';\n\ntype RpcClientWallet = RpcClient<AeppApi, WalletApi>;\n\ntype OnConnection = (\n  clientId: string,\n  params: Omit<Parameters<WalletApi[METHODS.connect]>[0], 'version'>,\n  origin: string,\n) => void;\n\ntype OnSubscription = (\n  clientId: string,\n  params: Parameters<WalletApi[METHODS.subscribeAddress]>[0],\n  origin: string,\n) => void;\n\ntype OnDisconnect = (\n  clientId: string,\n  params: Parameters<WalletApi[METHODS.closeConnection]>[0],\n) => void;\n\ntype OnAskAccounts = (clientId: string, params: undefined, origin: string) => void;\n\ntype OnAskToSelectNetwork = (clientId: string, params: NetworkToSelect, origin: string) => void;\n\ninterface RpcClientsInfo {\n  id: string;\n  status: RPC_STATUS;\n  connectNode: boolean;\n  addressSubscription: Set<'connected' | 'current'>;\n  rpc: RpcClientWallet;\n}\n\n/**\n * Contain functionality for aepp interaction and managing multiple aepps\n * @category aepp wallet communication\n */\nexport default class AeSdkWallet extends AeSdk {\n  id: string;\n\n  _type: WALLET_TYPE;\n\n  name: string;\n\n  _clients = new Map<string, RpcClientsInfo>();\n\n  onConnection: OnConnection;\n\n  onSubscription: OnSubscription;\n\n  onDisconnect: OnDisconnect;\n\n  onAskAccounts: OnAskAccounts;\n\n  onAskToSelectNetwork: OnAskToSelectNetwork;\n\n  /**\n   * @param options - Options\n   * @param options.name - Wallet name\n   * @param options.id - Wallet id\n   * @param options.type - Wallet type\n   * @param options.onConnection - Call-back function for incoming AEPP connection\n   * @param options.onSubscription - Call-back function for incoming AEPP account subscription\n   * @param options.onAskAccounts - Call-back function for incoming AEPP get address request\n   * @param options.onAskToSelectNetwork - Call-back function for incoming AEPP select network\n   * request. If the request is fine then this function should change the current network.\n   * @param options.onDisconnect - Call-back function for disconnect event\n   */\n  constructor({\n    name,\n    id,\n    type,\n    onConnection,\n    onSubscription,\n    onDisconnect,\n    onAskAccounts,\n    onAskToSelectNetwork,\n    ...options\n  }: {\n    id: string;\n    type: WALLET_TYPE;\n    name: string;\n    onConnection: OnConnection;\n    onSubscription: OnSubscription;\n    onDisconnect: OnDisconnect;\n    onAskAccounts: OnAskAccounts;\n    onAskToSelectNetwork: OnAskToSelectNetwork;\n  } & ConstructorParameters<typeof AeSdk>[0]) {\n    super(options);\n    this.onConnection = onConnection;\n    this.onSubscription = onSubscription;\n    this.onDisconnect = onDisconnect;\n    this.onAskAccounts = onAskAccounts;\n    this.onAskToSelectNetwork = onAskToSelectNetwork;\n    this.name = name;\n    this.id = id;\n    this._type = type;\n  }\n\n  _getAccountsForClient({ addressSubscription }: RpcClientsInfo): Accounts {\n    const { current, connected } = this.getAccounts();\n    return {\n      current:\n        addressSubscription.has('current') || addressSubscription.has('connected') ? current : {},\n      connected: addressSubscription.has('connected') ? connected : {},\n    };\n  }\n\n  _pushAccountsToApps(): void {\n    if (this._clients == null) return;\n    Array.from(this._clients.keys())\n      .filter((clientId) => this._isRpcClientConnected(clientId))\n      .map((clientId) => this._getClient(clientId))\n      .filter((client) => client.addressSubscription.size !== 0)\n      .forEach((client) =>\n        client.rpc.notify(METHODS.updateAddress, this._getAccountsForClient(client)),\n      );\n  }\n\n  override selectAccount(address: Encoded.AccountAddress): void {\n    super.selectAccount(address);\n    this._pushAccountsToApps();\n  }\n\n  override addAccount(account: AccountBase, options?: Parameters<AeSdk['addAccount']>[1]): void {\n    super.addAccount(account, options);\n    this._pushAccountsToApps();\n  }\n\n  _getNode(): { node: Network['node'] } {\n    this.ensureNodeConnected();\n    return { node: { url: this.api.$host, name: this.selectedNodeName } };\n  }\n\n  override async selectNode(name: string): Promise<void> {\n    super.selectNode(name);\n    const networkId = await this.api.getNetworkId();\n    Array.from(this._clients.keys())\n      .filter((clientId) => this._isRpcClientConnected(clientId))\n      .map((clientId) => this._getClient(clientId))\n      .forEach((client) => {\n        client.rpc.notify(METHODS.updateNetwork, {\n          networkId,\n          ...(client.connectNode && this._getNode()),\n        });\n      });\n  }\n\n  _getClient(clientId: string): RpcClientsInfo {\n    const client = this._clients.get(clientId);\n    if (client == null) throw new UnknownRpcClientError(clientId);\n    return client;\n  }\n\n  _isRpcClientConnected(clientId: string): boolean {\n    return (\n      RPC_STATUS.CONNECTED === this._getClient(clientId).status &&\n      this._getClient(clientId).rpc.connection.isConnected()\n    );\n  }\n\n  _disconnectRpcClient(clientId: string): void {\n    const client = this._getClient(clientId);\n    client.rpc.connection.disconnect();\n    client.status = RPC_STATUS.DISCONNECTED;\n    client.addressSubscription = new Set();\n  }\n\n  /**\n   * Remove specific RpcClient by ID\n   * @param id - Client ID\n   */\n  removeRpcClient(id: string): void {\n    this._disconnectRpcClient(id);\n    this._clients.delete(id);\n  }\n\n  /**\n   * Add new client by AEPP connection\n   * @param clientConnection - AEPP connection object\n   * @returns Client ID\n   */\n  addRpcClient(clientConnection: BrowserConnection): string {\n    // @TODO  detect if aepp has some history based on origin????\n    // if yes use this instance for connection\n    const id = Buffer.from(nacl.randomBytes(8)).toString('base64');\n    let disconnectParams: any;\n    const client: RpcClientsInfo = {\n      id,\n      status: RPC_STATUS.WAITING_FOR_CONNECTION_REQUEST,\n      addressSubscription: new Set(),\n      connectNode: false,\n      rpc: new RpcClient<AeppApi, WalletApi>(\n        clientConnection,\n        () => {\n          this._clients.delete(id);\n          this.onDisconnect(id, disconnectParams); // also related info\n        },\n        {\n          [METHODS.closeConnection]: (params) => {\n            disconnectParams = params;\n            this._disconnectRpcClient(id);\n          },\n          // Store client info and prepare two fn for each client `connect` and `denyConnection`\n          // which automatically prepare and send response for that client\n          [METHODS.connect]: async ({ name, version, icons, connectNode }, origin) => {\n            if (version !== RPC_VERSION) throw new RpcUnsupportedProtocolError();\n\n            await this.onConnection(id, { name, icons, connectNode }, origin);\n            client.status = RPC_STATUS.CONNECTED;\n            client.connectNode = connectNode;\n            return {\n              ...(await this.getWalletInfo()),\n              ...(connectNode && this._getNode()),\n            };\n          },\n          [METHODS.subscribeAddress]: async ({ type, value }, origin) => {\n            if (!this._isRpcClientConnected(id)) throw new RpcNotAuthorizeError();\n\n            switch (type) {\n              case SUBSCRIPTION_TYPES.subscribe:\n                // TODO: remove `type` as it always subscribe\n                await this.onSubscription(id, { type, value }, origin);\n                client.addressSubscription.add(value);\n                break;\n              case SUBSCRIPTION_TYPES.unsubscribe:\n                client.addressSubscription.delete(value);\n                break;\n              default:\n                throw new InternalError(`Unknown subscription type: ${type}`);\n            }\n\n            return {\n              subscription: Array.from(client.addressSubscription),\n              address: this._getAccountsForClient(client),\n            };\n          },\n          [METHODS.address]: async (params, origin) => {\n            if (!this._isRpcClientConnected(id)) throw new RpcNotAuthorizeError();\n            await this.onAskAccounts(id, params, origin);\n            return this.addresses();\n          },\n          [METHODS.sign]: async (\n            { tx, onAccount = this.address, returnSigned, innerTx },\n            origin,\n          ) => {\n            if (!this._isRpcClientConnected(id)) throw new RpcNotAuthorizeError();\n            if (!this.addresses().includes(onAccount)) {\n              throw new RpcPermissionDenyError(onAccount);\n            }\n\n            const parameters = {\n              onAccount,\n              aeppOrigin: origin,\n              aeppRpcClientId: id,\n              innerTx,\n            };\n            if (returnSigned || innerTx === true) {\n              return { signedTransaction: await this.signTransaction(tx, parameters) };\n            }\n            try {\n              return jsonBig.parse(\n                jsonBig.stringify({\n                  transactionHash: await this.sendTransaction(tx, { ...parameters, verify: false }),\n                }),\n              );\n            } catch (error) {\n              const validation = await verifyTransaction(tx, this.api);\n              if (validation.length > 0) throw new RpcInvalidTransactionError(validation);\n              throw error;\n            }\n          },\n          [METHODS.signMessage]: async ({ message, onAccount = this.address }, origin) => {\n            if (!this._isRpcClientConnected(id)) throw new RpcNotAuthorizeError();\n            if (!this.addresses().includes(onAccount)) {\n              throw new RpcPermissionDenyError(onAccount);\n            }\n\n            const parameters = { onAccount, aeppOrigin: origin, aeppRpcClientId: id };\n            return {\n              signature: Buffer.from(await this.signMessage(message, parameters)).toString('hex'),\n            };\n          },\n          [METHODS.signTypedData]: async (\n            { domain, aci, data, onAccount = this.address },\n            origin,\n          ) => {\n            if (!this._isRpcClientConnected(id)) throw new RpcNotAuthorizeError();\n            if (!this.addresses().includes(onAccount)) {\n              throw new RpcPermissionDenyError(onAccount);\n            }\n\n            const parameters = {\n              ...domain,\n              onAccount,\n              aeppOrigin: origin,\n              aeppRpcClientId: id,\n            };\n            return {\n              signature: await this.signTypedData(data, aci, parameters),\n            };\n          },\n          [METHODS.unsafeSign]: async ({ data, onAccount = this.address }, origin) => {\n            if (!this._isRpcClientConnected(id)) throw new RpcNotAuthorizeError();\n            if (!this.addresses().includes(onAccount)) throw new RpcPermissionDenyError(onAccount);\n            const parameters = { onAccount, aeppOrigin: origin, aeppRpcClientId: id };\n            const signature = encode(\n              await this.unsafeSign(decode(data), parameters),\n              Encoding.Signature,\n            );\n            return { signature };\n          },\n          [METHODS.signDelegation]: async ({ delegation, onAccount = this.address }, origin) => {\n            if (!this._isRpcClientConnected(id)) throw new RpcNotAuthorizeError();\n            if (!this.addresses().includes(onAccount)) throw new RpcPermissionDenyError(onAccount);\n            const parameters = { onAccount, aeppOrigin: origin, aeppRpcClientId: id };\n            const signature = await this.signDelegation(delegation, parameters);\n            return { signature };\n          },\n          [METHODS.updateNetwork]: async (params, origin) => {\n            if (!this._isRpcClientConnected(id)) throw new RpcNotAuthorizeError();\n            await this.onAskToSelectNetwork(id, params, origin);\n            return null;\n          },\n        },\n      ),\n    };\n    this._clients.set(id, client);\n    return id;\n  }\n\n  /**\n   * Send shareWalletInfo message to notify AEPP about wallet\n   * @param clientId - ID of RPC client send message to\n   */\n  async shareWalletInfo(clientId: string): Promise<void> {\n    this._getClient(clientId).rpc.notify(METHODS.readyToConnect, await this.getWalletInfo());\n  }\n\n  /**\n   * Get Wallet info object\n   * @returns Object with wallet information\n   */\n  async getWalletInfo(): Promise<WalletInfo> {\n    const { origin } = window.location;\n    return {\n      id: this.id,\n      name: this.name,\n      networkId: await this.api.getNetworkId(),\n      origin: origin === 'file://' ? '*' : origin,\n      type: this._type,\n    };\n  }\n\n  /**\n   * Get Wallet accounts\n   * @returns Object with accounts information (\\{ connected: Object, current: Object \\})\n   */\n  getAccounts(): Accounts {\n    return {\n      current: this.selectedAddress != null ? { [this.selectedAddress]: {} } : {},\n      connected: this.addresses()\n        .filter((a) => a !== this.selectedAddress)\n        .reduce((acc, a) => ({ ...acc, [a]: {} }), {}),\n    };\n  }\n}\n","import Node from '../Node.js';\nimport AccountBase from './Base.js';\n\n/**\n * A factory class that generates instances of AccountBase by index.\n * @category account\n */\nexport default abstract class AccountBaseFactory {\n  /**\n   * Get an instance of AccountBase for a given account index.\n   * @param accountIndex - Index of account\n   */\n  abstract initialize(accountIndex: number): Promise<AccountBase>;\n\n  /**\n   * Discovers accounts in set that already have been used (has any on-chain transactions).\n   * It returns an empty array if none of accounts been used.\n   * If a used account is preceded by an unused account then it would be ignored.\n   * @param node - Instance of Node to get account information from\n   */\n  async discover(node: Node): Promise<AccountBase[]> {\n    let index = 0;\n    const result = [];\n    let account;\n    do {\n      if (account != null) result.push(account);\n      account = await this.initialize(index);\n      index += 1;\n    } while (\n      await node.getAccountByPubkey(account.address).then(\n        () => true,\n        () => false,\n      )\n    );\n    return result;\n  }\n}\n","import { mnemonicToSeed, mnemonicToSeedSync } from '@scure/bip39';\nimport tweetnaclAuth from 'tweetnacl-auth';\nimport AccountBaseFactory from './BaseFactory.js';\nimport AccountMemory from './Memory.js';\nimport { encode, Encoding, Encoded, decode } from '../utils/encoder.js';\nimport { concatBuffers } from '../utils/other.js';\nimport { ArgumentError } from '../utils/errors.js';\n\nexport const ED25519_CURVE = Buffer.from('ed25519 seed');\nconst HARDENED_OFFSET = 0x80000000;\n\ninterface KeyTreeNode {\n  secretKey: Uint8Array;\n  chainCode: Uint8Array;\n}\n\nexport function deriveKey(message: Uint8Array, key: Uint8Array): KeyTreeNode {\n  const I = tweetnaclAuth.full(message, key);\n  const IL = I.slice(0, 32);\n  const IR = I.slice(32);\n  return {\n    secretKey: IL,\n    chainCode: IR,\n  };\n}\n\nexport function derivePathFromKey(key: KeyTreeNode, segments: readonly number[]): KeyTreeNode {\n  return segments.reduce(({ secretKey, chainCode }, segment) => {\n    const indexBuffer = Buffer.allocUnsafe(4);\n    indexBuffer.writeUInt32BE(segment + HARDENED_OFFSET, 0);\n    const data = concatBuffers([Buffer.alloc(1, 0), secretKey, indexBuffer]);\n    return deriveKey(data, chainCode);\n  }, key);\n}\n\ninterface Wallet {\n  secretKey: Encoded.Bytearray;\n  chainCode: Encoded.Bytearray;\n}\n\n/**\n * A factory class that generates instances of AccountMemory based on provided mnemonic phrase.\n * @category account\n */\nexport default class AccountMnemonicFactory extends AccountBaseFactory {\n  #mnemonicOrWalletOrSeed: string | Wallet | Uint8Array;\n\n  /**\n   * @param mnemonicOrWalletOrSeed - BIP39-compatible mnemonic phrase or a wallet/seed derived from\n   * mnemonic\n   */\n  constructor(mnemonicOrWalletOrSeed: string | Wallet | Uint8Array) {\n    super();\n    this.#mnemonicOrWalletOrSeed = mnemonicOrWalletOrSeed;\n  }\n\n  #getWallet(sync: true): Wallet;\n  #getWallet(sync: false): Wallet | Promise<Wallet>;\n  #getWallet(sync: boolean): Wallet | Promise<Wallet> {\n    const setWalletBySeed = (seed: Uint8Array): Wallet => {\n      const masterKey = deriveKey(seed, ED25519_CURVE);\n      const walletKey = derivePathFromKey(masterKey, [44, 457]);\n      this.#mnemonicOrWalletOrSeed = {\n        secretKey: encode(walletKey.secretKey, Encoding.Bytearray),\n        chainCode: encode(walletKey.chainCode, Encoding.Bytearray),\n      };\n      return this.#mnemonicOrWalletOrSeed;\n    };\n\n    if (ArrayBuffer.isView(this.#mnemonicOrWalletOrSeed)) {\n      if (this.#mnemonicOrWalletOrSeed.length !== 64) {\n        throw new ArgumentError('seed length', 64, this.#mnemonicOrWalletOrSeed.length);\n      }\n      return setWalletBySeed(this.#mnemonicOrWalletOrSeed);\n    }\n    if (typeof this.#mnemonicOrWalletOrSeed === 'object') return this.#mnemonicOrWalletOrSeed;\n    return sync\n      ? setWalletBySeed(mnemonicToSeedSync(this.#mnemonicOrWalletOrSeed))\n      : mnemonicToSeed(this.#mnemonicOrWalletOrSeed).then(setWalletBySeed);\n  }\n\n  /**\n   * Get a wallet to initialize AccountMnemonicFactory instead mnemonic phrase.\n   * In comparison with mnemonic, the wallet can be used to derive aeternity accounts only.\n   */\n  async getWallet(): Promise<Wallet> {\n    return this.#getWallet(false);\n  }\n\n  /**\n   * The same as `getWallet` but synchronous.\n   */\n  getWalletSync(): Wallet {\n    return this.#getWallet(true);\n  }\n\n  #getAccountByWallet(accountIndex: number, wallet: Wallet): AccountMemory {\n    const walletKey = {\n      secretKey: decode(wallet.secretKey),\n      chainCode: decode(wallet.chainCode),\n    };\n    const raw = derivePathFromKey(walletKey, [accountIndex, 0, 0]).secretKey;\n    return new AccountMemory(encode(raw, Encoding.AccountSecretKey));\n  }\n\n  /**\n   * Get an instance of AccountMemory for a given account index.\n   * @param accountIndex - Index of account\n   */\n  async initialize(accountIndex: number): Promise<AccountMemory> {\n    const wallet = await this.getWallet();\n    return this.#getAccountByWallet(accountIndex, wallet);\n  }\n\n  /**\n   * The same as `initialize` but synchronous.\n   */\n  initializeSync(accountIndex: number): AccountMemory {\n    const wallet = this.getWalletSync();\n    return this.#getAccountByWallet(accountIndex, wallet);\n  }\n}\n","import AccountBase from './Base.js';\nimport {\n  ArgumentError,\n  InternalError,\n  InvalidAuthDataError,\n  NotImplementedError,\n} from '../utils/errors.js';\nimport { decode, Encoded } from '../utils/encoder.js';\nimport { getAccount } from '../chain.js';\nimport Contract from '../contract/Contract.js';\nimport { buildTxAsync, buildTx } from '../tx/builder/index.js';\nimport { Tag } from '../tx/builder/constants.js';\n\n/**\n * Generalized account class\n * @category account generalized\n */\nexport default class AccountGeneralized extends AccountBase {\n  override readonly address: Encoded.AccountAddress;\n\n  #authFun?: string;\n\n  /**\n   * @param address - Address of generalized account\n   */\n  constructor(address: Encoded.AccountAddress) {\n    super();\n    decode(address);\n    this.address = address;\n  }\n\n  /**\n   * @deprecated Use `unsafeSign` method instead\n   */\n  // eslint-disable-next-line class-methods-use-this\n  override async sign(): Promise<Uint8Array> {\n    return this.unsafeSign();\n  }\n\n  // eslint-disable-next-line class-methods-use-this\n  override async unsafeSign(): Promise<Uint8Array> {\n    throw new NotImplementedError(\"Can't sign using generalized account\");\n  }\n\n  // eslint-disable-next-line class-methods-use-this\n  override async signMessage(): Promise<Uint8Array> {\n    throw new NotImplementedError(\"Can't sign using generalized account\");\n  }\n\n  // eslint-disable-next-line class-methods-use-this\n  override async signTypedData(): Promise<Encoded.Signature> {\n    throw new NotImplementedError(\"Can't sign using generalized account\");\n  }\n\n  // eslint-disable-next-line class-methods-use-this\n  override async signDelegation(): Promise<Encoded.Signature> {\n    throw new NotImplementedError('signing delegation using generalized account');\n  }\n\n  override async signTransaction(\n    tx: Encoded.Transaction,\n    { authData, onCompiler, onNode }: Parameters<AccountBase['signTransaction']>[1],\n  ): Promise<Encoded.Transaction> {\n    if (authData == null || onCompiler == null || onNode == null) {\n      throw new ArgumentError('authData, onCompiler, onNode', 'provided', null);\n    }\n    const { callData, sourceCode, args, fee, gasLimit, gasPrice } =\n      typeof authData === 'function' ? await authData(tx) : authData;\n\n    const authCallData =\n      callData ??\n      (await (async () => {\n        if (this.#authFun == null) {\n          const account = await getAccount(this.address, { onNode });\n          if (account.kind !== 'generalized') {\n            throw new ArgumentError('account kind', 'generalized', account.kind);\n          }\n          this.#authFun = account.authFun;\n        }\n        if (this.#authFun == null) {\n          throw new InternalError('Account in generalised, but authFun not provided');\n        }\n\n        if (sourceCode == null || args == null) {\n          throw new InvalidAuthDataError('Auth data must contain sourceCode and args or callData.');\n        }\n        const contract = await Contract.initialize({ onCompiler, onNode, sourceCode });\n        return contract._calldata.encode(contract._name, this.#authFun, args);\n      })());\n\n    const gaMetaTx = await buildTxAsync({\n      tag: Tag.GaMetaTx,\n      tx: { tag: Tag.SignedTx, encodedTx: decode(tx), signatures: [] },\n      gaId: this.address,\n      authData: authCallData,\n      fee,\n      gasLimit,\n      gasPrice,\n      onNode,\n    });\n    return buildTx({ tag: Tag.SignedTx, encodedTx: decode(gaMetaTx), signatures: [] });\n  }\n}\n","import type Transport from '@ledgerhq/hw-transport';\nimport AccountBase from './Base.js';\nimport { ArgumentError, NotImplementedError } from '../utils/errors.js';\nimport { decode, Encoded } from '../utils/encoder.js';\nimport { buildTx } from '../tx/builder/index.js';\nimport { Tag } from '../tx/builder/constants.js';\n\nexport const CLA = 0xe0;\nexport const GET_ADDRESS = 0x02;\nexport const SIGN_TRANSACTION = 0x04;\nexport const GET_APP_CONFIGURATION = 0x06;\nexport const SIGN_PERSONAL_MESSAGE = 0x08;\n\n/**\n * Ledger wallet account class\n * @category account\n */\nexport default class AccountLedger extends AccountBase {\n  /**\n   * @param transport - Connection to Ledger to use\n   * @param index - Index of account\n   * @param address - Address of account\n   */\n  constructor(\n    readonly transport: Transport,\n    readonly index: number,\n    override readonly address: Encoded.AccountAddress,\n  ) {\n    super();\n    transport.decorateAppAPIMethods(this, ['signTransaction', 'signMessage'], 'w0w');\n  }\n\n  /**\n   * @deprecated Use `unsafeSign` method instead\n   */\n  // eslint-disable-next-line class-methods-use-this\n  override async sign(): Promise<Uint8Array> {\n    return this.unsafeSign();\n  }\n\n  // eslint-disable-next-line class-methods-use-this\n  override async unsafeSign(): Promise<Uint8Array> {\n    throw new NotImplementedError('RAW signing using Ledger HW');\n  }\n\n  // eslint-disable-next-line class-methods-use-this\n  override async signTypedData(): Promise<Encoded.Signature> {\n    throw new NotImplementedError('Typed data signing using Ledger HW');\n  }\n\n  // eslint-disable-next-line class-methods-use-this\n  override async signDelegation(): Promise<Encoded.Signature> {\n    throw new NotImplementedError('signing delegation using Ledger HW');\n  }\n\n  override async signTransaction(\n    tx: Encoded.Transaction,\n    { innerTx, networkId }: { innerTx?: boolean; networkId?: string } = {},\n  ): Promise<Encoded.Transaction> {\n    if (innerTx != null) throw new NotImplementedError('innerTx option in AccountLedger');\n    if (networkId == null) throw new ArgumentError('networkId', 'provided', networkId);\n\n    const rawTx = decode(tx);\n    let offset = 0;\n    const headerLength = 4 + 1 + 4;\n    const networkIdBuffer = Buffer.from(networkId);\n    const toSend = [];\n    while (offset !== rawTx.length) {\n      const maxChunkSize = offset === 0 ? 150 - headerLength - networkIdBuffer.length : 150;\n      const chunkSize = offset + maxChunkSize > rawTx.length ? rawTx.length - offset : maxChunkSize;\n      const buffer = Buffer.alloc(\n        offset === 0 ? headerLength + networkIdBuffer.length + chunkSize : chunkSize,\n      );\n      if (offset === 0) {\n        let bufferOffset = buffer.writeUInt32BE(this.index, 0);\n        bufferOffset = buffer.writeUInt32BE(rawTx.length, bufferOffset);\n        bufferOffset = buffer.writeUInt8(networkIdBuffer.length, bufferOffset);\n        bufferOffset += networkIdBuffer.copy(buffer, bufferOffset, 0, networkIdBuffer.length);\n        rawTx.copy(buffer, bufferOffset, 0, 150 - bufferOffset);\n      } else {\n        rawTx.copy(buffer, 0, offset, offset + chunkSize);\n      }\n      toSend.push(buffer);\n      offset += chunkSize;\n    }\n    const response = await toSend.reduce(\n      async (previous, data, i) => {\n        await previous;\n        return this.transport.send(CLA, SIGN_TRANSACTION, i === 0 ? 0x00 : 0x80, 0x00, data);\n      },\n      Promise.resolve(Buffer.alloc(0)),\n    );\n    const signatures = [response.subarray(0, 64)];\n\n    return buildTx({ tag: Tag.SignedTx, encodedTx: rawTx, signatures });\n  }\n\n  override async signMessage(messageStr: string): Promise<Uint8Array> {\n    let offset = 0;\n    const message = Buffer.from(messageStr);\n    const toSend = [];\n    while (offset !== message.length) {\n      const maxChunkSize = offset === 0 ? 150 - 4 - 4 : 150;\n      const chunkSize =\n        offset + maxChunkSize > message.length ? message.length - offset : maxChunkSize;\n      const buffer = Buffer.alloc(offset === 0 ? 4 + 4 + chunkSize : chunkSize);\n      if (offset === 0) {\n        buffer.writeUInt32BE(this.index, 0);\n        buffer.writeUInt32BE(message.length, 4);\n        message.copy(buffer, 4 + 4, offset, offset + chunkSize);\n      } else {\n        message.copy(buffer, 0, offset, offset + chunkSize);\n      }\n      toSend.push(buffer);\n      offset += chunkSize;\n    }\n    const response = await toSend.reduce(\n      async (previous, data, i) => {\n        await previous;\n        return this.transport.send(CLA, SIGN_PERSONAL_MESSAGE, i === 0 ? 0x00 : 0x80, 0x00, data);\n      },\n      Promise.resolve(Buffer.alloc(0)),\n    );\n    return response.subarray(0, 64);\n  }\n}\n","import type Transport from '@ledgerhq/hw-transport';\nimport AccountLedger, { CLA, GET_ADDRESS, GET_APP_CONFIGURATION } from './Ledger.js';\nimport { UnsupportedVersionError } from '../utils/errors.js';\nimport { Encoded } from '../utils/encoder.js';\nimport semverSatisfies from '../utils/semver-satisfies.js';\nimport AccountBaseFactory from './BaseFactory.js';\n\ninterface AppConfiguration {\n  version: string;\n}\n\n/**\n * A factory class that generates instances of AccountLedger based on provided transport.\n * @category account\n */\nexport default class AccountLedgerFactory extends AccountBaseFactory {\n  /**\n   * @param transport - Connection to Ledger to use\n   */\n  constructor(readonly transport: Transport) {\n    super();\n    transport.decorateAppAPIMethods(this, ['getAddress', 'getAppConfiguration'], 'w0w');\n  }\n\n  #ensureReadyPromise?: Promise<void>;\n\n  // TODO: remove after release Ledger app v1.0.0\n  _enableExperimentalLedgerAppSupport = false;\n\n  /**\n   * It throws an exception if Aeternity app on Ledger has an incompatible version, not opened or\n   * not installed.\n   */\n  async ensureReady(): Promise<void> {\n    const { version } = await this.#getAppConfiguration();\n    const oldApp = [version, '0.4.4', '0.5.0'] as const;\n    const newApp = [version, '1.0.0', '2.0.0'] as const;\n    if (\n      !semverSatisfies(...oldApp) &&\n      (!this._enableExperimentalLedgerAppSupport || !semverSatisfies(...newApp))\n    )\n      throw new UnsupportedVersionError('Aeternity app on Ledger', ...oldApp);\n    this.#ensureReadyPromise = Promise.resolve();\n  }\n\n  async #ensureReady(): Promise<void> {\n    this.#ensureReadyPromise ??= this.ensureReady();\n    return this.#ensureReadyPromise;\n  }\n\n  async #getAppConfiguration(): Promise<AppConfiguration> {\n    let response = await this.transport.send(CLA, GET_APP_CONFIGURATION, 0x00, 0x00);\n    if (response.length === 6) response = response.subarray(1);\n    return {\n      version: [response[0], response[1], response[2]].join('.'),\n    };\n  }\n\n  /**\n   * @returns the version of Aeternity app installed on Ledger wallet\n   */\n  async getAppConfiguration(): Promise<AppConfiguration> {\n    return this.#getAppConfiguration();\n  }\n\n  /**\n   * Get `ak_`-prefixed address for a given account index.\n   * @param accountIndex - Index of account\n   * @param verify - Ask user to confirm address by showing it on the device screen\n   */\n  async getAddress(accountIndex: number, verify = false): Promise<Encoded.AccountAddress> {\n    await this.#ensureReady();\n    const buffer = Buffer.alloc(4);\n    buffer.writeUInt32BE(accountIndex, 0);\n    const response = await this.transport.send(\n      CLA,\n      GET_ADDRESS,\n      verify ? 0x01 : 0x00,\n      0x00,\n      buffer,\n    );\n    const addressLength = response[0];\n    return response.subarray(1, 1 + addressLength).toString('ascii') as Encoded.AccountAddress;\n  }\n\n  /**\n   * Get an instance of AccountLedger for a given account index.\n   * @param accountIndex - Index of account\n   */\n  async initialize(accountIndex: number): Promise<AccountLedger> {\n    return new AccountLedger(this.transport, accountIndex, await this.getAddress(accountIndex));\n  }\n}\n","import type { BaseProvider } from '@metamask/providers';\nimport AccountBase from './Base.js';\nimport { Encoded } from '../utils/encoder.js';\nimport { ArgumentError, InternalError, NotImplementedError } from '../utils/errors.js';\n\nexport const snapId = 'npm:@aeternity-snap/plugin';\n\nexport async function invokeSnap<R>(\n  provider: BaseProvider,\n  method: string,\n  params: unknown,\n  key: string,\n): Promise<R> {\n  const response = await provider.request<{ [k in string]: unknown }>({\n    method: 'wallet_invokeSnap',\n    params: { snapId, request: { method, params } },\n  });\n  if (response == null) throw new InternalError('Empty MetaMask response');\n  if (!(key in response)) {\n    throw new InternalError(`Key ${key} missed in response ${JSON.stringify(response)}`);\n  }\n  return response[key] as R;\n}\n\n/**\n * Account connected to Aeternity Snap for MetaMask\n * https://www.npmjs.com/package/\\@aeternity-snap/plugin\n * @category account\n */\nexport default class AccountMetamask extends AccountBase {\n  /**\n   * @deprecated this class is not intended to provide raw access to the provider\n   */\n  readonly provider: BaseProvider;\n\n  readonly index: number;\n\n  override readonly address: Encoded.AccountAddress;\n\n  /**\n   * @param address - Address of account\n   */\n  constructor(provider: BaseProvider, index: number, address: Encoded.AccountAddress) {\n    super();\n    this.provider = provider;\n    this.index = index;\n    this.address = address;\n  }\n\n  /**\n   * @deprecated Use `unsafeSign` method instead\n   */\n  // eslint-disable-next-line class-methods-use-this\n  override async sign(): Promise<Uint8Array> {\n    return this.unsafeSign();\n  }\n\n  // eslint-disable-next-line class-methods-use-this\n  override async unsafeSign(): Promise<Uint8Array> {\n    throw new NotImplementedError('RAW signing using MetaMask');\n  }\n\n  // eslint-disable-next-line class-methods-use-this\n  override async signTypedData(): Promise<Encoded.Signature> {\n    throw new NotImplementedError('Typed data signing using MetaMask');\n  }\n\n  // eslint-disable-next-line class-methods-use-this\n  override async signDelegation(): Promise<Encoded.Signature> {\n    throw new NotImplementedError('signing delegation using MetaMask');\n  }\n\n  // eslint-disable-next-line class-methods-use-this\n  override async signTransaction(\n    tx: Encoded.Transaction,\n    { innerTx, networkId }: { innerTx?: boolean; networkId?: string } = {},\n  ): Promise<Encoded.Transaction> {\n    if (innerTx != null) throw new NotImplementedError('innerTx option in AccountMetamask');\n    if (networkId == null) throw new ArgumentError('networkId', 'provided', networkId);\n\n    return invokeSnap<Encoded.Transaction>(\n      this.provider,\n      'signTransaction',\n      { derivationPath: [`${this.index}'`, \"0'\", \"0'\"], tx, networkId },\n      'signedTx',\n    );\n  }\n\n  // eslint-disable-next-line class-methods-use-this\n  override async signMessage(message: string): Promise<Uint8Array> {\n    const signature = await invokeSnap<string>(\n      this.provider,\n      'signMessage',\n      {\n        derivationPath: [`${this.index}'`, \"0'\", \"0'\"],\n        message: Buffer.from(message).toString('base64'),\n      },\n      'signature',\n    );\n    return Buffer.from(signature, 'base64');\n  }\n}\n","import type { BaseProvider } from '@metamask/providers';\nimport {\n  InternalError,\n  UnsupportedPlatformError,\n  UnsupportedVersionError,\n} from '../utils/errors.js';\nimport { Encoded } from '../utils/encoder.js';\nimport semverSatisfies from '../utils/semver-satisfies.js';\nimport AccountBaseFactory from './BaseFactory.js';\nimport AccountMetamask, { invokeSnap, snapId } from './Metamask.js';\n\nconst snapMinVersion = '0.0.9';\nconst snapMaxVersion = '0.1.0';\nconst metamaskVersionPrefix = 'MetaMask/v';\n\ninterface SnapDetails {\n  blocked: boolean;\n  enabled: boolean;\n  id: typeof snapId;\n  version: string;\n  initialPermissions: Record<string, unknown>;\n}\n\n/**\n * A factory class that generates instances of AccountMetamask.\n * @see {@link https://www.npmjs.com/package/@aeternity-snap/plugin | Aeternity snap}\n * @category account\n */\nexport default class AccountMetamaskFactory extends AccountBaseFactory {\n  // TODO: remove after removing `provider`\n  #provider: BaseProvider | undefined;\n\n  /**\n   * @deprecated this class is not intended to provide raw access to the provider\n   */\n  get provider(): BaseProvider {\n    if (this.#provider == null) throw new UnsupportedPlatformError('Metamask is not detected yet');\n    return this.#provider;\n  }\n\n  async #getMetamaskAsInjected(): Promise<BaseProvider | undefined> {\n    if (!('ethereum' in window) || window.ethereum == null) return;\n    const provider = window.ethereum as BaseProvider;\n    const version = await provider.request<string>({ method: 'web3_clientVersion' });\n    if (version == null) throw new InternalError(\"Can't get Ethereum Provider version\");\n    if (!version.startsWith(metamaskVersionPrefix)) return;\n    return provider;\n  }\n\n  async #getMetamaskOverEip6963(): Promise<BaseProvider | undefined> {\n    setTimeout(() => window.dispatchEvent(new Event('eip6963:requestProvider')));\n    return new Promise<BaseProvider | undefined>((resolve) => {\n      const handler = (\n        event: CustomEvent<{ info: { rdns: string }; provider: BaseProvider }>,\n      ): void => {\n        if (event.detail.info.rdns !== 'io.metamask') return;\n        window.removeEventListener('eip6963:announceProvider', handler);\n        resolve(event.detail.provider);\n      };\n      window.addEventListener('eip6963:announceProvider', handler);\n      setTimeout(() => {\n        window.removeEventListener('eip6963:announceProvider', handler);\n        resolve(undefined);\n      }, 500);\n    });\n  }\n\n  #providerPromise: Promise<BaseProvider> | undefined;\n\n  async #getProvider(): Promise<BaseProvider> {\n    this.#providerPromise ??= (async () => {\n      this.#provider ??=\n        (await this.#getMetamaskAsInjected()) ?? (await this.#getMetamaskOverEip6963());\n      if (this.#provider == null) {\n        throw new UnsupportedPlatformError(\n          \"Can't find a Metamask extension as an injected provider and over EIP-6963. Ensure that Metamask is installed or setup a provider.\",\n        );\n      }\n      const version = await this.#provider.request<string>({ method: 'web3_clientVersion' });\n      if (version == null) throw new InternalError(\"Can't get Ethereum Provider version\");\n      const args = [version.slice(metamaskVersionPrefix.length), '12.2.4'] as const;\n      if (!semverSatisfies(...args)) throw new UnsupportedVersionError('Metamask', ...args);\n      return this.#provider;\n    })();\n    return this.#providerPromise;\n  }\n\n  /**\n   * @param provider - Connection to MetaMask to use\n   */\n  constructor(provider?: BaseProvider) {\n    super();\n    this.#provider = provider;\n    if (this.#provider == null && window == null) {\n      throw new UnsupportedPlatformError(\n        'Window object not found, you can run AccountMetamaskFactory only in browser or setup a provider',\n      );\n    }\n  }\n\n  /**\n   * Request MetaMask to install Aeternity snap.\n   * @deprecated use `requestSnap` instead\n   */\n  async installSnap(): Promise<SnapDetails> {\n    const provider = await this.#getProvider();\n    const details = (await provider.request({\n      method: 'wallet_requestSnaps',\n      params: { [snapId]: { version: snapMinVersion } },\n    })) as { [key in typeof snapId]: SnapDetails };\n    return details[snapId];\n  }\n\n  /**\n   * Request MetaMask to install Aeternity snap or connect it to the current aepp.\n   * MetaMask can have only one Aeternity snap version installed at a time.\n   * This method is intended to upgrade the snap to a specified version if needed by the aepp.\n   * If Aeternity snap is installed but wasn't used by the aepp, then the user still needs to approve the connection.\n   * If the currently installed version corresponds to the version range, then the snap won't be upgraded.\n   * To downgrade the snap, the user must manually uninstall the current version.\n   * @param version - Snap version range (e.g. `1`, `0.1.*`, `^0.0.9`, `~0.0.9`; `>=0.0.9 <0.1.0`)\n   * (default: a version range supported by sdk)\n   */\n  async requestSnap(version = `>=${snapMinVersion} <${snapMaxVersion}`): Promise<SnapDetails> {\n    const provider = await this.#getProvider();\n    const details = (await provider.request({\n      method: 'wallet_requestSnaps',\n      params: { [snapId]: { version } },\n    })) as { [key in typeof snapId]: SnapDetails };\n    return details[snapId];\n  }\n\n  /**\n   * It throws an exception if MetaMask or Aeternity snap has an incompatible version or is not\n   * installed or is not connected to the aepp.\n   * @deprecated use `requestSnap` instead\n   */\n  async ensureReady(): Promise<void> {\n    const snapVersion = await this.getSnapVersion();\n    const args = [snapVersion, snapMinVersion, snapMaxVersion] as const;\n    if (!semverSatisfies(...args))\n      throw new UnsupportedVersionError('Aeternity snap in MetaMask', ...args);\n  }\n\n  /**\n   * @returns the version of snap installed in MetaMask\n   */\n  async getSnapVersion(): Promise<string> {\n    const provider = await this.#getProvider();\n    const snaps = (await provider.request({ method: 'wallet_getSnaps' })) as Record<\n      string,\n      { version: string }\n    >;\n    const version = snaps[snapId]?.version;\n    if (version == null)\n      throw new UnsupportedPlatformError(\n        'Aeternity snap is not installed to MetaMask or not connected to this aepp',\n      );\n    return version;\n  }\n\n  /**\n   * Get an instance of AccountMetaMask for a given account index.\n   * @param accountIndex - Index of account\n   */\n  async initialize(accountIndex: number): Promise<AccountMetamask> {\n    await this.requestSnap();\n    const provider = await this.#getProvider();\n    const address = await invokeSnap<Encoded.AccountAddress>(\n      provider,\n      'getPublicKey',\n      { derivationPath: [`${accountIndex}'`, \"0'\", \"0'\"] },\n      'publicKey',\n    );\n    return new AccountMetamask(provider, accountIndex, address);\n  }\n}\n","import { Encoded } from '../../utils/encoder.js';\n\ninterface FunctionAci {\n  arguments: any[];\n  name: string;\n  payable: boolean;\n  returns: any;\n  stateful: boolean;\n}\n\nexport type Aci = Array<{\n  contract?: {\n    name: string;\n    event?: any;\n    functions: FunctionAci[];\n    kind: string; // known values: 'contract_main'\n    payable: boolean;\n    typedefs: any[];\n  };\n}>;\n\nexport type CompileResult = Promise<{\n  bytecode: Encoded.ContractBytearray;\n  aci: Aci;\n  warnings: Array<{\n    message: string;\n    pos: {\n      file?: string;\n      line: number;\n      col: number;\n    };\n  }>;\n}>;\n\n/**\n * A base class for all compiler implementations\n * @category contract\n */\nexport default abstract class CompilerBase {\n  /**\n   * Compile contract by contract's path\n   * Available only in Node.js\n   * @param path - Path to contract source code\n   * @returns ACI and bytecode\n   */\n  abstract compile(path: string): CompileResult;\n\n  /**\n   * Compile contract by contract's source code\n   * @param sourceCode - Contract source code as string\n   * @param fileSystem - A map of contract filename to the corresponding contract source code to\n   * include into the main contract\n   * @example\n   * ```js\n   * {\n   *   'library.aes': 'namespace TestLib =\\n  function sum(x: int, y: int) : int = x + y'\n   * }\n   * ```\n   * @returns ACI and bytecode\n   */\n  abstract compileBySourceCode(\n    sourceCode: string,\n    fileSystem?: Record<string, string>,\n  ): CompileResult;\n\n  /**\n   * Generate contract's ACI by contract's path\n   * Available only in Node.js\n   * @param path - Path to contract source code\n   * @returns ACI\n   */\n  abstract generateAci(path: string): Promise<Aci>;\n\n  /**\n   * Generate contract's ACI by contract's source code\n   * @param sourceCode - Contract source code as string\n   * @param fileSystem - A map of contract filename to the corresponding contract source code to\n   * include into the main contract\n   * @example\n   * ```js\n   * {\n   *   'library.aes': 'namespace TestLib =\\n  function sum(x: int, y: int) : int = x + y'\n   * }\n   * ```\n   * @returns ACI\n   */\n  abstract generateAciBySourceCode(\n    sourceCode: string,\n    fileSystem?: Record<string, string>,\n  ): Promise<Aci>;\n\n  /**\n   * Verify that a contract bytecode is the result of compiling the given source code\n   * Available only in Node.js\n   * @param bytecode - Contract bytecode to verify\n   * @param path - Path to contract source code\n   * @returns ACI and bytecode\n   */\n  abstract validate(bytecode: Encoded.ContractBytearray, path: string): Promise<boolean>;\n\n  /**\n   * Verify that a contract bytecode is the result of compiling the given source code\n   * @param bytecode - Contract bytecode to verify\n   * @param sourceCode - Contract source code as string\n   * @param fileSystem - A map of contract filename to the corresponding contract source code to\n   * include into the main contract\n   * @example\n   * ```js\n   * {\n   *   'library.aes': 'namespace TestLib =\\n  function sum(x: int, y: int) : int = x + y'\n   * }\n   * ```\n   */\n  abstract validateBySourceCode(\n    bytecode: Encoded.ContractBytearray,\n    sourceCode: string,\n    fileSystem?: Record<string, string>,\n  ): Promise<boolean>;\n\n  /**\n   * @returns Compiler version\n   */\n  abstract version(): Promise<string>;\n}\n","import * as coreClient from \"@azure/core-client\";\n\nexport const Contract: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"Contract\",\n    modelProperties: {\n      code: {\n        serializedName: \"code\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      options: {\n        serializedName: \"options\",\n        type: {\n          name: \"Composite\",\n          className: \"CompileOpts\",\n        },\n      },\n    },\n  },\n};\n\nexport const CompileOpts: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"CompileOpts\",\n    modelProperties: {\n      fileSystem: {\n        serializedName: \"file_system\",\n        type: {\n          name: \"Dictionary\",\n          value: { type: { name: \"any\" } },\n        },\n      },\n      srcFile: {\n        serializedName: \"src_file\",\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const CompilerError: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"CompilerError\",\n    modelProperties: {\n      type: {\n        serializedName: \"type\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      pos: {\n        serializedName: \"pos\",\n        type: {\n          name: \"Composite\",\n          className: \"ErrorPos\",\n        },\n      },\n      message: {\n        serializedName: \"message\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      context: {\n        serializedName: \"context\",\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const ErrorPos: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"ErrorPos\",\n    modelProperties: {\n      file: {\n        serializedName: \"file\",\n        type: {\n          name: \"String\",\n        },\n      },\n      line: {\n        serializedName: \"line\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      col: {\n        serializedName: \"col\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n    },\n  },\n};\n\nexport const CompileResult: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"CompileResult\",\n    modelProperties: {\n      bytecode: {\n        serializedName: \"bytecode\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      aci: {\n        serializedName: \"aci\",\n        required: true,\n        type: {\n          name: \"Sequence\",\n          element: {\n            type: {\n              name: \"Dictionary\",\n              value: { type: { name: \"any\" } },\n            },\n          },\n        },\n      },\n      warnings: {\n        serializedName: \"warnings\",\n        required: true,\n        type: {\n          name: \"Sequence\",\n          element: {\n            type: {\n              name: \"Composite\",\n              className: \"CompilerError\",\n            },\n          },\n        },\n      },\n    },\n  },\n};\n\nexport const SophiaCallResultInput: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"SophiaCallResultInput\",\n    modelProperties: {\n      source: {\n        serializedName: \"source\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      options: {\n        serializedName: \"options\",\n        type: {\n          name: \"Composite\",\n          className: \"CompileOpts\",\n        },\n      },\n      function: {\n        serializedName: \"function\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      callResult: {\n        serializedName: \"call-result\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      callValue: {\n        serializedName: \"call-value\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const BytecodeCallResultInput: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"BytecodeCallResultInput\",\n    modelProperties: {\n      bytecode: {\n        serializedName: \"bytecode\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      function: {\n        serializedName: \"function\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      callResult: {\n        serializedName: \"call-result\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      callValue: {\n        serializedName: \"call-value\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const DecodedCallresult: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"DecodedCallresult\",\n    modelProperties: {\n      function: {\n        serializedName: \"function\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      result: {\n        serializedName: \"result\",\n        required: true,\n        type: {\n          name: \"Dictionary\",\n          value: { type: { name: \"any\" } },\n        },\n      },\n    },\n  },\n};\n\nexport const FunctionCallInput: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"FunctionCallInput\",\n    modelProperties: {\n      source: {\n        serializedName: \"source\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      options: {\n        serializedName: \"options\",\n        type: {\n          name: \"Composite\",\n          className: \"CompileOpts\",\n        },\n      },\n      function: {\n        serializedName: \"function\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      arguments: {\n        serializedName: \"arguments\",\n        required: true,\n        type: {\n          name: \"Sequence\",\n          element: {\n            type: {\n              name: \"String\",\n            },\n          },\n        },\n      },\n    },\n  },\n};\n\nexport const Calldata: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"Calldata\",\n    modelProperties: {\n      calldata: {\n        serializedName: \"calldata\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const DecodeCalldataBytecode: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"DecodeCalldataBytecode\",\n    modelProperties: {\n      calldata: {\n        serializedName: \"calldata\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      bytecode: {\n        serializedName: \"bytecode\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const DecodedCalldata: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"DecodedCalldata\",\n    modelProperties: {\n      function: {\n        serializedName: \"function\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      arguments: {\n        serializedName: \"arguments\",\n        required: true,\n        type: {\n          name: \"Sequence\",\n          element: {\n            type: {\n              name: \"Dictionary\",\n              value: { type: { name: \"any\" } },\n            },\n          },\n        },\n      },\n    },\n  },\n};\n\nexport const ErrorModel: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"ErrorModel\",\n    modelProperties: {\n      reason: {\n        serializedName: \"reason\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const DecodeCalldataSource: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"DecodeCalldataSource\",\n    modelProperties: {\n      source: {\n        serializedName: \"source\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      options: {\n        serializedName: \"options\",\n        type: {\n          name: \"Composite\",\n          className: \"CompileOpts\",\n        },\n      },\n      calldata: {\n        serializedName: \"calldata\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      function: {\n        serializedName: \"function\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const ByteCodeInput: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"ByteCodeInput\",\n    modelProperties: {\n      bytecode: {\n        serializedName: \"bytecode\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const FateAssembler: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"FateAssembler\",\n    modelProperties: {\n      fateAssembler: {\n        serializedName: \"fate-assembler\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const ValidateByteCodeInput: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"ValidateByteCodeInput\",\n    modelProperties: {\n      bytecode: {\n        serializedName: \"bytecode\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      source: {\n        serializedName: \"source\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      options: {\n        serializedName: \"options\",\n        type: {\n          name: \"Composite\",\n          className: \"CompileOpts\",\n        },\n      },\n    },\n  },\n};\n\nexport const CompilerVersion: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"CompilerVersion\",\n    modelProperties: {\n      version: {\n        serializedName: \"version\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const ApiVersion: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"ApiVersion\",\n    modelProperties: {\n      apiVersion: {\n        serializedName: \"api-version\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const SophiaBinaryData: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"SophiaBinaryData\",\n    modelProperties: {\n      sophiaType: {\n        serializedName: \"sophia-type\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      data: {\n        serializedName: \"data\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const SophiaJsonData: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"SophiaJsonData\",\n    modelProperties: {\n      data: {\n        serializedName: \"data\",\n        required: true,\n        type: {\n          name: \"Dictionary\",\n          value: { type: { name: \"any\" } },\n        },\n      },\n    },\n  },\n};\n","import { OperationParameter, OperationURLParameter } from \"@azure/core-client\";\nimport {\n  Contract as ContractMapper,\n  SophiaCallResultInput as SophiaCallResultInputMapper,\n  BytecodeCallResultInput as BytecodeCallResultInputMapper,\n  FunctionCallInput as FunctionCallInputMapper,\n  DecodeCalldataBytecode as DecodeCalldataBytecodeMapper,\n  DecodeCalldataSource as DecodeCalldataSourceMapper,\n  ByteCodeInput as ByteCodeInputMapper,\n  ValidateByteCodeInput as ValidateByteCodeInputMapper,\n} from \"../models/mappers.js\";\n\nexport const contentType: OperationParameter = {\n  parameterPath: [\"options\", \"contentType\"],\n  mapper: {\n    defaultValue: \"application/json\",\n    isConstant: true,\n    serializedName: \"Content-Type\",\n    type: {\n      name: \"String\",\n    },\n  },\n};\n\nexport const body: OperationParameter = {\n  parameterPath: \"body\",\n  mapper: ContractMapper,\n};\n\nexport const accept: OperationParameter = {\n  parameterPath: \"accept\",\n  mapper: {\n    defaultValue: \"application/json\",\n    isConstant: true,\n    serializedName: \"Accept\",\n    type: {\n      name: \"String\",\n    },\n  },\n};\n\nexport const $host: OperationURLParameter = {\n  parameterPath: \"$host\",\n  mapper: {\n    serializedName: \"$host\",\n    required: true,\n    type: {\n      name: \"String\",\n    },\n  },\n  skipEncoding: true,\n};\n\nexport const body1: OperationParameter = {\n  parameterPath: \"body\",\n  mapper: SophiaCallResultInputMapper,\n};\n\nexport const body2: OperationParameter = {\n  parameterPath: \"body\",\n  mapper: BytecodeCallResultInputMapper,\n};\n\nexport const body3: OperationParameter = {\n  parameterPath: \"body\",\n  mapper: FunctionCallInputMapper,\n};\n\nexport const body4: OperationParameter = {\n  parameterPath: \"body\",\n  mapper: DecodeCalldataBytecodeMapper,\n};\n\nexport const body5: OperationParameter = {\n  parameterPath: \"body\",\n  mapper: DecodeCalldataSourceMapper,\n};\n\nexport const body6: OperationParameter = {\n  parameterPath: \"body\",\n  mapper: ByteCodeInputMapper,\n};\n\nexport const body7: OperationParameter = {\n  parameterPath: \"body\",\n  mapper: ValidateByteCodeInputMapper,\n};\n","import * as coreClient from \"@azure/core-client\";\nimport * as Parameters from \"./models/parameters.js\";\nimport * as Mappers from \"./models/mappers.js\";\nimport {\n  CompilerOptionalParams,\n  Contract,\n  GenerateACIOptionalParams,\n  GenerateACIResponse,\n  CompileContractOptionalParams,\n  CompileContractResponse,\n  SophiaCallResultInput,\n  DecodeCallResultOptionalParams,\n  DecodeCallResultResponse,\n  BytecodeCallResultInput,\n  DecodeCallResultBytecodeOptionalParams,\n  DecodeCallResultBytecodeResponse,\n  FunctionCallInput,\n  EncodeCalldataOptionalParams,\n  EncodeCalldataResponse,\n  DecodeCalldataBytecode,\n  DecodeCalldataBytecodeOptionalParams,\n  DecodeCalldataBytecodeResponse,\n  DecodeCalldataSource,\n  DecodeCalldataSourceOptionalParams,\n  DecodeCalldataSourceResponse,\n  ByteCodeInput,\n  GetFateAssemblerCodeOptionalParams,\n  GetFateAssemblerCodeResponse,\n  ValidateByteCodeInput,\n  ValidateByteCodeOptionalParams,\n  GetCompilerVersionOptionalParams,\n  GetCompilerVersionResponse,\n  VersionOptionalParams,\n  VersionResponse,\n  ApiVersionOptionalParams,\n  ApiVersionResponse,\n  ApiOptionalParams,\n  ApiResponse,\n} from \"./models/index.js\";\n\nexport class Compiler extends coreClient.ServiceClient {\n  readonly $host: string;\n\n  /**\n   * Initializes a new instance of the Compiler class.\n   * @param $host server parameter\n   * @param options The parameter options\n   */\n  constructor($host: string, options?: CompilerOptionalParams) {\n    if ($host === undefined) {\n      throw new Error(\"'$host' cannot be null\");\n    }\n\n    // Initializing default values for options\n    if (!options) {\n      options = {};\n    }\n    const defaults: CompilerOptionalParams = {\n      requestContentType: \"application/json; charset=utf-8\",\n    };\n\n    const packageDetails = `azsdk-js-compiler/1.0.0-beta.1`;\n    const userAgentPrefix =\n      options.userAgentOptions && options.userAgentOptions.userAgentPrefix\n        ? `${options.userAgentOptions.userAgentPrefix} ${packageDetails}`\n        : `${packageDetails}`;\n\n    const optionsWithDefaults = {\n      ...defaults,\n      ...options,\n      userAgentOptions: {\n        userAgentPrefix,\n      },\n      endpoint: options.endpoint ?? options.baseUri ?? \"{$host}\",\n    };\n    super(optionsWithDefaults);\n    // Parameter assignments\n    this.$host = $host;\n  }\n\n  /**\n   * Generate an Aeternity Contract Interface (ACI) for contract\n   * @param body contract code\n   * @param options The options parameters.\n   */\n  generateACI(\n    body: Contract,\n    options?: GenerateACIOptionalParams,\n  ): Promise<GenerateACIResponse> {\n    return this.sendOperationRequest(\n      { body, options },\n      generateACIOperationSpec,\n    );\n  }\n\n  /**\n   * Compile a sophia contract from source and return byte code and ACI\n   * @param body contract code\n   * @param options The options parameters.\n   */\n  compileContract(\n    body: Contract,\n    options?: CompileContractOptionalParams,\n  ): Promise<CompileContractResponse> {\n    return this.sendOperationRequest(\n      { body, options },\n      compileContractOperationSpec,\n    );\n  }\n\n  /**\n   * Decode the result of contract call\n   * @param body Binary data in Sophia ABI format\n   * @param options The options parameters.\n   */\n  decodeCallResult(\n    body: SophiaCallResultInput,\n    options?: DecodeCallResultOptionalParams,\n  ): Promise<DecodeCallResultResponse> {\n    return this.sendOperationRequest(\n      { body, options },\n      decodeCallResultOperationSpec,\n    );\n  }\n\n  /**\n   * Decode the result of contract call from Bytecode\n   * @param body Call result + compiled contract\n   * @param options The options parameters.\n   */\n  decodeCallResultBytecode(\n    body: BytecodeCallResultInput,\n    options?: DecodeCallResultBytecodeOptionalParams,\n  ): Promise<DecodeCallResultBytecodeResponse> {\n    return this.sendOperationRequest(\n      { body, options },\n      decodeCallResultBytecodeOperationSpec,\n    );\n  }\n\n  /**\n   * Encode Sophia function call according to sophia ABI.\n   * @param body Sophia function call - contract code + function name + arguments\n   * @param options The options parameters.\n   */\n  encodeCalldata(\n    body: FunctionCallInput,\n    options?: EncodeCalldataOptionalParams,\n  ): Promise<EncodeCalldataResponse> {\n    return this.sendOperationRequest(\n      { body, options },\n      encodeCalldataOperationSpec,\n    );\n  }\n\n  /**\n   * Identify function name and arguments in Calldata for a compiled contract\n   * @param body Calldata + compiled contract\n   * @param options The options parameters.\n   */\n  decodeCalldataBytecode(\n    body: DecodeCalldataBytecode,\n    options?: DecodeCalldataBytecodeOptionalParams,\n  ): Promise<DecodeCalldataBytecodeResponse> {\n    return this.sendOperationRequest(\n      { body, options },\n      decodeCalldataBytecodeOperationSpec,\n    );\n  }\n\n  /**\n   * Identify function name and arguments in Calldata for a (partial) contract\n   * @param body Calldata + contract (stub) code\n   * @param options The options parameters.\n   */\n  decodeCalldataSource(\n    body: DecodeCalldataSource,\n    options?: DecodeCalldataSourceOptionalParams,\n  ): Promise<DecodeCalldataSourceResponse> {\n    return this.sendOperationRequest(\n      { body, options },\n      decodeCalldataSourceOperationSpec,\n    );\n  }\n\n  /**\n   * Get FATE assembler code from bytecode\n   * @param body contract byte array\n   * @param options The options parameters.\n   */\n  getFateAssemblerCode(\n    body: ByteCodeInput,\n    options?: GetFateAssemblerCodeOptionalParams,\n  ): Promise<GetFateAssemblerCodeResponse> {\n    return this.sendOperationRequest(\n      { body, options },\n      getFateAssemblerCodeOperationSpec,\n    );\n  }\n\n  /**\n   * Verify that an encoded byte array is the result of compiling a given contract\n   * @param body contract byte array and source code\n   * @param options The options parameters.\n   */\n  validateByteCode(\n    body: ValidateByteCodeInput,\n    options?: ValidateByteCodeOptionalParams,\n  ): Promise<void> {\n    return this.sendOperationRequest(\n      { body, options },\n      validateByteCodeOperationSpec,\n    );\n  }\n\n  /**\n   * Extract compiler version from bytecode\n   * @param body contract byte array\n   * @param options The options parameters.\n   */\n  getCompilerVersion(\n    body: ByteCodeInput,\n    options?: GetCompilerVersionOptionalParams,\n  ): Promise<GetCompilerVersionResponse> {\n    return this.sendOperationRequest(\n      { body, options },\n      getCompilerVersionOperationSpec,\n    );\n  }\n\n  /**\n   * Get the version of the underlying Sophia compiler version\n   * @param options The options parameters.\n   */\n  version(options?: VersionOptionalParams): Promise<VersionResponse> {\n    return this.sendOperationRequest({ options }, versionOperationSpec);\n  }\n\n  /**\n   * Get the version of the API\n   * @param options The options parameters.\n   */\n  apiVersion(options?: ApiVersionOptionalParams): Promise<ApiVersionResponse> {\n    return this.sendOperationRequest({ options }, apiVersionOperationSpec);\n  }\n\n  /**\n   * Get the Api description\n   * @param options The options parameters.\n   */\n  api(options?: ApiOptionalParams): Promise<ApiResponse> {\n    return this.sendOperationRequest({ options }, apiOperationSpec);\n  }\n}\n// Operation Specifications\nconst serializer = coreClient.createSerializer(Mappers, /* isXml */ false);\n\nconst generateACIOperationSpec: coreClient.OperationSpec = {\n  path: \"/aci\",\n  httpMethod: \"POST\",\n  responses: {\n    200: {\n      bodyMapper: {\n        type: {\n          name: \"Sequence\",\n          element: {\n            type: { name: \"Dictionary\", value: { type: { name: \"any\" } } },\n          },\n        },\n      },\n    },\n    400: {\n      bodyMapper: {\n        type: {\n          name: \"Sequence\",\n          element: { type: { name: \"Composite\", className: \"CompilerError\" } },\n        },\n      },\n      isError: true,\n    },\n  },\n  requestBody: Parameters.body,\n  urlParameters: [Parameters.$host],\n  headerParameters: [Parameters.contentType, Parameters.accept],\n  mediaType: \"json\",\n  serializer,\n};\nconst compileContractOperationSpec: coreClient.OperationSpec = {\n  path: \"/compile\",\n  httpMethod: \"POST\",\n  responses: {\n    200: {\n      bodyMapper: Mappers.CompileResult,\n    },\n    400: {\n      bodyMapper: {\n        type: {\n          name: \"Sequence\",\n          element: { type: { name: \"Composite\", className: \"CompilerError\" } },\n        },\n      },\n      isError: true,\n    },\n  },\n  requestBody: Parameters.body,\n  urlParameters: [Parameters.$host],\n  headerParameters: [Parameters.contentType, Parameters.accept],\n  mediaType: \"json\",\n  serializer,\n};\nconst decodeCallResultOperationSpec: coreClient.OperationSpec = {\n  path: \"/decode-call-result\",\n  httpMethod: \"POST\",\n  responses: {\n    200: {\n      bodyMapper: { type: { name: \"any\" } },\n    },\n    400: {\n      bodyMapper: {\n        type: {\n          name: \"Sequence\",\n          element: { type: { name: \"Composite\", className: \"CompilerError\" } },\n        },\n      },\n      isError: true,\n    },\n  },\n  requestBody: Parameters.body1,\n  urlParameters: [Parameters.$host],\n  headerParameters: [Parameters.contentType, Parameters.accept],\n  mediaType: \"json\",\n  serializer,\n};\nconst decodeCallResultBytecodeOperationSpec: coreClient.OperationSpec = {\n  path: \"/decode-call-result/bytecode\",\n  httpMethod: \"POST\",\n  responses: {\n    200: {\n      bodyMapper: Mappers.DecodedCallresult,\n    },\n    400: {\n      bodyMapper: {\n        type: {\n          name: \"Sequence\",\n          element: { type: { name: \"Composite\", className: \"CompilerError\" } },\n        },\n      },\n      isError: true,\n    },\n  },\n  requestBody: Parameters.body2,\n  urlParameters: [Parameters.$host],\n  headerParameters: [Parameters.contentType, Parameters.accept],\n  mediaType: \"json\",\n  serializer,\n};\nconst encodeCalldataOperationSpec: coreClient.OperationSpec = {\n  path: \"/encode-calldata\",\n  httpMethod: \"POST\",\n  responses: {\n    200: {\n      bodyMapper: Mappers.Calldata,\n    },\n    400: {\n      bodyMapper: {\n        type: {\n          name: \"Sequence\",\n          element: { type: { name: \"Composite\", className: \"CompilerError\" } },\n        },\n      },\n      isError: true,\n    },\n  },\n  requestBody: Parameters.body3,\n  urlParameters: [Parameters.$host],\n  headerParameters: [Parameters.contentType, Parameters.accept],\n  mediaType: \"json\",\n  serializer,\n};\nconst decodeCalldataBytecodeOperationSpec: coreClient.OperationSpec = {\n  path: \"/decode-calldata/bytecode\",\n  httpMethod: \"POST\",\n  responses: {\n    200: {\n      bodyMapper: Mappers.DecodedCalldata,\n    },\n    400: {\n      bodyMapper: Mappers.ErrorModel,\n      isError: true,\n    },\n  },\n  requestBody: Parameters.body4,\n  urlParameters: [Parameters.$host],\n  headerParameters: [Parameters.contentType, Parameters.accept],\n  mediaType: \"json\",\n  serializer,\n};\nconst decodeCalldataSourceOperationSpec: coreClient.OperationSpec = {\n  path: \"/decode-calldata/source\",\n  httpMethod: \"POST\",\n  responses: {\n    200: {\n      bodyMapper: Mappers.DecodedCalldata,\n    },\n    400: {\n      bodyMapper: {\n        type: {\n          name: \"Sequence\",\n          element: { type: { name: \"Composite\", className: \"CompilerError\" } },\n        },\n      },\n      isError: true,\n    },\n  },\n  requestBody: Parameters.body5,\n  urlParameters: [Parameters.$host],\n  headerParameters: [Parameters.contentType, Parameters.accept],\n  mediaType: \"json\",\n  serializer,\n};\nconst getFateAssemblerCodeOperationSpec: coreClient.OperationSpec = {\n  path: \"/fate-assembler\",\n  httpMethod: \"POST\",\n  responses: {\n    200: {\n      bodyMapper: Mappers.FateAssembler,\n    },\n    400: {\n      bodyMapper: Mappers.ErrorModel,\n      isError: true,\n    },\n  },\n  requestBody: Parameters.body6,\n  urlParameters: [Parameters.$host],\n  headerParameters: [Parameters.contentType, Parameters.accept],\n  mediaType: \"json\",\n  serializer,\n};\nconst validateByteCodeOperationSpec: coreClient.OperationSpec = {\n  path: \"/validate-byte-code\",\n  httpMethod: \"POST\",\n  responses: {\n    200: {},\n    400: {\n      bodyMapper: {\n        type: {\n          name: \"Sequence\",\n          element: { type: { name: \"Composite\", className: \"CompilerError\" } },\n        },\n      },\n      isError: true,\n    },\n  },\n  requestBody: Parameters.body7,\n  urlParameters: [Parameters.$host],\n  headerParameters: [Parameters.contentType, Parameters.accept],\n  mediaType: \"json\",\n  serializer,\n};\nconst getCompilerVersionOperationSpec: coreClient.OperationSpec = {\n  path: \"/compiler-version\",\n  httpMethod: \"POST\",\n  responses: {\n    200: {\n      bodyMapper: Mappers.CompilerVersion,\n    },\n    400: {\n      bodyMapper: Mappers.ErrorModel,\n      isError: true,\n    },\n  },\n  requestBody: Parameters.body6,\n  urlParameters: [Parameters.$host],\n  headerParameters: [Parameters.contentType, Parameters.accept],\n  mediaType: \"json\",\n  serializer,\n};\nconst versionOperationSpec: coreClient.OperationSpec = {\n  path: \"/version\",\n  httpMethod: \"GET\",\n  responses: {\n    200: {\n      bodyMapper: Mappers.CompilerVersion,\n    },\n    500: {\n      bodyMapper: Mappers.ErrorModel,\n      isError: true,\n    },\n  },\n  urlParameters: [Parameters.$host],\n  headerParameters: [Parameters.accept],\n  serializer,\n};\nconst apiVersionOperationSpec: coreClient.OperationSpec = {\n  path: \"/api-version\",\n  httpMethod: \"GET\",\n  responses: {\n    200: {\n      bodyMapper: Mappers.ApiVersion,\n    },\n    500: {\n      bodyMapper: Mappers.ErrorModel,\n      isError: true,\n    },\n  },\n  urlParameters: [Parameters.$host],\n  headerParameters: [Parameters.accept],\n  serializer,\n};\nconst apiOperationSpec: coreClient.OperationSpec = {\n  path: \"/api\",\n  httpMethod: \"GET\",\n  responses: {\n    200: {\n      bodyMapper: {\n        type: { name: \"Dictionary\", value: { type: { name: \"any\" } } },\n      },\n    },\n    400: {\n      bodyMapper: Mappers.ErrorModel,\n      isError: true,\n    },\n  },\n  urlParameters: [Parameters.$host],\n  headerParameters: [Parameters.accept],\n  serializer,\n};\n","import {\n  RestError,\n  userAgentPolicyName,\n  setClientRequestIdPolicyName,\n} from '@azure/core-rest-pipeline';\nimport { OperationOptions } from '@azure/core-client';\nimport {\n  Compiler as CompilerApi,\n  ErrorModel,\n  CompilerError as CompilerErrorApi,\n} from '../../apis/compiler/index.js';\nimport { genErrorFormatterPolicy, genVersionCheckPolicy } from '../../utils/autorest.js';\nimport CompilerBase, { Aci, CompileResult } from './Base.js';\nimport { Encoded } from '../../utils/encoder.js';\nimport { CompilerError, NotImplementedError } from '../../utils/errors.js';\n\ntype GeneralCompilerError = ErrorModel & {\n  info?: object;\n  parameter?: string;\n};\n\n/**\n * Contract Compiler over HTTP\n *\n * This class include api call's related to contract compiler functionality.\n * @category contract\n * @example CompilerHttp('COMPILER_URL')\n */\nexport default class CompilerHttp extends CompilerBase {\n  readonly api: CompilerApi;\n\n  /**\n   * @param compilerUrl - Url for compiler API\n   * @param options - Options\n   * @param options.ignoreVersion - Print warning instead of throwing exception if compiler version\n   * is not supported, use with caution\n   */\n  constructor(compilerUrl: string, { ignoreVersion = false }: { ignoreVersion?: boolean } = {}) {\n    super();\n\n    let version: string | undefined;\n    const getVersion = async (opts: OperationOptions): Promise<string> => {\n      if (version != null) return version;\n      version = (await this.api.apiVersion(opts)).apiVersion;\n      return version;\n    };\n\n    this.api = new CompilerApi(compilerUrl, {\n      allowInsecureConnection: true,\n      additionalPolicies: [\n        genVersionCheckPolicy('compiler', getVersion, '8.0.0', '9.0.0', ignoreVersion),\n        genErrorFormatterPolicy((body: GeneralCompilerError | CompilerErrorApi[]) => {\n          let message = '';\n          if ('reason' in body) {\n            message += ` ${body.reason}${\n              body.parameter != null ? ` in ${body.parameter}` : ''\n              // TODO: revising after improving documentation https://github.com/aeternity/aesophia_http/issues/78\n            }${body.info != null ? ` (${JSON.stringify(body.info)})` : ''}`;\n          }\n          if (Array.isArray(body)) {\n            message += `\\n${body\n              .map(\n                (e) =>\n                  `${e.type}:${e.pos.line}:${e.pos.col}: ${e.message}${e.context != null ? ` (${e.context})` : ''}`,\n              )\n              .join('\\n')}`;\n          }\n          return message;\n        }),\n      ],\n    });\n    this.api.pipeline.removePolicy({ name: userAgentPolicyName });\n    this.api.pipeline.removePolicy({ name: setClientRequestIdPolicyName });\n  }\n\n  async compileBySourceCode(\n    sourceCode: string,\n    fileSystem?: Record<string, string>,\n  ): CompileResult {\n    try {\n      const cmpOut = await this.api.compileContract({ code: sourceCode, options: { fileSystem } });\n      const warnings = cmpOut.warnings.map(({ type, ...warning }) => warning);\n      const res = { ...cmpOut, warnings };\n      // TODO: should be fixed when the compiledAci interface gets updated\n      return res as Awaited<CompileResult>;\n    } catch (error) {\n      if (error instanceof RestError && error.statusCode === 400) {\n        throw new CompilerError(error.message);\n      }\n      throw error;\n    }\n  }\n\n  // eslint-disable-next-line class-methods-use-this, @typescript-eslint/no-unused-vars\n  async compile(path: string): CompileResult {\n    throw new NotImplementedError('File system access, use CompilerHttpNode instead');\n  }\n\n  async generateAciBySourceCode(\n    sourceCode: string,\n    fileSystem?: Record<string, string>,\n  ): Promise<Aci> {\n    try {\n      return await this.api.generateACI({ code: sourceCode, options: { fileSystem } });\n    } catch (error) {\n      if (error instanceof RestError && error.statusCode === 400) {\n        throw new CompilerError(error.message);\n      }\n      throw error;\n    }\n  }\n\n  // eslint-disable-next-line class-methods-use-this, @typescript-eslint/no-unused-vars\n  async generateAci(path: string): Promise<Aci> {\n    throw new NotImplementedError('File system access, use CompilerHttpNode instead');\n  }\n\n  async validateBySourceCode(\n    bytecode: Encoded.ContractBytearray,\n    sourceCode: string,\n    fileSystem?: Record<string, string>,\n  ): Promise<boolean> {\n    try {\n      await this.api.validateByteCode({ bytecode, source: sourceCode, options: { fileSystem } });\n      return true;\n    } catch {\n      return false;\n    }\n  }\n\n  // eslint-disable-next-line class-methods-use-this, @typescript-eslint/no-unused-vars\n  async validate(bytecode: Encoded.ContractBytearray, path: string): Promise<boolean> {\n    throw new NotImplementedError('File system access, use CompilerHttpNode instead');\n  }\n\n  async version(): Promise<string> {\n    return (await this.api.version()).version;\n  }\n}\n","/**\n * Convert string from snake_case to PascalCase\n * @param s - String to convert\n * @returns Converted string\n */\nexport function snakeToPascal(s: string): string {\n  return s.replace(/_./g, (match) => match[1].toUpperCase());\n}\n\n/**\n * Convert string from PascalCase to snake_case\n * @param s - String to convert\n * @returns Converted string\n */\nexport function pascalToSnake(s: string): string {\n  return s.replace(/[A-Z]/g, (match) => `_${match.toLowerCase()}`);\n}\n","import { default as websocket, ICloseEvent } from 'websocket';\nimport BigNumber from 'bignumber.js';\nimport type Channel from './Base.js';\nimport JsonBig from '../utils/json-big.js';\nimport { pascalToSnake } from '../utils/string.js';\nimport { Encoded } from '../utils/encoder.js';\nimport {\n  BaseError,\n  ChannelCallError,\n  ChannelPingTimedOutError,\n  UnexpectedTsError,\n  UnknownChannelStateError,\n  ChannelIncomingMessageError,\n  ChannelError,\n} from '../utils/errors.js';\nimport { buildContractId } from '../tx/builder/helpers.js';\nimport { ensureError } from '../utils/other.js';\n\nconst { w3cwebsocket: W3CWebSocket } = websocket;\n\nexport interface ChannelEvents {\n  statusChanged: (status: ChannelStatus) => void;\n  stateChanged: (tx: Encoded.Transaction | '') => void;\n  depositLocked: () => void;\n  ownDepositLocked: () => void;\n  withdrawLocked: () => void;\n  ownWithdrawLocked: () => void;\n  peerDisconnected: () => void;\n  channelReestablished: () => void;\n  error: (error: Error) => void;\n  onChainTx: (tx: Encoded.Transaction, details: { info: string; type: string }) => void;\n  message: (message: string | Object) => void;\n  newContract: (contractAddress: Encoded.ContractAddress) => void;\n}\n\nexport interface ChannelAction {\n  guard: (channel: Channel, state?: ChannelFsm) => boolean;\n  action: (channel: Channel, state?: ChannelFsm) => ChannelFsm;\n}\n\ninterface SignOptions {\n  updates?: any[];\n  [k: string]: any;\n}\nexport type SignTxWithTag = (\n  tag: string,\n  tx: Encoded.Transaction,\n  options?: SignOptions,\n) => Promise<Encoded.Transaction>;\n// TODO: SignTx shouldn't return number or null\nexport type SignTx = (\n  tx: Encoded.Transaction,\n  options?: SignOptions,\n) => Promise<Encoded.Transaction | number | null>;\n\n/**\n * @see {@link https://github.com/aeternity/protocol/blob/6734de2e4c7cce7e5e626caa8305fb535785131d/node/api/channels_api_usage.md#channel-establishing-parameters}\n */\ninterface CommonChannelOptions {\n  /**\n   * Channel url (for example: \"ws://localhost:3001\")\n   */\n  url: string;\n\n  /**\n   * Initiator's public key\n   */\n  initiatorId: Encoded.AccountAddress;\n  /**\n   * Responder's public key\n   */\n  responderId: Encoded.AccountAddress;\n  /**\n   * Amount of blocks for disputing a solo close\n   */\n  lockPeriod: number;\n  /**\n   * Initial deposit in favour of the responder by the initiator\n   */\n  pushAmount: BigNumber | number;\n  /**\n   * Amount of coins the initiator has committed to the channel\n   */\n  initiatorAmount: BigNumber | number;\n  /**\n   * Amount of coins the responder has committed to the channel\n   */\n  responderAmount: BigNumber | number;\n  /**\n   * The minimum amount both peers need to maintain\n   */\n  channelReserve?: BigNumber | number;\n  /**\n   * Minimum block height to include the channel_create_tx\n   */\n  ttl?: number;\n  /**\n   * The port of the responder's node\n   */\n  port: number;\n  /**\n   * How to calculate minimum depth (default: txfee)\n   */\n  minimumDepthStrategy?: 'txfee' | 'plain';\n  /**\n   * The minimum amount of blocks to be mined\n   */\n  minimumDepth?: number;\n  /**\n   * The fee to be used for the channel open transaction\n   */\n  fee?: BigNumber | number;\n  /**\n   * Used for the fee computation of the channel open transaction\n   */\n  gasPrice?: BigNumber | number;\n\n  signedTx?: Encoded.Transaction;\n  /**\n   * Existing channel id (required if reestablishing a channel)\n   */\n  existingChannelId?: Encoded.Channel;\n  /**\n   * Existing FSM id (required if reestablishing a channel)\n   */\n  existingFsmId?: Encoded.Bytearray;\n  /**\n   * Needs to be provided if reconnecting with calling `leave` before\n   */\n  // TODO: remove after solving https://github.com/aeternity/aeternity/issues/4399\n  reestablish?: boolean;\n  /**\n   * The time waiting for a new event to be initiated (default: 600000)\n   */\n  timeoutIdle?: number;\n  /**\n   * The time waiting for the initiator to produce the create channel transaction after the noise\n   * session had been established (default: 120000)\n   */\n  timeoutFundingCreate?: number;\n  /**\n   * The time frame the other client has to sign an off-chain update after our client had initiated\n   * and signed it. This applies only for double signed on-chain intended updates: channel create\n   * transaction, deposit, withdrawal and etc. (default: 120000)\n   */\n  timeoutFundingSign?: number;\n  /**\n   * The time frame the other client has to confirm an on-chain transaction reaching maturity\n   * (passing minimum depth) after the local node has detected this. This applies only for double\n   * signed on-chain intended updates: channel create transaction, deposit, withdrawal and etc.\n   * (default: 360000)\n   */\n  timeoutFundingLock?: number;\n  /**\n   * The time frame the client has to return a signed off-chain update or to decline it.\n   * This applies for all off-chain updates (default: 500000)\n   */\n  timeoutSign?: number;\n  /**\n   * The time frame the other client has to react to an event. This applies for all off-chain\n   * updates that are not meant to land on-chain, as well as some special cases: opening a noise\n   * connection, mutual closing acknowledgement and reestablishing an existing channel\n   * (default: 120000)\n   */\n  timeoutAccept?: number;\n  /**\n   * the time frame the responder has to accept an incoming noise session.\n   * Applicable only for initiator (default: timeout_accept's value)\n   */\n  timeoutInitialized?: number;\n  /**\n   * The time frame the initiator has to start an outgoing noise session to the responder's node.\n   * Applicable only for responder (default: timeout_idle's value)\n   */\n  timeoutAwaitingOpen?: number;\n  /**\n   * Log websocket communication and state changes\n   */\n  debug?: boolean;\n  /**\n   * Function which verifies and signs transactions\n   */\n  sign: SignTxWithTag;\n}\n\nexport type ChannelOptions = CommonChannelOptions &\n  (\n    | {\n        /**\n         * Participant role\n         */\n        role: 'initiator';\n        /**\n         * Host of the responder's node\n         */\n        host: string;\n      }\n    | {\n        /**\n         * Participant role\n         */\n        role: 'responder';\n      }\n  );\n\nexport interface ChannelHandler extends Function {\n  enter?: Function;\n}\n\nexport interface ChannelState {\n  signedTx: Encoded.Transaction;\n  resolve: (r?: any) => void;\n  reject: (e: BaseError) => void;\n  sign: SignTx;\n  handler?: ChannelHandler;\n  /**\n   * Called when transaction has been posted on chain\n   */\n  onOnChainTx?: (tx: Encoded.Transaction) => void;\n  onOwnWithdrawLocked?: () => void;\n  onWithdrawLocked?: () => void;\n  onOwnDepositLocked?: () => void;\n  onDepositLocked?: () => void;\n  closeTx?: string;\n}\n\nexport interface ChannelFsm {\n  handler: ChannelHandler;\n  state?:\n    | ChannelState\n    | {\n        resolve: Function;\n        reject: Function;\n      };\n}\n\nexport interface ChannelMessage {\n  id?: number;\n  method: string;\n  params: any;\n  payload?: any;\n  data?: any;\n  error?: ChannelMessageError;\n}\n\ninterface ChannelMessageError {\n  code: number;\n  message: string;\n  data: [\n    {\n      message: string;\n      code: number;\n    },\n  ];\n  request: ChannelMessage;\n}\n\n// Send ping message every 10 seconds\nconst PING_TIMEOUT_MS = 10000;\n// Close connection if pong message is not received within 15 seconds\nconst PONG_TIMEOUT_MS = 15000;\n\nexport function emit<E extends keyof ChannelEvents>(\n  channel: Channel,\n  ...args: [E, ...Parameters<ChannelEvents[E]>]\n): void {\n  const [eventName, ...rest] = args;\n  channel._eventEmitter.emit(eventName, ...rest);\n}\n\nfunction enterState(channel: Channel, nextState: ChannelFsm): void {\n  if (nextState == null) {\n    throw new UnknownChannelStateError();\n  }\n  channel._debug('enter state', nextState.handler.name);\n  channel._fsm = nextState;\n  if (nextState?.handler?.enter != null) {\n    nextState.handler.enter(channel);\n  }\n  // eslint-disable-next-line @typescript-eslint/no-use-before-define\n  void dequeueAction(channel);\n}\n\n// TODO: rewrite to enum\nexport type ChannelStatus =\n  | 'connecting'\n  | 'connected'\n  | 'accepted'\n  | 'halfSigned'\n  | 'signed'\n  | 'open'\n  | 'closing'\n  | 'closed'\n  | 'died'\n  | 'disconnected';\n\nexport function changeStatus(channel: Channel, newStatus: ChannelStatus, debug?: unknown): void {\n  channel._debug(newStatus, `(prev. ${channel._status})`, debug ?? '');\n  if (newStatus === channel._status) return;\n  channel._status = newStatus;\n  emit(channel, 'statusChanged', newStatus);\n}\n\nexport function changeState(channel: Channel, newState: Encoded.Transaction | ''): void {\n  channel._state = newState;\n  emit(channel, 'stateChanged', newState);\n}\n\nfunction send(channel: Channel, message: ChannelMessage): void {\n  channel._debug('send message', message.method, message.params);\n  channel._websocket.send(JsonBig.stringify({ jsonrpc: '2.0', ...message }));\n}\n\nexport function notify(channel: Channel, method: string, params: object = {}): void {\n  send(channel, { method, params });\n}\n\nasync function dequeueAction(channel: Channel): Promise<void> {\n  if (channel._isActionQueueLocked) return;\n  const queue = channel._actionQueue;\n  if (queue.length === 0) return;\n  const index = queue.findIndex((action) => action.guard(channel, channel._fsm));\n  if (index === -1) return;\n  channel._actionQueue = queue.filter((_, i) => index !== i);\n  channel._isActionQueueLocked = true;\n  const nextState: ChannelFsm = await queue[index].action(channel, channel._fsm);\n  channel._isActionQueueLocked = false;\n  enterState(channel, nextState);\n}\n\nexport async function enqueueAction(\n  channel: Channel,\n  guard: ChannelAction['guard'],\n  action: () => { handler: ChannelHandler; state?: Partial<ChannelState> },\n): Promise<any> {\n  const promise = new Promise((resolve, reject) => {\n    channel._actionQueue.push({\n      guard,\n      action() {\n        const res = action();\n        return { ...res, state: { ...res.state, resolve, reject } };\n      },\n    });\n  });\n  void dequeueAction(channel);\n  return promise;\n}\n\nasync function handleMessage(channel: Channel, message: ChannelMessage): Promise<void> {\n  const { handler, state: st } = channel._fsm;\n  const nextState = await Promise.resolve(handler(channel, message, st));\n  enterState(channel, nextState);\n  // TODO: emit message and handler name (?) to move this code to Contract constructor\n  if (\n    message?.params?.data?.updates?.[0]?.op === 'OffChainNewContract' &&\n    // if name is channelOpen, the contract was created by other participant\n    nextState?.handler.name === 'channelOpen'\n  ) {\n    const round = channel.round();\n    if (round == null) throw new UnexpectedTsError('Round is null');\n    const owner = message?.params?.data?.updates?.[0]?.owner;\n    emit(channel, 'newContract', buildContractId(owner, round + 1));\n  }\n}\n\nasync function dequeueMessage(channel: Channel): Promise<void> {\n  if (channel._isMessageQueueLocked) return;\n  channel._isMessageQueueLocked = true;\n  while (channel._messageQueue.length > 0) {\n    const message = channel._messageQueue.shift();\n    if (message == null) throw new UnexpectedTsError();\n    try {\n      await handleMessage(channel, message);\n    } catch (error) {\n      ensureError(error);\n      emit(channel, 'error', new ChannelIncomingMessageError(error, message));\n    }\n  }\n  channel._isMessageQueueLocked = false;\n}\n\nexport function disconnect(channel: Channel): void {\n  channel._websocket.close();\n  clearTimeout(channel._pingTimeoutId);\n}\n\nfunction ping(channel: Channel): void {\n  clearTimeout(channel._pingTimeoutId);\n  channel._pingTimeoutId = setTimeout(() => {\n    notify(channel, 'channels.system', { action: 'ping' });\n    channel._pingTimeoutId = setTimeout(() => {\n      disconnect(channel);\n      emit(channel, 'error', new ChannelPingTimedOutError());\n    }, PONG_TIMEOUT_MS);\n  }, PING_TIMEOUT_MS);\n}\n\nfunction onMessage(channel: Channel, data: string): void {\n  const message = JsonBig.parse(data);\n  channel._debug('received message', message.method, message.params);\n  if (message.id != null) {\n    const callback = channel._rpcCallbacks.get(message.id);\n    if (callback == null) {\n      emit(channel, 'error', new ChannelError(`Can't find callback by id: ${message.id}`));\n      return;\n    }\n    try {\n      callback(message);\n    } finally {\n      channel._rpcCallbacks.delete(message.id);\n    }\n    return;\n  }\n  if (message.method === 'channels.message') {\n    emit(channel, 'message', message.params.data.message);\n    return;\n  }\n  if (message.method === 'channels.system.pong') {\n    if (message.params.channel_id === channel._channelId || channel._channelId == null) {\n      ping(channel);\n    }\n    return;\n  }\n  channel._messageQueue.push(message);\n  void dequeueMessage(channel);\n}\n\nexport async function call(channel: Channel, method: string, params: any): Promise<any> {\n  return new Promise((resolve, reject) => {\n    const id = channel._nextRpcMessageId;\n    channel._nextRpcMessageId += 1;\n    channel._rpcCallbacks.set(\n      id,\n      (message: { result: PromiseLike<any>; error?: ChannelMessageError }) => {\n        if (message.error != null) {\n          const details = message.error.data[0].message ?? '';\n          reject(new ChannelCallError(message.error.message + details));\n        } else resolve(message.result);\n      },\n    );\n    send(channel, { method, id, params });\n  });\n}\n\nexport async function initialize(\n  channel: Channel,\n  connectionHandler: Function,\n  openHandler: Function,\n  { url, ...channelOptions }: ChannelOptions,\n): Promise<void> {\n  channel._options = { url, ...channelOptions };\n\n  const wsUrl = new URL(url);\n  Object.entries(channelOptions)\n    .filter(([key]) => !['sign', 'debug'].includes(key))\n    .forEach(([key, value]) => wsUrl.searchParams.set(pascalToSnake(key), value.toString()));\n  wsUrl.searchParams.set('protocol', 'json-rpc');\n  changeStatus(channel, 'connecting');\n  channel._websocket = new W3CWebSocket(wsUrl.toString());\n  await new Promise<void>((resolve, reject) => {\n    Object.assign(channel._websocket, {\n      onerror: reject,\n      onopen: async (event: Event) => {\n        resolve();\n        changeStatus(channel, 'connected', event);\n        enterState(channel, { handler: connectionHandler });\n        ping(channel);\n      },\n      onclose: (event: ICloseEvent) => {\n        changeStatus(channel, 'disconnected', event);\n        clearTimeout(channel._pingTimeoutId);\n      },\n      onmessage: ({ data }: { data: string }) => onMessage(channel, data),\n    });\n  });\n}\n","/* eslint-disable consistent-return */\n/* eslint-disable default-case */\n/* eslint-disable @typescript-eslint/no-use-before-define */\nimport {\n  ChannelState,\n  changeStatus,\n  changeState,\n  notify,\n  emit,\n  disconnect,\n  ChannelMessage,\n  ChannelFsm,\n  SignTx,\n  ChannelStatus,\n  ChannelEvents,\n} from './internal.js';\nimport { unpackTx, buildTx } from '../tx/builder/index.js';\nimport { decode, Encoded } from '../utils/encoder.js';\nimport {\n  IllegalArgumentError,\n  InsufficientBalanceError,\n  ChannelConnectionError,\n  UnexpectedChannelMessageError,\n  ChannelError,\n} from '../utils/errors.js';\nimport type Channel from './Base.js';\nimport { Tag } from '../tx/builder/constants.js';\nimport { snakeToPascal } from '../utils/string.js';\n\nexport async function appendSignature(\n  tx: Encoded.Transaction,\n  signFn: SignTx,\n): Promise<Encoded.Transaction | number | null> {\n  const { signatures, encodedTx } = unpackTx(tx, Tag.SignedTx);\n  const payloadTx = buildTx(encodedTx);\n  const result = await signFn(payloadTx);\n  if (typeof result === 'string') {\n    const { signatures: signatures2 } = unpackTx(result, Tag.SignedTx);\n    return buildTx({\n      tag: Tag.SignedTx,\n      signatures: signatures.concat(signatures2),\n      encodedTx: decode(payloadTx),\n    });\n  }\n  return result;\n}\n\nexport async function signAndNotify(\n  channel: Channel,\n  method: string,\n  data: {\n    tx?: Encoded.Transaction;\n    signed_tx?: Encoded.Transaction;\n  },\n  signFn: SignTx,\n): Promise<boolean> {\n  let signedTx;\n  if (data.tx != null) signedTx = await signFn(data.tx);\n  else if (data.signed_tx != null) signedTx = await appendSignature(data.signed_tx, signFn);\n  else throw new ChannelError(\"Can't find transaction in message\");\n  const isError = typeof signedTx !== 'string';\n  const key = data.tx != null ? 'tx' : 'signed_tx';\n  notify(channel, method, isError ? { error: signedTx ?? 1 } : { [key]: signedTx });\n  return isError;\n}\n\nexport function handleUnexpectedMessage(\n  _channel: Channel,\n  message: ChannelMessage,\n  state: ChannelState,\n): ChannelFsm {\n  state?.reject?.(\n    Object.assign(\n      new UnexpectedChannelMessageError(\n        `Unexpected message received:\\n\\n${JSON.stringify(message)}`,\n      ),\n      { wsMessage: message },\n    ),\n  );\n  return { handler: channelOpen };\n}\n\nexport function awaitingCompletion(\n  channel: Channel,\n  message: ChannelMessage,\n  state: ChannelState,\n  onSuccess?: typeof handleUnexpectedMessage,\n): ChannelFsm {\n  if (onSuccess != null && message.method === 'channels.update') {\n    return onSuccess(channel, message, state);\n  }\n  if (message.method === 'channels.conflict') {\n    state.resolve({\n      accepted: false,\n      errorCode: message.params.data.error_code,\n      errorMessage: message.params.data.error_msg,\n    });\n    return { handler: channelOpen };\n  }\n  if (message.method === 'channels.info') {\n    if (message.params.data.event === 'aborted_update') {\n      state.resolve({ accepted: false });\n      return { handler: channelOpen };\n    }\n  }\n  if (message.error != null) {\n    const codes = message.error.data.map((d) => d.code);\n    if (codes.includes(1001)) {\n      state.reject(new InsufficientBalanceError('Insufficient balance'));\n    } else if (codes.includes(1002)) {\n      state.reject(new IllegalArgumentError('Amount cannot be negative'));\n    } else {\n      state.reject(new ChannelConnectionError(message.error.message));\n    }\n    return { handler: channelOpen };\n  }\n  return handleUnexpectedMessage(channel, message, state);\n}\n\nexport function awaitingConnection(\n  channel: Channel,\n  message: ChannelMessage,\n): ChannelFsm | undefined {\n  if (message.method === 'channels.info') {\n    const channelInfoStatus: string = message.params.data.event;\n\n    let nextStatus: ChannelStatus | null = null;\n    if (channelInfoStatus === 'channel_accept') nextStatus = 'accepted';\n    if (channelInfoStatus === 'funding_created') nextStatus = 'halfSigned';\n    if (nextStatus != null) {\n      changeStatus(channel, nextStatus);\n      return { handler: awaitingChannelCreateTx };\n    }\n\n    if (message.params.data.event === 'channel_reestablished') {\n      return { handler: awaitingOpenConfirmation };\n    }\n    if (message.params.data.event === 'fsm_up') {\n      channel._fsmId = message.params.data.fsm_id;\n      return { handler: awaitingConnection };\n    }\n    return { handler: awaitingConnection };\n  }\n  if (message.method === 'channels.error') {\n    emit(channel, 'error', new ChannelConnectionError(message?.payload?.message));\n    return { handler: channelClosed };\n  }\n}\n\nexport async function awaitingReestablish(\n  channel: Channel,\n  message: ChannelMessage,\n  state: ChannelState,\n): Promise<ChannelFsm> {\n  if (message.method === 'channels.info' && message.params.data.event === 'fsm_up') {\n    channel._fsmId = message.params.data.fsm_id;\n    return {\n      handler: function awaitingChannelReestablished(\n        _: Channel,\n        message2: ChannelMessage,\n        state2: ChannelState,\n      ): ChannelFsm | undefined {\n        if (\n          message2.method === 'channels.info' &&\n          message2.params.data.event === 'channel_reestablished'\n        )\n          return { handler: awaitingOpenConfirmation };\n        return handleUnexpectedMessage(channel, message2, state2);\n      },\n    };\n  }\n  return handleUnexpectedMessage(channel, message, state);\n}\n\nexport async function awaitingReconnection(\n  channel: Channel,\n  message: ChannelMessage,\n  state: ChannelState,\n): Promise<ChannelFsm> {\n  if (message.method === 'channels.info' && message.params.data.event === 'fsm_up') {\n    channel._fsmId = message.params.data.fsm_id;\n    const { signedTx } = await channel.state();\n    changeState(channel, signedTx == null ? '' : buildTx(signedTx));\n    return { handler: channelOpen };\n  }\n  return handleUnexpectedMessage(channel, message, state);\n}\n\nexport async function awaitingChannelCreateTx(\n  channel: Channel,\n  message: ChannelMessage,\n): Promise<ChannelFsm | undefined> {\n  const tag = channel._options.role === 'initiator' ? 'initiator_sign' : 'responder_sign';\n  if (message.method === `channels.sign.${tag}`) {\n    await signAndNotify(channel, `channels.${tag}`, message.params.data, async (tx) =>\n      channel._options.sign(tag, tx),\n    );\n    return { handler: awaitingOnChainTx };\n  }\n}\n\nexport function awaitingOnChainTx(\n  channel: Channel,\n  message: ChannelMessage,\n): ChannelFsm | undefined {\n  function awaitingBlockInclusion(_: Channel, message2: ChannelMessage): ChannelFsm | undefined {\n    if (message2.method === 'channels.info') {\n      switch (message2.params.data.event) {\n        case 'funding_created':\n        case 'own_funding_locked':\n          return { handler: awaitingBlockInclusion };\n        case 'funding_locked':\n          return { handler: awaitingOpenConfirmation };\n      }\n    }\n    if (message2.method === 'channels.on_chain_tx') {\n      emit(channel, 'onChainTx', message2.params.data.tx, {\n        info: message2.params.data.info,\n        type: message2.params.data.type,\n      });\n      return { handler: awaitingBlockInclusion };\n    }\n  }\n\n  if (message.method === 'channels.on_chain_tx') {\n    const { info } = message.params.data;\n    const { role } = channel._options;\n    if (\n      (info === 'funding_signed' && role === 'initiator') ||\n      (info === 'funding_created' && role === 'responder')\n    ) {\n      return { handler: awaitingBlockInclusion };\n    }\n  }\n  if (\n    message.method === 'channels.info' &&\n    message.params.data.event === 'funding_signed' &&\n    channel._options.role === 'initiator'\n  ) {\n    channel._channelId = message.params.channel_id;\n    changeStatus(channel, 'signed');\n    return { handler: awaitingOnChainTx };\n  }\n}\n\nfunction awaitingOpenConfirmation(\n  channel: Channel,\n  message: ChannelMessage,\n  state: ChannelState,\n): ChannelFsm | undefined {\n  if (message.method === 'channels.info' && message.params.data.event === 'open') {\n    channel._channelId = message.params.channel_id;\n    return {\n      handler: function awaitingChannelsUpdate(\n        _: Channel,\n        message2: ChannelMessage,\n        state2: ChannelState,\n      ): ChannelFsm | undefined {\n        if (message2.method === 'channels.update') {\n          changeState(channel, message2.params.data.state);\n          return { handler: channelOpen };\n        }\n        return handleUnexpectedMessage(channel, message2, state2);\n      },\n    };\n  }\n  return handleUnexpectedMessage(channel, message, state);\n}\n\nexport async function channelOpen(\n  channel: Channel,\n  message: ChannelMessage,\n  state: ChannelState,\n): Promise<ChannelFsm | undefined> {\n  switch (message.method) {\n    case 'channels.info':\n      switch (message.params.data.event) {\n        case 'update':\n        case 'withdraw_created':\n        case 'deposit_created':\n          return { handler: awaitingTxSignRequest };\n        case 'own_withdraw_locked':\n        case 'withdraw_locked':\n        case 'own_deposit_locked':\n        case 'deposit_locked':\n        case 'peer_disconnected':\n        case 'channel_reestablished':\n        case 'open':\n          // TODO: Better handling of peer_disconnected event.\n          //\n          //       We should enter intermediate state where offchain transactions\n          //       are blocked until channel is reestablished.\n          emit(channel, snakeToPascal(message.params.data.event) as keyof ChannelEvents);\n          return { handler: channelOpen };\n        case 'fsm_up':\n          channel._fsmId = message.params.data.fsm_id;\n          return { handler: channelOpen };\n        case 'timeout':\n        case 'close_mutual':\n          return { handler: channelOpen };\n        case 'closing':\n          changeStatus(channel, 'closing');\n          return { handler: channelOpen };\n        case 'closed_confirmed':\n          changeStatus(channel, 'closed');\n          return { handler: channelClosed };\n        case 'died':\n          changeStatus(channel, 'died');\n          return { handler: channelClosed };\n        case 'shutdown':\n          return { handler: channelOpen };\n      }\n      break;\n    case 'channels.on_chain_tx':\n      emit(channel, 'onChainTx', message.params.data.tx, {\n        info: message.params.data.info,\n        type: message.params.data.type,\n      });\n      return { handler: channelOpen };\n    case 'channels.leave':\n      // TODO: emit event\n      return { handler: channelOpen };\n    case 'channels.update':\n      changeState(channel, message.params.data.state);\n      return { handler: channelOpen };\n    case 'channels.sign.shutdown_sign_ack':\n      return awaitingTxSignRequest(channel, message, state);\n  }\n}\nchannelOpen.enter = (channel: Channel) => {\n  changeStatus(channel, 'open');\n};\n\nasync function awaitingTxSignRequest(\n  channel: Channel,\n  message: ChannelMessage,\n  state: ChannelState,\n): Promise<ChannelFsm> {\n  const [, tag] = message.method.match(/^channels\\.sign\\.([^.]+)$/) ?? [];\n  if (tag == null) return handleUnexpectedMessage(channel, message, state);\n  const isError = await signAndNotify(channel, `channels.${tag}`, message.params.data, async (tx) =>\n    channel._options.sign(tag, tx, { updates: message.params.data.updates }),\n  );\n\n  function awaitingUpdateConflict(_: Channel, message2: ChannelMessage): ChannelFsm {\n    if (message2.error != null) {\n      return { handler: awaitingUpdateConflict, state };\n    }\n    if (message2.method === 'channels.conflict') {\n      return { handler: channelOpen };\n    }\n    return handleUnexpectedMessage(channel, message2, state);\n  }\n  return isError ? { handler: awaitingUpdateConflict, state } : { handler: channelOpen };\n}\n\nexport async function awaitingShutdownTx(\n  channel: Channel,\n  message: ChannelMessage,\n  state: ChannelState,\n): Promise<ChannelFsm> {\n  if (message.method !== 'channels.sign.shutdown_sign') {\n    return handleUnexpectedMessage(channel, message, state);\n  }\n  await signAndNotify(channel, 'channels.shutdown_sign', message.params.data, async (tx) =>\n    state.sign(tx),\n  );\n  return {\n    handler(_: Channel, message2: ChannelMessage): ChannelFsm {\n      if (message2.method !== 'channels.on_chain_tx') {\n        return handleUnexpectedMessage(channel, message2, state);\n      }\n      // state.resolve(message.params.data.tx)\n      return { handler: channelClosed, state };\n    },\n    state,\n  };\n}\n\nexport function awaitingLeave(\n  channel: Channel,\n  message: ChannelMessage,\n  state: ChannelState,\n): ChannelFsm {\n  if (message.method === 'channels.leave') {\n    state.resolve({ channelId: message.params.channel_id, signedTx: message.params.data.state });\n    disconnect(channel);\n    return { handler: channelClosed };\n  }\n  if (message.method === 'channels.error') {\n    state.reject(new ChannelConnectionError(message.data.message));\n    return { handler: channelOpen };\n  }\n  return handleUnexpectedMessage(channel, message, state);\n}\n\nexport function channelClosed(\n  _channel: Channel,\n  message: ChannelMessage,\n  state: ChannelState,\n): ChannelFsm {\n  if (state == null) return { handler: channelClosed };\n  if (message.params.data.event === 'closing') return { handler: channelClosed, state };\n  if (message.params.data.info === 'channel_closed') {\n    state.closeTx = message.params.data.tx;\n    return { handler: channelClosed, state };\n  }\n  if (message.params.data.event === 'closed_confirmed') {\n    state.resolve(state.closeTx);\n    return { handler: channelClosed };\n  }\n  return { handler: channelClosed, state };\n}\n","import EventEmitter from 'events';\nimport { w3cwebsocket as W3CWebSocket } from 'websocket';\nimport { snakeToPascal } from '../utils/string.js';\nimport { unpackTx } from '../tx/builder/index.js';\nimport { Tag } from '../tx/builder/constants.js';\nimport * as handlers from './handlers.js';\nimport {\n  initialize,\n  enqueueAction,\n  notify,\n  call,\n  disconnect as channelDisconnect,\n  SignTx,\n  ChannelOptions,\n  ChannelState,\n  ChannelHandler,\n  ChannelAction,\n  ChannelStatus,\n  ChannelFsm,\n  ChannelMessage,\n  ChannelEvents,\n} from './internal.js';\nimport { ChannelError, IllegalArgumentError } from '../utils/errors.js';\nimport { Encoded } from '../utils/encoder.js';\nimport { TxUnpacked } from '../tx/builder/schema.generated.js';\nimport { EntryTag } from '../tx/builder/entry/constants.js';\nimport { unpackEntry } from '../tx/builder/entry/index.js';\nimport { EntUnpacked } from '../tx/builder/entry/schema.generated.js';\n\nfunction snakeToPascalObjKeys<Type>(obj: object): Type {\n  return Object.entries(obj).reduce(\n    (result, [key, val]) => ({\n      ...result,\n      [snakeToPascal(key)]: val,\n    }),\n    {},\n  ) as Type;\n}\n\nlet channelCounter = 0;\n\n/**\n * Channel\n * @example\n * ```js\n * await Channel.initialize({\n *   url: 'ws://localhost:3001',\n *   role: 'initiator'\n *   initiatorId: 'ak_Y1NRjHuoc3CGMYMvCmdHSBpJsMDR6Ra2t5zjhRcbtMeXXLpLH',\n *   responderId: 'ak_V6an1xhec1xVaAhLuak7QoEbi6t7w5hEtYWp9bMKaJ19i6A9E',\n *   initiatorAmount: 1e18,\n *   responderAmount: 1e18,\n *   pushAmount: 0,\n *   channelReserve: 0,\n *   ttl: 1000,\n *   host: 'localhost',\n *   port: 3002,\n *   lockPeriod: 10,\n *   async sign (tag, tx) => await account.signTransaction(tx)\n * })\n * ```\n */\nexport default class Channel {\n  _eventEmitter = new EventEmitter();\n\n  _pingTimeoutId!: NodeJS.Timeout;\n\n  _nextRpcMessageId = 0;\n\n  _rpcCallbacks = new Map<number, (message: object) => void>();\n\n  _fsmId?: Encoded.Bytearray;\n\n  _messageQueue: ChannelMessage[] = [];\n\n  _isMessageQueueLocked = false;\n\n  _actionQueue: ChannelAction[] = [];\n\n  _isActionQueueLocked = false;\n\n  _status: ChannelStatus = 'disconnected';\n\n  _fsm!: ChannelFsm;\n\n  _websocket!: W3CWebSocket;\n\n  _state: Encoded.Transaction | '' = '';\n\n  _options!: ChannelOptions;\n\n  readonly #debugId: number;\n\n  _channelId?: Encoded.Channel;\n\n  protected constructor() {\n    channelCounter += 1;\n    this.#debugId = channelCounter;\n  }\n\n  _debug(...args: any[]): void {\n    if (this._options.debug !== true) return;\n    console.debug(`Channel #${this.#debugId}`, ...args);\n  }\n\n  /**\n   * @param options - Channel params\n   */\n  static async initialize(options: ChannelOptions): Promise<Channel> {\n    return Channel._initialize(new Channel(), options);\n  }\n\n  static async _initialize<T extends Channel>(channel: T, options: ChannelOptions): Promise<T> {\n    const reconnect = (options.existingFsmId ?? options.existingChannelId) != null;\n    if (reconnect && (options.existingFsmId == null || options.existingChannelId == null)) {\n      throw new IllegalArgumentError(\n        '`existingChannelId`, `existingFsmId` should be both provided or missed',\n      );\n    }\n    const reconnectHandler =\n      handlers[options.reestablish === true ? 'awaitingReestablish' : 'awaitingReconnection'];\n    await initialize(\n      channel,\n      reconnect ? reconnectHandler : handlers.awaitingConnection,\n      handlers.channelOpen,\n      options,\n    );\n    return channel;\n  }\n\n  /**\n   * Register event listener function\n   *\n   * Possible events:\n   *\n   *   - \"error\"\n   *   - \"stateChanged\"\n   *   - \"statusChanged\"\n   *   - \"message\"\n   *   - \"peerDisconnected\"\n   *   - \"onChainTx\"\n   *   - \"ownWithdrawLocked\"\n   *   - \"withdrawLocked\"\n   *   - \"ownDepositLocked\"\n   *   - \"depositLocked\"\n   *   - \"channelReestablished\"\n   *   - \"newContract\"\n   *\n   *\n   * @param eventName - Event name\n   * @param callback - Callback function\n   */\n  on<E extends keyof ChannelEvents>(eventName: E, callback: ChannelEvents[E]): void {\n    this._eventEmitter.on(eventName, callback);\n  }\n\n  /**\n   * Remove event listener function\n   * @param eventName - Event name\n   * @param callback - Callback function\n   */\n  off<E extends keyof ChannelEvents>(eventName: E, callback: ChannelEvents[E]): void {\n    this._eventEmitter.removeListener(eventName, callback);\n  }\n\n  /**\n   * Close the connection\n   */\n  disconnect(): void {\n    return channelDisconnect(this);\n  }\n\n  /**\n   * Get current status\n   */\n  status(): ChannelStatus {\n    return this._status;\n  }\n\n  /**\n   * Get current state\n   */\n  async state(): Promise<{\n    calls: EntUnpacked & { tag: EntryTag.CallsMtree };\n    halfSignedTx?: TxUnpacked & { tag: Tag.SignedTx };\n    signedTx?: TxUnpacked & { tag: Tag.SignedTx };\n    trees: EntUnpacked & { tag: EntryTag.StateTrees };\n  }> {\n    const res = snakeToPascalObjKeys<{\n      calls: Encoded.CallStateTree;\n      halfSignedTx: Encoded.Transaction | '';\n      signedTx: Encoded.Transaction | '';\n      trees: Encoded.StateTrees;\n    }>(await call(this, 'channels.get.offchain_state', {}));\n    return {\n      calls: unpackEntry(res.calls),\n      ...(res.halfSignedTx !== '' && { halfSignedTx: unpackTx(res.halfSignedTx, Tag.SignedTx) }),\n      ...(res.signedTx !== '' && { signedTx: unpackTx(res.signedTx, Tag.SignedTx) }),\n      trees: unpackEntry(res.trees),\n    };\n  }\n\n  /**\n   * Get current round\n   *\n   * If round cannot be determined (for example when channel has not been opened)\n   * it will return `null`.\n   */\n  round(): number | null {\n    if (this._state === '') {\n      return null;\n    }\n    const params = unpackTx(this._state, Tag.SignedTx).encodedTx;\n    switch (params.tag) {\n      case Tag.ChannelCreateTx:\n        return 1;\n      case Tag.ChannelOffChainTx:\n      case Tag.ChannelWithdrawTx:\n      case Tag.ChannelDepositTx:\n        return params.round;\n      default:\n        return null;\n    }\n  }\n\n  /**\n   * Get channel id\n   *\n   */\n  id(): Encoded.Channel {\n    if (this._channelId == null) throw new ChannelError('Channel is not initialized');\n    return this._channelId;\n  }\n\n  /**\n   * Get channel's fsm id\n   *\n   */\n  fsmId(): Encoded.Bytearray {\n    if (this._fsmId == null) throw new ChannelError('Channel is not initialized');\n    return this._fsmId;\n  }\n\n  protected async enqueueAction(\n    action: () => { handler: ChannelHandler; state?: Partial<ChannelState> },\n  ): Promise<any> {\n    return enqueueAction(this, (channel, state) => state?.handler === handlers.channelOpen, action);\n  }\n\n  /**\n   * Leave channel\n   *\n   * It is possible to leave a channel and then later reestablish the channel\n   * off-chain state and continue operation. When a leave method is called,\n   * the channel fsm passes it on to the peer fsm, reports the current mutually\n   * signed state and then terminates.\n   *\n   * The channel can be reestablished by instantiating another Channel instance\n   * with two extra params: existingChannelId and existingFsmId.\n   *\n   * @example\n   * ```js\n   * channel.leave().then(({ channelId, signedTx }) => {\n   *   console.log(channelId)\n   *   console.log(signedTx)\n   * })\n   * ```\n   */\n  async leave(): Promise<{ channelId: Encoded.Channel; signedTx: Encoded.Transaction }> {\n    return this.enqueueAction(() => {\n      notify(this, 'channels.leave');\n      return { handler: handlers.awaitingLeave };\n    });\n  }\n\n  /**\n   * Trigger mutual close\n   *\n   * At any moment after the channel is opened, a closing procedure can be triggered.\n   * This can be done by either of the parties. The process is similar to the off-chain updates.\n   *\n   * @param sign - Function which verifies and signs mutual close transaction\n   * @example\n   * ```js\n   * channel.shutdown(\n   *   async (tx) => await account.signTransaction(tx)\n   * ).then(tx => console.log('on_chain_tx', tx))\n   * ```\n   */\n  async shutdown(sign: SignTx): Promise<Encoded.Transaction> {\n    return this.enqueueAction(() => {\n      notify(this, 'channels.shutdown');\n      return {\n        handler: handlers.awaitingShutdownTx,\n        state: { sign },\n      };\n    });\n  }\n}\n","import BigNumber from 'bignumber.js';\nimport {\n  notify,\n  call,\n  SignTx,\n  ChannelState,\n  ChannelMessage,\n  ChannelFsm,\n  changeState,\n} from './internal.js';\nimport { Encoded } from '../utils/encoder.js';\nimport { pause } from '../utils/other.js';\nimport Channel from './Base.js';\nimport { ChannelConnectionError } from '../utils/errors.js';\nimport {\n  awaitingCompletion,\n  channelOpen,\n  handleUnexpectedMessage,\n  signAndNotify,\n} from './handlers.js';\nimport { EntryTag } from '../tx/builder/entry/constants.js';\nimport { EntUnpacked } from '../tx/builder/entry/schema.generated.js';\nimport { unpackEntry } from '../tx/builder/entry/index.js';\n\nexport default class ChannelSpend extends Channel {\n  /**\n   * Trigger a transfer update\n   *\n   * The transfer update is moving coins from one channel account to another.\n   * The update is a change to be applied on top of the latest state.\n   *\n   * Sender and receiver are the channel parties. Both the initiator and responder\n   * can take those roles. Any public key outside the channel is considered invalid.\n   *\n   * @param from - Sender's public address\n   * @param to - Receiver's public address\n   * @param amount - Transaction amount\n   * @param sign - Function which verifies and signs offchain transaction\n   * @param metadata - Metadata\n\n   * @example\n   * ```js\n   * channel.update(\n   *   'ak_Y1NRjHuoc3CGMYMvCmdHSBpJsMDR6Ra2t5zjhRcbtMeXXLpLH',\n   *   'ak_V6an1xhec1xVaAhLuak7QoEbi6t7w5hEtYWp9bMKaJ19i6A9E',\n   *   10,\n   *   async (tx) => await account.signTransaction(tx)\n   * ).then(({ accepted, signedTx }) =>\n   *   if (accepted) {\n   *     console.log('Update has been accepted')\n   *   }\n   * )\n   * ```\n   */\n  async update(\n    from: Encoded.AccountAddress,\n    to: Encoded.AccountAddress,\n    amount: number | BigNumber,\n    sign: SignTx,\n    metadata: string[] = [],\n  ): Promise<{\n    accepted: boolean;\n    signedTx?: Encoded.Transaction;\n    errorCode?: number;\n    errorMessage?: string;\n  }> {\n    return this.enqueueAction(() => {\n      notify(this, 'channels.update.new', {\n        from,\n        to,\n        amount,\n        meta: metadata,\n      });\n\n      const awaitingOffChainTx = async (\n        _: Channel,\n        message: ChannelMessage,\n        state: ChannelState,\n      ): Promise<ChannelFsm> => {\n        if (message.method === 'channels.sign.update') {\n          const isError = await signAndNotify(\n            this,\n            'channels.update',\n            message.params.data,\n            async (tx) => sign(tx, { updates: message.params.data.updates }),\n          );\n          if (isError) return { handler: awaitingOffChainTx, state };\n          return {\n            handler: (_2: Channel, message2: ChannelMessage): ChannelFsm =>\n              awaitingCompletion(this, message2, state, () => {\n                changeState(this, message2.params.data.state);\n                state.resolve({ accepted: true, signedTx: message2.params.data.state });\n                return { handler: channelOpen };\n              }),\n            state,\n          };\n        }\n        if (message.method === 'channels.error') {\n          state.reject(new ChannelConnectionError(message.data.message));\n          return { handler: channelOpen };\n        }\n        return awaitingCompletion(this, message, state);\n      };\n\n      return { handler: awaitingOffChainTx };\n    });\n  }\n\n  /**\n   * Get proof of inclusion\n   *\n   * If a certain address of an account or a contract is not found\n   * in the state tree - the response is an error.\n   *\n   * @param addresses - Addresses\n   * @param addresses.accounts - List of account addresses to include in poi\n   * @param addresses.contracts - List of contract addresses to include in poi\n   * @example\n   * ```js\n   * channel.poi({\n   *   accounts: [\n   *     'ak_Y1NRjHuoc3CGMYMvCmdHSBpJsMDR6Ra2t5zjhRcbtMeXXLpLH',\n   *     'ak_V6an1xhec1xVaAhLuak7QoEbi6t7w5hEtYWp9bMKaJ19i6A9E'\n   *   ],\n   *   contracts: ['ct_2dCUAWYZdrWfACz3a2faJeKVTVrfDYxCQHCqAt5zM15f3u2UfA']\n   * }).then(poi => console.log(poi))\n   * ```\n   */\n  async poi({\n    accounts,\n    contracts,\n  }: {\n    accounts: Encoded.AccountAddress[];\n    contracts?: Encoded.ContractAddress[];\n  }): Promise<EntUnpacked & { tag: EntryTag.TreesPoi }> {\n    const { poi }: { poi: Encoded.Poi } = await call(this, 'channels.get.poi', {\n      accounts,\n      contracts,\n    });\n    return unpackEntry(poi);\n  }\n\n  /**\n   * Get balances\n   *\n   * The accounts param contains a list of addresses to fetch balances of.\n   * Those can be either account balances or a contract ones, encoded as an account addresses.\n   *\n   * If a certain account address had not being found in the state tree - it is simply\n   * skipped in the response.\n   *\n   * @param accounts - List of addresses to fetch balances from\n   * @example\n   * ```js\n   * channel.balances([\n   *   'ak_Y1NRjHuoc3CGMYMvCmdHSBpJsMDR6Ra2t5zjhRcbtMeXXLpLH',\n   *   'ak_V6an1xhec1xVaAhLuak7QoEbi6t7w5hEtYWp9bMKaJ19i6A9E'\n   *   'ct_2dCUAWYZdrWfACz3a2faJeKVTVrfDYxCQHCqAt5zM15f3u2UfA'\n   * ]).then(balances =>\n   *   console.log(balances['ak_Y1NRjHuoc3CGMYMvCmdHSBpJsMDR6Ra2t5zjhRcbtMeXXLpLH'])\n   * )\n   * ```\n   */\n  async balances(\n    accounts: Encoded.AccountAddress[],\n  ): Promise<{ [key: Encoded.AccountAddress]: string }> {\n    return Object.fromEntries(\n      (await call(this, 'channels.get.balances', { accounts })).map(\n        (item: { account: Encoded.AccountAddress; balance: string }) => [\n          item.account,\n          item.balance,\n        ],\n      ),\n    );\n  }\n\n  private async awaitingActionTx(\n    action: 'deposit' | 'withdraw',\n    message: ChannelMessage,\n    state: ChannelState,\n  ): Promise<ChannelFsm> {\n    if (message.method !== `channels.sign.${action}_tx`) {\n      return handleUnexpectedMessage(this, message, state);\n    }\n\n    const awaitingActionCompletion = (_: Channel, message2: ChannelMessage): ChannelFsm => {\n      if (message2.method === 'channels.on_chain_tx') {\n        state.onOnChainTx?.(message2.params.data.tx);\n        return { handler: awaitingActionCompletion, state };\n      }\n      if (\n        message2.method === 'channels.info' &&\n        [`own_${action}_locked`, `${action}_locked`].includes(message2.params.data.event)\n      ) {\n        const Action = action === 'deposit' ? 'Deposit' : 'Withdraw';\n        const isOwn: boolean = message2.params.data.event.startsWith('own_');\n        state[`on${isOwn ? 'Own' : ''}${Action}Locked`]?.();\n        return { handler: awaitingActionCompletion, state };\n      }\n      return awaitingCompletion(this, message2, state, () => {\n        changeState(this, message2.params.data.state);\n        state.resolve({ accepted: true, signedTx: message2.params.data.state });\n        return { handler: channelOpen };\n      });\n    };\n\n    const { sign } = state;\n    await signAndNotify(this, `channels.${action}_tx`, message.params.data, async (tx) =>\n      sign(tx, { updates: message.params.data.updates }),\n    );\n    return { handler: awaitingActionCompletion, state };\n  }\n\n  /**\n   * Withdraw coins from the channel\n   *\n   * After the channel had been opened any of the participants can initiate a withdrawal.\n   * The process closely resembles the update. The most notable difference is that the\n   * transaction has been co-signed: it is channel_withdraw_tx and after the procedure\n   * is finished - it is being posted on-chain.\n   *\n   * Any of the participants can initiate a withdrawal. The only requirements are:\n   *\n   *   - Channel is already opened\n   *   - No off-chain update/deposit/withdrawal is currently being performed\n   *   - Channel is not being closed or in a solo closing state\n   *   - The withdrawal amount must be equal to or greater than zero, and cannot exceed\n   *     the available balance on the channel (minus the channel_reserve)\n   *\n   * After the other party had signed the withdraw transaction, the transaction is posted\n   * on-chain and onOnChainTx callback is called with on-chain transaction as first argument.\n   * After computing transaction hash it can be tracked on the chain: entering the mempool,\n   * block inclusion and a number of confirmations.\n   *\n   * After the minimum_depth block confirmations onOwnWithdrawLocked callback is called\n   * (without any arguments).\n   *\n   * When the other party had confirmed that the block height needed is reached\n   * onWithdrawLocked callback is called (without any arguments).\n   *\n   * @param amount - Amount of coins to withdraw\n   * @param sign - Function which verifies and signs withdraw transaction\n   * @param callbacks - Callbacks\n   * @example\n   * ```js\n   * channel.withdraw(\n   *   100,\n   *   async (tx) => await account.signTransaction(tx),\n   *   { onOnChainTx: (tx) => console.log('on_chain_tx', tx) }\n   * ).then(({ accepted, signedTx }) => {\n   *   if (accepted) {\n   *     console.log('Withdrawal has been accepted')\n   *   } else {\n   *     console.log('Withdrawal has been rejected')\n   *   }\n   * })\n   * ```\n   */\n  async withdraw(\n    amount: number | BigNumber,\n    sign: SignTx,\n    {\n      onOnChainTx,\n      onOwnWithdrawLocked,\n      onWithdrawLocked,\n    }: Pick<ChannelState, 'onOnChainTx' | 'onOwnWithdrawLocked' | 'onWithdrawLocked'> = {},\n  ): Promise<{ accepted: boolean; signedTx: Encoded.Transaction }> {\n    return this.enqueueAction(() => {\n      notify(this, 'channels.withdraw', { amount });\n      return {\n        handler: async (\n          _: Channel,\n          message: ChannelMessage,\n          state: ChannelState,\n        ): Promise<ChannelFsm> => this.awaitingActionTx('withdraw', message, state),\n        state: {\n          sign,\n          onOnChainTx,\n          onOwnWithdrawLocked,\n          onWithdrawLocked,\n        },\n      };\n    });\n  }\n\n  /**\n   * Deposit coins into the channel\n   *\n   * After the channel had been opened any of the participants can initiate a deposit.\n   * The process closely resembles the update. The most notable difference is that the\n   * transaction has been co-signed: it is channel_deposit_tx and after the procedure\n   * is finished - it is being posted on-chain.\n   *\n   * Any of the participants can initiate a deposit. The only requirements are:\n   *\n   *   - Channel is already opened\n   *   - No off-chain update/deposit/withdrawal is currently being performed\n   *   - Channel is not being closed or in a solo closing state\n   *   - The deposit amount must be equal to or greater than zero, and cannot exceed\n   *     the available balance on the channel (minus the channel_reserve)\n   *\n   * After the other party had signed the deposit transaction, the transaction is posted\n   * on-chain and onOnChainTx callback is called with on-chain transaction as first argument.\n   * After computing transaction hash it can be tracked on the chain: entering the mempool,\n   * block inclusion and a number of confirmations.\n   *\n   * After the minimum_depth block confirmations onOwnDepositLocked callback is called\n   * (without any arguments).\n   *\n   * When the other party had confirmed that the block height needed is reached\n   * onDepositLocked callback is called (without any arguments).\n   *\n   * @param amount - Amount of coins to deposit\n   * @param sign - Function which verifies and signs deposit transaction\n   * @param callbacks - Callbacks\n   * @example\n   * ```js\n   * channel.deposit(\n   *   100,\n   *   async (tx) => await account.signTransaction(tx),\n   *   { onOnChainTx: (tx) => console.log('on_chain_tx', tx) }\n   * ).then(({ accepted, state }) => {\n   *   if (accepted) {\n   *     console.log('Deposit has been accepted')\n   *     console.log('The new state is:', state)\n   *   } else {\n   *     console.log('Deposit has been rejected')\n   *   }\n   * })\n   * ```\n   */\n  async deposit(\n    amount: number | BigNumber,\n    sign: SignTx,\n    {\n      onOnChainTx,\n      onOwnDepositLocked,\n      onDepositLocked,\n    }: Pick<ChannelState, 'onOnChainTx' | 'onOwnDepositLocked' | 'onDepositLocked'> = {},\n  ): Promise<{ accepted: boolean; state: ChannelState }> {\n    return this.enqueueAction(() => {\n      notify(this, 'channels.deposit', { amount });\n      return {\n        handler: async (\n          _: Channel,\n          message: ChannelMessage,\n          state: ChannelState,\n        ): Promise<ChannelFsm> => this.awaitingActionTx('deposit', message, state),\n        state: {\n          sign,\n          onOnChainTx,\n          onOwnDepositLocked,\n          onDepositLocked,\n        },\n      };\n    });\n  }\n\n  /**\n   * Send generic message\n   *\n   * If message is an object it will be serialized into JSON string\n   * before sending.\n   *\n   * If there is ongoing update that has not yet been finished the message\n   * will be sent after that update is finalized.\n   *\n   * @param message - Message\n   * @param recipient - Address of the recipient\n   * @example\n   * ```js\n   * channel.sendMessage(\n   *   'hello world',\n   *   'ak_Y1NRjHuoc3CGMYMvCmdHSBpJsMDR6Ra2t5zjhRcbtMeXXLpLH'\n   * )\n   * ```\n   */\n  async sendMessage(message: string | object, recipient: Encoded.AccountAddress): Promise<void> {\n    const info = typeof message === 'object' ? JSON.stringify(message) : message;\n    if (this.status() === 'connecting') {\n      await new Promise<void>((resolve) => {\n        const onStatusChanged = (status: string): void => {\n          if (status === 'connecting') return;\n          resolve();\n          this.off('statusChanged', onStatusChanged);\n        };\n        this.on('statusChanged', onStatusChanged);\n      });\n      // For some reason we can't immediately send a message when connection is\n      // established. Thus we wait 500ms which seems to work.\n      await pause(500);\n    }\n    notify(this, 'channels.message', { info, to: recipient });\n  }\n}\n","import BigNumber from 'bignumber.js';\nimport { snakeToPascal } from '../utils/string.js';\nimport { MIN_GAS_PRICE, Tag, AbiVersion, VmVersion } from '../tx/builder/constants.js';\nimport {\n  signAndNotify,\n  awaitingCompletion,\n  channelClosed,\n  channelOpen,\n  handleUnexpectedMessage,\n} from './handlers.js';\nimport {\n  notify,\n  call,\n  SignTx,\n  ChannelState,\n  ChannelOptions,\n  ChannelMessage,\n  ChannelFsm,\n  changeState,\n  emit,\n} from './internal.js';\nimport { Encoded } from '../utils/encoder.js';\nimport { ContractCallObjectReturnType } from '../apis/node/index.js';\nimport { ContractCallObject } from '../contract/Contract.js';\nimport Channel from './Base.js';\nimport ChannelSpend from './Spend.js';\nimport { ChannelError, UnexpectedChannelMessageError } from '../utils/errors.js';\nimport { unpackTx } from '../tx/builder/index.js';\nimport { buildContractId } from '../tx/builder/helpers.js';\n\nfunction snakeToPascalObjKeys<Type>(obj: object): Type {\n  return Object.entries(obj).reduce(\n    (result, [key, val]) => ({\n      ...result,\n      [snakeToPascal(key)]: val,\n    }),\n    {},\n  ) as Type;\n}\n\ninterface CallContractOptions {\n  /**\n   * Amount the caller of the contract commits to it\n   */\n  amount?: number | BigNumber;\n  /**\n   * ABI encoded compiled AEVM call data for the code\n   */\n  callData?: Encoded.ContractBytearray;\n  /**\n   * Version of the ABI\n   */\n  abiVersion?: AbiVersion;\n  /**\n   * Address of the contract to call\n   */\n  contract?: Encoded.ContractAddress;\n}\n\ninterface CallContractResult extends CallContractOptions {\n  returnValue?: any;\n  gasUsed?: number | BigNumber;\n  gasPrice?: number | BigNumber;\n  height?: number;\n  callerNonce?: number;\n  log?: any;\n  returnType?: ContractCallObjectReturnType;\n}\n\ninterface Contract {\n  abiVersion: AbiVersion;\n  active: boolean;\n  deposit: number | BigNumber;\n  id: string;\n  ownerId: string;\n  referrerIds: string[];\n  vmVersion: VmVersion;\n}\n\n/**\n * @category state channel\n */\nexport default class ChannelContract extends ChannelSpend {\n  static override async initialize(options: ChannelOptions): Promise<ChannelContract> {\n    return Channel._initialize(new ChannelContract(), options);\n  }\n\n  /**\n   * Trigger create contract update\n   *\n   * The create contract update is creating a contract inside the channel's internal state tree.\n   * The update is a change to be applied on top of the latest state.\n   *\n   * That would create a contract with the poster being the owner of it. Poster commits initially\n   * a deposit amount of coins to the new contract.\n   *\n   * @param options - Options\n   * @param options.code - Api encoded compiled AEVM byte code\n   * @param options.callData - Api encoded compiled AEVM call data for the code\n   * @param options.deposit - Initial amount the owner of the contract commits to it\n   * @param options.vmVersion - Version of the Virtual Machine\n   * @param options.abiVersion - Version of the Application Binary Interface\n   * @param sign - Function which verifies and signs create contract transaction\n   * @example\n   * ```js\n   * channel.createContract({\n   *   code: 'cb_HKtpipK4aCgYb17wZ...',\n   *   callData: 'cb_1111111111111111...',\n   *   deposit: 10,\n   *   vmVersion: 3,\n   *   abiVersion: 1\n   * }).then(({ accepted, signedTx, address }) => {\n   *   if (accepted) {\n   *     console.log('New contract has been created')\n   *     console.log('Contract address:', address)\n   *   } else {\n   *     console.log('New contract has been rejected')\n   *   }\n   * })\n   * ```\n   */\n  async createContract(\n    {\n      code,\n      callData,\n      deposit,\n      vmVersion,\n      abiVersion,\n    }: {\n      code: Encoded.ContractBytearray;\n      callData: Encoded.ContractBytearray;\n      deposit: number | BigNumber;\n      vmVersion: VmVersion;\n      abiVersion: AbiVersion;\n    },\n    sign: SignTx,\n  ): Promise<{\n    accepted: boolean;\n    signedTx: Encoded.Transaction;\n    address: Encoded.ContractAddress;\n  }> {\n    return this.enqueueAction(() => {\n      notify(this, 'channels.update.new_contract', {\n        code,\n        call_data: callData,\n        deposit,\n        vm_version: vmVersion,\n        abi_version: abiVersion,\n      });\n      return {\n        handler: async (\n          _: Channel,\n          message: ChannelMessage,\n          state: ChannelState,\n        ): Promise<ChannelFsm> => {\n          if (message.method !== 'channels.sign.update') {\n            return handleUnexpectedMessage(this, message, state);\n          }\n          await signAndNotify(this, 'channels.update', message.params.data, async (tx) =>\n            state.sign(tx),\n          );\n          return {\n            handler: (_2: Channel, message2: ChannelMessage, state2: ChannelState): ChannelFsm =>\n              awaitingCompletion(this, message2, state2, () => {\n                const params = unpackTx(message2.params.data.state, Tag.SignedTx).encodedTx;\n                if (params.tag !== Tag.ChannelOffChainTx) {\n                  throw new ChannelError(\n                    `Tag should be ${Tag[Tag.ChannelOffChainTx]}, got ${Tag[params.tag]} instead`,\n                  );\n                }\n                const addressKey =\n                  this._options.role === 'initiator' ? 'initiatorId' : 'responderId';\n                const owner = this._options[addressKey];\n                changeState(this, message2.params.data.state);\n                const address = buildContractId(owner, params.round);\n                emit(this, 'newContract', address);\n                state2.resolve({ accepted: true, address, signedTx: message2.params.data.state });\n                return { handler: channelOpen };\n              }),\n            state,\n          };\n        },\n        state: { sign },\n      };\n    });\n  }\n\n  /**\n   * Trigger call a contract update\n   *\n   * The call contract update is calling a preexisting contract inside the channel's\n   * internal state tree. The update is a change to be applied on top of the latest state.\n   *\n   * That would call a contract with the poster being the caller of it. Poster commits\n   * an amount of coins to the contract.\n   *\n   * The call would also create a call object inside the channel state tree. It contains\n   * the result of the contract call.\n   *\n   * It is worth mentioning that the gas is not consumed, because this is an off-chain\n   * contract call. It would be consumed if it were an on-chain one. This could happen\n   * if a call with a similar computation amount is to be forced on-chain.\n   *\n   * @param options - Options\n   * @param sign - Function which verifies and signs contract call transaction\n   * @example\n   * ```js\n   * channel.callContract({\n   *   contract: 'ct_9sRA9AVE4BYTAkh5RNfJYmwQe1NZ4MErasQLXZkFWG43TPBqa',\n   *   callData: 'cb_1111111111111111...',\n   *   amount: 0,\n   *   abiVersion: 1\n   * }).then(({ accepted, signedTx }) => {\n   *   if (accepted) {\n   *     console.log('Contract called succesfully')\n   *   } else {\n   *     console.log('Contract call has been rejected')\n   *   }\n   * })\n   * ```\n   */\n  async callContract(\n    { amount, callData, contract, abiVersion }: CallContractOptions,\n    sign: SignTx,\n  ): Promise<{ accepted: boolean; signedTx: Encoded.Transaction }> {\n    return this.enqueueAction(() => {\n      notify(this, 'channels.update.call_contract', {\n        amount,\n        call_data: callData,\n        contract_id: contract,\n        abi_version: abiVersion,\n      });\n      return {\n        handler: async (\n          _: Channel,\n          message: ChannelMessage,\n          state: ChannelState,\n        ): Promise<ChannelFsm> => {\n          if (message.method !== 'channels.sign.update') {\n            return handleUnexpectedMessage(this, message, state);\n          }\n          await signAndNotify(this, 'channels.update', message.params.data, async (tx) =>\n            state.sign(tx, { updates: message.params.data.updates }),\n          );\n          return {\n            handler: (_2: Channel, message2: ChannelMessage, state2: ChannelState): ChannelFsm =>\n              awaitingCompletion(this, message2, state2, () => {\n                changeState(this, message2.params.data.state);\n                state2.resolve({ accepted: true, signedTx: message2.params.data.state });\n                return { handler: channelOpen };\n              }),\n            state,\n          };\n        },\n        state: { sign },\n      };\n    });\n  }\n\n  /**\n   * Trigger a force progress contract call\n   * This call is going on-chain\n   * @param options - Options\n   * @param sign - Function which verifies and signs contract force progress transaction\n   * @param callbacks - Callbacks\n   * @example\n   * ```js\n   * channel.forceProgress({\n   *   contract: 'ct_9sRA9AVE4BYTAkh5RNfJYmwQe1NZ4MErasQLXZkFWG43TPBqa',\n   *   callData: 'cb_1111111111111111...',\n   *   amount: 0,\n   *   abiVersion: 1,\n   *   gasPrice: 1000005554\n   * }).then(({ accepted, signedTx }) => {\n   *   if (accepted) {\n   *     console.log('Contract force progress call successful')\n   *   } else {\n   *     console.log('Contract force progress call has been rejected')\n   *   }\n   * })\n   * ```\n   */\n  async forceProgress(\n    {\n      amount,\n      callData,\n      contract,\n      abiVersion,\n      gasLimit = 1000000,\n      gasPrice = MIN_GAS_PRICE,\n    }: CallContractOptions & {\n      gasLimit?: number;\n      gasPrice?: number;\n    },\n    sign: SignTx,\n    { onOnChainTx }: Pick<ChannelState, 'onOnChainTx'> = {},\n  ): Promise<{\n    accepted: boolean;\n    signedTx: Encoded.Transaction;\n    tx: Encoded.Transaction | Uint8Array;\n  }> {\n    return this.enqueueAction(() => {\n      notify(this, 'channels.force_progress', {\n        amount,\n        call_data: callData,\n        contract_id: contract,\n        abi_version: abiVersion,\n        gas_price: gasPrice,\n        gas: gasLimit,\n      });\n      return {\n        handler: async (\n          _: Channel,\n          message: ChannelMessage,\n          state: ChannelState,\n        ): Promise<ChannelFsm> => {\n          if (message.method !== 'channels.sign.force_progress_tx') {\n            return handleUnexpectedMessage(this, message, state);\n          }\n          await signAndNotify(\n            this,\n            'channels.force_progress_sign',\n            message.params.data,\n            async (tx) => state.sign(tx, { updates: message.params.data.updates }),\n          );\n          return {\n            handler: (_2: Channel, message2: ChannelMessage, state2: ChannelState): ChannelFsm => {\n              if (message2.method === 'channels.on_chain_tx') {\n                state2.onOnChainTx?.(message2.params.data.tx);\n                emit(this, 'onChainTx', message2.params.data.tx, {\n                  info: message2.params.data.info,\n                  type: message2.params.data.type,\n                });\n                state2.resolve({ accepted: true, tx: message2.params.data.tx });\n                // TODO: shouldn't be unexpected message in this case\n              }\n              return handleUnexpectedMessage(this, message2, state2);\n            },\n            state,\n          };\n        },\n        state: { sign, onOnChainTx },\n      };\n    });\n  }\n\n  /**\n   * Call contract using dry-run\n   *\n   * In order to get the result of a potential contract call, one might need to\n   * dry-run a contract call. It takes the exact same arguments as a call would\n   * and returns the call object.\n   *\n   * The call is executed in the channel's state, but it does not impact the state\n   * whatsoever. It uses as an environment the latest channel's state and the current\n   * top of the blockchain as seen by the node.\n   *\n   * @param options - Options\n   * @example\n   * ```js\n   * channel.callContractStatic({\n   *   contract: 'ct_9sRA9AVE4BYTAkh5RNfJYmwQe1NZ4MErasQLXZkFWG43TPBqa',\n   *   callData: 'cb_1111111111111111...',\n   *   amount: 0,\n   *   abiVersion: 1\n   * }).then(({ returnValue, gasUsed }) => {\n   *   console.log('Returned value:', returnValue)\n   *   console.log('Gas used:', gasUsed)\n   * })\n   * ```\n   */\n  async callContractStatic({\n    amount,\n    callData,\n    contract,\n    abiVersion,\n  }: CallContractOptions): Promise<CallContractResult> {\n    return snakeToPascalObjKeys(\n      await call(this, 'channels.dry_run.call_contract', {\n        amount,\n        call_data: callData,\n        contract_id: contract,\n        abi_version: abiVersion,\n      }),\n    );\n  }\n\n  /**\n   * Get contract call result\n   *\n   * The combination of a caller, contract and a round of execution determines the\n   * contract call. Providing an incorrect set of those results in an error response.\n   *\n   * @param options - Options\n   * @param options.caller - Address of contract caller\n   * @param options.contract - Address of the contract\n   * @param options.round - Round when contract was called\n   * @example\n   * ```js\n   * channel.getContractCall({\n   *   caller: 'ak_Y1NRjHuoc3CGMYMvCmdHSBpJsMDR6Ra2t5zjhRcbtMeXXLpLH',\n   *   contract: 'ct_9sRA9AVE4BYTAkh5RNfJYmwQe1NZ4MErasQLXZkFWG43TPBqa',\n   *   round: 3\n   * }).then(({ returnType, returnValue }) => {\n   *   if (returnType === 'ok') console.log(returnValue)\n   * })\n   * ```\n   */\n  async getContractCall({\n    caller,\n    contract,\n    round,\n  }: {\n    caller: Encoded.AccountAddress;\n    contract: Encoded.ContractAddress;\n    round: number;\n  }): Promise<ContractCallObject> {\n    return snakeToPascalObjKeys(\n      await call(this, 'channels.get.contract_call', {\n        caller_id: caller,\n        contract_id: contract,\n        round,\n      }),\n    );\n  }\n\n  /**\n   * Get the latest contract state\n   *\n   * @param contract - Address of the contract\n   * @example\n   * ```js\n   * channel.getContractState(\n   *   'ct_9sRA9AVE4BYTAkh5RNfJYmwQe1NZ4MErasQLXZkFWG43TPBqa'\n   * ).then(({ contract }) => {\n   *   console.log('deposit:', contract.deposit)\n   * })\n   * ```\n   */\n  async getContractState(\n    contract: Encoded.ContractAddress,\n  ): Promise<{ contract: Contract; contractState: object }> {\n    const result = await call(this, 'channels.get.contract', { pubkey: contract });\n    return snakeToPascalObjKeys({\n      ...result,\n      contract: snakeToPascalObjKeys(result.contract),\n    });\n  }\n\n  /**\n   * Clean up all locally stored contract calls\n   *\n   * Contract calls are kept locally in order for the participant to be able to look them up.\n   * They consume memory and in order for the participant to free it - one can prune all messages.\n   * This cleans up all locally stored contract calls and those will no longer be available for\n   * fetching and inspection.\n   */\n  async cleanContractCalls(): Promise<void> {\n    return this.enqueueAction(() => {\n      notify(this, 'channels.clean_contract_calls');\n      return {\n        handler(_: Channel, message: ChannelMessage, state: ChannelState): ChannelFsm {\n          if (message.method === 'channels.calls_pruned.reply') {\n            state.resolve();\n            return { handler: channelOpen };\n          }\n          state.reject(new UnexpectedChannelMessageError('Unexpected message received'));\n          return { handler: channelClosed };\n        },\n      };\n    });\n  }\n}\n","/* eslint-disable max-classes-per-file */\nimport WebSocket from 'isomorphic-ws';\nimport { BaseError, UnexpectedTsError, InternalError } from './utils/errors.js';\nimport { Encoded } from './utils/encoder.js';\n\ninterface Message {\n  payload: Object;\n  source: Source.Middleware | Source.Node;\n  subscription: 'KeyBlocks' | 'MicroBlocks' | 'Transactions' | 'Object';\n  target?: string;\n}\n\nenum Source {\n  Middleware = 'mdw',\n  Node = 'node',\n  All = 'all',\n}\n\nexport class MiddlewareSubscriberError extends BaseError {\n  constructor(message: string) {\n    super(message);\n    this.name = 'MiddlewareSubscriberError';\n  }\n}\n\nexport class MiddlewareSubscriberDisconnected extends MiddlewareSubscriberError {\n  constructor(readonly closeEvent: WebSocket.CloseEvent) {\n    super('Connection closed');\n    this.name = 'MiddlewareSubscriberDisconnected';\n  }\n}\n\n/**\n * @category middleware\n */\nexport default class MiddlewareSubscriber {\n  #subscriptions: Array<readonly [target: string, s: Source, cb: (p?: Object, e?: Error) => void]> =\n    [];\n\n  readonly #requestQueue: Array<[isSubscribe: boolean, target: string]> = [];\n\n  #webSocket?: WebSocket;\n\n  get webSocket(): WebSocket | undefined {\n    return this.#webSocket;\n  }\n\n  get #targets(): Set<string> {\n    return new Set(this.#subscriptions.map(([target]) => target));\n  }\n\n  #sendMessage(message: any): void {\n    if (this.#webSocket == null) throw new UnexpectedTsError();\n    this.#webSocket.send(JSON.stringify(message));\n  }\n\n  #sendSubscribe(isSubscribe: boolean, target: string): void {\n    if (this.#webSocket == null) return;\n    const payload = ['KeyBlocks', 'MicroBlocks', 'Transactions'].includes(target)\n      ? target\n      : 'Object';\n    this.#sendMessage({\n      op: isSubscribe ? 'Subscribe' : 'Unsubscribe',\n      payload,\n      ...(payload === 'Object' && { target }),\n    });\n    this.#requestQueue.push([isSubscribe, target]);\n  }\n\n  #emit(condition: (target: string, source: Source) => boolean, p?: Object, e?: Error): void {\n    this.#subscriptions\n      .filter(([target, source]) => condition(target, source))\n      .forEach(([, , cb]) => cb(p, e));\n  }\n\n  constructor(readonly url: string) {}\n\n  #disconnect(onlyReset = false): void {\n    if (this.#webSocket == null) return;\n    if (!onlyReset) this.#webSocket.close();\n    Object.assign(this.#webSocket, {\n      onopen: undefined,\n      onerror: undefined,\n      onmessage: undefined,\n    });\n    this.#webSocket = undefined;\n  }\n\n  async reconnect(): Promise<void> {\n    this.#disconnect();\n    this.#webSocket = await new Promise((resolve) => {\n      const webSocket = new WebSocket(this.url);\n      Object.assign(webSocket, {\n        onopen: () => resolve(webSocket),\n        onerror: (errorEvent: WebSocket.ErrorEvent) => {\n          this.#emit(() => true, undefined, errorEvent.error);\n        },\n        onmessage: (event: WebSocket.MessageEvent) => {\n          if (typeof event.data !== 'string') {\n            throw new InternalError(`Unknown incoming message type: ${typeof event.data}`);\n          }\n          this.#messageHandler(JSON.parse(event.data));\n        },\n        onclose: (event: WebSocket.CloseEvent) => {\n          this.#emit(() => true, undefined, new MiddlewareSubscriberDisconnected(event));\n          this.#disconnect(true);\n        },\n      });\n    });\n    await Promise.all([...this.#targets].map((target) => this.#sendSubscribe(true, target)));\n  }\n\n  #messageHandler(message: string | string[] | Message): void {\n    if (typeof message === 'string' || Array.isArray(message)) {\n      const request = this.#requestQueue.shift();\n      if (request == null) throw new InternalError('Request queue is empty');\n      const [isSubscribe, target] = request;\n      let error;\n      if (typeof message === 'string') error = new MiddlewareSubscriberError(message);\n      if (message.includes(target) !== isSubscribe) {\n        error = new InternalError(\n          `Expected ${target} to be${isSubscribe ? '' : ' not'} included into ${message}`,\n        );\n      }\n      if (error != null) this.#emit((t) => target === t, undefined, error);\n      return;\n    }\n    this.#emit(\n      (target, source) =>\n        (target === message.subscription || target === message.target) &&\n        (source === message.source || source === Source.All),\n      message.payload,\n    );\n  }\n\n  #subscribe(target: string, source: Source, cb: (p?: Object, e?: Error) => void): () => void {\n    const subscription = [target, source, cb] as const;\n    if (this.#targets.size === 0) this.reconnect();\n    if (!this.#targets.has(target)) this.#sendSubscribe(true, target);\n    this.#subscriptions.push(subscription);\n    return () => {\n      this.#subscriptions = this.#subscriptions.filter((item) => item !== subscription);\n      if (!this.#targets.has(target)) this.#sendSubscribe(false, target);\n      if (this.#targets.size === 0) this.#disconnect();\n    };\n  }\n\n  // TODO: replace p?: any with a proper type definition\n\n  subscribeKeyBlocks(cb: (p?: any, e?: Error) => void): () => void {\n    return this.#subscribe('KeyBlocks', Source.Middleware, cb);\n  }\n\n  subscribeKeyBlocksNode(cb: (p?: any, e?: Error) => void): () => void {\n    return this.#subscribe('KeyBlocks', Source.Node, cb);\n  }\n\n  subscribeKeyBlocksAll(cb: (p?: any, e?: Error) => void): () => void {\n    return this.#subscribe('KeyBlocks', Source.All, cb);\n  }\n\n  subscribeMicroBlocks(cb: (p?: any, e?: Error) => void): () => void {\n    return this.#subscribe('MicroBlocks', Source.Middleware, cb);\n  }\n\n  subscribeMicroBlocksNode(cb: (p?: any, e?: Error) => void): () => void {\n    return this.#subscribe('MicroBlocks', Source.Node, cb);\n  }\n\n  subscribeMicroBlocksAll(cb: (p?: any, e?: Error) => void): () => void {\n    return this.#subscribe('MicroBlocks', Source.All, cb);\n  }\n\n  subscribeTransactions(cb: (p?: any, e?: Error) => void): () => void {\n    return this.#subscribe('Transactions', Source.Middleware, cb);\n  }\n\n  subscribeTransactionsNode(cb: (p?: any, e?: Error) => void): () => void {\n    return this.#subscribe('Transactions', Source.Node, cb);\n  }\n\n  subscribeTransactionsAll(cb: (p?: any, e?: Error) => void): () => void {\n    return this.#subscribe('Transactions', Source.All, cb);\n  }\n\n  subscribeObject(\n    target:\n      | Encoded.KeyBlockHash\n      | Encoded.Channel\n      | Encoded.ContractAddress\n      | Encoded.OracleAddress\n      | Encoded.OracleQueryId\n      | Encoded.AccountAddress\n      | Encoded.Name\n      | `${string}.chain`,\n    cb: (p?: any, e?: Error) => void,\n  ): () => void {\n    return this.#subscribe(target, Source.Middleware, cb);\n  }\n\n  subscribeObjectNode(\n    target:\n      | Encoded.KeyBlockHash\n      | Encoded.Channel\n      | Encoded.ContractAddress\n      | Encoded.OracleAddress\n      | Encoded.OracleQueryId\n      | Encoded.AccountAddress\n      | Encoded.Name\n      | `${string}.chain`,\n    cb: (p?: any, e?: Error) => void,\n  ): () => void {\n    return this.#subscribe(target, Source.Node, cb);\n  }\n\n  subscribeObjectAll(\n    target:\n      | Encoded.KeyBlockHash\n      | Encoded.Channel\n      | Encoded.ContractAddress\n      | Encoded.OracleAddress\n      | Encoded.OracleQueryId\n      | Encoded.AccountAddress\n      | Encoded.Name\n      | `${string}.chain`,\n    cb: (p?: any, e?: Error) => void,\n  ): () => void {\n    return this.#subscribe(target, Source.All, cb);\n  }\n}\n","import {\n  OperationParameter,\n  OperationURLParameter,\n  OperationQueryParameter,\n} from \"@azure/core-client\";\n\nexport const accept: OperationParameter = {\n  parameterPath: \"accept\",\n  mapper: {\n    defaultValue: \"application/json\",\n    isConstant: true,\n    serializedName: \"Accept\",\n    type: {\n      name: \"String\",\n    },\n  },\n};\n\nexport const $host: OperationURLParameter = {\n  parameterPath: \"$host\",\n  mapper: {\n    serializedName: \"$host\",\n    required: true,\n    type: {\n      name: \"String\",\n    },\n  },\n  skipEncoding: true,\n};\n\nexport const accountId: OperationURLParameter = {\n  parameterPath: \"accountId\",\n  mapper: {\n    constraints: {\n      Pattern: new RegExp(\"^ak_\\\\w{38,50}$\"),\n    },\n    serializedName: \"accountId\",\n    required: true,\n    type: {\n      name: \"String\",\n    },\n  },\n};\n\nexport const ownedOnly: OperationQueryParameter = {\n  parameterPath: [\"options\", \"ownedOnly\"],\n  mapper: {\n    serializedName: \"owned_only\",\n    type: {\n      name: \"Boolean\",\n    },\n  },\n};\n\nexport const typeParam: OperationQueryParameter = {\n  parameterPath: [\"options\", \"type\"],\n  mapper: {\n    serializedName: \"type\",\n    type: {\n      name: \"Enum\",\n      allowedValues: [\n        \"transactions\",\n        \"aexn\",\n        \"aex9\",\n        \"aex141\",\n        \"contract\",\n        \"transfers\",\n        \"claims\",\n        \"swaps\",\n      ],\n    },\n  },\n};\n\nexport const limit: OperationQueryParameter = {\n  parameterPath: [\"options\", \"limit\"],\n  mapper: {\n    defaultValue: 10,\n    constraints: {\n      InclusiveMaximum: 100,\n      InclusiveMinimum: 1,\n    },\n    serializedName: \"limit\",\n    type: {\n      name: \"Number\",\n    },\n  },\n};\n\nexport const scope: OperationQueryParameter = {\n  parameterPath: [\"options\", \"scope\"],\n  mapper: {\n    constraints: {\n      Pattern: new RegExp(\"(gen):\\\\d+(-\\\\d+)?\"),\n    },\n    serializedName: \"scope\",\n    type: {\n      name: \"String\",\n    },\n  },\n};\n\nexport const direction: OperationQueryParameter = {\n  parameterPath: [\"options\", \"direction\"],\n  mapper: {\n    serializedName: \"direction\",\n    type: {\n      name: \"Enum\",\n      allowedValues: [\"forward\", \"backward\"],\n    },\n  },\n};\n\nexport const direction1: OperationQueryParameter = {\n  parameterPath: [\"options\", \"direction\"],\n  mapper: {\n    serializedName: \"direction\",\n    type: {\n      name: \"Enum\",\n      allowedValues: [\"forward\", \"backward\"],\n    },\n  },\n};\n\nexport const contract: OperationQueryParameter = {\n  parameterPath: [\"options\", \"contract\"],\n  mapper: {\n    constraints: {\n      Pattern: new RegExp(\"^ct_\\\\w{38,50}$\"),\n    },\n    serializedName: \"contract\",\n    type: {\n      name: \"String\",\n    },\n  },\n};\n\nexport const direction2: OperationQueryParameter = {\n  parameterPath: [\"options\", \"direction\"],\n  mapper: {\n    serializedName: \"direction\",\n    type: {\n      name: \"Enum\",\n      allowedValues: [\"forward\", \"backward\"],\n    },\n  },\n};\n\nexport const direction3: OperationQueryParameter = {\n  parameterPath: [\"options\", \"direction\"],\n  mapper: {\n    serializedName: \"direction\",\n    type: {\n      name: \"Enum\",\n      allowedValues: [\"forward\", \"backward\"],\n    },\n  },\n};\n\nexport const direction4: OperationQueryParameter = {\n  parameterPath: [\"options\", \"direction\"],\n  mapper: {\n    serializedName: \"direction\",\n    type: {\n      name: \"Enum\",\n      allowedValues: [\"forward\", \"backward\"],\n    },\n  },\n};\n\nexport const by: OperationQueryParameter = {\n  parameterPath: [\"options\", \"by\"],\n  mapper: {\n    serializedName: \"by\",\n    type: {\n      name: \"Enum\",\n      allowedValues: [\"creation\", \"name\", \"symbol\"],\n    },\n  },\n};\n\nexport const prefix: OperationQueryParameter = {\n  parameterPath: [\"options\", \"prefix\"],\n  mapper: {\n    serializedName: \"prefix\",\n    type: {\n      name: \"String\",\n    },\n  },\n};\n\nexport const exact: OperationQueryParameter = {\n  parameterPath: [\"options\", \"exact\"],\n  mapper: {\n    serializedName: \"exact\",\n    type: {\n      name: \"String\",\n    },\n  },\n};\n\nexport const direction5: OperationQueryParameter = {\n  parameterPath: [\"options\", \"direction\"],\n  mapper: {\n    serializedName: \"direction\",\n    type: {\n      name: \"Enum\",\n      allowedValues: [\"forward\", \"backward\"],\n    },\n  },\n};\n\nexport const contractId: OperationURLParameter = {\n  parameterPath: \"contractId\",\n  mapper: {\n    constraints: {\n      Pattern: new RegExp(\"^ct_\\\\w{38,50}$\"),\n    },\n    serializedName: \"contractId\",\n    required: true,\n    type: {\n      name: \"String\",\n    },\n  },\n};\n\nexport const direction6: OperationQueryParameter = {\n  parameterPath: [\"options\", \"direction\"],\n  mapper: {\n    serializedName: \"direction\",\n    type: {\n      name: \"Enum\",\n      allowedValues: [\"forward\", \"backward\"],\n    },\n  },\n};\n\nexport const templateId: OperationURLParameter = {\n  parameterPath: \"templateId\",\n  mapper: {\n    serializedName: \"templateId\",\n    required: true,\n    type: {\n      name: \"Number\",\n    },\n  },\n};\n\nexport const direction7: OperationQueryParameter = {\n  parameterPath: [\"options\", \"direction\"],\n  mapper: {\n    serializedName: \"direction\",\n    type: {\n      name: \"Enum\",\n      allowedValues: [\"forward\", \"backward\"],\n    },\n  },\n};\n\nexport const tokenId: OperationURLParameter = {\n  parameterPath: \"tokenId\",\n  mapper: {\n    serializedName: \"tokenId\",\n    required: true,\n    type: {\n      name: \"Number\",\n    },\n  },\n};\n\nexport const direction8: OperationQueryParameter = {\n  parameterPath: [\"options\", \"direction\"],\n  mapper: {\n    serializedName: \"direction\",\n    type: {\n      name: \"Enum\",\n      allowedValues: [\"forward\", \"backward\"],\n    },\n  },\n};\n\nexport const fromParam: OperationQueryParameter = {\n  parameterPath: [\"options\", \"from\"],\n  mapper: {\n    constraints: {\n      Pattern: new RegExp(\"^ak_\\\\w{38,50}$\"),\n    },\n    serializedName: \"from\",\n    type: {\n      name: \"String\",\n    },\n  },\n};\n\nexport const to: OperationQueryParameter = {\n  parameterPath: [\"options\", \"to\"],\n  mapper: {\n    constraints: {\n      Pattern: new RegExp(\"^ak_\\\\w{38,50}$\"),\n    },\n    serializedName: \"to\",\n    type: {\n      name: \"String\",\n    },\n  },\n};\n\nexport const id: OperationURLParameter = {\n  parameterPath: \"id\",\n  mapper: {\n    constraints: {\n      Pattern: new RegExp(\"^ct_\\\\w{38,50}$\"),\n    },\n    serializedName: \"id\",\n    required: true,\n    type: {\n      name: \"String\",\n    },\n  },\n};\n\nexport const direction9: OperationQueryParameter = {\n  parameterPath: [\"options\", \"direction\"],\n  mapper: {\n    serializedName: \"direction\",\n    type: {\n      name: \"Enum\",\n      allowedValues: [\"forward\", \"backward\"],\n    },\n  },\n};\n\nexport const by1: OperationQueryParameter = {\n  parameterPath: [\"options\", \"by\"],\n  mapper: {\n    serializedName: \"by\",\n    type: {\n      name: \"Enum\",\n      allowedValues: [\"creation\", \"name\", \"symbol\"],\n    },\n  },\n};\n\nexport const direction10: OperationQueryParameter = {\n  parameterPath: [\"options\", \"direction\"],\n  mapper: {\n    serializedName: \"direction\",\n    type: {\n      name: \"Enum\",\n      allowedValues: [\"forward\", \"backward\"],\n    },\n  },\n};\n\nexport const by2: OperationQueryParameter = {\n  parameterPath: [\"options\", \"by\"],\n  mapper: {\n    serializedName: \"by\",\n    type: {\n      name: \"String\",\n    },\n  },\n};\n\nexport const blockHash: OperationQueryParameter = {\n  parameterPath: [\"options\", \"blockHash\"],\n  mapper: {\n    constraints: {\n      Pattern: new RegExp(\"^mh_\\\\w{38,50}$\"),\n    },\n    serializedName: \"block_hash\",\n    type: {\n      name: \"String\",\n    },\n  },\n};\n\nexport const hash: OperationQueryParameter = {\n  parameterPath: [\"options\", \"hash\"],\n  mapper: {\n    constraints: {\n      Pattern: new RegExp(\"^mh_\\\\w{38,50}$\"),\n    },\n    serializedName: \"hash\",\n    type: {\n      name: \"String\",\n    },\n  },\n};\n\nexport const direction11: OperationQueryParameter = {\n  parameterPath: [\"options\", \"direction\"],\n  mapper: {\n    serializedName: \"direction\",\n    type: {\n      name: \"Enum\",\n      allowedValues: [\"forward\", \"backward\"],\n    },\n  },\n};\n\nexport const direction12: OperationQueryParameter = {\n  parameterPath: [\"options\", \"direction\"],\n  mapper: {\n    serializedName: \"direction\",\n    type: {\n      name: \"Enum\",\n      allowedValues: [\"forward\", \"backward\"],\n    },\n  },\n};\n\nexport const state: OperationQueryParameter = {\n  parameterPath: [\"options\", \"state\"],\n  mapper: {\n    serializedName: \"state\",\n    type: {\n      name: \"Enum\",\n      allowedValues: [\"active\", \"inactive\"],\n    },\n  },\n};\n\nexport const id1: OperationURLParameter = {\n  parameterPath: \"id\",\n  mapper: {\n    constraints: {\n      Pattern: new RegExp(\"^ch_\\\\w{38,50}$\"),\n    },\n    serializedName: \"id\",\n    required: true,\n    type: {\n      name: \"String\",\n    },\n  },\n};\n\nexport const direction13: OperationQueryParameter = {\n  parameterPath: [\"options\", \"direction\"],\n  mapper: {\n    serializedName: \"direction\",\n    type: {\n      name: \"Enum\",\n      allowedValues: [\"forward\", \"backward\"],\n    },\n  },\n};\n\nexport const contractId1: OperationQueryParameter = {\n  parameterPath: [\"options\", \"contractId\"],\n  mapper: {\n    constraints: {\n      Pattern: new RegExp(\"^ct_\\\\w{38,50}$\"),\n    },\n    serializedName: \"contract_id\",\n    type: {\n      name: \"String\",\n    },\n  },\n};\n\nexport const event: OperationQueryParameter = {\n  parameterPath: [\"options\", \"event\"],\n  mapper: {\n    serializedName: \"event\",\n    type: {\n      name: \"String\",\n    },\n  },\n};\n\nexport const functionParam: OperationQueryParameter = {\n  parameterPath: [\"options\", \"function\"],\n  mapper: {\n    serializedName: \"function\",\n    type: {\n      name: \"String\",\n    },\n  },\n};\n\nexport const functionPrefix: OperationQueryParameter = {\n  parameterPath: [\"options\", \"functionPrefix\"],\n  mapper: {\n    serializedName: \"function_prefix\",\n    type: {\n      name: \"String\",\n    },\n  },\n};\n\nexport const data: OperationQueryParameter = {\n  parameterPath: [\"options\", \"data\"],\n  mapper: {\n    serializedName: \"data\",\n    type: {\n      name: \"String\",\n    },\n  },\n};\n\nexport const aexnArgs: OperationQueryParameter = {\n  parameterPath: [\"options\", \"aexnArgs\"],\n  mapper: {\n    serializedName: \"aexn-args\",\n    type: {\n      name: \"Boolean\",\n    },\n  },\n};\n\nexport const direction14: OperationQueryParameter = {\n  parameterPath: [\"options\", \"direction\"],\n  mapper: {\n    serializedName: \"direction\",\n    type: {\n      name: \"Enum\",\n      allowedValues: [\"forward\", \"backward\"],\n    },\n  },\n};\n\nexport const direction15: OperationQueryParameter = {\n  parameterPath: [\"options\", \"direction\"],\n  mapper: {\n    serializedName: \"direction\",\n    type: {\n      name: \"Enum\",\n      allowedValues: [\"forward\", \"backward\"],\n    },\n  },\n};\n\nexport const direction16: OperationQueryParameter = {\n  parameterPath: [\"options\", \"direction\"],\n  mapper: {\n    serializedName: \"direction\",\n    type: {\n      name: \"Enum\",\n      allowedValues: [\"forward\", \"backward\"],\n    },\n  },\n};\n\nexport const contractId2: OperationURLParameter = {\n  parameterPath: \"contractId\",\n  mapper: {\n    constraints: {\n      Pattern: new RegExp(\"^ct_\\\\w{38,50}$\"),\n    },\n    serializedName: \"contract_id\",\n    required: true,\n    type: {\n      name: \"String\",\n    },\n  },\n};\n\nexport const direction17: OperationQueryParameter = {\n  parameterPath: [\"options\", \"direction\"],\n  mapper: {\n    serializedName: \"direction\",\n    type: {\n      name: \"Enum\",\n      allowedValues: [\"forward\", \"backward\"],\n    },\n  },\n};\n\nexport const scope1: OperationQueryParameter = {\n  parameterPath: [\"options\", \"scope\"],\n  mapper: {\n    constraints: {\n      Pattern: new RegExp(\"(epoch):\\\\d+(-\\\\d+)?\"),\n    },\n    serializedName: \"scope\",\n    type: {\n      name: \"String\",\n    },\n  },\n};\n\nexport const direction18: OperationQueryParameter = {\n  parameterPath: [\"options\", \"direction\"],\n  mapper: {\n    serializedName: \"direction\",\n    type: {\n      name: \"Enum\",\n      allowedValues: [\"forward\", \"backward\"],\n    },\n  },\n};\n\nexport const height: OperationURLParameter = {\n  parameterPath: \"height\",\n  mapper: {\n    serializedName: \"height\",\n    required: true,\n    type: {\n      name: \"Number\",\n    },\n  },\n};\n\nexport const direction19: OperationQueryParameter = {\n  parameterPath: [\"options\", \"direction\"],\n  mapper: {\n    serializedName: \"direction\",\n    type: {\n      name: \"Enum\",\n      allowedValues: [\"forward\", \"backward\"],\n    },\n  },\n};\n\nexport const validator: OperationURLParameter = {\n  parameterPath: \"validator\",\n  mapper: {\n    constraints: {\n      Pattern: new RegExp(\"^ak_\\\\w{38,50}$\"),\n    },\n    serializedName: \"validator\",\n    required: true,\n    type: {\n      name: \"String\",\n    },\n  },\n};\n\nexport const direction20: OperationQueryParameter = {\n  parameterPath: [\"options\", \"direction\"],\n  mapper: {\n    serializedName: \"direction\",\n    type: {\n      name: \"Enum\",\n      allowedValues: [\"forward\", \"backward\"],\n    },\n  },\n};\n\nexport const direction21: OperationQueryParameter = {\n  parameterPath: [\"options\", \"direction\"],\n  mapper: {\n    serializedName: \"direction\",\n    type: {\n      name: \"Enum\",\n      allowedValues: [\"forward\", \"backward\"],\n    },\n  },\n};\n\nexport const direction22: OperationQueryParameter = {\n  parameterPath: [\"options\", \"direction\"],\n  mapper: {\n    serializedName: \"direction\",\n    type: {\n      name: \"Enum\",\n      allowedValues: [\"forward\", \"backward\"],\n    },\n  },\n};\n\nexport const hashOrKbi: OperationURLParameter = {\n  parameterPath: \"hashOrKbi\",\n  mapper: {\n    serializedName: \"hash_or_kbi\",\n    required: true,\n    type: {\n      name: \"String\",\n    },\n  },\n};\n\nexport const direction23: OperationQueryParameter = {\n  parameterPath: [\"options\", \"direction\"],\n  mapper: {\n    serializedName: \"direction\",\n    type: {\n      name: \"Enum\",\n      allowedValues: [\"forward\", \"backward\"],\n    },\n  },\n};\n\nexport const hash1: OperationURLParameter = {\n  parameterPath: \"hash\",\n  mapper: {\n    constraints: {\n      Pattern: new RegExp(\"^mh_\\\\w{38,50}$\"),\n    },\n    serializedName: \"hash\",\n    required: true,\n    type: {\n      name: \"String\",\n    },\n  },\n};\n\nexport const ownedBy: OperationQueryParameter = {\n  parameterPath: [\"options\", \"ownedBy\"],\n  mapper: {\n    constraints: {\n      Pattern: new RegExp(\"^ak_\\\\w{38,50}$\"),\n    },\n    serializedName: \"owned_by\",\n    type: {\n      name: \"String\",\n    },\n  },\n};\n\nexport const state1: OperationQueryParameter = {\n  parameterPath: [\"options\", \"state\"],\n  mapper: {\n    serializedName: \"state\",\n    type: {\n      name: \"String\",\n    },\n  },\n};\n\nexport const direction24: OperationQueryParameter = {\n  parameterPath: [\"options\", \"direction\"],\n  mapper: {\n    serializedName: \"direction\",\n    type: {\n      name: \"Enum\",\n      allowedValues: [\"forward\", \"backward\"],\n    },\n  },\n};\n\nexport const direction25: OperationQueryParameter = {\n  parameterPath: [\"options\", \"direction\"],\n  mapper: {\n    serializedName: \"direction\",\n    type: {\n      name: \"Enum\",\n      allowedValues: [\"forward\", \"backward\"],\n    },\n  },\n};\n\nexport const id2: OperationURLParameter = {\n  parameterPath: \"id\",\n  mapper: {\n    serializedName: \"id\",\n    required: true,\n    type: {\n      name: \"String\",\n    },\n  },\n};\n\nexport const direction26: OperationQueryParameter = {\n  parameterPath: [\"options\", \"direction\"],\n  mapper: {\n    serializedName: \"direction\",\n    type: {\n      name: \"Enum\",\n      allowedValues: [\"forward\", \"backward\"],\n    },\n  },\n};\n\nexport const direction27: OperationQueryParameter = {\n  parameterPath: [\"options\", \"direction\"],\n  mapper: {\n    serializedName: \"direction\",\n    type: {\n      name: \"Enum\",\n      allowedValues: [\"forward\", \"backward\"],\n    },\n  },\n};\n\nexport const direction28: OperationQueryParameter = {\n  parameterPath: [\"options\", \"direction\"],\n  mapper: {\n    serializedName: \"direction\",\n    type: {\n      name: \"Enum\",\n      allowedValues: [\"forward\", \"backward\"],\n    },\n  },\n};\n\nexport const direction29: OperationQueryParameter = {\n  parameterPath: [\"options\", \"direction\"],\n  mapper: {\n    serializedName: \"direction\",\n    type: {\n      name: \"Enum\",\n      allowedValues: [\"forward\", \"backward\"],\n    },\n  },\n};\n\nexport const direction30: OperationQueryParameter = {\n  parameterPath: [\"options\", \"direction\"],\n  mapper: {\n    serializedName: \"direction\",\n    type: {\n      name: \"Enum\",\n      allowedValues: [\"forward\", \"backward\"],\n    },\n  },\n};\n\nexport const direction31: OperationQueryParameter = {\n  parameterPath: [\"options\", \"direction\"],\n  mapper: {\n    serializedName: \"direction\",\n    type: {\n      name: \"Enum\",\n      allowedValues: [\"forward\", \"backward\"],\n    },\n  },\n};\n\nexport const id3: OperationURLParameter = {\n  parameterPath: \"id\",\n  mapper: {\n    constraints: {\n      Pattern: new RegExp(\"^ok_\\\\w{38,50}$\"),\n    },\n    serializedName: \"id\",\n    required: true,\n    type: {\n      name: \"String\",\n    },\n  },\n};\n\nexport const intervalBy: OperationQueryParameter = {\n  parameterPath: [\"options\", \"intervalBy\"],\n  mapper: {\n    serializedName: \"interval_by\",\n    type: {\n      name: \"Enum\",\n      allowedValues: [\"day\", \"week\", \"month\"],\n    },\n  },\n};\n\nexport const direction32: OperationQueryParameter = {\n  parameterPath: [\"options\", \"direction\"],\n  mapper: {\n    serializedName: \"direction\",\n    type: {\n      name: \"Enum\",\n      allowedValues: [\"forward\", \"backward\"],\n    },\n  },\n};\n\nexport const intervalBy1: OperationQueryParameter = {\n  parameterPath: [\"options\", \"intervalBy\"],\n  mapper: {\n    serializedName: \"interval_by\",\n    type: {\n      name: \"Enum\",\n      allowedValues: [\"day\", \"week\", \"month\"],\n    },\n  },\n};\n\nexport const minStartDate: OperationQueryParameter = {\n  parameterPath: [\"options\", \"minStartDate\"],\n  mapper: {\n    serializedName: \"min_start_date\",\n    type: {\n      name: \"String\",\n    },\n  },\n};\n\nexport const maxStartDate: OperationQueryParameter = {\n  parameterPath: [\"options\", \"maxStartDate\"],\n  mapper: {\n    serializedName: \"max_start_date\",\n    type: {\n      name: \"String\",\n    },\n  },\n};\n\nexport const direction33: OperationQueryParameter = {\n  parameterPath: [\"options\", \"direction\"],\n  mapper: {\n    serializedName: \"direction\",\n    type: {\n      name: \"Enum\",\n      allowedValues: [\"forward\", \"backward\"],\n    },\n  },\n};\n\nexport const intervalBy2: OperationQueryParameter = {\n  parameterPath: [\"options\", \"intervalBy\"],\n  mapper: {\n    serializedName: \"interval_by\",\n    type: {\n      name: \"Enum\",\n      allowedValues: [\"day\", \"week\", \"month\"],\n    },\n  },\n};\n\nexport const typeParam1: OperationQueryParameter = {\n  parameterPath: [\"options\", \"type\"],\n  mapper: {\n    serializedName: \"type\",\n    type: {\n      name: \"Enum\",\n      allowedValues: [\"key\", \"micro\"],\n    },\n  },\n};\n\nexport const direction34: OperationQueryParameter = {\n  parameterPath: [\"options\", \"direction\"],\n  mapper: {\n    serializedName: \"direction\",\n    type: {\n      name: \"Enum\",\n      allowedValues: [\"forward\", \"backward\"],\n    },\n  },\n};\n\nexport const intervalBy3: OperationQueryParameter = {\n  parameterPath: [\"options\", \"intervalBy\"],\n  mapper: {\n    serializedName: \"interval_by\",\n    type: {\n      name: \"Enum\",\n      allowedValues: [\"day\", \"week\", \"month\"],\n    },\n  },\n};\n\nexport const direction35: OperationQueryParameter = {\n  parameterPath: [\"options\", \"direction\"],\n  mapper: {\n    serializedName: \"direction\",\n    type: {\n      name: \"Enum\",\n      allowedValues: [\"forward\", \"backward\"],\n    },\n  },\n};\n\nexport const direction36: OperationQueryParameter = {\n  parameterPath: [\"options\", \"direction\"],\n  mapper: {\n    serializedName: \"direction\",\n    type: {\n      name: \"Enum\",\n      allowedValues: [\"forward\", \"backward\"],\n    },\n  },\n};\n\nexport const intervalBy4: OperationQueryParameter = {\n  parameterPath: [\"options\", \"intervalBy\"],\n  mapper: {\n    serializedName: \"interval_by\",\n    type: {\n      name: \"Enum\",\n      allowedValues: [\"day\", \"week\", \"month\"],\n    },\n  },\n};\n\nexport const direction37: OperationQueryParameter = {\n  parameterPath: [\"options\", \"direction\"],\n  mapper: {\n    serializedName: \"direction\",\n    type: {\n      name: \"Enum\",\n      allowedValues: [\"forward\", \"backward\"],\n    },\n  },\n};\n\nexport const intervalBy5: OperationQueryParameter = {\n  parameterPath: [\"options\", \"intervalBy\"],\n  mapper: {\n    serializedName: \"interval_by\",\n    type: {\n      name: \"Enum\",\n      allowedValues: [\"day\", \"week\", \"month\"],\n    },\n  },\n};\n\nexport const direction38: OperationQueryParameter = {\n  parameterPath: [\"options\", \"direction\"],\n  mapper: {\n    serializedName: \"direction\",\n    type: {\n      name: \"Enum\",\n      allowedValues: [\"forward\", \"backward\"],\n    },\n  },\n};\n\nexport const direction39: OperationQueryParameter = {\n  parameterPath: [\"options\", \"direction\"],\n  mapper: {\n    serializedName: \"direction\",\n    type: {\n      name: \"Enum\",\n      allowedValues: [\"forward\", \"backward\"],\n    },\n  },\n};\n\nexport const intervalBy6: OperationQueryParameter = {\n  parameterPath: [\"options\", \"intervalBy\"],\n  mapper: {\n    serializedName: \"interval_by\",\n    type: {\n      name: \"Enum\",\n      allowedValues: [\"day\", \"week\", \"month\"],\n    },\n  },\n};\n\nexport const direction40: OperationQueryParameter = {\n  parameterPath: [\"options\", \"direction\"],\n  mapper: {\n    serializedName: \"direction\",\n    type: {\n      name: \"Enum\",\n      allowedValues: [\"forward\", \"backward\"],\n    },\n  },\n};\n\nexport const direction41: OperationQueryParameter = {\n  parameterPath: [\"options\", \"direction\"],\n  mapper: {\n    serializedName: \"direction\",\n    type: {\n      name: \"Enum\",\n      allowedValues: [\"forward\", \"backward\"],\n    },\n  },\n};\n\nexport const intervalBy7: OperationQueryParameter = {\n  parameterPath: [\"options\", \"intervalBy\"],\n  mapper: {\n    serializedName: \"interval_by\",\n    type: {\n      name: \"Enum\",\n      allowedValues: [\"day\", \"week\", \"month\"],\n    },\n  },\n};\n\nexport const direction42: OperationQueryParameter = {\n  parameterPath: [\"options\", \"direction\"],\n  mapper: {\n    serializedName: \"direction\",\n    type: {\n      name: \"Enum\",\n      allowedValues: [\"forward\", \"backward\"],\n    },\n  },\n};\n\nexport const intervalBy8: OperationQueryParameter = {\n  parameterPath: [\"options\", \"intervalBy\"],\n  mapper: {\n    serializedName: \"interval_by\",\n    type: {\n      name: \"Enum\",\n      allowedValues: [\"day\", \"week\", \"month\"],\n    },\n  },\n};\n\nexport const txType: OperationQueryParameter = {\n  parameterPath: [\"options\", \"txType\"],\n  mapper: {\n    serializedName: \"tx_type\",\n    type: {\n      name: \"String\",\n    },\n  },\n};\n\nexport const direction43: OperationQueryParameter = {\n  parameterPath: [\"options\", \"direction\"],\n  mapper: {\n    serializedName: \"direction\",\n    type: {\n      name: \"Enum\",\n      allowedValues: [\"forward\", \"backward\"],\n    },\n  },\n};\n\nexport const typeParam2: OperationQueryParameter = {\n  parameterPath: [\"options\", \"type\"],\n  mapper: {\n    serializedName: \"type\",\n    type: {\n      name: \"Sequence\",\n      element: {\n        type: {\n          name: \"Enum\",\n          allowedValues: [\n            \"channel_close_mutual\",\n            \"channel_close_solo\",\n            \"channel_create\",\n            \"channel_deposit\",\n            \"channel_force_progress\",\n            \"channel_offchain\",\n            \"channel_settle\",\n            \"channel_slash\",\n            \"channel_snapshot_solo\",\n            \"channel_withdraw\",\n            \"contract_call\",\n            \"contract_create\",\n            \"ga_attach\",\n            \"ga_meta\",\n            \"name_claim\",\n            \"name_preclaim\",\n            \"name_revoke\",\n            \"name_transfer\",\n            \"name_update\",\n            \"oracle_extend\",\n            \"oracle_query\",\n            \"oracle_register\",\n            \"oracle_response\",\n            \"paying_for\",\n            \"spend\",\n          ],\n        },\n      },\n    },\n  },\n  collectionFormat: \"Multi\",\n};\n\nexport const typeGroup: OperationQueryParameter = {\n  parameterPath: [\"options\", \"typeGroup\"],\n  mapper: {\n    serializedName: \"type_group\",\n    type: {\n      name: \"Sequence\",\n      element: {\n        type: {\n          name: \"Enum\",\n          allowedValues: [\n            \"channel\",\n            \"contract\",\n            \"ga\",\n            \"name\",\n            \"oracle\",\n            \"paying_for\",\n            \"spend\",\n          ],\n        },\n      },\n    },\n  },\n  collectionFormat: \"Multi\",\n};\n\nexport const account: OperationQueryParameter = {\n  parameterPath: [\"options\", \"account\"],\n  mapper: {\n    constraints: {\n      Pattern: new RegExp(\"^ak_\\\\w{38,50}$\"),\n    },\n    serializedName: \"account\",\n    type: {\n      name: \"String\",\n    },\n  },\n};\n\nexport const channel: OperationQueryParameter = {\n  parameterPath: [\"options\", \"channel\"],\n  mapper: {\n    constraints: {\n      Pattern: new RegExp(\"^ch_\\\\w{38,50}$\"),\n    },\n    serializedName: \"channel\",\n    type: {\n      name: \"String\",\n    },\n  },\n};\n\nexport const oracle: OperationQueryParameter = {\n  parameterPath: [\"options\", \"oracle\"],\n  mapper: {\n    constraints: {\n      Pattern: new RegExp(\"^ok_\\\\w{38,50}$\"),\n    },\n    serializedName: \"oracle\",\n    type: {\n      name: \"String\",\n    },\n  },\n};\n\nexport const senderId: OperationQueryParameter = {\n  parameterPath: [\"options\", \"senderId\"],\n  mapper: {\n    constraints: {\n      Pattern: new RegExp(\"^ak_\\\\w{38,50}$\"),\n    },\n    serializedName: \"sender_id\",\n    type: {\n      name: \"String\",\n    },\n  },\n};\n\nexport const recipientId: OperationQueryParameter = {\n  parameterPath: [\"options\", \"recipientId\"],\n  mapper: {\n    constraints: {\n      Pattern: new RegExp(\"^ak_\\\\w{38,50}$\"),\n    },\n    serializedName: \"recipient_id\",\n    type: {\n      name: \"String\",\n    },\n  },\n};\n\nexport const entrypoint: OperationQueryParameter = {\n  parameterPath: [\"options\", \"entrypoint\"],\n  mapper: {\n    serializedName: \"entrypoint\",\n    type: {\n      name: \"String\",\n    },\n  },\n};\n\nexport const scope2: OperationQueryParameter = {\n  parameterPath: [\"options\", \"scope\"],\n  mapper: {\n    constraints: {\n      Pattern: new RegExp(\"(time|gen):\\\\d+(-\\\\d+)?\"),\n    },\n    serializedName: \"scope\",\n    type: {\n      name: \"String\",\n    },\n  },\n};\n\nexport const direction44: OperationQueryParameter = {\n  parameterPath: [\"options\", \"direction\"],\n  mapper: {\n    serializedName: \"direction\",\n    type: {\n      name: \"Enum\",\n      allowedValues: [\"forward\", \"backward\"],\n    },\n  },\n};\n\nexport const id4: OperationQueryParameter = {\n  parameterPath: [\"options\", \"id\"],\n  mapper: {\n    constraints: {\n      Pattern: new RegExp(\"^ak_\\\\w{38,50}$\"),\n    },\n    serializedName: \"id\",\n    type: {\n      name: \"String\",\n    },\n  },\n};\n\nexport const direction45: OperationQueryParameter = {\n  parameterPath: [\"options\", \"direction\"],\n  mapper: {\n    serializedName: \"direction\",\n    type: {\n      name: \"Enum\",\n      allowedValues: [\"forward\", \"backward\"],\n    },\n  },\n};\n\nexport const hash2: OperationURLParameter = {\n  parameterPath: \"hash\",\n  mapper: {\n    constraints: {\n      Pattern: new RegExp(\"^th_\\\\w{38,50}$\"),\n    },\n    serializedName: \"hash\",\n    required: true,\n    type: {\n      name: \"String\",\n    },\n  },\n};\n\nexport const direction46: OperationQueryParameter = {\n  parameterPath: [\"options\", \"direction\"],\n  mapper: {\n    serializedName: \"direction\",\n    type: {\n      name: \"Enum\",\n      allowedValues: [\"forward\", \"backward\"],\n    },\n  },\n};\n","import * as coreClient from \"@azure/core-client\";\n\nexport const PathsBx0Ya3V3AccountsAccountidActivitiesGetResponses200ContentApplicationJsonSchemaAllof0: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"PathsBx0Ya3V3AccountsAccountidActivitiesGetResponses200ContentApplicationJsonSchemaAllof0\",\n      modelProperties: {\n        data: {\n          serializedName: \"data\",\n          required: true,\n          type: {\n            name: \"Sequence\",\n            element: {\n              type: {\n                name: \"Composite\",\n                className: \"Activity\",\n              },\n            },\n          },\n        },\n      },\n    },\n  };\n\nexport const Activity: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"Activity\",\n    modelProperties: {\n      blockHash: {\n        constraints: {\n          Pattern: new RegExp(\"^mh_\\\\w{38,50}$\"),\n        },\n        serializedName: \"block_hash\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      blockTime: {\n        serializedName: \"block_time\",\n        required: true,\n        type: {\n          name: \"UnixTime\",\n        },\n      },\n      height: {\n        serializedName: \"height\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      type: {\n        serializedName: \"type\",\n        required: true,\n        type: {\n          name: \"Enum\",\n          allowedValues: [\n            \"SpendTxEvent\",\n            \"OracleRegisterTxEvent\",\n            \"OracleExtendTxEvent\",\n            \"OracleQueryTxEvent\",\n            \"OracleResponseTxEvent\",\n            \"NamePreclaimTxEvent\",\n            \"NameClaimTxEvent\",\n            \"NameTransferTxEvent\",\n            \"NameUpdateTxEvent\",\n            \"NameRevokeTxEvent\",\n            \"ContractCreateTxEvent\",\n            \"ContractCallTxEvent\",\n            \"GaAttachTxEvent\",\n            \"GaMetaTxEvent\",\n            \"ChannelCreateTxEvent\",\n            \"ChannelDepositTxEvent\",\n            \"ChannelWithdrawTxEvent\",\n            \"ChannelForceProgressTxEvent\",\n            \"ChannelCloseMutualTxEvent\",\n            \"ChannelCloseSoloTxEvent\",\n            \"ChannelSlashTxEvent\",\n            \"ChannelSettleTxEvent\",\n            \"ChannelSnapshotSoloTxEvent\",\n            \"ChannelSetDelegatesTxEvent\",\n            \"ChannelOffchainTxEvent\",\n            \"ChannelClientReconnectTxEvent\",\n            \"PayingForTxEvent\",\n          ],\n        },\n      },\n      payload: {\n        serializedName: \"payload\",\n        type: {\n          name: \"Composite\",\n          className: \"ActivityPayload\",\n        },\n      },\n    },\n  },\n};\n\nexport const ActivityPayload: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"ActivityPayload\",\n    modelProperties: {\n      blockHash: {\n        constraints: {\n          Pattern: new RegExp(\"^mh_\\\\w{38,50}$\"),\n        },\n        serializedName: \"block_hash\",\n        type: {\n          name: \"String\",\n        },\n      },\n      blockHeight: {\n        serializedName: \"block_height\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      encodedTx: {\n        constraints: {\n          Pattern: new RegExp(\"^tx_\\\\w+$\"),\n        },\n        serializedName: \"encoded_tx\",\n        type: {\n          name: \"String\",\n        },\n      },\n      hash: {\n        constraints: {\n          Pattern: new RegExp(\"^th_\\\\w{38,50}$\"),\n        },\n        serializedName: \"hash\",\n        type: {\n          name: \"String\",\n        },\n      },\n      microIndex: {\n        serializedName: \"micro_index\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      microTime: {\n        serializedName: \"micro_time\",\n        type: {\n          name: \"UnixTime\",\n        },\n      },\n      signatures: {\n        serializedName: \"signatures\",\n        type: {\n          name: \"Sequence\",\n          element: {\n            constraints: {\n              Pattern: new RegExp(\"^sg_\\\\w+$\"),\n            },\n            type: {\n              name: \"String\",\n            },\n          },\n        },\n      },\n      tx: {\n        serializedName: \"tx\",\n        type: {\n          name: \"Composite\",\n          className: \"Tx\",\n        },\n      },\n      amount: {\n        serializedName: \"amount\",\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      contractId: {\n        constraints: {\n          Pattern: new RegExp(\"^ct_\\\\w{38,50}$\"),\n        },\n        serializedName: \"contract_id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      logIdx: {\n        serializedName: \"log_idx\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      recipientId: {\n        constraints: {\n          Pattern: new RegExp(\"^ak_\\\\w{38,50}$\"),\n        },\n        serializedName: \"recipient_id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      senderId: {\n        constraints: {\n          Pattern: new RegExp(\"^ak_\\\\w{38,50}$\"),\n        },\n        serializedName: \"sender_id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      txHash: {\n        constraints: {\n          Pattern: new RegExp(\"^th_\\\\w{38,50}$\"),\n        },\n        serializedName: \"tx_hash\",\n        type: {\n          name: \"String\",\n        },\n      },\n      recipient: {\n        constraints: {\n          Pattern: new RegExp(\"^ak_\\\\w{38,50}$\"),\n        },\n        serializedName: \"recipient\",\n        type: {\n          name: \"String\",\n        },\n      },\n      sender: {\n        constraints: {\n          Pattern: new RegExp(\"^ak_\\\\w{38,50}$\"),\n        },\n        serializedName: \"sender\",\n        type: {\n          name: \"String\",\n        },\n      },\n      tokenId: {\n        serializedName: \"token_id\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      contractTxHash: {\n        constraints: {\n          Pattern: new RegExp(\"^th_\\\\w{38,50}$\"),\n        },\n        serializedName: \"contract_tx_hash\",\n        type: {\n          name: \"String\",\n        },\n      },\n      callTxHash: {\n        constraints: {\n          Pattern: new RegExp(\"^th_\\\\w{38,50}$\"),\n        },\n        serializedName: \"call_tx_hash\",\n        type: {\n          name: \"String\",\n        },\n      },\n      function: {\n        serializedName: \"function\",\n        type: {\n          name: \"String\",\n        },\n      },\n      internalTx: {\n        serializedName: \"internal_tx\",\n        type: {\n          name: \"Dictionary\",\n          value: { type: { name: \"any\" } },\n        },\n      },\n      height: {\n        serializedName: \"height\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      kind: {\n        serializedName: \"kind\",\n        type: {\n          name: \"Enum\",\n          allowedValues: [\n            \"accounts_extra_lima\",\n            \"accounts_fortuna\",\n            \"accounts_genesis\",\n            \"accounts_lima\",\n            \"accounts_minerva\",\n            \"contracts_lima\",\n            \"reward_dev\",\n            \"reward_block\",\n            \"fee_refund_oracle\",\n            \"fee_lock_name\",\n            \"fee_refund_name\",\n            \"fee_spend_name\",\n            \"reward_oracle\",\n          ],\n        },\n      },\n      refTxHash: {\n        constraints: {\n          Pattern: new RegExp(\"^th_\\\\w{38,50}$\"),\n        },\n        serializedName: \"ref_tx_hash\",\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const Tx: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"Tx\",\n    modelProperties: {\n      recipientId: {\n        serializedName: \"recipient_id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      amount: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"amount\",\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      fee: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"fee\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      ttl: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"ttl\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      senderId: {\n        serializedName: \"sender_id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      nonce: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"nonce\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      payload: {\n        serializedName: \"payload\",\n        type: {\n          name: \"String\",\n        },\n      },\n      initiatorId: {\n        serializedName: \"initiator_id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      initiatorAmount: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"initiator_amount\",\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      responderId: {\n        serializedName: \"responder_id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      responderAmount: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"responder_amount\",\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      channelReserve: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"channel_reserve\",\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      lockPeriod: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"lock_period\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      stateHash: {\n        serializedName: \"state_hash\",\n        type: {\n          name: \"String\",\n        },\n      },\n      delegateIds: {\n        serializedName: \"delegate_ids\",\n        type: {\n          name: \"Composite\",\n          className: \"Delegates\",\n        },\n      },\n      channelId: {\n        serializedName: \"channel_id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      fromId: {\n        serializedName: \"from_id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      round: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"round\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      toId: {\n        serializedName: \"to_id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      update: {\n        serializedName: \"update\",\n        type: {\n          name: \"Composite\",\n          className: \"OffChainUpdate\",\n        },\n      },\n      offchainTrees: {\n        serializedName: \"offchain_trees\",\n        type: {\n          name: \"String\",\n        },\n      },\n      initiatorAmountFinal: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"initiator_amount_final\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      responderAmountFinal: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"responder_amount_final\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      poi: {\n        serializedName: \"poi\",\n        type: {\n          name: \"String\",\n        },\n      },\n      initiatorDelegateIds: {\n        serializedName: \"initiator_delegate_ids\",\n        type: {\n          name: \"Sequence\",\n          element: {\n            type: {\n              name: \"String\",\n            },\n          },\n        },\n      },\n      responderDelegateIds: {\n        serializedName: \"responder_delegate_ids\",\n        type: {\n          name: \"Sequence\",\n          element: {\n            type: {\n              name: \"String\",\n            },\n          },\n        },\n      },\n      queryFormat: {\n        serializedName: \"query_format\",\n        type: {\n          name: \"String\",\n        },\n      },\n      responseFormat: {\n        serializedName: \"response_format\",\n        type: {\n          name: \"String\",\n        },\n      },\n      queryFee: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"query_fee\",\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      oracleTtl: {\n        serializedName: \"oracle_ttl\",\n        type: {\n          name: \"Composite\",\n          className: \"RelativeTTL\",\n        },\n      },\n      accountId: {\n        serializedName: \"account_id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      abiVersion: {\n        constraints: {\n          InclusiveMaximum: 65535,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"abi_version\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      oracleId: {\n        serializedName: \"oracle_id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      query: {\n        serializedName: \"query\",\n        type: {\n          name: \"String\",\n        },\n      },\n      queryTtl: {\n        serializedName: \"query_ttl\",\n        type: {\n          name: \"Composite\",\n          className: \"Ttl\",\n        },\n      },\n      responseTtl: {\n        serializedName: \"response_ttl\",\n        type: {\n          name: \"Composite\",\n          className: \"RelativeTTL\",\n        },\n      },\n      queryId: {\n        serializedName: \"query_id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      response: {\n        serializedName: \"response\",\n        type: {\n          name: \"String\",\n        },\n      },\n      commitmentId: {\n        serializedName: \"commitment_id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      name: {\n        serializedName: \"name\",\n        type: {\n          name: \"String\",\n        },\n      },\n      nameSalt: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"name_salt\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      nameFee: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"name_fee\",\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      nameId: {\n        serializedName: \"name_id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      nameTtl: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"name_ttl\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      pointers: {\n        serializedName: \"pointers\",\n        type: {\n          name: \"Sequence\",\n          element: {\n            type: {\n              name: \"Composite\",\n              className: \"NamePointer\",\n            },\n          },\n        },\n      },\n      clientTtl: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"client_ttl\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      ownerId: {\n        serializedName: \"owner_id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      code: {\n        serializedName: \"code\",\n        type: {\n          name: \"String\",\n        },\n      },\n      vmVersion: {\n        constraints: {\n          InclusiveMaximum: 65535,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"vm_version\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      deposit: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"deposit\",\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      gas: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"gas\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      gasPrice: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"gas_price\",\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      callData: {\n        serializedName: \"call_data\",\n        type: {\n          name: \"String\",\n        },\n      },\n      callerId: {\n        serializedName: \"caller_id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      contractId: {\n        serializedName: \"contract_id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      authFun: {\n        constraints: {\n          Pattern: new RegExp(\"^(0x|0X)?[a-fA-F0-9]+$\"),\n        },\n        serializedName: \"auth_fun\",\n        type: {\n          name: \"String\",\n        },\n      },\n      gaId: {\n        serializedName: \"ga_id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      authData: {\n        serializedName: \"auth_data\",\n        type: {\n          name: \"String\",\n        },\n      },\n      tx: {\n        serializedName: \"tx\",\n        type: {\n          name: \"Composite\",\n          className: \"SignedTx\",\n        },\n      },\n      payerId: {\n        serializedName: \"payer_id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      version: {\n        constraints: {\n          InclusiveMaximum: 4294967295,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"version\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      type: {\n        serializedName: \"type\",\n        required: true,\n        type: {\n          name: \"Enum\",\n          allowedValues: [\n            \"SpendTx\",\n            \"ChannelCreateTx\",\n            \"ChannelDepositTx\",\n            \"ChannelWithdrawTx\",\n            \"ChannelForceProgressTx\",\n            \"ChannelCloseMutualTx\",\n            \"ChannelCloseSoloTx\",\n            \"ChannelSlashTx\",\n            \"ChannelSettleTx\",\n            \"ChannelSnapshotSoloTx\",\n            \"ChannelSetDelegatesTx\",\n            \"OracleRegisterTx\",\n            \"OracleExtendTx\",\n            \"OracleQueryTx\",\n            \"OracleRespondTx\",\n            \"NamePreclaimTx\",\n            \"NameClaimTx\",\n            \"NameUpdateTx\",\n            \"NameTransferTx\",\n            \"NameRevokeTx\",\n            \"ContractCreateTx\",\n            \"ContractCallTx\",\n            \"GAAttachTx\",\n            \"GAMetaTx\",\n            \"PayingForTx\",\n          ],\n        },\n      },\n    },\n  },\n};\n\nexport const Delegates: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"Delegates\",\n    modelProperties: {\n      initiator: {\n        serializedName: \"initiator\",\n        type: {\n          name: \"Sequence\",\n          element: {\n            type: {\n              name: \"String\",\n            },\n          },\n        },\n      },\n      responder: {\n        serializedName: \"responder\",\n        type: {\n          name: \"Sequence\",\n          element: {\n            type: {\n              name: \"String\",\n            },\n          },\n        },\n      },\n    },\n  },\n};\n\nexport const OffChainUpdate: coreClient.CompositeMapper = {\n  serializedName: \"OffChainUpdate\",\n  type: {\n    name: \"Composite\",\n    className: \"OffChainUpdate\",\n    uberParent: \"OffChainUpdate\",\n    polymorphicDiscriminator: {\n      serializedName: \"op\",\n      clientName: \"op\",\n    },\n    modelProperties: {\n      op: {\n        serializedName: \"op\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const RelativeTTL: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"RelativeTTL\",\n    modelProperties: {\n      type: {\n        defaultValue: \"delta\",\n        isConstant: true,\n        serializedName: \"type\",\n        type: {\n          name: \"String\",\n        },\n      },\n      value: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"value\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n    },\n  },\n};\n\nexport const Ttl: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"Ttl\",\n    modelProperties: {\n      type: {\n        serializedName: \"type\",\n        required: true,\n        type: {\n          name: \"Enum\",\n          allowedValues: [\"delta\", \"block\"],\n        },\n      },\n      value: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"value\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n    },\n  },\n};\n\nexport const NamePointer: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"NamePointer\",\n    modelProperties: {\n      key: {\n        serializedName: \"key\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      encodedKey: {\n        serializedName: \"encoded_key\",\n        type: {\n          name: \"String\",\n        },\n      },\n      id: {\n        serializedName: \"id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const SignedTx: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"SignedTx\",\n    modelProperties: {\n      tx: {\n        serializedName: \"tx\",\n        type: {\n          name: \"Composite\",\n          className: \"Tx\",\n        },\n      },\n      blockHeight: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: -1,\n        },\n        serializedName: \"block_height\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      blockHash: {\n        serializedName: \"block_hash\",\n        type: {\n          name: \"String\",\n        },\n      },\n      hash: {\n        serializedName: \"hash\",\n        type: {\n          name: \"String\",\n        },\n      },\n      encodedTx: {\n        serializedName: \"encoded_tx\",\n        type: {\n          name: \"String\",\n        },\n      },\n      signatures: {\n        serializedName: \"signatures\",\n        type: {\n          name: \"Sequence\",\n          element: {\n            type: {\n              name: \"String\",\n            },\n          },\n        },\n      },\n    },\n  },\n};\n\nexport const PaginatedResponse: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"PaginatedResponse\",\n    modelProperties: {\n      next: {\n        serializedName: \"next\",\n        required: true,\n        nullable: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      prev: {\n        serializedName: \"prev\",\n        required: true,\n        nullable: true,\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const ErrorResponse: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"ErrorResponse\",\n    modelProperties: {\n      error: {\n        serializedName: \"error\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const Paths1Q9E32FV3AccountsAccountidAex141TokensGetResponses200ContentApplicationJsonSchemaAllof0: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"Paths1Q9E32FV3AccountsAccountidAex141TokensGetResponses200ContentApplicationJsonSchemaAllof0\",\n      modelProperties: {\n        data: {\n          serializedName: \"data\",\n          required: true,\n          type: {\n            name: \"Sequence\",\n            element: {\n              type: {\n                name: \"Composite\",\n                className: \"Aex141TokenResponse\",\n              },\n            },\n          },\n        },\n      },\n    },\n  };\n\nexport const Aex141TokenResponse: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"Aex141TokenResponse\",\n    modelProperties: {\n      contractId: {\n        constraints: {\n          Pattern: new RegExp(\"^ct_\\\\w{38,50}$\"),\n        },\n        serializedName: \"contract_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      ownerId: {\n        constraints: {\n          Pattern: new RegExp(\"^ak_\\\\w{38,50}$\"),\n        },\n        serializedName: \"owner_id\",\n        type: {\n          name: \"String\",\n        },\n      },\n      tokenId: {\n        serializedName: \"token_id\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n    },\n  },\n};\n\nexport const PathsZ92TkfV3AccountsAccountidAex9BalancesGetResponses200ContentApplicationJsonSchemaAllof1: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"PathsZ92TkfV3AccountsAccountidAex9BalancesGetResponses200ContentApplicationJsonSchemaAllof1\",\n      modelProperties: {\n        data: {\n          serializedName: \"data\",\n          required: true,\n          type: {\n            name: \"Sequence\",\n            element: {\n              type: {\n                name: \"Composite\",\n                className: \"Aex9BalanceResponse\",\n              },\n            },\n          },\n        },\n      },\n    },\n  };\n\nexport const Aex9BalanceResponse: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"Aex9BalanceResponse\",\n    modelProperties: {\n      amount: {\n        serializedName: \"amount\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      blockHash: {\n        serializedName: \"block_hash\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      contractId: {\n        constraints: {\n          Pattern: new RegExp(\"^ct_\\\\w{38,50}$\"),\n        },\n        serializedName: \"contract_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      decimals: {\n        serializedName: \"decimals\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      height: {\n        serializedName: \"height\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      tokenName: {\n        serializedName: \"token_name\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      tokenSymbol: {\n        serializedName: \"token_symbol\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      txHash: {\n        constraints: {\n          Pattern: new RegExp(\"^th_\\\\w{38,50}$\"),\n        },\n        serializedName: \"tx_hash\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      txIndex: {\n        serializedName: \"tx_index\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      txType: {\n        serializedName: \"tx_type\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const Paths10R8Q7PV3AccountsAccountidDexSwapsGetResponses200ContentApplicationJsonSchemaAllof0: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"Paths10R8Q7PV3AccountsAccountidDexSwapsGetResponses200ContentApplicationJsonSchemaAllof0\",\n      modelProperties: {\n        data: {\n          serializedName: \"data\",\n          required: true,\n          type: {\n            name: \"Sequence\",\n            element: {\n              type: {\n                name: \"Composite\",\n                className: \"DexSwap\",\n              },\n            },\n          },\n        },\n      },\n    },\n  };\n\nexport const DexSwap: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"DexSwap\",\n    modelProperties: {\n      amounts: {\n        serializedName: \"amounts\",\n        type: {\n          name: \"Composite\",\n          className: \"DexSwapAmounts\",\n        },\n      },\n      action: {\n        serializedName: \"action\",\n        required: true,\n        type: {\n          name: \"Enum\",\n          allowedValues: [\"SWAP\", \"BUY\", \"SELL\"],\n        },\n      },\n      caller: {\n        constraints: {\n          Pattern: new RegExp(\"^ak_\\\\w{38,50}$\"),\n        },\n        serializedName: \"caller\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      fromToken: {\n        serializedName: \"from_token\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      toToken: {\n        serializedName: \"to_token\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      logIdx: {\n        serializedName: \"log_idx\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      toAccount: {\n        constraints: {\n          Pattern: new RegExp(\"^ak_\\\\w{38,50}$\"),\n        },\n        serializedName: \"to_account\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      txHash: {\n        constraints: {\n          Pattern: new RegExp(\"^th_\\\\w{38,50}$\"),\n        },\n        serializedName: \"tx_hash\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      fromContract: {\n        constraints: {\n          Pattern: new RegExp(\"^ct_\\\\w{38,50}$\"),\n        },\n        serializedName: \"from_contract\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      toContract: {\n        constraints: {\n          Pattern: new RegExp(\"^ct_\\\\w{38,50}$\"),\n        },\n        serializedName: \"to_contract\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      fromAmount: {\n        serializedName: \"from_amount\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      toAmount: {\n        serializedName: \"to_amount\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      fromDecimals: {\n        serializedName: \"from_decimals\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      toDecimals: {\n        serializedName: \"to_decimals\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      microTime: {\n        serializedName: \"micro_time\",\n        required: true,\n        type: {\n          name: \"UnixTime\",\n        },\n      },\n      height: {\n        serializedName: \"height\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n    },\n  },\n};\n\nexport const DexSwapAmounts: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"DexSwapAmounts\",\n    modelProperties: {\n      amount0In: {\n        serializedName: \"amount0_in\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      amount1In: {\n        serializedName: \"amount1_in\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      amount0Out: {\n        serializedName: \"amount0_out\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      amount1Out: {\n        serializedName: \"amount1_out\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n    },\n  },\n};\n\nexport const Paths16G4GzrV3AccountsAccountidNamesClaimsGetResponses200ContentApplicationJsonSchemaAllof0: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"Paths16G4GzrV3AccountsAccountidNamesClaimsGetResponses200ContentApplicationJsonSchemaAllof0\",\n      modelProperties: {\n        data: {\n          serializedName: \"data\",\n          required: true,\n          type: {\n            name: \"Sequence\",\n            element: {\n              type: {\n                name: \"Composite\",\n                className: \"NameClaim\",\n              },\n            },\n          },\n        },\n      },\n    },\n  };\n\nexport const NameClaim: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"NameClaim\",\n    modelProperties: {\n      activeFrom: {\n        serializedName: \"active_from\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      sourceTxHash: {\n        constraints: {\n          Pattern: new RegExp(\"^th_\\\\w{38,50}$\"),\n        },\n        serializedName: \"source_tx_hash\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      sourceTxType: {\n        serializedName: \"source_tx_type\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      blockHash: {\n        constraints: {\n          Pattern: new RegExp(\"^mh_\\\\w{38,50}$\"),\n        },\n        serializedName: \"block_hash\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      height: {\n        serializedName: \"height\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      tx: {\n        serializedName: \"tx\",\n        type: {\n          name: \"Composite\",\n          className: \"NameClaimTx\",\n        },\n      },\n      internalSource: {\n        serializedName: \"internal_source\",\n        type: {\n          name: \"Boolean\",\n        },\n      },\n    },\n  },\n};\n\nexport const NameClaimTx: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"NameClaimTx\",\n    modelProperties: {\n      name: {\n        serializedName: \"name\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      nameSalt: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"name_salt\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      nameFee: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"name_fee\",\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      fee: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"fee\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      ttl: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"ttl\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      accountId: {\n        serializedName: \"account_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      nonce: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"nonce\",\n        type: {\n          name: \"Number\",\n        },\n      },\n    },\n  },\n};\n\nexport const NotFoundResponse: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"NotFoundResponse\",\n    modelProperties: {\n      error: {\n        serializedName: \"error\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const PathsA60QxwV3AccountsAccountidNamesPointeesGetResponses200ContentApplicationJsonSchemaAllof0: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"PathsA60QxwV3AccountsAccountidNamesPointeesGetResponses200ContentApplicationJsonSchemaAllof0\",\n      modelProperties: {\n        data: {\n          serializedName: \"data\",\n          required: true,\n          type: {\n            name: \"Sequence\",\n            element: {\n              type: {\n                name: \"Composite\",\n                className: \"Pointee\",\n              },\n            },\n          },\n        },\n      },\n    },\n  };\n\nexport const Pointee: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"Pointee\",\n    modelProperties: {\n      active: {\n        serializedName: \"active\",\n        required: true,\n        type: {\n          name: \"Boolean\",\n        },\n      },\n      name: {\n        constraints: {\n          Pattern: new RegExp(\"^\\\\w+\\\\.chain$\"),\n        },\n        serializedName: \"name\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      key: {\n        serializedName: \"key\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      blockHash: {\n        constraints: {\n          Pattern: new RegExp(\"^mh_\\\\w{38,50}$\"),\n        },\n        serializedName: \"block_hash\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      tx: {\n        serializedName: \"tx\",\n        type: {\n          name: \"Composite\",\n          className: \"NameUpdateTx\",\n        },\n      },\n      sourceTxType: {\n        serializedName: \"source_tx_type\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      sourceTxHash: {\n        constraints: {\n          Pattern: new RegExp(\"^th_\\\\w{38,50}$\"),\n        },\n        serializedName: \"source_tx_hash\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      blockHeight: {\n        serializedName: \"block_height\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      blockTime: {\n        serializedName: \"block_time\",\n        required: true,\n        type: {\n          name: \"UnixTime\",\n        },\n      },\n    },\n  },\n};\n\nexport const NameUpdateTx: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"NameUpdateTx\",\n    modelProperties: {\n      nameId: {\n        serializedName: \"name_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      nameTtl: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"name_ttl\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      pointers: {\n        serializedName: \"pointers\",\n        required: true,\n        type: {\n          name: \"Sequence\",\n          element: {\n            type: {\n              name: \"Composite\",\n              className: \"NamePointer\",\n            },\n          },\n        },\n      },\n      clientTtl: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"client_ttl\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      fee: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"fee\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      ttl: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"ttl\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      accountId: {\n        serializedName: \"account_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      nonce: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"nonce\",\n        type: {\n          name: \"Number\",\n        },\n      },\n    },\n  },\n};\n\nexport const PathsXcg812V3AccountsAccountidTransactionsCountGetResponses200ContentApplicationJsonSchema: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"PathsXcg812V3AccountsAccountidTransactionsCountGetResponses200ContentApplicationJsonSchema\",\n      modelProperties: {\n        contractCreateTx: {\n          serializedName: \"contract_create_tx\",\n          type: {\n            name: \"Composite\",\n            className: \"Get200ApplicationJsonProperties\",\n          },\n        },\n        contractCallTx: {\n          serializedName: \"contract_call_tx\",\n          type: {\n            name: \"Composite\",\n            className:\n              \"PathsEvgmfsV3AccountsAccountidTransactionsCountGetResponses200ContentApplicationJsonSchemaPropertiesContractCallTx\",\n          },\n        },\n        gaAttachTx: {\n          serializedName: \"ga_attach_tx\",\n          type: {\n            name: \"Composite\",\n            className:\n              \"Paths1Mat0BzV3AccountsAccountidTransactionsCountGetResponses200ContentApplicationJsonSchemaPropertiesGaAttachTx\",\n          },\n        },\n        gaMetaTx: {\n          serializedName: \"ga_meta_tx\",\n          type: {\n            name: \"Composite\",\n            className:\n              \"Paths1Smy8TV3AccountsAccountidTransactionsCountGetResponses200ContentApplicationJsonSchemaPropertiesGaMetaTx\",\n          },\n        },\n        channelCloseMutualTx: {\n          serializedName: \"channel_close_mutual_tx\",\n          type: {\n            name: \"Composite\",\n            className:\n              \"PathsTachlnV3AccountsAccountidTransactionsCountGetResponses200ContentApplicationJsonSchemaPropertiesChannelCloseMutualTx\",\n          },\n        },\n        channelCloseSoloTx: {\n          serializedName: \"channel_close_solo_tx\",\n          type: {\n            name: \"Composite\",\n            className:\n              \"Paths1AeqodeV3AccountsAccountidTransactionsCountGetResponses200ContentApplicationJsonSchemaPropertiesChannelCloseSoloTx\",\n          },\n        },\n        channelCreateTx: {\n          serializedName: \"channel_create_tx\",\n          type: {\n            name: \"Composite\",\n            className:\n              \"PathsGp6EyrV3AccountsAccountidTransactionsCountGetResponses200ContentApplicationJsonSchemaPropertiesChannelCreateTx\",\n          },\n        },\n        channelDepositTx: {\n          serializedName: \"channel_deposit_tx\",\n          type: {\n            name: \"Composite\",\n            className:\n              \"Paths10Z6Jt8V3AccountsAccountidTransactionsCountGetResponses200ContentApplicationJsonSchemaPropertiesChannelDepositTx\",\n          },\n        },\n        channelForceProgressTx: {\n          serializedName: \"channel_force_progress_tx\",\n          type: {\n            name: \"Composite\",\n            className:\n              \"Paths1Jkl3L3V3AccountsAccountidTransactionsCountGetResponses200ContentApplicationJsonSchemaPropertiesChannelForceProgressTx\",\n          },\n        },\n        channelSetDelegatesTx: {\n          serializedName: \"channel_set_delegates_tx\",\n          type: {\n            name: \"Composite\",\n            className:\n              \"PathsN9Iv8YV3AccountsAccountidTransactionsCountGetResponses200ContentApplicationJsonSchemaPropertiesChannelSetDelegatesTx\",\n          },\n        },\n        channelSettleTx: {\n          serializedName: \"channel_settle_tx\",\n          type: {\n            name: \"Composite\",\n            className:\n              \"PathsCsym65V3AccountsAccountidTransactionsCountGetResponses200ContentApplicationJsonSchemaPropertiesChannelSettleTx\",\n          },\n        },\n        channelSlashTx: {\n          serializedName: \"channel_slash_tx\",\n          type: {\n            name: \"Composite\",\n            className:\n              \"PathsEwav40V3AccountsAccountidTransactionsCountGetResponses200ContentApplicationJsonSchemaPropertiesChannelSlashTx\",\n          },\n        },\n        channelSnapshotSoloTx: {\n          serializedName: \"channel_snapshot_solo_tx\",\n          type: {\n            name: \"Composite\",\n            className:\n              \"Paths5Ehb0PV3AccountsAccountidTransactionsCountGetResponses200ContentApplicationJsonSchemaPropertiesChannelSnapshotSoloTx\",\n          },\n        },\n        channelWithdrawTx: {\n          serializedName: \"channel_withdraw_tx\",\n          type: {\n            name: \"Composite\",\n            className:\n              \"Paths1Qk8BkgV3AccountsAccountidTransactionsCountGetResponses200ContentApplicationJsonSchemaPropertiesChannelWithdrawTx\",\n          },\n        },\n        nameClaimTx: {\n          serializedName: \"name_claim_tx\",\n          type: {\n            name: \"Composite\",\n            className:\n              \"PathsC7WhtoV3AccountsAccountidTransactionsCountGetResponses200ContentApplicationJsonSchemaPropertiesNameClaimTx\",\n          },\n        },\n        namePreclaimTx: {\n          serializedName: \"name_preclaim_tx\",\n          type: {\n            name: \"Composite\",\n            className:\n              \"Paths1R4Z885V3AccountsAccountidTransactionsCountGetResponses200ContentApplicationJsonSchemaPropertiesNamePreclaimTx\",\n          },\n        },\n        nameRevokeTx: {\n          serializedName: \"name_revoke_tx\",\n          type: {\n            name: \"Composite\",\n            className:\n              \"PathsKrpz02V3AccountsAccountidTransactionsCountGetResponses200ContentApplicationJsonSchemaPropertiesNameRevokeTx\",\n          },\n        },\n        nameTransferTx: {\n          serializedName: \"name_transfer_tx\",\n          type: {\n            name: \"Composite\",\n            className:\n              \"PathsPs07B4V3AccountsAccountidTransactionsCountGetResponses200ContentApplicationJsonSchemaPropertiesNameTransferTx\",\n          },\n        },\n        nameUpdateTx: {\n          serializedName: \"name_update_tx\",\n          type: {\n            name: \"Composite\",\n            className:\n              \"PathsTug6HrV3AccountsAccountidTransactionsCountGetResponses200ContentApplicationJsonSchemaPropertiesNameUpdateTx\",\n          },\n        },\n        oracleExtendTx: {\n          serializedName: \"oracle_extend_tx\",\n          type: {\n            name: \"Composite\",\n            className:\n              \"Paths17Dchb7V3AccountsAccountidTransactionsCountGetResponses200ContentApplicationJsonSchemaPropertiesOracleExtendTx\",\n          },\n        },\n        oracleQueryTx: {\n          serializedName: \"oracle_query_tx\",\n          type: {\n            name: \"Composite\",\n            className:\n              \"Paths1Ngkd7FV3AccountsAccountidTransactionsCountGetResponses200ContentApplicationJsonSchemaPropertiesOracleQueryTx\",\n          },\n        },\n        oracleRegisterTx: {\n          serializedName: \"oracle_register_tx\",\n          type: {\n            name: \"Composite\",\n            className:\n              \"PathsMvqgifV3AccountsAccountidTransactionsCountGetResponses200ContentApplicationJsonSchemaPropertiesOracleRegisterTx\",\n          },\n        },\n        oracleResponseTx: {\n          serializedName: \"oracle_response_tx\",\n          type: {\n            name: \"Composite\",\n            className:\n              \"Paths1U2Ve7RV3AccountsAccountidTransactionsCountGetResponses200ContentApplicationJsonSchemaPropertiesOracleResponseTx\",\n          },\n        },\n        payingForTx: {\n          serializedName: \"paying_for_tx\",\n          type: {\n            name: \"Composite\",\n            className:\n              \"Paths1N757S0V3AccountsAccountidTransactionsCountGetResponses200ContentApplicationJsonSchemaPropertiesPayingForTx\",\n          },\n        },\n        spendTx: {\n          serializedName: \"spend_tx\",\n          type: {\n            name: \"Composite\",\n            className:\n              \"Paths11Bqs5V3AccountsAccountidTransactionsCountGetResponses200ContentApplicationJsonSchemaPropertiesSpendTx\",\n          },\n        },\n        channelOffchainTx: {\n          serializedName: \"channel_offchain_tx\",\n          type: {\n            name: \"Composite\",\n            className:\n              \"Paths4Pjk8DV3AccountsAccountidTransactionsCountGetResponses200ContentApplicationJsonSchemaPropertiesChannelOffchainTx\",\n          },\n        },\n        total: {\n          serializedName: \"total\",\n          required: true,\n          type: {\n            name: \"Number\",\n          },\n        },\n      },\n    },\n  };\n\nexport const Get200ApplicationJsonProperties: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"Get200ApplicationJsonProperties\",\n    modelProperties: {\n      ownerId: {\n        serializedName: \"owner_id\",\n        type: {\n          name: \"Number\",\n        },\n      },\n    },\n  },\n};\n\nexport const PathsEvgmfsV3AccountsAccountidTransactionsCountGetResponses200ContentApplicationJsonSchemaPropertiesContractCallTx: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"PathsEvgmfsV3AccountsAccountidTransactionsCountGetResponses200ContentApplicationJsonSchemaPropertiesContractCallTx\",\n      modelProperties: {\n        contractId: {\n          serializedName: \"contract_id\",\n          type: {\n            name: \"Number\",\n          },\n        },\n        callerId: {\n          serializedName: \"caller_id\",\n          type: {\n            name: \"Number\",\n          },\n        },\n      },\n    },\n  };\n\nexport const Paths1Mat0BzV3AccountsAccountidTransactionsCountGetResponses200ContentApplicationJsonSchemaPropertiesGaAttachTx: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"Paths1Mat0BzV3AccountsAccountidTransactionsCountGetResponses200ContentApplicationJsonSchemaPropertiesGaAttachTx\",\n      modelProperties: {\n        ownerId: {\n          serializedName: \"owner_id\",\n          type: {\n            name: \"Number\",\n          },\n        },\n      },\n    },\n  };\n\nexport const Paths1Smy8TV3AccountsAccountidTransactionsCountGetResponses200ContentApplicationJsonSchemaPropertiesGaMetaTx: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"Paths1Smy8TV3AccountsAccountidTransactionsCountGetResponses200ContentApplicationJsonSchemaPropertiesGaMetaTx\",\n      modelProperties: {\n        gaId: {\n          serializedName: \"ga_id\",\n          type: {\n            name: \"Number\",\n          },\n        },\n      },\n    },\n  };\n\nexport const PathsTachlnV3AccountsAccountidTransactionsCountGetResponses200ContentApplicationJsonSchemaPropertiesChannelCloseMutualTx: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"PathsTachlnV3AccountsAccountidTransactionsCountGetResponses200ContentApplicationJsonSchemaPropertiesChannelCloseMutualTx\",\n      modelProperties: {\n        channelId: {\n          serializedName: \"channel_id\",\n          type: {\n            name: \"Number\",\n          },\n        },\n        fromId: {\n          serializedName: \"from_id\",\n          type: {\n            name: \"Number\",\n          },\n        },\n      },\n    },\n  };\n\nexport const Paths1AeqodeV3AccountsAccountidTransactionsCountGetResponses200ContentApplicationJsonSchemaPropertiesChannelCloseSoloTx: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"Paths1AeqodeV3AccountsAccountidTransactionsCountGetResponses200ContentApplicationJsonSchemaPropertiesChannelCloseSoloTx\",\n      modelProperties: {\n        channelId: {\n          serializedName: \"channel_id\",\n          type: {\n            name: \"Number\",\n          },\n        },\n        fromId: {\n          serializedName: \"from_id\",\n          type: {\n            name: \"Number\",\n          },\n        },\n      },\n    },\n  };\n\nexport const PathsGp6EyrV3AccountsAccountidTransactionsCountGetResponses200ContentApplicationJsonSchemaPropertiesChannelCreateTx: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"PathsGp6EyrV3AccountsAccountidTransactionsCountGetResponses200ContentApplicationJsonSchemaPropertiesChannelCreateTx\",\n      modelProperties: {\n        initiatorId: {\n          serializedName: \"initiator_id\",\n          type: {\n            name: \"Number\",\n          },\n        },\n        responderId: {\n          serializedName: \"responder_id\",\n          type: {\n            name: \"Number\",\n          },\n        },\n      },\n    },\n  };\n\nexport const Paths10Z6Jt8V3AccountsAccountidTransactionsCountGetResponses200ContentApplicationJsonSchemaPropertiesChannelDepositTx: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"Paths10Z6Jt8V3AccountsAccountidTransactionsCountGetResponses200ContentApplicationJsonSchemaPropertiesChannelDepositTx\",\n      modelProperties: {\n        channelId: {\n          serializedName: \"channel_id\",\n          type: {\n            name: \"Number\",\n          },\n        },\n        fromId: {\n          serializedName: \"from_id\",\n          type: {\n            name: \"Number\",\n          },\n        },\n      },\n    },\n  };\n\nexport const Paths1Jkl3L3V3AccountsAccountidTransactionsCountGetResponses200ContentApplicationJsonSchemaPropertiesChannelForceProgressTx: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"Paths1Jkl3L3V3AccountsAccountidTransactionsCountGetResponses200ContentApplicationJsonSchemaPropertiesChannelForceProgressTx\",\n      modelProperties: {\n        channelId: {\n          serializedName: \"channel_id\",\n          type: {\n            name: \"Number\",\n          },\n        },\n        fromId: {\n          serializedName: \"from_id\",\n          type: {\n            name: \"Number\",\n          },\n        },\n      },\n    },\n  };\n\nexport const PathsN9Iv8YV3AccountsAccountidTransactionsCountGetResponses200ContentApplicationJsonSchemaPropertiesChannelSetDelegatesTx: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"PathsN9Iv8YV3AccountsAccountidTransactionsCountGetResponses200ContentApplicationJsonSchemaPropertiesChannelSetDelegatesTx\",\n      modelProperties: {\n        channelId: {\n          serializedName: \"channel_id\",\n          type: {\n            name: \"Number\",\n          },\n        },\n        fromId: {\n          serializedName: \"from_id\",\n          type: {\n            name: \"Number\",\n          },\n        },\n      },\n    },\n  };\n\nexport const PathsCsym65V3AccountsAccountidTransactionsCountGetResponses200ContentApplicationJsonSchemaPropertiesChannelSettleTx: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"PathsCsym65V3AccountsAccountidTransactionsCountGetResponses200ContentApplicationJsonSchemaPropertiesChannelSettleTx\",\n      modelProperties: {\n        channelId: {\n          serializedName: \"channel_id\",\n          type: {\n            name: \"Number\",\n          },\n        },\n        fromId: {\n          serializedName: \"from_id\",\n          type: {\n            name: \"Number\",\n          },\n        },\n      },\n    },\n  };\n\nexport const PathsEwav40V3AccountsAccountidTransactionsCountGetResponses200ContentApplicationJsonSchemaPropertiesChannelSlashTx: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"PathsEwav40V3AccountsAccountidTransactionsCountGetResponses200ContentApplicationJsonSchemaPropertiesChannelSlashTx\",\n      modelProperties: {\n        channelId: {\n          serializedName: \"channel_id\",\n          type: {\n            name: \"Number\",\n          },\n        },\n        fromId: {\n          serializedName: \"from_id\",\n          type: {\n            name: \"Number\",\n          },\n        },\n      },\n    },\n  };\n\nexport const Paths5Ehb0PV3AccountsAccountidTransactionsCountGetResponses200ContentApplicationJsonSchemaPropertiesChannelSnapshotSoloTx: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"Paths5Ehb0PV3AccountsAccountidTransactionsCountGetResponses200ContentApplicationJsonSchemaPropertiesChannelSnapshotSoloTx\",\n      modelProperties: {\n        channelId: {\n          serializedName: \"channel_id\",\n          type: {\n            name: \"Number\",\n          },\n        },\n        fromId: {\n          serializedName: \"from_id\",\n          type: {\n            name: \"Number\",\n          },\n        },\n      },\n    },\n  };\n\nexport const Paths1Qk8BkgV3AccountsAccountidTransactionsCountGetResponses200ContentApplicationJsonSchemaPropertiesChannelWithdrawTx: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"Paths1Qk8BkgV3AccountsAccountidTransactionsCountGetResponses200ContentApplicationJsonSchemaPropertiesChannelWithdrawTx\",\n      modelProperties: {\n        channelId: {\n          serializedName: \"channel_id\",\n          type: {\n            name: \"Number\",\n          },\n        },\n        toId: {\n          serializedName: \"to_id\",\n          type: {\n            name: \"Number\",\n          },\n        },\n      },\n    },\n  };\n\nexport const PathsC7WhtoV3AccountsAccountidTransactionsCountGetResponses200ContentApplicationJsonSchemaPropertiesNameClaimTx: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"PathsC7WhtoV3AccountsAccountidTransactionsCountGetResponses200ContentApplicationJsonSchemaPropertiesNameClaimTx\",\n      modelProperties: {\n        accountId: {\n          serializedName: \"account_id\",\n          type: {\n            name: \"Number\",\n          },\n        },\n      },\n    },\n  };\n\nexport const Paths1R4Z885V3AccountsAccountidTransactionsCountGetResponses200ContentApplicationJsonSchemaPropertiesNamePreclaimTx: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"Paths1R4Z885V3AccountsAccountidTransactionsCountGetResponses200ContentApplicationJsonSchemaPropertiesNamePreclaimTx\",\n      modelProperties: {\n        accountId: {\n          serializedName: \"account_id\",\n          type: {\n            name: \"Number\",\n          },\n        },\n        commitmentId: {\n          serializedName: \"commitment_id\",\n          type: {\n            name: \"Number\",\n          },\n        },\n      },\n    },\n  };\n\nexport const PathsKrpz02V3AccountsAccountidTransactionsCountGetResponses200ContentApplicationJsonSchemaPropertiesNameRevokeTx: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"PathsKrpz02V3AccountsAccountidTransactionsCountGetResponses200ContentApplicationJsonSchemaPropertiesNameRevokeTx\",\n      modelProperties: {\n        accountId: {\n          serializedName: \"account_id\",\n          type: {\n            name: \"Number\",\n          },\n        },\n        nameId: {\n          serializedName: \"name_id\",\n          type: {\n            name: \"Number\",\n          },\n        },\n      },\n    },\n  };\n\nexport const PathsPs07B4V3AccountsAccountidTransactionsCountGetResponses200ContentApplicationJsonSchemaPropertiesNameTransferTx: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"PathsPs07B4V3AccountsAccountidTransactionsCountGetResponses200ContentApplicationJsonSchemaPropertiesNameTransferTx\",\n      modelProperties: {\n        recipientId: {\n          serializedName: \"recipient_id\",\n          type: {\n            name: \"Number\",\n          },\n        },\n        accountId: {\n          serializedName: \"account_id\",\n          type: {\n            name: \"Number\",\n          },\n        },\n        nameId: {\n          serializedName: \"name_id\",\n          type: {\n            name: \"Number\",\n          },\n        },\n      },\n    },\n  };\n\nexport const PathsTug6HrV3AccountsAccountidTransactionsCountGetResponses200ContentApplicationJsonSchemaPropertiesNameUpdateTx: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"PathsTug6HrV3AccountsAccountidTransactionsCountGetResponses200ContentApplicationJsonSchemaPropertiesNameUpdateTx\",\n      modelProperties: {\n        accountId: {\n          serializedName: \"account_id\",\n          type: {\n            name: \"Number\",\n          },\n        },\n        nameId: {\n          serializedName: \"name_id\",\n          type: {\n            name: \"Number\",\n          },\n        },\n      },\n    },\n  };\n\nexport const Paths17Dchb7V3AccountsAccountidTransactionsCountGetResponses200ContentApplicationJsonSchemaPropertiesOracleExtendTx: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"Paths17Dchb7V3AccountsAccountidTransactionsCountGetResponses200ContentApplicationJsonSchemaPropertiesOracleExtendTx\",\n      modelProperties: {\n        oracleId: {\n          serializedName: \"oracle_id\",\n          type: {\n            name: \"Number\",\n          },\n        },\n      },\n    },\n  };\n\nexport const Paths1Ngkd7FV3AccountsAccountidTransactionsCountGetResponses200ContentApplicationJsonSchemaPropertiesOracleQueryTx: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"Paths1Ngkd7FV3AccountsAccountidTransactionsCountGetResponses200ContentApplicationJsonSchemaPropertiesOracleQueryTx\",\n      modelProperties: {\n        senderId: {\n          serializedName: \"sender_id\",\n          type: {\n            name: \"Number\",\n          },\n        },\n        oracleId: {\n          serializedName: \"oracle_id\",\n          type: {\n            name: \"Number\",\n          },\n        },\n      },\n    },\n  };\n\nexport const PathsMvqgifV3AccountsAccountidTransactionsCountGetResponses200ContentApplicationJsonSchemaPropertiesOracleRegisterTx: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"PathsMvqgifV3AccountsAccountidTransactionsCountGetResponses200ContentApplicationJsonSchemaPropertiesOracleRegisterTx\",\n      modelProperties: {\n        accountId: {\n          serializedName: \"account_id\",\n          type: {\n            name: \"Number\",\n          },\n        },\n      },\n    },\n  };\n\nexport const Paths1U2Ve7RV3AccountsAccountidTransactionsCountGetResponses200ContentApplicationJsonSchemaPropertiesOracleResponseTx: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"Paths1U2Ve7RV3AccountsAccountidTransactionsCountGetResponses200ContentApplicationJsonSchemaPropertiesOracleResponseTx\",\n      modelProperties: {\n        oracleId: {\n          serializedName: \"oracle_id\",\n          type: {\n            name: \"Number\",\n          },\n        },\n      },\n    },\n  };\n\nexport const Paths1N757S0V3AccountsAccountidTransactionsCountGetResponses200ContentApplicationJsonSchemaPropertiesPayingForTx: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"Paths1N757S0V3AccountsAccountidTransactionsCountGetResponses200ContentApplicationJsonSchemaPropertiesPayingForTx\",\n      modelProperties: {\n        payerId: {\n          serializedName: \"payer_id\",\n          type: {\n            name: \"Number\",\n          },\n        },\n      },\n    },\n  };\n\nexport const Paths11Bqs5V3AccountsAccountidTransactionsCountGetResponses200ContentApplicationJsonSchemaPropertiesSpendTx: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"Paths11Bqs5V3AccountsAccountidTransactionsCountGetResponses200ContentApplicationJsonSchemaPropertiesSpendTx\",\n      modelProperties: {\n        senderId: {\n          serializedName: \"sender_id\",\n          type: {\n            name: \"Number\",\n          },\n        },\n        recipientId: {\n          serializedName: \"recipient_id\",\n          type: {\n            name: \"Number\",\n          },\n        },\n      },\n    },\n  };\n\nexport const Paths4Pjk8DV3AccountsAccountidTransactionsCountGetResponses200ContentApplicationJsonSchemaPropertiesChannelOffchainTx: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"Paths4Pjk8DV3AccountsAccountidTransactionsCountGetResponses200ContentApplicationJsonSchemaPropertiesChannelOffchainTx\",\n      modelProperties: {\n        channelId: {\n          serializedName: \"channel_id\",\n          type: {\n            name: \"Number\",\n          },\n        },\n      },\n    },\n  };\n\nexport const Paths8I0YgwV3Aex141GetResponses200ContentApplicationJsonSchemaAllof0: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"Paths8I0YgwV3Aex141GetResponses200ContentApplicationJsonSchemaAllof0\",\n      modelProperties: {\n        data: {\n          serializedName: \"data\",\n          required: true,\n          type: {\n            name: \"Sequence\",\n            element: {\n              type: {\n                name: \"Composite\",\n                className: \"Aex141Response\",\n              },\n            },\n          },\n        },\n      },\n    },\n  };\n\nexport const Aex141Response: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"Aex141Response\",\n    modelProperties: {\n      baseUrl: {\n        serializedName: \"base_url\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      contractId: {\n        constraints: {\n          Pattern: new RegExp(\"^ct_\\\\w{38,50}$\"),\n        },\n        serializedName: \"contract_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      contractTxHash: {\n        constraints: {\n          Pattern: new RegExp(\"^th_\\\\w{38,50}$\"),\n        },\n        serializedName: \"contract_tx_hash\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      extensions: {\n        serializedName: \"extensions\",\n        required: true,\n        type: {\n          name: \"Sequence\",\n          element: {\n            type: {\n              name: \"String\",\n            },\n          },\n        },\n      },\n      limits: {\n        serializedName: \"limits\",\n        required: true,\n        type: {\n          name: \"Dictionary\",\n          value: { type: { name: \"any\" } },\n        },\n      },\n      invalid: {\n        serializedName: \"invalid\",\n        required: true,\n        type: {\n          name: \"Boolean\",\n        },\n      },\n      creationTime: {\n        serializedName: \"creation_time\",\n        required: true,\n        type: {\n          name: \"UnixTime\",\n        },\n      },\n      blockHeight: {\n        serializedName: \"block_height\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n    },\n  },\n};\n\nexport const PathsWkpcwaV3Aex141ContractidTemplatesGetResponses200ContentApplicationJsonSchemaAllof0: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"PathsWkpcwaV3Aex141ContractidTemplatesGetResponses200ContentApplicationJsonSchemaAllof0\",\n      modelProperties: {\n        data: {\n          serializedName: \"data\",\n          required: true,\n          type: {\n            name: \"Sequence\",\n            element: {\n              type: {\n                name: \"Composite\",\n                className: \"Aex141TemplatesResponse\",\n              },\n            },\n          },\n        },\n      },\n    },\n  };\n\nexport const Aex141TemplatesResponse: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"Aex141TemplatesResponse\",\n    modelProperties: {\n      contractId: {\n        constraints: {\n          Pattern: new RegExp(\"^ct_\\\\w{38,50}$\"),\n        },\n        serializedName: \"contract_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      edition: {\n        serializedName: \"edition\",\n        type: {\n          name: \"Dictionary\",\n          value: { type: { name: \"any\" } },\n        },\n      },\n      logIdx: {\n        serializedName: \"log_idx\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      templateId: {\n        serializedName: \"template_id\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      txHash: {\n        constraints: {\n          Pattern: new RegExp(\"^th_\\\\w{38,50}$\"),\n        },\n        serializedName: \"tx_hash\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const PathsRay4X0V3Aex141ContractidTemplatesTemplateidTokensGetResponses200ContentApplicationJsonSchemaAllof0: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"PathsRay4X0V3Aex141ContractidTemplatesTemplateidTokensGetResponses200ContentApplicationJsonSchemaAllof0\",\n      modelProperties: {\n        data: {\n          serializedName: \"data\",\n          required: true,\n          type: {\n            name: \"Sequence\",\n            element: {\n              type: {\n                name: \"Composite\",\n                className: \"Aex141TemplateTokensResponse\",\n              },\n            },\n          },\n        },\n      },\n    },\n  };\n\nexport const Aex141TemplateTokensResponse: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"Aex141TemplateTokensResponse\",\n    modelProperties: {\n      ownerId: {\n        constraints: {\n          Pattern: new RegExp(\"^ak_\\\\w{38,50}$\"),\n        },\n        serializedName: \"owner_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      logIdx: {\n        serializedName: \"log_idx\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      tokenId: {\n        serializedName: \"token_id\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      txHash: {\n        constraints: {\n          Pattern: new RegExp(\"^th_\\\\w{38,50}$\"),\n        },\n        serializedName: \"tx_hash\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const Paths1TkisghV3Aex141ContractidTokensGetResponses200ContentApplicationJsonSchemaAllof0: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"Paths1TkisghV3Aex141ContractidTokensGetResponses200ContentApplicationJsonSchemaAllof0\",\n      modelProperties: {\n        data: {\n          serializedName: \"data\",\n          required: true,\n          type: {\n            name: \"Sequence\",\n            element: {\n              type: {\n                name: \"Composite\",\n                className: \"Aex141TokenResponse\",\n              },\n            },\n          },\n        },\n      },\n    },\n  };\n\nexport const Aex141TokenDetailResponse: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"Aex141TokenDetailResponse\",\n    modelProperties: {\n      contractId: {\n        constraints: {\n          Pattern: new RegExp(\"^ct_\\\\w{38,50}$\"),\n        },\n        serializedName: \"contract_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      ownerId: {\n        constraints: {\n          Pattern: new RegExp(\"^ak_\\\\w{38,50}$\"),\n        },\n        serializedName: \"owner_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      tokenId: {\n        serializedName: \"token_id\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      metadata: {\n        serializedName: \"metadata\",\n        required: true,\n        type: {\n          name: \"Dictionary\",\n          value: { type: { name: \"any\" } },\n        },\n      },\n    },\n  },\n};\n\nexport const Paths1A8Ah39V3Aex141ContractidTransfersGetResponses200ContentApplicationJsonSchemaAllof0: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"Paths1A8Ah39V3Aex141ContractidTransfersGetResponses200ContentApplicationJsonSchemaAllof0\",\n      modelProperties: {\n        data: {\n          serializedName: \"data\",\n          required: true,\n          type: {\n            name: \"Sequence\",\n            element: {\n              type: {\n                name: \"Composite\",\n                className: \"Aex141TransferEvent\",\n              },\n            },\n          },\n        },\n      },\n    },\n  };\n\nexport const Aex141TransferEvent: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"Aex141TransferEvent\",\n    modelProperties: {\n      blockHeight: {\n        serializedName: \"block_height\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      contractId: {\n        constraints: {\n          Pattern: new RegExp(\"^ct_\\\\w{38,50}$\"),\n        },\n        serializedName: \"contract_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      logIdx: {\n        serializedName: \"log_idx\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      microIndex: {\n        serializedName: \"micro_index\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      microTime: {\n        serializedName: \"micro_time\",\n        required: true,\n        type: {\n          name: \"UnixTime\",\n        },\n      },\n      recipient: {\n        constraints: {\n          Pattern: new RegExp(\"^ak_\\\\w{38,50}$\"),\n        },\n        serializedName: \"recipient\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      sender: {\n        constraints: {\n          Pattern: new RegExp(\"^ak_\\\\w{38,50}$\"),\n        },\n        serializedName: \"sender\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      tokenId: {\n        serializedName: \"token_id\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      txHash: {\n        constraints: {\n          Pattern: new RegExp(\"^th_\\\\w{38,50}$\"),\n        },\n        serializedName: \"tx_hash\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const Paths1Uqqby0V3Aex9GetResponses200ContentApplicationJsonSchemaAllof0: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"Paths1Uqqby0V3Aex9GetResponses200ContentApplicationJsonSchemaAllof0\",\n      modelProperties: {\n        data: {\n          serializedName: \"data\",\n          required: true,\n          type: {\n            name: \"Sequence\",\n            element: {\n              type: {\n                name: \"Composite\",\n                className: \"Aex9Response\",\n              },\n            },\n          },\n        },\n      },\n    },\n  };\n\nexport const Aex9Response: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"Aex9Response\",\n    modelProperties: {\n      contractId: {\n        constraints: {\n          Pattern: new RegExp(\"^ct_\\\\w{38,50}$\"),\n        },\n        serializedName: \"contract_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      contractTxHash: {\n        constraints: {\n          Pattern: new RegExp(\"^th_\\\\w{38,50}$\"),\n        },\n        serializedName: \"contract_tx_hash\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      initialSupply: {\n        serializedName: \"initial_supply\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      eventSupply: {\n        serializedName: \"event_supply\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      decimals: {\n        serializedName: \"decimals\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      extensions: {\n        serializedName: \"extensions\",\n        type: {\n          name: \"Sequence\",\n          element: {\n            type: {\n              name: \"String\",\n            },\n          },\n        },\n      },\n      holders: {\n        serializedName: \"holders\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      name: {\n        serializedName: \"name\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      symbol: {\n        serializedName: \"symbol\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      invalid: {\n        serializedName: \"invalid\",\n        required: true,\n        type: {\n          name: \"Boolean\",\n        },\n      },\n    },\n  },\n};\n\nexport const Paths19IxhsmV3Aex9CountGetResponses200ContentApplicationJsonSchema: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"Paths19IxhsmV3Aex9CountGetResponses200ContentApplicationJsonSchema\",\n      modelProperties: {\n        data: {\n          serializedName: \"data\",\n          required: true,\n          type: {\n            name: \"Number\",\n          },\n        },\n      },\n    },\n  };\n\nexport const PathsEeiffwV3Aex9ContractidBalancesGetResponses200ContentApplicationJsonSchemaAllof0: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"PathsEeiffwV3Aex9ContractidBalancesGetResponses200ContentApplicationJsonSchemaAllof0\",\n      modelProperties: {\n        data: {\n          serializedName: \"data\",\n          required: true,\n          type: {\n            name: \"Sequence\",\n            element: {\n              type: {\n                name: \"Composite\",\n                className: \"Aex9ContractBalanceResponse\",\n              },\n            },\n          },\n        },\n      },\n    },\n  };\n\nexport const Aex9ContractBalanceResponse: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"Aex9ContractBalanceResponse\",\n    modelProperties: {\n      accountId: {\n        constraints: {\n          Pattern: new RegExp(\"^ak_\\\\w{38,50}$\"),\n        },\n        serializedName: \"account_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      amount: {\n        serializedName: \"amount\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      blockHash: {\n        serializedName: \"block_hash\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      contractId: {\n        serializedName: \"contract_id\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      height: {\n        serializedName: \"height\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      lastTxHash: {\n        constraints: {\n          Pattern: new RegExp(\"^th_\\\\w{38,50}$\"),\n        },\n        serializedName: \"last_tx_hash\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      lastLogIdx: {\n        serializedName: \"last_log_idx\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n    },\n  },\n};\n\nexport const PathsKr825V3Aex9ContractidBalancesAccountidGetResponses200ContentApplicationJsonSchema: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"PathsKr825V3Aex9ContractidBalancesAccountidGetResponses200ContentApplicationJsonSchema\",\n      modelProperties: {\n        account: {\n          constraints: {\n            Pattern: new RegExp(\"^ak_\\\\w{38,50}$\"),\n          },\n          serializedName: \"account\",\n          required: true,\n          type: {\n            name: \"String\",\n          },\n        },\n        amount: {\n          serializedName: \"amount\",\n          required: true,\n          type: {\n            // @ts-expect-error we are extending autorest with BigInt support\n            name: \"BigInt\",\n          },\n        },\n        contract: {\n          constraints: {\n            Pattern: new RegExp(\"^ct_\\\\w{38,50}$\"),\n          },\n          serializedName: \"contract\",\n          required: true,\n          type: {\n            name: \"String\",\n          },\n        },\n      },\n    },\n  };\n\nexport const Paths108B3VtV3Aex9ContractidBalancesAccountidHistoryGetResponses200ContentApplicationJsonSchemaAllof1: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"Paths108B3VtV3Aex9ContractidBalancesAccountidHistoryGetResponses200ContentApplicationJsonSchemaAllof1\",\n      modelProperties: {\n        data: {\n          serializedName: \"data\",\n          required: true,\n          type: {\n            name: \"Sequence\",\n            element: {\n              type: {\n                name: \"Composite\",\n                className: \"Get200ApplicationJsonAllOfPropertiesItemsItem\",\n              },\n            },\n          },\n        },\n      },\n    },\n  };\n\nexport const Get200ApplicationJsonAllOfPropertiesItemsItem: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className: \"Get200ApplicationJsonAllOfPropertiesItemsItem\",\n      modelProperties: {\n        account: {\n          constraints: {\n            Pattern: new RegExp(\"^ak_\\\\w{38,50}$\"),\n          },\n          serializedName: \"account\",\n          required: true,\n          type: {\n            name: \"String\",\n          },\n        },\n        amount: {\n          serializedName: \"amount\",\n          required: true,\n          type: {\n            // @ts-expect-error we are extending autorest with BigInt support\n            name: \"BigInt\",\n          },\n        },\n        contract: {\n          constraints: {\n            Pattern: new RegExp(\"^ct_\\\\w{38,50}$\"),\n          },\n          serializedName: \"contract\",\n          required: true,\n          type: {\n            name: \"String\",\n          },\n        },\n        height: {\n          serializedName: \"height\",\n          required: true,\n          type: {\n            name: \"Number\",\n          },\n        },\n      },\n    },\n  };\n\nexport const PathsQmewnaV3ChannelsGetResponses200ContentApplicationJsonSchemaAllof0: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"PathsQmewnaV3ChannelsGetResponses200ContentApplicationJsonSchemaAllof0\",\n      modelProperties: {\n        data: {\n          serializedName: \"data\",\n          required: true,\n          type: {\n            name: \"Sequence\",\n            element: {\n              type: {\n                name: \"Composite\",\n                className: \"Channel\",\n              },\n            },\n          },\n        },\n      },\n    },\n  };\n\nexport const Channel: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"Channel\",\n    modelProperties: {\n      active: {\n        serializedName: \"active\",\n        required: true,\n        type: {\n          name: \"Boolean\",\n        },\n      },\n      amount: {\n        serializedName: \"amount\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      channel: {\n        constraints: {\n          Pattern: new RegExp(\"^ch_\\\\w{38,50}$\"),\n        },\n        serializedName: \"channel\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      channelReserve: {\n        serializedName: \"channel_reserve\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      delegateIds: {\n        serializedName: \"delegate_ids\",\n        required: true,\n        type: {\n          name: \"Dictionary\",\n          value: { type: { name: \"any\" } },\n        },\n      },\n      initiator: {\n        constraints: {\n          Pattern: new RegExp(\"^ak_\\\\w{38,50}$\"),\n        },\n        serializedName: \"initiator\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      initiatorAmount: {\n        serializedName: \"initiator_amount\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      lastUpdatedHeight: {\n        serializedName: \"last_updated_height\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      lastUpdatedTxType: {\n        serializedName: \"last_updated_tx_type\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      lastUpdatedTime: {\n        serializedName: \"last_updated_time\",\n        required: true,\n        type: {\n          name: \"UnixTime\",\n        },\n      },\n      lastUpdatedTxHash: {\n        constraints: {\n          Pattern: new RegExp(\"^th_\\\\w{38,50}$\"),\n        },\n        serializedName: \"last_updated_tx_hash\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      lockPeriod: {\n        serializedName: \"lock_period\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      lockedUntil: {\n        serializedName: \"locked_until\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      responder: {\n        constraints: {\n          Pattern: new RegExp(\"^ak_\\\\w{38,50}$\"),\n        },\n        serializedName: \"responder\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      responderAmount: {\n        serializedName: \"responder_amount\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      round: {\n        serializedName: \"round\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      soloRound: {\n        serializedName: \"solo_round\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      stateHash: {\n        constraints: {\n          Pattern: new RegExp(\"^st_\\\\w+$\"),\n        },\n        serializedName: \"state_hash\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      updatesCount: {\n        serializedName: \"updates_count\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n    },\n  },\n};\n\nexport const Paths18L84JcV3ContractsCallsGetResponses200ContentApplicationJsonSchemaAllof0: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"Paths18L84JcV3ContractsCallsGetResponses200ContentApplicationJsonSchemaAllof0\",\n      modelProperties: {\n        data: {\n          serializedName: \"data\",\n          required: true,\n          type: {\n            name: \"Sequence\",\n            element: {\n              type: {\n                name: \"Composite\",\n                className: \"ContractCall\",\n              },\n            },\n          },\n        },\n      },\n    },\n  };\n\nexport const ContractCall: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"ContractCall\",\n    modelProperties: {\n      blockHash: {\n        constraints: {\n          Pattern: new RegExp(\"^mh_\\\\w{38,50}$\"),\n        },\n        serializedName: \"block_hash\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      callTxHash: {\n        constraints: {\n          Pattern: new RegExp(\"^th_\\\\w{38,50}$\"),\n        },\n        serializedName: \"call_tx_hash\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      contractId: {\n        constraints: {\n          Pattern: new RegExp(\"^ct_\\\\w{38,50}$\"),\n        },\n        serializedName: \"contract_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      contractTxHash: {\n        constraints: {\n          Pattern: new RegExp(\"^th_\\\\w{38,50}$\"),\n        },\n        serializedName: \"contract_tx_hash\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      function: {\n        serializedName: \"function\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      height: {\n        serializedName: \"height\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      internalTx: {\n        serializedName: \"internal_tx\",\n        required: true,\n        type: {\n          name: \"Dictionary\",\n          value: { type: { name: \"any\" } },\n        },\n      },\n      localIdx: {\n        serializedName: \"local_idx\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      microIndex: {\n        serializedName: \"micro_index\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n    },\n  },\n};\n\nexport const Paths10Kk1UxV3ContractsLogsGetResponses200ContentApplicationJsonSchemaAllof0: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"Paths10Kk1UxV3ContractsLogsGetResponses200ContentApplicationJsonSchemaAllof0\",\n      modelProperties: {\n        data: {\n          serializedName: \"data\",\n          required: true,\n          type: {\n            name: \"Sequence\",\n            element: {\n              type: {\n                name: \"Composite\",\n                className: \"ContractLog\",\n              },\n            },\n          },\n        },\n      },\n    },\n  };\n\nexport const ContractLog: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"ContractLog\",\n    modelProperties: {\n      args: {\n        serializedName: \"args\",\n        required: true,\n        type: {\n          name: \"Sequence\",\n          element: {\n            type: {\n              name: \"String\",\n            },\n          },\n        },\n      },\n      blockHash: {\n        constraints: {\n          Pattern: new RegExp(\"^mh_\\\\w{38,50}$\"),\n        },\n        serializedName: \"block_hash\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      blockTime: {\n        serializedName: \"block_time\",\n        required: true,\n        type: {\n          name: \"UnixTime\",\n        },\n      },\n      callTxHash: {\n        constraints: {\n          Pattern: new RegExp(\"^th_\\\\w{38,50}$\"),\n        },\n        serializedName: \"call_tx_hash\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      contractId: {\n        constraints: {\n          Pattern: new RegExp(\"^ct_\\\\w{38,50}$\"),\n        },\n        serializedName: \"contract_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      contractTxHash: {\n        constraints: {\n          Pattern: new RegExp(\"^th_\\\\w{38,50}$\"),\n        },\n        serializedName: \"contract_tx_hash\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      data: {\n        serializedName: \"data\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      eventHash: {\n        serializedName: \"event_hash\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      eventName: {\n        serializedName: \"event_name\",\n        required: true,\n        nullable: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      extCallerContractId: {\n        constraints: {\n          Pattern: new RegExp(\"^ct_\\\\w{38,50}$\"),\n        },\n        serializedName: \"ext_caller_contract_id\",\n        required: true,\n        nullable: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      extCallerContractTxHash: {\n        constraints: {\n          Pattern: new RegExp(\"^th_\\\\w{38,50}$\"),\n        },\n        serializedName: \"ext_caller_contract_tx_hash\",\n        required: true,\n        nullable: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      height: {\n        serializedName: \"height\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      logIdx: {\n        serializedName: \"log_idx\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      microIndex: {\n        serializedName: \"micro_index\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      parentContractId: {\n        serializedName: \"parent_contract_id\",\n        required: true,\n        nullable: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n    },\n  },\n};\n\nexport const Contract: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"Contract\",\n    modelProperties: {\n      aexnType: {\n        serializedName: \"aexn_type\",\n        required: true,\n        nullable: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      blockHash: {\n        constraints: {\n          Pattern: new RegExp(\"^mh_\\\\w{38,50}$\"),\n        },\n        serializedName: \"block_hash\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      contract: {\n        constraints: {\n          Pattern: new RegExp(\"^ct_\\\\w{38,50}$\"),\n        },\n        serializedName: \"contract\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      sourceTxHash: {\n        constraints: {\n          Pattern: new RegExp(\"^th_\\\\w{38,50}$\"),\n        },\n        serializedName: \"source_tx_hash\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      sourceTxType: {\n        serializedName: \"source_tx_type\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      createTx: {\n        serializedName: \"create_tx\",\n        type: {\n          name: \"Composite\",\n          className: \"ContractCreateTx\",\n        },\n      },\n    },\n  },\n};\n\nexport const ContractCreateTx: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"ContractCreateTx\",\n    modelProperties: {\n      ownerId: {\n        serializedName: \"owner_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      nonce: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"nonce\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      code: {\n        serializedName: \"code\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      vmVersion: {\n        constraints: {\n          InclusiveMaximum: 65535,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"vm_version\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      abiVersion: {\n        constraints: {\n          InclusiveMaximum: 65535,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"abi_version\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      deposit: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"deposit\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      amount: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"amount\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      gas: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"gas\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      gasPrice: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"gas_price\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      fee: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"fee\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      ttl: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"ttl\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      callData: {\n        serializedName: \"call_data\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const Paths9Yfxl2V3DexSwapsGetResponses200ContentApplicationJsonSchemaAllof0: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"Paths9Yfxl2V3DexSwapsGetResponses200ContentApplicationJsonSchemaAllof0\",\n      modelProperties: {\n        data: {\n          serializedName: \"data\",\n          required: true,\n          type: {\n            name: \"Sequence\",\n            element: {\n              type: {\n                name: \"Composite\",\n                className: \"DexSwap\",\n              },\n            },\n          },\n        },\n      },\n    },\n  };\n\nexport const Paths6Vze8ZV3DexContractIdSwapsGetResponses200ContentApplicationJsonSchemaAllof0: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"Paths6Vze8ZV3DexContractIdSwapsGetResponses200ContentApplicationJsonSchemaAllof0\",\n      modelProperties: {\n        data: {\n          serializedName: \"data\",\n          required: true,\n          type: {\n            name: \"Sequence\",\n            element: {\n              type: {\n                name: \"Composite\",\n                className: \"DexSwap\",\n              },\n            },\n          },\n        },\n      },\n    },\n  };\n\nexport const Paths1F8GzwrV3HyperchainEpochsGetResponses200ContentApplicationJsonSchemaAllof0: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"Paths1F8GzwrV3HyperchainEpochsGetResponses200ContentApplicationJsonSchemaAllof0\",\n      modelProperties: {\n        data: {\n          serializedName: \"data\",\n          required: true,\n          type: {\n            name: \"Sequence\",\n            element: {\n              type: {\n                name: \"Composite\",\n                className: \"EpochInfo\",\n              },\n            },\n          },\n        },\n      },\n    },\n  };\n\nexport const EpochInfo: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"EpochInfo\",\n    modelProperties: {\n      epoch: {\n        serializedName: \"epoch\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      first: {\n        serializedName: \"first\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      last: {\n        serializedName: \"last\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      length: {\n        serializedName: \"length\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      seed: {\n        serializedName: \"seed\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      lastPinHeight: {\n        serializedName: \"last_pin_height\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      parentBlockHash: {\n        serializedName: \"parent_block_hash\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      lastLeader: {\n        serializedName: \"last_leader\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      epochStartTime: {\n        serializedName: \"epoch_start_time\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      validators: {\n        serializedName: \"validators\",\n        required: true,\n        type: {\n          name: \"Sequence\",\n          element: {\n            type: {\n              name: \"Composite\",\n              className: \"EpochInfoValidatorsItem\",\n            },\n          },\n        },\n      },\n    },\n  },\n};\n\nexport const EpochInfoValidatorsItem: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"EpochInfoValidatorsItem\",\n    modelProperties: {\n      validator: {\n        serializedName: \"validator\",\n        type: {\n          name: \"String\",\n        },\n      },\n      stake: {\n        serializedName: \"stake\",\n        type: {\n          name: \"Number\",\n        },\n      },\n    },\n  },\n};\n\nexport const Paths7W5O80V3HyperchainScheduleGetResponses200ContentApplicationJsonSchemaAllof0: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"Paths7W5O80V3HyperchainScheduleGetResponses200ContentApplicationJsonSchemaAllof0\",\n      modelProperties: {\n        data: {\n          serializedName: \"data\",\n          required: true,\n          type: {\n            name: \"Sequence\",\n            element: {\n              type: {\n                name: \"Composite\",\n                className: \"Schedule\",\n              },\n            },\n          },\n        },\n      },\n    },\n  };\n\nexport const Schedule: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"Schedule\",\n    modelProperties: {\n      height: {\n        serializedName: \"height\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      leader: {\n        serializedName: \"leader\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const Paths1Qg7SclV3HyperchainValidatorsGetResponses200ContentApplicationJsonSchemaAllof0: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"Paths1Qg7SclV3HyperchainValidatorsGetResponses200ContentApplicationJsonSchemaAllof0\",\n      modelProperties: {\n        data: {\n          serializedName: \"data\",\n          required: true,\n          type: {\n            name: \"Sequence\",\n            element: {\n              type: {\n                name: \"Composite\",\n                className: \"Validator\",\n              },\n            },\n          },\n        },\n      },\n    },\n  };\n\nexport const Validator: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"Validator\",\n    modelProperties: {\n      epoch: {\n        serializedName: \"epoch\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      validator: {\n        serializedName: \"validator\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      totalStakes: {\n        serializedName: \"total_stakes\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      delegates: {\n        serializedName: \"delegates\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      rewardsEarned: {\n        serializedName: \"rewards_earned\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      pinningHistory: {\n        serializedName: \"pinning_history\",\n        required: true,\n        type: {\n          name: \"Dictionary\",\n          value: { type: { name: \"Number\" } },\n        },\n      },\n    },\n  },\n};\n\nexport const Paths7Ks32NV3HyperchainValidatorsValidatorDelegatesGetResponses200ContentApplicationJsonSchemaAllof0: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"Paths7Ks32NV3HyperchainValidatorsValidatorDelegatesGetResponses200ContentApplicationJsonSchemaAllof0\",\n      modelProperties: {\n        data: {\n          serializedName: \"data\",\n          required: true,\n          type: {\n            name: \"Sequence\",\n            element: {\n              type: {\n                name: \"Composite\",\n                className: \"Delegate\",\n              },\n            },\n          },\n        },\n      },\n    },\n  };\n\nexport const Delegate: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"Delegate\",\n    modelProperties: {\n      epoch: {\n        serializedName: \"epoch\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      delegate: {\n        serializedName: \"delegate\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      stake: {\n        serializedName: \"stake\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      validator: {\n        serializedName: \"validator\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const PathsDwhnfdV3HyperchainValidatorsValidatorDelegatesTopGetResponses200ContentApplicationJsonSchemaAllof0: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"PathsDwhnfdV3HyperchainValidatorsValidatorDelegatesTopGetResponses200ContentApplicationJsonSchemaAllof0\",\n      modelProperties: {\n        data: {\n          serializedName: \"data\",\n          required: true,\n          type: {\n            name: \"Sequence\",\n            element: {\n              type: {\n                name: \"Composite\",\n                className: \"Delegate\",\n              },\n            },\n          },\n        },\n      },\n    },\n  };\n\nexport const PathsEue6HzV3KeyBlocksGetResponses200ContentApplicationJsonSchemaAllof0: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"PathsEue6HzV3KeyBlocksGetResponses200ContentApplicationJsonSchemaAllof0\",\n      modelProperties: {\n        data: {\n          serializedName: \"data\",\n          required: true,\n          type: {\n            name: \"Sequence\",\n            element: {\n              type: {\n                name: \"Composite\",\n                className: \"KeyBlockExtended\",\n              },\n            },\n          },\n        },\n      },\n    },\n  };\n\nexport const KeyBlock: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"KeyBlock\",\n    modelProperties: {\n      hash: {\n        serializedName: \"hash\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      height: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"height\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      prevHash: {\n        serializedName: \"prev_hash\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      prevKeyHash: {\n        serializedName: \"prev_key_hash\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      stateHash: {\n        serializedName: \"state_hash\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      miner: {\n        serializedName: \"miner\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      beneficiary: {\n        serializedName: \"beneficiary\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      target: {\n        constraints: {\n          InclusiveMaximum: 4294967295,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"target\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      pow: {\n        constraints: {\n          MinItems: 42,\n          MaxItems: 42,\n        },\n        serializedName: \"pow\",\n        type: {\n          name: \"Sequence\",\n          element: {\n            constraints: {\n              InclusiveMaximum: 4294967295,\n              InclusiveMinimum: 0,\n            },\n            type: {\n              name: \"Number\",\n            },\n          },\n        },\n      },\n      nonce: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"nonce\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      time: {\n        serializedName: \"time\",\n        required: true,\n        type: {\n          name: \"UnixTime\",\n        },\n      },\n      version: {\n        constraints: {\n          InclusiveMaximum: 4294967295,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"version\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      info: {\n        serializedName: \"info\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const PathsNn60D7V3KeyBlocksHashOrKbiMicroBlocksGetResponses200ContentApplicationJsonSchemaAllof0: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"PathsNn60D7V3KeyBlocksHashOrKbiMicroBlocksGetResponses200ContentApplicationJsonSchemaAllof0\",\n      modelProperties: {\n        data: {\n          serializedName: \"data\",\n          required: true,\n          type: {\n            name: \"Sequence\",\n            element: {\n              type: {\n                name: \"Composite\",\n                className: \"MicroBlockExtended\",\n              },\n            },\n          },\n        },\n      },\n    },\n  };\n\nexport const MicroBlockHeader: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"MicroBlockHeader\",\n    modelProperties: {\n      hash: {\n        serializedName: \"hash\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      height: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"height\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      pofHash: {\n        serializedName: \"pof_hash\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      prevHash: {\n        serializedName: \"prev_hash\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      prevKeyHash: {\n        serializedName: \"prev_key_hash\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      stateHash: {\n        serializedName: \"state_hash\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      txsHash: {\n        serializedName: \"txs_hash\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      signature: {\n        serializedName: \"signature\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      time: {\n        serializedName: \"time\",\n        required: true,\n        type: {\n          name: \"UnixTime\",\n        },\n      },\n      version: {\n        constraints: {\n          InclusiveMaximum: 4294967295,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"version\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n    },\n  },\n};\n\nexport const PathsXhlqwrV3MicroBlocksHashTransactionsGetResponses200ContentApplicationJsonSchemaAllof0: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"PathsXhlqwrV3MicroBlocksHashTransactionsGetResponses200ContentApplicationJsonSchemaAllof0\",\n      modelProperties: {\n        data: {\n          serializedName: \"data\",\n          required: true,\n          type: {\n            name: \"Sequence\",\n            element: {\n              type: {\n                name: \"Composite\",\n                className: \"Transaction\",\n              },\n            },\n          },\n        },\n      },\n    },\n  };\n\nexport const Transaction: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"Transaction\",\n    modelProperties: {\n      blockHash: {\n        constraints: {\n          Pattern: new RegExp(\"^mh_\\\\w{38,50}$\"),\n        },\n        serializedName: \"block_hash\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      blockHeight: {\n        serializedName: \"block_height\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      encodedTx: {\n        constraints: {\n          Pattern: new RegExp(\"^tx_\\\\w+$\"),\n        },\n        serializedName: \"encoded_tx\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      hash: {\n        constraints: {\n          Pattern: new RegExp(\"^th_\\\\w{38,50}$\"),\n        },\n        serializedName: \"hash\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      microIndex: {\n        serializedName: \"micro_index\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      microTime: {\n        serializedName: \"micro_time\",\n        required: true,\n        type: {\n          name: \"UnixTime\",\n        },\n      },\n      signatures: {\n        serializedName: \"signatures\",\n        required: true,\n        type: {\n          name: \"Sequence\",\n          element: {\n            constraints: {\n              Pattern: new RegExp(\"^sg_\\\\w+$\"),\n            },\n            type: {\n              name: \"String\",\n            },\n          },\n        },\n      },\n      tx: {\n        serializedName: \"tx\",\n        type: {\n          name: \"Composite\",\n          className: \"Tx\",\n        },\n      },\n    },\n  },\n};\n\nexport const Paths181Cs9V3NamesGetResponses200ContentApplicationJsonSchemaAllof0: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"Paths181Cs9V3NamesGetResponses200ContentApplicationJsonSchemaAllof0\",\n      modelProperties: {\n        data: {\n          serializedName: \"data\",\n          required: true,\n          type: {\n            name: \"Sequence\",\n            element: {\n              type: {\n                name: \"Composite\",\n                className: \"Name\",\n              },\n            },\n          },\n        },\n      },\n    },\n  };\n\nexport const Name: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"Name\",\n    modelProperties: {\n      active: {\n        serializedName: \"active\",\n        required: true,\n        type: {\n          name: \"Boolean\",\n        },\n      },\n      hash: {\n        constraints: {\n          Pattern: new RegExp(\"^nm_\\\\w{38,50}$\"),\n        },\n        serializedName: \"hash\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      activeFrom: {\n        serializedName: \"active_from\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      approximateActivationTime: {\n        serializedName: \"approximate_activation_time\",\n        required: true,\n        type: {\n          name: \"UnixTime\",\n        },\n      },\n      approximateExpireTime: {\n        serializedName: \"approximate_expire_time\",\n        required: true,\n        type: {\n          name: \"UnixTime\",\n        },\n      },\n      expireHeight: {\n        serializedName: \"expire_height\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      pointers: {\n        serializedName: \"pointers\",\n        required: true,\n        type: {\n          name: \"Sequence\",\n          element: {\n            type: {\n              name: \"Composite\",\n              className: \"NamePointer\",\n            },\n          },\n        },\n      },\n      auction: {\n        serializedName: \"auction\",\n        type: {\n          name: \"Composite\",\n          className: \"Auction\",\n        },\n      },\n      auctionTimeout: {\n        serializedName: \"auction_timeout\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      ownership: {\n        serializedName: \"ownership\",\n        type: {\n          name: \"Composite\",\n          className: \"NameOwnership\",\n        },\n      },\n      name: {\n        constraints: {\n          Pattern: new RegExp(\"^\\\\w+\\\\.chain$\"),\n        },\n        serializedName: \"name\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      nameFee: {\n        serializedName: \"name_fee\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      revoke: {\n        serializedName: \"revoke\",\n        type: {\n          name: \"Composite\",\n          className: \"NameTx\",\n        },\n      },\n      claimsCount: {\n        serializedName: \"claims_count\",\n        type: {\n          name: \"Number\",\n        },\n      },\n    },\n  },\n};\n\nexport const Auction: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"Auction\",\n    modelProperties: {\n      auctionEnd: {\n        serializedName: \"auction_end\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      activationTime: {\n        serializedName: \"activation_time\",\n        required: true,\n        type: {\n          name: \"UnixTime\",\n        },\n      },\n      approximateExpireTime: {\n        serializedName: \"approximate_expire_time\",\n        required: true,\n        type: {\n          name: \"UnixTime\",\n        },\n      },\n      lastBid: {\n        serializedName: \"last_bid\",\n        type: {\n          name: \"Composite\",\n          className: \"AuctionLastBid\",\n        },\n      },\n      name: {\n        constraints: {\n          Pattern: new RegExp(\"^\\\\w+\\\\.chain$\"),\n        },\n        serializedName: \"name\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      nameFee: {\n        serializedName: \"name_fee\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      claimsCount: {\n        serializedName: \"claims_count\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n    },\n  },\n};\n\nexport const AuctionLastBid: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"AuctionLastBid\",\n    modelProperties: {\n      blockHash: {\n        constraints: {\n          Pattern: new RegExp(\"^mh_\\\\w{38,50}$\"),\n        },\n        serializedName: \"block_hash\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      blockHeight: {\n        serializedName: \"block_height\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      encodedTx: {\n        constraints: {\n          Pattern: new RegExp(\"^tx_\\\\w+$\"),\n        },\n        serializedName: \"encoded_tx\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      hash: {\n        constraints: {\n          Pattern: new RegExp(\"^th_\\\\w{38,50}$\"),\n        },\n        serializedName: \"hash\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      microIndex: {\n        serializedName: \"micro_index\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      microTime: {\n        serializedName: \"micro_time\",\n        required: true,\n        type: {\n          name: \"UnixTime\",\n        },\n      },\n      signatures: {\n        serializedName: \"signatures\",\n        required: true,\n        type: {\n          name: \"Sequence\",\n          element: {\n            constraints: {\n              Pattern: new RegExp(\"^sg_\\\\w+$\"),\n            },\n            type: {\n              name: \"String\",\n            },\n          },\n        },\n      },\n      tx: {\n        serializedName: \"tx\",\n        type: {\n          name: \"Composite\",\n          className: \"AuctionLastBidTx\",\n        },\n      },\n    },\n  },\n};\n\nexport const Components17W16A5SchemasAuctionPropertiesLastBidPropertiesTxAllof1: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"Components17W16A5SchemasAuctionPropertiesLastBidPropertiesTxAllof1\",\n      modelProperties: {\n        nameId: {\n          constraints: {\n            Pattern: new RegExp(\"^nm_\\\\w{38,50}$\"),\n          },\n          serializedName: \"name_id\",\n          required: true,\n          type: {\n            name: \"String\",\n          },\n        },\n        type: {\n          serializedName: \"type\",\n          required: true,\n          type: {\n            name: \"String\",\n          },\n        },\n        version: {\n          serializedName: \"version\",\n          required: true,\n          type: {\n            name: \"Number\",\n          },\n        },\n      },\n    },\n  };\n\nexport const NameOwnership: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"NameOwnership\",\n    modelProperties: {\n      current: {\n        constraints: {\n          Pattern: new RegExp(\"^ak_\\\\w{38,50}$\"),\n        },\n        serializedName: \"current\",\n        type: {\n          name: \"String\",\n        },\n      },\n      original: {\n        constraints: {\n          Pattern: new RegExp(\"^ak_\\\\w{38,50}$\"),\n        },\n        serializedName: \"original\",\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const NameTx: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"NameTx\",\n    modelProperties: {\n      blockHash: {\n        constraints: {\n          Pattern: new RegExp(\"^mh_\\\\w{38,50}$\"),\n        },\n        serializedName: \"block_hash\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      blockHeight: {\n        serializedName: \"block_height\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      hash: {\n        constraints: {\n          Pattern: new RegExp(\"^th_\\\\w{38,50}$\"),\n        },\n        serializedName: \"hash\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      microIndex: {\n        serializedName: \"micro_index\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      microTime: {\n        serializedName: \"micro_time\",\n        required: true,\n        type: {\n          name: \"UnixTime\",\n        },\n      },\n      signatures: {\n        serializedName: \"signatures\",\n        required: true,\n        type: {\n          name: \"Sequence\",\n          element: {\n            constraints: {\n              Pattern: new RegExp(\"^sg_\\\\w+$\"),\n            },\n            type: {\n              name: \"String\",\n            },\n          },\n        },\n      },\n      tx: {\n        serializedName: \"tx\",\n        type: {\n          name: \"Composite\",\n          className: \"NameTxTx\",\n        },\n      },\n    },\n  },\n};\n\nexport const NameRevokeTx: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"NameRevokeTx\",\n    modelProperties: {\n      nameId: {\n        serializedName: \"name_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      fee: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"fee\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      ttl: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"ttl\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      accountId: {\n        serializedName: \"account_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      nonce: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"nonce\",\n        type: {\n          name: \"Number\",\n        },\n      },\n    },\n  },\n};\n\nexport const Components171VsjiSchemasNametxPropertiesTxAllof1: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className: \"Components171VsjiSchemasNametxPropertiesTxAllof1\",\n      modelProperties: {\n        type: {\n          serializedName: \"type\",\n          required: true,\n          type: {\n            name: \"String\",\n          },\n        },\n        version: {\n          serializedName: \"version\",\n          required: true,\n          type: {\n            name: \"Number\",\n          },\n        },\n      },\n    },\n  };\n\nexport const Paths1R08F8HV3NamesAuctionsGetResponses200ContentApplicationJsonSchemaAllof0: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"Paths1R08F8HV3NamesAuctionsGetResponses200ContentApplicationJsonSchemaAllof0\",\n      modelProperties: {\n        data: {\n          serializedName: \"data\",\n          required: true,\n          type: {\n            name: \"Sequence\",\n            element: {\n              type: {\n                name: \"Composite\",\n                className: \"Auction\",\n              },\n            },\n          },\n        },\n      },\n    },\n  };\n\nexport const PathsCrb9BgV3NamesAuctionsIdClaimsGetResponses200ContentApplicationJsonSchema: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"PathsCrb9BgV3NamesAuctionsIdClaimsGetResponses200ContentApplicationJsonSchema\",\n      modelProperties: {\n        data: {\n          serializedName: \"data\",\n          required: true,\n          type: {\n            name: \"Sequence\",\n            element: {\n              type: {\n                name: \"Composite\",\n                className: \"NameClaim\",\n              },\n            },\n          },\n        },\n      },\n    },\n  };\n\nexport const PathsMyl4W2V3NamesIdClaimsGetResponses200ContentApplicationJsonSchemaAllof0: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"PathsMyl4W2V3NamesIdClaimsGetResponses200ContentApplicationJsonSchemaAllof0\",\n      modelProperties: {\n        data: {\n          serializedName: \"data\",\n          required: true,\n          type: {\n            name: \"Sequence\",\n            element: {\n              type: {\n                name: \"Composite\",\n                className: \"NameClaim\",\n              },\n            },\n          },\n        },\n      },\n    },\n  };\n\nexport const Paths1Ukwk06V3NamesIdTransfersGetResponses200ContentApplicationJsonSchemaAllof0: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"Paths1Ukwk06V3NamesIdTransfersGetResponses200ContentApplicationJsonSchemaAllof0\",\n      modelProperties: {\n        data: {\n          serializedName: \"data\",\n          required: true,\n          type: {\n            name: \"Sequence\",\n            element: {\n              type: {\n                name: \"Composite\",\n                className: \"NameTransfer\",\n              },\n            },\n          },\n        },\n      },\n    },\n  };\n\nexport const NameTransfer: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"NameTransfer\",\n    modelProperties: {\n      activeFrom: {\n        serializedName: \"active_from\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      blockHash: {\n        constraints: {\n          Pattern: new RegExp(\"^mh_\\\\w{38,50}$\"),\n        },\n        serializedName: \"block_hash\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      height: {\n        serializedName: \"height\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      sourceTxHash: {\n        constraints: {\n          Pattern: new RegExp(\"^th_\\\\w{38,50}$\"),\n        },\n        serializedName: \"source_tx_hash\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      sourceTxType: {\n        serializedName: \"source_tx_type\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      tx: {\n        serializedName: \"tx\",\n        type: {\n          name: \"Composite\",\n          className: \"NameTransferTx\",\n        },\n      },\n      internalSource: {\n        serializedName: \"internal_source\",\n        type: {\n          name: \"Boolean\",\n        },\n      },\n    },\n  },\n};\n\nexport const NameTransferTx: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"NameTransferTx\",\n    modelProperties: {\n      nameId: {\n        serializedName: \"name_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      recipientId: {\n        serializedName: \"recipient_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      fee: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"fee\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      ttl: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"ttl\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      accountId: {\n        serializedName: \"account_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      nonce: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"nonce\",\n        type: {\n          name: \"Number\",\n        },\n      },\n    },\n  },\n};\n\nexport const PathsRcnvllV3NamesIdUpdatesGetResponses200ContentApplicationJsonSchemaAllof0: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"PathsRcnvllV3NamesIdUpdatesGetResponses200ContentApplicationJsonSchemaAllof0\",\n      modelProperties: {\n        data: {\n          serializedName: \"data\",\n          required: true,\n          type: {\n            name: \"Sequence\",\n            element: {\n              type: {\n                name: \"Composite\",\n                className: \"NameUpdate\",\n              },\n            },\n          },\n        },\n      },\n    },\n  };\n\nexport const NameUpdate: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"NameUpdate\",\n    modelProperties: {\n      activeFrom: {\n        serializedName: \"active_from\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      blockHash: {\n        constraints: {\n          Pattern: new RegExp(\"^mh_\\\\w{38,50}$\"),\n        },\n        serializedName: \"block_hash\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      height: {\n        serializedName: \"height\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      sourceTxHash: {\n        constraints: {\n          Pattern: new RegExp(\"^th_\\\\w{38,50}$\"),\n        },\n        serializedName: \"source_tx_hash\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      sourceTxType: {\n        serializedName: \"source_tx_type\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      tx: {\n        serializedName: \"tx\",\n        type: {\n          name: \"Composite\",\n          className: \"NameUpdateTx\",\n        },\n      },\n      internalSource: {\n        serializedName: \"internal_source\",\n        type: {\n          name: \"Boolean\",\n        },\n      },\n    },\n  },\n};\n\nexport const PathsGcr9MrV3OraclesGetResponses200ContentApplicationJsonSchemaAllof0: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"PathsGcr9MrV3OraclesGetResponses200ContentApplicationJsonSchemaAllof0\",\n      modelProperties: {\n        data: {\n          serializedName: \"data\",\n          required: true,\n          type: {\n            name: \"Sequence\",\n            element: {\n              type: {\n                name: \"Composite\",\n                className: \"Oracle\",\n              },\n            },\n          },\n        },\n      },\n    },\n  };\n\nexport const Oracle: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"Oracle\",\n    modelProperties: {\n      active: {\n        serializedName: \"active\",\n        required: true,\n        type: {\n          name: \"Boolean\",\n        },\n      },\n      activeFrom: {\n        serializedName: \"active_from\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      approximateExpireTime: {\n        serializedName: \"approximate_expire_time\",\n        required: true,\n        type: {\n          name: \"UnixTime\",\n        },\n      },\n      expireHeight: {\n        serializedName: \"expire_height\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      registerTime: {\n        serializedName: \"register_time\",\n        required: true,\n        type: {\n          name: \"UnixTime\",\n        },\n      },\n      registerTxHash: {\n        constraints: {\n          Pattern: new RegExp(\"^th_\\\\w{38,50}$\"),\n        },\n        serializedName: \"register_tx_hash\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      format: {\n        serializedName: \"format\",\n        type: {\n          name: \"Composite\",\n          className: \"OracleFormat\",\n        },\n      },\n      oracle: {\n        constraints: {\n          Pattern: new RegExp(\"^ok_\\\\w{38,50}$\"),\n        },\n        serializedName: \"oracle\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      queryFee: {\n        serializedName: \"query_fee\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      register: {\n        serializedName: \"register\",\n        type: {\n          name: \"Composite\",\n          className: \"OracleTx\",\n        },\n      },\n    },\n  },\n};\n\nexport const OracleFormat: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"OracleFormat\",\n    modelProperties: {\n      query: {\n        serializedName: \"query\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      response: {\n        serializedName: \"response\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const OracleTx: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"OracleTx\",\n    modelProperties: {\n      blockHash: {\n        constraints: {\n          Pattern: new RegExp(\"^mh_\\\\w{38,50}$\"),\n        },\n        serializedName: \"block_hash\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      blockHeight: {\n        serializedName: \"block_height\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      hash: {\n        constraints: {\n          Pattern: new RegExp(\"^th_\\\\w{38,50}$\"),\n        },\n        serializedName: \"hash\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      microIndex: {\n        serializedName: \"micro_index\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      microTime: {\n        serializedName: \"micro_time\",\n        required: true,\n        type: {\n          name: \"UnixTime\",\n        },\n      },\n      signatures: {\n        serializedName: \"signatures\",\n        required: true,\n        type: {\n          name: \"Sequence\",\n          element: {\n            constraints: {\n              Pattern: new RegExp(\"^sg_\\\\w+$\"),\n            },\n            type: {\n              name: \"String\",\n            },\n          },\n        },\n      },\n      encodedTx: {\n        constraints: {\n          Pattern: new RegExp(\"^tx_\\\\w+$\"),\n        },\n        serializedName: \"encoded_tx\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      tx: {\n        serializedName: \"tx\",\n        type: {\n          name: \"Composite\",\n          className: \"OracleTxTx\",\n        },\n      },\n    },\n  },\n};\n\nexport const OracleRegisterTx: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"OracleRegisterTx\",\n    modelProperties: {\n      queryFormat: {\n        serializedName: \"query_format\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      responseFormat: {\n        serializedName: \"response_format\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      queryFee: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"query_fee\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      oracleTtl: {\n        serializedName: \"oracle_ttl\",\n        type: {\n          name: \"Composite\",\n          className: \"Ttl\",\n        },\n      },\n      accountId: {\n        serializedName: \"account_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      nonce: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"nonce\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      fee: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"fee\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      ttl: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"ttl\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      abiVersion: {\n        constraints: {\n          InclusiveMaximum: 65535,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"abi_version\",\n        type: {\n          name: \"Number\",\n        },\n      },\n    },\n  },\n};\n\nexport const Components1Viuqa3SchemasOracletxPropertiesTxAllof1: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className: \"Components1Viuqa3SchemasOracletxPropertiesTxAllof1\",\n      modelProperties: {\n        oracleId: {\n          constraints: {\n            Pattern: new RegExp(\"^ok_\\\\w{38,50}$\"),\n          },\n          serializedName: \"oracle_id\",\n          required: true,\n          type: {\n            name: \"String\",\n          },\n        },\n        type: {\n          serializedName: \"type\",\n          required: true,\n          type: {\n            name: \"String\",\n          },\n        },\n        version: {\n          serializedName: \"version\",\n          required: true,\n          type: {\n            name: \"Number\",\n          },\n        },\n        txHash: {\n          constraints: {\n            Pattern: new RegExp(\"^th_\\\\w{38,50}$\"),\n          },\n          serializedName: \"tx_hash\",\n          required: true,\n          type: {\n            name: \"String\",\n          },\n        },\n      },\n    },\n  };\n\nexport const PathsZ4L2QlV3OraclesIdExtendsGetResponses200ContentApplicationJsonSchemaAllof0: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"PathsZ4L2QlV3OraclesIdExtendsGetResponses200ContentApplicationJsonSchemaAllof0\",\n      modelProperties: {\n        data: {\n          serializedName: \"data\",\n          required: true,\n          type: {\n            name: \"Sequence\",\n            element: {\n              type: {\n                name: \"Composite\",\n                className: \"OracleExtend\",\n              },\n            },\n          },\n        },\n      },\n    },\n  };\n\nexport const OracleExtend: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"OracleExtend\",\n    modelProperties: {\n      blockHash: {\n        constraints: {\n          Pattern: new RegExp(\"^mh_\\\\w{38,50}$\"),\n        },\n        serializedName: \"block_hash\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      height: {\n        serializedName: \"height\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      sourceTxHash: {\n        constraints: {\n          Pattern: new RegExp(\"^th_\\\\w{38,50}$\"),\n        },\n        serializedName: \"source_tx_hash\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      sourceTxType: {\n        serializedName: \"source_tx_type\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      tx: {\n        serializedName: \"tx\",\n        type: {\n          name: \"Composite\",\n          className: \"OracleExtendTx\",\n        },\n      },\n    },\n  },\n};\n\nexport const OracleExtendTx: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"OracleExtendTx\",\n    modelProperties: {\n      fee: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"fee\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      oracleTtl: {\n        serializedName: \"oracle_ttl\",\n        type: {\n          name: \"Composite\",\n          className: \"RelativeTTL\",\n        },\n      },\n      oracleId: {\n        serializedName: \"oracle_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      nonce: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"nonce\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      ttl: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"ttl\",\n        type: {\n          name: \"Number\",\n        },\n      },\n    },\n  },\n};\n\nexport const Paths1Uni7AtV3OraclesIdQueriesGetResponses200ContentApplicationJsonSchemaAllof0: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"Paths1Uni7AtV3OraclesIdQueriesGetResponses200ContentApplicationJsonSchemaAllof0\",\n      modelProperties: {\n        data: {\n          serializedName: \"data\",\n          required: true,\n          type: {\n            name: \"Sequence\",\n            element: {\n              type: {\n                name: \"Composite\",\n                className: \"OracleQuery\",\n              },\n            },\n          },\n        },\n      },\n    },\n  };\n\nexport const OracleQuery: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"OracleQuery\",\n    modelProperties: {\n      blockHash: {\n        constraints: {\n          Pattern: new RegExp(\"^mh_\\\\w{38,50}$\"),\n        },\n        serializedName: \"block_hash\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      blockTime: {\n        serializedName: \"block_time\",\n        required: true,\n        type: {\n          name: \"UnixTime\",\n        },\n      },\n      height: {\n        serializedName: \"height\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      queryId: {\n        constraints: {\n          Pattern: new RegExp(\"^oq_\\\\w{38,50}$\"),\n        },\n        serializedName: \"query_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      response: {\n        serializedName: \"response\",\n        type: {\n          name: \"Composite\",\n          className: \"OracleResponse\",\n        },\n      },\n      sourceTxHash: {\n        constraints: {\n          Pattern: new RegExp(\"^th_\\\\w{38,50}$\"),\n        },\n        serializedName: \"source_tx_hash\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      sourceTxType: {\n        serializedName: \"source_tx_type\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      fee: {\n        serializedName: \"fee\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      nonce: {\n        serializedName: \"nonce\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      oracleId: {\n        constraints: {\n          Pattern: new RegExp(\"^ok_\\\\w{38,50}$\"),\n        },\n        serializedName: \"oracle_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      query: {\n        serializedName: \"query\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      queryFee: {\n        serializedName: \"query_fee\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      queryTtl: {\n        serializedName: \"query_ttl\",\n        required: true,\n        type: {\n          name: \"Dictionary\",\n          value: { type: { name: \"any\" } },\n        },\n      },\n      responseTtl: {\n        serializedName: \"response_ttl\",\n        required: true,\n        type: {\n          name: \"Dictionary\",\n          value: { type: { name: \"any\" } },\n        },\n      },\n      senderId: {\n        constraints: {\n          Pattern: new RegExp(\"^ak_\\\\w{38,50}$\"),\n        },\n        serializedName: \"sender_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      ttl: {\n        serializedName: \"ttl\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n    },\n  },\n};\n\nexport const OracleResponse: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"OracleResponse\",\n    modelProperties: {\n      blockHash: {\n        constraints: {\n          Pattern: new RegExp(\"^mh_\\\\w{38,50}$\"),\n        },\n        serializedName: \"block_hash\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      blockTime: {\n        serializedName: \"block_time\",\n        required: true,\n        type: {\n          name: \"UnixTime\",\n        },\n      },\n      height: {\n        serializedName: \"height\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      queryId: {\n        constraints: {\n          Pattern: new RegExp(\"^oq_\\\\w{38,50}$\"),\n        },\n        serializedName: \"query_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      query: {\n        serializedName: \"query\",\n        type: {\n          name: \"Composite\",\n          className: \"OracleQuery\",\n        },\n      },\n      sourceTxHash: {\n        constraints: {\n          Pattern: new RegExp(\"^th_\\\\w{38,50}$\"),\n        },\n        serializedName: \"source_tx_hash\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      sourceTxType: {\n        serializedName: \"source_tx_type\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      fee: {\n        serializedName: \"fee\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      nonce: {\n        serializedName: \"nonce\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      oracleId: {\n        constraints: {\n          Pattern: new RegExp(\"^ok_\\\\w{38,50}$\"),\n        },\n        serializedName: \"oracle_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      response: {\n        serializedName: \"response\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      responseTtl: {\n        serializedName: \"response_ttl\",\n        required: true,\n        type: {\n          name: \"Dictionary\",\n          value: { type: { name: \"any\" } },\n        },\n      },\n      ttl: {\n        serializedName: \"ttl\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n    },\n  },\n};\n\nexport const Paths1Tcj5A9V3OraclesIdResponsesGetResponses200ContentApplicationJsonSchemaAllof0: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"Paths1Tcj5A9V3OraclesIdResponsesGetResponses200ContentApplicationJsonSchemaAllof0\",\n      modelProperties: {\n        data: {\n          serializedName: \"data\",\n          required: true,\n          type: {\n            name: \"Sequence\",\n            element: {\n              type: {\n                name: \"Composite\",\n                className: \"OracleResponse\",\n              },\n            },\n          },\n        },\n      },\n    },\n  };\n\nexport const Stats: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"Stats\",\n    modelProperties: {\n      minersCount: {\n        serializedName: \"miners_count\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      feesTrend: {\n        serializedName: \"fees_trend\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      last24HsAverageTransactionFees: {\n        serializedName: \"last_24hs_average_transaction_fees\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      last24HsTransactions: {\n        serializedName: \"last_24hs_transactions\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      maxTransactionsPerSecond: {\n        serializedName: \"max_transactions_per_second\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      maxTransactionsPerSecondBlockHash: {\n        constraints: {\n          Pattern: new RegExp(\"^kh_\\\\w{38,50}$\"),\n        },\n        serializedName: \"max_transactions_per_second_block_hash\",\n        type: {\n          name: \"String\",\n        },\n      },\n      transactionsTrend: {\n        serializedName: \"transactions_trend\",\n        type: {\n          name: \"Number\",\n        },\n      },\n    },\n  },\n};\n\nexport const PathsFso5IiV3StatsActiveAccountsGetResponses200ContentApplicationJsonSchemaAllof0: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"PathsFso5IiV3StatsActiveAccountsGetResponses200ContentApplicationJsonSchemaAllof0\",\n      modelProperties: {\n        data: {\n          serializedName: \"data\",\n          required: true,\n          type: {\n            name: \"Sequence\",\n            element: {\n              type: {\n                name: \"Composite\",\n                className: \"Stat\",\n              },\n            },\n          },\n        },\n      },\n    },\n  };\n\nexport const Stat: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"Stat\",\n    modelProperties: {\n      count: {\n        serializedName: \"count\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      startDate: {\n        serializedName: \"start_date\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      endDate: {\n        serializedName: \"end_date\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const Paths1Fl1Lh2V3StatsAex9TransfersGetResponses200ContentApplicationJsonSchemaAllof0: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"Paths1Fl1Lh2V3StatsAex9TransfersGetResponses200ContentApplicationJsonSchemaAllof0\",\n      modelProperties: {\n        data: {\n          serializedName: \"data\",\n          required: true,\n          type: {\n            name: \"Sequence\",\n            element: {\n              type: {\n                name: \"Composite\",\n                className: \"Stat\",\n              },\n            },\n          },\n        },\n      },\n    },\n  };\n\nexport const Paths1A27TirV3StatsBlocksGetResponses200ContentApplicationJsonSchemaAllof0: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"Paths1A27TirV3StatsBlocksGetResponses200ContentApplicationJsonSchemaAllof0\",\n      modelProperties: {\n        data: {\n          serializedName: \"data\",\n          required: true,\n          type: {\n            name: \"Sequence\",\n            element: {\n              type: {\n                name: \"Composite\",\n                className: \"Stat\",\n              },\n            },\n          },\n        },\n      },\n    },\n  };\n\nexport const Paths72Dp44V3StatsContractsGetResponses200ContentApplicationJsonSchemaAllof0: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"Paths72Dp44V3StatsContractsGetResponses200ContentApplicationJsonSchemaAllof0\",\n      modelProperties: {\n        data: {\n          serializedName: \"data\",\n          required: true,\n          type: {\n            name: \"Sequence\",\n            element: {\n              type: {\n                name: \"Composite\",\n                className: \"Stat\",\n              },\n            },\n          },\n        },\n      },\n    },\n  };\n\nexport const Paths1J83O75V3StatsDeltaGetResponses200ContentApplicationJsonSchemaAllof0: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"Paths1J83O75V3StatsDeltaGetResponses200ContentApplicationJsonSchemaAllof0\",\n      modelProperties: {\n        data: {\n          serializedName: \"data\",\n          required: true,\n          type: {\n            name: \"Sequence\",\n            element: {\n              type: {\n                name: \"Composite\",\n                className: \"DeltaStat\",\n              },\n            },\n          },\n        },\n      },\n    },\n  };\n\nexport const DeltaStat: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"DeltaStat\",\n    modelProperties: {\n      height: {\n        serializedName: \"height\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      auctionsStarted: {\n        serializedName: \"auctions_started\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      blockReward: {\n        serializedName: \"block_reward\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      burnedInAuctions: {\n        serializedName: \"burned_in_auctions\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      channelsClosed: {\n        serializedName: \"channels_closed\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      channelsOpened: {\n        serializedName: \"channels_opened\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      contractsCreated: {\n        serializedName: \"contracts_created\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      devReward: {\n        serializedName: \"dev_reward\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      namesActivated: {\n        serializedName: \"names_activated\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      namesExpired: {\n        serializedName: \"names_expired\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      namesRevoked: {\n        serializedName: \"names_revoked\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      oraclesExpired: {\n        serializedName: \"oracles_expired\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      oraclesRegistered: {\n        serializedName: \"oracles_registered\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      lastTxHash: {\n        constraints: {\n          Pattern: new RegExp(\"^th_\\\\w{38,50}$\"),\n        },\n        serializedName: \"last_tx_hash\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      lockedInAuctions: {\n        serializedName: \"locked_in_auctions\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      lockedInChannels: {\n        serializedName: \"locked_in_channels\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n    },\n  },\n};\n\nexport const Paths1Qw6KhfV3StatsDifficultyGetResponses200ContentApplicationJsonSchemaAllof0: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"Paths1Qw6KhfV3StatsDifficultyGetResponses200ContentApplicationJsonSchemaAllof0\",\n      modelProperties: {\n        data: {\n          serializedName: \"data\",\n          required: true,\n          type: {\n            name: \"Sequence\",\n            element: {\n              type: {\n                name: \"Composite\",\n                className: \"Stat\",\n              },\n            },\n          },\n        },\n      },\n    },\n  };\n\nexport const Paths1IskjkV3StatsHashrateGetResponses200ContentApplicationJsonSchemaAllof0: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"Paths1IskjkV3StatsHashrateGetResponses200ContentApplicationJsonSchemaAllof0\",\n      modelProperties: {\n        data: {\n          serializedName: \"data\",\n          required: true,\n          type: {\n            name: \"Sequence\",\n            element: {\n              type: {\n                name: \"Composite\",\n                className: \"Stat\",\n              },\n            },\n          },\n        },\n      },\n    },\n  };\n\nexport const Paths50Qhc7V3StatsMinersGetResponses200ContentApplicationJsonSchemaAllof0: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"Paths50Qhc7V3StatsMinersGetResponses200ContentApplicationJsonSchemaAllof0\",\n      modelProperties: {\n        data: {\n          serializedName: \"data\",\n          required: true,\n          type: {\n            name: \"Sequence\",\n            element: {\n              type: {\n                name: \"Composite\",\n                className: \"Miner\",\n              },\n            },\n          },\n        },\n      },\n    },\n  };\n\nexport const Miner: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"Miner\",\n    modelProperties: {\n      miner: {\n        constraints: {\n          Pattern: new RegExp(\"^ak_\\\\w{38,50}$\"),\n        },\n        serializedName: \"miner\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      totalReward: {\n        serializedName: \"total_reward\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n    },\n  },\n};\n\nexport const PathsD92Xl6V3StatsNamesGetResponses200ContentApplicationJsonSchemaAllof0: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"PathsD92Xl6V3StatsNamesGetResponses200ContentApplicationJsonSchemaAllof0\",\n      modelProperties: {\n        data: {\n          serializedName: \"data\",\n          required: true,\n          type: {\n            name: \"Sequence\",\n            element: {\n              type: {\n                name: \"Composite\",\n                className: \"Stat\",\n              },\n            },\n          },\n        },\n      },\n    },\n  };\n\nexport const Paths1K55ZdgV3StatsTotalGetResponses200ContentApplicationJsonSchemaAllof0: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"Paths1K55ZdgV3StatsTotalGetResponses200ContentApplicationJsonSchemaAllof0\",\n      modelProperties: {\n        data: {\n          serializedName: \"data\",\n          required: true,\n          type: {\n            name: \"Sequence\",\n            element: {\n              type: {\n                name: \"Composite\",\n                className: \"TotalStat\",\n              },\n            },\n          },\n        },\n      },\n    },\n  };\n\nexport const TotalStat: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"TotalStat\",\n    modelProperties: {\n      height: {\n        serializedName: \"height\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      contracts: {\n        serializedName: \"contracts\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      lockedInAuctions: {\n        serializedName: \"locked_in_auctions\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      burnedInAuctions: {\n        serializedName: \"burned_in_auctions\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      lockedInChannels: {\n        serializedName: \"locked_in_channels\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      activeAuctions: {\n        serializedName: \"active_auctions\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      activeNames: {\n        serializedName: \"active_names\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      inactiveNames: {\n        serializedName: \"inactive_names\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      activeOracles: {\n        serializedName: \"active_oracles\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      inactiveOracles: {\n        serializedName: \"inactive_oracles\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      openChannels: {\n        serializedName: \"open_channels\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      sumBlockReward: {\n        serializedName: \"sum_block_reward\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      sumDevReward: {\n        serializedName: \"sum_dev_reward\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      totalTokenSupply: {\n        serializedName: \"total_token_supply\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      lastTxHash: {\n        constraints: {\n          Pattern: new RegExp(\"^th_\\\\w{38,50}$\"),\n        },\n        serializedName: \"last_tx_hash\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const Paths3Bfys0V3StatsTotalAccountsGetResponses200ContentApplicationJsonSchemaAllof0: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"Paths3Bfys0V3StatsTotalAccountsGetResponses200ContentApplicationJsonSchemaAllof0\",\n      modelProperties: {\n        data: {\n          serializedName: \"data\",\n          required: true,\n          type: {\n            name: \"Sequence\",\n            element: {\n              type: {\n                name: \"Composite\",\n                className: \"Stat\",\n              },\n            },\n          },\n        },\n      },\n    },\n  };\n\nexport const Paths6PaqluV3StatsTransactionsGetResponses200ContentApplicationJsonSchemaAllof0: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"Paths6PaqluV3StatsTransactionsGetResponses200ContentApplicationJsonSchemaAllof0\",\n      modelProperties: {\n        data: {\n          serializedName: \"data\",\n          required: true,\n          type: {\n            name: \"Sequence\",\n            element: {\n              type: {\n                name: \"Composite\",\n                className: \"Stat\",\n              },\n            },\n          },\n        },\n      },\n    },\n  };\n\nexport const Status: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"Status\",\n    modelProperties: {\n      mdwAsyncTasks: {\n        serializedName: \"mdw_async_tasks\",\n        type: {\n          name: \"Composite\",\n          className: \"StatusMdwAsyncTasks\",\n        },\n      },\n      mdwGensPerMinute: {\n        serializedName: \"mdw_gens_per_minute\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      mdwHeight: {\n        serializedName: \"mdw_height\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      mdwLastMigration: {\n        serializedName: \"mdw_last_migration\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      mdwRevision: {\n        serializedName: \"mdw_revision\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      mdwSynced: {\n        serializedName: \"mdw_synced\",\n        required: true,\n        type: {\n          name: \"Boolean\",\n        },\n      },\n      mdwSyncing: {\n        serializedName: \"mdw_syncing\",\n        required: true,\n        type: {\n          name: \"Boolean\",\n        },\n      },\n      mdwTxIndex: {\n        serializedName: \"mdw_tx_index\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      mdwVersion: {\n        serializedName: \"mdw_version\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      nodeHeight: {\n        serializedName: \"node_height\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      nodeProgress: {\n        serializedName: \"node_progress\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      nodeRevision: {\n        serializedName: \"node_revision\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      nodeSyncing: {\n        serializedName: \"node_syncing\",\n        required: true,\n        type: {\n          name: \"Boolean\",\n        },\n      },\n      nodeVersion: {\n        serializedName: \"node_version\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const StatusMdwAsyncTasks: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"StatusMdwAsyncTasks\",\n    modelProperties: {\n      longTasks: {\n        serializedName: \"long_tasks\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      producerBuffer: {\n        serializedName: \"producer_buffer\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      totalPending: {\n        serializedName: \"total_pending\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n    },\n  },\n};\n\nexport const PathsHa9C78V3TransactionsGetResponses200ContentApplicationJsonSchemaAllof0: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"PathsHa9C78V3TransactionsGetResponses200ContentApplicationJsonSchemaAllof0\",\n      modelProperties: {\n        data: {\n          serializedName: \"data\",\n          required: true,\n          type: {\n            name: \"Sequence\",\n            element: {\n              type: {\n                name: \"Composite\",\n                className: \"Transaction\",\n              },\n            },\n          },\n        },\n      },\n    },\n  };\n\nexport const PathsI72FylV3TransactionsPendingGetResponses200ContentApplicationJsonSchemaAllof0: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"PathsI72FylV3TransactionsPendingGetResponses200ContentApplicationJsonSchemaAllof0\",\n      modelProperties: {\n        data: {\n          serializedName: \"data\",\n          required: true,\n          type: {\n            name: \"Sequence\",\n            element: {\n              type: {\n                name: \"Composite\",\n                className: \"PendingTransaction\",\n              },\n            },\n          },\n        },\n      },\n    },\n  };\n\nexport const PendingTransaction: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"PendingTransaction\",\n    modelProperties: {\n      blockHash: {\n        serializedName: \"block_hash\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      blockHeight: {\n        serializedName: \"block_height\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      encodedTx: {\n        constraints: {\n          Pattern: new RegExp(\"^tx_\\\\w+$\"),\n        },\n        serializedName: \"encoded_tx\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      failures: {\n        serializedName: \"failures\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      hash: {\n        constraints: {\n          Pattern: new RegExp(\"^th_\\\\w{38,50}$\"),\n        },\n        serializedName: \"hash\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      signatures: {\n        serializedName: \"signatures\",\n        required: true,\n        type: {\n          name: \"Sequence\",\n          element: {\n            constraints: {\n              Pattern: new RegExp(\"^sg_\\\\w+$\"),\n            },\n            type: {\n              name: \"String\",\n            },\n          },\n        },\n      },\n      tx: {\n        serializedName: \"tx\",\n        type: {\n          name: \"Composite\",\n          className: \"Tx\",\n        },\n      },\n    },\n  },\n};\n\nexport const PathsVdg67V3TransfersGetResponses200ContentApplicationJsonSchemaAllof0: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"PathsVdg67V3TransfersGetResponses200ContentApplicationJsonSchemaAllof0\",\n      modelProperties: {\n        data: {\n          serializedName: \"data\",\n          required: true,\n          type: {\n            name: \"Sequence\",\n            element: {\n              type: {\n                name: \"Composite\",\n                className: \"Transfer\",\n              },\n            },\n          },\n        },\n      },\n    },\n  };\n\nexport const Transfer: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"Transfer\",\n    modelProperties: {\n      accountId: {\n        constraints: {\n          Pattern: new RegExp(\"^ak_\\\\w{38,50}$\"),\n        },\n        serializedName: \"account_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      amount: {\n        serializedName: \"amount\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      height: {\n        serializedName: \"height\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      kind: {\n        serializedName: \"kind\",\n        required: true,\n        type: {\n          name: \"Enum\",\n          allowedValues: [\"reward_dev\", \"reward_block\"],\n        },\n      },\n      refBlockHash: {\n        constraints: {\n          Pattern: new RegExp(\"^mh_\\\\w{38,50}$\"),\n        },\n        serializedName: \"ref_block_hash\",\n        required: true,\n        nullable: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      refTxHash: {\n        constraints: {\n          Pattern: new RegExp(\"^th_\\\\w{38,50}$\"),\n        },\n        serializedName: \"ref_tx_hash\",\n        required: true,\n        nullable: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      refTxType: {\n        serializedName: \"ref_tx_type\",\n        required: true,\n        nullable: true,\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const Aex9TransferEvent: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"Aex9TransferEvent\",\n    modelProperties: {\n      amount: {\n        serializedName: \"amount\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      blockHeight: {\n        serializedName: \"block_height\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      contractId: {\n        constraints: {\n          Pattern: new RegExp(\"^ct_\\\\w{38,50}$\"),\n        },\n        serializedName: \"contract_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      logIdx: {\n        serializedName: \"log_idx\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      microIndex: {\n        serializedName: \"micro_index\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      microTime: {\n        serializedName: \"micro_time\",\n        required: true,\n        type: {\n          name: \"UnixTime\",\n        },\n      },\n      recipientId: {\n        constraints: {\n          Pattern: new RegExp(\"^ak_\\\\w{38,50}$\"),\n        },\n        serializedName: \"recipient_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      senderId: {\n        constraints: {\n          Pattern: new RegExp(\"^ak_\\\\w{38,50}$\"),\n        },\n        serializedName: \"sender_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      txHash: {\n        constraints: {\n          Pattern: new RegExp(\"^th_\\\\w{38,50}$\"),\n        },\n        serializedName: \"tx_hash\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const Aex9TransferResponse: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"Aex9TransferResponse\",\n    modelProperties: {\n      amount: {\n        serializedName: \"amount\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      blockHeight: {\n        serializedName: \"block_height\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      callTxi: {\n        serializedName: \"call_txi\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      contractId: {\n        constraints: {\n          Pattern: new RegExp(\"^ct_\\\\w{38,50}$\"),\n        },\n        serializedName: \"contract_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      logIdx: {\n        serializedName: \"log_idx\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      microTime: {\n        serializedName: \"micro_time\",\n        required: true,\n        type: {\n          name: \"UnixTime\",\n        },\n      },\n      recipient: {\n        constraints: {\n          Pattern: new RegExp(\"^ak_\\\\w{38,50}$\"),\n        },\n        serializedName: \"recipient\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      sender: {\n        constraints: {\n          Pattern: new RegExp(\"^ak_\\\\w{38,50}$\"),\n        },\n        serializedName: \"sender\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const InternalContractCallEvent: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"InternalContractCallEvent\",\n    modelProperties: {\n      contractTxHash: {\n        constraints: {\n          Pattern: new RegExp(\"^th_\\\\w{38,50}$\"),\n        },\n        serializedName: \"contract_tx_hash\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      contractId: {\n        constraints: {\n          Pattern: new RegExp(\"^ct_\\\\w{38,50}$\"),\n        },\n        serializedName: \"contract_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      callTxHash: {\n        constraints: {\n          Pattern: new RegExp(\"^th_\\\\w{38,50}$\"),\n        },\n        serializedName: \"call_tx_hash\",\n        type: {\n          name: \"String\",\n        },\n      },\n      function: {\n        serializedName: \"function\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      internalTx: {\n        serializedName: \"internal_tx\",\n        required: true,\n        type: {\n          name: \"Dictionary\",\n          value: { type: { name: \"any\" } },\n        },\n      },\n      height: {\n        serializedName: \"height\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      microIndex: {\n        serializedName: \"micro_index\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      blockHash: {\n        constraints: {\n          Pattern: new RegExp(\"^mh_\\\\w{38,50}$\"),\n        },\n        serializedName: \"block_hash\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const InternalTransferEvent: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"InternalTransferEvent\",\n    modelProperties: {\n      amount: {\n        serializedName: \"amount\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      kind: {\n        serializedName: \"kind\",\n        required: true,\n        type: {\n          name: \"Enum\",\n          allowedValues: [\n            \"accounts_extra_lima\",\n            \"accounts_fortuna\",\n            \"accounts_genesis\",\n            \"accounts_lima\",\n            \"accounts_minerva\",\n            \"contracts_lima\",\n            \"reward_dev\",\n            \"reward_block\",\n            \"fee_refund_oracle\",\n            \"fee_lock_name\",\n            \"fee_refund_name\",\n            \"fee_spend_name\",\n            \"reward_oracle\",\n          ],\n        },\n      },\n      refTxHash: {\n        constraints: {\n          Pattern: new RegExp(\"^th_\\\\w{38,50}$\"),\n        },\n        serializedName: \"ref_tx_hash\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const NameClaimEvent: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"NameClaimEvent\",\n    modelProperties: {\n      txHash: {\n        constraints: {\n          Pattern: new RegExp(\"^th_\\\\w{38,50}$\"),\n        },\n        serializedName: \"tx_hash\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      tx: {\n        serializedName: \"tx\",\n        required: true,\n        type: {\n          name: \"Dictionary\",\n          value: { type: { name: \"any\" } },\n        },\n      },\n    },\n  },\n};\n\nexport const SpendTx: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"SpendTx\",\n    modelProperties: {\n      recipientId: {\n        serializedName: \"recipient_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      amount: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"amount\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      fee: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"fee\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      ttl: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"ttl\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      senderId: {\n        serializedName: \"sender_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      nonce: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"nonce\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      payload: {\n        serializedName: \"payload\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const ChannelCreateTx: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"ChannelCreateTx\",\n    modelProperties: {\n      initiatorId: {\n        serializedName: \"initiator_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      initiatorAmount: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"initiator_amount\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      responderId: {\n        serializedName: \"responder_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      responderAmount: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"responder_amount\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      channelReserve: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"channel_reserve\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      lockPeriod: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"lock_period\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      ttl: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"ttl\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      fee: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"fee\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      nonce: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"nonce\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      stateHash: {\n        serializedName: \"state_hash\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      delegateIds: {\n        serializedName: \"delegate_ids\",\n        type: {\n          name: \"Composite\",\n          className: \"Delegates\",\n        },\n      },\n    },\n  },\n};\n\nexport const ChannelDepositTx: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"ChannelDepositTx\",\n    modelProperties: {\n      channelId: {\n        serializedName: \"channel_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      fromId: {\n        serializedName: \"from_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      amount: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"amount\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      ttl: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"ttl\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      fee: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"fee\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      nonce: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"nonce\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      stateHash: {\n        serializedName: \"state_hash\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      round: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"round\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n    },\n  },\n};\n\nexport const ChannelWithdrawTx: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"ChannelWithdrawTx\",\n    modelProperties: {\n      channelId: {\n        serializedName: \"channel_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      toId: {\n        serializedName: \"to_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      amount: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"amount\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      ttl: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"ttl\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      fee: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"fee\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      nonce: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"nonce\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      stateHash: {\n        serializedName: \"state_hash\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      round: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"round\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n    },\n  },\n};\n\nexport const ChannelForceProgressTx: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"ChannelForceProgressTx\",\n    modelProperties: {\n      channelId: {\n        serializedName: \"channel_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      fromId: {\n        serializedName: \"from_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      payload: {\n        serializedName: \"payload\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      round: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"round\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      update: {\n        serializedName: \"update\",\n        type: {\n          name: \"Composite\",\n          className: \"OffChainUpdate\",\n        },\n      },\n      stateHash: {\n        serializedName: \"state_hash\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      ttl: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"ttl\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      fee: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"fee\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      nonce: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"nonce\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      offchainTrees: {\n        serializedName: \"offchain_trees\",\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const ChannelCloseMutualTx: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"ChannelCloseMutualTx\",\n    modelProperties: {\n      channelId: {\n        serializedName: \"channel_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      fromId: {\n        serializedName: \"from_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      initiatorAmountFinal: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"initiator_amount_final\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      responderAmountFinal: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"responder_amount_final\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      ttl: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"ttl\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      fee: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"fee\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      nonce: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"nonce\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n    },\n  },\n};\n\nexport const ChannelCloseSoloTx: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"ChannelCloseSoloTx\",\n    modelProperties: {\n      channelId: {\n        serializedName: \"channel_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      fromId: {\n        serializedName: \"from_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      payload: {\n        serializedName: \"payload\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      ttl: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"ttl\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      fee: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"fee\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      nonce: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"nonce\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      poi: {\n        serializedName: \"poi\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const ChannelSlashTx: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"ChannelSlashTx\",\n    modelProperties: {\n      channelId: {\n        serializedName: \"channel_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      fromId: {\n        serializedName: \"from_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      payload: {\n        serializedName: \"payload\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      ttl: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"ttl\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      fee: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"fee\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      nonce: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"nonce\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      poi: {\n        serializedName: \"poi\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const ChannelSettleTx: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"ChannelSettleTx\",\n    modelProperties: {\n      channelId: {\n        serializedName: \"channel_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      fromId: {\n        serializedName: \"from_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      initiatorAmountFinal: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"initiator_amount_final\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      responderAmountFinal: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"responder_amount_final\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      ttl: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"ttl\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      fee: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"fee\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      nonce: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"nonce\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n    },\n  },\n};\n\nexport const ChannelSnapshotSoloTx: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"ChannelSnapshotSoloTx\",\n    modelProperties: {\n      channelId: {\n        serializedName: \"channel_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      fromId: {\n        serializedName: \"from_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      payload: {\n        serializedName: \"payload\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      ttl: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"ttl\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      fee: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"fee\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      nonce: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"nonce\",\n        type: {\n          name: \"Number\",\n        },\n      },\n    },\n  },\n};\n\nexport const ChannelSetDelegatesTx: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"ChannelSetDelegatesTx\",\n    modelProperties: {\n      channelId: {\n        serializedName: \"channel_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      fromId: {\n        serializedName: \"from_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      initiatorDelegateIds: {\n        serializedName: \"initiator_delegate_ids\",\n        required: true,\n        type: {\n          name: \"Sequence\",\n          element: {\n            type: {\n              name: \"String\",\n            },\n          },\n        },\n      },\n      responderDelegateIds: {\n        serializedName: \"responder_delegate_ids\",\n        required: true,\n        type: {\n          name: \"Sequence\",\n          element: {\n            type: {\n              name: \"String\",\n            },\n          },\n        },\n      },\n      stateHash: {\n        serializedName: \"state_hash\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      round: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"round\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      payload: {\n        serializedName: \"payload\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      ttl: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"ttl\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      fee: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"fee\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      nonce: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"nonce\",\n        type: {\n          name: \"Number\",\n        },\n      },\n    },\n  },\n};\n\nexport const OracleQueryTx: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"OracleQueryTx\",\n    modelProperties: {\n      oracleId: {\n        serializedName: \"oracle_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      query: {\n        serializedName: \"query\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      queryFee: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"query_fee\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      queryTtl: {\n        serializedName: \"query_ttl\",\n        type: {\n          name: \"Composite\",\n          className: \"Ttl\",\n        },\n      },\n      responseTtl: {\n        serializedName: \"response_ttl\",\n        type: {\n          name: \"Composite\",\n          className: \"RelativeTTL\",\n        },\n      },\n      fee: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"fee\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      ttl: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"ttl\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      senderId: {\n        serializedName: \"sender_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      nonce: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"nonce\",\n        type: {\n          name: \"Number\",\n        },\n      },\n    },\n  },\n};\n\nexport const OracleRespondTx: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"OracleRespondTx\",\n    modelProperties: {\n      queryId: {\n        serializedName: \"query_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      response: {\n        serializedName: \"response\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      responseTtl: {\n        serializedName: \"response_ttl\",\n        type: {\n          name: \"Composite\",\n          className: \"RelativeTTL\",\n        },\n      },\n      fee: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"fee\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      ttl: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"ttl\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      oracleId: {\n        serializedName: \"oracle_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      nonce: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"nonce\",\n        type: {\n          name: \"Number\",\n        },\n      },\n    },\n  },\n};\n\nexport const NamePreclaimTx: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"NamePreclaimTx\",\n    modelProperties: {\n      commitmentId: {\n        serializedName: \"commitment_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      fee: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"fee\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      ttl: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"ttl\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      accountId: {\n        serializedName: \"account_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      nonce: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"nonce\",\n        type: {\n          name: \"Number\",\n        },\n      },\n    },\n  },\n};\n\nexport const ContractCallTx: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"ContractCallTx\",\n    modelProperties: {\n      callerId: {\n        serializedName: \"caller_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      nonce: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"nonce\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      contractId: {\n        serializedName: \"contract_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      abiVersion: {\n        constraints: {\n          InclusiveMaximum: 65535,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"abi_version\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      fee: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"fee\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      ttl: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"ttl\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      amount: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"amount\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      gas: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"gas\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      gasPrice: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"gas_price\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      callData: {\n        serializedName: \"call_data\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const GAAttachTx: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"GAAttachTx\",\n    modelProperties: {\n      ownerId: {\n        serializedName: \"owner_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      nonce: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"nonce\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      code: {\n        serializedName: \"code\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      vmVersion: {\n        constraints: {\n          InclusiveMaximum: 65535,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"vm_version\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      abiVersion: {\n        constraints: {\n          InclusiveMaximum: 65535,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"abi_version\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      gas: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"gas\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      gasPrice: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"gas_price\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      fee: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"fee\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      ttl: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"ttl\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      callData: {\n        serializedName: \"call_data\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      authFun: {\n        constraints: {\n          Pattern: new RegExp(\"^(0x|0X)?[a-fA-F0-9]+$\"),\n        },\n        serializedName: \"auth_fun\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const GAMetaTx: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"GAMetaTx\",\n    modelProperties: {\n      gaId: {\n        serializedName: \"ga_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      abiVersion: {\n        constraints: {\n          InclusiveMaximum: 65535,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"abi_version\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      gas: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"gas\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      gasPrice: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"gas_price\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      fee: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"fee\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      ttl: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"ttl\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      authData: {\n        serializedName: \"auth_data\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      tx: {\n        serializedName: \"tx\",\n        type: {\n          name: \"Composite\",\n          className: \"SignedTx\",\n        },\n      },\n    },\n  },\n};\n\nexport const PayingForTx: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"PayingForTx\",\n    modelProperties: {\n      payerId: {\n        serializedName: \"payer_id\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      fee: {\n        constraints: {\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"fee\",\n        required: true,\n        type: {\n          // @ts-expect-error we are extending autorest with BigInt support\n          name: \"BigInt\",\n        },\n      },\n      nonce: {\n        constraints: {\n          InclusiveMaximum: 18446744073709552000,\n          InclusiveMinimum: 0,\n        },\n        serializedName: \"nonce\",\n        type: {\n          name: \"Number\",\n        },\n      },\n      tx: {\n        serializedName: \"tx\",\n        type: {\n          name: \"Composite\",\n          className: \"SignedTx\",\n        },\n      },\n    },\n  },\n};\n\nexport const Paths1EfdbjrV3AccountsAccountidActivitiesGetResponses200ContentApplicationJsonSchema: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"Paths1EfdbjrV3AccountsAccountidActivitiesGetResponses200ContentApplicationJsonSchema\",\n      modelProperties: {\n        ...PathsBx0Ya3V3AccountsAccountidActivitiesGetResponses200ContentApplicationJsonSchemaAllof0\n          .type.modelProperties,\n        ...PaginatedResponse.type.modelProperties,\n      },\n    },\n  };\n\nexport const Paths3Hsv3GV3AccountsAccountidAex141TokensGetResponses200ContentApplicationJsonSchema: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"Paths3Hsv3GV3AccountsAccountidAex141TokensGetResponses200ContentApplicationJsonSchema\",\n      modelProperties: {\n        ...Paths1Q9E32FV3AccountsAccountidAex141TokensGetResponses200ContentApplicationJsonSchemaAllof0\n          .type.modelProperties,\n        ...PaginatedResponse.type.modelProperties,\n      },\n    },\n  };\n\nexport const PathsKm52GqV3AccountsAccountidAex9BalancesGetResponses200ContentApplicationJsonSchema: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"PathsKm52GqV3AccountsAccountidAex9BalancesGetResponses200ContentApplicationJsonSchema\",\n      modelProperties: {\n        ...PaginatedResponse.type.modelProperties,\n        ...PathsZ92TkfV3AccountsAccountidAex9BalancesGetResponses200ContentApplicationJsonSchemaAllof1\n          .type.modelProperties,\n      },\n    },\n  };\n\nexport const PathsZpy8S9V3AccountsAccountidDexSwapsGetResponses200ContentApplicationJsonSchema: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"PathsZpy8S9V3AccountsAccountidDexSwapsGetResponses200ContentApplicationJsonSchema\",\n      modelProperties: {\n        ...Paths10R8Q7PV3AccountsAccountidDexSwapsGetResponses200ContentApplicationJsonSchemaAllof0\n          .type.modelProperties,\n        ...PaginatedResponse.type.modelProperties,\n      },\n    },\n  };\n\nexport const Paths16Cyh9EV3AccountsAccountidNamesClaimsGetResponses200ContentApplicationJsonSchema: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"Paths16Cyh9EV3AccountsAccountidNamesClaimsGetResponses200ContentApplicationJsonSchema\",\n      modelProperties: {\n        ...Paths16G4GzrV3AccountsAccountidNamesClaimsGetResponses200ContentApplicationJsonSchemaAllof0\n          .type.modelProperties,\n        ...PaginatedResponse.type.modelProperties,\n      },\n    },\n  };\n\nexport const Paths1Mheci5V3AccountsAccountidNamesPointeesGetResponses200ContentApplicationJsonSchema: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"Paths1Mheci5V3AccountsAccountidNamesPointeesGetResponses200ContentApplicationJsonSchema\",\n      modelProperties: {\n        ...PathsA60QxwV3AccountsAccountidNamesPointeesGetResponses200ContentApplicationJsonSchemaAllof0\n          .type.modelProperties,\n        ...PaginatedResponse.type.modelProperties,\n      },\n    },\n  };\n\nexport const Paths1XwlyjtV3Aex141GetResponses200ContentApplicationJsonSchema: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"Paths1XwlyjtV3Aex141GetResponses200ContentApplicationJsonSchema\",\n      modelProperties: {\n        ...Paths8I0YgwV3Aex141GetResponses200ContentApplicationJsonSchemaAllof0\n          .type.modelProperties,\n        ...PaginatedResponse.type.modelProperties,\n      },\n    },\n  };\n\nexport const Paths181AjwxV3Aex141ContractidTemplatesGetResponses200ContentApplicationJsonSchema: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"Paths181AjwxV3Aex141ContractidTemplatesGetResponses200ContentApplicationJsonSchema\",\n      modelProperties: {\n        ...PathsWkpcwaV3Aex141ContractidTemplatesGetResponses200ContentApplicationJsonSchemaAllof0\n          .type.modelProperties,\n        ...PaginatedResponse.type.modelProperties,\n      },\n    },\n  };\n\nexport const Paths15Mi2TaV3Aex141ContractidTemplatesTemplateidTokensGetResponses200ContentApplicationJsonSchema: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"Paths15Mi2TaV3Aex141ContractidTemplatesTemplateidTokensGetResponses200ContentApplicationJsonSchema\",\n      modelProperties: {\n        ...PathsRay4X0V3Aex141ContractidTemplatesTemplateidTokensGetResponses200ContentApplicationJsonSchemaAllof0\n          .type.modelProperties,\n        ...PaginatedResponse.type.modelProperties,\n      },\n    },\n  };\n\nexport const PathsWl652MV3Aex141ContractidTokensGetResponses200ContentApplicationJsonSchema: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"PathsWl652MV3Aex141ContractidTokensGetResponses200ContentApplicationJsonSchema\",\n      modelProperties: {\n        ...Paths1TkisghV3Aex141ContractidTokensGetResponses200ContentApplicationJsonSchemaAllof0\n          .type.modelProperties,\n        ...PaginatedResponse.type.modelProperties,\n      },\n    },\n  };\n\nexport const Paths1O7Q6IhV3Aex141ContractidTransfersGetResponses200ContentApplicationJsonSchema: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"Paths1O7Q6IhV3Aex141ContractidTransfersGetResponses200ContentApplicationJsonSchema\",\n      modelProperties: {\n        ...Paths1A8Ah39V3Aex141ContractidTransfersGetResponses200ContentApplicationJsonSchemaAllof0\n          .type.modelProperties,\n        ...PaginatedResponse.type.modelProperties,\n      },\n    },\n  };\n\nexport const Paths1Vr3Y2EV3Aex9GetResponses200ContentApplicationJsonSchema: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"Paths1Vr3Y2EV3Aex9GetResponses200ContentApplicationJsonSchema\",\n      modelProperties: {\n        ...Paths1Uqqby0V3Aex9GetResponses200ContentApplicationJsonSchemaAllof0\n          .type.modelProperties,\n        ...PaginatedResponse.type.modelProperties,\n      },\n    },\n  };\n\nexport const Paths1N61UurV3Aex9ContractidBalancesGetResponses200ContentApplicationJsonSchema: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"Paths1N61UurV3Aex9ContractidBalancesGetResponses200ContentApplicationJsonSchema\",\n      modelProperties: {\n        ...PathsEeiffwV3Aex9ContractidBalancesGetResponses200ContentApplicationJsonSchemaAllof0\n          .type.modelProperties,\n        ...PaginatedResponse.type.modelProperties,\n      },\n    },\n  };\n\nexport const Paths1Uybd4PV3Aex9ContractidBalancesAccountidHistoryGetResponses200ContentApplicationJsonSchema: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"Paths1Uybd4PV3Aex9ContractidBalancesAccountidHistoryGetResponses200ContentApplicationJsonSchema\",\n      modelProperties: {\n        ...PaginatedResponse.type.modelProperties,\n        ...Paths108B3VtV3Aex9ContractidBalancesAccountidHistoryGetResponses200ContentApplicationJsonSchemaAllof1\n          .type.modelProperties,\n      },\n    },\n  };\n\nexport const Paths3EzhapV3ChannelsGetResponses200ContentApplicationJsonSchema: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"Paths3EzhapV3ChannelsGetResponses200ContentApplicationJsonSchema\",\n      modelProperties: {\n        ...PathsQmewnaV3ChannelsGetResponses200ContentApplicationJsonSchemaAllof0\n          .type.modelProperties,\n        ...PaginatedResponse.type.modelProperties,\n      },\n    },\n  };\n\nexport const Paths1Txblx8V3ContractsCallsGetResponses200ContentApplicationJsonSchema: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"Paths1Txblx8V3ContractsCallsGetResponses200ContentApplicationJsonSchema\",\n      modelProperties: {\n        ...Paths18L84JcV3ContractsCallsGetResponses200ContentApplicationJsonSchemaAllof0\n          .type.modelProperties,\n        ...PaginatedResponse.type.modelProperties,\n      },\n    },\n  };\n\nexport const Paths7A1M6RV3ContractsLogsGetResponses200ContentApplicationJsonSchema: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"Paths7A1M6RV3ContractsLogsGetResponses200ContentApplicationJsonSchema\",\n      modelProperties: {\n        ...Paths10Kk1UxV3ContractsLogsGetResponses200ContentApplicationJsonSchemaAllof0\n          .type.modelProperties,\n        ...PaginatedResponse.type.modelProperties,\n      },\n    },\n  };\n\nexport const Paths1Di8FnjV3DexSwapsGetResponses200ContentApplicationJsonSchema: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"Paths1Di8FnjV3DexSwapsGetResponses200ContentApplicationJsonSchema\",\n      modelProperties: {\n        ...Paths9Yfxl2V3DexSwapsGetResponses200ContentApplicationJsonSchemaAllof0\n          .type.modelProperties,\n        ...PaginatedResponse.type.modelProperties,\n      },\n    },\n  };\n\nexport const PathsKwxlzlV3DexContractIdSwapsGetResponses200ContentApplicationJsonSchema: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"PathsKwxlzlV3DexContractIdSwapsGetResponses200ContentApplicationJsonSchema\",\n      modelProperties: {\n        ...Paths6Vze8ZV3DexContractIdSwapsGetResponses200ContentApplicationJsonSchemaAllof0\n          .type.modelProperties,\n        ...PaginatedResponse.type.modelProperties,\n      },\n    },\n  };\n\nexport const Paths194Lg3IV3HyperchainEpochsGetResponses200ContentApplicationJsonSchema: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"Paths194Lg3IV3HyperchainEpochsGetResponses200ContentApplicationJsonSchema\",\n      modelProperties: {\n        ...Paths1F8GzwrV3HyperchainEpochsGetResponses200ContentApplicationJsonSchemaAllof0\n          .type.modelProperties,\n        ...PaginatedResponse.type.modelProperties,\n      },\n    },\n  };\n\nexport const Paths1S5Zlt1V3HyperchainScheduleGetResponses200ContentApplicationJsonSchema: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"Paths1S5Zlt1V3HyperchainScheduleGetResponses200ContentApplicationJsonSchema\",\n      modelProperties: {\n        ...Paths7W5O80V3HyperchainScheduleGetResponses200ContentApplicationJsonSchemaAllof0\n          .type.modelProperties,\n        ...PaginatedResponse.type.modelProperties,\n      },\n    },\n  };\n\nexport const Paths1Ibn686V3HyperchainValidatorsGetResponses200ContentApplicationJsonSchema: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"Paths1Ibn686V3HyperchainValidatorsGetResponses200ContentApplicationJsonSchema\",\n      modelProperties: {\n        ...Paths1Qg7SclV3HyperchainValidatorsGetResponses200ContentApplicationJsonSchemaAllof0\n          .type.modelProperties,\n        ...PaginatedResponse.type.modelProperties,\n      },\n    },\n  };\n\nexport const Paths1I4U8D5V3HyperchainValidatorsValidatorDelegatesGetResponses200ContentApplicationJsonSchema: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"Paths1I4U8D5V3HyperchainValidatorsValidatorDelegatesGetResponses200ContentApplicationJsonSchema\",\n      modelProperties: {\n        ...Paths7Ks32NV3HyperchainValidatorsValidatorDelegatesGetResponses200ContentApplicationJsonSchemaAllof0\n          .type.modelProperties,\n        ...PaginatedResponse.type.modelProperties,\n      },\n    },\n  };\n\nexport const Paths15K0AlgV3HyperchainValidatorsValidatorDelegatesTopGetResponses200ContentApplicationJsonSchema: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"Paths15K0AlgV3HyperchainValidatorsValidatorDelegatesTopGetResponses200ContentApplicationJsonSchema\",\n      modelProperties: {\n        ...PathsDwhnfdV3HyperchainValidatorsValidatorDelegatesTopGetResponses200ContentApplicationJsonSchemaAllof0\n          .type.modelProperties,\n        ...PaginatedResponse.type.modelProperties,\n      },\n    },\n  };\n\nexport const Paths277OngV3KeyBlocksGetResponses200ContentApplicationJsonSchema: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"Paths277OngV3KeyBlocksGetResponses200ContentApplicationJsonSchema\",\n      modelProperties: {\n        ...PathsEue6HzV3KeyBlocksGetResponses200ContentApplicationJsonSchemaAllof0\n          .type.modelProperties,\n        ...PaginatedResponse.type.modelProperties,\n      },\n    },\n  };\n\nexport const Paths1159W94V3KeyBlocksHashOrKbiMicroBlocksGetResponses200ContentApplicationJsonSchema: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"Paths1159W94V3KeyBlocksHashOrKbiMicroBlocksGetResponses200ContentApplicationJsonSchema\",\n      modelProperties: {\n        ...PathsNn60D7V3KeyBlocksHashOrKbiMicroBlocksGetResponses200ContentApplicationJsonSchemaAllof0\n          .type.modelProperties,\n        ...PaginatedResponse.type.modelProperties,\n      },\n    },\n  };\n\nexport const Paths15Bkk50V3MicroBlocksHashTransactionsGetResponses200ContentApplicationJsonSchema: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"Paths15Bkk50V3MicroBlocksHashTransactionsGetResponses200ContentApplicationJsonSchema\",\n      modelProperties: {\n        ...PathsXhlqwrV3MicroBlocksHashTransactionsGetResponses200ContentApplicationJsonSchemaAllof0\n          .type.modelProperties,\n        ...PaginatedResponse.type.modelProperties,\n      },\n    },\n  };\n\nexport const Paths12S1Nd4V3NamesGetResponses200ContentApplicationJsonSchema: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"Paths12S1Nd4V3NamesGetResponses200ContentApplicationJsonSchema\",\n      modelProperties: {\n        ...Paths181Cs9V3NamesGetResponses200ContentApplicationJsonSchemaAllof0\n          .type.modelProperties,\n        ...PaginatedResponse.type.modelProperties,\n      },\n    },\n  };\n\nexport const PathsKjq4D4V3NamesAuctionsGetResponses200ContentApplicationJsonSchema: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"PathsKjq4D4V3NamesAuctionsGetResponses200ContentApplicationJsonSchema\",\n      modelProperties: {\n        ...Paths1R08F8HV3NamesAuctionsGetResponses200ContentApplicationJsonSchemaAllof0\n          .type.modelProperties,\n        ...PaginatedResponse.type.modelProperties,\n      },\n    },\n  };\n\nexport const Paths1F98AqgV3NamesIdClaimsGetResponses200ContentApplicationJsonSchema: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"Paths1F98AqgV3NamesIdClaimsGetResponses200ContentApplicationJsonSchema\",\n      modelProperties: {\n        ...PathsMyl4W2V3NamesIdClaimsGetResponses200ContentApplicationJsonSchemaAllof0\n          .type.modelProperties,\n        ...PaginatedResponse.type.modelProperties,\n      },\n    },\n  };\n\nexport const Paths1Raw8PV3NamesIdTransfersGetResponses200ContentApplicationJsonSchema: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"Paths1Raw8PV3NamesIdTransfersGetResponses200ContentApplicationJsonSchema\",\n      modelProperties: {\n        ...Paths1Ukwk06V3NamesIdTransfersGetResponses200ContentApplicationJsonSchemaAllof0\n          .type.modelProperties,\n        ...PaginatedResponse.type.modelProperties,\n      },\n    },\n  };\n\nexport const Paths1Ec8CltV3NamesIdUpdatesGetResponses200ContentApplicationJsonSchema: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"Paths1Ec8CltV3NamesIdUpdatesGetResponses200ContentApplicationJsonSchema\",\n      modelProperties: {\n        ...PathsRcnvllV3NamesIdUpdatesGetResponses200ContentApplicationJsonSchemaAllof0\n          .type.modelProperties,\n        ...PaginatedResponse.type.modelProperties,\n      },\n    },\n  };\n\nexport const Paths1E14NekV3OraclesGetResponses200ContentApplicationJsonSchema: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"Paths1E14NekV3OraclesGetResponses200ContentApplicationJsonSchema\",\n      modelProperties: {\n        ...PathsGcr9MrV3OraclesGetResponses200ContentApplicationJsonSchemaAllof0\n          .type.modelProperties,\n        ...PaginatedResponse.type.modelProperties,\n      },\n    },\n  };\n\nexport const Paths1L5C64RV3OraclesIdExtendsGetResponses200ContentApplicationJsonSchema: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"Paths1L5C64RV3OraclesIdExtendsGetResponses200ContentApplicationJsonSchema\",\n      modelProperties: {\n        ...PathsZ4L2QlV3OraclesIdExtendsGetResponses200ContentApplicationJsonSchemaAllof0\n          .type.modelProperties,\n        ...PaginatedResponse.type.modelProperties,\n      },\n    },\n  };\n\nexport const Paths8722JhV3OraclesIdQueriesGetResponses200ContentApplicationJsonSchema: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"Paths8722JhV3OraclesIdQueriesGetResponses200ContentApplicationJsonSchema\",\n      modelProperties: {\n        ...Paths1Uni7AtV3OraclesIdQueriesGetResponses200ContentApplicationJsonSchemaAllof0\n          .type.modelProperties,\n        ...PaginatedResponse.type.modelProperties,\n      },\n    },\n  };\n\nexport const PathsVron83V3OraclesIdResponsesGetResponses200ContentApplicationJsonSchema: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"PathsVron83V3OraclesIdResponsesGetResponses200ContentApplicationJsonSchema\",\n      modelProperties: {\n        ...Paths1Tcj5A9V3OraclesIdResponsesGetResponses200ContentApplicationJsonSchemaAllof0\n          .type.modelProperties,\n        ...PaginatedResponse.type.modelProperties,\n      },\n    },\n  };\n\nexport const PathsCgzmimV3StatsActiveAccountsGetResponses200ContentApplicationJsonSchema: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"PathsCgzmimV3StatsActiveAccountsGetResponses200ContentApplicationJsonSchema\",\n      modelProperties: {\n        ...PathsFso5IiV3StatsActiveAccountsGetResponses200ContentApplicationJsonSchemaAllof0\n          .type.modelProperties,\n        ...PaginatedResponse.type.modelProperties,\n      },\n    },\n  };\n\nexport const Paths1UxyhelV3StatsAex9TransfersGetResponses200ContentApplicationJsonSchema: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"Paths1UxyhelV3StatsAex9TransfersGetResponses200ContentApplicationJsonSchema\",\n      modelProperties: {\n        ...Paths1Fl1Lh2V3StatsAex9TransfersGetResponses200ContentApplicationJsonSchemaAllof0\n          .type.modelProperties,\n        ...PaginatedResponse.type.modelProperties,\n      },\n    },\n  };\n\nexport const Paths1Sxjoy0V3StatsBlocksGetResponses200ContentApplicationJsonSchema: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"Paths1Sxjoy0V3StatsBlocksGetResponses200ContentApplicationJsonSchema\",\n      modelProperties: {\n        ...Paths1A27TirV3StatsBlocksGetResponses200ContentApplicationJsonSchemaAllof0\n          .type.modelProperties,\n        ...PaginatedResponse.type.modelProperties,\n      },\n    },\n  };\n\nexport const PathsWbrhqnV3StatsContractsGetResponses200ContentApplicationJsonSchema: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"PathsWbrhqnV3StatsContractsGetResponses200ContentApplicationJsonSchema\",\n      modelProperties: {\n        ...Paths72Dp44V3StatsContractsGetResponses200ContentApplicationJsonSchemaAllof0\n          .type.modelProperties,\n        ...PaginatedResponse.type.modelProperties,\n      },\n    },\n  };\n\nexport const Paths5Xf9ScV3StatsDeltaGetResponses200ContentApplicationJsonSchema: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"Paths5Xf9ScV3StatsDeltaGetResponses200ContentApplicationJsonSchema\",\n      modelProperties: {\n        ...Paths1J83O75V3StatsDeltaGetResponses200ContentApplicationJsonSchemaAllof0\n          .type.modelProperties,\n        ...PaginatedResponse.type.modelProperties,\n      },\n    },\n  };\n\nexport const Paths1D7Up0DV3StatsDifficultyGetResponses200ContentApplicationJsonSchema: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"Paths1D7Up0DV3StatsDifficultyGetResponses200ContentApplicationJsonSchema\",\n      modelProperties: {\n        ...Paths1Qw6KhfV3StatsDifficultyGetResponses200ContentApplicationJsonSchemaAllof0\n          .type.modelProperties,\n        ...PaginatedResponse.type.modelProperties,\n      },\n    },\n  };\n\nexport const PathsR51VshV3StatsHashrateGetResponses200ContentApplicationJsonSchema: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"PathsR51VshV3StatsHashrateGetResponses200ContentApplicationJsonSchema\",\n      modelProperties: {\n        ...Paths1IskjkV3StatsHashrateGetResponses200ContentApplicationJsonSchemaAllof0\n          .type.modelProperties,\n        ...PaginatedResponse.type.modelProperties,\n      },\n    },\n  };\n\nexport const PathsA8Q6T7V3StatsMinersGetResponses200ContentApplicationJsonSchema: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"PathsA8Q6T7V3StatsMinersGetResponses200ContentApplicationJsonSchema\",\n      modelProperties: {\n        ...Paths50Qhc7V3StatsMinersGetResponses200ContentApplicationJsonSchemaAllof0\n          .type.modelProperties,\n        ...PaginatedResponse.type.modelProperties,\n      },\n    },\n  };\n\nexport const PathsCeyhpaV3StatsNamesGetResponses200ContentApplicationJsonSchema: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"PathsCeyhpaV3StatsNamesGetResponses200ContentApplicationJsonSchema\",\n      modelProperties: {\n        ...PathsD92Xl6V3StatsNamesGetResponses200ContentApplicationJsonSchemaAllof0\n          .type.modelProperties,\n        ...PaginatedResponse.type.modelProperties,\n      },\n    },\n  };\n\nexport const PathsJoz7P5V3StatsTotalGetResponses200ContentApplicationJsonSchema: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"PathsJoz7P5V3StatsTotalGetResponses200ContentApplicationJsonSchema\",\n      modelProperties: {\n        ...Paths1K55ZdgV3StatsTotalGetResponses200ContentApplicationJsonSchemaAllof0\n          .type.modelProperties,\n        ...PaginatedResponse.type.modelProperties,\n      },\n    },\n  };\n\nexport const Paths15F3FfuV3StatsTotalAccountsGetResponses200ContentApplicationJsonSchema: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"Paths15F3FfuV3StatsTotalAccountsGetResponses200ContentApplicationJsonSchema\",\n      modelProperties: {\n        ...Paths3Bfys0V3StatsTotalAccountsGetResponses200ContentApplicationJsonSchemaAllof0\n          .type.modelProperties,\n        ...PaginatedResponse.type.modelProperties,\n      },\n    },\n  };\n\nexport const Paths1IfhshmV3StatsTransactionsGetResponses200ContentApplicationJsonSchema: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"Paths1IfhshmV3StatsTransactionsGetResponses200ContentApplicationJsonSchema\",\n      modelProperties: {\n        ...Paths6PaqluV3StatsTransactionsGetResponses200ContentApplicationJsonSchemaAllof0\n          .type.modelProperties,\n        ...PaginatedResponse.type.modelProperties,\n      },\n    },\n  };\n\nexport const Paths1Pymq07V3TransactionsGetResponses200ContentApplicationJsonSchema: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"Paths1Pymq07V3TransactionsGetResponses200ContentApplicationJsonSchema\",\n      modelProperties: {\n        ...PathsHa9C78V3TransactionsGetResponses200ContentApplicationJsonSchemaAllof0\n          .type.modelProperties,\n        ...PaginatedResponse.type.modelProperties,\n      },\n    },\n  };\n\nexport const PathsUq0T7JV3TransactionsPendingGetResponses200ContentApplicationJsonSchema: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"PathsUq0T7JV3TransactionsPendingGetResponses200ContentApplicationJsonSchema\",\n      modelProperties: {\n        ...PathsI72FylV3TransactionsPendingGetResponses200ContentApplicationJsonSchemaAllof0\n          .type.modelProperties,\n        ...PaginatedResponse.type.modelProperties,\n      },\n    },\n  };\n\nexport const PathsA7P0KiV3TransfersGetResponses200ContentApplicationJsonSchema: coreClient.CompositeMapper =\n  {\n    type: {\n      name: \"Composite\",\n      className:\n        \"PathsA7P0KiV3TransfersGetResponses200ContentApplicationJsonSchema\",\n      modelProperties: {\n        ...PathsVdg67V3TransfersGetResponses200ContentApplicationJsonSchemaAllof0\n          .type.modelProperties,\n        ...PaginatedResponse.type.modelProperties,\n      },\n    },\n  };\n\nexport const AuctionLastBidTx: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"AuctionLastBidTx\",\n    modelProperties: {\n      ...NameClaimTx.type.modelProperties,\n      ...Components17W16A5SchemasAuctionPropertiesLastBidPropertiesTxAllof1.type\n        .modelProperties,\n    },\n  },\n};\n\nexport const KeyBlockExtended: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"KeyBlockExtended\",\n    modelProperties: {\n      ...KeyBlock.type.modelProperties,\n      beneficiaryReward: {\n        serializedName: \"beneficiary_reward\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      flags: {\n        constraints: {\n          Pattern: new RegExp(\"^ba_\\\\w+$\"),\n        },\n        serializedName: \"flags\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n      microBlocksCount: {\n        serializedName: \"micro_blocks_count\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      transactionsCount: {\n        serializedName: \"transactions_count\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n    },\n  },\n};\n\nexport const MicroBlockExtended: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"MicroBlockExtended\",\n    modelProperties: {\n      ...MicroBlockHeader.type.modelProperties,\n      microBlockIndex: {\n        serializedName: \"micro_block_index\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      transactionsCount: {\n        serializedName: \"transactions_count\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      gas: {\n        serializedName: \"gas\",\n        required: true,\n        type: {\n          name: \"Number\",\n        },\n      },\n      flags: {\n        constraints: {\n          Pattern: new RegExp(\"^ba_\\\\w+$\"),\n        },\n        serializedName: \"flags\",\n        required: true,\n        type: {\n          name: \"String\",\n        },\n      },\n    },\n  },\n};\n\nexport const NameTxTx: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"NameTxTx\",\n    modelProperties: {\n      ...NameRevokeTx.type.modelProperties,\n      ...Components171VsjiSchemasNametxPropertiesTxAllof1.type.modelProperties,\n    },\n  },\n};\n\nexport const OracleTxTx: coreClient.CompositeMapper = {\n  type: {\n    name: \"Composite\",\n    className: \"OracleTxTx\",\n    modelProperties: {\n      ...OracleRegisterTx.type.modelProperties,\n      ...Components1Viuqa3SchemasOracletxPropertiesTxAllof1.type\n        .modelProperties,\n    },\n  },\n};\n\nexport let discriminators = {\n  \"OffChainUpdate.OffChainUpdate\": OffChainUpdate,\n};\n","import { createSerializer } from \"../../utils/autorest.js\";\nimport * as coreClient from \"@azure/core-client\";\nimport * as Parameters from \"./models/parameters.js\";\nimport * as Mappers from \"./models/mappers.js\";\nimport {\n  MiddlewareOptionalParams,\n  GetAccountActivitiesOptionalParams,\n  GetAccountActivitiesResponse,\n  GetAex141OwnedTokensOptionalParams,\n  GetAex141OwnedTokensResponse,\n  GetAex9AccountBalancesOptionalParams,\n  GetAex9AccountBalancesResponse,\n  GetAccountDexSwapsOptionalParams,\n  GetAccountDexSwapsResponse,\n  GetAccountNameClaimsOptionalParams,\n  GetAccountNameClaimsResponse,\n  GetAccountPointeesOptionalParams,\n  GetAccountPointeesResponse,\n  GetAccountTransactionsCountOptionalParams,\n  GetAccountTransactionsCountResponse,\n  GetSortedAex141ContractsOptionalParams,\n  GetSortedAex141ContractsResponse,\n  GetAex141ContractTemplatesOptionalParams,\n  GetAex141ContractTemplatesResponse,\n  GetAex141TemplateTokensOptionalParams,\n  GetAex141TemplateTokensResponse,\n  GetAex141ContractTokensOptionalParams,\n  GetAex141ContractTokensResponse,\n  GetAex141TokenOwnerOptionalParams,\n  GetAex141TokenOwnerResponse,\n  GetAex141ContractTransfersOptionalParams,\n  GetAex141ContractTransfersResponse,\n  GetAex141ByContractOptionalParams,\n  GetAex141ByContractResponse,\n  GetSortedAex9TokensOptionalParams,\n  GetSortedAex9TokensResponse,\n  GetAex9TokensCountOptionalParams,\n  GetAex9TokensCountResponse,\n  GetAex9ContractBalancesOptionalParams,\n  GetAex9ContractBalancesResponse,\n  GetAex9ContractAccountBalanceOptionalParams,\n  GetAex9ContractAccountBalanceResponse,\n  GetAex9ContractAccountBalanceHistoryOptionalParams,\n  GetAex9ContractAccountBalanceHistoryResponse,\n  GetAex9ByContractOptionalParams,\n  GetAex9ByContractResponse,\n  GetChannelsOptionalParams,\n  GetChannelsResponse,\n  GetChannelOptionalParams,\n  GetChannelResponse,\n  GetContractCallsOptionalParams,\n  GetContractCallsResponse,\n  GetContractLogsOptionalParams,\n  GetContractLogsResponse,\n  GetContractOptionalParams,\n  GetContractResponse,\n  GetDexSwapsOptionalParams,\n  GetDexSwapsResponse,\n  GetDexSwapsByContractIdOptionalParams,\n  GetDexSwapsByContractIdResponse,\n  GetEpochsOptionalParams,\n  GetEpochsResponse,\n  GetEpochTopOptionalParams,\n  GetEpochTopResponse,\n  GetSchedulesOptionalParams,\n  GetSchedulesResponse,\n  GetScheduleOptionalParams,\n  GetScheduleResponse,\n  GetValidatorsOptionalParams,\n  GetValidatorsResponse,\n  GetValidatorOptionalParams,\n  GetValidatorResponse,\n  GetValidatorDelegatesOptionalParams,\n  GetValidatorDelegatesResponse,\n  GetTopValidatorDelegatesOptionalParams,\n  GetTopValidatorDelegatesResponse,\n  GetKeyBlocksOptionalParams,\n  GetKeyBlocksResponse,\n  GetKeyBlockOptionalParams,\n  GetKeyBlockResponse,\n  GetKeyBlockMicroBlocksOptionalParams,\n  GetKeyBlockMicroBlocksResponse,\n  GetMicroBlockOptionalParams,\n  GetMicroBlockResponse,\n  GetMicroBlockTransactionsOptionalParams,\n  GetMicroBlockTransactionsResponse,\n  GetNamesOptionalParams,\n  GetNamesResponse,\n  GetNamesAuctionsOptionalParams,\n  GetNamesAuctionsResponse,\n  GetNameAuctionOptionalParams,\n  GetNameAuctionResponse,\n  GetNameAuctionClaimsOptionalParams,\n  GetNameAuctionClaimsResponse,\n  GetNamesCountOptionalParams,\n  GetNamesCountResponse,\n  GetNameOptionalParams,\n  GetNameResponse,\n  GetNameClaimsOptionalParams,\n  GetNameClaimsResponse,\n  GetNameTransfersOptionalParams,\n  GetNameTransfersResponse,\n  GetNameUpdatesOptionalParams,\n  GetNameUpdatesResponse,\n  GetOraclesOptionalParams,\n  GetOraclesResponse,\n  GetOracleOptionalParams,\n  GetOracleResponse,\n  GetOracleExtendsOptionalParams,\n  GetOracleExtendsResponse,\n  GetOracleQueriesOptionalParams,\n  GetOracleQueriesResponse,\n  GetOracleResponsesOptionalParams,\n  GetOracleResponsesResponse,\n  GetStatsOptionalParams,\n  GetStatsResponse,\n  GetActiveAccountsStatsOptionalParams,\n  GetActiveAccountsStatsResponse,\n  GetAex9TransfersStatsOptionalParams,\n  GetAex9TransfersStatsResponse,\n  GetBlocksStatsOptionalParams,\n  GetBlocksStatsResponse,\n  GetContractsStatsOptionalParams,\n  GetContractsStatsResponse,\n  GetDeltaStatsOptionalParams,\n  GetDeltaStatsResponse,\n  GetDifficultyStatsOptionalParams,\n  GetDifficultyStatsResponse,\n  GetHashrateStatsOptionalParams,\n  GetHashrateStatsResponse,\n  GetMinerStatsOptionalParams,\n  GetMinerStatsResponse,\n  GetNamesStatsOptionalParams,\n  GetNamesStatsResponse,\n  GetTotalStatsOptionalParams,\n  GetTotalStatsResponse,\n  GetTotalAccountsStatsOptionalParams,\n  GetTotalAccountsStatsResponse,\n  GetTransactionsStatsOptionalParams,\n  GetTransactionsStatsResponse,\n  GetStatusOptionalParams,\n  GetStatusResponse,\n  GetTransactionsOptionalParams,\n  GetTransactionsResponse,\n  GetTransactionsCountOptionalParams,\n  GetTransactionsCountResponse,\n  GetPendingTransactionsOptionalParams,\n  GetPendingTransactionsResponse,\n  GetPendingTransactionsCountOptionalParams,\n  GetPendingTransactionsCountResponse,\n  GetTransactionOptionalParams,\n  GetTransactionResponse,\n  GetTransfersOptionalParams,\n  GetTransfersResponse,\n} from \"./models/index.js\";\n\nexport class Middleware extends coreClient.ServiceClient {\n  readonly $host: string;\n\n  /**\n   * Initializes a new instance of the Middleware class.\n   * @param $host server parameter\n   * @param options The parameter options\n   */\n  constructor($host: string, options?: MiddlewareOptionalParams) {\n    if ($host === undefined) {\n      throw new Error(\"'$host' cannot be null\");\n    }\n\n    // Initializing default values for options\n    if (!options) {\n      options = {};\n    }\n    const defaults: MiddlewareOptionalParams = {\n      requestContentType: \"application/json; charset=utf-8\",\n    };\n\n    const packageDetails = `azsdk-js-middleware/1.0.0-beta.1`;\n    const userAgentPrefix =\n      options.userAgentOptions && options.userAgentOptions.userAgentPrefix\n        ? `${options.userAgentOptions.userAgentPrefix} ${packageDetails}`\n        : `${packageDetails}`;\n\n    const optionsWithDefaults = {\n      ...defaults,\n      ...options,\n      userAgentOptions: {\n        userAgentPrefix,\n      },\n      endpoint: options.endpoint ?? options.baseUri ?? \"{$host}\",\n    };\n    super(optionsWithDefaults);\n    // Parameter assignments\n    this.$host = $host;\n  }\n\n  /**\n   * Get an account activities.\n   * @param accountId The account address Account address\n   * @param options The options parameters.\n   */\n  getAccountActivities(\n    accountId: `ak_${string}`,\n    options?: GetAccountActivitiesOptionalParams,\n  ): Promise<GetAccountActivitiesResponse> {\n    return this.sendOperationRequest(\n      { accountId, options },\n      getAccountActivitiesOperationSpec,\n    );\n  }\n\n  /**\n   * Get tokens owned by an account.\n   * @param accountId The account id Account address\n   * @param options The options parameters.\n   */\n  getAex141OwnedTokens(\n    accountId: `ak_${string}`,\n    options?: GetAex141OwnedTokensOptionalParams,\n  ): Promise<GetAex141OwnedTokensResponse> {\n    return this.sendOperationRequest(\n      { accountId, options },\n      getAex141OwnedTokensOperationSpec,\n    );\n  }\n\n  /**\n   * Get all AEX9 balances for an account on the last block.\n   * @param accountId Account id Account address\n   * @param options The options parameters.\n   */\n  getAex9AccountBalances(\n    accountId: `ak_${string}`,\n    options?: GetAex9AccountBalancesOptionalParams,\n  ): Promise<GetAex9AccountBalancesResponse> {\n    return this.sendOperationRequest(\n      { accountId, options },\n      getAex9AccountBalancesOperationSpec,\n    );\n  }\n\n  /**\n   * Get DEX swap tokens\n   * @param accountId The account id Account address\n   * @param options The options parameters.\n   */\n  getAccountDexSwaps(\n    accountId: `ak_${string}`,\n    options?: GetAccountDexSwapsOptionalParams,\n  ): Promise<GetAccountDexSwapsResponse> {\n    return this.sendOperationRequest(\n      { accountId, options },\n      getAccountDexSwapsOperationSpec,\n    );\n  }\n\n  /**\n   * Get all name claims of an account\n   * @param accountId The account that made the claims Account address\n   * @param options The options parameters.\n   */\n  getAccountNameClaims(\n    accountId: `ak_${string}`,\n    options?: GetAccountNameClaimsOptionalParams,\n  ): Promise<GetAccountNameClaimsResponse> {\n    return this.sendOperationRequest(\n      { accountId, options },\n      getAccountNameClaimsOperationSpec,\n    );\n  }\n\n  /**\n   * Get account pointees\n   * @param accountId The account that names point to Account address\n   * @param options The options parameters.\n   */\n  getAccountPointees(\n    accountId: `ak_${string}`,\n    options?: GetAccountPointeesOptionalParams,\n  ): Promise<GetAccountPointeesResponse> {\n    return this.sendOperationRequest(\n      { accountId, options },\n      getAccountPointeesOperationSpec,\n    );\n  }\n\n  /**\n   * Get transactions count and its type for given aeternity ID.\n   * @param accountId The ID of the address/name/oracle/etc Account address\n   * @param options The options parameters.\n   */\n  getAccountTransactionsCount(\n    accountId: `ak_${string}`,\n    options?: GetAccountTransactionsCountOptionalParams,\n  ): Promise<GetAccountTransactionsCountResponse> {\n    return this.sendOperationRequest(\n      { accountId, options },\n      getAccountTransactionsCountOperationSpec,\n    );\n  }\n\n  /**\n   * Get AEX141 contracts sorted by creation time, name or symbol.\n   * @param options The options parameters.\n   */\n  getSortedAex141Contracts(\n    options?: GetSortedAex141ContractsOptionalParams,\n  ): Promise<GetSortedAex141ContractsResponse> {\n    return this.sendOperationRequest(\n      { options },\n      getSortedAex141ContractsOperationSpec,\n    );\n  }\n\n  /**\n   * Get templates AEX-141 contract tokens.\n   * @param contractId The contract id Contract address\n   * @param options The options parameters.\n   */\n  getAex141ContractTemplates(\n    contractId: `ct_${string}`,\n    options?: GetAex141ContractTemplatesOptionalParams,\n  ): Promise<GetAex141ContractTemplatesResponse> {\n    return this.sendOperationRequest(\n      { contractId, options },\n      getAex141ContractTemplatesOperationSpec,\n    );\n  }\n\n  /**\n   * Get AEX-141 template tokens.\n   * @param contractId Contract id Contract address\n   * @param templateId Template id\n   * @param options The options parameters.\n   */\n  getAex141TemplateTokens(\n    contractId: `ct_${string}`,\n    templateId: number,\n    options?: GetAex141TemplateTokensOptionalParams,\n  ): Promise<GetAex141TemplateTokensResponse> {\n    return this.sendOperationRequest(\n      { contractId, templateId, options },\n      getAex141TemplateTokensOperationSpec,\n    );\n  }\n\n  /**\n   * Get owners of tokens of a AEX-141 contract.\n   * @param contractId The contract id Contract address\n   * @param options The options parameters.\n   */\n  getAex141ContractTokens(\n    contractId: `ct_${string}`,\n    options?: GetAex141ContractTokensOptionalParams,\n  ): Promise<GetAex141ContractTokensResponse> {\n    return this.sendOperationRequest(\n      { contractId, options },\n      getAex141ContractTokensOperationSpec,\n    );\n  }\n\n  /**\n   * Get owner of a NFT (AEX-141 token).\n   * @param contractId The contract id Contract address\n   * @param tokenId The nft token id\n   * @param options The options parameters.\n   */\n  getAex141TokenOwner(\n    contractId: `ct_${string}`,\n    tokenId: number,\n    options?: GetAex141TokenOwnerOptionalParams,\n  ): Promise<GetAex141TokenOwnerResponse> {\n    return this.sendOperationRequest(\n      { contractId, tokenId, options },\n      getAex141TokenOwnerOperationSpec,\n    );\n  }\n\n  /**\n   * Get AEX-141 transfers on a contract.\n   * @param contractId Contract id Contract address\n   * @param options The options parameters.\n   */\n  getAex141ContractTransfers(\n    contractId: `ct_${string}`,\n    options?: GetAex141ContractTransfersOptionalParams,\n  ): Promise<GetAex141ContractTransfersResponse> {\n    return this.sendOperationRequest(\n      { contractId, options },\n      getAex141ContractTransfersOperationSpec,\n    );\n  }\n\n  /**\n   * Get AEX141 contract meta-info, extensions, limits and stats.\n   * @param id The contract id Contract address\n   * @param options The options parameters.\n   */\n  getAex141ByContract(\n    id: `ct_${string}`,\n    options?: GetAex141ByContractOptionalParams,\n  ): Promise<GetAex141ByContractResponse> {\n    return this.sendOperationRequest(\n      { id, options },\n      getAex141ByContractOperationSpec,\n    );\n  }\n\n  /**\n   * Get AEX9 tokens sorted by creation time, name or symbol.\n   * @param options The options parameters.\n   */\n  getSortedAex9Tokens(\n    options?: GetSortedAex9TokensOptionalParams,\n  ): Promise<GetSortedAex9TokensResponse> {\n    return this.sendOperationRequest(\n      { options },\n      getSortedAex9TokensOperationSpec,\n    );\n  }\n\n  /**\n   * Get AEX9 tokens count.\n   * @param options The options parameters.\n   */\n  getAex9TokensCount(\n    options?: GetAex9TokensCountOptionalParams,\n  ): Promise<GetAex9TokensCountResponse> {\n    return this.sendOperationRequest(\n      { options },\n      getAex9TokensCountOperationSpec,\n    );\n  }\n\n  /**\n   * Get AEX9 balances on a contract.\n   * @param contractId Contract id Contract address\n   * @param options The options parameters.\n   */\n  getAex9ContractBalances(\n    contractId: `ct_${string}`,\n    options?: GetAex9ContractBalancesOptionalParams,\n  ): Promise<GetAex9ContractBalancesResponse> {\n    return this.sendOperationRequest(\n      { contractId, options },\n      getAex9ContractBalancesOperationSpec,\n    );\n  }\n\n  /**\n   * Get AEX9 balance for an account on a contract.\n   * @param contractId Contract id Contract address\n   * @param accountId Account id Account address\n   * @param options The options parameters.\n   */\n  getAex9ContractAccountBalance(\n    contractId: `ct_${string}`,\n    accountId: `ak_${string}`,\n    options?: GetAex9ContractAccountBalanceOptionalParams,\n  ): Promise<GetAex9ContractAccountBalanceResponse> {\n    return this.sendOperationRequest(\n      { contractId, accountId, options },\n      getAex9ContractAccountBalanceOperationSpec,\n    );\n  }\n\n  /**\n   * Get AEX9 account balance on a contract throughout all heights when changed.\n   * @param contractId Contract id Contract address\n   * @param accountId Account id Account address\n   * @param options The options parameters.\n   */\n  getAex9ContractAccountBalanceHistory(\n    contractId: `ct_${string}`,\n    accountId: `ak_${string}`,\n    options?: GetAex9ContractAccountBalanceHistoryOptionalParams,\n  ): Promise<GetAex9ContractAccountBalanceHistoryResponse> {\n    return this.sendOperationRequest(\n      { contractId, accountId, options },\n      getAex9ContractAccountBalanceHistoryOperationSpec,\n    );\n  }\n\n  /**\n   * Get AEX9 creation and meta_info information by contract id.\n   * @param id The contract id Contract address\n   * @param options The options parameters.\n   */\n  getAex9ByContract(\n    id: `ct_${string}`,\n    options?: GetAex9ByContractOptionalParams,\n  ): Promise<GetAex9ByContractResponse> {\n    return this.sendOperationRequest(\n      { id, options },\n      getAex9ByContractOperationSpec,\n    );\n  }\n\n  /**\n   * Get multiple channels.\n   * @param options The options parameters.\n   */\n  getChannels(\n    options?: GetChannelsOptionalParams,\n  ): Promise<GetChannelsResponse> {\n    return this.sendOperationRequest({ options }, getChannelsOperationSpec);\n  }\n\n  /**\n   * Get a single channel.\n   * @param id The channel Channel ID\n   * @param options The options parameters.\n   */\n  getChannel(\n    id: `ch_${string}`,\n    options?: GetChannelOptionalParams,\n  ): Promise<GetChannelResponse> {\n    return this.sendOperationRequest({ id, options }, getChannelOperationSpec);\n  }\n\n  /**\n   * Get contract calls.\n   * @param options The options parameters.\n   */\n  getContractCalls(\n    options?: GetContractCallsOptionalParams,\n  ): Promise<GetContractCallsResponse> {\n    return this.sendOperationRequest(\n      { options },\n      getContractCallsOperationSpec,\n    );\n  }\n\n  /**\n   * Get contract logs.\n   * @param options The options parameters.\n   */\n  getContractLogs(\n    options?: GetContractLogsOptionalParams,\n  ): Promise<GetContractLogsResponse> {\n    return this.sendOperationRequest({ options }, getContractLogsOperationSpec);\n  }\n\n  /**\n   * Gets contract creation info.\n   * @param id Contract that emitted the logs Contract address\n   * @param options The options parameters.\n   */\n  getContract(\n    id: `ct_${string}`,\n    options?: GetContractOptionalParams,\n  ): Promise<GetContractResponse> {\n    return this.sendOperationRequest({ id, options }, getContractOperationSpec);\n  }\n\n  /**\n   * Get DEX swap tokens\n   * @param options The options parameters.\n   */\n  getDexSwaps(\n    options?: GetDexSwapsOptionalParams,\n  ): Promise<GetDexSwapsResponse> {\n    return this.sendOperationRequest({ options }, getDexSwapsOperationSpec);\n  }\n\n  /**\n   * Get DEX swap tokens\n   * @param contractId The contract id Contract address\n   * @param options The options parameters.\n   */\n  getDexSwapsByContractId(\n    contractId: `ct_${string}`,\n    options?: GetDexSwapsByContractIdOptionalParams,\n  ): Promise<GetDexSwapsByContractIdResponse> {\n    return this.sendOperationRequest(\n      { contractId, options },\n      getDexSwapsByContractIdOperationSpec,\n    );\n  }\n\n  /**\n   * Get Epoch information\n   * @param options The options parameters.\n   */\n  getEpochs(options?: GetEpochsOptionalParams): Promise<GetEpochsResponse> {\n    return this.sendOperationRequest({ options }, getEpochsOperationSpec);\n  }\n\n  /**\n   * Get Top Epoch information\n   * @param options The options parameters.\n   */\n  getEpochTop(\n    options?: GetEpochTopOptionalParams,\n  ): Promise<GetEpochTopResponse> {\n    return this.sendOperationRequest({ options }, getEpochTopOperationSpec);\n  }\n\n  /**\n   * Get Schedule information\n   * @param options The options parameters.\n   */\n  getSchedules(\n    options?: GetSchedulesOptionalParams,\n  ): Promise<GetSchedulesResponse> {\n    return this.sendOperationRequest({ options }, getSchedulesOperationSpec);\n  }\n\n  /**\n   * Get Schedule information\n   * @param height Schedule height\n   * @param options The options parameters.\n   */\n  getSchedule(\n    height: number,\n    options?: GetScheduleOptionalParams,\n  ): Promise<GetScheduleResponse> {\n    return this.sendOperationRequest(\n      { height, options },\n      getScheduleOperationSpec,\n    );\n  }\n\n  /**\n   * Get Validators information\n   * @param options The options parameters.\n   */\n  getValidators(\n    options?: GetValidatorsOptionalParams,\n  ): Promise<GetValidatorsResponse> {\n    return this.sendOperationRequest({ options }, getValidatorsOperationSpec);\n  }\n\n  /**\n   * Get Validator information\n   * @param validator Validator address Account address\n   * @param options The options parameters.\n   */\n  getValidator(\n    validator: `ak_${string}`,\n    options?: GetValidatorOptionalParams,\n  ): Promise<GetValidatorResponse> {\n    return this.sendOperationRequest(\n      { validator, options },\n      getValidatorOperationSpec,\n    );\n  }\n\n  /**\n   * Get Delegates information for validator\n   * @param validator Validator address Account address\n   * @param options The options parameters.\n   */\n  getValidatorDelegates(\n    validator: `ak_${string}`,\n    options?: GetValidatorDelegatesOptionalParams,\n  ): Promise<GetValidatorDelegatesResponse> {\n    return this.sendOperationRequest(\n      { validator, options },\n      getValidatorDelegatesOperationSpec,\n    );\n  }\n\n  /**\n   * Get top Delegates information for validator\n   * @param validator Validator address Account address\n   * @param options The options parameters.\n   */\n  getTopValidatorDelegates(\n    validator: `ak_${string}`,\n    options?: GetTopValidatorDelegatesOptionalParams,\n  ): Promise<GetTopValidatorDelegatesResponse> {\n    return this.sendOperationRequest(\n      { validator, options },\n      getTopValidatorDelegatesOperationSpec,\n    );\n  }\n\n  /**\n   * Get multiple key blocks.\n   * @param options The options parameters.\n   */\n  getKeyBlocks(\n    options?: GetKeyBlocksOptionalParams,\n  ): Promise<GetKeyBlocksResponse> {\n    return this.sendOperationRequest({ options }, getKeyBlocksOperationSpec);\n  }\n\n  /**\n   * Get a single key block.\n   * @param hashOrKbi The key block encoded hash or key block index \n   * @param options The options parameters.\n   */\n  getKeyBlock(\n    hashOrKbi: `kh_${string}` | number,\n    options?: GetKeyBlockOptionalParams,\n  ): Promise<GetKeyBlockResponse> {\n    return this.sendOperationRequest(\n      { hashOrKbi, options },\n      getKeyBlockOperationSpec,\n    );\n  }\n\n  /**\n   * Get the key block micro blocks.\n   * @param hashOrKbi The key block encoded hash or key block index \n   * @param options The options parameters.\n   */\n  getKeyBlockMicroBlocks(\n    hashOrKbi: `kh_${string}` | number,\n    options?: GetKeyBlockMicroBlocksOptionalParams,\n  ): Promise<GetKeyBlockMicroBlocksResponse> {\n    return this.sendOperationRequest(\n      { hashOrKbi, options },\n      getKeyBlockMicroBlocksOperationSpec,\n    );\n  }\n\n  /**\n   * Get a micro block\n   * @param hash The micro block encoded hash Micro block hash\n   * @param options The options parameters.\n   */\n  getMicroBlock(\n    hash: `mh_${string}`,\n    options?: GetMicroBlockOptionalParams,\n  ): Promise<GetMicroBlockResponse> {\n    return this.sendOperationRequest(\n      { hash, options },\n      getMicroBlockOperationSpec,\n    );\n  }\n\n  /**\n   * Get a micro block transactions\n   * @param hash The micro block encoded hash Micro block hash\n   * @param options The options parameters.\n   */\n  getMicroBlockTransactions(\n    hash: `mh_${string}`,\n    options?: GetMicroBlockTransactionsOptionalParams,\n  ): Promise<GetMicroBlockTransactionsResponse> {\n    return this.sendOperationRequest(\n      { hash, options },\n      getMicroBlockTransactionsOperationSpec,\n    );\n  }\n\n  /**\n   * Get multiple names.\n   * @param options The options parameters.\n   */\n  getNames(options?: GetNamesOptionalParams): Promise<GetNamesResponse> {\n    return this.sendOperationRequest({ options }, getNamesOperationSpec);\n  }\n\n  /**\n   * Get multiple names.\n   * @param options The options parameters.\n   */\n  getNamesAuctions(\n    options?: GetNamesAuctionsOptionalParams,\n  ): Promise<GetNamesAuctionsResponse> {\n    return this.sendOperationRequest(\n      { options },\n      getNamesAuctionsOperationSpec,\n    );\n  }\n\n  /**\n   * Get name auction\n   * @param id The name \n   * @param options The options parameters.\n   */\n  getNameAuction(\n    id: `${string}.chain` | `nm_${string}`,\n    options?: GetNameAuctionOptionalParams,\n  ): Promise<GetNameAuctionResponse> {\n    return this.sendOperationRequest(\n      { id, options },\n      getNameAuctionOperationSpec,\n    );\n  }\n\n  /**\n   * Get name auction claims\n   * @param id The name \n   * @param options The options parameters.\n   */\n  getNameAuctionClaims(\n    id: `${string}.chain` | `nm_${string}`,\n    options?: GetNameAuctionClaimsOptionalParams,\n  ): Promise<GetNameAuctionClaimsResponse> {\n    return this.sendOperationRequest(\n      { id, options },\n      getNameAuctionClaimsOperationSpec,\n    );\n  }\n\n  /**\n   * Get the total number of active names.\n   * @param options The options parameters.\n   */\n  getNamesCount(\n    options?: GetNamesCountOptionalParams,\n  ): Promise<GetNamesCountResponse> {\n    return this.sendOperationRequest({ options }, getNamesCountOperationSpec);\n  }\n\n  /**\n   * Get a single name.\n   * @param id The name \n   * @param options The options parameters.\n   */\n  getName(\n    id: `${string}.chain` | `nm_${string}`,\n    options?: GetNameOptionalParams,\n  ): Promise<GetNameResponse> {\n    return this.sendOperationRequest({ id, options }, getNameOperationSpec);\n  }\n\n  /**\n   * Get name claims\n   * @param id The name or name hash \n   * @param options The options parameters.\n   */\n  getNameClaims(\n    id: `${string}.chain` | `nm_${string}`,\n    options?: GetNameClaimsOptionalParams,\n  ): Promise<GetNameClaimsResponse> {\n    return this.sendOperationRequest(\n      { id, options },\n      getNameClaimsOperationSpec,\n    );\n  }\n\n  /**\n   * Get name transfers\n   * @param id The name or name hash \n   * @param options The options parameters.\n   */\n  getNameTransfers(\n    id: `${string}.chain` | `nm_${string}`,\n    options?: GetNameTransfersOptionalParams,\n  ): Promise<GetNameTransfersResponse> {\n    return this.sendOperationRequest(\n      { id, options },\n      getNameTransfersOperationSpec,\n    );\n  }\n\n  /**\n   * Get name updates\n   * @param id The name or name hash \n   * @param options The options parameters.\n   */\n  getNameUpdates(\n    id: `${string}.chain` | `nm_${string}`,\n    options?: GetNameUpdatesOptionalParams,\n  ): Promise<GetNameUpdatesResponse> {\n    return this.sendOperationRequest(\n      { id, options },\n      getNameUpdatesOperationSpec,\n    );\n  }\n\n  /**\n   * Get multiple oracles.\n   * @param options The options parameters.\n   */\n  getOracles(options?: GetOraclesOptionalParams): Promise<GetOraclesResponse> {\n    return this.sendOperationRequest({ options }, getOraclesOperationSpec);\n  }\n\n  /**\n   * Get a single oracle.\n   * @param id The oracle Oracle address\n   * @param options The options parameters.\n   */\n  getOracle(\n    id: `ok_${string}`,\n    options?: GetOracleOptionalParams,\n  ): Promise<GetOracleResponse> {\n    return this.sendOperationRequest({ id, options }, getOracleOperationSpec);\n  }\n\n  /**\n   * Get an oracle's extensions.\n   * @param id The oracle Oracle address\n   * @param options The options parameters.\n   */\n  getOracleExtends(\n    id: `ok_${string}`,\n    options?: GetOracleExtendsOptionalParams,\n  ): Promise<GetOracleExtendsResponse> {\n    return this.sendOperationRequest(\n      { id, options },\n      getOracleExtendsOperationSpec,\n    );\n  }\n\n  /**\n   * Get an oracle's queries.\n   * @param id The oracle Oracle address\n   * @param options The options parameters.\n   */\n  getOracleQueries(\n    id: `ok_${string}`,\n    options?: GetOracleQueriesOptionalParams,\n  ): Promise<GetOracleQueriesResponse> {\n    return this.sendOperationRequest(\n      { id, options },\n      getOracleQueriesOperationSpec,\n    );\n  }\n\n  /**\n   * Get an oracle's responses.\n   * @param id The oracle Oracle address\n   * @param options The options parameters.\n   */\n  getOracleResponses(\n    id: `ok_${string}`,\n    options?: GetOracleResponsesOptionalParams,\n  ): Promise<GetOracleResponsesResponse> {\n    return this.sendOperationRequest(\n      { id, options },\n      getOracleResponsesOperationSpec,\n    );\n  }\n\n  /**\n   * Get stats.\n   * @param options The options parameters.\n   */\n  getStats(options?: GetStatsOptionalParams): Promise<GetStatsResponse> {\n    return this.sendOperationRequest({ options }, getStatsOperationSpec);\n  }\n\n  /**\n   * Get active accounts stats.\n   * @param options The options parameters.\n   */\n  getActiveAccountsStats(\n    options?: GetActiveAccountsStatsOptionalParams,\n  ): Promise<GetActiveAccountsStatsResponse> {\n    return this.sendOperationRequest(\n      { options },\n      getActiveAccountsStatsOperationSpec,\n    );\n  }\n\n  /**\n   * Get total AEx9 token transfers.\n   * @param options The options parameters.\n   */\n  getAex9TransfersStats(\n    options?: GetAex9TransfersStatsOptionalParams,\n  ): Promise<GetAex9TransfersStatsResponse> {\n    return this.sendOperationRequest(\n      { options },\n      getAex9TransfersStatsOperationSpec,\n    );\n  }\n\n  /**\n   * Get total blocks count stats.\n   * @param options The options parameters.\n   */\n  getBlocksStats(\n    options?: GetBlocksStatsOptionalParams,\n  ): Promise<GetBlocksStatsResponse> {\n    return this.sendOperationRequest({ options }, getBlocksStatsOperationSpec);\n  }\n\n  /**\n   * Get the created contracts count per interval.\n   * @param options The options parameters.\n   */\n  getContractsStats(\n    options?: GetContractsStatsOptionalParams,\n  ): Promise<GetContractsStatsResponse> {\n    return this.sendOperationRequest(\n      { options },\n      getContractsStatsOperationSpec,\n    );\n  }\n\n  /**\n   * Get delta stats.\n   * @param options The options parameters.\n   */\n  getDeltaStats(\n    options?: GetDeltaStatsOptionalParams,\n  ): Promise<GetDeltaStatsResponse> {\n    return this.sendOperationRequest({ options }, getDeltaStatsOperationSpec);\n  }\n\n  /**\n   * Get total blocks difficulty stats.\n   * @param options The options parameters.\n   */\n  getDifficultyStats(\n    options?: GetDifficultyStatsOptionalParams,\n  ): Promise<GetDifficultyStatsResponse> {\n    return this.sendOperationRequest(\n      { options },\n      getDifficultyStatsOperationSpec,\n    );\n  }\n\n  /**\n   * Get total blocks hashrate stats.\n   * @param options The options parameters.\n   */\n  getHashrateStats(\n    options?: GetHashrateStatsOptionalParams,\n  ): Promise<GetHashrateStatsResponse> {\n    return this.sendOperationRequest(\n      { options },\n      getHashrateStatsOperationSpec,\n    );\n  }\n\n  /**\n   * Get miners list with total rewards obtained through mining.\n   * @param options The options parameters.\n   */\n  getMinerStats(\n    options?: GetMinerStatsOptionalParams,\n  ): Promise<GetMinerStatsResponse> {\n    return this.sendOperationRequest({ options }, getMinerStatsOperationSpec);\n  }\n\n  /**\n   * Get total names count stats.\n   * @param options The options parameters.\n   */\n  getNamesStats(\n    options?: GetNamesStatsOptionalParams,\n  ): Promise<GetNamesStatsResponse> {\n    return this.sendOperationRequest({ options }, getNamesStatsOperationSpec);\n  }\n\n  /**\n   * Get total accumulated stats.\n   * @param options The options parameters.\n   */\n  getTotalStats(\n    options?: GetTotalStatsOptionalParams,\n  ): Promise<GetTotalStatsResponse> {\n    return this.sendOperationRequest({ options }, getTotalStatsOperationSpec);\n  }\n\n  /**\n   * Get total accounts created per interval stats.\n   * @param options The options parameters.\n   */\n  getTotalAccountsStats(\n    options?: GetTotalAccountsStatsOptionalParams,\n  ): Promise<GetTotalAccountsStatsResponse> {\n    return this.sendOperationRequest(\n      { options },\n      getTotalAccountsStatsOperationSpec,\n    );\n  }\n\n  /**\n   * Get total transactions count stats.\n   * @param options The options parameters.\n   */\n  getTransactionsStats(\n    options?: GetTransactionsStatsOptionalParams,\n  ): Promise<GetTransactionsStatsResponse> {\n    return this.sendOperationRequest(\n      { options },\n      getTransactionsStatsOperationSpec,\n    );\n  }\n\n  /**\n   * Gets the current syncing status of both middleware and the node\n   * @param options The options parameters.\n   */\n  getStatus(options?: GetStatusOptionalParams): Promise<GetStatusResponse> {\n    return this.sendOperationRequest({ options }, getStatusOperationSpec);\n  }\n\n  /**\n   * Get multiple transactions.\n   * @param options The options parameters.\n   */\n  getTransactions(\n    options?: GetTransactionsOptionalParams,\n  ): Promise<GetTransactionsResponse> {\n    return this.sendOperationRequest({ options }, getTransactionsOperationSpec);\n  }\n\n  /**\n   * Get count of transactions at the latest height.\n   * @param options The options parameters.\n   */\n  getTransactionsCount(\n    options?: GetTransactionsCountOptionalParams,\n  ): Promise<GetTransactionsCountResponse> {\n    return this.sendOperationRequest(\n      { options },\n      getTransactionsCountOperationSpec,\n    );\n  }\n\n  /**\n   * Get pending transactions.\n   * @param options The options parameters.\n   */\n  getPendingTransactions(\n    options?: GetPendingTransactionsOptionalParams,\n  ): Promise<GetPendingTransactionsResponse> {\n    return this.sendOperationRequest(\n      { options },\n      getPendingTransactionsOperationSpec,\n    );\n  }\n\n  /**\n   * Get count of pending transactions.\n   * @param options The options parameters.\n   */\n  getPendingTransactionsCount(\n    options?: GetPendingTransactionsCountOptionalParams,\n  ): Promise<GetPendingTransactionsCountResponse> {\n    return this.sendOperationRequest(\n      { options },\n      getPendingTransactionsCountOperationSpec,\n    );\n  }\n\n  /**\n   * Get a single transaction.\n   * @param hash The transaction encoded hash Transaction hash\n   * @param options The options parameters.\n   */\n  getTransaction(\n    hash: `th_${string}`,\n    options?: GetTransactionOptionalParams,\n  ): Promise<GetTransactionResponse> {\n    return this.sendOperationRequest(\n      { hash, options },\n      getTransactionOperationSpec,\n    );\n  }\n\n  /**\n   * Get multiple transfers.\n   * @param options The options parameters.\n   */\n  getTransfers(\n    options?: GetTransfersOptionalParams,\n  ): Promise<GetTransfersResponse> {\n    return this.sendOperationRequest({ options }, getTransfersOperationSpec);\n  }\n}\n// Operation Specifications\nconst serializer = createSerializer(Mappers, /* isXml */ false);\n\nconst getAccountActivitiesOperationSpec: coreClient.OperationSpec = {\n  path: \"/v3/accounts/{accountId}/activities\",\n  httpMethod: \"GET\",\n  responses: {\n    200: {\n      bodyMapper:\n        Mappers.Paths1EfdbjrV3AccountsAccountidActivitiesGetResponses200ContentApplicationJsonSchema,\n    },\n    400: {\n      bodyMapper: Mappers.ErrorResponse,\n      isError: true,\n    },\n  },\n  queryParameters: [\n    Parameters.ownedOnly,\n    Parameters.typeParam,\n    Parameters.limit,\n    Parameters.scope,\n    Parameters.direction,\n  ],\n  urlParameters: [Parameters.$host, Parameters.accountId],\n  headerParameters: [Parameters.accept],\n  serializer,\n};\nconst getAex141OwnedTokensOperationSpec: coreClient.OperationSpec = {\n  path: \"/v3/accounts/{accountId}/aex141/tokens\",\n  httpMethod: \"GET\",\n  responses: {\n    200: {\n      bodyMapper:\n        Mappers.Paths3Hsv3GV3AccountsAccountidAex141TokensGetResponses200ContentApplicationJsonSchema,\n    },\n    400: {\n      bodyMapper: Mappers.ErrorResponse,\n      isError: true,\n    },\n  },\n  queryParameters: [\n    Parameters.limit,\n    Parameters.direction1,\n    Parameters.contract,\n  ],\n  urlParameters: [Parameters.$host, Parameters.accountId],\n  headerParameters: [Parameters.accept],\n  serializer,\n};\nconst getAex9AccountBalancesOperationSpec: coreClient.OperationSpec = {\n  path: \"/v3/accounts/{accountId}/aex9/balances\",\n  httpMethod: \"GET\",\n  responses: {\n    200: {\n      bodyMapper:\n        Mappers.PathsKm52GqV3AccountsAccountidAex9BalancesGetResponses200ContentApplicationJsonSchema,\n    },\n    400: {\n      bodyMapper: Mappers.ErrorResponse,\n      isError: true,\n    },\n  },\n  urlParameters: [Parameters.$host, Parameters.accountId],\n  headerParameters: [Parameters.accept],\n  serializer,\n};\nconst getAccountDexSwapsOperationSpec: coreClient.OperationSpec = {\n  path: \"/v3/accounts/{accountId}/dex/swaps\",\n  httpMethod: \"GET\",\n  responses: {\n    200: {\n      bodyMapper:\n        Mappers.PathsZpy8S9V3AccountsAccountidDexSwapsGetResponses200ContentApplicationJsonSchema,\n    },\n    400: {\n      bodyMapper: Mappers.ErrorResponse,\n      isError: true,\n    },\n  },\n  queryParameters: [Parameters.direction2],\n  urlParameters: [Parameters.$host, Parameters.accountId],\n  headerParameters: [Parameters.accept],\n  serializer,\n};\nconst getAccountNameClaimsOperationSpec: coreClient.OperationSpec = {\n  path: \"/v3/accounts/{accountId}/names/claims\",\n  httpMethod: \"GET\",\n  responses: {\n    200: {\n      bodyMapper:\n        Mappers.Paths16Cyh9EV3AccountsAccountidNamesClaimsGetResponses200ContentApplicationJsonSchema,\n    },\n    404: {\n      bodyMapper: Mappers.NotFoundResponse,\n      isError: true,\n    },\n  },\n  queryParameters: [Parameters.limit, Parameters.scope, Parameters.direction3],\n  urlParameters: [Parameters.$host, Parameters.accountId],\n  headerParameters: [Parameters.accept],\n  serializer,\n};\nconst getAccountPointeesOperationSpec: coreClient.OperationSpec = {\n  path: \"/v3/accounts/{accountId}/names/pointees\",\n  httpMethod: \"GET\",\n  responses: {\n    200: {\n      bodyMapper:\n        Mappers.Paths1Mheci5V3AccountsAccountidNamesPointeesGetResponses200ContentApplicationJsonSchema,\n    },\n    404: {\n      bodyMapper: Mappers.NotFoundResponse,\n      isError: true,\n    },\n  },\n  urlParameters: [Parameters.$host, Parameters.accountId],\n  headerParameters: [Parameters.accept],\n  serializer,\n};\nconst getAccountTransactionsCountOperationSpec: coreClient.OperationSpec = {\n  path: \"/v3/accounts/{accountId}/transactions/count\",\n  httpMethod: \"GET\",\n  responses: {\n    200: {\n      bodyMapper:\n        Mappers.PathsXcg812V3AccountsAccountidTransactionsCountGetResponses200ContentApplicationJsonSchema,\n    },\n    400: {\n      bodyMapper: Mappers.ErrorResponse,\n      isError: true,\n    },\n  },\n  urlParameters: [Parameters.$host, Parameters.accountId],\n  headerParameters: [Parameters.accept],\n  serializer,\n};\nconst getSortedAex141ContractsOperationSpec: coreClient.OperationSpec = {\n  path: \"/v3/aex141\",\n  httpMethod: \"GET\",\n  responses: {\n    200: {\n      bodyMapper:\n        Mappers.Paths1XwlyjtV3Aex141GetResponses200ContentApplicationJsonSchema,\n    },\n    400: {\n      bodyMapper: Mappers.ErrorResponse,\n      isError: true,\n    },\n  },\n  queryParameters: [\n    Parameters.limit,\n    Parameters.direction4,\n    Parameters.by,\n    Parameters.prefix,\n    Parameters.exact,\n  ],\n  urlParameters: [Parameters.$host],\n  headerParameters: [Parameters.accept],\n  serializer,\n};\nconst getAex141ContractTemplatesOperationSpec: coreClient.OperationSpec = {\n  path: \"/v3/aex141/{contractId}/templates\",\n  httpMethod: \"GET\",\n  responses: {\n    200: {\n      bodyMapper:\n        Mappers.Paths181AjwxV3Aex141ContractidTemplatesGetResponses200ContentApplicationJsonSchema,\n    },\n    400: {\n      bodyMapper: Mappers.ErrorResponse,\n      isError: true,\n    },\n  },\n  queryParameters: [Parameters.limit, Parameters.direction5],\n  urlParameters: [Parameters.$host, Parameters.contractId],\n  headerParameters: [Parameters.accept],\n  serializer,\n};\nconst getAex141TemplateTokensOperationSpec: coreClient.OperationSpec = {\n  path: \"/v3/aex141/{contractId}/templates/{templateId}/tokens\",\n  httpMethod: \"GET\",\n  responses: {\n    200: {\n      bodyMapper:\n        Mappers.Paths15Mi2TaV3Aex141ContractidTemplatesTemplateidTokensGetResponses200ContentApplicationJsonSchema,\n    },\n    400: {\n      bodyMapper: Mappers.ErrorResponse,\n      isError: true,\n    },\n  },\n  queryParameters: [Parameters.limit, Parameters.direction6],\n  urlParameters: [\n    Parameters.$host,\n    Parameters.contractId,\n    Parameters.templateId,\n  ],\n  headerParameters: [Parameters.accept],\n  serializer,\n};\nconst getAex141ContractTokensOperationSpec: coreClient.OperationSpec = {\n  path: \"/v3/aex141/{contractId}/tokens\",\n  httpMethod: \"GET\",\n  responses: {\n    200: {\n      bodyMapper:\n        Mappers.PathsWl652MV3Aex141ContractidTokensGetResponses200ContentApplicationJsonSchema,\n    },\n    400: {\n      bodyMapper: Mappers.ErrorResponse,\n      isError: true,\n    },\n  },\n  queryParameters: [Parameters.limit, Parameters.direction7],\n  urlParameters: [Parameters.$host, Parameters.contractId],\n  headerParameters: [Parameters.accept],\n  serializer,\n};\nconst getAex141TokenOwnerOperationSpec: coreClient.OperationSpec = {\n  path: \"/v3/aex141/{contractId}/tokens/{tokenId}\",\n  httpMethod: \"GET\",\n  responses: {\n    200: {\n      bodyMapper: Mappers.Aex141TokenDetailResponse,\n    },\n    400: {\n      bodyMapper: Mappers.ErrorResponse,\n      isError: true,\n    },\n  },\n  urlParameters: [Parameters.$host, Parameters.contractId, Parameters.tokenId],\n  headerParameters: [Parameters.accept],\n  serializer,\n};\nconst getAex141ContractTransfersOperationSpec: coreClient.OperationSpec = {\n  path: \"/v3/aex141/{contractId}/transfers\",\n  httpMethod: \"GET\",\n  responses: {\n    200: {\n      bodyMapper:\n        Mappers.Paths1O7Q6IhV3Aex141ContractidTransfersGetResponses200ContentApplicationJsonSchema,\n    },\n    400: {\n      bodyMapper: Mappers.ErrorResponse,\n      isError: true,\n    },\n  },\n  queryParameters: [\n    Parameters.limit,\n    Parameters.direction8,\n    Parameters.fromParam,\n    Parameters.to,\n  ],\n  urlParameters: [Parameters.$host, Parameters.contractId],\n  headerParameters: [Parameters.accept],\n  serializer,\n};\nconst getAex141ByContractOperationSpec: coreClient.OperationSpec = {\n  path: \"/v3/aex141/{id}\",\n  httpMethod: \"GET\",\n  responses: {\n    200: {\n      bodyMapper: Mappers.Aex141Response,\n    },\n    400: {\n      bodyMapper: Mappers.ErrorResponse,\n      isError: true,\n    },\n  },\n  urlParameters: [Parameters.$host, Parameters.id],\n  headerParameters: [Parameters.accept],\n  serializer,\n};\nconst getSortedAex9TokensOperationSpec: coreClient.OperationSpec = {\n  path: \"/v3/aex9\",\n  httpMethod: \"GET\",\n  responses: {\n    200: {\n      bodyMapper:\n        Mappers.Paths1Vr3Y2EV3Aex9GetResponses200ContentApplicationJsonSchema,\n    },\n    400: {\n      bodyMapper: Mappers.ErrorResponse,\n      isError: true,\n    },\n  },\n  queryParameters: [\n    Parameters.limit,\n    Parameters.prefix,\n    Parameters.exact,\n    Parameters.direction9,\n    Parameters.by1,\n  ],\n  urlParameters: [Parameters.$host],\n  headerParameters: [Parameters.accept],\n  serializer,\n};\nconst getAex9TokensCountOperationSpec: coreClient.OperationSpec = {\n  path: \"/v3/aex9/count\",\n  httpMethod: \"GET\",\n  responses: {\n    200: {\n      bodyMapper:\n        Mappers.Paths19IxhsmV3Aex9CountGetResponses200ContentApplicationJsonSchema,\n    },\n  },\n  urlParameters: [Parameters.$host],\n  headerParameters: [Parameters.accept],\n  serializer,\n};\nconst getAex9ContractBalancesOperationSpec: coreClient.OperationSpec = {\n  path: \"/v3/aex9/{contractId}/balances\",\n  httpMethod: \"GET\",\n  responses: {\n    200: {\n      bodyMapper:\n        Mappers.Paths1N61UurV3Aex9ContractidBalancesGetResponses200ContentApplicationJsonSchema,\n    },\n    400: {\n      bodyMapper: Mappers.ErrorResponse,\n      isError: true,\n    },\n  },\n  queryParameters: [\n    Parameters.limit,\n    Parameters.direction10,\n    Parameters.by2,\n    Parameters.blockHash,\n  ],\n  urlParameters: [Parameters.$host, Parameters.contractId],\n  headerParameters: [Parameters.accept],\n  serializer,\n};\nconst getAex9ContractAccountBalanceOperationSpec: coreClient.OperationSpec = {\n  path: \"/v3/aex9/{contractId}/balances/{accountId}\",\n  httpMethod: \"GET\",\n  responses: {\n    200: {\n      bodyMapper:\n        Mappers.PathsKr825V3Aex9ContractidBalancesAccountidGetResponses200ContentApplicationJsonSchema,\n    },\n    400: {\n      bodyMapper: Mappers.ErrorResponse,\n      isError: true,\n    },\n  },\n  queryParameters: [Parameters.hash],\n  urlParameters: [\n    Parameters.$host,\n    Parameters.accountId,\n    Parameters.contractId,\n  ],\n  headerParameters: [Parameters.accept],\n  serializer,\n};\nconst getAex9ContractAccountBalanceHistoryOperationSpec: coreClient.OperationSpec =\n  {\n    path: \"/v3/aex9/{contractId}/balances/{accountId}/history\",\n    httpMethod: \"GET\",\n    responses: {\n      200: {\n        bodyMapper:\n          Mappers.Paths1Uybd4PV3Aex9ContractidBalancesAccountidHistoryGetResponses200ContentApplicationJsonSchema,\n      },\n      400: {\n        bodyMapper: Mappers.ErrorResponse,\n        isError: true,\n      },\n    },\n    queryParameters: [\n      Parameters.limit,\n      Parameters.scope,\n      Parameters.direction11,\n    ],\n    urlParameters: [\n      Parameters.$host,\n      Parameters.accountId,\n      Parameters.contractId,\n    ],\n    headerParameters: [Parameters.accept],\n    serializer,\n  };\nconst getAex9ByContractOperationSpec: coreClient.OperationSpec = {\n  path: \"/v3/aex9/{id}\",\n  httpMethod: \"GET\",\n  responses: {\n    200: {\n      bodyMapper: Mappers.Aex9Response,\n    },\n    400: {\n      bodyMapper: Mappers.ErrorResponse,\n      isError: true,\n    },\n  },\n  urlParameters: [Parameters.$host, Parameters.id],\n  headerParameters: [Parameters.accept],\n  serializer,\n};\nconst getChannelsOperationSpec: coreClient.OperationSpec = {\n  path: \"/v3/channels\",\n  httpMethod: \"GET\",\n  responses: {\n    200: {\n      bodyMapper:\n        Mappers.Paths3EzhapV3ChannelsGetResponses200ContentApplicationJsonSchema,\n    },\n    400: {\n      bodyMapper: Mappers.ErrorResponse,\n      isError: true,\n    },\n  },\n  queryParameters: [\n    Parameters.limit,\n    Parameters.scope,\n    Parameters.direction12,\n    Parameters.state,\n  ],\n  urlParameters: [Parameters.$host],\n  headerParameters: [Parameters.accept],\n  serializer,\n};\nconst getChannelOperationSpec: coreClient.OperationSpec = {\n  path: \"/v3/channels/{id}\",\n  httpMethod: \"GET\",\n  responses: {\n    200: {\n      bodyMapper: Mappers.Channel,\n    },\n    400: {\n      bodyMapper: Mappers.ErrorResponse,\n      isError: true,\n    },\n    404: {\n      bodyMapper: Mappers.NotFoundResponse,\n      isError: true,\n    },\n  },\n  urlParameters: [Parameters.$host, Parameters.id1],\n  headerParameters: [Parameters.accept],\n  serializer,\n};\nconst getContractCallsOperationSpec: coreClient.OperationSpec = {\n  path: \"/v3/contracts/calls\",\n  httpMethod: \"GET\",\n  responses: {\n    200: {\n      bodyMapper:\n        Mappers.Paths1Txblx8V3ContractsCallsGetResponses200ContentApplicationJsonSchema,\n    },\n    400: {\n      bodyMapper: Mappers.ErrorResponse,\n      isError: true,\n    },\n  },\n  queryParameters: [Parameters.limit, Parameters.scope, Parameters.direction13],\n  urlParameters: [Parameters.$host],\n  headerParameters: [Parameters.accept],\n  serializer,\n};\nconst getContractLogsOperationSpec: coreClient.OperationSpec = {\n  path: \"/v3/contracts/logs\",\n  httpMethod: \"GET\",\n  responses: {\n    200: {\n      bodyMapper:\n        Mappers.Paths7A1M6RV3ContractsLogsGetResponses200ContentApplicationJsonSchema,\n    },\n    400: {\n      bodyMapper: Mappers.ErrorResponse,\n      isError: true,\n    },\n  },\n  queryParameters: [\n    Parameters.limit,\n    Parameters.scope,\n    Parameters.contractId1,\n    Parameters.event,\n    Parameters.functionParam,\n    Parameters.functionPrefix,\n    Parameters.data,\n    Parameters.aexnArgs,\n    Parameters.direction14,\n  ],\n  urlParameters: [Parameters.$host],\n  headerParameters: [Parameters.accept],\n  serializer,\n};\nconst getContractOperationSpec: coreClient.OperationSpec = {\n  path: \"/v3/contracts/{id}\",\n  httpMethod: \"GET\",\n  responses: {\n    200: {\n      bodyMapper: Mappers.Contract,\n    },\n    400: {\n      bodyMapper: Mappers.ErrorResponse,\n      isError: true,\n    },\n    404: {\n      bodyMapper: Mappers.NotFoundResponse,\n      isError: true,\n    },\n  },\n  urlParameters: [Parameters.$host, Parameters.id],\n  headerParameters: [Parameters.accept],\n  serializer,\n};\nconst getDexSwapsOperationSpec: coreClient.OperationSpec = {\n  path: \"/v3/dex/swaps\",\n  httpMethod: \"GET\",\n  responses: {\n    200: {\n      bodyMapper:\n        Mappers.Paths1Di8FnjV3DexSwapsGetResponses200ContentApplicationJsonSchema,\n    },\n    400: {\n      bodyMapper: Mappers.ErrorResponse,\n      isError: true,\n    },\n  },\n  queryParameters: [Parameters.direction15],\n  urlParameters: [Parameters.$host],\n  headerParameters: [Parameters.accept],\n  serializer,\n};\nconst getDexSwapsByContractIdOperationSpec: coreClient.OperationSpec = {\n  path: \"/v3/dex/{contract_id}/swaps\",\n  httpMethod: \"GET\",\n  responses: {\n    200: {\n      bodyMapper:\n        Mappers.PathsKwxlzlV3DexContractIdSwapsGetResponses200ContentApplicationJsonSchema,\n    },\n    400: {\n      bodyMapper: Mappers.ErrorResponse,\n      isError: true,\n    },\n  },\n  queryParameters: [Parameters.direction16],\n  urlParameters: [Parameters.$host, Parameters.contractId2],\n  headerParameters: [Parameters.accept],\n  serializer,\n};\nconst getEpochsOperationSpec: coreClient.OperationSpec = {\n  path: \"/v3/hyperchain/epochs\",\n  httpMethod: \"GET\",\n  responses: {\n    200: {\n      bodyMapper:\n        Mappers.Paths194Lg3IV3HyperchainEpochsGetResponses200ContentApplicationJsonSchema,\n    },\n    400: {\n      bodyMapper: Mappers.ErrorResponse,\n      isError: true,\n    },\n  },\n  queryParameters: [\n    Parameters.limit,\n    Parameters.direction17,\n    Parameters.scope1,\n  ],\n  urlParameters: [Parameters.$host],\n  headerParameters: [Parameters.accept],\n  serializer,\n};\nconst getEpochTopOperationSpec: coreClient.OperationSpec = {\n  path: \"/v3/hyperchain/epochs/top\",\n  httpMethod: \"GET\",\n  responses: {\n    200: {\n      bodyMapper: Mappers.EpochInfo,\n    },\n    400: {\n      bodyMapper: Mappers.ErrorResponse,\n      isError: true,\n    },\n  },\n  urlParameters: [Parameters.$host],\n  headerParameters: [Parameters.accept],\n  serializer,\n};\nconst getSchedulesOperationSpec: coreClient.OperationSpec = {\n  path: \"/v3/hyperchain/schedule\",\n  httpMethod: \"GET\",\n  responses: {\n    200: {\n      bodyMapper:\n        Mappers.Paths1S5Zlt1V3HyperchainScheduleGetResponses200ContentApplicationJsonSchema,\n    },\n    400: {\n      bodyMapper: Mappers.ErrorResponse,\n      isError: true,\n    },\n  },\n  queryParameters: [\n    Parameters.limit,\n    Parameters.scope1,\n    Parameters.direction18,\n  ],\n  urlParameters: [Parameters.$host],\n  headerParameters: [Parameters.accept],\n  serializer,\n};\nconst getScheduleOperationSpec: coreClient.OperationSpec = {\n  path: \"/v3/hyperchain/schedule/height/{height}\",\n  httpMethod: \"GET\",\n  responses: {\n    200: {\n      bodyMapper: Mappers.Schedule,\n    },\n    400: {\n      bodyMapper: Mappers.ErrorResponse,\n      isError: true,\n    },\n  },\n  urlParameters: [Parameters.$host, Parameters.height],\n  headerParameters: [Parameters.accept],\n  serializer,\n};\nconst getValidatorsOperationSpec: coreClient.OperationSpec = {\n  path: \"/v3/hyperchain/validators\",\n  httpMethod: \"GET\",\n  responses: {\n    200: {\n      bodyMapper:\n        Mappers.Paths1Ibn686V3HyperchainValidatorsGetResponses200ContentApplicationJsonSchema,\n    },\n    400: {\n      bodyMapper: Mappers.ErrorResponse,\n      isError: true,\n    },\n  },\n  queryParameters: [\n    Parameters.limit,\n    Parameters.scope1,\n    Parameters.direction19,\n  ],\n  urlParameters: [Parameters.$host],\n  headerParameters: [Parameters.accept],\n  serializer,\n};\nconst getValidatorOperationSpec: coreClient.OperationSpec = {\n  path: \"/v3/hyperchain/validators/{validator}\",\n  httpMethod: \"GET\",\n  responses: {\n    200: {\n      bodyMapper: Mappers.Validator,\n    },\n    400: {\n      bodyMapper: Mappers.ErrorResponse,\n      isError: true,\n    },\n  },\n  urlParameters: [Parameters.$host, Parameters.validator],\n  headerParameters: [Parameters.accept],\n  serializer,\n};\nconst getValidatorDelegatesOperationSpec: coreClient.OperationSpec = {\n  path: \"/v3/hyperchain/validators/{validator}/delegates\",\n  httpMethod: \"GET\",\n  responses: {\n    200: {\n      bodyMapper:\n        Mappers.Paths1I4U8D5V3HyperchainValidatorsValidatorDelegatesGetResponses200ContentApplicationJsonSchema,\n    },\n    400: {\n      bodyMapper: Mappers.ErrorResponse,\n      isError: true,\n    },\n  },\n  queryParameters: [\n    Parameters.limit,\n    Parameters.scope1,\n    Parameters.direction20,\n  ],\n  urlParameters: [Parameters.$host, Parameters.validator],\n  headerParameters: [Parameters.accept],\n  serializer,\n};\nconst getTopValidatorDelegatesOperationSpec: coreClient.OperationSpec = {\n  path: \"/v3/hyperchain/validators/{validator}/delegates/top\",\n  httpMethod: \"GET\",\n  responses: {\n    200: {\n      bodyMapper:\n        Mappers.Paths15K0AlgV3HyperchainValidatorsValidatorDelegatesTopGetResponses200ContentApplicationJsonSchema,\n    },\n    400: {\n      bodyMapper: Mappers.ErrorResponse,\n      isError: true,\n    },\n  },\n  queryParameters: [\n    Parameters.limit,\n    Parameters.scope1,\n    Parameters.direction21,\n  ],\n  urlParameters: [Parameters.$host, Parameters.validator],\n  headerParameters: [Parameters.accept],\n  serializer,\n};\nconst getKeyBlocksOperationSpec: coreClient.OperationSpec = {\n  path: \"/v3/key-blocks\",\n  httpMethod: \"GET\",\n  responses: {\n    200: {\n      bodyMapper:\n        Mappers.Paths277OngV3KeyBlocksGetResponses200ContentApplicationJsonSchema,\n    },\n    400: {\n      bodyMapper: Mappers.ErrorResponse,\n      isError: true,\n    },\n  },\n  queryParameters: [Parameters.limit, Parameters.scope, Parameters.direction22],\n  urlParameters: [Parameters.$host],\n  headerParameters: [Parameters.accept],\n  serializer,\n};\nconst getKeyBlockOperationSpec: coreClient.OperationSpec = {\n  path: \"/v3/key-blocks/{hash_or_kbi}\",\n  httpMethod: \"GET\",\n  responses: {\n    200: {\n      bodyMapper: Mappers.KeyBlockExtended,\n    },\n    400: {\n      bodyMapper: Mappers.ErrorResponse,\n      isError: true,\n    },\n    404: {\n      bodyMapper: Mappers.NotFoundResponse,\n      isError: true,\n    },\n  },\n  urlParameters: [Parameters.$host, Parameters.hashOrKbi],\n  headerParameters: [Parameters.accept],\n  serializer,\n};\nconst getKeyBlockMicroBlocksOperationSpec: coreClient.OperationSpec = {\n  path: \"/v3/key-blocks/{hash_or_kbi}/micro-blocks\",\n  httpMethod: \"GET\",\n  responses: {\n    200: {\n      bodyMapper:\n        Mappers.Paths1159W94V3KeyBlocksHashOrKbiMicroBlocksGetResponses200ContentApplicationJsonSchema,\n    },\n    400: {\n      bodyMapper: Mappers.ErrorResponse,\n      isError: true,\n    },\n  },\n  queryParameters: [Parameters.limit, Parameters.scope, Parameters.direction23],\n  urlParameters: [Parameters.$host, Parameters.hashOrKbi],\n  headerParameters: [Parameters.accept],\n  serializer,\n};\nconst getMicroBlockOperationSpec: coreClient.OperationSpec = {\n  path: \"/v3/micro-blocks/{hash}\",\n  httpMethod: \"GET\",\n  responses: {\n    200: {\n      bodyMapper: Mappers.MicroBlockExtended,\n    },\n    400: {\n      bodyMapper: Mappers.ErrorResponse,\n      isError: true,\n    },\n    404: {\n      bodyMapper: Mappers.NotFoundResponse,\n      isError: true,\n    },\n  },\n  urlParameters: [Parameters.$host, Parameters.hash1],\n  headerParameters: [Parameters.accept],\n  serializer,\n};\nconst getMicroBlockTransactionsOperationSpec: coreClient.OperationSpec = {\n  path: \"/v3/micro-blocks/{hash}/transactions\",\n  httpMethod: \"GET\",\n  responses: {\n    200: {\n      bodyMapper:\n        Mappers.Paths15Bkk50V3MicroBlocksHashTransactionsGetResponses200ContentApplicationJsonSchema,\n    },\n    400: {\n      bodyMapper: Mappers.ErrorResponse,\n      isError: true,\n    },\n  },\n  urlParameters: [Parameters.$host, Parameters.hash1],\n  headerParameters: [Parameters.accept],\n  serializer,\n};\nconst getNamesOperationSpec: coreClient.OperationSpec = {\n  path: \"/v3/names\",\n  httpMethod: \"GET\",\n  responses: {\n    200: {\n      bodyMapper:\n        Mappers.Paths12S1Nd4V3NamesGetResponses200ContentApplicationJsonSchema,\n    },\n    400: {\n      bodyMapper: Mappers.ErrorResponse,\n      isError: true,\n    },\n  },\n  queryParameters: [\n    Parameters.limit,\n    Parameters.prefix,\n    Parameters.by2,\n    Parameters.ownedBy,\n    Parameters.state1,\n    Parameters.direction24,\n  ],\n  urlParameters: [Parameters.$host],\n  headerParameters: [Parameters.accept],\n  serializer,\n};\nconst getNamesAuctionsOperationSpec: coreClient.OperationSpec = {\n  path: \"/v3/names/auctions\",\n  httpMethod: \"GET\",\n  responses: {\n    200: {\n      bodyMapper:\n        Mappers.PathsKjq4D4V3NamesAuctionsGetResponses200ContentApplicationJsonSchema,\n    },\n    400: {\n      bodyMapper: Mappers.ErrorResponse,\n      isError: true,\n    },\n  },\n  queryParameters: [Parameters.limit, Parameters.scope, Parameters.direction25],\n  urlParameters: [Parameters.$host],\n  headerParameters: [Parameters.accept],\n  serializer,\n};\nconst getNameAuctionOperationSpec: coreClient.OperationSpec = {\n  path: \"/v3/names/auctions/{id}\",\n  httpMethod: \"GET\",\n  responses: {\n    200: {\n      bodyMapper: Mappers.Auction,\n    },\n    400: {\n      bodyMapper: Mappers.ErrorResponse,\n      isError: true,\n    },\n    404: {\n      bodyMapper: Mappers.NotFoundResponse,\n      isError: true,\n    },\n  },\n  queryParameters: [Parameters.limit, Parameters.scope, Parameters.direction26],\n  urlParameters: [Parameters.$host, Parameters.id2],\n  headerParameters: [Parameters.accept],\n  serializer,\n};\nconst getNameAuctionClaimsOperationSpec: coreClient.OperationSpec = {\n  path: \"/v3/names/auctions/{id}/claims\",\n  httpMethod: \"GET\",\n  responses: {\n    200: {\n      bodyMapper:\n        Mappers.PathsCrb9BgV3NamesAuctionsIdClaimsGetResponses200ContentApplicationJsonSchema,\n    },\n    404: {\n      bodyMapper: Mappers.NotFoundResponse,\n      isError: true,\n    },\n  },\n  queryParameters: [Parameters.limit, Parameters.scope, Parameters.direction27],\n  urlParameters: [Parameters.$host, Parameters.id2],\n  headerParameters: [Parameters.accept],\n  serializer,\n};\nconst getNamesCountOperationSpec: coreClient.OperationSpec = {\n  path: \"/v3/names/count\",\n  httpMethod: \"GET\",\n  responses: {\n    200: {\n      bodyMapper: { type: { name: \"Number\" } },\n    },\n    400: {\n      bodyMapper: Mappers.ErrorResponse,\n      isError: true,\n    },\n  },\n  queryParameters: [Parameters.ownedBy],\n  urlParameters: [Parameters.$host],\n  headerParameters: [Parameters.accept],\n  serializer,\n};\nconst getNameOperationSpec: coreClient.OperationSpec = {\n  path: \"/v3/names/{id}\",\n  httpMethod: \"GET\",\n  responses: {\n    200: {\n      bodyMapper: Mappers.Name,\n    },\n    400: {\n      bodyMapper: Mappers.ErrorResponse,\n      isError: true,\n    },\n    404: {\n      bodyMapper: Mappers.NotFoundResponse,\n      isError: true,\n    },\n  },\n  urlParameters: [Parameters.$host, Parameters.id2],\n  headerParameters: [Parameters.accept],\n  serializer,\n};\nconst getNameClaimsOperationSpec: coreClient.OperationSpec = {\n  path: \"/v3/names/{id}/claims\",\n  httpMethod: \"GET\",\n  responses: {\n    200: {\n      bodyMapper:\n        Mappers.Paths1F98AqgV3NamesIdClaimsGetResponses200ContentApplicationJsonSchema,\n    },\n    404: {\n      bodyMapper: Mappers.NotFoundResponse,\n      isError: true,\n    },\n  },\n  queryParameters: [Parameters.limit, Parameters.scope, Parameters.direction28],\n  urlParameters: [Parameters.$host, Parameters.id2],\n  headerParameters: [Parameters.accept],\n  serializer,\n};\nconst getNameTransfersOperationSpec: coreClient.OperationSpec = {\n  path: \"/v3/names/{id}/transfers\",\n  httpMethod: \"GET\",\n  responses: {\n    200: {\n      bodyMapper:\n        Mappers.Paths1Raw8PV3NamesIdTransfersGetResponses200ContentApplicationJsonSchema,\n    },\n    404: {\n      bodyMapper: Mappers.NotFoundResponse,\n      isError: true,\n    },\n  },\n  queryParameters: [Parameters.limit, Parameters.scope, Parameters.direction29],\n  urlParameters: [Parameters.$host, Parameters.id2],\n  headerParameters: [Parameters.accept],\n  serializer,\n};\nconst getNameUpdatesOperationSpec: coreClient.OperationSpec = {\n  path: \"/v3/names/{id}/updates\",\n  httpMethod: \"GET\",\n  responses: {\n    200: {\n      bodyMapper:\n        Mappers.Paths1Ec8CltV3NamesIdUpdatesGetResponses200ContentApplicationJsonSchema,\n    },\n    404: {\n      bodyMapper: Mappers.NotFoundResponse,\n      isError: true,\n    },\n  },\n  queryParameters: [Parameters.limit, Parameters.scope, Parameters.direction30],\n  urlParameters: [Parameters.$host, Parameters.id2],\n  headerParameters: [Parameters.accept],\n  serializer,\n};\nconst getOraclesOperationSpec: coreClient.OperationSpec = {\n  path: \"/v3/oracles\",\n  httpMethod: \"GET\",\n  responses: {\n    200: {\n      bodyMapper:\n        Mappers.Paths1E14NekV3OraclesGetResponses200ContentApplicationJsonSchema,\n    },\n    400: {\n      bodyMapper: Mappers.ErrorResponse,\n      isError: true,\n    },\n  },\n  queryParameters: [\n    Parameters.limit,\n    Parameters.scope,\n    Parameters.state1,\n    Parameters.direction31,\n  ],\n  urlParameters: [Parameters.$host],\n  headerParameters: [Parameters.accept],\n  serializer,\n};\nconst getOracleOperationSpec: coreClient.OperationSpec = {\n  path: \"/v3/oracles/{id}\",\n  httpMethod: \"GET\",\n  responses: {\n    200: {\n      bodyMapper: Mappers.Oracle,\n    },\n    400: {\n      bodyMapper: Mappers.ErrorResponse,\n      isError: true,\n    },\n    404: {\n      bodyMapper: Mappers.NotFoundResponse,\n      isError: true,\n    },\n  },\n  urlParameters: [Parameters.$host, Parameters.id3],\n  headerParameters: [Parameters.accept],\n  serializer,\n};\nconst getOracleExtendsOperationSpec: coreClient.OperationSpec = {\n  path: \"/v3/oracles/{id}/extends\",\n  httpMethod: \"GET\",\n  responses: {\n    200: {\n      bodyMapper:\n        Mappers.Paths1L5C64RV3OraclesIdExtendsGetResponses200ContentApplicationJsonSchema,\n    },\n    400: {\n      bodyMapper: Mappers.ErrorResponse,\n      isError: true,\n    },\n    404: {\n      bodyMapper: Mappers.NotFoundResponse,\n      isError: true,\n    },\n  },\n  urlParameters: [Parameters.$host, Parameters.id3],\n  headerParameters: [Parameters.accept],\n  serializer,\n};\nconst getOracleQueriesOperationSpec: coreClient.OperationSpec = {\n  path: \"/v3/oracles/{id}/queries\",\n  httpMethod: \"GET\",\n  responses: {\n    200: {\n      bodyMapper:\n        Mappers.Paths8722JhV3OraclesIdQueriesGetResponses200ContentApplicationJsonSchema,\n    },\n    400: {\n      bodyMapper: Mappers.ErrorResponse,\n      isError: true,\n    },\n    404: {\n      bodyMapper: Mappers.NotFoundResponse,\n      isError: true,\n    },\n  },\n  urlParameters: [Parameters.$host, Parameters.id3],\n  headerParameters: [Parameters.accept],\n  serializer,\n};\nconst getOracleResponsesOperationSpec: coreClient.OperationSpec = {\n  path: \"/v3/oracles/{id}/responses\",\n  httpMethod: \"GET\",\n  responses: {\n    200: {\n      bodyMapper:\n        Mappers.PathsVron83V3OraclesIdResponsesGetResponses200ContentApplicationJsonSchema,\n    },\n    400: {\n      bodyMapper: Mappers.ErrorResponse,\n      isError: true,\n    },\n    404: {\n      bodyMapper: Mappers.NotFoundResponse,\n      isError: true,\n    },\n  },\n  urlParameters: [Parameters.$host, Parameters.id3],\n  headerParameters: [Parameters.accept],\n  serializer,\n};\nconst getStatsOperationSpec: coreClient.OperationSpec = {\n  path: \"/v3/stats\",\n  httpMethod: \"GET\",\n  responses: {\n    200: {\n      bodyMapper: Mappers.Stats,\n    },\n    400: {\n      bodyMapper: Mappers.ErrorResponse,\n      isError: true,\n    },\n  },\n  urlParameters: [Parameters.$host],\n  headerParameters: [Parameters.accept],\n  serializer,\n};\nconst getActiveAccountsStatsOperationSpec: coreClient.OperationSpec = {\n  path: \"/v3/stats/active-accounts\",\n  httpMethod: \"GET\",\n  responses: {\n    200: {\n      bodyMapper:\n        Mappers.PathsCgzmimV3StatsActiveAccountsGetResponses200ContentApplicationJsonSchema,\n    },\n    400: {\n      bodyMapper: Mappers.ErrorResponse,\n      isError: true,\n    },\n  },\n  queryParameters: [\n    Parameters.limit,\n    Parameters.intervalBy,\n    Parameters.direction32,\n  ],\n  urlParameters: [Parameters.$host],\n  headerParameters: [Parameters.accept],\n  serializer,\n};\nconst getAex9TransfersStatsOperationSpec: coreClient.OperationSpec = {\n  path: \"/v3/stats/aex9-transfers\",\n  httpMethod: \"GET\",\n  responses: {\n    200: {\n      bodyMapper:\n        Mappers.Paths1UxyhelV3StatsAex9TransfersGetResponses200ContentApplicationJsonSchema,\n    },\n    400: {\n      bodyMapper: Mappers.ErrorResponse,\n      isError: true,\n    },\n  },\n  queryParameters: [\n    Parameters.limit,\n    Parameters.intervalBy1,\n    Parameters.minStartDate,\n    Parameters.maxStartDate,\n    Parameters.direction33,\n  ],\n  urlParameters: [Parameters.$host],\n  headerParameters: [Parameters.accept],\n  serializer,\n};\nconst getBlocksStatsOperationSpec: coreClient.OperationSpec = {\n  path: \"/v3/stats/blocks\",\n  httpMethod: \"GET\",\n  responses: {\n    200: {\n      bodyMapper:\n        Mappers.Paths1Sxjoy0V3StatsBlocksGetResponses200ContentApplicationJsonSchema,\n    },\n    400: {\n      bodyMapper: Mappers.ErrorResponse,\n      isError: true,\n    },\n  },\n  queryParameters: [\n    Parameters.limit,\n    Parameters.minStartDate,\n    Parameters.maxStartDate,\n    Parameters.intervalBy2,\n    Parameters.typeParam1,\n    Parameters.direction34,\n  ],\n  urlParameters: [Parameters.$host],\n  headerParameters: [Parameters.accept],\n  serializer,\n};\nconst getContractsStatsOperationSpec: coreClient.OperationSpec = {\n  path: \"/v3/stats/contracts\",\n  httpMethod: \"GET\",\n  responses: {\n    200: {\n      bodyMapper:\n        Mappers.PathsWbrhqnV3StatsContractsGetResponses200ContentApplicationJsonSchema,\n    },\n    400: {\n      bodyMapper: Mappers.ErrorResponse,\n      isError: true,\n    },\n  },\n  queryParameters: [\n    Parameters.limit,\n    Parameters.minStartDate,\n    Parameters.maxStartDate,\n    Parameters.intervalBy3,\n    Parameters.direction35,\n  ],\n  urlParameters: [Parameters.$host],\n  headerParameters: [Parameters.accept],\n  serializer,\n};\nconst getDeltaStatsOperationSpec: coreClient.OperationSpec = {\n  path: \"/v3/stats/delta\",\n  httpMethod: \"GET\",\n  responses: {\n    200: {\n      bodyMapper:\n        Mappers.Paths5Xf9ScV3StatsDeltaGetResponses200ContentApplicationJsonSchema,\n    },\n    400: {\n      bodyMapper: Mappers.ErrorResponse,\n      isError: true,\n    },\n  },\n  queryParameters: [Parameters.limit, Parameters.scope, Parameters.direction36],\n  urlParameters: [Parameters.$host],\n  headerParameters: [Parameters.accept],\n  serializer,\n};\nconst getDifficultyStatsOperationSpec: coreClient.OperationSpec = {\n  path: \"/v3/stats/difficulty\",\n  httpMethod: \"GET\",\n  responses: {\n    200: {\n      bodyMapper:\n        Mappers.Paths1D7Up0DV3StatsDifficultyGetResponses200ContentApplicationJsonSchema,\n    },\n    400: {\n      bodyMapper: Mappers.ErrorResponse,\n      isError: true,\n    },\n  },\n  queryParameters: [\n    Parameters.limit,\n    Parameters.minStartDate,\n    Parameters.maxStartDate,\n    Parameters.intervalBy4,\n    Parameters.direction37,\n  ],\n  urlParameters: [Parameters.$host],\n  headerParameters: [Parameters.accept],\n  serializer,\n};\nconst getHashrateStatsOperationSpec: coreClient.OperationSpec = {\n  path: \"/v3/stats/hashrate\",\n  httpMethod: \"GET\",\n  responses: {\n    200: {\n      bodyMapper:\n        Mappers.PathsR51VshV3StatsHashrateGetResponses200ContentApplicationJsonSchema,\n    },\n    400: {\n      bodyMapper: Mappers.ErrorResponse,\n      isError: true,\n    },\n  },\n  queryParameters: [\n    Parameters.limit,\n    Parameters.minStartDate,\n    Parameters.maxStartDate,\n    Parameters.intervalBy5,\n    Parameters.direction38,\n  ],\n  urlParameters: [Parameters.$host],\n  headerParameters: [Parameters.accept],\n  serializer,\n};\nconst getMinerStatsOperationSpec: coreClient.OperationSpec = {\n  path: \"/v3/stats/miners\",\n  httpMethod: \"GET\",\n  responses: {\n    200: {\n      bodyMapper:\n        Mappers.PathsA8Q6T7V3StatsMinersGetResponses200ContentApplicationJsonSchema,\n    },\n    400: {\n      bodyMapper: Mappers.ErrorResponse,\n      isError: true,\n    },\n  },\n  queryParameters: [Parameters.limit, Parameters.direction39],\n  urlParameters: [Parameters.$host],\n  headerParameters: [Parameters.accept],\n  serializer,\n};\nconst getNamesStatsOperationSpec: coreClient.OperationSpec = {\n  path: \"/v3/stats/names\",\n  httpMethod: \"GET\",\n  responses: {\n    200: {\n      bodyMapper:\n        Mappers.PathsCeyhpaV3StatsNamesGetResponses200ContentApplicationJsonSchema,\n    },\n    400: {\n      bodyMapper: Mappers.ErrorResponse,\n      isError: true,\n    },\n  },\n  queryParameters: [\n    Parameters.limit,\n    Parameters.minStartDate,\n    Parameters.maxStartDate,\n    Parameters.intervalBy6,\n    Parameters.direction40,\n  ],\n  urlParameters: [Parameters.$host],\n  headerParameters: [Parameters.accept],\n  serializer,\n};\nconst getTotalStatsOperationSpec: coreClient.OperationSpec = {\n  path: \"/v3/stats/total\",\n  httpMethod: \"GET\",\n  responses: {\n    200: {\n      bodyMapper:\n        Mappers.PathsJoz7P5V3StatsTotalGetResponses200ContentApplicationJsonSchema,\n    },\n    400: {\n      bodyMapper: Mappers.ErrorResponse,\n      isError: true,\n    },\n  },\n  queryParameters: [Parameters.limit, Parameters.scope, Parameters.direction41],\n  urlParameters: [Parameters.$host],\n  headerParameters: [Parameters.accept],\n  serializer,\n};\nconst getTotalAccountsStatsOperationSpec: coreClient.OperationSpec = {\n  path: \"/v3/stats/total-accounts\",\n  httpMethod: \"GET\",\n  responses: {\n    200: {\n      bodyMapper:\n        Mappers.Paths15F3FfuV3StatsTotalAccountsGetResponses200ContentApplicationJsonSchema,\n    },\n    400: {\n      bodyMapper: Mappers.ErrorResponse,\n      isError: true,\n    },\n  },\n  queryParameters: [\n    Parameters.limit,\n    Parameters.intervalBy7,\n    Parameters.direction42,\n  ],\n  urlParameters: [Parameters.$host],\n  headerParameters: [Parameters.accept],\n  serializer,\n};\nconst getTransactionsStatsOperationSpec: coreClient.OperationSpec = {\n  path: \"/v3/stats/transactions\",\n  httpMethod: \"GET\",\n  responses: {\n    200: {\n      bodyMapper:\n        Mappers.Paths1IfhshmV3StatsTransactionsGetResponses200ContentApplicationJsonSchema,\n    },\n    400: {\n      bodyMapper: Mappers.ErrorResponse,\n      isError: true,\n    },\n  },\n  queryParameters: [\n    Parameters.limit,\n    Parameters.minStartDate,\n    Parameters.maxStartDate,\n    Parameters.intervalBy8,\n    Parameters.txType,\n    Parameters.direction43,\n  ],\n  urlParameters: [Parameters.$host],\n  headerParameters: [Parameters.accept],\n  serializer,\n};\nconst getStatusOperationSpec: coreClient.OperationSpec = {\n  path: \"/v3/status\",\n  httpMethod: \"GET\",\n  responses: {\n    200: {\n      bodyMapper: Mappers.Status,\n    },\n  },\n  urlParameters: [Parameters.$host],\n  headerParameters: [Parameters.accept],\n  serializer,\n};\nconst getTransactionsOperationSpec: coreClient.OperationSpec = {\n  path: \"/v3/transactions\",\n  httpMethod: \"GET\",\n  responses: {\n    200: {\n      bodyMapper:\n        Mappers.Paths1Pymq07V3TransactionsGetResponses200ContentApplicationJsonSchema,\n    },\n    400: {\n      bodyMapper: Mappers.ErrorResponse,\n      isError: true,\n    },\n  },\n  queryParameters: [\n    Parameters.limit,\n    Parameters.contract,\n    Parameters.typeParam2,\n    Parameters.typeGroup,\n    Parameters.account,\n    Parameters.channel,\n    Parameters.oracle,\n    Parameters.senderId,\n    Parameters.recipientId,\n    Parameters.entrypoint,\n    Parameters.scope2,\n    Parameters.direction44,\n  ],\n  urlParameters: [Parameters.$host],\n  headerParameters: [Parameters.accept],\n  serializer,\n};\nconst getTransactionsCountOperationSpec: coreClient.OperationSpec = {\n  path: \"/v3/transactions/count\",\n  httpMethod: \"GET\",\n  responses: {\n    200: {\n      bodyMapper: { type: { name: \"Number\" } },\n    },\n  },\n  queryParameters: [Parameters.scope, Parameters.txType, Parameters.id4],\n  urlParameters: [Parameters.$host],\n  headerParameters: [Parameters.accept],\n  serializer,\n};\nconst getPendingTransactionsOperationSpec: coreClient.OperationSpec = {\n  path: \"/v3/transactions/pending\",\n  httpMethod: \"GET\",\n  responses: {\n    200: {\n      bodyMapper:\n        Mappers.PathsUq0T7JV3TransactionsPendingGetResponses200ContentApplicationJsonSchema,\n    },\n    400: {\n      bodyMapper: Mappers.ErrorResponse,\n      isError: true,\n    },\n  },\n  queryParameters: [Parameters.limit, Parameters.direction45],\n  urlParameters: [Parameters.$host],\n  headerParameters: [Parameters.accept],\n  serializer,\n};\nconst getPendingTransactionsCountOperationSpec: coreClient.OperationSpec = {\n  path: \"/v3/transactions/pending/count\",\n  httpMethod: \"GET\",\n  responses: {\n    200: {\n      bodyMapper: { type: { name: \"Number\" } },\n    },\n    400: {\n      bodyMapper: Mappers.ErrorResponse,\n      isError: true,\n    },\n  },\n  urlParameters: [Parameters.$host],\n  headerParameters: [Parameters.accept],\n  serializer,\n};\nconst getTransactionOperationSpec: coreClient.OperationSpec = {\n  path: \"/v3/transactions/{hash}\",\n  httpMethod: \"GET\",\n  responses: {\n    200: {\n      bodyMapper: Mappers.Transaction,\n    },\n    400: {\n      bodyMapper: Mappers.ErrorResponse,\n      isError: true,\n    },\n    404: {\n      bodyMapper: Mappers.NotFoundResponse,\n      isError: true,\n    },\n  },\n  urlParameters: [Parameters.$host, Parameters.hash2],\n  headerParameters: [Parameters.accept],\n  serializer,\n};\nconst getTransfersOperationSpec: coreClient.OperationSpec = {\n  path: \"/v3/transfers\",\n  httpMethod: \"GET\",\n  responses: {\n    200: {\n      bodyMapper:\n        Mappers.PathsA7P0KiV3TransfersGetResponses200ContentApplicationJsonSchema,\n    },\n    400: {\n      bodyMapper: Mappers.ErrorResponse,\n      isError: true,\n    },\n  },\n  queryParameters: [Parameters.limit, Parameters.scope, Parameters.direction46],\n  urlParameters: [Parameters.$host],\n  headerParameters: [Parameters.accept],\n  serializer,\n};\n\nexport const operationSpecs = [\n  getAccountActivitiesOperationSpec,\n  getAex141OwnedTokensOperationSpec,\n  getAex9AccountBalancesOperationSpec,\n  getAccountDexSwapsOperationSpec,\n  getAccountNameClaimsOperationSpec,\n  getAccountPointeesOperationSpec,\n  getAccountTransactionsCountOperationSpec,\n  getSortedAex141ContractsOperationSpec,\n  getAex141ContractTemplatesOperationSpec,\n  getAex141TemplateTokensOperationSpec,\n  getAex141ContractTokensOperationSpec,\n  getAex141TokenOwnerOperationSpec,\n  getAex141ContractTransfersOperationSpec,\n  getAex141ByContractOperationSpec,\n  getSortedAex9TokensOperationSpec,\n  getAex9TokensCountOperationSpec,\n  getAex9ContractBalancesOperationSpec,\n  getAex9ContractAccountBalanceOperationSpec,\n  getAex9ByContractOperationSpec,\n  getChannelsOperationSpec,\n  getChannelOperationSpec,\n  getContractCallsOperationSpec,\n  getContractLogsOperationSpec,\n  getContractOperationSpec,\n  getDexSwapsOperationSpec,\n  getDexSwapsByContractIdOperationSpec,\n  getEpochsOperationSpec,\n  getEpochTopOperationSpec,\n  getSchedulesOperationSpec,\n  getScheduleOperationSpec,\n  getValidatorsOperationSpec,\n  getValidatorOperationSpec,\n  getValidatorDelegatesOperationSpec,\n  getTopValidatorDelegatesOperationSpec,\n  getKeyBlocksOperationSpec,\n  getKeyBlockOperationSpec,\n  getKeyBlockMicroBlocksOperationSpec,\n  getMicroBlockOperationSpec,\n  getMicroBlockTransactionsOperationSpec,\n  getNamesOperationSpec,\n  getNamesAuctionsOperationSpec,\n  getNameAuctionOperationSpec,\n  getNameAuctionClaimsOperationSpec,\n  getNamesCountOperationSpec,\n  getNameOperationSpec,\n  getNameClaimsOperationSpec,\n  getNameTransfersOperationSpec,\n  getNameUpdatesOperationSpec,\n  getOraclesOperationSpec,\n  getOracleOperationSpec,\n  getOracleExtendsOperationSpec,\n  getOracleQueriesOperationSpec,\n  getOracleResponsesOperationSpec,\n  getStatsOperationSpec,\n  getActiveAccountsStatsOperationSpec,\n  getAex9TransfersStatsOperationSpec,\n  getBlocksStatsOperationSpec,\n  getContractsStatsOperationSpec,\n  getDeltaStatsOperationSpec,\n  getDifficultyStatsOperationSpec,\n  getHashrateStatsOperationSpec,\n  getMinerStatsOperationSpec,\n  getNamesStatsOperationSpec,\n  getTotalStatsOperationSpec,\n  getTotalAccountsStatsOperationSpec,\n  getTransactionsStatsOperationSpec,\n  getStatusOperationSpec,\n  getTransactionsOperationSpec,\n  getTransactionsCountOperationSpec,\n  getPendingTransactionsOperationSpec,\n  getPendingTransactionsCountOperationSpec,\n  getTransactionOperationSpec,\n  getTransfersOperationSpec,\n] as const;\n","/* eslint-disable max-classes-per-file */\nimport type Middleware from '../Middleware.js';\nimport { BaseError } from './errors.js';\n\ninterface MiddlewareRawPage<T = unknown> {\n  data: T[];\n  next: string | null;\n  prev: string | null;\n}\n\nexport function isMiddlewareRawPage(maybePage: unknown): maybePage is MiddlewareRawPage {\n  const testPage = maybePage as MiddlewareRawPage;\n  return (\n    testPage?.data != null &&\n    Array.isArray(testPage.data) &&\n    'next' in testPage &&\n    'prev' in testPage\n  );\n}\n\n/**\n * @category exception\n */\nexport class MiddlewarePageMissed extends BaseError {\n  constructor(isNext: boolean) {\n    super(`There is no ${isNext ? 'next' : 'previous'} page`);\n    this.name = 'MiddlewarePageMissed';\n  }\n}\n\n/**\n * A wrapper around the middleware's page allowing to get the next/previous pages.\n */\nexport class MiddlewarePage<Item> {\n  readonly data: Item[];\n\n  readonly nextPath: null | string;\n\n  readonly prevPath: null | string;\n\n  readonly #middleware: Middleware;\n\n  constructor(rawPage: MiddlewareRawPage<Item>, middleware: Middleware) {\n    this.data = rawPage.data;\n    this.nextPath = rawPage.next;\n    this.prevPath = rawPage.prev;\n    this.#middleware = middleware;\n  }\n\n  /**\n   * Get the next page.\n   * Check the presence of `nextPath` to not fall outside existing pages.\n   * @throws MiddlewarePageMissed\n   */\n  async next(): Promise<MiddlewarePage<Item>> {\n    if (this.nextPath == null) throw new MiddlewarePageMissed(true);\n    return this.#middleware.requestByPath(this.nextPath);\n  }\n\n  /**\n   * Get the previous page.\n   * Check the presence of `prevPath` to not fall outside existing pages.\n   * @throws MiddlewarePageMissed\n   */\n  async prev(): Promise<MiddlewarePage<Item>> {\n    if (this.prevPath == null) throw new MiddlewarePageMissed(false);\n    return this.#middleware.requestByPath(this.prevPath);\n  }\n}\n","import { OperationArguments, OperationOptions, OperationSpec } from '@azure/core-client';\nimport { userAgentPolicyName, setClientRequestIdPolicyName } from '@azure/core-rest-pipeline';\nimport {\n  genRequestQueuesPolicy,\n  genCombineGetRequestsPolicy,\n  genErrorFormatterPolicy,\n  parseBigIntPolicy,\n  genVersionCheckPolicy,\n  genRetryOnFailurePolicy,\n} from './utils/autorest.js';\nimport {\n  Middleware as MiddlewareApi,\n  MiddlewareOptionalParams,\n  ErrorResponse,\n} from './apis/middleware/index.js';\nimport { operationSpecs } from './apis/middleware/middleware.js';\nimport { IllegalArgumentError, InternalError } from './utils/errors.js';\nimport { MiddlewarePage, isMiddlewareRawPage } from './utils/MiddlewarePage.js';\n\n/**\n * @category middleware\n */\nexport default class Middleware extends MiddlewareApi {\n  /**\n   * @param url - Url for middleware API\n   * @param options - Options\n   * @param options.ignoreVersion - Print warning instead of throwing exception if middleware\n   * is not supported, use with caution\n   * @param options.retryCount - Amount of extra requests to do in case of failure\n   * @param options.retryOverallDelay - Time in ms to wait between all retries\n   */\n  constructor(\n    url: string,\n    {\n      ignoreVersion = false,\n      retryCount = 3,\n      retryOverallDelay = 800,\n      ...options\n    }: MiddlewareOptionalParams & {\n      ignoreVersion?: boolean;\n      retryCount?: number;\n      retryOverallDelay?: number;\n    } = {},\n  ) {\n    let version: string | undefined;\n    const getVersion = async (opts: OperationOptions): Promise<string> => {\n      if (version != null) return version;\n      version = (await this.getStatus(opts)).mdwVersion;\n      return version;\n    };\n\n    // eslint-disable-next-line constructor-super\n    super(url, {\n      allowInsecureConnection: true,\n      additionalPolicies: [\n        genVersionCheckPolicy('middleware', getVersion, '1.81.0', '2.0.0', ignoreVersion),\n        genRequestQueuesPolicy(),\n        genCombineGetRequestsPolicy(),\n        genRetryOnFailurePolicy(retryCount, retryOverallDelay),\n        genErrorFormatterPolicy((body: ErrorResponse) => ` ${body.error}`),\n      ],\n      ...options,\n    });\n    this.pipeline.addPolicy(parseBigIntPolicy, { phase: 'Deserialize' });\n    this.pipeline.removePolicy({ name: userAgentPolicyName });\n    this.pipeline.removePolicy({ name: setClientRequestIdPolicyName });\n    // TODO: use instead our retry policy\n    this.pipeline.removePolicy({ name: 'defaultRetryPolicy' });\n  }\n\n  /**\n   * Get a middleware response by path instead of a method name and arguments.\n   * @param pathWithQuery - a path to request starting with `/v3/`\n   */\n  async requestByPath<Response = unknown>(pathWithQuery: string): Promise<Response> {\n    const queryPos = pathWithQuery.indexOf('?');\n    const path = pathWithQuery.slice(0, queryPos === -1 ? pathWithQuery.length : queryPos);\n    const query = pathWithQuery.slice(queryPos === -1 ? pathWithQuery.length : queryPos + 1);\n\n    const operationSpec = operationSpecs.find((os) => {\n      let p = path;\n      if (os.path == null) return false;\n      const groups = os.path.replace(/{\\w+}/g, '{param}').split('{param}');\n      while (groups.length > 0) {\n        const part = groups.shift();\n        if (part == null) throw new InternalError(`Unexpected operation spec path: ${os.path}`);\n        if (!p.startsWith(part)) return false;\n        p = p.replace(part, '');\n        if (groups.length > 0) p = p.replace(/^[\\w.]+/, '');\n      }\n      return p === '';\n    });\n    if (operationSpec == null) {\n      throw new IllegalArgumentError(`Can't find operation spec corresponding to ${path}`);\n    }\n\n    return this.sendOperationRequest(\n      {},\n      {\n        ...operationSpec,\n        path,\n        urlParameters: operationSpec.urlParameters?.filter(\n          ({ parameterPath }) => parameterPath === '$host',\n        ),\n        queryParameters: Array.from(new URLSearchParams(query)).map(([key, value]) => ({\n          parameterPath: ['options', key],\n          mapper: {\n            defaultValue: value.toString(),\n            serializedName: key,\n            type: {\n              name: 'String',\n            },\n          },\n        })),\n      },\n    );\n  }\n\n  override async sendOperationRequest<T>(\n    operationArguments: OperationArguments,\n    operationSpec: OperationSpec,\n  ): Promise<T> {\n    const response = await super.sendOperationRequest(operationArguments, operationSpec);\n    if (!isMiddlewareRawPage(response)) return response as T;\n    return new MiddlewarePage(response, this) as T;\n  }\n}\n","import BrowserConnection from './connection/Browser.js';\n\n/**\n * Browser connection proxy\n * Provide functionality to easily forward messages from one connection to another and back\n * @category aepp wallet communication\n * @param con1 - first connection\n * @param con2 - second connection\n * @returns a function to stop proxying\n */\nexport default (con1: BrowserConnection, con2: BrowserConnection): (() => void) => {\n  con1.connect(\n    (msg: any) => con2.sendMessage(msg),\n    () => con2.disconnect(),\n  );\n  con2.connect(\n    (msg: any) => con1.sendMessage(msg),\n    () => con1.disconnect(),\n  );\n\n  return () => {\n    con1.disconnect();\n    con2.disconnect();\n  };\n};\n","import { AlreadyConnectedError, NoWalletConnectedError } from '../../utils/errors.js';\n\n/**\n * Browser connection base interface\n * @category aepp wallet communication\n */\nexport default abstract class BrowserConnection {\n  debug: boolean;\n\n  protected constructor({ debug = false }: { debug?: boolean }) {\n    this.debug = debug;\n  }\n\n  /**\n   * Connect\n   * @param onMessage - Message handler\n   * @param onDisconnect - trigger when runtime connection in closed\n   */\n  connect(\n    // eslint-disable-next-line @typescript-eslint/no-unused-vars\n    onMessage: (message: any, origin: string, source: any) => void,\n    // eslint-disable-next-line @typescript-eslint/no-unused-vars\n    onDisconnect: () => void,\n  ): void {\n    if (this.isConnected()) throw new AlreadyConnectedError('You already connected');\n  }\n\n  /**\n   * Disconnect\n   */\n  disconnect(): void {\n    if (!this.isConnected())\n      throw new NoWalletConnectedError('You dont have connection. Please connect before');\n  }\n\n  /**\n   * Receive message\n   */\n  protected receiveMessage(message: any): void {\n    if (this.debug) console.log('Receive message:', message);\n  }\n\n  /**\n   * Send message\n   */\n  sendMessage(message: any): void {\n    if (this.debug) console.log('Send message:', message);\n  }\n\n  /**\n   * Check if connected\n   * @returns Is connected\n   */\n  abstract isConnected(): boolean;\n}\n","import BrowserConnection from './Browser.js';\nimport { MESSAGE_DIRECTION } from '../schema.js';\nimport { InternalError, RpcConnectionError } from '../../utils/errors.js';\n\nexport type ImplPostMessage = Pick<\n  Window,\n  'addEventListener' | 'removeEventListener' | 'postMessage'\n>;\n\n/**\n * Browser window Post Message connector module\n * @category aepp wallet communication\n */\nexport default class BrowserWindowMessageConnection extends BrowserConnection {\n  origin?: string;\n\n  sendDirection?: MESSAGE_DIRECTION;\n\n  receiveDirection: MESSAGE_DIRECTION;\n\n  listener?: (this: Window, ev: MessageEvent<any>) => void;\n\n  #onDisconnect?: () => void;\n\n  readonly #target?: ImplPostMessage;\n\n  readonly #self: ImplPostMessage;\n\n  /**\n   * @param options - Options\n   * @param options.target Target window for message\n   * @param options.self Host window for message\n   * @param options.origin Origin of receiver\n   * @param options.sendDirection Wrapping messages into additional struct\n   * `({ type: 'to_aepp' || 'to_waellet', data })`\n   * Used for handling messages between content script and page\n   * @param options.receiveDirection Unwrapping messages from additional struct\n   */\n  constructor({\n    target,\n    self = window,\n    origin,\n    sendDirection,\n    receiveDirection = MESSAGE_DIRECTION.to_aepp,\n    ...options\n  }: {\n    target?: ImplPostMessage;\n    self?: ImplPostMessage;\n    origin?: string;\n    sendDirection?: MESSAGE_DIRECTION;\n    receiveDirection?: MESSAGE_DIRECTION;\n    debug?: boolean;\n  } = {}) {\n    super(options);\n    this.#target = target;\n    this.#self = self;\n    this.origin = origin;\n    this.sendDirection = sendDirection;\n    this.receiveDirection = receiveDirection;\n  }\n\n  isConnected(): boolean {\n    return this.listener != null;\n  }\n\n  override connect(\n    onMessage: (message: any, origin: string, source: MessageEventSource | null) => void,\n    onDisconnect: () => void,\n  ): void {\n    super.connect(onMessage, onDisconnect);\n    this.listener = (message: MessageEvent<any>) => {\n      // TODO: strict validate origin and source instead of checking message structure\n      if (\n        typeof message.data !== 'object' ||\n        (message.data.jsonrpc ?? message.data.data?.jsonrpc) !== '2.0'\n      )\n        return;\n      if (this.origin != null && this.origin !== message.origin) return;\n      if (this.#target != null && this.#target !== message.source) return;\n      this.receiveMessage(message);\n      let { data } = message;\n      if (data.type != null) {\n        if (message.data.type !== this.receiveDirection) return;\n        data = data.data;\n      }\n      onMessage(data, message.origin, message.source);\n    };\n    this.#self.addEventListener('message', this.listener);\n    this.#onDisconnect = onDisconnect;\n  }\n\n  override disconnect(): void {\n    super.disconnect();\n    if (this.listener == null || this.#onDisconnect == null) {\n      throw new InternalError('Expected to not happen, required for TS');\n    }\n    this.#self.removeEventListener('message', this.listener);\n    delete this.listener;\n    this.#onDisconnect();\n    this.#onDisconnect = undefined;\n  }\n\n  override sendMessage(msg: any): void {\n    if (this.#target == null) throw new RpcConnectionError(\"Can't send messages without target\");\n    const message = this.sendDirection != null ? { type: this.sendDirection, data: msg } : msg;\n    super.sendMessage(message);\n    this.#target.postMessage(message, this.origin ?? '*');\n  }\n}\n","import BrowserConnection from './connection/Browser.js';\nimport BrowserWindowMessageConnection from './connection/BrowserWindowMessage.js';\nimport { MESSAGE_DIRECTION, METHODS } from './schema.js';\nimport { WalletInfo } from './rpc/types.js';\nimport { UnsupportedPlatformError } from '../utils/errors.js';\n\ninterface Wallet {\n  info: WalletInfo;\n  getConnection: () => BrowserWindowMessageConnection;\n}\ninterface Wallets {\n  [key: string]: Wallet;\n}\n\n/**\n * A function to detect available wallets\n * @category aepp wallet communication\n * @param connection - connection to use to detect wallets\n * @param onDetected - call-back function which trigger on new wallet\n * @returns a function to stop scanning\n */\nexport default (\n  connection: BrowserConnection,\n  onDetected: ({ wallets, newWallet }: { wallets: Wallets; newWallet: Wallet }) => void,\n): (() => void) => {\n  if (window == null)\n    throw new UnsupportedPlatformError(\n      'Window object not found, you can run wallet detector only in browser',\n    );\n  const wallets: Wallets = {};\n\n  connection.connect(\n    (\n      { method, params }: { method: string; params: WalletInfo },\n      origin: string,\n      source: Window,\n    ) => {\n      if (method !== METHODS.readyToConnect || wallets[params.id] != null) return;\n\n      const wallet = {\n        info: params,\n        getConnection() {\n          return new BrowserWindowMessageConnection({\n            target: source,\n            ...(params.type === 'extension'\n              ? {\n                  sendDirection: MESSAGE_DIRECTION.to_waellet,\n                  receiveDirection: MESSAGE_DIRECTION.to_aepp,\n                  ...(window.origin !== 'null' && { origin: window.origin }),\n                }\n              : {\n                  origin: params.origin,\n                }),\n          });\n        },\n      };\n      wallets[wallet.info.id] = wallet;\n      onDetected({ wallets, newWallet: wallet });\n    },\n    () => {},\n  );\n\n  return () => connection.disconnect();\n};\n","import { Runtime } from 'webextension-polyfill';\nimport BrowserConnection from './Browser.js';\nimport { UnexpectedTsError } from '../../utils/errors.js';\n\n/**\n * BrowserRuntimeConnection\n * Handle browser runtime communication\n * @category aepp wallet communication\n */\nexport default class BrowserRuntimeConnection extends BrowserConnection {\n  port: Runtime.Port;\n\n  #listeners?: [(message: any, port: Runtime.Port) => void, () => void];\n\n  /**\n   * @param options - Options\n   */\n  constructor({ port, ...options }: { port: Runtime.Port; debug?: boolean }) {\n    super(options);\n    this.port = port;\n  }\n\n  override disconnect(): void {\n    super.disconnect();\n    this.port.disconnect();\n    if (this.#listeners == null) throw new UnexpectedTsError();\n    this.port.onMessage.removeListener(this.#listeners[0]);\n    this.port.onDisconnect.removeListener(this.#listeners[1]);\n    this.#listeners = undefined;\n  }\n\n  override connect(\n    onMessage: (message: any, origin: string, source: Runtime.Port) => void,\n    onDisconnect: () => void,\n  ): void {\n    super.connect(onMessage, onDisconnect);\n    this.#listeners = [\n      (message, port) => {\n        this.receiveMessage(message);\n        // TODO: make `origin` optional because sender url is not available on aepp side\n        onMessage(message, port.sender?.url ?? '', port);\n      },\n      onDisconnect,\n    ];\n    this.port.onMessage.addListener(this.#listeners[0]);\n    this.port.onDisconnect.addListener(this.#listeners[1]);\n  }\n\n  override sendMessage(message: any): void {\n    super.sendMessage(message);\n    this.port.postMessage(message);\n  }\n\n  isConnected(): boolean {\n    return this.#listeners != null;\n  }\n}\n"],"names":["root","factory","exports","module","require","define","amd","self","__WEBPACK_EXTERNAL_MODULE__6168__","__WEBPACK_EXTERNAL_MODULE__833__","__WEBPACK_EXTERNAL_MODULE__18__","__WEBPACK_EXTERNAL_MODULE__1655__","__WEBPACK_EXTERNAL_MODULE__4578__","__WEBPACK_EXTERNAL_MODULE__6514__","__WEBPACK_EXTERNAL_MODULE__1081__","__WEBPACK_EXTERNAL_MODULE__2853__","__WEBPACK_EXTERNAL_MODULE__6016__","__WEBPACK_EXTERNAL_MODULE__1891__","__WEBPACK_EXTERNAL_MODULE__4146__","__WEBPACK_EXTERNAL_MODULE__8380__","__WEBPACK_EXTERNAL_MODULE__5196__","__WEBPACK_EXTERNAL_MODULE__8963__","__WEBPACK_EXTERNAL_MODULE__761__","__WEBPACK_EXTERNAL_MODULE__7250__","util","ADD64AA","v","a","b","o0","o1","ADD64AC","b0","b1","B2B_GET32","arr","i","B2B_G","c","d","ix","iy","x0","m","x1","y0","y1","xor0","xor1","BLAKE2B_IV32","Uint32Array","SIGMA82","Uint8Array","map","x","blake2bCompress","ctx","last","h","t","parameterBlock","blake2bInit","outlen","key","salt","personal","Error","length","fill","set","blake2bUpdate","input","blake2bFinal","out","blake2b","normalizeInput","blake2bHex","output","toHex","uint32ToHex","val","toString","substring","ret","TextEncoder","encode","bytes","Array","prototype","call","n","join","debugPrint","label","size","msg","toUpperCase","console","log","testSpeed","hashFn","N","M","startMs","Date","getTime","genMs","hashHex","hashMs","ms","Math","round","bind","$apply","$call","$reflectApply","actualApply","arguments","Function","apply","$TypeError","$actualApply","args","Reflect","setFunctionLength","$defineProperty","callBindBasic","applyBind","originalFunction","func","adjustedLength","value","GetIntrinsic","$indexOf","name","allowMissing","intrinsic","$SyntaxError","gopd","obj","property","nonEnumerable","nonWritable","nonConfigurable","loose","desc","configurable","enumerable","writable","hasProtoAccessor","callBind","gOPD","__proto__","e","code","Object","$Object","$getPrototypeOf","getPrototypeOf","get","defineProperty","EvalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError","isCallable","toStr","hasOwnProperty","list","iterator","thisArg","receiver","array","len","forEachArray","string","charAt","forEachString","object","k","forEachObject","max","concatty","j","that","target","this","bound","arrLike","slicy","boundLength","boundArgs","str","joiny","result","Empty","implementation","undefined","$Error","$EvalError","$RangeError","$ReferenceError","$URIError","abs","floor","min","pow","sign","$Function","getEvalledConstructor","expressionSyntax","$gOPD","throwTypeError","ThrowTypeError","calleeThrows","gOPDthrows","hasSymbols","getProto","$ObjectGPO","$ReflectGPO","needsEval","TypedArray","INTRINSICS","AggregateError","ArrayBuffer","Symbol","Atomics","BigInt","BigInt64Array","BigUint64Array","Boolean","DataView","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","eval","Float16Array","Float32Array","Float64Array","FinalizationRegistry","Int8Array","Int16Array","Int32Array","isFinite","isNaN","JSON","Map","Number","parseFloat","parseInt","Promise","Proxy","RegExp","Set","SharedArrayBuffer","String","Uint8ClampedArray","Uint16Array","WeakMap","WeakRef","WeakSet","error","errorProto","doEval","fn","gen","LEGACY_ALIASES","hasOwn","$concat","concat","$spliceApply","splice","$replace","replace","$strSlice","slice","$exec","exec","rePropName","reEscapeChar","getBaseIntrinsic","alias","intrinsicName","parts","first","match","number","quote","subString","stringToPath","intrinsicBaseName","intrinsicRealName","skipFurtherCaching","isOwn","part","reflectGetProto","originalGetProto","getDunderProto","O","getOwnPropertyDescriptor","hasPropertyDescriptors","hasArrayLengthDefineBug","origSymbol","hasSymbolSham","getOwnPropertySymbols","sym","symObj","_","keys","getOwnPropertyNames","syms","propertyIsEnumerable","descriptor","toStringTag","$hasOwn","create","ctor","superCtor","super_","constructor","TempCtor","badArrayLike","isCallableMarker","fnToStr","reflectApply","constructorRegex","isES6ClassFn","fnStr","test","tryFunctionObject","hasToStringTag","isIE68","isDDA","document","all","strClass","whichTypedArray","isArray","$isNaN","buffer","Buffer","copyProps","src","dst","SafeBuffer","arg","encodingOrOffset","from","alloc","allocUnsafe","allocUnsafeSlow","encoding","buf","SlowBuffer","hasDescriptors","$floor","functionLengthIsConfigurable","functionLengthIsWritable","toBuffer","Hash","blockSize","finalSize","_block","_finalSize","_blockSize","_len","update","data","enc","block","accum","offset","assigned","remainder","_update","digest","rem","bits","writeUInt32BE","lowBits","highBits","hash","_hash","inherits","K","W","Sha256","init","_w","ch","y","z","maj","sigma0","sigma1","gamma0","_a","_b","_c","_d","_e","_f","_g","_h","w","f","g","readInt32BE","T1","T2","H","writeInt32BE","typedArrayBuffer","isView","useUint8Array","useArrayBuffer","useFromArrayBuffer","TYPED_ARRAY_SUPPORT","isBuffer","byteLength","res","byteOffset","uint8","isArr","$typedArrayBuffer","callBound","isTypedArray","forEach","availableTypedArrays","$toString","globalThis","typedArrays","$slice","cache","typedArray","proto","superProto","tag","found","getter","trySlices","tryTypedArrays","possibleNames","parent","it","sham","path","WrappedWellKnownSymbolModule","tryToString","argument","isPossiblePrototype","$String","isObject","toIndexedObject","toAbsoluteIndex","lengthOfArrayLike","createMethod","IS_INCLUDES","$this","el","fromIndex","index","includes","indexOf","uncurryThis","IndexedObject","toObject","arraySpeciesCreate","push","TYPE","IS_MAP","IS_FILTER","IS_SOME","IS_EVERY","IS_FIND_INDEX","IS_FILTER_REJECT","NO_HOLES","callbackfn","specificCreate","boundFunction","filter","some","every","find","findIndex","filterReject","fails","wellKnownSymbol","V8_VERSION","SPECIES","METHOD_NAME","foo","isConstructor","$Array","originalArray","C","arraySpeciesConstructor","stringSlice","TO_STRING_TAG_SUPPORT","classofRaw","TO_STRING_TAG","CORRECT_ARGUMENTS","tryGet","callee","F","done","DESCRIPTORS","definePropertyModule","createPropertyDescriptor","bitmap","createNonEnumerableProperty","options","EXISTS","createElement","CSSRuleList","CSSStyleDeclaration","CSSValueList","ClientRectList","DOMRectList","DOMStringList","DOMTokenList","DataTransferItemList","FileList","HTMLAllCollection","HTMLCollection","HTMLFormElement","HTMLSelectElement","MediaList","MimeTypeArray","NamedNodeMap","NodeList","PaintRequestList","Plugin","PluginArray","SVGLengthList","SVGNumberList","SVGPathSegList","SVGPointList","SVGStringList","SVGTransformList","SourceBufferList","StyleSheetList","TextTrackCueList","TextTrackList","TouchList","navigator","userAgent","version","process","Deno","versions","v8","split","isForced","wrapConstructor","NativeConstructor","Wrapper","source","FORCED","USE_NATIVE","VIRTUAL_PROTOTYPE","sourceProperty","targetProperty","nativeProperty","resultProperty","TARGET","GLOBAL","global","STATIC","stat","PROTO","nativeSource","targetPrototype","forced","dontCallGetSet","wrap","real","NATIVE_BIND","FunctionPrototype","aCallable","getDescriptor","PROPER","CONFIGURABLE","method","uncurryThisWithBind","aFunction","variable","namespace","classof","replacer","rawLength","element","keysLength","isNullOrUndefined","V","P","check","window","getBuiltIn","store","functionToString","inspectSource","has","NATIVE_WEAK_MAP","shared","sharedKey","hiddenKeys","OBJECT_ALREADY_INITIALIZED","state","metadata","facade","STATE","enforce","getterFor","type","documentAll","noop","construct","constructorRegExp","INCORRECT_TO_STRING","isConstructorModern","isConstructorLegacy","called","replacement","feature","detection","normalize","POLYFILL","NATIVE","toLowerCase","isPrototypeOf","USE_SYMBOL_AS_UID","$Symbol","IteratorPrototype","setToStringTag","Iterators","returnThis","IteratorConstructor","NAME","next","ENUMERABLE_NEXT","$","IS_PURE","FunctionName","createIteratorConstructor","setPrototypeOf","defineBuiltIn","IteratorsCore","PROPER_FUNCTION_NAME","CONFIGURABLE_FUNCTION_NAME","BUGGY_SAFARI_ITERATORS","ITERATOR","KEYS","VALUES","ENTRIES","Iterable","DEFAULT","IS_SET","CurrentIteratorPrototype","methods","KEY","getIterationMethod","KIND","defaultIterator","IterablePrototype","INCORRECT_VALUES_NAME","nativeIterator","anyNativeIterator","entries","values","PrototypeOfArrayIteratorPrototype","arrayIterator","toLength","ceil","trunc","activeXDocument","anObject","definePropertiesModule","enumBugKeys","html","documentCreateElement","PROTOTYPE","SCRIPT","IE_PROTO","EmptyConstructor","scriptTag","content","LT","NullProtoObjectViaActiveX","write","close","temp","parentWindow","NullProtoObject","ActiveXObject","iframeDocument","iframe","JS","domain","style","display","appendChild","contentWindow","open","Properties","V8_PROTOTYPE_DEFINE_BUG","objectKeys","defineProperties","props","IE8_DOM_DEFINE","toPropertyKey","$getOwnPropertyDescriptor","ENUMERABLE","WRITABLE","Attributes","current","propertyIsEnumerableModule","$getOwnPropertyNames","arraySlice","windowNames","getWindowNames","internalObjectKeys","CORRECT_PROTOTYPE_GETTER","ObjectPrototype","names","$propertyIsEnumerable","NASHORN_BUG","uncurryThisAccessor","requireObjectCoercible","aPossiblePrototype","setter","CORRECT_SETTER","pref","valueOf","TAG","SET_METHOD","uid","defineGlobalProperty","SHARED","mode","copyright","license","toIntegerOrInfinity","charCodeAt","CONVERT_TO_STRING","pos","second","S","position","codeAt","symbol","SymbolPrototype","TO_PRIMITIVE","hint","arity","keyFor","thisSymbolValue","isRegisteredSymbol","isSymbol","$isWellKnownSymbol","isWellKnownSymbol","WellKnownSymbolsStore","symbolKeys","symbolKeysLength","symbolKey","NATIVE_SYMBOL","integer","getMethod","ordinaryToPrimitive","exoticToPrim","toPrimitive","id","postfix","random","wrappedWellKnownSymbolModule","createWellKnownSymbol","withoutSetter","doesNotExceedSafeInteger","createProperty","arrayMethodHasSpeciesSupport","IS_CONCAT_SPREADABLE","IS_CONCAT_SPREADABLE_SUPPORT","isConcatSpreadable","spreadable","E","A","addToUnscopables","InternalStateModule","defineIterator","createIterResultObject","ARRAY_ITERATOR","setInternalState","getInternalState","iterated","kind","Arguments","getReplacerFunction","$stringify","numberToString","tester","low","hi","WRONG_SYMBOLS_CONVERSION","ILL_FORMED_UNICODE","stringifyWithSymbolsFix","$replacer","fixIllFormed","prev","stringify","space","getOwnPropertySymbolsModule","$getOwnPropertySymbols","STRING_ITERATOR","point","defineWellKnownSymbol","nativeObjectCreate","getOwnPropertyNamesModule","getOwnPropertyNamesExternal","getOwnPropertyDescriptorModule","defineBuiltInAccessor","defineSymbolToPrimitive","$forEach","HIDDEN","SYMBOL","QObject","nativeGetOwnPropertyDescriptor","nativeDefineProperty","nativeGetOwnPropertyNames","nativePropertyIsEnumerable","AllSymbols","ObjectPrototypeSymbols","USE_SETTER","findChild","fallbackDefineProperty","ObjectPrototypeDescriptor","setSymbolDescriptor","description","$defineProperties","properties","IS_OBJECT_PROTOTYPE","unsafe","useSetter","useSimple","NATIVE_SYMBOL_REGISTRY","StringToSymbolRegistry","SymbolToStringRegistry","METADATA","isRegistered","isWellKnown","DOMIterables","COLLECTION_NAME","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","__esModule","definition","o","prop","r","bigNumber","integerValue","BigNumber","BaseError","message","super","AccountError","AensError","AeppError","ChannelError","CompilerError","ContractError","CryptographyError","NodeError","TransactionError","WalletError","ArgumentError","argumentName","requirement","argumentValue","IllegalArgumentError","ArgumentCountMismatchError","functionName","requiredCount","providedCount","InsufficientBalanceError","MissingParamError","NoSerializerFoundError","RequestTimedOutError","height","TxTimedOutError","blocks","th","UnsupportedPlatformError","UnsupportedProtocolError","NotImplementedError","UnsupportedVersionError","dependency","geVersion","ltVersion","LogicError","InternalError","UnexpectedTsError","UnavailableAccountError","address","AensPointerContextError","nameOrId","prefix","InsufficientNameFeeError","nameFee","minNameFee","InvalidAensNameError","InvalidRpcMessageError","MissingCallbackError","UnAuthorizedAccountError","onAccount","UnknownRpcClientError","UnsubscribedAccountError","ChannelCallError","ChannelConnectionError","ChannelPingTimedOutError","UnexpectedChannelMessageError","ChannelIncomingMessageError","handlerError","incomingMessage","UnknownChannelStateError","InvalidAuthDataError","BytecodeMismatchError","details","DuplicateContractError","InactiveContractError","contractAddress","InvalidMethodInvocationError","MissingContractAddressError","MissingContractDefError","MissingFunctionNameError","NodeInvocationError","transaction","NoSuchContractFunctionError","NotPayableFunctionError","amount","MissingEventDefinitionError","eventNameHash","eventAddress","AmbiguousEventDefinitionError","matchedEvents","InvalidChecksumError","MerkleTreeHashMismatchError","MissingNodeInTreeError","UnknownNodeLengthError","nodeLength","UnknownPathNibbleError","nibble","DuplicateNodeError","NodeNotFoundError","DecodeError","PayloadLengthError","DryRunError","IllegalBidFeeError","InvalidSignatureError","PrefixNotFoundError","SchemaNotFoundError","TagNotFoundError","TxNotInChainError","txHash","AlreadyConnectedError","NoWalletConnectedError","RpcConnectionError","AE_AMOUNT_FORMATS","DENOMINATION_MAGNITUDE","AE","MILI_AE","MICRO_AE","NANO_AE","PICO_AE","FEMTO_AE","AETTOS","formatAmount","denomination","targetDenomination","isInteger","shiftedBy","toFixed","toAe","toAettos","prefixes","magnitude","getNearestPrefix","exponent","reduce","p","getLowerBoundPrefix","_prefixes$find","prefixedAmount","rawValue","_value$e","exp","precision","pause","async","resolve","setTimeout","duration","mapObject","fromEntries","concatBuffers","totalLength","isKeyOfObject","isItemOfArray","item","isAccountNotFoundError","RestError","statusCode","ensureError","wrapWithProxy","valueCb","Encoding","sha256hash","base64Types","ContractBytearray","ContractStoreKey","ContractStoreValue","Transaction","OracleQuery","OracleResponse","State","Poi","StateTrees","CallStateTree","Bytearray","base58Types","KeyBlockHash","MicroBlockHash","BlockPofHash","BlockTxHash","BlockStateHash","Channel","ContractAddress","TxHash","OracleAddress","OracleQueryId","AccountAddress","AccountSecretKey","Signature","Commitment","PeerPubkey","Name","byteSizeForType","ensureValidLength","reqLen","getChecksum","payload","addChecksum","getPayload","equals","base64","decode","base58","bs58","parseType","maybeType","base64Type","base58Type","encodedPayload","extra","encoder","isAddressValid","maybeEncoded","encodings","ensureEncoded","isEncoded","genSalt","nacl","MAX_SAFE_INTEGER","encodeUnsigned","binary","subarray","verifySignature","signature","detached","verify","encodeVarUInt","messagePrefix","messagePrefixLength","hashMessage","verifyMessageSignature","toBytes","big","hexString","DRY_RUN_ACCOUNT","pub","MAX_AUTH_FUN_GAS","MIN_GAS_PRICE","NAME_FEE_MULTIPLIER","NAME_FEE_BID_INCREMENT","NAME_BID_TIMEOUT_BLOCKS","NAME_MAX_LENGTH_FEE","NAME_BID_RANGES","times","ConsensusProtocolVersion","VmVersion","AbiVersion","Tag","buildContractId","owner","nonce","oracleQueryId","senderId","oracleId","nonceBE","_int32","AENS_SUFFIX","nameToPunycode","maybeName","suffix","other","at","punycode","u","URL","username","password","port","search","pathname","host","produceNameId","commitmentHash","padStart","readInt","ensureName","isName","encodingToPointerKey","getDefaultPointerKey","identifier","getMinimumNameFee","nameLength","computeBidFee","startFee","increment","plus","computeAuctionEndBlock","claimHeight","_ref","_ref2","_ref3","isAuctionName","_getPollInterval","_expectedMineRate","_microBlockCycle","onNode","networkId","getNetworkId","_isHyperchain","getEventInterval","heightCache","getHeight","cached","_wrappedValue","time","now","getCurrentKeyBlockHeight","poll","interval","tx","getTransactionByHash","blockHeight","ttl","awaitHeight","currentHeight","waitForTxConfirm","confirm","newBlockHeight","getAccount","getAccountByPubkeyAndHeight","getAccountByPubkeyAndHash","getAccountByPubkey","getBalance","format","addr","startsWith","balance","catch","getCurrentGeneration","getGeneration","hashOrHeight","getGenerationByHeight","getGenerationByHash","getMicroBlockTransactions","getMicroBlockTransactionsByHash","transactions","getKeyBlock","getKeyBlockByHeight","getKeyBlockByHash","getMicroBlockHeader","getMicroBlockHeaderByHash","txDryRunRequests","txDryRunHandler","rs","delete","dryRunRes","top","protectedDryRunTxs","txEvents","txs","req","accounts","accountAddress","pubKey","reject","results","reason","resultPayload","idx","assign","txDryRun","combine","_txDryRunRequests$get","requests","_requests$timeout","timeout","getContractByteCode","contractId","getContractCode","getContract","getName","getNameEntryByName","resolveName","resolveByNode","pointer","pointers","ProtocolToVmAbi","Ceres","vmVersion","Fate3","abiVersion","Fate","NoAbi","getProtocolDetails","protocolVersion","_protocol$vmVersion$","protocol","Fate2","serialize","params","consensusProtocolVersion","prepare","getNodeInfo","deserialize","vm","abi","_getProtocolDetails","ContractCallTx","GaMetaTx","idTagToEncoding","genAddressField","hashId","idTag","readUIntBE","genArrayField","itemHandler","items","buffers","uInt","serializeAettos","genEncodedField","optional","encodedData","genEntryField","txParams","packEntry","unpackEntry","genEnumerationField","enm","gasPriceCache","getCachedIncreasedGasPrice","node","gasPrice","minGasPrice","utilization","getRecentGasPrices","maxSafeGasPrice","warn","coinAmount","getOracleRelativeTtl","ttlKeys","OracleRegisterTx","OracleExtendTx","OracleQueryTx","OracleRespondTx","buildGas","builtTx","unpackTx","buildTx","txObject","innerTxSize","PayingForTx","encodedTx","txType","_feeFactors","ChannelForceProgressTx","ChannelOffChainTx","ContractCreateTx","GaAttachTx","TX_BASE_GAS","TX_OTHER_GAS","txSize","relativeTtl","gasPricePrefix","_value","rebuildTx","_computingMinFee","_canIncreaseFee","minFee","previousFee","fee","eq","calculateMinFee","dividedBy","gt","shortUInt","_computingGasLimit","gasMax","gasLimitMax","calculateGasLimitMax","gasLimit","field","txFields","parameters","addressName","genNonceField","senderKey","strategy","getAccountNextNonce","nextNonce","ID_TAG","DATA_TAG","addressAny","allowRaw","bKey","bId","getOracleByPubkey","queryFee","genShortUIntConstField","constValue","constValueOptional","genTransactionField","absoluteTtl","withDefault","defaultValue","withFormatting","CallReturnType","EntryTag","ORACLE_TTL_TYPES","transactionAny","transactionSignedTx","SignedTx","entryTreesPoi","entry","TreesPoi","clientTtl","nameTtl","NAME_TTL","txSchema","shortUIntConst","signatures","raw","SpendTx","recipientId","encoded","NamePreclaimTx","accountId","commitmentId","NameClaimTx","nameSalt","NameUpdateTx","nameId","NameTransferTx","NameRevokeTx","ownerId","ctVersion","deposit","callData","callerId","queryFormat","responseFormat","oracleTtlType","delta","enumeration","oracleTtlValue","query","queryTtlType","queryTtlValue","responseTtlType","responseTtlValue","queryId","response","ChannelCreateTx","initiator","initiatorAmount","responder","responderAmount","channelReserve","lockPeriod","initiatorDelegateIds","responderDelegateIds","stateHash","ChannelCloseMutualTx","channelId","fromId","initiatorAmountFinal","responderAmountFinal","ChannelCloseSoloTx","poi","ChannelSlashTx","ChannelDepositTx","ChannelWithdrawTx","toId","ChannelSettleTx","offChainTrees","ChannelSnapshotSoloTx","authFun","gaId","authData","payerId","getSchema","schemas","subSchemas","s","defaultSchema","schema","packRecord","extraParams","rlpEncode","unpackRecord","encodedRecord","expectedTag","rlpDecode","readUintBE","genMapField","Mtree","MtreeValue","recursiveType","NodeType","_rootHash","_isComplete","_nodes","_encoding","_tag","_unpackEntry","_MPTree_brand","MPTree","isComplete","_classPrivateFieldGet","unpEnt","_classPrivateFieldInitSpec","_classPrivateFieldSet","_nodeHash","_parseNode","Branch","Extension","Leaf","isEqual","tree","mptHash","_assertClassBrand","_getRaw","_entriesRaw","_key","searchFrom","rec","genMPTreeField","genWrappedField","_MPTree","entryMtreeValueArray","mapContracts","Contract","mapAccounts","Account","mapCalls","ContractCall","mapChannels","mapNames","mapOracles","Oracle","flags","gaContract","gaAuthFun","status","active","boolean","referers","callerNonce","gasUsed","returnValue","returnType","channelAmount","soloRound","lockedUntil","initiatorAuth","responderAuth","ChannelOffChainUpdateTransfer","to","ChannelOffChainUpdateDeposit","ChannelOffChainUpdateWithdraw","ChannelOffChainUpdateCreateContract","ChannelOffChainUpdateCallContract","caller","contract","callStack","mptree","calls","channels","contracts","ns","oracles","wrapped","ContractsMtree","CallsMtree","ChannelsMtree","NameserviceMtree","OraclesMtree","AccountsMtree","GaMetaTxAuthData","encodingTag","_encodingTag$find$","getSchemaCommon","overrideParams","buildTxAsync","buildTxHash","rawTx","buildContractIdByContractTx","contractTx","verCmp","getComponents","aComponents","bComponents","base","componentsToNumber","components","reverse","acc","semverSatisfies","bigIntPrefix","createSerializer","serializer","createSerializerOrig","mapper","objectName","serializedName","responseBody","safeLength","bigIntPropertyRe","bigIntArrayItemRe","parseBigIntPolicy","sendRequest","request","bodyAsText","replaceAll","matched","end","genRequestQueuesPolicy","requestQueues","policy","_requestQueues$get","headers","getResponse","then","genCombineGetRequestsPolicy","pendingGetRequests","_pendingGetRequests$g","url","body","genAggressiveCacheGetResponsesPolicy","getRequests","_getRequests$get","genErrorFormatterPolicy","getMessage","parsedBody","genVersionCheckPolicy","versionCb","ignoreVersion","requestOptions","customHeaders","genRetryOnFailurePolicy","retryCount","retryOverallDelay","_request$headers$get","retryCode","NaN","statusesToNotRetry","intervals","intervalSum","intervalsInMs","attempt","urlParsed","searchParams","_e$response$status","className","modelProperties","required","constraints","InclusiveMinimum","InclusiveMaximum","payable","allowedValues","ErrorModel","errorCode","NextNonceResponse","SignedTxs","blockHash","Tx","initiatorId","responderId","delegateIds","offchainTrees","oracleTtl","queryTtl","responseTtl","gas","Pattern","Delegates","OffChainUpdate","uberParent","polymorphicDiscriminator","clientName","op","RelativeTTL","isConstant","Ttl","NamePointer","encodedKey","AuctionEntry","startedAt","endsAt","highestBidder","highestBid","ContractObject","referrerIds","ByteCode","bytecode","PoI","Currency","subunit","subunitsPerUnit","fiatConverstionUrl","fiatConversionUrl","logo","primaryColour","secondaryColour","networkName","Image","DryRunInput","DryRunAccount","DryRunInputItem","callReq","DryRunCallReq","calldata","context","DryRunCallContext","stateful","DryRunResults","DryRunResult","callObj","ContractCallObject","Event","topics","Generation","keyBlock","microBlocks","KeyBlock","prevHash","prevKeyHash","miner","beneficiary","MinItems","MaxItems","info","Header","pofHash","txsHash","PinningTx","epoch","parentPayload","lastLeader","parentType","parentNetworkId","HCContractPubkeys","staking","election","rewards","HashResponse","HeightResponse","MicroBlockHeader","CountResponse","count","NameEntry","NamePointerComplete","RegisteredOracle","OracleQueries","oracleQueries","senderNonce","PeerPubKey","pubkey","GasPricesItem","minutes","Status","genesisKeyBlockHash","solutions","difficulty","hashrate","syncing","syncProgress","uptime","listening","protocols","nodeVersion","nodeRevision","peerCount","peerConnections","pendingTransactionsCount","peerPubkey","topKeyBlockHash","topBlockHeight","Protocol","effectiveAtHeight","PeerConnections","inbound","outbound","SyncStatus","progress","speed","estimate","EncodedTx","PostTxResponse","TxInfoObject","callInfo","gaInfo","txInfo","GAObject","innerObject","ChannelSetDelegatesTx","CheckTxInPoolResponse","CommitmentId","UnsignedTx","GAAttachTx","GAMetaTx","NameHash","PeerDetails","firstSeen","lastSeen","genesisHash","topHash","topDifficulty","nodeVendor","nodeOs","PeerCount","connected","available","blocked","PeerCountConnected","PeerCountAvailable","verified","unverified","Peers","peers","PubKey","TokenSupply","contractOracles","locked","pendingRewards","total","OffChainCallContract","OffChainDeposit","OffChainNewContract","OffChainTransfer","OffChainWithdrawal","CreateContractUnsignedTx","discriminators","accept","parameterPath","$host","skipEncoding","contentType","DryRunInputMapper","body1","EncodedTxMapper","Node","coreClient","_options$endpoint","packageDetails","userAgentPrefix","userAgentOptions","requestContentType","endpoint","baseUri","sendOperationRequest","getAccountByPubkeyOperationSpec","getAccountByPubkeyAndHashOperationSpec","getAccountByPubkeyAndHeightOperationSpec","getAccountNextNonceOperationSpec","getPendingAccountTransactionsByPubkey","getPendingAccountTransactionsByPubkeyOperationSpec","getAuctionEntryByName","getAuctionEntryByNameOperationSpec","getChannelByPubkey","getChannelByPubkeyOperationSpec","getContractOperationSpec","getContractCodeOperationSpec","getContractPoI","getContractPoIOperationSpec","getCurrency","getCurrencyOperationSpec","protectedDryRunTxsOperationSpec","getCurrentGenerationOperationSpec","getGenerationByHashOperationSpec","getGenerationByHeightOperationSpec","getTopHeader","getTopHeaderOperationSpec","getPinningTx","getPinningTxOperationSpec","getHyperchainContractPubkeys","getHyperchainContractPubkeysOperationSpec","getCurrentKeyBlock","getCurrentKeyBlockOperationSpec","getCurrentKeyBlockHash","getCurrentKeyBlockHashOperationSpec","getCurrentKeyBlockHeightOperationSpec","getKeyBlockByHashOperationSpec","getKeyBlockByHeightOperationSpec","getPendingKeyBlock","getPendingKeyBlockOperationSpec","getMicroBlockHeaderByHashOperationSpec","getMicroBlockTransactionsByHashOperationSpec","getMicroBlockTransactionsCountByHash","getMicroBlockTransactionsCountByHashOperationSpec","getMicroBlockTransactionByHashAndIndex","getMicroBlockTransactionByHashAndIndexOperationSpec","getNameEntryByNameOperationSpec","getNameEntryByNameHash","nameHash","getNameEntryByNameHashOperationSpec","getOracleByPubkeyOperationSpec","getOracleQueriesByPubkey","getOracleQueriesByPubkeyOperationSpec","getOracleQueryByPubkeyAndQueryId","getOracleQueryByPubkeyAndQueryIdOperationSpec","getPeerPubkey","getPeerPubkeyOperationSpec","getRecentGasPricesOperationSpec","getStatus","getStatusOperationSpec","getChainEnds","getChainEndsOperationSpec","getSyncStatus","getSyncStatusOperationSpec","postTransaction","postTransactionOperationSpec","getTransactionByHashOperationSpec","getTransactionInfoByHash","getTransactionInfoByHashOperationSpec","Mappers","httpMethod","responses","bodyMapper","isError","urlParameters","Parameters","headerParameters","queryParameters","requestBody","mediaType","_ignoreVersion","_cachedStatusPromise","_isHyperchainPromise","NodeApi","allowInsecureConnection","additionalPolicies","_getCachedStatus","opts","pipeline","addPolicy","phase","removePolicy","userAgentPolicyName","setClientRequestIdPolicyName","promise","nodeNetworkId","getTransactionSignerAddress","AccountBase","hashJson","_canonicalize","canonicalize","hashDomain","domainType","TypeResolver","resolveType","record","option","ContractByteArrayEncoder","encodeWithType","hashTypedData","aci","getBufferToSign","innerTx","rlpBinaryTx","_secretKeyDecoded","AccountMemory","secretKey","keyPair","fromSeed","publicKey","generate","unsafeSign","signTransaction","txWithNetworkId","signMessage","signTypedData","dHash","signDelegation","delegation","getExecutionCost","isInitiator","getExecutionCostBySignedTx","isInnerTx","isNotInnerTx","getExecutionCostUsingNode","isMined","isSignedTx","combinedInfo","validators","verifyTransactionInternal","parentTxTypes","account","flat","verifyTransaction","nodeNotCached","clone","txBinary","txHashWithNetworkId","checkedKeys","nestedTx","cost","recipient","oracleCall","contractCreate","contractCall","parse","InvalidTxError","validation","sendTransaction","txUnsigned","waitMined","__queue","pollResult","txData","confirmationHeight","verifyTx","toBase64Url","fromBase64Url","objectToBase64Url","header","signJwt","originalPayload","sub_jwk","kty","crv","unpackJwt","jwt","_payload$sub_jwk","payloadEncoded","jwk","signer","isJwt","maybeJwt","ensureJwt","verifyJwt","DelegationTag","oracleAddressField","queryIdField","AensWildcard","AensName","AensPreclaim","packDelegation","unpackDelegation","NotAuctionNameError","action","_salt","revoke","opt","_isInternalBuild","extendPointers","allPointers","hasRawPointers","transfer","getState","_options$onNode","nameEntry","getAuctionState","_options$onNode2","extendTtl","claim","preclaim","bid","_Contract_brand","_aciContract","_getCallResult","fnName","fnAci","_getFunctionAci","decodedResult","_calldata","_name","decodedEvents","$decodeEvents","decodeFateString","_sendAndProcess","$options","$getCallResultByTxHash","functions","returns","_getContractNameByEvent","ctAddress","contractAddressToName","addressToName","_aci","event","variant","events","eventName","calcHash","ContractWithMethods","$compile","onCompiler","sourceCode","compileBySourceCode","fileSystem","sourceCodePath","compile","callInfoTyped","_estimateGas","callStatic","$deploy","_opt$gasLimit","_opt$gasLimit2","topOption","txOpt","dryRunOther","omitUnknown","contractName","decoded","decodeEvent","initialize","validateBytecode","otherOptions","onChanBytecode","isValid","validateBySourceCode","validate","aciLast","Calldata","aciArgs","pop","decodeQuery","queryEntry","decodedQuery","decodedResponse","OracleBase","getQueries","getQuery","_handleQueriesPromise","register","pollQueries","onQuery","knownQueryIds","isChecking","checkNewQueries","filtered","includeResponded","add","idPromise","_opt$interval","setInterval","clearInterval","respondToQuery","handleQueries","queuePromise","handler","q","respondPromise","stopPoll","OracleClient","postQuery","oracleQueryTx","pollForResponse","responseBuffer","spend","recipientIdOrName","transferFunds","fraction","desiredAmount","minus","payForTransaction","createGeneralizedAccount","authFnName","_options$gasLimit","freeze","gaContractId","buildAuthTxHash","buildAuthTxHashByGaMetaTx","_typeof","_defineProperty","chainMethods","spendMethods","contractGaMethods","_wrappedOptions","AeSdkMethods","_options","getContext","mergeWith","AeSdkBase","nodes","instance","addNode","api","compilerApi","_resolveAccount","ensureNodeConnected","pool","selectedNodeName","select","selectNode","isNodeConnected","getNodesInPool","addresses","_options$networkId","AeSdk","addAccount","selectedAddress","selectAccount","removeAccount","MESSAGE_DIRECTION","WALLET_TYPE","SUBSCRIPTION_TYPES","METHODS","RPC_STATUS","rpcErrors","RpcError","toJSON","json","RpcErr","cl","RpcInvalidTransactionError","RpcRejectedByUserError","RpcUnsupportedProtocolError","RpcConnectionDenyError","RpcNotAuthorizeError","RpcPermissionDenyError","RpcInternalError","RpcNoNetworkById","RpcMethodNotFoundError","AccountRpc","rpcClient","_rpcClient","dataRaw","returnSigned","signedTransaction","_callbacks","_messageId","_methods","_RpcClient_brand","RpcClient","connection","onDisconnect","connect","_handleMessage","_sendRequest","notify","origin","jsonrpc","_processResponse","methodName","_sendResponse","sendMessage","callbacks","AeSdkAepp","onAddressChange","onNetworkChange","_ensureConnected","_ensureAccountAccess","_accounts","connectToWallet","connectNode","disconnectParams","updateNetwork","client","updateAddress","closeConnection","disconnect","readyToConnect","walletInfo","disconnectWallet","askAddresses","subscribeAddress","askToSelectNetwork","network","_WalletConnectorFrameBase_brand","WalletConnectorFrameBase","EventEmitter","isConnected","_connect","connector","emit","_updateAccounts","_updateNetwork","_getRpcClient","getAccounts","subscribeAccounts","_networkId","WalletConnectorFrame","_node","WalletConnectorFrameWithNode","jsonBig","JsonBig","storeAsString","convertValuesToBigNumbers","bn","AeSdkWallet","onConnection","onSubscription","onAskAccounts","onAskToSelectNetwork","_type","_getAccountsForClient","addressSubscription","_pushAccountsToApps","_clients","clientId","_isRpcClientConnected","_getClient","rpc","_getNode","CONNECTED","_disconnectRpcClient","DISCONNECTED","removeRpcClient","addRpcClient","clientConnection","WAITING_FOR_CONNECTION_REQUEST","icons","getWalletInfo","subscribe","unsubscribe","subscription","aeppOrigin","aeppRpcClientId","transactionHash","shareWalletInfo","location","AccountBaseFactory","discover","ED25519_CURVE","deriveKey","I","tweetnaclAuth","chainCode","derivePathFromKey","segments","segment","indexBuffer","_mnemonicOrWalletOrSeed","_AccountMnemonicFactory_brand","AccountMnemonicFactory","mnemonicOrWalletOrSeed","getWallet","_getWallet","getWalletSync","accountIndex","wallet","_getAccountByWallet","initializeSync","sync","setWalletBySeed","seed","walletKey","mnemonicToSeedSync","mnemonicToSeed","_authFun","AccountGeneralized","authCallData","gaMetaTx","CLA","AccountLedger","transport","decorateAppAPIMethods","networkIdBuffer","toSend","maxChunkSize","chunkSize","bufferOffset","writeUInt8","copy","previous","send","messageStr","_ensureReadyPromise","_AccountLedgerFactory_brand","AccountLedgerFactory","ensureReady","_getAppConfiguration","oldApp","newApp","_enableExperimentalLedgerAppSupport","getAppConfiguration","getAddress","_ensureReady","addressLength","_classPrivateFieldGet2","snapId","invokeSnap","provider","AccountMetamask","derivationPath","snapMinVersion","snapMaxVersion","_provider","_AccountMetamaskFactory_brand","_providerPromise","AccountMetamaskFactory","installSnap","_getProvider","requestSnap","getSnapVersion","snaps","_getMetamaskAsInjected","ethereum","_getMetamaskOverEip","dispatchEvent","detail","rdns","removeEventListener","addEventListener","_classPrivateFieldGet3","_await$_assertClassBr","metamaskVersionPrefix","CompilerBase","CompileOpts","srcFile","ErrorPos","file","line","col","CompileResult","warnings","SophiaCallResultInput","function","callResult","callValue","BytecodeCallResultInput","DecodedCallresult","FunctionCallInput","DecodeCalldataBytecode","DecodedCalldata","DecodeCalldataSource","ByteCodeInput","FateAssembler","fateAssembler","ValidateByteCodeInput","CompilerVersion","ApiVersion","apiVersion","SophiaBinaryData","sophiaType","SophiaJsonData","ContractMapper","SophiaCallResultInputMapper","body2","BytecodeCallResultInputMapper","body3","FunctionCallInputMapper","body4","DecodeCalldataBytecodeMapper","body5","DecodeCalldataSourceMapper","body6","ByteCodeInputMapper","body7","ValidateByteCodeInputMapper","Compiler","generateACI","generateACIOperationSpec","compileContract","compileContractOperationSpec","decodeCallResult","decodeCallResultOperationSpec","decodeCallResultBytecode","decodeCallResultBytecodeOperationSpec","encodeCalldata","encodeCalldataOperationSpec","decodeCalldataBytecode","decodeCalldataBytecodeOperationSpec","decodeCalldataSource","decodeCalldataSourceOperationSpec","getFateAssemblerCode","getFateAssemblerCodeOperationSpec","validateByteCode","validateByteCodeOperationSpec","getCompilerVersion","getCompilerVersionOperationSpec","versionOperationSpec","apiVersionOperationSpec","apiOperationSpec","CompilerHttp","compilerUrl","CompilerApi","parameter","cmpOut","warning","generateAciBySourceCode","generateAci","snakeToPascal","w3cwebsocket","W3CWebSocket","websocket","channel","rest","_eventEmitter","enterState","nextState","_debug","_fsm","enter","dequeueAction","changeStatus","newStatus","debug","_status","changeState","newState","_state","_websocket","_isActionQueueLocked","queue","_actionQueue","guard","handleMessage","st","updates","clearTimeout","_pingTimeoutId","ping","_nextRpcMessageId","_rpcCallbacks","_message$error$data$","appendSignature","signFn","payloadTx","signatures2","signAndNotify","signedTx","signed_tx","handleUnexpectedMessage","_channel","wsMessage","channelOpen","awaitingCompletion","onSuccess","accepted","error_code","errorMessage","error_msg","codes","awaitingConnection","channelInfoStatus","nextStatus","awaitingChannelCreateTx","awaitingOpenConfirmation","_fsmId","fsm_id","channelClosed","awaitingReestablish","message2","state2","awaitingReconnection","role","awaitingOnChainTx","awaitingBlockInclusion","_channelId","channel_id","awaitingTxSignRequest","_message$method$match","awaitingUpdateConflict","awaitingShutdownTx","awaitingLeave","closeTx","channelCounter","_debugId","_initialize","_options$existingFsmI","reconnect","existingFsmId","existingChannelId","reconnectHandler","handlers","reestablish","connectionHandler","openHandler","channelOptions","wsUrl","onerror","onopen","onclose","onmessage","_messageQueue","_isMessageQueueLocked","shift","dequeueMessage","callback","onMessage","on","off","removeListener","channelDisconnect","halfSignedTx","trees","fsmId","enqueueAction","leave","shutdown","ChannelSpend","meta","awaitingOffChainTx","_2","balances","awaitingActionTx","awaitingActionCompletion","onOnChainTx","Action","withdraw","onOwnWithdrawLocked","onWithdrawLocked","onOwnDepositLocked","onDepositLocked","onStatusChanged","snakeToPascalObjKeys","ChannelContract","createContract","call_data","vm_version","abi_version","addressKey","callContract","contract_id","forceProgress","gas_price","callContractStatic","getContractCall","caller_id","getContractState","cleanContractCalls","Source","MiddlewareSubscriberError","MiddlewareSubscriberDisconnected","closeEvent","_subscriptions","_requestQueue","_webSocket","_MiddlewareSubscriber_brand","MiddlewareSubscriber","webSocket","_disconnect","WebSocket","errorEvent","_emit","_messageHandler","_classPrivateGetter","_get_targets","_sendSubscribe","subscribeKeyBlocks","cb","_subscribe","Middleware","subscribeKeyBlocksNode","subscribeKeyBlocksAll","All","subscribeMicroBlocks","subscribeMicroBlocksNode","subscribeMicroBlocksAll","subscribeTransactions","subscribeTransactionsNode","subscribeTransactionsAll","subscribeObject","subscribeObjectNode","subscribeObjectAll","_this","_sendMessage","isSubscribe","condition","onlyReset","limit","scope","exact","fromParam","by2","id1","contractId1","contractId2","scope1","validator","hashOrKbi","hash1","ownedBy","state1","id2","id3","minStartDate","maxStartDate","oracle","scope2","id4","hash2","PathsBx0Ya3V3AccountsAccountidActivitiesGetResponses200ContentApplicationJsonSchemaAllof0","Activity","blockTime","ActivityPayload","microIndex","microTime","logIdx","sender","tokenId","contractTxHash","callTxHash","internalTx","refTxHash","PaginatedResponse","nullable","ErrorResponse","Paths1Q9E32FV3AccountsAccountidAex141TokensGetResponses200ContentApplicationJsonSchemaAllof0","Aex141TokenResponse","PathsZ92TkfV3AccountsAccountidAex9BalancesGetResponses200ContentApplicationJsonSchemaAllof1","Aex9BalanceResponse","decimals","tokenName","tokenSymbol","txIndex","Paths10R8Q7PV3AccountsAccountidDexSwapsGetResponses200ContentApplicationJsonSchemaAllof0","DexSwap","amounts","fromToken","toToken","toAccount","fromContract","toContract","fromAmount","toAmount","fromDecimals","toDecimals","DexSwapAmounts","amount0In","amount1In","amount0Out","amount1Out","Paths16G4GzrV3AccountsAccountidNamesClaimsGetResponses200ContentApplicationJsonSchemaAllof0","NameClaim","activeFrom","sourceTxHash","sourceTxType","internalSource","NotFoundResponse","PathsA60QxwV3AccountsAccountidNamesPointeesGetResponses200ContentApplicationJsonSchemaAllof0","Pointee","PathsXcg812V3AccountsAccountidTransactionsCountGetResponses200ContentApplicationJsonSchema","contractCreateTx","contractCallTx","gaAttachTx","channelCloseMutualTx","channelCloseSoloTx","channelCreateTx","channelDepositTx","channelForceProgressTx","channelSetDelegatesTx","channelSettleTx","channelSlashTx","channelSnapshotSoloTx","channelWithdrawTx","nameClaimTx","namePreclaimTx","nameRevokeTx","nameTransferTx","nameUpdateTx","oracleExtendTx","oracleRegisterTx","oracleResponseTx","payingForTx","spendTx","channelOffchainTx","Get200ApplicationJsonProperties","PathsEvgmfsV3AccountsAccountidTransactionsCountGetResponses200ContentApplicationJsonSchemaPropertiesContractCallTx","Paths1Mat0BzV3AccountsAccountidTransactionsCountGetResponses200ContentApplicationJsonSchemaPropertiesGaAttachTx","Paths1Smy8TV3AccountsAccountidTransactionsCountGetResponses200ContentApplicationJsonSchemaPropertiesGaMetaTx","PathsTachlnV3AccountsAccountidTransactionsCountGetResponses200ContentApplicationJsonSchemaPropertiesChannelCloseMutualTx","Paths1AeqodeV3AccountsAccountidTransactionsCountGetResponses200ContentApplicationJsonSchemaPropertiesChannelCloseSoloTx","PathsGp6EyrV3AccountsAccountidTransactionsCountGetResponses200ContentApplicationJsonSchemaPropertiesChannelCreateTx","Paths10Z6Jt8V3AccountsAccountidTransactionsCountGetResponses200ContentApplicationJsonSchemaPropertiesChannelDepositTx","Paths1Jkl3L3V3AccountsAccountidTransactionsCountGetResponses200ContentApplicationJsonSchemaPropertiesChannelForceProgressTx","PathsN9Iv8YV3AccountsAccountidTransactionsCountGetResponses200ContentApplicationJsonSchemaPropertiesChannelSetDelegatesTx","PathsCsym65V3AccountsAccountidTransactionsCountGetResponses200ContentApplicationJsonSchemaPropertiesChannelSettleTx","PathsEwav40V3AccountsAccountidTransactionsCountGetResponses200ContentApplicationJsonSchemaPropertiesChannelSlashTx","Paths5Ehb0PV3AccountsAccountidTransactionsCountGetResponses200ContentApplicationJsonSchemaPropertiesChannelSnapshotSoloTx","Paths1Qk8BkgV3AccountsAccountidTransactionsCountGetResponses200ContentApplicationJsonSchemaPropertiesChannelWithdrawTx","PathsC7WhtoV3AccountsAccountidTransactionsCountGetResponses200ContentApplicationJsonSchemaPropertiesNameClaimTx","Paths1R4Z885V3AccountsAccountidTransactionsCountGetResponses200ContentApplicationJsonSchemaPropertiesNamePreclaimTx","PathsKrpz02V3AccountsAccountidTransactionsCountGetResponses200ContentApplicationJsonSchemaPropertiesNameRevokeTx","PathsPs07B4V3AccountsAccountidTransactionsCountGetResponses200ContentApplicationJsonSchemaPropertiesNameTransferTx","PathsTug6HrV3AccountsAccountidTransactionsCountGetResponses200ContentApplicationJsonSchemaPropertiesNameUpdateTx","Paths17Dchb7V3AccountsAccountidTransactionsCountGetResponses200ContentApplicationJsonSchemaPropertiesOracleExtendTx","Paths1Ngkd7FV3AccountsAccountidTransactionsCountGetResponses200ContentApplicationJsonSchemaPropertiesOracleQueryTx","PathsMvqgifV3AccountsAccountidTransactionsCountGetResponses200ContentApplicationJsonSchemaPropertiesOracleRegisterTx","Paths1U2Ve7RV3AccountsAccountidTransactionsCountGetResponses200ContentApplicationJsonSchemaPropertiesOracleResponseTx","Paths1N757S0V3AccountsAccountidTransactionsCountGetResponses200ContentApplicationJsonSchemaPropertiesPayingForTx","Paths11Bqs5V3AccountsAccountidTransactionsCountGetResponses200ContentApplicationJsonSchemaPropertiesSpendTx","Paths4Pjk8DV3AccountsAccountidTransactionsCountGetResponses200ContentApplicationJsonSchemaPropertiesChannelOffchainTx","Paths8I0YgwV3Aex141GetResponses200ContentApplicationJsonSchemaAllof0","Aex141Response","baseUrl","extensions","limits","invalid","creationTime","PathsWkpcwaV3Aex141ContractidTemplatesGetResponses200ContentApplicationJsonSchemaAllof0","Aex141TemplatesResponse","edition","templateId","PathsRay4X0V3Aex141ContractidTemplatesTemplateidTokensGetResponses200ContentApplicationJsonSchemaAllof0","Aex141TemplateTokensResponse","Paths1TkisghV3Aex141ContractidTokensGetResponses200ContentApplicationJsonSchemaAllof0","Aex141TokenDetailResponse","Paths1A8Ah39V3Aex141ContractidTransfersGetResponses200ContentApplicationJsonSchemaAllof0","Aex141TransferEvent","Paths1Uqqby0V3Aex9GetResponses200ContentApplicationJsonSchemaAllof0","Aex9Response","initialSupply","eventSupply","holders","Paths19IxhsmV3Aex9CountGetResponses200ContentApplicationJsonSchema","PathsEeiffwV3Aex9ContractidBalancesGetResponses200ContentApplicationJsonSchemaAllof0","Aex9ContractBalanceResponse","lastTxHash","lastLogIdx","PathsKr825V3Aex9ContractidBalancesAccountidGetResponses200ContentApplicationJsonSchema","Paths108B3VtV3Aex9ContractidBalancesAccountidHistoryGetResponses200ContentApplicationJsonSchemaAllof1","Get200ApplicationJsonAllOfPropertiesItemsItem","PathsQmewnaV3ChannelsGetResponses200ContentApplicationJsonSchemaAllof0","lastUpdatedHeight","lastUpdatedTxType","lastUpdatedTime","lastUpdatedTxHash","updatesCount","Paths18L84JcV3ContractsCallsGetResponses200ContentApplicationJsonSchemaAllof0","localIdx","Paths10Kk1UxV3ContractsLogsGetResponses200ContentApplicationJsonSchemaAllof0","ContractLog","eventHash","extCallerContractId","extCallerContractTxHash","parentContractId","aexnType","createTx","Paths9Yfxl2V3DexSwapsGetResponses200ContentApplicationJsonSchemaAllof0","Paths6Vze8ZV3DexContractIdSwapsGetResponses200ContentApplicationJsonSchemaAllof0","Paths1F8GzwrV3HyperchainEpochsGetResponses200ContentApplicationJsonSchemaAllof0","EpochInfo","lastPinHeight","parentBlockHash","epochStartTime","EpochInfoValidatorsItem","stake","Paths7W5O80V3HyperchainScheduleGetResponses200ContentApplicationJsonSchemaAllof0","Schedule","leader","Paths1Qg7SclV3HyperchainValidatorsGetResponses200ContentApplicationJsonSchemaAllof0","Validator","totalStakes","delegates","rewardsEarned","pinningHistory","Paths7Ks32NV3HyperchainValidatorsValidatorDelegatesGetResponses200ContentApplicationJsonSchemaAllof0","Delegate","delegate","PathsDwhnfdV3HyperchainValidatorsValidatorDelegatesTopGetResponses200ContentApplicationJsonSchemaAllof0","PathsEue6HzV3KeyBlocksGetResponses200ContentApplicationJsonSchemaAllof0","PathsNn60D7V3KeyBlocksHashOrKbiMicroBlocksGetResponses200ContentApplicationJsonSchemaAllof0","PathsXhlqwrV3MicroBlocksHashTransactionsGetResponses200ContentApplicationJsonSchemaAllof0","Paths181Cs9V3NamesGetResponses200ContentApplicationJsonSchemaAllof0","approximateActivationTime","approximateExpireTime","expireHeight","auction","auctionTimeout","ownership","claimsCount","Auction","auctionEnd","activationTime","lastBid","AuctionLastBid","Components17W16A5SchemasAuctionPropertiesLastBidPropertiesTxAllof1","NameOwnership","original","NameTx","Components171VsjiSchemasNametxPropertiesTxAllof1","Paths1R08F8HV3NamesAuctionsGetResponses200ContentApplicationJsonSchemaAllof0","PathsCrb9BgV3NamesAuctionsIdClaimsGetResponses200ContentApplicationJsonSchema","PathsMyl4W2V3NamesIdClaimsGetResponses200ContentApplicationJsonSchemaAllof0","Paths1Ukwk06V3NamesIdTransfersGetResponses200ContentApplicationJsonSchemaAllof0","NameTransfer","PathsRcnvllV3NamesIdUpdatesGetResponses200ContentApplicationJsonSchemaAllof0","NameUpdate","PathsGcr9MrV3OraclesGetResponses200ContentApplicationJsonSchemaAllof0","registerTime","registerTxHash","OracleFormat","OracleTx","Components1Viuqa3SchemasOracletxPropertiesTxAllof1","PathsZ4L2QlV3OraclesIdExtendsGetResponses200ContentApplicationJsonSchemaAllof0","OracleExtend","Paths1Uni7AtV3OraclesIdQueriesGetResponses200ContentApplicationJsonSchemaAllof0","Paths1Tcj5A9V3OraclesIdResponsesGetResponses200ContentApplicationJsonSchemaAllof0","Stats","minersCount","feesTrend","last24HsAverageTransactionFees","last24HsTransactions","maxTransactionsPerSecond","maxTransactionsPerSecondBlockHash","transactionsTrend","PathsFso5IiV3StatsActiveAccountsGetResponses200ContentApplicationJsonSchemaAllof0","Stat","startDate","endDate","Paths1Fl1Lh2V3StatsAex9TransfersGetResponses200ContentApplicationJsonSchemaAllof0","Paths1A27TirV3StatsBlocksGetResponses200ContentApplicationJsonSchemaAllof0","Paths72Dp44V3StatsContractsGetResponses200ContentApplicationJsonSchemaAllof0","Paths1J83O75V3StatsDeltaGetResponses200ContentApplicationJsonSchemaAllof0","DeltaStat","auctionsStarted","blockReward","burnedInAuctions","channelsClosed","channelsOpened","contractsCreated","devReward","namesActivated","namesExpired","namesRevoked","oraclesExpired","oraclesRegistered","lockedInAuctions","lockedInChannels","Paths1Qw6KhfV3StatsDifficultyGetResponses200ContentApplicationJsonSchemaAllof0","Paths1IskjkV3StatsHashrateGetResponses200ContentApplicationJsonSchemaAllof0","Paths50Qhc7V3StatsMinersGetResponses200ContentApplicationJsonSchemaAllof0","Miner","totalReward","PathsD92Xl6V3StatsNamesGetResponses200ContentApplicationJsonSchemaAllof0","Paths1K55ZdgV3StatsTotalGetResponses200ContentApplicationJsonSchemaAllof0","TotalStat","activeAuctions","activeNames","inactiveNames","activeOracles","inactiveOracles","openChannels","sumBlockReward","sumDevReward","totalTokenSupply","Paths3Bfys0V3StatsTotalAccountsGetResponses200ContentApplicationJsonSchemaAllof0","Paths6PaqluV3StatsTransactionsGetResponses200ContentApplicationJsonSchemaAllof0","mdwAsyncTasks","mdwGensPerMinute","mdwHeight","mdwLastMigration","mdwRevision","mdwSynced","mdwSyncing","mdwTxIndex","mdwVersion","nodeHeight","nodeProgress","nodeSyncing","StatusMdwAsyncTasks","longTasks","producerBuffer","totalPending","PathsHa9C78V3TransactionsGetResponses200ContentApplicationJsonSchemaAllof0","PathsI72FylV3TransactionsPendingGetResponses200ContentApplicationJsonSchemaAllof0","PendingTransaction","failures","PathsVdg67V3TransfersGetResponses200ContentApplicationJsonSchemaAllof0","Transfer","refBlockHash","refTxType","Aex9TransferEvent","Aex9TransferResponse","callTxi","InternalContractCallEvent","InternalTransferEvent","NameClaimEvent","Paths1EfdbjrV3AccountsAccountidActivitiesGetResponses200ContentApplicationJsonSchema","Paths3Hsv3GV3AccountsAccountidAex141TokensGetResponses200ContentApplicationJsonSchema","PathsKm52GqV3AccountsAccountidAex9BalancesGetResponses200ContentApplicationJsonSchema","PathsZpy8S9V3AccountsAccountidDexSwapsGetResponses200ContentApplicationJsonSchema","Paths16Cyh9EV3AccountsAccountidNamesClaimsGetResponses200ContentApplicationJsonSchema","Paths1Mheci5V3AccountsAccountidNamesPointeesGetResponses200ContentApplicationJsonSchema","Paths1XwlyjtV3Aex141GetResponses200ContentApplicationJsonSchema","Paths181AjwxV3Aex141ContractidTemplatesGetResponses200ContentApplicationJsonSchema","Paths15Mi2TaV3Aex141ContractidTemplatesTemplateidTokensGetResponses200ContentApplicationJsonSchema","PathsWl652MV3Aex141ContractidTokensGetResponses200ContentApplicationJsonSchema","Paths1O7Q6IhV3Aex141ContractidTransfersGetResponses200ContentApplicationJsonSchema","Paths1Vr3Y2EV3Aex9GetResponses200ContentApplicationJsonSchema","Paths1N61UurV3Aex9ContractidBalancesGetResponses200ContentApplicationJsonSchema","Paths1Uybd4PV3Aex9ContractidBalancesAccountidHistoryGetResponses200ContentApplicationJsonSchema","Paths3EzhapV3ChannelsGetResponses200ContentApplicationJsonSchema","Paths1Txblx8V3ContractsCallsGetResponses200ContentApplicationJsonSchema","Paths7A1M6RV3ContractsLogsGetResponses200ContentApplicationJsonSchema","Paths1Di8FnjV3DexSwapsGetResponses200ContentApplicationJsonSchema","PathsKwxlzlV3DexContractIdSwapsGetResponses200ContentApplicationJsonSchema","Paths194Lg3IV3HyperchainEpochsGetResponses200ContentApplicationJsonSchema","Paths1S5Zlt1V3HyperchainScheduleGetResponses200ContentApplicationJsonSchema","Paths1Ibn686V3HyperchainValidatorsGetResponses200ContentApplicationJsonSchema","Paths1I4U8D5V3HyperchainValidatorsValidatorDelegatesGetResponses200ContentApplicationJsonSchema","Paths15K0AlgV3HyperchainValidatorsValidatorDelegatesTopGetResponses200ContentApplicationJsonSchema","Paths277OngV3KeyBlocksGetResponses200ContentApplicationJsonSchema","Paths1159W94V3KeyBlocksHashOrKbiMicroBlocksGetResponses200ContentApplicationJsonSchema","Paths15Bkk50V3MicroBlocksHashTransactionsGetResponses200ContentApplicationJsonSchema","Paths12S1Nd4V3NamesGetResponses200ContentApplicationJsonSchema","PathsKjq4D4V3NamesAuctionsGetResponses200ContentApplicationJsonSchema","Paths1F98AqgV3NamesIdClaimsGetResponses200ContentApplicationJsonSchema","Paths1Raw8PV3NamesIdTransfersGetResponses200ContentApplicationJsonSchema","Paths1Ec8CltV3NamesIdUpdatesGetResponses200ContentApplicationJsonSchema","Paths1E14NekV3OraclesGetResponses200ContentApplicationJsonSchema","Paths1L5C64RV3OraclesIdExtendsGetResponses200ContentApplicationJsonSchema","Paths8722JhV3OraclesIdQueriesGetResponses200ContentApplicationJsonSchema","PathsVron83V3OraclesIdResponsesGetResponses200ContentApplicationJsonSchema","PathsCgzmimV3StatsActiveAccountsGetResponses200ContentApplicationJsonSchema","Paths1UxyhelV3StatsAex9TransfersGetResponses200ContentApplicationJsonSchema","Paths1Sxjoy0V3StatsBlocksGetResponses200ContentApplicationJsonSchema","PathsWbrhqnV3StatsContractsGetResponses200ContentApplicationJsonSchema","Paths5Xf9ScV3StatsDeltaGetResponses200ContentApplicationJsonSchema","Paths1D7Up0DV3StatsDifficultyGetResponses200ContentApplicationJsonSchema","PathsR51VshV3StatsHashrateGetResponses200ContentApplicationJsonSchema","PathsA8Q6T7V3StatsMinersGetResponses200ContentApplicationJsonSchema","PathsCeyhpaV3StatsNamesGetResponses200ContentApplicationJsonSchema","PathsJoz7P5V3StatsTotalGetResponses200ContentApplicationJsonSchema","Paths15F3FfuV3StatsTotalAccountsGetResponses200ContentApplicationJsonSchema","Paths1IfhshmV3StatsTransactionsGetResponses200ContentApplicationJsonSchema","Paths1Pymq07V3TransactionsGetResponses200ContentApplicationJsonSchema","PathsUq0T7JV3TransactionsPendingGetResponses200ContentApplicationJsonSchema","PathsA7P0KiV3TransfersGetResponses200ContentApplicationJsonSchema","AuctionLastBidTx","KeyBlockExtended","beneficiaryReward","microBlocksCount","transactionsCount","MicroBlockExtended","microBlockIndex","NameTxTx","OracleTxTx","getAccountActivities","getAccountActivitiesOperationSpec","getAex141OwnedTokens","getAex141OwnedTokensOperationSpec","getAex9AccountBalances","getAex9AccountBalancesOperationSpec","getAccountDexSwaps","getAccountDexSwapsOperationSpec","getAccountNameClaims","getAccountNameClaimsOperationSpec","getAccountPointees","getAccountPointeesOperationSpec","getAccountTransactionsCount","getAccountTransactionsCountOperationSpec","getSortedAex141Contracts","getSortedAex141ContractsOperationSpec","getAex141ContractTemplates","getAex141ContractTemplatesOperationSpec","getAex141TemplateTokens","getAex141TemplateTokensOperationSpec","getAex141ContractTokens","getAex141ContractTokensOperationSpec","getAex141TokenOwner","getAex141TokenOwnerOperationSpec","getAex141ContractTransfers","getAex141ContractTransfersOperationSpec","getAex141ByContract","getAex141ByContractOperationSpec","getSortedAex9Tokens","getSortedAex9TokensOperationSpec","getAex9TokensCount","getAex9TokensCountOperationSpec","getAex9ContractBalances","getAex9ContractBalancesOperationSpec","getAex9ContractAccountBalance","getAex9ContractAccountBalanceOperationSpec","getAex9ContractAccountBalanceHistory","getAex9ContractAccountBalanceHistoryOperationSpec","getAex9ByContract","getAex9ByContractOperationSpec","getChannels","getChannelsOperationSpec","getChannel","getChannelOperationSpec","getContractCalls","getContractCallsOperationSpec","getContractLogs","getContractLogsOperationSpec","getDexSwaps","getDexSwapsOperationSpec","getDexSwapsByContractId","getDexSwapsByContractIdOperationSpec","getEpochs","getEpochsOperationSpec","getEpochTop","getEpochTopOperationSpec","getSchedules","getSchedulesOperationSpec","getSchedule","getScheduleOperationSpec","getValidators","getValidatorsOperationSpec","getValidator","getValidatorOperationSpec","getValidatorDelegates","getValidatorDelegatesOperationSpec","getTopValidatorDelegates","getTopValidatorDelegatesOperationSpec","getKeyBlocks","getKeyBlocksOperationSpec","getKeyBlockOperationSpec","getKeyBlockMicroBlocks","getKeyBlockMicroBlocksOperationSpec","getMicroBlock","getMicroBlockOperationSpec","getMicroBlockTransactionsOperationSpec","getNames","getNamesOperationSpec","getNamesAuctions","getNamesAuctionsOperationSpec","getNameAuction","getNameAuctionOperationSpec","getNameAuctionClaims","getNameAuctionClaimsOperationSpec","getNamesCount","getNamesCountOperationSpec","getNameOperationSpec","getNameClaims","getNameClaimsOperationSpec","getNameTransfers","getNameTransfersOperationSpec","getNameUpdates","getNameUpdatesOperationSpec","getOracles","getOraclesOperationSpec","getOracle","getOracleOperationSpec","getOracleExtends","getOracleExtendsOperationSpec","getOracleQueries","getOracleQueriesOperationSpec","getOracleResponses","getOracleResponsesOperationSpec","getStats","getStatsOperationSpec","getActiveAccountsStats","getActiveAccountsStatsOperationSpec","getAex9TransfersStats","getAex9TransfersStatsOperationSpec","getBlocksStats","getBlocksStatsOperationSpec","getContractsStats","getContractsStatsOperationSpec","getDeltaStats","getDeltaStatsOperationSpec","getDifficultyStats","getDifficultyStatsOperationSpec","getHashrateStats","getHashrateStatsOperationSpec","getMinerStats","getMinerStatsOperationSpec","getNamesStats","getNamesStatsOperationSpec","getTotalStats","getTotalStatsOperationSpec","getTotalAccountsStats","getTotalAccountsStatsOperationSpec","getTransactionsStats","getTransactionsStatsOperationSpec","getTransactions","getTransactionsOperationSpec","getTransactionsCount","getTransactionsCountOperationSpec","getPendingTransactions","getPendingTransactionsOperationSpec","getPendingTransactionsCount","getPendingTransactionsCountOperationSpec","getTransaction","getTransactionOperationSpec","getTransfers","getTransfersOperationSpec","collectionFormat","operationSpecs","MiddlewarePageMissed","isNext","_middleware","MiddlewarePage","rawPage","middleware","nextPath","prevPath","requestByPath","MiddlewareApi","pathWithQuery","queryPos","operationSpec","os","groups","URLSearchParams","operationArguments","maybePage","testPage","isMiddlewareRawPage","con1","con2","BrowserConnection","receiveMessage","_onDisconnect","_target","_self","BrowserWindowMessageConnection","sendDirection","receiveDirection","to_aepp","listener","_message$data$jsonrpc","_this$origin","postMessage","onDetected","wallets","getConnection","to_waellet","newWallet","_listeners","BrowserRuntimeConnection","_port$sender$url","addListener"],"sourceRoot":""}