1self.webpackChunk([15],[,,,,,,,,,,,,function(e,t,r){"use strict";r.r(t);r(50);var s=r(277),i=r(936);Object(s.registerWorkerPouch)(self,(...e)=>{const t=new i.a(...e);return t.setMaxListeners(100),t})},,,,,,,function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Helper=void 0;t.Helper=class{constructor(){this.needsGlobal=!1,this.needsGlobalOut=!1}emitGlobal(e,t,r){}emitGlobalOut(e,t,r){}}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.tsUtils=void 0;const s=r(18),i=s.__importStar(r(315)),n=s.__importStar(r(70)),a=s.__importStar(r(188)),o=s.__importStar(r(189)),l=s.__importStar(r(323)),p=s.__importStar(r(324)),c=s.__importStar(r(325)),u=s.__importStar(r(132)),d=s.__importStar(r(130)),m=s.__importStar(r(326)),h=s.__importStar(r(193)),f=s.__importStar(r(327)),y=s.__importStar(r(328)),g=s.__importStar(r(51)),O=s.__importStar(r(192)),S=s.__importStar(r(329)),b=r(330),P=s.__importStar(r(131)),v=s.__importStar(r(331)),C=s.__importStar(r(190)),x=s.__importStar(r(79)),T=s.__importStar(r(332)),_=s.__importStar(r(133)),H=s.__importStar(r(333)),w=s.__importStar(r(191));var I=r(334);Object.defineProperty(t,"symbolKey",{enumerable:!0,get:function(){return I.symbolKey}}),t.tsUtils=Object.assign(Object.assign({},n),{accessor:i,class_:a,declaration:o,exportDeclaration:l,exportSpecifier:p,expression:c,file:u,guards:d,identifier:m,importDeclaration:h,importExport:f,literal:y,markOriginal:b.markOriginal,node:g,object_:O,parameter:S,printBundle:b.printBundle,reference:P,isOriginal:b.isOriginal,setOriginal:b.setOriginal,setOriginalRecursive:b.setOriginalRecursive,signature:v,statement:C,symbol:x,template:T,type_:_,types:H,variable:w})},,function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const s=r(18);s.__exportStar(r(351),t),s.__exportStar(r(352),t),s.__exportStar(r(353),t),s.__exportStar(r(354),t),s.__exportStar(r(199),t),s.__exportStar(r(355),t)},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.NodeCompiler=void 0;t.NodeCompiler=class{}},,,,function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.BuiltinInstanceMemberCall=void 0;const s=r(40);t.BuiltinInstanceMemberCall=class{constructor(){this.types=new Set([s.BuiltinType.InstanceMemberCall])}}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.BuiltinInterface=void 0;const s=r(40);t.BuiltinInterface=class{constructor(){this.types=new Set([s.BuiltinType.Interface]),this.canImplement=!1}}},,function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.IsHelper=void 0;const s=r(19);class i extends s.Helper{emit(e,t,r){r.pushValue?(e.emitPushInt(t,0),e.emitOp(t,"PICKITEM"),e.emitPushInt(t,this.type),e.emitOp(t,"NUMEQUAL")):e.emitOp(t,"DROP")}}t.IsHelper=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WrapHelper=void 0;const s=r(19);class i extends s.Helper{constructor(){super(...arguments),this.length=2}emit(e,t,r){r.pushValue?(e.emitPushInt(t,this.type),e.emitPushInt(t,this.length),e.emitOp(t,"PACK"),e.emitOp(t,"NEWSTRUCT")):e.emitOp(t,"DROP")}}t.WrapHelper=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DiagnosticCode=void 0,function(e){e[e.UnsupportedSyntax=11e4]="UnsupportedSyntax",e[e.UnknownType=110001]="UnknownType",e[e.UnknownSymbol=110002]="UnknownSymbol",e[e.InvalidBuiltinReference=110003]="InvalidBuiltinReference",e[e.InvalidBuiltinModify=110004]="InvalidBuiltinModify",e[e.InvalidBuiltinUsage=110005]="InvalidBuiltinUsage",e[e.InvalidBuiltinCall=110006]="InvalidBuiltinCall",e[e.InvalidContract=110007]="InvalidContract",e[e.InvalidContractEvent=110008]="InvalidContractEvent",e[e.InvalidContractProperties=110009]="InvalidContractProperties",e[e.InvalidContractMethod=110010]="InvalidContractMethod",e[e.InvalidContractType=110011]="InvalidContractType",e[e.InvalidContractStorageType=110012]="InvalidContractStorageType",e[e.InvalidContractNew=110013]="InvalidContractNew",e[e.UnknownCall=110014]="UnknownCall",e[e.InvalidSmartContractType=110015]="InvalidSmartContractType",e[e.InvalidNotifierType=110016]="InvalidNotifierType",e[e.InvalidLiteral=110017]="InvalidLiteral",e[e.Invariant=110018]="Invariant",e[e.MultipleSignatures=110019]="MultipleSignatures",e[e.UnknownModule=110020]="UnknownModule",e[e.ReferenceError=110021]="ReferenceError",e[e.InvalidLinkedSmartContract=110022]="InvalidLinkedSmartContract",e[e.InvalidCurrentTime=110023]="InvalidCurrentTime",e[e.InvalidSenderAddress=110024]="InvalidSenderAddress",e[e.InvalidStructuredStorageFor=110025]="InvalidStructuredStorageFor",e[e.SomethingWentWrong=110026]="SomethingWentWrong",e[e.InvalidContractProperty=110027]="InvalidContractProperty"}(t.DiagnosticCode||(t.DiagnosticCode={}))},function(e,t,r){"use strict";
1Object.defineProperty(t,"__esModule",{value:!0}),t.DiagnosticMessage=void 0,function(e){e.UnsupportedSyntax="Unsupported syntax.",e.EfficiencyUnsupportedSyntax="Unsupported syntax. This is not supported because it would result in inefficient smart contract code",e.CouldNotInferType="Could not infer type. Please add an explicit type annotation.",e.CouldNotInferTypeDeopt="Could not infer type. Deoptimized implementation will be used. Add an explicit type annotation ",e.CouldNotInferSymbol="Could not infer symbol.",e.CouldNotInferSymbolDeopt="Could not infer symbol. Deoptimized implementation will be used.",e.CannotImplementBuiltin="Built-ins cannot be implemented.",e.CannotReferenceBuiltinProperty="Builtin properties cannot be referenced",e.CannotModifyBuiltin="Builtins cannot be modified",e.CannotIndexBuiltin="Builtin properties cannot be referenced",e.CannotReferenceBuiltin="Builtins cannot be referenced",e.CannotInstanceofBuiltin="Builtins cannot be checked with instanceof",e.InvalidSyscall="First argument to syscall must be a string literal corresponding to a NEO syscall.",e.DeployReserved="The deploy method is reserved in SmartContract instances.",e.InvalidContractEventNameStringLiteral="Invalid SmartContract event. Event name must be a string literal.",e.InvalidContractEventMissingType="Invalid SmartContract event. Argument type must be explicitly defined.",e.InvalidContractType="Invalid SmartContract type. See https://neo-one.io/docs/methods#Parameter-and-Return-Types for valid parameter and return types.",e.InvalidContractStorageType="Invalid SmartContract storage type. See https://neo-one.io/docs/properties-and-storage#Storage-Types for valid storage types.",e.InvalidContractEventArgStringLiteral="Invalid SmartContract event. Argument must be a string literal.",e.InvalidContractEventDeclaration="Invalid SmartContract event. Event must be assigned to a variable.",e.InvalidContractPropertiesMissing="Invalid SmartContract. Properties must be defined.",e.InvalidContractPropertiesInitializer="Invalid SmartContract. Properties must be defined with an object literal of literal properties.",e.InvalidContractMethodMultipleSignatures="Invalid SmartContract method. Method must have one call signature",e.InvalidContractConstructor="Expected a single constructor declaration",e.InvalidContractExtends="Expected a single class declaration",e.InvalidContractMultipleInFile="Multiple exported SmartContracts in one file is not supported.",e.InvalidContractPropertyReserved="%s is a reserved property name in SmartContracts.",e.InvalidContractMethodReserved="%s is a reserved method name in SmartContracts.",e.InvalidContractMethodConstantNative="SmartContract methods marked with @send, @sendUnsafe, @receive or @claim cannot be @constant.",e.InvalidContractAbstract="Cannot compile abstract SmartContract.",e.InvalidContractNew="Cannot construct a SmartContract",e.InvalidContractMethodNativeReturn="SmartContract methods marked with @claim must return void.",e.InvalidContractTypeForwardNative="Cannot use ForwardValue or ForwardedValue as parameters for methods marked with @send, @sendUnsafe, @receive or @claim.",e.SyscallReturnTypeExplicitCast="Syscall return type must be explicitly casted to expected type.",e.UnknownReference="Unknown reference %s",e.UnknownModule="Unknown module %s",e.MultipleSignatures="Found multiple call signatures for property. Only one call signature is allowed.",e.MissingParameterDeclaration="Could not find param declaration for parameter %s.",e.ResolveOneType="Expected type to resolve to one known type",e.InvalidAddress="Argument to Address.from must be a string literal address.",e.InvalidHash256="Argument to Hash256.from must be a string literal hash256.",e.InvalidPublicKey="Argument to PublicKey.from must be a string literal publicKey.",e.EventNotifierArguments="The arguments to createEventNotifier must be string literals.",e.InvalidBuiltinCall="Value is not callable.",e.InvalidBuiltinCallArgument="Call parameter is ambiguous in relation to the provided argument.",e.InvalidBuiltinAssignment="Assignment (%s => %s) is ambiguous in relation to the provided expression.",e.InvalidLinkedSmartContractDeclaration="Expected a valid declaration for a linked smart contract.",e.InvalidLinkedSmartContractMissing="Missing linked smart contract dependency %s",e.InvalidCurrentTimeOff
1setNumericLiteral="Deploy.currentTime must have a numeric literal for the offset.",e.InvalidCurrentTimeParameterUsage="Deploy.currentTime may only be used as the default value for a constructor parameter.",e.InvalidSenderAddressParameterUsage="Deploy.senderAddress may only be used as the default value for a constructor parameter.",e.InvalidStructuredStorageForProperty="Persistent storage classes may only be used as SmartContract private or protected readonly properties with a property initializer.",e.InvalidStructuredStorageForLength="Could not statically analyze structured storage key length.",e.CompilationFailedPleaseReport="Compilation failed for an unknown error, please report",e.InvalidContractPropertyIdentifier="SmartContracts cannot have computed methods or properties.",e.InvalidContractPropertyOrMethodStatic="SmartContracts cannot have static methods or properties.",e.UnsupportedDecorator="Custom decorators are not supported",e.InvalidContractEventDuplicate="Duplicate event. Only one event is allowed per name."}(t.DiagnosticMessage||(t.DiagnosticMessage={}))},function(e,t,r){"use strict";var s,i;Object.defineProperty(t,"__esModule",{value:!0}),t.IGNORED_PROPERTIES=t.BUILTIN_PROPERTIES=t.RESERVED_PROPERTIES=t.VIRTUAL_PROPERTIES=t.ContractPropertyName=t.DECORATORS_ARRAY=t.DECORATORS=t.isDecorator=t.Decorator=t.DEFAULT_CONTRACT_PROPERTIES=t.FINALLY_COMPLETION=t.CONTINUE_COMPLETION=t.BREAK_COMPLETION=t.THROW_COMPLETION=t.NORMAL_COMPLETION=t.PROPERTIES_PROPERTY=t.DEPLOY_METHOD=t.MAIN_FUNCTION=void 0,t.MAIN_FUNCTION="main",t.DEPLOY_METHOD="deploy",t.PROPERTIES_PROPERTY="properties",t.NORMAL_COMPLETION=0,t.THROW_COMPLETION=1,t.BREAK_COMPLETION=2,t.CONTINUE_COMPLETION=3,t.FINALLY_COMPLETION=4,t.DEFAULT_CONTRACT_PROPERTIES={name:"",codeVersion:"1.0",author:"",email:"",description:""},function(e){e.constant="constant",e.send="send",e.sendUnsafe="sendUnsafe",e.receive="receive",e.claim="claim"}(s=t.Decorator||(t.Decorator={})),t.isDecorator=e=>void 0!==s[e],t.DECORATORS=new Set(Object.values(s)),t.DECORATORS_ARRAY=Object.values(s),function(e){e.deploy="deploy",e.processedTransactions="processedTransactions",e.claimedTransactions="claimedTransactions",e.address="address",e.properties="properties",e.refundAssets="refundAssets",e.completeSend="completeSend",e.deployed="deployed",e.approveUpgrade="approveUpgrade",e.upgrade="upgrade",e.destroy="destroy"}(i=t.ContractPropertyName||(t.ContractPropertyName={})),t.VIRTUAL_PROPERTIES=new Set([i.deploy]),t.RESERVED_PROPERTIES=new Set([i.refundAssets,i.completeSend,i.upgrade,i.destroy]),t.BUILTIN_PROPERTIES=new Set([i.processedTransactions,i.claimedTransactions,i.address,i.deployed]),t.IGNORED_PROPERTIES=new Set([i.properties])},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.UnwrapHelper=void 0;const s=r(19);class i extends s.Helper{emit(e,t,r){r.pushValue?(e.emitPushInt(t,1),e.emitOp(t,"PICKITEM")):e.emitOp(t,"DROP")}}t.UnwrapHelper=i},function(e,t,r){"use strict";function s(e){return null==e?void 0:e}Object.defineProperty(t,"__esModule",{value:!0}),t.notNull=t.getArray=t.throwIfNullOrUndefined=t.getValueOrUndefined=void 0,t.getValueOrUndefined=s,t.throwIfNullOrUndefined=function(e,t){if(null==e)throw new Error("Expected a "+t);return e},t.getArray=function(e){const t=s(e);return void 0===t?[]:t},t.notNull=function(e){return null!=e}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.StructuredStorageBaseHelper=void 0;const s=r(19);class i extends s.Helper{constructor({type:e}){super(),this.type=e}}t.StructuredStorageBaseHelper=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.BuiltinValueObject=void 0;const s=r(40);t.BuiltinValueObject=class{constructor(){this.types=new Set([s.BuiltinType.ValueObject])}}},,function(e,t,r){"use strict";var s;Object.defineProperty(t,"__esModule",{value:!0}),t.isBuiltinValueObject=t.isBuiltinNew=t.isBuiltinInstanceOf=t.isBuiltinInstanceMemberCall=t.isBuiltinMemberCall=t.isBuiltinInstanceMemberTemplate=t.isBuiltinMemberTemplate=t.isBuiltinTemplate=t.isBuiltinCall=t.isBuiltinInstanceMemberValue=t.isBuiltinMemberValue=t.isBuiltinValue=t.isBuiltinInterface=t.BuiltinType=void 0,function(e){e.Value="Value",e.ValueObject="ValueObject",e.MemberValue="MemberValue",e.InstanceMemberValue="InstanceMemberValue",e.Call="Call",e.MemberCall="MemberCall",e.InstanceMemberCall="InstanceMemberCall",e.Template="Template",e.MemberTemplate="MemberTemplate",e.InstanceMemberTemplate="InstanceMemberTemplate",e.InstanceOf="InstanceOf",e.Interface="Interface",e.New="New"}(s=t.BuiltinType||(t.BuiltinType={})),t.isBuiltinInterface=function(e){return e.types.has(s.Interface)},t.isBuiltinValue=function(e){return e.types.has(s.Value)},t.isBuiltinMemberValue=function(e){return e.types.has(s.MemberValue)},t.isBuiltinInstanceMemberValue=function(e){return e.types.has(s.InstanceMemberValue)},t.isBuiltinCall=function(e){return e.types.has(s.Call)},t.isBuiltinTemplate=function(e){return e.types.has(s.Template)},t.isBuiltinMemberTemplate=function(e){return e.types.has(s.MemberTemplate)},t.isBuiltinInstanceMemberTemplate=function(e){return e.types.has(s.InstanceMemberTemplate)},t.isBuiltinMemberCall=function(e){return e.types.has(s.MemberCall)},t.isBuiltinInstanceMemberCall=function(e){return e.types.has(s.InstanceMemberCall)},t.isBuiltinInstanceOf=function(e){return e.types.has(s.InstanceOf)},t.isBuiltinNew=function(e){return e.types.has(s.New)},t.isBuiltinValueObject=function(e){return e.types.has(s.ValueObject)}},,,,function(e,t,r){"use strict";
1Object.defineProperty(t,"__esModule",{value:!0});const s=r(18);s.__exportStar(r(80),t),s.__exportStar(r(97),t),s.__exportStar(r(98),t),s.__exportStar(r(99),t),s.__exportStar(r(81),t),s.__exportStar(r(136),t),s.__exportStar(r(137),t),s.__exportStar(r(100),t),s.__exportStar(r(138),t),s.__exportStar(r(139),t),s.__exportStar(r(101),t),s.__exportStar(r(72),t),s.__exportStar(r(102),t),s.__exportStar(r(103),t),s.__exportStar(r(104),t),s.__exportStar(r(140),t),s.__exportStar(r(141),t),s.__exportStar(r(200),t),s.__exportStar(r(105),t),s.__exportStar(r(144),t),s.__exportStar(r(145),t),s.__exportStar(r(106),t),s.__exportStar(r(107),t),s.__exportStar(r(446),t),s.__exportStar(r(454),t),s.__exportStar(r(455),t),s.__exportStar(r(456),t),s.__exportStar(r(457),t),s.__exportStar(r(62),t),s.__exportStar(r(458),t),s.__exportStar(r(459),t),s.__exportStar(r(460),t),s.__exportStar(r(461),t),s.__exportStar(r(462),t),s.__exportStar(r(211),t),s.__exportStar(r(463),t),s.__exportStar(r(464),t)},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.BuiltinMemberCall=void 0;const s=r(40);t.BuiltinMemberCall=class{constructor(){this.types=new Set([s.BuiltinType.MemberCall])}}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const s=r(18);s.__exportStar(r(890),t),s.__exportStar(r(891),t),s.__exportStar(r(892),t),s.__exportStar(r(893),t),s.__exportStar(r(240),t)},,,,,function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isPartOfTypeNode=t.getDescendantAtPos=t.getChildAtPos=t.getEnd=t.getPos=t.getSourceFile=t.isGlobalAugmentation=t.getFirstDescendantByKind=t.getFirstAncestorByTestOrThrow=t.getFirstAncestorByTest=t.getFirstAncestorByKindOrThrow=t.getFirstAncestorByKind=t.getFirstChildByKind=t.getFirstChild=t.getSymbolOrThrow=t.getSymbol=t.getDescendantsByKind=t.getDescendants=t.getAncestors=t.getParent=t.getParentSyntaxList=t.getText=t.getDotDotDotToken=t.getPropertyNameNode=t.getNameOrThrow=t.getName=t.getNameNodeOrThrow=t.getNameNode=void 0;const s=r(18),i=s.__importDefault(r(21)),n=s.__importStar(r(36));function a(e){return n.getValueOrUndefined(e.name)}function o(e){const t=a(e);if(void 0!==t&&!i.default.isObjectBindingPattern(t)&&!i.default.isArrayBindingPattern(t))return t.getText()}function l(e){return void 0===n.getValueOrUndefined(e.parent)?void 0:e.parent}function*p(e){let t=l(e);for(;void 0!==t;)yield t,t=l(t)}function*c(e){let t=m(e);for(;t.length>0;){const e=[];for(const r of t)yield r,e.push(...m(r));t=e}}function u(e){const t=e.target;return void 0===t?e:t}function d(e,t){const r=n.getValueOrUndefined(t.symbol);if(void 0!==r)return u(r);const s=n.getValueOrUndefined(e.getSymbolAtLocation(t));if(void 0!==s)return u(s);const i=a(t);return void 0!==i?d(e,i):void 0}function m(e){return e.getChildren()}function h(e,t){for(const r of p(e))if(r.kind===t)return r}function f(e,t){for(const r of p(e))if(t(r))return r}function y(e){return e.pos}function g(e){return e.end}function O(e,t){if(!(t<y(e)||t>=g(e)))return m(e).find(e=>t>=y(e)&&t<g(e))}t.getNameNode=a,t.getNameNodeOrThrow=function(e){return n.throwIfNullOrUndefined(a(e),"name")},t.getName=o,t.getNameOrThrow=function(e){return n.throwIfNullOrUndefined(o(e),"name")},t.getPropertyNameNode=function(e){return n.getValueOrUndefined(e.propertyName)},t.getDotDotDotToken=function(e){return n.getValueOrUndefined(e.dotDotDotToken)},t.getText=function(e){return e.getText()},t.getParentSyntaxList=function(e){const t=n.getValueOrUndefined(e.parent);if(void 0===t)return;const{pos:r,end:s}=e;for(const n of t.getChildren()){if(n.pos>s||n===e)return;if(n.kind===i.default.SyntaxKind.SyntaxList&&n.pos<=r&&n.end>=s)return n}},t.getParent=l,t.getAncestors=p,t.getDescendants=c,t.getDescendantsByKind=function*(e,t){for(const r of c(e))r.kind===t&&(yield r)},t.getSymbol=d,t.getSymbolOrThrow=function(e,t){return n.throwIfNullOrUndefined(d(e,t),"symbol")},t.getFirstChild=function(e){const t=m(e);return n.getValueOrUndefined(t[0])},t.getFirstChildByKind=function(e,t){return m(e).find(e=>e.kind===t)},t.getFirstAncestorByKind=h,t.getFirstAncestorByKindOrThrow=function(e,t){return n.throwIfNullOrUndefined(h(e,t),"ancestor")},t.getFirstAncestorByTest=f,t.getFirstAncestorByTestOrThrow=function(e,t){return n.throwIfNullOrUndefined(f(e,t),"ancestor")},t.getFirstDescendantByKind=function(e,t){for(const r of c(e))if(r.kind===t)return r},t.isGlobalAugmentation=function(e){return function(e,t){return 0!=(e.flags&t)}(e,i.default.NodeFlags.GlobalAugmentation)},t.getSourceFile=function(e){return e.getSourceFile()},t.getPos=y,t.getEnd=g,t.getChildAtPos=O,t.getDescendantAtPos=function(e,t){let r;for(;;){const s=O(void 0===r?e:r,t);if(void 0===s)return r;r=s}},t.isPartOfTypeNode=function(e){return i.default.isPartOfTypeNode(e)}},,,,function(e,t,r){"use strict";
1Object.defineProperty(t,"__esModule",{value:!0});const s=r(18);s.__exportStar(r(447),t),s.__exportStar(r(448),t),s.__exportStar(r(207),t),s.__exportStar(r(209),t),s.__exportStar(r(210),t),s.__exportStar(r(449),t),s.__exportStar(r(450),t),s.__exportStar(r(451),t),s.__exportStar(r(452),t),s.__exportStar(r(453),t)},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const s=r(18);s.__exportStar(r(469),t),s.__exportStar(r(216),t),s.__exportStar(r(40),t),s.__exportStar(r(584),t),s.__exportStar(r(585),t),s.__exportStar(r(586),t),s.__exportStar(r(219),t),s.__exportStar(r(220),t)},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ValueInstanceOf=void 0;const s=r(60);class i extends s.BuiltinInstanceOf{constructor(e,t){super(),this.type=e,this.isHelper=t}emitInstanceOf(e,t,r){const s=e.pushValueOptions(r);e.visit(t,s),r.pushValue?(e.emitHelper(t,s,this.isHelper(e)),e.emitHelper(t,s,e.helpers.wrapBoolean)):e.emitOp(t,"DROP")}}t.ValueInstanceOf=i},,,function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.BuiltinInstanceOf=void 0;const s=r(38),i=r(40);class n extends s.BuiltinValueObject{constructor(){super(...arguments),this.types=new Set([i.BuiltinType.InstanceOf,i.BuiltinType.ValueObject])}}t.BuiltinInstanceOf=n},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SysCallInstanceMemberPrimitive=void 0;const s=r(64);class i extends s.BuiltinInstanceMemberValue{constructor(e,t,r){super(),this.syscall=e,this.valueType=t,this.type=r}emit(e,t,r){e.emitHelper(t,r,e.helpers.unwrapVal({type:this.valueType})),e.emitSysCall(t,this.syscall),e.emitHelper(t,r,e.helpers.wrapVal({type:this.type}))}}t.SysCallInstanceMemberPrimitive=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TypedHelper=void 0;const s=r(19);class i extends s.Helper{constructor({knownType:e,type:t}){super(),this.type=t,this.knownType=e}}t.TypedHelper=i},,function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.BuiltinInstanceMemberValue=void 0;const s=r(18),i=r(20),n=s.__importDefault(r(21)),a=r(32),o=r(33),l=r(40);t.BuiltinInstanceMemberValue=class{constructor(){this.types=new Set([l.BuiltinType.InstanceMemberValue]),this.canSet=!1,this.isReadonly=!0}emitValue(e,t,r,s=!1){this.canSet||!r.setValue?(s||!n.default.isPropertyAccessExpression(t)&&!n.default.isElementAccessExpression(t)||e.visit(i.tsUtils.expression.getExpression(t),e.pushValueOptions(r)),this.canSet||r.pushValue?this.emit(e,t,r):e.emitOp(t,"DROP")):this.isReadonly||e.context.reportError(t,a.DiagnosticCode.InvalidBuiltinModify,o.DiagnosticMessage.CannotModifyBuiltin)}}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.KeyStructuredStorageBaseHelper=void 0;const s=r(18),i=r(37);class n extends i.StructuredStorageBaseHelper{constructor(e){var{keyType:t,knownKeyType:r}=e;super(s.__rest(e,["keyType","knownKeyType"])),this.keyType=t,this.knownKeyType=r}}t.KeyStructuredStorageBaseHelper=n},,,,,function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.syntaxKind=t.parametered=t.overload=t.modifier=t.initializer=t.heritage=t.decoratable=t.body=t.argumented=void 0;const s=r(18),i=s.__importStar(r(316));t.argumented=i;const n=s.__importStar(r(186));t.body=n;const a=s.__importStar(r(317));t.decoratable=a;const o=s.__importStar(r(318));t.heritage=o;const l=s.__importStar(r(319));t.initializer=l;const p=s.__importStar(r(320));t.modifier=p;const c=s.__importStar(r(321));t.overload=c;const u=s.__importStar(r(322));t.parametered=u;const d=s.__importStar(r(187));t.syntaxKind=d},,function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isMap=t.isOnlyMap=t.hasMap=t.IsMapHelper=t.WrapMapHelper=t.UnwrapMapHelper=void 0;const s=r(20),i=r(22),n=r(30),a=r(35),o=r(31);class l extends a.UnwrapHelper{}t.UnwrapMapHelper=l;class p extends o.WrapHelper{constructor(){super(...arguments),this.type=i.Types.Map}}t.WrapMapHelper=p;class c extends n.IsHelper{constructor(){super(...arguments),this.type=i.Types.Map}}t.IsMapHelper=c,t.hasMap=(e,r,i)=>s.tsUtils.type_.hasType(i,s=>t.isMap(e,r,s)),t.isOnlyMap=(e,r,i)=>s.tsUtils.type_.isOnlyType(i,s=>t.isMap(e,r,s)),t.isMap=(e,t,r)=>e.builtins.isInterface(t,r,"Map")||e.builtins.isInterface(t,r,"ReadonlyMap")},function(e,t,r){"use strict";
1Object.defineProperty(t,"__esModule",{value:!0}),t.ValueFor=void 0;const s=r(20),i=r(45);class n extends i.BuiltinMemberCall{constructor(e,t){super(),this.syscall=e,this.wrap=t}emitCall(e,t,r,i){if(s.tsUtils.argumented.getArguments(r).length<1)return;const n=e.pushValueOptions(i);e.visit(s.tsUtils.argumented.getArguments(r)[0],n),i.pushValue?(e.emitHelper(r,n,e.helpers.unwrapBuffer),e.emitSysCall(r,this.syscall),this.wrap(e,r,n)):e.emitOp(r,"DROP")}}t.ValueFor=n},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.BuiltinMemberValue=void 0;const s=r(32),i=r(33),n=r(40);t.BuiltinMemberValue=class{constructor(){this.types=new Set([n.BuiltinType.MemberValue]),this.canSet=!1,this.isReadonly=!0}emitValue(e,t,r){this.canSet||!r.setValue?this.emit(e,t,r):this.isReadonly||e.context.reportError(t,s.DiagnosticCode.InvalidBuiltinModify,i.DiagnosticMessage.CannotModifyBuiltin)}}},,,,,function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getParent=t.getTarget=t.isArgumentsSymbol=t.getExportOrThrow=t.getExport=t.getExportsOrThrow=t.getExports=t.getMemberOrThrow=t.getMember=t.getMembersOrThrow=t.getMembers=t.getSymbolOrAlias=t.getAliasedSymbol=t.getValueDeclarationOrThrow=t.getValueDeclaration=t.getDeclarations=t.getName=void 0;const s=r(18),i=s.__importDefault(r(21)),n=s.__importStar(r(36));function a(e){return n.getValueOrUndefined(e.valueDeclaration)}function o(e,t){return 0!=(e.flags&t)}function l(e,t){if(o(t,i.default.SymbolFlags.Alias))return n.getValueOrUndefined(e.getAliasedSymbol(t));if(o(t,i.default.SymbolFlags.TypeAlias)){const r=n.getValueOrUndefined(e.getDeclaredTypeOfSymbol(t));if(void 0!==r)return n.getValueOrUndefined(r.getSymbol())}}function p(e){const t=n.getValueOrUndefined(e.members);return void 0===t?n.getValueOrUndefined(e.exports):t}function c(e,t){const r=p(e);return void 0===r?void 0:r.get(t)}function u(e){return n.getValueOrUndefined(e.exports)}function d(e,t){const r=u(e);return void 0===r?void 0:r.get(t)}t.getName=function(e){return e.name},t.getDeclarations=function(e){const t=n.getValueOrUndefined(e.declarations);return void 0===t?[]:t},t.getValueDeclaration=a,t.getValueDeclarationOrThrow=function(e){return n.throwIfNullOrUndefined(a(e),"value declaration")},t.getAliasedSymbol=l,t.getSymbolOrAlias=function(e,t){const r=l(e,t);return void 0===r?t:r},t.getMembers=p,t.getMembersOrThrow=function(e){return n.throwIfNullOrUndefined(p(e),"members")},t.getMember=c,t.getMemberOrThrow=function(e,t){return n.throwIfNullOrUndefined(c(e,t),"symbol member")},t.getExports=u,t.getExportsOrThrow=function(e){return n.throwIfNullOrUndefined(u(e),"exports")},t.getExport=d,t.getExportOrThrow=function(e,t){return n.throwIfNullOrUndefined(d(e,t),"symbol export")},t.isArgumentsSymbol=function(e,t){return e.isArgumentsSymbol(t)},t.getTarget=function(e){const t=e;return null==t.target?e:t.target},t.getParent=function(e){const t=e;return null==t.parent?void 0:t.parent}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const s=r(18);s.__exportStar(r(347),t),s.__exportStar(r(348),t),s.__exportStar(r(349),t),s.__exportStar(r(350),t),s.__exportStar(r(356),t),s.__exportStar(r(357),t),s.__exportStar(r(358),t),s.__exportStar(r(359),t)},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const s=r(18);s.__exportStar(r(370),t),s.__exportStar(r(371),t),s.__exportStar(r(372),t),s.__exportStar(r(373),t),s.__exportStar(r(374),t),s.__exportStar(r(375),t),s.__exportStar(r(376),t)},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.BuiltinBase=void 0;t.BuiltinBase=class{constructor(){this.types=new Set}}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.findDeployInfo=t.findSuperDeployPropInfo=t.createWrapParam=void 0;const s=r(20);t.createWrapParam=e=>(t,r)=>{let i=e.context.analysis.getType(t);void 0!==i&&s.tsUtils.parameter.isRestParameter(t)&&(i=s.tsUtils.type_.getArrayType(i)),e.emitHelper(t,r,e.helpers.wrapValRecursive({type:i,checkValue:!0,optional:void 0!==s.tsUtils.initializer.getInitializer(t)}))},t.findSuperDeployPropInfo=e=>{const r=e.superSmartContract;if(void 0===r)return;const s=r.propInfos.find(e=>"deploy"===e.type);return void 0!==s?[r,s]:t.findSuperDeployPropInfo(r)},t.findDeployInfo=e=>{const r=e.propInfos.find(e=>"deploy"===e.type);return void 0===r?t.findSuperDeployPropInfo(e):[e,r]}},,,function(e,t,r){"use strict";
1Object.defineProperty(t,"__esModule",{value:!0});const s=r(18);s.__exportStar(r(894),t),s.__exportStar(r(245),t)},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getEventName=void 0,t.getEventName=e=>e+"Event"},,,,,,function(e,t,r){"use strict";var s=r(94);r.d(t,"a",(function(){return s}));var i=r(95);r.d(t,"b",(function(){return i}))},function(e,t,r){"use strict";r.r(t),r.d(t,"transferHandlers",(function(){return o})),r.d(t,"proxy",(function(){return p})),r.d(t,"proxyValue",(function(){return c})),r.d(t,"expose",(function(){return u})),r.d(t,"isEndpoint",(function(){return y})),r.d(t,"isTransferable",(function(){return b})),r.d(t,"transferableProperties",(function(){return P}));r(50);const s=[ArrayBuffer,MessagePort],i=Math.floor(Math.random()*Number.MAX_SAFE_INTEGER),n=Symbol("proxyValue"),a=Symbol("throw"),o=new Map([["PROXY",{canHandle:e=>e&&(e[n]||e instanceof Function),serialize:e=>{const{port1:t,port2:r}=new MessageChannel;return u(e,t),r},deserialize:e=>p(e)}],["THROW",{canHandle:e=>e&&e[a]||e instanceof Error,serialize:e=>{const t=e&&e.message,r=e&&e.stack;return Object.assign({},e,{message:t,stack:r})},deserialize:e=>{throw Object.assign(Error(),e)}}]]);let l=0;function p(e,t){if(S(e)&&(e=f(e)),!y(e))throw Error("endpoint does not have all of addEventListener, removeEventListener and postMessage defined");return g(e),function e(t,r=[],s=function(){}){return new Proxy(s,{construct:(e,s,i)=>t({type:"CONSTRUCT",callPath:r,argumentsList:s}),apply:(s,i,n)=>"bind"===r[r.length-1]?e(t,r.slice(0,-1)):t({type:"APPLY",callPath:"apply"===r[r.length-1]?r.slice(0,-1):r,argumentsList:"apply"===r[r.length-1]?n[1]:n}),get(s,i,a){if(i===n)return!0;if("then"===i&&0===r.length)return{then:()=>a};if("then"===i){const e=t({type:"GET",callPath:r});return Promise.resolve(e).then.bind(e)}return e(t,r.concat(i),s[i])},set:(e,s,i,a)=>s===n||t({type:"SET",callPath:r,property:s,value:i})})}(async t=>{let r=[];return"APPLY"!==t.type&&"CONSTRUCT"!==t.type||(r=t.argumentsList.map(d)),m((await function(e,t,r){const s=`${i}-${l++}`;return new Promise(i=>{O(e,(function t(r){r.data.id===s&&"RETURN"===r.data.type&&(!function(e,t){e.removeEventListener("message",t)}(e,t),i(r))})),t=Object.assign({},t,{id:s}),e.postMessage(t,r)})}(e,Object.assign({},t,{argumentsList:r}),P(r))).data.value)},[],t)}function c(e){return e instanceof MessagePort||(e[n]=!0),e}function u(e,t){if(S(t)&&(t=f(t)),!y(t))throw Error("endpoint does not have all of addEventListener, removeEventListener and postMessage defined");g(t),O(t,(async function(r){if(!r.data.id||!r.data.callPath)return;let s;const i=r.data;try{const t=await i.callPath.slice(0,-1).reduce((e,t)=>e[t],e);let r=[];if("APPLY"!==i.type&&"CONSTRUCT"!==i.type||(r=i.argumentsList.map(m)),"APPLY"===i.type&&(s=i.callPath.length>0?await t[i.callPath[i.callPath.length-1]](...r):await t(...r)),"CONSTRUCT"===i.type&&(s=i.callPath.length>0?await new t[i.callPath[i.callPath.length-1]](...r):await new t(...r),s=c(s)),"SET"===i.type||"GET"===i.type){const e=i.callPath.length>0?await t[i.callPath[i.callPath.length-1]]:t;"SET"===i.type?(e[i.property]=i.value,s=!0):s=e}}catch(e){s=e,s[a]=!0}return s=function(e,t){return{type:"RETURN",id:e.id,value:d(t)}}(i,s),t.postMessage(s,P([s]))}))}function d(e){for(const[t,r]of o)if(r.canHandle(e))return{type:t,value:r.serialize(e)};let t=[];!function e(t,r,s=[],i=null){if(!t)return;i||(i=new WeakSet);if(i.has(t))return;if("string"==typeof t)return;"object"==typeof t&&i.add(t);if(ArrayBuffer.isView(t))return;if(r(t,s))return;const n=Object.keys(t);for(const a of n)e(t[a],r,[...s,a],i)}(e,(e,r)=>{for(const[s,i]of o)if(i.canHandle(e))return t.push({path:r,wrappedValue:{type:s,value:i.serialize(e)}}),!0;return!1});for(const r of t){r.path.slice(0,-1).reduce((e,t)=>e[t],e)[r.path[r.path.length-1]]=null}return{type:"RAW",value:e,wrappedChildren:t}}function m(e){if(o.has(e.type)){return o.get(e.type).deserialize(e.value)}
1if(function(e){return"RAW"===e.type}(e)){for(const t of e.wrappedChildren||[]){if(!o.has(t.wrappedValue.type))throw Error(`Unknown value type "${e.type}" at ${t.path.join(".")}`);const r=o.get(t.wrappedValue.type).deserialize(t.wrappedValue.value);h(e.value,t.path,r)}return e.value}throw Error(`Unknown value type "${e.type}"`)}function h(e,t,r){const s=t.slice(-1)[0];t.slice(0,-1).reduce((e,t)=>e[t],e)[s]=r}function f(e){if("Window"!==self.constructor.name)throw Error("self is not a window");return{addEventListener:self.addEventListener.bind(self),removeEventListener:self.removeEventListener.bind(self),postMessage:(t,r)=>e.postMessage(t,"*",r)}}function y(e){return"addEventListener"in e&&"removeEventListener"in e&&"postMessage"in e}function g(e){(function(e){return"MessagePort"===e.constructor.name})(e)&&e.start()}function O(e,t){e.addEventListener("message",t)}function S(e){return["window","length","location","parent","opener"].every(t=>t in e)}function b(e){return s.some(t=>e instanceof t)}function P(e){const t=[];for(const r of function*e(t,r=[],s=null){if(!t)return;if(s||(s=new WeakSet),s.has(t))return;if("string"==typeof t)return;if("object"==typeof t&&s.add(t),ArrayBuffer.isView(t))return;yield{value:t,path:r};const i=Object.keys(t);for(const n of i)yield*e(t[n],[...r,n],s)}(e))b(r.value)&&t.push(r.value);return t}},function(e,t,r){"use strict";function s(e){return r=e,["postMessage","addEventListener","removeEventListener","start","close"].every(e=>e in r)?e:function(e){return["window","length","location","parent","opener"].every(t=>t in e)}(e)?function(e){if("Window"!==self.constructor.name)throw Error("self is not a window");return{addEventListener:self.addEventListener.bind(self),removeEventListener:self.removeEventListener.bind(self),postMessage:(t,r)=>e.postMessage(t,"*",r),start:()=>{},close:()=>{}}}(e):function(e){return["onmessage","postMessage","terminate","addEventListener","removeEventListener"].every(t=>t in e)}(e)?{addEventListener:(t=e).addEventListener.bind(t),removeEventListener:t.removeEventListener.bind(t),postMessage:t.postMessage.bind(t),start:()=>{},close:t.terminate.bind(t)}:function(e){return{addEventListener:e.addEventListener.bind(e),removeEventListener:e.removeEventListener.bind(e),postMessage:e.postMessage.bind(e),start:()=>{i(e)},close:()=>{e.close&&e.close()}}}(e);var t,r}function i(e){e.start&&e.start()}r.r(t),r.d(t,"getEndpoint",(function(){return s})),r.d(t,"activate",(function(){return i}))},,function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isArrayStorage=t.isOnlyArrayStorage=t.hasArrayStorage=t.IsArrayStorageHelper=t.WrapArrayStorageHelper=t.UnwrapArrayStorageHelper=void 0;const s=r(20),i=r(22),n=r(30),a=r(135),o=r(31);class l extends a.UnwrapCopyStructHelper{}t.UnwrapArrayStorageHelper=l;class p extends o.WrapHelper{constructor(){super(...arguments),this.type=i.Types.ArrayStorage}}t.WrapArrayStorageHelper=p;class c extends n.IsHelper{constructor(){super(...arguments),this.type=i.Types.ArrayStorage}}t.IsArrayStorageHelper=c,t.hasArrayStorage=(e,r,i)=>s.tsUtils.type_.hasType(i,s=>t.isArrayStorage(e,r,s)),t.isOnlyArrayStorage=(e,r,i)=>s.tsUtils.type_.isOnlyType(i,s=>t.isArrayStorage(e,r,s)),t.isArrayStorage=(e,t,r)=>e.builtins.isInterface(t,r,"ArrayStorage")},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const s=r(18);s.__exportStar(r(360),t),s.__exportStar(r(361),t),s.__exportStar(r(362),t),s.__exportStar(r(363),t)},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const s=r(18);s.__exportStar(r(364),t),s.__exportStar(r(365),t),s.__exportStar(r(366),t),s.__exportStar(r(367),t),s.__exportStar(r(368),t),s.__exportStar(r(369),t)},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const s=r(18);s.__exportStar(r(377),t),s.__exportStar(r(378),t),s.__exportStar(r(379),t),s.__exportStar(r(380),t)},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isIterableIterator=t.isOnlyIterableIterator=t.hasIterableIterator=t.IsIterableIteratorHelper=t.WrapIterableIteratorHelper=t.UnwrapIterableIteratorHelper=void 0;const s=r(20),i=r(22),n=r(30),a=r(35),o=r(31);class l extends a.UnwrapHelper{}t.UnwrapIterableIteratorHelper=l;class p extends o.WrapHelper{constructor(){super(...arguments),this.type=i.Types.IterableIterator}}t.WrapIterableIteratorHelper=p;class c extends n.IsHelper{constructor(){super(...arguments),this.type=i.Types.IterableIterator}}t.IsIterableIteratorHelper=c,t.hasIterableIterator=(e,r,i)=>s.tsUtils.type_.hasType(i,s=>t.isIterableIterator(e,r,s)),t.isOnlyIterableIterator=(e,r,i)=>s.tsUtils.type_.isOnlyType(i,s=>t.isIterableIterator(e,r,s)),t.isIterableIterator=(e,t,r)=>e.builtins.isInterface(t,r,"IterableIterator")||e.builtins.isInterface(t,r,"Iterator")},function(e,t,r){"use strict";
1Object.defineProperty(t,"__esModule",{value:!0}),t.isMapStorage=t.isOnlyMapStorage=t.hasMapStorage=t.IsMapStorageHelper=t.WrapMapStorageHelper=t.UnwrapMapStorageHelper=void 0;const s=r(20),i=r(22),n=r(30),a=r(135),o=r(31);class l extends a.UnwrapCopyStructHelper{}t.UnwrapMapStorageHelper=l;class p extends o.WrapHelper{constructor(){super(...arguments),this.type=i.Types.MapStorage}}t.WrapMapStorageHelper=p;class c extends n.IsHelper{constructor(){super(...arguments),this.type=i.Types.MapStorage}}t.IsMapStorageHelper=c,t.hasMapStorage=(e,r,i)=>s.tsUtils.type_.hasType(i,s=>t.isMapStorage(e,r,s)),t.isOnlyMapStorage=(e,r,i)=>s.tsUtils.type_.isOnlyType(i,s=>t.isMapStorage(e,r,s)),t.isMapStorage=(e,t,r)=>e.builtins.isInterface(t,r,"MapStorage")},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isSet=t.isOnlySet=t.hasSet=t.IsSetHelper=t.WrapSetHelper=t.UnwrapSetHelper=void 0;const s=r(20),i=r(22),n=r(30),a=r(35),o=r(31);class l extends a.UnwrapHelper{}t.UnwrapSetHelper=l;class p extends o.WrapHelper{constructor(){super(...arguments),this.type=i.Types.Set}}t.WrapSetHelper=p;class c extends n.IsHelper{constructor(){super(...arguments),this.type=i.Types.Set}}t.IsSetHelper=c,t.hasSet=(e,r,i)=>s.tsUtils.type_.hasType(i,s=>t.isSet(e,r,s)),t.isOnlySet=(e,r,i)=>s.tsUtils.type_.isOnlyType(i,s=>t.isSet(e,r,s)),t.isSet=(e,t,r)=>e.builtins.isInterface(t,r,"Set")||e.builtins.isInterface(t,r,"ReadonlySet")},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isSetStorage=t.isOnlySetStorage=t.hasSetStorage=t.IsSetStorageHelper=t.WrapSetStorageHelper=t.UnwrapSetStorageHelper=void 0;const s=r(20),i=r(22),n=r(30),a=r(135),o=r(31);class l extends a.UnwrapCopyStructHelper{}t.UnwrapSetStorageHelper=l;class p extends o.WrapHelper{constructor(){super(...arguments),this.type=i.Types.SetStorage}}t.WrapSetStorageHelper=p;class c extends n.IsHelper{constructor(){super(...arguments),this.type=i.Types.SetStorage}}t.IsSetStorageHelper=c,t.hasSetStorage=(e,r,i)=>s.tsUtils.type_.hasType(i,s=>t.isSetStorage(e,r,s)),t.isOnlySetStorage=(e,r,i)=>s.tsUtils.type_.isOnlyType(i,s=>t.isSetStorage(e,r,s)),t.isSetStorage=(e,t,r)=>e.builtins.isInterface(t,r,"SetStorage")},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const s=r(18);s.__exportStar(r(426),t),s.__exportStar(r(427),t),s.__exportStar(r(428),t),s.__exportStar(r(429),t)},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const s=r(18);s.__exportStar(r(439),t),s.__exportStar(r(440),t),s.__exportStar(r(441),t),s.__exportStar(r(442),t)},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const s=r(18);s.__exportStar(r(443),t),s.__exportStar(r(444),t),s.__exportStar(r(445),t)},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ProgramCounter=void 0;t.ProgramCounter=class{}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.createContextForLanguageService=t.createContextForSnippet=t.createContextForPath=t.createContextForDir=t.COMPILER_OPTIONS=t.updateContext=void 0;const s=r(18),i=r(20),n=s.__importDefault(r(21)),a=r(864),o=r(55);function l(e,t,r,s,i){return new a.Context(e,t,r,s,i)}t.updateContext=function(e,t){const{program:r,typeChecker:s,languageService:n}=h(Object.keys(t),e.host,{modifyHost:m(t),withTestHarness:e.program.__withTestHarness}),a=o.getAllSourceFiles(Object.keys(t).map(e=>i.tsUtils.file.getSourceFileOrThrow(r,e)),s);return e.update(a,r,s,n)};const p={withTestHarness:!1},c=()=>{},u=Object.assign(Object.assign({},p),{modifyHost:c});t.COMPILER_OPTIONS={target:n.default.ScriptTarget.ESNext,module:n.default.ModuleKind.ESNext,moduleResolution:n.default.ModuleResolutionKind.NodeJs,noLib:!0,typeRoots:[],pretty:!0,noEmit:!0,declaration:!1,allowSyntheticDefaultImports:!0,resolveJsonModule:!1,experimentalDecorators:!0,jsx:n.default.JsxEmit.React,alwaysStrict:!0,strict:!0,skipLibCheck:!0,noUnusedLocals:!0,noImplicitReturns:!0,allowUnusedLabels:!1,noUnusedParameters:!1,allowUnreachableCode:!1,noFallthroughCasesInSwitch:!0,forceConsistentCasingInFileNames:!0};const d=(e,t,r=u)=>{const{program:s,typeChecker:n,languageService:a}=h(e,t,r);return l(o.getAllSourceFiles(e.map(e=>i.tsUtils.file.getSourceFileOrThrow(s,e)),n),s,n,a,t)},m=e=>t=>{const r=void 0===t.fileExists?void 0:t.fileExists.bind(t);t.fileExists=t=>void 0!==e[t]||void 0!==r&&r(t);const s=void 0===t.readFile?void 0:t.readFile.bind(t);t.readFile=(t,...r)=>{const i=e[t];return void 0!==i?i:void 0===s?void 0:s(t,...r)}},h=(e,r,{modifyHost:s=c,withTestHarness:i=!1}
1=u)=>{const a=r.createLanguageServiceHost(e,t.COMPILER_OPTIONS,i);s(a);const o=n.default.createLanguageService(a),l=o.getProgram();if(void 0===l)throw new Error("Something went wrong");return l.__withTestHarness=i,{program:l,typeChecker:l.getTypeChecker(),languageService:o}};t.createContextForDir=async(e,t,r=p)=>{const s=await t.getAllTypescriptFilesInDir(e);return d(s,t,r)},t.createContextForPath=(e,t,r=p)=>d([e],t,r),t.createContextForSnippet=(e,t,r=p)=>{var{fileName:n}=r,a=s.__rest(r,["fileName"]);const o=t.createSnippetFile(n),l=d([o],t,Object.assign(Object.assign({},a),{modifyHost:m({[o]:e})}));return{context:l,sourceFile:i.tsUtils.file.getSourceFileOrThrow(l.program,o)}},t.createContextForLanguageService=(e,t,r)=>{const s=t.getProgram();if(void 0===s)throw new Error("Something went wrong");const n=i.tsUtils.file.getSourceFileOrThrow(s,e),a=s.getTypeChecker();return l(o.getAllSourceFiles([n],a),s,a,t,r)}},function(e,t,r){"use strict";r.d(t,"c",(function(){return s})),r.d(t,"b",(function(){return i})),r.d(t,"a",(function(){return n}));const s=e=>(e=>"/node_modules/@neo-one/smart-contract/"+e)("src/"+e),i=e=>(e=>"/node_modules/@neo-one/smart-contract-lib/"+e)("src/"+e),n="/one/contracts"},function(e,t,r){"use strict";r.d(t,"a",(function(){return c}));r(50);var s=r(1217),i=r(1244),n=r(21),a=r.n(n),o=r(235),l=r(157),p=r(110);const c=({fs:e})=>{const t=Object(l.a)(e);return{getAllTypescriptFilesInDir:async e=>t.readDirectory(e,["ts"]),createSnippetFile:(e="snippetCode.ts")=>"/tmp/"+e,getSmartContractPath:p.c,getSmartContractLibPath:p.b,createLanguageServiceHost(e,r,n=!1){const l=this.getSmartContractPath("index.d.ts"),p=[this.getSmartContractPath("global.d.ts"),l,n?this.getSmartContractPath("harness.d.ts"):void 0].filter(s.a.notNull),c=[...new Set(e.concat(p))].map(i.a),u=this.getSmartContractLibPath("index.ts");const d=Object.assign({getScriptFileNames:()=>[...c],getScriptVersion:()=>"0",getScriptSnapshot:e=>{if(d.fileExists(e))return a.a.ScriptSnapshot.fromString(d.readFile(e))},getCompilationSettings:()=>r,getDefaultLibFileName:e=>a.a.getDefaultLibFilePath(e),useCaseSensitiveFileNames:()=>o.b,getNewLine:()=>"\n",resolveModuleNames:function(e,s){const i=[];for(const n of e)if("@neo-one/smart-contract"===n)i.push({resolvedFileName:l});else if("@neo-one/smart-contract-lib"===n)i.push({resolvedFileName:u});else{const e=a.a.resolveModuleName(n,s,r,t);i.push(e.resolvedModule)}return i}},t);return d}}}},,,function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const s=r(18);s.__exportStar(r(895),t),s.__exportStar(r(243),t),s.__exportStar(r(244),t)},,,,,,,,,,,function(e,t,r){"use strict";r.d(t,"a",(function(){return d}));r(50);var s=r(1225),i=r(1218),n=r(1223),a=r(115),o=r(1229),l=r(310),p=r(127),c=r(309),u=r(126);class d{constructor(e,t,r,s){this.db=e,this.changes$=t,this.subscription=r,this.files=s,this.bufferedChanges$=(e=500)=>this.changes$.pipe(Object(i.a)(this.changes$.pipe(Object(n.a)(e))),Object(a.a)(e=>Object.values(e.reduce((e,t)=>Object.assign(Object.assign({},e),{[t.id]:t}),{})))),this.dispose=async()=>{this.subscription.unsubscribe(),await this.db.close()},this.statSync=e=>this.files.has(Object(u.a)(e))?{isDirectory:()=>!1,isFile:()=>!0}:{isDirectory:()=>!0,isFile:()=>!1},this.readFileSync=e=>{const t=Object(u.a)(e),r=this.files.get(t);if(void 0===r)throw Object(c.a)(t);return r.content},this.readdirSync=e=>{const t=Object(u.a)(e);if(this.files.has(t))throw Object(c.b)(t);const r="/"===t?t:t+"/",s=new Set;for(const e of this.files.keys())if(e.startsWith(r)){let t=e.slice(r.length);const i=t.indexOf("/");-1!==i&&(t=t.slice(0,i)),s.add(t)}return[...s]},this.writeFile=async(e,t)=>{const r=Object(u.a)(e),s=this.files.get(r);if(void 0===s||s.content!==t){const e=await this.writer.write(r,{type:"write",content:t});this.files.set(r,{content:t,_rev:e.rev})}},this.removeFile=async e=>{const t=Object(u.a)(e);await this.writer.write(t,{type:"remove"}),this.files.delete(t)},this.writer=new l.a(async t=>{const r=[];for(const[e,s]of t.entries()){const t=this.files.get(e);if("remove"===s.type)void 0!==t&&r.push({_id:e,content:t.content,_rev:t._rev,_deleted:!0}
1);else{const i={_id:e,content:s.content};r.push(void 0===t?i:Object.assign(Object.assign({},i),{_rev:t._rev}))}}const s=await e.bulkDocs(r);if(s.find(e=>!e.ok))throw new Error("Failed to write");const i=new Map;return s.forEach(e=>{const t=e;i.set(t.id,t)}),i})}static async create(e){const t=new Map,r=Object(p.a)(e).pipe(Object(s.a)(1e3),Object(o.a)()),i=r.pipe(Object(a.a)(e=>{void 0===e.doc?t.delete(e.id):t.set(e.id,{content:e.doc.content,_rev:e.doc._rev})})).subscribe(),n=await e.allDocs({include_docs:!0});for(const e of n.rows)void 0!==e.doc&&t.set(e.id,{content:e.doc.content,_rev:e.doc._rev});return new d(e,r,i,t)}}},function(e,t,r){"use strict";r.d(t,"a",(function(){return s}));const s=e=>{const t="/"===e?e:e.endsWith("/")?e.slice(0,-1):e;return t.startsWith("/")?t:"/"+t}},function(e,t,r){"use strict";r.d(t,"a",(function(){return i}));var s=r(52);const i=(e,t={since:"now",live:!0,include_docs:!0})=>new s.a(r=>{const s=e.changes(t).on("change",e=>{r.next(e)}).on("error",e=>{r.error(e)}).on("complete",()=>{r.complete()});return()=>s.cancel()})},,function(e,t,r){"use strict";(function(e){r.d(t,"a",(function(){return d}));r(50);var s=r(874),i=r(1056),n=r(90),a=r(341),o=r(1072),l=r(887),p=r(1233),c=r(886),u=r(312);const d=async({fs:t,output$:r,providerManager:d})=>{r.next({owner:"neo-one",message:"Scanning for contracts..."});const m=await Object(u.a)(t);if(0===m.length)return r.next({owner:"neo-one",message:"No contracts found."}),{files:[]};const h={},f=[],y={},g={},O=new o.a({network:p.a.LOCAL_NETWORK_NAME,rpcURL:d});r.next({owner:"neo-one",message:"Setting up wallets..."});const{wallets:S}=await Object(s.setupWallets)(O,p.a.PRIVATE_NET_PRIVATE_KEY);for(const o of m){let l;r.next({owner:"neo-one",message:`Compiling contract ${o.name}...`});try{l=await Object(c.a)(o.filePath,o.name,y,t)}catch(e){throw r.next({owner:"neo-one",message:"Compilation failed:\n "+(void 0===e.stack?e.message:e.stack)}),e}const u=Object(i.l)(n.b.uInt160ToString(a.a.toScriptHash(e.from(l.contract.script,"hex"))));g[u]=l.sourceMap,await Object(s.deployContract)(O,l.contract,l.abi,g,p.a.PRIVATE_NET_PRIVATE_KEY),y[o.filePath]={[o.name]:u},f.push(Object.assign(Object.assign({},l),{addresses:[u]})),h[l.name]={[p.a.LOCAL_NETWORK_NAME]:{address:u}}}const b="one/generated",P=e=>{const t=`${b}/${e}`;return{typesPath:t+"/types.ts",abiPath:t+"/abi.ts",createContractPath:t+"/contract.ts"}},v=[];r.next({owner:"neo-one",message:"Generating code..."}),f.forEach(e=>{const{typesPath:t,abiPath:r,createContractPath:s}=P(e.name),{abi:i,contract:n,types:a}=Object(l.genFiles)({name:e.name,networksDefinition:h[e.name],contractPath:e.filePath,typesPath:t,abiPath:r,createContractPath:s,abi:e.abi,sourceMapsPath:"one/generated/sourceMaps.ts",browserify:!1});v.push({path:t,content:a.ts}),v.push({path:r,content:i.ts}),v.push({path:s,content:n.ts})});const C=f.map(({name:e,filePath:t,sourceMap:r,addresses:s})=>Object.assign(Object.assign({},P(e)),{sourceMap:r,name:e,addresses:s,contractPath:t})),{sourceMaps:x,test:T,contracts:_,react:H,client:w,generated:I}=Object(l.genCommonBrowserFiles)({contractsPaths:C,testPath:"one/generated/test.ts",contractsPath:"one/generated/contracts.ts",reactPath:"one/generated/react.tsx",angularPath:"one/generated/angular.service.ts",sourceMapsPath:"one/generated/sourceMaps.ts",vuePath:"one/generated/vue.d.js",clientPath:"one/generated/client.ts",generatedPath:"one/generated/index.ts",localDevNetworkName:p.a.LOCAL_NETWORK_NAME,wallets:[{name:"master",wif:p.a.PRIVATE_NET_WIF}].concat(S),networks:[],sourceMaps:g,framework:"react"});return v.push({path:"one/generated/sourceMaps.ts",content:x.ts}),v.push({path:"one/generated/test.ts",content:T.ts}),v.push({path:"one/generated/contracts.ts",content:_.ts}),v.push({path:"one/generated/react.tsx",content:H.ts}),v.push({path:"one/generated/client.ts",content:w.ts}),v.push({path:"one/generated/index.ts",content:I.ts}),r.next({owner:"neo-one",message:"Done"}),{files:v}}}).call(this,r(26).Buffer)},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isJsonMinusNumericLiteral=t.isInputFiles=t.isJSDocUnknownTag=t.isJSDocTag=t.isJSDocType=t.isClassLikeDeclarationBase=t.isCommaListExpression=t.isNotEmittedStatement=t.isObjectLiteralExpressionBase=t.isSyntheticExpression=t.isImportExpression=t.isSuperExpression=t.isThisExpression=t.isBooleanLiteral=t.isNullLiteral=t.isPartiallyEmittedExpression=t.isLiteralLikeNode=t.isRestTypeNode=t.isOptionalTypeNode=t.isFunctionOrConstructorTypeNodeBase=t.isNodeWithTypeArguments=t.isKeywordTypeNode=t.isFunctionLikeDeclarationBase=t.isParameterDeclaration=t.isSignatureDeclarationBase=t.isStatement=t.isDeclarationStatement=t.isNamedDeclaration=t.isExpression=t.isUnaryExpression=t.isUpdateExpression=t.isLeftHandSideExpression=t.isMemberExpression=t.isDeclaration=t.isPrimaryExpression=void 0;const s=r(18).__importDefault(r(21));t.isPrimaryExpression=function(e){switch(e.kind){case s.default.SyntaxKind.Identifier:case s.default.SyntaxKind.StringLiteral
1:case s.default.SyntaxKind.NullKeyword:case s.default.SyntaxKind.TrueKeyword:case s.default.SyntaxKind.FalseKeyword:case s.default.SyntaxKind.ThisKeyword:case s.default.SyntaxKind.SuperKeyword:case s.default.SyntaxKind.ImportKeyword:case s.default.SyntaxKind.FunctionExpression:case s.default.SyntaxKind.RegularExpressionLiteral:case s.default.SyntaxKind.NoSubstitutionTemplateLiteral:case s.default.SyntaxKind.NumericLiteral:case s.default.SyntaxKind.TemplateExpression:case s.default.SyntaxKind.ParenthesizedExpression:case s.default.SyntaxKind.ArrayLiteralExpression:case s.default.SyntaxKind.ObjectLiteralExpression:case s.default.SyntaxKind.NewExpression:case s.default.SyntaxKind.MetaProperty:case s.default.SyntaxKind.JsxElement:case s.default.SyntaxKind.JsxSelfClosingElement:case s.default.SyntaxKind.JsxFragment:case s.default.SyntaxKind.ClassExpression:return!0;default:return!1}},t.isDeclaration=function(e){switch(e.kind){case s.default.SyntaxKind.Identifier:case s.default.SyntaxKind.TypeParameter:case s.default.SyntaxKind.CallSignature:case s.default.SyntaxKind.ConstructSignature:case s.default.SyntaxKind.VariableDeclaration:case s.default.SyntaxKind.Parameter:case s.default.SyntaxKind.BindingElement:case s.default.SyntaxKind.PropertySignature:case s.default.SyntaxKind.PropertyDeclaration:case s.default.SyntaxKind.PropertyAssignment:case s.default.SyntaxKind.ShorthandPropertyAssignment:case s.default.SyntaxKind.SpreadAssignment:case s.default.SyntaxKind.FunctionDeclaration:case s.default.SyntaxKind.MethodSignature:case s.default.SyntaxKind.MethodDeclaration:case s.default.SyntaxKind.Constructor:case s.default.SyntaxKind.SemicolonClassElement:case s.default.SyntaxKind.GetAccessor:case s.default.SyntaxKind.SetAccessor:case s.default.SyntaxKind.IndexSignature:case s.default.SyntaxKind.FunctionType:case s.default.SyntaxKind.ConstructorType:case s.default.SyntaxKind.TypeLiteral:case s.default.SyntaxKind.MappedType:case s.default.SyntaxKind.BinaryExpression:case s.default.SyntaxKind.FunctionExpression:case s.default.SyntaxKind.ArrowFunction:case s.default.SyntaxKind.ObjectLiteralExpression:case s.default.SyntaxKind.PropertyAccessExpression:case s.default.SyntaxKind.CallExpression:case s.default.SyntaxKind.NewExpression:case s.default.SyntaxKind.JsxAttribute:case s.default.SyntaxKind.JsxSpreadAttribute:case s.default.SyntaxKind.MissingDeclaration:case s.default.SyntaxKind.ClassDeclaration:case s.default.SyntaxKind.ClassExpression:case s.default.SyntaxKind.InterfaceDeclaration:case s.default.SyntaxKind.TypeAliasDeclaration:case s.default.SyntaxKind.EnumMember:case s.default.SyntaxKind.EnumDeclaration:case s.default.SyntaxKind.ModuleDeclaration:case s.default.SyntaxKind.ImportEqualsDeclaration:case s.default.SyntaxKind.ImportClause:case s.default.SyntaxKind.NamespaceImport:case s.default.SyntaxKind.NamespaceExportDeclaration:case s.default.SyntaxKind.ExportDeclaration:case s.default.SyntaxKind.ImportSpecifier:case s.default.SyntaxKind.ExportSpecifier:case s.default.SyntaxKind.ExportAssignment:case s.default.SyntaxKind.JSDocFunctionType:case s.default.SyntaxKind.JSDocTypedefTag:case s.default.SyntaxKind.JSDocCallbackTag:case s.default.SyntaxKind.JSDocSignature:case s.default.SyntaxKind.JSDocPropertyTag:case s.default.SyntaxKind.JSDocParameterTag:case s.default.SyntaxKind.SourceFile:return!0;default:return!1}},t.isMemberExpression=function(e){switch(e.kind){case s.default.SyntaxKind.Identifier:case s.default.SyntaxKind.StringLiteral:case s.default.SyntaxKind.NullKeyword:case s.default.SyntaxKind.TrueKeyword:case s.default.SyntaxKind.FalseKeyword:case s.default.SyntaxKind.ThisKeyword:case s.default.SyntaxKind.SuperKeyword:case s.default.SyntaxKind.ImportKeyword:case s.default.SyntaxKind.FunctionExpression:case s.default.SyntaxKind.RegularExpressionLiteral:case s.default.SyntaxKind.NoSubstitutionTemplateLiteral:case s.default.SyntaxKind.NumericLiteral:case s.default.SyntaxKind.TemplateExpression:case s.default.SyntaxKind.ParenthesizedExpression:case s.default.SyntaxKind.ArrayLiteralExpression:case s.default.SyntaxKind.ObjectLiteralExpression:case s.default.SyntaxKind.PropertyAccessExpression:case s.default.SyntaxKind.ElementAccessExpression:case s.default.SyntaxKind.NewExpression:case s.default.SyntaxKind.TaggedTemplateExpression:case s.default.SyntaxKind.MetaProperty:case s.default.SyntaxKind.JsxElement:case s.default.SyntaxKind.JsxSelfClosingElement:case s.default.SyntaxKind.JsxFragment:case s.default.SyntaxKind.ClassExpression:return!0;default:return!1}},t.isLeftHandSideExpression=function(e){switch(e.kind){case s.default.SyntaxKind.Identifier:case s.default.SyntaxKind.StringLiteral
1:case s.default.SyntaxKind.PartiallyEmittedExpression:case s.default.SyntaxKind.NullKeyword:case s.default.SyntaxKind.TrueKeyword:case s.default.SyntaxKind.FalseKeyword:case s.default.SyntaxKind.ThisKeyword:case s.default.SyntaxKind.SuperKeyword:case s.default.SyntaxKind.ImportKeyword:case s.default.SyntaxKind.FunctionExpression:case s.default.SyntaxKind.RegularExpressionLiteral:case s.default.SyntaxKind.NoSubstitutionTemplateLiteral:case s.default.SyntaxKind.NumericLiteral:case s.default.SyntaxKind.TemplateExpression:case s.default.SyntaxKind.ParenthesizedExpression:case s.default.SyntaxKind.ArrayLiteralExpression:case s.default.SyntaxKind.ObjectLiteralExpression:case s.default.SyntaxKind.PropertyAccessExpression:case s.default.SyntaxKind.ElementAccessExpression:case s.default.SyntaxKind.CallExpression:case s.default.SyntaxKind.NewExpression:case s.default.SyntaxKind.TaggedTemplateExpression:case s.default.SyntaxKind.NonNullExpression:case s.default.SyntaxKind.MetaProperty:case s.default.SyntaxKind.JsxElement:case s.default.SyntaxKind.JsxSelfClosingElement:case s.default.SyntaxKind.JsxFragment:case s.default.SyntaxKind.ClassExpression:return!0;default:return!1}},t.isUpdateExpression=function(e){switch(e.kind){case s.default.SyntaxKind.Identifier:case s.default.SyntaxKind.StringLiteral:case s.default.SyntaxKind.PartiallyEmittedExpression:case s.default.SyntaxKind.PrefixUnaryExpression:case s.default.SyntaxKind.PostfixUnaryExpression:case s.default.SyntaxKind.NullKeyword:case s.default.SyntaxKind.TrueKeyword:case s.default.SyntaxKind.FalseKeyword:case s.default.SyntaxKind.ThisKeyword:case s.default.SyntaxKind.SuperKeyword:case s.default.SyntaxKind.ImportKeyword:case s.default.SyntaxKind.FunctionExpression:case s.default.SyntaxKind.RegularExpressionLiteral:case s.default.SyntaxKind.NoSubstitutionTemplateLiteral:case s.default.SyntaxKind.NumericLiteral:case s.default.SyntaxKind.TemplateExpression:case s.default.SyntaxKind.ParenthesizedExpression:case s.default.SyntaxKind.ArrayLiteralExpression:case s.default.SyntaxKind.ObjectLiteralExpression:case s.default.SyntaxKind.PropertyAccessExpression:case s.default.SyntaxKind.ElementAccessExpression:case s.default.SyntaxKind.CallExpression:case s.default.SyntaxKind.NewExpression:case s.default.SyntaxKind.TaggedTemplateExpression:case s.default.SyntaxKind.NonNullExpression:case s.default.SyntaxKind.MetaProperty:case s.default.SyntaxKind.JsxElement:case s.default.SyntaxKind.JsxSelfClosingElement:case s.default.SyntaxKind.JsxFragment:case s.default.SyntaxKind.ClassExpression:return!0;default:return!1}},t.isUnaryExpression=function(e){switch(e.kind){case s.default.SyntaxKind.Identifier:case s.default.SyntaxKind.StringLiteral:case s.default.SyntaxKind.PartiallyEmittedExpression:case s.default.SyntaxKind.PrefixUnaryExpression:case s.default.SyntaxKind.PostfixUnaryExpression:case s.default.SyntaxKind.NullKeyword:case s.default.SyntaxKind.TrueKeyword:case s.default.SyntaxKind.FalseKeyword:case s.default.SyntaxKind.ThisKeyword:case s.default.SyntaxKind.SuperKeyword:case s.default.SyntaxKind.ImportKeyword:case s.default.SyntaxKind.DeleteExpression:case s.default.SyntaxKind.TypeOfExpression:case s.default.SyntaxKind.VoidExpression:case s.default.SyntaxKind.AwaitExpression:case s.default.SyntaxKind.FunctionExpression:case s.default.SyntaxKind.RegularExpressionLiteral:case s.default.SyntaxKind.NoSubstitutionTemplateLiteral:case s.default.SyntaxKind.NumericLiteral:case s.default.SyntaxKind.TemplateExpression:case s.default.SyntaxKind.ParenthesizedExpression:case s.default.SyntaxKind.ArrayLiteralExpression:case s.default.SyntaxKind.ObjectLiteralExpression:case s.default.SyntaxKind.PropertyAccessExpression:case s.default.SyntaxKind.ElementAccessExpression:case s.default.SyntaxKind.CallExpression:case s.default.SyntaxKind.NewExpression:case s.default.SyntaxKind.TaggedTemplateExpression:case s.default.SyntaxKind.TypeAssertionExpression:case s.default.SyntaxKind.NonNullExpression:case s.default.SyntaxKind.MetaProperty:case s.default.SyntaxKind.JsxElement:case s.default.SyntaxKind.JsxSelfClosingElement:case s.default.SyntaxKind.JsxFragment:case s.default.SyntaxKind.ClassExpression:return!0;default:return!1}},t.isExpression=function(e){switch(e.kind){case s.default.SyntaxKind.Identifier:case s.default.SyntaxKind.StringLiteral
1:case s.default.SyntaxKind.OmittedExpression:case s.default.SyntaxKind.PartiallyEmittedExpression:case s.default.SyntaxKind.PrefixUnaryExpression:case s.default.SyntaxKind.PostfixUnaryExpression:case s.default.SyntaxKind.NullKeyword:case s.default.SyntaxKind.TrueKeyword:case s.default.SyntaxKind.FalseKeyword:case s.default.SyntaxKind.ThisKeyword:case s.default.SyntaxKind.SuperKeyword:case s.default.SyntaxKind.ImportKeyword:case s.default.SyntaxKind.DeleteExpression:case s.default.SyntaxKind.TypeOfExpression:case s.default.SyntaxKind.VoidExpression:case s.default.SyntaxKind.AwaitExpression:case s.default.SyntaxKind.YieldExpression:case s.default.SyntaxKind.SyntheticExpression:case s.default.SyntaxKind.BinaryExpression:case s.default.SyntaxKind.ConditionalExpression:case s.default.SyntaxKind.FunctionExpression:case s.default.SyntaxKind.ArrowFunction:case s.default.SyntaxKind.RegularExpressionLiteral:case s.default.SyntaxKind.NoSubstitutionTemplateLiteral:case s.default.SyntaxKind.NumericLiteral:case s.default.SyntaxKind.TemplateExpression:case s.default.SyntaxKind.ParenthesizedExpression:case s.default.SyntaxKind.ArrayLiteralExpression:case s.default.SyntaxKind.SpreadElement:case s.default.SyntaxKind.ObjectLiteralExpression:case s.default.SyntaxKind.PropertyAccessExpression:case s.default.SyntaxKind.ElementAccessExpression:case s.default.SyntaxKind.CallExpression:case s.default.SyntaxKind.NewExpression:case s.default.SyntaxKind.TaggedTemplateExpression:case s.default.SyntaxKind.AsExpression:case s.default.SyntaxKind.TypeAssertionExpression:case s.default.SyntaxKind.NonNullExpression:case s.default.SyntaxKind.MetaProperty:case s.default.SyntaxKind.JsxElement:case s.default.SyntaxKind.JsxOpeningElement:case s.default.SyntaxKind.JsxSelfClosingElement:case s.default.SyntaxKind.JsxFragment:case s.default.SyntaxKind.JsxOpeningFragment:case s.default.SyntaxKind.JsxClosingFragment:case s.default.SyntaxKind.JsxExpression:case s.default.SyntaxKind.CommaListExpression:case s.default.SyntaxKind.ClassExpression:return!0;default:return!1}},t.isNamedDeclaration=function(e){switch(e.kind){case s.default.SyntaxKind.TypeParameter:case s.default.SyntaxKind.CallSignature:case s.default.SyntaxKind.ConstructSignature:case s.default.SyntaxKind.VariableDeclaration:case s.default.SyntaxKind.Parameter:case s.default.SyntaxKind.BindingElement:case s.default.SyntaxKind.PropertySignature:case s.default.SyntaxKind.PropertyDeclaration:case s.default.SyntaxKind.PropertyAssignment:case s.default.SyntaxKind.ShorthandPropertyAssignment:case s.default.SyntaxKind.SpreadAssignment:case s.default.SyntaxKind.FunctionDeclaration:case s.default.SyntaxKind.MethodSignature:case s.default.SyntaxKind.MethodDeclaration:case s.default.SyntaxKind.Constructor:case s.default.SyntaxKind.SemicolonClassElement:case s.default.SyntaxKind.GetAccessor:case s.default.SyntaxKind.SetAccessor:case s.default.SyntaxKind.IndexSignature:case s.default.SyntaxKind.FunctionType:case s.default.SyntaxKind.ConstructorType:case s.default.SyntaxKind.FunctionExpression:case s.default.SyntaxKind.ArrowFunction:case s.default.SyntaxKind.PropertyAccessExpression:case s.default.SyntaxKind.JsxAttribute:case s.default.SyntaxKind.JsxSpreadAttribute:case s.default.SyntaxKind.MissingDeclaration:case s.default.SyntaxKind.ClassDeclaration:case s.default.SyntaxKind.ClassExpression:case s.default.SyntaxKind.InterfaceDeclaration:case s.default.SyntaxKind.TypeAliasDeclaration:case s.default.SyntaxKind.EnumMember:case s.default.SyntaxKind.EnumDeclaration:case s.default.SyntaxKind.ModuleDeclaration:case s.default.SyntaxKind.ImportEqualsDeclaration:case s.default.SyntaxKind.ImportClause:case s.default.SyntaxKind.NamespaceImport:case s.default.SyntaxKind.NamespaceExportDeclaration:case s.default.SyntaxKind.ExportDeclaration:case s.default.SyntaxKind.ImportSpecifier:case s.default.SyntaxKind.ExportSpecifier:case s.default.SyntaxKind.ExportAssignment:case s.default.SyntaxKind.JSDocFunctionType:case s.default.SyntaxKind.JSDocTypedefTag:case s.default.SyntaxKind.JSDocCallbackTag:return!0;default:return!1}},t.isDeclarationStatement=function(e){switch(e.kind){case s.default.SyntaxKind.FunctionDeclaration:case s.default.SyntaxKind.MissingDeclaration:case s.default.SyntaxKind.ClassDeclaration:case s.default.SyntaxKind.InterfaceDeclaration:case s.default.SyntaxKind.TypeAliasDeclaration:case s.default.SyntaxKind.EnumDeclaration:case s.default.SyntaxKind.ModuleDeclaration:case s.default.SyntaxKind.ImportEqualsDeclaration:case s.default.SyntaxKind.NamespaceExportDeclaration:case s.default.SyntaxKind.ExportDeclaration:case s.default.SyntaxKind.ExportAssignment:return!0;default:return!1}},t.isStatement=function(e){switch(e.kind){case s.default.SyntaxKind.FunctionDeclaration:case s.default.SyntaxKind.NotEmittedStatement:case s.default.SyntaxKind.EmptyStatement:case s.default.SyntaxKind.DebuggerStatement:case s.default.SyntaxKind.MissingDeclaration:case s.default.SyntaxKind.Block:case s.default.SyntaxKind.VariableStatement:case s.default.SyntaxKind.ExpressionStatement:case s.default.SyntaxKind.IfStatement:case s.default.SyntaxKind.DoStatement:case s.default.SyntaxKind.WhileStatement:case s.default.SyntaxKind.ForStatement:case s.default.SyntaxKind.ForInStatement:case s.default.SyntaxKind.ForOfStatement:case s.default.SyntaxKind.BreakStatement:case s.default.SyntaxKind.ContinueStatement:case s.default.SyntaxKind.ReturnStatement:case s.default.SyntaxKind.WithStatement:case s.default.SyntaxKind.SwitchStatement:case s.default.SyntaxKind.LabeledStatement:case s.default.SyntaxKind.ThrowStatement:case s.default.SyntaxKind.TryStatement:case s.default.SyntaxKind.ClassDeclaration:case s.default.SyntaxKind.InterfaceDeclaration:case s.default.SyntaxKind.TypeAliasDeclaration:case s.default.SyntaxKind.EnumDeclaration:case s.default.SyntaxKind.ModuleDeclaration:case s.default.SyntaxKind.ModuleBlock:case s.default.SyntaxKind.ImportEqualsDeclaration:case s.default.SyntaxKind.ImportDeclaration:case s.default.SyntaxKind.NamespaceExportDeclaration:case s.default.SyntaxKind.ExportDeclaration:case s.default.SyntaxKind.ExportAssignment:return!0;default:return!1}},t.isSignatureDeclarationBase=function(e){switch(e.kind){case s.default.SyntaxKind.CallSignature:case s.default.SyntaxKind.ConstructSignature:case s.default.SyntaxKind.FunctionDeclaration:case s.default.SyntaxKind.MethodSignature:case s.default.SyntaxKind.MethodDeclaration:case s.default.SyntaxKind.Constructor:case s.default.SyntaxKind.GetAccessor:case s.default.SyntaxKind.SetAccessor:case s.default.SyntaxKind.IndexSignature:case s.default.SyntaxKind.FunctionType:case s.default.SyntaxKind.ConstructorType:case s.default.SyntaxKind.FunctionExpression:case s.default.SyntaxKind.ArrowFunction:case s.default.SyntaxKind.JSDocFunctionType:return!0;default:return!1}},t.isParameterDeclaration=function(e){switch(e.kind){case s.default.SyntaxKind.Parameter:return!0;default:return!1}},t.isFunctionLikeDeclarationBase=function(e){switch(e.kind){case s.default.SyntaxKind.FunctionDeclaration:case s.default.SyntaxKind.MethodDeclaration:case s.default.SyntaxKind.Constructor:case s.default.SyntaxKind.GetAccessor:case s.default.SyntaxKind.SetAccessor:case s.default.SyntaxKind.FunctionExpression:case s.default.SyntaxKind.ArrowFunction:return!0;default:return!1}},t.isKeywordTypeNode=function(e){switch(e.kind){case s.default.SyntaxKind.ThisKeyword:return!0;default:return!1}},t.isNodeWithTypeArguments=function(e){switch(e.kind){case s.default.SyntaxKind.ImportType:case s.default.SyntaxKind.TypeReference:case s.default.SyntaxKind.ExpressionWithTypeArguments:return!0;default:return!1}},t.isFunctionOrConstructorTypeNodeBase=function(e){switch(e.kind){case s.default.SyntaxKind.FunctionType:case s.default.SyntaxKind.ConstructorType:return!0;default:return!1}},t.isOptionalTypeNode=function(e){switch(e.kind){case s.default.SyntaxKind.OptionalType:return!0;default:return!1}},t.isRestTypeNode=function(e){switch(e.kind){case s.default.SyntaxKind.RestType:return!0;default:return!1}},t.isLiteralLikeNode=function(e){switch(e.kind){case s.default.SyntaxKind.StringLiteral
1:case s.default.SyntaxKind.RegularExpressionLiteral:case s.default.SyntaxKind.NoSubstitutionTemplateLiteral:case s.default.SyntaxKind.NumericLiteral:case s.default.SyntaxKind.TemplateHead:case s.default.SyntaxKind.TemplateMiddle:case s.default.SyntaxKind.TemplateTail:return!0;default:return!1}},t.isPartiallyEmittedExpression=function(e){switch(e.kind){case s.default.SyntaxKind.PartiallyEmittedExpression:return!0;default:return!1}},t.isNullLiteral=function(e){switch(e.kind){case s.default.SyntaxKind.NullKeyword:return!0;default:return!1}},t.isBooleanLiteral=function(e){switch(e.kind){case s.default.SyntaxKind.TrueKeyword:case s.default.SyntaxKind.FalseKeyword:return!0;default:return!1}},t.isThisExpression=function(e){switch(e.kind){case s.default.SyntaxKind.ThisKeyword:return!0;default:return!1}},t.isSuperExpression=function(e){switch(e.kind){case s.default.SyntaxKind.SuperKeyword:return!0;default:return!1}},t.isImportExpression=function(e){switch(e.kind){case s.default.SyntaxKind.ImportKeyword:return!0;default:return!1}},t.isSyntheticExpression=function(e){switch(e.kind){case s.default.SyntaxKind.SyntheticExpression:return!0;default:return!1}},t.isObjectLiteralExpressionBase=function(e){switch(e.kind){case s.default.SyntaxKind.ObjectLiteralExpression:return!0;default:return!1}},t.isNotEmittedStatement=function(e){switch(e.kind){case s.default.SyntaxKind.NotEmittedStatement:return!0;default:return!1}},t.isCommaListExpression=function(e){switch(e.kind){case s.default.SyntaxKind.CommaListExpression:return!0;default:return!1}},t.isClassLikeDeclarationBase=function(e){switch(e.kind){case s.default.SyntaxKind.ClassDeclaration:case s.default.SyntaxKind.ClassExpression:return!0;default:return!1}},t.isJSDocType=function(e){switch(e.kind){case s.default.SyntaxKind.JSDocAllType:case s.default.SyntaxKind.JSDocUnknownType:case s.default.SyntaxKind.JSDocNonNullableType:case s.default.SyntaxKind.JSDocNullableType:case s.default.SyntaxKind.JSDocOptionalType:case s.default.SyntaxKind.JSDocFunctionType:case s.default.SyntaxKind.JSDocVariadicType:case s.default.SyntaxKind.JSDocSignature:case s.default.SyntaxKind.JSDocTypeLiteral:return!0;default:return!1}},t.isJSDocTag=function(e){switch(e.kind){case s.default.SyntaxKind.JSDocTag:case s.default.SyntaxKind.JSDocAugmentsTag:case s.default.SyntaxKind.JSDocClassTag:case s.default.SyntaxKind.JSDocThisTag:case s.default.SyntaxKind.JSDocTemplateTag:case s.default.SyntaxKind.JSDocReturnTag:case s.default.SyntaxKind.JSDocTypeTag:case s.default.SyntaxKind.JSDocTypedefTag:case s.default.SyntaxKind.JSDocCallbackTag:case s.default.SyntaxKind.JSDocPropertyTag:case s.default.SyntaxKind.JSDocParameterTag:return!0;default:return!1}},t.isJSDocUnknownTag=function(e){switch(e.kind){case s.default.SyntaxKind.JSDocTag:return!0;default:return!1}},t.isInputFiles=function(e){switch(e.kind){case s.default.SyntaxKind.InputFiles:return!0;default:return!1}},t.isJsonMinusNumericLiteral=function(e){switch(e.kind){case s.default.SyntaxKind.PrefixUnaryExpression:return!0;default:return!1}}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.findReferencesAsNodes=t.getNodesForReferences=t.findReferences=void 0;const s=r(18),i=s.__importDefault(r(21)),n=r(70),a=s.__importStar(r(132)),o=s.__importStar(r(51)),l=s.__importStar(r(36));function p(e,t){return l.getArray(e.findReferences(t.getSourceFile().fileName,function(e){if(i.default.isIdentifier(e))return e;const t=o.getNameNode(e);if(void 0!==t)return i.default.isArrayBindingPattern(t)||i.default.isObjectBindingPattern(t)?e:t;const r=n.modifier.getDefaultKeyword(e);return void 0!==r&&n.modifier.isDefaultExport(e)?r:e}(t).getStart()))}function c(e,t){return t.reduce((t,r)=>{const s=r.definition.kind===i.default.ScriptElementKind.alias?r.references:r.references.filter(e=>!e.isDefinition);return t.concat(s.map(t=>{const r=a.getSourceFileOrThrow(e,t.fileName);return l.throwIfNullOrUndefined(o.getDescendantAtPos(r,t.textSpan.start),"referenced node")}))},[])}t.findReferences=p,t.getNodesForReferences=c,t.findReferencesAsNodes=function(e,t,r){return c(e,p(t,r))}},function(e,t,r){"use strict";
1Object.defineProperty(t,"__esModule",{value:!0}),t.getExportedSymbols=t.createSourceMapRange=t.getExportAssignments=t.getExportDeclarations=t.getImportDeclarations=t.getText=t.getFilePath=t.isDeclarationFile=t.getSourceFileOrThrow=t.getSourceFile=t.getSourceFiles=void 0;const s=r(18),i=s.__importDefault(r(21)),n=s.__importStar(r(51)),a=s.__importStar(r(190)),o=s.__importStar(r(36));function l(e,t){return o.getValueOrUndefined(e.getSourceFile(t))}function p(e){return e.fileName}function c(e){return n.getSourceFile(e).getFullText()}t.getSourceFiles=function(e){return e.getSourceFiles()},t.getSourceFile=l,t.getSourceFileOrThrow=function(e,t){return o.throwIfNullOrUndefined(l(e,t),"source file: "+t)},t.isDeclarationFile=function(e){return e.isDeclarationFile},t.getFilePath=p,t.getText=c,t.getImportDeclarations=function(e){return a.getStatements(e).filter(i.default.isImportDeclaration)},t.getExportDeclarations=function(e){return a.getStatements(e).filter(i.default.isExportDeclaration)},t.getExportAssignments=function(e){return a.getStatements(e).filter(i.default.isExportAssignment)},t.createSourceMapRange=function(e){const t=n.getSourceFile(e);return{pos:e.pos,end:e.end,source:void 0===t?void 0:i.default.createSourceMapSource(p(t),c(e))}},t.getExportedSymbols=function(e,t){const r=n.getSymbol(e,t);return void 0===r?[]:e.getExportsOfModule(r)}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.filterUnion=t.getNonNullableType=t.getCallSignatures=t.hasVoidish=t.isOnlyVoidish=t.isVoidish=t.hasVoid=t.isOnlyVoid=t.isVoid=t.getArrayTypes=t.getArrayTypeOrThrow=t.getArrayType=t.hasArrayish=t.isOnlyArrayish=t.isArrayish=t.hasArray=t.isOnlyArray=t.isArray=t.isOnlyObject=t.hasPrimitiveish=t.isOnlyPrimitiveish=t.isPrimitiveish=t.hasPrimitiveLike=t.isOnlyPrimitiveLike=t.isPrimitiveLike=t.hasPrimitive=t.isOnlyPrimitive=t.isPrimitive=t.hasSymbolish=t.isOnlySymbolish=t.isSymbolish=t.hasSymbolLike=t.isOnlySymbolLike=t.isSymbolLike=t.hasSymbol=t.isOnlySymbol=t.isSymbol=t.hasBooleanish=t.isOnlyBooleanish=t.isBooleanish=t.hasBooleanFalse=t.isOnlyBooleanFalse=t.isBooleanFalse=t.hasBooleanLiteral=t.isOnlyBooleanLiteral=t.isBooleanLiteral=t.hasBooleanLike=t.isOnlyBooleanLike=t.isBooleanLike=t.hasBoolean=t.isOnlyBoolean=t.isBoolean=t.hasStringish=t.isOnlyStringish=t.isStringish=t.hasStringLiteral=t.isOnlyStringLiteral=t.isStringLiteral=t.hasStringLike=t.isOnlyStringLike=t.isStringLike=t.hasString=t.isOnlyString=t.isString=t.hasNumberish=t.isOnlyNumberish=t.isNumberish=t.hasNumberLiteral=t.isOnlyNumberLiteral=t.isNumberLiteral=t.hasNumberLike=t.isOnlyNumberLike=t.isNumberLike=t.hasNumber=t.isOnlyNumber=t.isNumber=t.isNullable=t.hasUndefinedish=t.isOnlyUndefinedish=t.isUndefinedish=t.hasUndefined=t.isOnlyUndefined=t.isUndefined=t.hasNull=t.isOnlyNull=t.isNull=t.isOnly=t.isSame=t.isOnlyType=t.hasType=t.hasIntersectionType=t.hasUnionType=t.getIntersectionTypesArray=t.getIntersectionTypes=t.isIntersection=t.getUnionTypesArray=t.getUnionTypes=t.isUnion=t.isErrorType=t.isAny=t.getTypeArgumentsOrThrow=t.getTypeArgumentsArray=t.getTypeArguments=t.getTupleElements=t.getTupleTypes=t.hasTuple=t.isTuple=t.isTupleType=t.isTypeReference=t.isObjectType=t.isSymbolic=t.getTypes=t.getAllTypes=t.getBaseTypesArray=t.getBaseTypes=t.getText=t.getProperty=t.getConstructSignatures=t.getProperties=t.getSymbolOrThrow=t.getAliasTypeArgumentsArray=t.getAliasTypeArguments=t.getAliasSymbol=t.getSymbol=t.typeToTypeNodeOrThrow=t.typeToTypeNode=t.getTypeAtLocation=t.getConstraint=t.getType=t.getTypeFromTypeNode=t.getContextualType=t.getTypeNodeOrThrow=t.getTypeNode=void 0;const s=r(18),i=s.__importDefault(r(21)),n=s.__importStar(r(130)),a=s.__importStar(r(79)),o=s.__importStar(r(36));function l(e){return e.intrinsicName}function p(e){return o.getValueOrUndefined(e.type)}function c(e,t){return o.getValueOrUndefined(e.getContextualType(t))}function u(e,t,r){return e.typeToTypeNode(t,r)}function d(e){return o.getValueOrUndefined(e.getSymbol())}function m(e){return o.getValueOrUndefined(e.aliasTypeArguments)}function h(e){return o.getValueOrUndefined(e.getBaseTypes())}function f(e,t){return(e.flags&t)===t}function y(e,t){return b(e)&&(e.objectFlags&t)===t}function g(e,t){return 0!=(e.flags&t)}function O(e){const t=w(e);if(void 0!==t)return t.reduce((e,t)=>
1e.concat(O(t)),[]);const r=A(e);return void 0!==r?r.reduce((e,t)=>e.concat(O(t)),[]):[e]}function S(e,t){if(t(e))return[e];const r=w(e);if(void 0!==r)return r.reduce((e,r)=>e.concat(S(r,t)),[]);const s=A(e);return void 0!==s?s.reduce((e,r)=>e.concat(S(r,t)),[]):[]}function b(e){return f(e,i.default.TypeFlags.Object)}function P(e){return y(e,i.default.ObjectFlags.Reference)}function v(e){return y(e,i.default.ObjectFlags.Tuple)}function C(e){return P(e)&&v(e.target)}function x(e){return P(e)?o.getValueOrUndefined(e.typeArguments):void 0}function T(e){return o.throwIfNullOrUndefined(x(e),"type arguments")}function _(e){return g(e,i.default.TypeFlags.Any)}function H(e){return void 0!==e.isUnion&&e.isUnion()}function w(e){return H(e)?o.getArray(e.types):void 0}function I(e){return void 0!==e.isIntersection&&e.isIntersection()}function A(e){return I(e)?o.getArray(e.types):void 0}function E(e,t){const r=w(e);return void 0!==r&&r.some(t)}function M(e,t){const r=A(e);return void 0!==r&&r.some(t)}function U(e,t){return t(e)||E(e,t)||M(e,t)}function D(e,t){if(t(e))return!0;const r=w(e);if(void 0!==r&&r.every(e=>D(e,t)))return!0;const s=A(e);return!(void 0===s||!s.every(e=>D(e,t)))}function N(e){return f(e,i.default.TypeFlags.Null)}function R(e){return f(e,i.default.TypeFlags.Undefined)}function B(e){return R(e)||ce(e)}function V(e){return f(e,i.default.TypeFlags.Number)}function j(e){return f(e,i.default.TypeFlags.NumberLike)}function K(e){return f(e,i.default.TypeFlags.NumberLiteral)}function F(e){return g(e,i.default.TypeFlags.NumberLike)}function k(e){return D(e,F)}function L(e){return f(e,i.default.TypeFlags.String)}function W(e){return f(e,i.default.TypeFlags.StringLike)}function G(e){return f(e,i.default.TypeFlags.StringLiteral)}function $(e){return g(e,i.default.TypeFlags.StringLike)}function z(e){return D(e,$)}function q(e){return f(e,i.default.TypeFlags.Boolean)}function J(e){return f(e,i.default.TypeFlags.BooleanLike)}function Y(e){return f(e,i.default.TypeFlags.BooleanLiteral)}function Q(e){return f(e,i.default.TypeFlags.BooleanLiteral)&&"false"===l(e)}function Z(e){return g(e,i.default.TypeFlags.BooleanLike)}function X(e){return D(e,Z)}function ee(e){return f(e,i.default.TypeFlags.ESSymbol)}function te(e){return f(e,i.default.TypeFlags.ESSymbolLike)}function re(e){return g(e,i.default.TypeFlags.ESSymbolLike)}function se(e){return D(e,re)}function ie(e){return R(e)||N(e)||V(e)||q(e)||L(e)||ee(e)}function ne(e){return R(e)||N(e)||j(e)||J(e)||W(e)||te(e)}function ae(e){return R(e)||N(e)||F(e)||Z(e)||$(e)||re(e)||ue(e)}function oe(e){const t=d(e),r=x(e);return void 0!==t&&void 0!==r&&(("Array"===a.getName(t)||"ReadonlyArray"===a.getName(t))&&1===r.length)}function le(e){return oe(e)||C(e)}function pe(e){if(!oe(e))return;return T(e)[0]}function ce(e){return f(e,i.default.TypeFlags.Void)}function ue(e){return ce(e)||R(e)}t.getTypeNode=p,t.getTypeNodeOrThrow=function(e){return o.throwIfNullOrUndefined(p(e),"type node")},t.getContextualType=c,t.getTypeFromTypeNode=function(e,t){return e.getTypeFromTypeNode(t)},t.getType=function(e,t){const r=i.default.isFunctionLike(t)?void 0:p(t);if(void 0!==r)return e.getTypeFromTypeNode(r);const s=e.getTypeAtLocation(t);if(_(s)&&n.isExpression(t)){const r=c(e,t);if(void 0!==r&&!_(r))return r}return s},t.getConstraint=function(e){return o.getValueOrUndefined(e.getConstraint())},t.getTypeAtLocation=function(e,t,r){return e.getTypeOfSymbolAtLocation(t,r)},t.typeToTypeNode=u,t.typeToTypeNodeOrThrow=function(e,t,r){return o.throwIfNullOrUndefined(u(e,t,r),"type node")},t.getSymbol=d,t.getAliasSymbol=function(e){return o.getValueOrUndefined(e.aliasSymbol)},t.getAliasTypeArguments=m,t.getAliasTypeArgumentsArray=function(e){return o.getArray(m(e))},t.getSymbolOrThrow=function(e){return o.throwIfNullOrUndefined(d(e),"symbol")},t.getProperties=function(e){return e.getProperties()},t.getConstructSignatures=function(e){return e.getConstructSignatures()},t.getProperty=function(e,t){return o.getValueOrUndefined(e.getProperty(t))},t.getText=function(e,t,r,s=function(e){let t=i.default.TypeFormatFlags.UseTypeOfFunction|i.default.TypeFormatFlags.NoTruncation|i.default.TypeFormatFlags.UseFullyQualifiedType|i.default.TypeFormatFlags.WriteTypeArgumentsOfSignature;return void 0!==e&&e.kind===i.default.SyntaxKind.TypeAliasDeclaration&&(t|=i.default.TypeFormatFlags.InTypeAlias),t}(r)){return e.typeToString(t,r,s)},t.getBaseTypes=h,t.getBaseTypesArray=function(e){return o.getArray(h(e))},t.getAllTypes=O,t.getTypes=S,t.isSymbolic=function(e){return!(ae(e)||I(e)||H(e)||C(e))},t.isObjectType=b,t.isTypeReference=P,t.isTupleType=v,t.isTuple=C,t.hasTuple=function(e){return U(e,C)},t.getTupleTypes=function(e){return S(e,C)},t.getTupleElements=function(e){return C(e)?o.getArray(e.typeArguments):void 0},t.getTypeArguments=x,t.getTypeArgumentsArray=function(e){return o.getArray(x(e))},t.getTypeArgumentsOrThrow=T,t.isAny=_,t.isErrorType=function(e){return _(e)&&"error"===l(e)},t.isUnion=H,t.getUnionTypes=w,t.getUnionTypesArray=function(e){return o.getArray(w(e))},t.isIntersection=I,t.getIntersectionTypes=A,t.getIntersectionTypesArray=function(e){return o.getArray(A(e))},t.hasUnionType=E,t.hasIntersectionType=M,t.hasType=U,t.isOnlyType=D,t.isSame=function(e,t){return void 0!==e&&void 0!==t&&(e===t||X(e)&&X(t)||z(e)&&z(t)||k(e)&&k(t)||se(e)&&se(t))},t.isOnly=function(e){return 0===[...new Set(O(e))].length},t.isNull=N,t.isOnlyNull=function(e){return D(e,N)},t.hasNull=function(e){return U(e,N)},t.isUndefined=R,t.isOnlyUndefined=function(e){return D(e,R)},t.hasUndefined=function(e){return U(e,R)},t.isUndefinedish=B,t.isOnlyUndefinedish=function(e){return D(e,B)},t.hasUndefinedish=function(e){return U(e,B)},t.isNullable=function(e){const t=w(e);return N(e)||R(e)||void 0!==t&&t.some(e=>N(e)||R(e))},t.isNumber=V,t.isOnlyNumber=function(e){return D(e,V)},t.hasNumber=function(e){return U(e,V)},t.isNumberLike=j,t.isOnlyNumberLike=function(e){return D(e,j)},t.hasNumberLike=function(e){return U(e,j)},t.isNumberLiteral=K,t.isOnlyNumberLiteral=function(e){return D(e,K)},t.hasNumberLiteral=function(e){return U(e,K)},t.isNumberish=F,t.isOnlyNumberish=k,t.hasNumberish=function(e){return U(e,F)},t.isString=L,t.isOnlyString=function(e){return D(e,L)}
1,t.hasString=function(e){return U(e,L)},t.isStringLike=W,t.isOnlyStringLike=function(e){return D(e,W)},t.hasStringLike=function(e){return U(e,W)},t.isStringLiteral=G,t.isOnlyStringLiteral=function(e){return D(e,G)},t.hasStringLiteral=function(e){return U(e,G)},t.isStringish=$,t.isOnlyStringish=z,t.hasStringish=function(e){return U(e,$)},t.isBoolean=q,t.isOnlyBoolean=function(e){return D(e,q)},t.hasBoolean=function(e){return U(e,q)},t.isBooleanLike=J,t.isOnlyBooleanLike=function(e){return D(e,J)},t.hasBooleanLike=function(e){return U(e,J)},t.isBooleanLiteral=Y,t.isOnlyBooleanLiteral=function(e){return D(e,Y)},t.hasBooleanLiteral=function(e){return U(e,Y)},t.isBooleanFalse=Q,t.isOnlyBooleanFalse=function(e){return D(e,Q)},t.hasBooleanFalse=function(e){return U(e,Q)},t.isBooleanish=Z,t.isOnlyBooleanish=X,t.hasBooleanish=function(e){return U(e,Z)},t.isSymbol=ee,t.isOnlySymbol=function(e){return D(e,ee)},t.hasSymbol=function(e){return U(e,ee)},t.isSymbolLike=te,t.isOnlySymbolLike=function(e){return D(e,te)},t.hasSymbolLike=function(e){return U(e,te)},t.isSymbolish=re,t.isOnlySymbolish=se,t.hasSymbolish=function(e){return U(e,re)},t.isPrimitive=ie,t.isOnlyPrimitive=function(e){return D(e,ie)},t.hasPrimitive=function(e){return U(e,ie)},t.isPrimitiveLike=ne,t.isOnlyPrimitiveLike=function(e){return D(e,ne)},t.hasPrimitiveLike=function(e){return U(e,ne)},t.isPrimitiveish=ae,t.isOnlyPrimitiveish=function(e){return D(e,ae)},t.hasPrimitiveish=function(e){return U(e,ie)},t.isOnlyObject=function(e){return D(e,e=>!ae(e))},t.isArray=oe,t.isOnlyArray=function(e){return D(e,oe)},t.hasArray=function(e){return U(e,oe)},t.isArrayish=le,t.isOnlyArrayish=function(e){return D(e,le)},t.hasArrayish=function(e){return U(e,le)},t.getArrayType=pe,t.getArrayTypeOrThrow=function(e){return o.throwIfNullOrUndefined(pe(e),"array type")},t.getArrayTypes=function(e){return S(e,oe)},t.isVoid=ce,t.isOnlyVoid=function(e){return D(e,ce)},t.hasVoid=function(e){return U(e,ce)},t.isVoidish=ue,t.isOnlyVoidish=function(e){return D(e,ue)},t.hasVoidish=function(e){return U(e,ue)},t.getCallSignatures=function(e){return e.getCallSignatures()},t.getNonNullableType=function(e){return e.getNonNullableType()},t.filterUnion=function(e,t,r){const s=w(t);return void 0===s?t:e.getUnionType(s.filter(r))}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),r(18).__exportStar(r(340),t)},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.UnwrapCopyStructHelper=void 0;const s=r(35);class i extends s.UnwrapHelper{emit(e,t,r){r.pushValue?(e.emitPushInt(t,1),e.emitOp(t,"PICKITEM"),e.emitOp(t,"VALUES"),e.emitOp(t,"NEWSTRUCT")):e.emitOp(t,"DROP")}}t.UnwrapCopyStructHelper=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isError=t.isOnlyError=t.hasError=t.IsErrorHelper=t.WrapErrorHelper=t.UnwrapErrorHelper=void 0;const s=r(20),i=r(22),n=r(30),a=r(35),o=r(31);class l extends a.UnwrapHelper{}t.UnwrapErrorHelper=l;class p extends o.WrapHelper{constructor(){super(...arguments),this.type=i.Types.Error}}t.WrapErrorHelper=p;class c extends n.IsHelper{constructor(){super(...arguments),this.type=i.Types.Error}}t.IsErrorHelper=c,t.hasError=(e,r,i)=>s.tsUtils.type_.hasType(i,s=>t.isError(e,r,s)),t.isOnlyError=(e,r,i)=>s.tsUtils.type_.isOnlyType(i,s=>t.isError(e,r,s)),t.isError=(e,t,r)=>e.builtins.isInterface(t,r,"Error")},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isForwardValue=t.isOnlyForwardValue=t.hasForwardValue=t.IsForwardValueHelper=t.WrapForwardValueHelper=t.UnwrapForwardValueHelper=void 0;const s=r(20),i=r(22),n=r(30),a=r(35),o=r(31);class l extends a.UnwrapHelper{}t.UnwrapForwardValueHelper=l;class p extends o.WrapHelper{constructor(){super(...arguments),this.type=i.Types.ForwardValue}}t.WrapForwardValueHelper=p;class c extends n.IsHelper{constructor(){super(...arguments),this.type=i.Types.ForwardValue}}t.IsForwardValueHelper=c,t.hasForwardValue=(e,r,i)=>s.tsUtils.type_.hasType(i,s=>t.isForwardValue(e,r,s)),t.isOnlyForwardValue=(e,r,i)=>s.tsUtils.type_.isOnlyType(i,s=>t.isForwardValue(e,r,s)),t.isForwardValue=(e,t,r)=>e.builtins.isInterface(t,r,"ForwardValue")},function(e,t,r){"use strict";
1Object.defineProperty(t,"__esModule",{value:!0}),t.isIterable=t.isOnlyIterable=t.hasIterable=t.IsIterableHelper=void 0;const s=r(20),i=r(19);class n extends i.Helper{emit(e,t,r){if(!r.pushValue)return void e.emitOp(t,"DROP");const s=()=>{e.emitPushBoolean(t,!0)};e.emitHelper(t,r,e.helpers.forIterableType({array:s,map:s,set:s,arrayStorage:s,mapStorage:s,setStorage:s,iterableIterator:s,defaultCase:()=>{e.emitPushBoolean(t,!1)}}))}}t.IsIterableHelper=n,t.hasIterable=(e,r,i)=>s.tsUtils.type_.hasType(i,s=>t.isIterable(e,r,s)),t.isOnlyIterable=(e,r,i)=>s.tsUtils.type_.isOnlyType(i,s=>t.isIterable(e,r,s)),t.isIterable=(e,t,r)=>e.builtins.isInterface(t,r,"Iterable")},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isIteratorResult=t.isOnlyIteratorResult=t.hasIteratorResult=t.IsIteratorResultHelper=t.WrapIteratorResultHelper=t.UnwrapIteratorResultHelper=void 0;const s=r(20),i=r(22),n=r(30),a=r(35),o=r(31);class l extends a.UnwrapHelper{}t.UnwrapIteratorResultHelper=l;class p extends o.WrapHelper{constructor(){super(...arguments),this.type=i.Types.IteratorResult}}t.WrapIteratorResultHelper=p;class c extends n.IsHelper{constructor(){super(...arguments),this.type=i.Types.IteratorResult}}t.IsIteratorResultHelper=c,t.hasIteratorResult=(e,r,i)=>s.tsUtils.type_.hasType(i,s=>t.isIteratorResult(e,r,s)),t.isOnlyIteratorResult=(e,r,i)=>s.tsUtils.type_.isOnlyType(i,s=>t.isIteratorResult(e,r,s)),t.isIteratorResult=(e,t,r)=>e.builtins.isInterface(t,r,"IteratorResult")},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const s=r(18);s.__exportStar(r(381),t),s.__exportStar(r(382),t),s.__exportStar(r(383),t)},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const s=r(18);s.__exportStar(r(384),t),s.__exportStar(r(385),t),s.__exportStar(r(386),t),s.__exportStar(r(387),t),s.__exportStar(r(388),t),s.__exportStar(r(389),t)},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.GetObjectHelperBase=void 0;const s=r(19);class i extends s.Helper{emit(e,t,r){r.pushValue?(e.emitHelper(t,r,e.helpers.getObject),e.emitPushInt(t,this.index),e.emitOp(t,"PICKITEM")):e.emitOp(t,"DROP")}}t.GetObjectHelperBase=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SetObjectAccessorPropertyHelperBase=void 0;const s=r(19);class i extends s.Helper{constructor({hasSet:e=!1,hasGet:t=!1}){if(super(),this.hasSet=e,this.hasGet=t,!this.hasSet&&!this.hasGet)throw new Error("Something went wrong. Must have either a getter or setter")}emit(e,t,r){const s=e.pushValueOptions(r);this.hasSet&&this.hasGet||(e.emitHelper(t,s,e.helpers.wrapUndefined),this.hasGet&&e.emitOp(t,"SWAP")),e.emitPushInt(t,2),e.emitOp(t,"PACK"),e.emitOp(t,"ROT"),e.emitHelper(t,s,this.getObject(e)),e.emitOp(t,"ROT"),e.emitOp(t,"ROT"),e.emitOp(t,"SETITEM")}}t.SetObjectAccessorPropertyHelperBase=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const s=r(18);s.__exportStar(r(430),t),s.__exportStar(r(431),t),s.__exportStar(r(432),t),s.__exportStar(r(433),t),s.__exportStar(r(434),t)},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const s=r(18);s.__exportStar(r(435),t),s.__exportStar(r(436),t),s.__exportStar(r(437),t),s.__exportStar(r(438),t)},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isAccount=t.isOnlyAccount=t.hasAccount=t.IsAccountHelper=t.WrapAccountHelper=t.UnwrapAccountHelper=void 0;const s=r(20),i=r(22),n=r(30),a=r(35),o=r(31);class l extends a.UnwrapHelper{}t.UnwrapAccountHelper=l;class p extends o.WrapHelper{constructor(){super(...arguments),this.type=i.Types.Account}}t.WrapAccountHelper=p;class c extends n.IsHelper{constructor(){super(...arguments),this.type=i.Types.Account}}t.IsAccountHelper=c,t.hasAccount=(e,r,i)=>s.tsUtils.type_.hasType(i,s=>t.isAccount(e,r,s)),t.isOnlyAccount=(e,r,i)=>s.tsUtils.type_.isOnlyType(i,s=>t.isAccount(e,r,s)),t.isAccount=(e,t,r)=>e.builtins.isInterface(t,r,"Account")},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isAsset=t.isOnlyAsset=t.hasAsset=t.IsAssetHelper=t.WrapAssetHelper=t.UnwrapAssetHelper=void 0;const s=r(20),i=r(22),n=r(30),a=r(35),o=r(31);class l extends a.UnwrapHelper{}t.UnwrapAssetHelper=l;class p extends o.WrapHelper{constructor(){super(...arguments),this.type=i.Types.Asset}}t.WrapAssetHelper=p;class c extends n.IsHelper{constructor(){super(...arguments),this.type=i.Types.Asset}}
1t.IsAssetHelper=c,t.hasAsset=(e,r,i)=>s.tsUtils.type_.hasType(i,s=>t.isAsset(e,r,s)),t.isOnlyAsset=(e,r,i)=>s.tsUtils.type_.isOnlyType(i,s=>t.isAsset(e,r,s)),t.isAsset=(e,t,r)=>e.builtins.isInterface(t,r,"Asset")},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isBlock=t.isOnlyBlock=t.hasBlock=t.IsBlockHelper=t.WrapBlockHelper=t.UnwrapBlockHelper=void 0;const s=r(20),i=r(22),n=r(30),a=r(35),o=r(31);class l extends a.UnwrapHelper{}t.UnwrapBlockHelper=l;class p extends o.WrapHelper{constructor(){super(...arguments),this.type=i.Types.Block}}t.WrapBlockHelper=p;class c extends n.IsHelper{constructor(){super(...arguments),this.type=i.Types.Block}}t.IsBlockHelper=c,t.hasBlock=(e,r,i)=>s.tsUtils.type_.hasType(i,s=>t.isBlock(e,r,s)),t.isOnlyBlock=(e,r,i)=>s.tsUtils.type_.isOnlyType(i,s=>t.isBlock(e,r,s)),t.isBlock=(e,t,r)=>e.builtins.isInterface(t,r,"Block")},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isContract=t.isOnlyContract=t.hasContract=t.IsContractHelper=t.WrapContractHelper=t.UnwrapContractHelper=void 0;const s=r(20),i=r(22),n=r(30),a=r(35),o=r(31);class l extends a.UnwrapHelper{}t.UnwrapContractHelper=l;class p extends o.WrapHelper{constructor(){super(...arguments),this.type=i.Types.Contract}}t.WrapContractHelper=p;class c extends n.IsHelper{constructor(){super(...arguments),this.type=i.Types.Contract}}t.IsContractHelper=c,t.hasContract=(e,r,i)=>s.tsUtils.type_.hasType(i,s=>t.isContract(e,r,s)),t.isOnlyContract=(e,r,i)=>s.tsUtils.type_.isOnlyType(i,s=>t.isContract(e,r,s)),t.isContract=(e,t,r)=>e.builtins.isInterface(t,r,"Contract")},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isHeader=t.isOnlyHeader=t.hasHeader=t.IsHeaderHelper=t.WrapHeaderHelper=t.UnwrapHeaderHelper=void 0;const s=r(20),i=r(22),n=r(30),a=r(35),o=r(31);class l extends a.UnwrapHelper{}t.UnwrapHeaderHelper=l;class p extends o.WrapHelper{constructor(){super(...arguments),this.type=i.Types.Header}}t.WrapHeaderHelper=p;class c extends n.IsHelper{constructor(){super(...arguments),this.type=i.Types.Header}}t.IsHeaderHelper=c,t.hasHeader=(e,r,i)=>s.tsUtils.type_.hasType(i,s=>t.isHeader(e,r,s)),t.isOnlyHeader=(e,r,i)=>s.tsUtils.type_.isOnlyType(i,s=>t.isHeader(e,r,s)),t.isHeader=(e,t,r)=>e.builtins.isInterface(t,r,"Header")},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.BuiltinCall=void 0;const s=r(40);t.BuiltinCall=class{constructor(){this.types=new Set([s.BuiltinType.Call])}}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const s=r(18);s.__exportStar(r(506),t),s.__exportStar(r(507),t),s.__exportStar(r(508),t),s.__exportStar(r(509),t),s.__exportStar(r(510),t)},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.BuiltinConstantNumberMemberValue=void 0;const s=r(74);class i extends s.BuiltinMemberValue{constructor(e){super(),this.value=e}emit(e,t,r){r.pushValue&&(e.emitPushInt(t,this.value),e.emitHelper(t,r,e.helpers.wrapNumber))}}t.BuiltinConstantNumberMemberValue=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.BuiltinNew=void 0;const s=r(60),i=r(40);class n extends s.BuiltinInstanceOf{constructor(){super(...arguments),this.types=new Set([i.BuiltinType.InstanceOf,i.BuiltinType.New])}}t.BuiltinNew=n},function(e,t,r){"use strict";(function(e){Object.defineProperty(t,"__esModule",{value:!0}),t.BaseScriptBuilder=void 0;
1const s=r(24),i=r(20),n=r(25),a=r(43),o=r(231),l=r(32),p=r(33),c=r(782),u=r(793),d=r(830),m=r(232),h=r(838),f=r(859),y=r(860),g=[c.declarations,u.expressions,d.files,h.statements];t.BaseScriptBuilder=class{constructor(e,t,r,s,i={},n=[]){this.context=e,this.helpers=t,this.sourceFile=r,this.contractInfo=s,this.linked=i,this.allHelpers=n,this.jumpTable=new f.JumpTable,this.mutableBytecode=[],this.mutablePC=0,this.jumpTablePC=new m.DeferredProgramCounter,this.mutableProcessedByteCode=[],this.mutableCurrentTags=[],this.nodes=new Map,this.mutableModuleMap={},this.mutableReverseModuleMap={},this.mutableExportMap={},this.mutableNextModuleIndex=0,this.mutableCurrentModuleIndex=0,this.mutableFeatures={storage:!1,dynamicInvoke:!1},this.compilers=g.reduce((e,t)=>e.concat(t),[]).reduce((e,t)=>{const r=new t;if(void 0!==e[r.kind])throw new Error("Found duplicate compiler for kind "+r.kind);return e[r.kind]=r,e},{})}get scope(){if(void 0===this.mutableCurrentScope)throw new Error("Scope has not been set");return this.mutableCurrentScope}get moduleIndex(){return this.mutableCurrentModuleIndex}process(){const e=this.sourceFile,{bytecode:t}=this.capture(()=>{const t=i.tsUtils.file.getFilePath(e);this.mutableModuleMap[t]=this.mutableNextModuleIndex,this.mutableReverseModuleMap[this.mutableNextModuleIndex]=t,this.mutableCurrentModuleIndex=this.mutableNextModuleIndex,this.mutableNextModuleIndex+=1,this.mutableCurrentScope=this.createScope(e,0,void 0),this.nodes.set(e,0);const r={};this.mutableCurrentScope.emit(this,e,r,t=>{this.emitHelper(e,this.pushValueOptions(t),this.helpers.createGlobalObject),this.emitOp(e,"DUP"),this.scope.setGlobal(this,e,this.pushValueOptions(t)),this.emitOp(e,"DUP"),this.emitHelper(e,this.pushValueOptions(t),this.helpers.addEmptyModule),this.allHelpers.forEach(r=>{r.needsGlobal&&this.emitOp(e,"DUP"),r.emitGlobal(this,e,t)}),this.emitOp(e,"DROP"),this.visit(e,t);const s=this.contractInfo;void 0!==s&&this.emitHelper(s.smartContract,t,this.helpers.invokeSmartContract({contractInfo:s})),this.scope.getGlobal(this,e,r),this.allHelpers.forEach(r=>{r.needsGlobalOut&&this.emitOp(e,"DUP"),r.emitGlobalOut(this,e,t)}),this.emitOp(e,"DROP")})});this.mutableProcessedByteCode=t}getFinalResult(t){this.withProgramCounter(e=>{this.emitJmp(this.sourceFile,"JMP",e.getLast()),this.jumpTablePC.setPC(e.getCurrent()),this.jumpTable.emitTable(this,this.sourceFile)}),this.emitBytecode(this.mutableProcessedByteCode);const r=y.resolveJumps(this.mutableBytecode);let n=0;const c=new o.SourceMapGenerator,u=new Set,d={},h=r.map(([t,r,o],h)=>{let f;if(o instanceof m.Jump){let r=e.alloc(2,0);const i=new a.BN(o.pc.getPC()).sub(new a.BN(n)).toTwos(16);try{if(i.fromTwos(16).toNumber()!==o.pc.getPC()-n)throw new Error(`Something went wrong, expected 2's complement of ${o.pc.getPC()-n}, found: ${i.fromTwos(16).toNumber()}`);r=i.toArrayLike(e,"le",2)}catch(e){this.context.reportError(t,l.DiagnosticCode.SomethingWentWrong,p.DiagnosticMessage.CompilationFailedPleaseReport)}const c=s.ByteBuffer[s.Op[o.op]];if(void 0===c)throw new Error("Something went wrong, could not find bytecode buffer");f=e.concat([c,r])}else if(o instanceof m.Line){const t=new a.BN(h+1),r=s.ByteBuffer[s.Op.PUSHBYTES4];f=e.concat([r,t.toArrayLike(e,"le",4)])}else f=o;const y=i.tsUtils.node.getSourceFile(t),g=i.tsUtils.file.getFilePath(y),{line:O,character:S}=y.getLineAndCharacterOfPosition(t.getStart());c.addMapping({generated:{line:h+1,column:0},original:{line:O+1,column:S},source:g}),u.has(g)||(u.add(g),c.setSourceContent(g,t.getSourceFile().getFullText()));const b=r[0];if(void 0!==b){const e=d[b];d[b]=void 0===e?f.length:e+f.length}return n+=f.length,f}),f=(async()=>(await Promise.all(Object.entries(t).map(async([e,t])=>{await o.SourceMapConsumer.with(t,void 0,async t=>{c.applySourceMap(t,e)})})),c.toJSON()))();return{code:e.concat(h),sourceMap:f,features:this.mutableFeatures}}visit(e,t){const r=this.compilers[e.kind];void 0===r?this.context.reportUnsupported(e):r.visitNode(this,e,t)}withScope(e,t,r){let s=this.nodes.get(e);void 0===s?s=0:s+=1,this.nodes.set(e,s);const i=this.mutableCurrentScope;this.mutableCurrentScope=this.createScope(e,s,i),this.mutableCurrentScope.emit(this,e,t,r),this.mutableCurrentScope=i}withProgramCounter(e){const t=new m.ProgramCounterHelper(()=>this.mutablePC);e(t),t.setLast()}emitOp(t,r,i){(("APPCALL"===r||"TAILCALL"===r)&&void 0!==i&&i.equals(e.alloc(20,0))||"CALL_ED"===r)&&(this.mutableFeatures=Object.assign(Object.assign({},this.mutableFeatures),{dynamicInvoke:!0}));const n=s.Op[r];if(void 0===n)throw new s.UnknownOpError(r);this.emitOpByte(t,n,i)}emitPushInt(e,t){const r=new a.BN(t);r.eq(s.utils.NEGATIVE_ONE)?this.emitOp(e,"PUSHM1"):r.eq(s.utils.ZERO)?this.emitPush(e,s.utils.toSignedBuffer(r)):r.gt(s.utils.ZERO)&&r.lt(s.utils.SIXTEEN)?this.emitOpByte(e,s.Op.PUSH1-1+r.toNumber()):this.emitPush(e,s.utils.toSignedBuffer(r))}emitPushBoolean(e,t){this.emitOp(e,t?"PUSH1":"PUSH0")}emitPushString(e,t){this.emitPush(e,this.toBuffer(t))}emitPushBuffer(e,t){this.emitPush(e,t)}emitJmp(e,t,r){this.emitJump(e,new m.Jmp(t,r))}emitHelper(e,t,r){const s=this.mutableCurrentTags;this.mutableCurrentTags=[r.constructor.name],r.emit(this,e,t),this.mutableCurrentTags=s}emitBytecode(e){const t=this.mutablePC;e.forEach(([e,r,s])=>{if(s instanceof m.Call)this.emitJump(e,s,r);else if(s instanceof m.Jmp)this.emitJump(e,s.plus(t),r);else{if(s instanceof m.Jump)throw new Error("Something went wrong.");s instanceof m.Line?this.emitLineRaw(e,s,r):this.emitRaw(e,s,r)}})}emitCall(e){this.emitJump(e,new m.Call(this.jumpTablePC))}emitSysCall(t,r){"Neo.Storage.Put"!==r&&"Neo.Storage.Delete"!==r||(this.mutableFeatures=Object.assign(Object.assign({},this.mutableFeatures),{storage:!0}));const i=e.allocUnsafe(4);i.writeUInt32LE(s.toSysCallHash(s.assertSysCall(r)),0);const n=new s.BinaryWriter;n.writeVarBytesLE(i),this.emitOp(t,"SYSCALL",n.toBuffer())}emitLine(e){this.emitLineRaw(e,new m.Line)}isCurrentSmartContract(e){if(void 0===this.contractInfo)return!1;
1const t=this.context.analysis.getSymbol(e);if(void 0===t)return!1;const r=this.context.analysis.getSymbolAndAllInheritedSymbols(this.contractInfo.smartContract);if(r.some(e=>e===t))return!0;const s=this.context.analysis.getTypeSymbol(e);return void 0!==s&&r.some(e=>e===s)}loadModule(e){const t={};let r=this.mutableModuleMap[i.tsUtils.file.getFilePath(e)];if(void 0===r){r=this.mutableNextModuleIndex,this.mutableNextModuleIndex+=1,this.mutableModuleMap[i.tsUtils.file.getFilePath(e)]=r,this.mutableReverseModuleMap[r]=i.tsUtils.file.getFilePath(e);const s=this.mutableCurrentScope;this.mutableCurrentScope=this.createScope(e,0,void 0);const n=this.mutableCurrentModuleIndex;this.mutableCurrentModuleIndex=r,this.scope.getGlobal(this,e,this.pushValueOptions(t)),this.emitOp(e,"DUP"),this.emitHelper(e,this.pushValueOptions(t),this.helpers.addEmptyModule),this.mutableCurrentScope.emit(this,e,t,r=>{this.scope.setGlobal(this,e,t),this.visit(e,r)}),this.mutableCurrentScope=s,this.mutableCurrentModuleIndex=n}this.scope.getGlobal(this,e,this.pushValueOptions(t)),this.emitHelper(e,this.pushValueOptions(t),this.helpers.getModule({moduleIndex:r}))}capture(e){const t=this.mutableCapturedBytecode;this.mutableCapturedBytecode=[];const r=this.mutablePC;this.mutablePC=0,e();const s=this.mutableCapturedBytecode;this.mutableCapturedBytecode=t;const i=this.mutablePC;return this.mutablePC=r,{length:i,bytecode:s}}getLinkedScriptHash(e,t,r){const i=()=>{this.context.reportError(e,l.DiagnosticCode.InvalidLinkedSmartContract,p.DiagnosticMessage.InvalidLinkedSmartContractMissing,r)},n=this.linked[t];if(void 0===n)return void i();const a=n[r];if(void 0!==a)return s.crypto.addressToScriptHash({addressVersion:s.common.NEO_ADDRESS_VERSION,address:a});i()}pushValueOptions(e){return Object.assign(Object.assign({},e),{pushValue:!0})}noPushValueOptions(e){return Object.assign(Object.assign({},e),{pushValue:!1})}setValueOptions(e){return Object.assign(Object.assign({},e),{setValue:!0})}noSetValueOptions(e){return Object.assign(Object.assign({},e),{setValue:!1})}noValueOptions(e){return Object.assign(Object.assign({},e),{pushValue:!1,setValue:!1})}breakPCOptions(e,t){return Object.assign(Object.assign({},e),{breakPC:t})}continuePCOptions(e,t){return Object.assign(Object.assign({},e),{continuePC:t})}catchPCOptions(e,t){return Object.assign(Object.assign({},e),{catchPC:t})}noCatchPCOptions(e){return Object.assign(Object.assign({},e),{catchPC:void 0})}finallyPCOptions(e,t){return Object.assign(Object.assign({},e),{finallyPC:t})}handleSuperConstructOptions(e,t){return Object.assign(Object.assign({},e),{handleSuperConstruct:t})}castOptions(e,t){return Object.assign(Object.assign({},e),{cast:t})}noCastOptions(e){return Object.assign(Object.assign({},e),{cast:void 0})}superClassOptions(e,t){return Object.assign(Object.assign({},e),{superClass:t})}noSuperClassOptions(e){return Object.assign(Object.assign({},e),{superClass:void 0})}hasExport(e,t){const r=this.mutableExportMap[i.tsUtils.file.getFilePath(e)];return void 0!==r&&r.has(t)}addExport(e){const t=n.utils.nullthrows(this.mutableReverseModuleMap[this.mutableCurrentModuleIndex]);let r=this.mutableExportMap[t];void 0===r&&(this.mutableExportMap[t]=r=new Set),r.add(e)}toBuffer(t){return e.from(t,"utf8")}emitPush(e,t){if(t.length<=s.Op.PUSHBYTES75)this.emitOpByte(e,t.length,t);else if(t.length<256)this.emitOp(e,"PUSHDATA1",(new s.ScriptBuilder).emitUInt8(t.length).emit(t).build());else if(t.length<65536)this.emitOp(e,"PUSHDATA2",(new s.ScriptBuilder).emitUInt16LE(t.length).emit(t).build());else{if(!(t.length<4294967296))throw new Error("Value too large.");this.emitOp(e,"PUSHDATA4",(new s.ScriptBuilder).emitUInt32LE(t.length).emit(t).build())}}emitOpByte(t,r,i){const n=s.ByteBuffer[r];let a=n;void 0!==i&&(a=e.concat([n,i])),this.emitRaw(t,a)}emitRaw(e,t,r=this.mutableCurrentTags){this.push(e,r,t),this.mutablePC+=t.length}emitJump(e,t,r=this.mutableCurrentTags){this.push(e,r,t),this.mutablePC+=3}emitLineRaw(e,t,r=this.mutableCurrentTags){this.push(e,r,t),this.mutablePC+=5}push(e,t,r){void 0!==this.mutableCapturedBytecode?this.mutableCapturedBytecode.push([e,t,r]):this.mutableBytecode.push([e,t,r])}}}).call(this,r(26).Buffer)},function(e,t,r){"use strict";
1Object.defineProperty(t,"__esModule",{value:!0}),t.Jump=void 0;t.Jump=class{constructor(e,t){this.op=e,this.pc=t}}},function(e,t,r){"use strict";r.d(t,"a",(function(){return se}));r(1064),r(50);var s=r(1066),i=r.n(s),n=r(1067),a=r.n(n),o=r(963),l=r.n(o),p=r(1069),c=r.n(p),u=r(1070),d=r.n(u),m=r(1071),h=r.n(m),f=r(1217),y=r(1244),g=r(235);function O(e,t){return"*"===e?t:"?"===e?"[^/]":"\\"+e}const S=`(?!(${["node_modules","bower_components","jspm_packages"].join("|")})(/|$))`,b={singleAsteriskRegexFragment:"([^./]|(\\.(?!min\\.js$))?)*",doubleAsteriskRegexFragment:`(/${S}[^/.][^/]*)*?`,replaceWildcardCharacter:e=>O(e,b.singleAsteriskRegexFragment)},P={singleAsteriskRegexFragment:"[^/]*",doubleAsteriskRegexFragment:`(/${S}[^/.][^/]*)*?`,replaceWildcardCharacter:e=>O(e,P.singleAsteriskRegexFragment)},v={singleAsteriskRegexFragment:"[^/]*",doubleAsteriskRegexFragment:"(/.+?)?",replaceWildcardCharacter:e=>O(e,v.singleAsteriskRegexFragment)},C={files:b,directories:P,exclude:v},x=/\\/g;function T(e){return e.replace(x,"/")}function _(e){return e>=A.a&&e<=A.z||e>=A.A&&e<=A.Z}function H(e){if(!e)return 0;const t=e.charCodeAt(0);if(t===A.slash||t===A.backslash){if(e.charCodeAt(1)!==t)return 1;const r=e.indexOf(t===A.slash?"/":"\\",2);return r<0?e.length:r+1}if(_(t)&&e.charCodeAt(1)===A.colon){const t=e.charCodeAt(2);if(t===A.slash||t===A.backslash)return 3;if(2===e.length)return 2}const r=e.indexOf("://");if(-1!==r){const t=r+"://".length,s=e.indexOf("/",t);if(-1!==s){const i=e.slice(0,r),n=e.slice(t,s);if("file"===i&&(""===n||"localhost"===n)&&_(e.charCodeAt(s+1))){const t=function(e,t){const r=e.charCodeAt(t);if(r===A.colon)return t+1;if(r===A.percent&&e.charCodeAt(t+1)===A._3){const r=e.charCodeAt(t+2);if(r===A.a||r===A.A)return t+3}return-1}(e,s+2);if(-1!==t){if(e.charCodeAt(t)===A.slash)return~(t+1);if(t===e.length)return~t}}return~(s+1)}return~e.length}return 0}function w(e,...t){e&&(e=T(e));for(let r of t)r&&(r=T(r),e=e&&0===M(r)?I(e)+r:r);return e}function I(e){return E(e)?e:e+"/"}var A;function E(e){if(0===e.length)return!1;const t=e.charCodeAt(e.length-1);return t===A.slash||t===A.backslash}function M(e){const t=H(e);return t<0?~t:t}function U(e,t,r){const s=D(e,t,r);if(s&&s.length)return`^(${s.map(e=>`(${e})`).join("|")})${"exclude"===r?"($|/)":"$"}`}function D(e,t,r){if(void 0!==e&&0!==e.length)return h()(e,e=>e&&function(e,t,r,{singleAsteriskRegexFragment:s,doubleAsteriskRegexFragment:i,replaceWildcardCharacter:n}){let a="",o=!1;const l=(u=e,d=t,N(R(u,d))),p=c()(l);var u,d;if(void 0===p)return;if("exclude"!==r&&"**"===p)return;l[0]=B(l[0]),function(e){return!/[.*?]/.test(e)}(p)&&l.push("**","*");let m=0;for(let e of l){if("**"===e)a+=i;else if("directories"===r&&(a+="(",m++),o&&(a+="/"),"exclude"!==r){let t="";e.charCodeAt(0)===A.asterisk?(t+="([^./]"+s+")?",e=e.substr(1)):e.charCodeAt(0)===A.question&&(t+="[^./]",e=e.substr(1)),t+=e.replace(V,n),t!==e&&(a+=S),a+=t}else a+=e.replace(V,n);o=!0}for(;m>0;)a+=")?",m--;return a}(e,t,r,C[r])).filter(f.a.notNull)}function N(e){if(!d()(e))return[];const t=[e[0]];for(let r=1;r<e.length;r++){const s=e[r];if(s&&"."!==s){if(".."===s)if(t.length>1){if(".."!==t[t.length-1]){t.pop();continue}}else if(t[0])continue;t.push(s)}}return t}function R(e,t=""){return function(e,t){const r=e.substring(0,t),s=e.substring(t).split("/");s.length&&!c()(s)&&s.pop();return[r,...s]}(e=w(t,e),M(e))}function B(e){return E(e)?e.substr(0,e.length-1):e}!function(e){e[e.nullCharacter=0]="nullCharacter",e[e.maxAsciiCharacter=127]="maxAsciiCharacter",e[e.lineFeed=10]="lineFeed",e[e.carriageReturn=13]="carriageReturn",e[e.lineSeparator=8232]="lineSeparator",e[e.paragraphSeparator=8233]="paragraphSeparator",e[e.nextLine=133]="nextLine",e[e.space=32]="space",e[e.nonBreakingSpace=160]="nonBreakingSpace",e[e.enQuad=8192]="enQuad",e[e.emQuad=8193]="emQuad",e[e.enSpace=8194]="enSpace",e[e.emSpace=8195]="emSpace",e[e.threePerEmSpace=8196]="threePerEmSpace",e[e.fourPerEmSpace=8197]="fourPerEmSpace",e[e.sixPerEmSpace=8198]="sixPerEmSpace",e[e.figureSpace=8199]="figureSpace",e[e.punctuationSpace=8200]="punctuationSpace",e[e.thinSpace=8201]="thinSpace",e[e.hairSpace=8202]="hairSpace",e[e.zeroWidthSpace=8203]="zeroWidthSpace",e[e.narrowNoBreakSpace=8239]="narrowNoBreakSpace",e[e.ideographicSpace=12288]="ideographicSpace",e[e.mathematicalSpace=8287
1]="mathematicalSpace",e[e.ogham=5760]="ogham",e[e._=95]="_",e[e.$=36]="$",e[e._0=48]="_0",e[e._1=49]="_1",e[e._2=50]="_2",e[e._3=51]="_3",e[e._4=52]="_4",e[e._5=53]="_5",e[e._6=54]="_6",e[e._7=55]="_7",e[e._8=56]="_8",e[e._9=57]="_9",e[e.a=97]="a",e[e.b=98]="b",e[e.c=99]="c",e[e.d=100]="d",e[e.e=101]="e",e[e.f=102]="f",e[e.g=103]="g",e[e.h=104]="h",e[e.i=105]="i",e[e.j=106]="j",e[e.k=107]="k",e[e.l=108]="l",e[e.m=109]="m",e[e.n=110]="n",e[e.o=111]="o",e[e.p=112]="p",e[e.q=113]="q",e[e.r=114]="r",e[e.s=115]="s",e[e.t=116]="t",e[e.u=117]="u",e[e.v=118]="v",e[e.w=119]="w",e[e.x=120]="x",e[e.y=121]="y",e[e.z=122]="z",e[e.A=65]="A",e[e.B=66]="B",e[e.C=67]="C",e[e.D=68]="D",e[e.E=69]="E",e[e.F=70]="F",e[e.G=71]="G",e[e.H=72]="H",e[e.I=73]="I",e[e.J=74]="J",e[e.K=75]="K",e[e.L=76]="L",e[e.M=77]="M",e[e.N=78]="N",e[e.O=79]="O",e[e.P=80]="P",e[e.Q=81]="Q",e[e.R=82]="R",e[e.S=83]="S",e[e.T=84]="T",e[e.U=85]="U",e[e.V=86]="V",e[e.W=87]="W",e[e.X=88]="X",e[e.Y=89]="Y",e[e.Z=90]="Z",e[e.ampersand=38]="ampersand",e[e.asterisk=42]="asterisk",e[e.at=64]="at",e[e.backslash=92]="backslash",e[e.backtick=96]="backtick",e[e.bar=124]="bar",e[e.caret=94]="caret",e[e.closeBrace=125]="closeBrace",e[e.closeBracket=93]="closeBracket",e[e.closeParen=41]="closeParen",e[e.colon=58]="colon",e[e.comma=44]="comma",e[e.dot=46]="dot",e[e.doubleQuote=34]="doubleQuote",e[e.equals=61]="equals",e[e.exclamation=33]="exclamation",e[e.greaterThan=62]="greaterThan",e[e.hash=35]="hash",e[e.lessThan=60]="lessThan",e[e.minus=45]="minus",e[e.openBrace=123]="openBrace",e[e.openBracket=91]="openBracket",e[e.openParen=40]="openParen",e[e.percent=37]="percent",e[e.plus=43]="plus",e[e.question=63]="question",e[e.semicolon=59]="semicolon",e[e.singleQuote=39]="singleQuote",e[e.slash=47]="slash",e[e.tilde=126]="tilde",e[e.backspace=8]="backspace",e[e.formFeed=12]="formFeed",e[e.byteOrderMark=65279]="byteOrderMark",e[e.tab=9]="tab",e[e.verticalTab=11]="verticalTab"}(A||(A={}));const V=/[^\w\s\/]/g;function j(e){return H(e)>0}function K(e,t){return e===t||void 0!==e&&void 0!==t&&e.toUpperCase()===t.toUpperCase()}function F(e,t){return function(e,t){return e===t}(e,t)}function k(e,t,r){if(M(e=T(e))===e.length)return"";const s=(e=B(e)).slice(Math.max(M(e),e.lastIndexOf("/")+1)),i=void 0!==t&&void 0!==r?function(e,t,r){if(t)return function(e,t,r){"string"==typeof t&&(t=[t]);for(let s of t)if(s.startsWith(".")||(s="."+s),e.length>=s.length&&"."===e.charAt(e.length-s.length)){const t=e.slice(e.length-s.length);if(r(t,s))return t}return""}(e,t,r?K:F);const s=k(e),i=s.lastIndexOf(".");return i>=0?s.substring(i):""}(s,t,r):void 0;return i?s.slice(0,s.length-i.length):s}function L(e){let t=e.indexOf("*");return t<0&&(t=e.indexOf("?")),t<0?k(e).includes(".")?B(function(e){const t=M(e=T(e));return t===e.length?e:(e=B(e)).slice(0,Math.max(t,e.lastIndexOf("/")))}(e)):e:e.substring(0,e.lastIndexOf("/",t))}var W;function G(e,t){return e===t?W.EqualTo:void 0===e?W.LessThan:void 0===t?W.GreaterThan:(e=e.toUpperCase())<(t=t.toUpperCase())?W.LessThan:e>t?W.GreaterThan:W.EqualTo}function $(e,t){return function(e,t){return e===t?W.EqualTo:void 0===e?W.LessThan:void 0===t?W.GreaterThan:e<t?W.LessThan:W.GreaterThan}(e,t)}function z(e,t,r,s){if("string"==typeof r?(e=w(r,e),t=w(r,t)):"boolean"==typeof r&&(s=r),void 0===e||void 0===t)return!1;if(e===t)return!0;const i=N(R(e)),n=N(R(t));if(n.length<i.length)return!1;const a=s?K:F;for(let e=0;e<i.length;e++){if(!(0===e?K:a)(i[e],n[e]))return!1}return!0}function q(e,t,r){const s=[e];if(t){const i=[];for(const r of t){const t=j(r)?r:Object(y.a)(w(e,r));i.push(L(t))}i.sort(!r?G:$);for(const t of i)s.every(s=>!z(s,t,e,!r))&&s.push(t)}return s}function J(e,t){return new RegExp(e,t?"":"i")}function Y(e,t){return e.slice().sort(t)}function Q(e,t,r){for(let s=r||0;s<e.length;s++)if(t(e[s],s))return s;return-1}function Z(e,t){return e.length>t.length&&function(e,t){const r=e.length-t.length;return r>=0&&e.indexOf(t,r)===r}(e,t)}function X(e,t){for(const r of t)if(Z(e,r))return!0;return!1}function ee(e,t,r,s,i,n,o,p){const c=Object(y.a)(e),u=Object(y.a)(n),d=function(e,t,r,s,i){const n=Object(y.a)(e),a=w(Object(y.a)(i),n),o=D(r,a,"files");return{includeFilePatterns:void 0===o?void 0:l()(o,e=>`^${e}$`),includeFilePattern:U(r,a,"files"),includeDirectoryPattern:U(r,a,"directories"),excludePattern:U(t,a,"exclude"),basePaths:q(n,r,s)}}(c,r,s,i,u),m=d.includeFilePatterns&&d.includeFilePatterns.map(e=>J(e,i)),h=d.includeDirectoryPattern&&J(d.includeDirectoryPattern,i),f=d.excludePattern&&J(d.excludePattern,i),g=m?m.map(()=>[]):[[]];for(const e of d.basePaths)O(e,w(u,e),o);return a()(g);function O(e,r,s){const{files:i,directories:n}=p(e);for(const s of Y(i,$)){const i=w(e,s),n=w(r,s);if((!t||X(i,t))&&(!f||!f.test(n)))if(m){const e=Q(m,e=>e.test(n));-1!==e&&g[e].push(i)}else g[0].push(i)}if(void 0===s||0!=--s)for(const t of Y(n,$)){const i=w(e,t),n=w(r,t);h&&!h.test(n)||f&&f.test(n)||O(i,n,s)}}}!function(e){e[e.LessThan=-1]="LessThan",e[e.EqualTo=0]="EqualTo",e[e.GreaterThan=1]="GreaterThan"}(W||(W={}));const te={files:[],directories:[]};var re;!function(e){e[e.File=0]="File",e[e.Directory=1]="Directory"}(re||(re={}));const se=e=>{return{readFile:function(t,s){if(!r(t))return;return e.readFileSync(t)},readDirectory:function(e,t,r,s,i){return ee(e,t,r,s,!0,g.a,i,n)},fileExists:r,directoryExists:s,getDirectories:function(r){if(!s(r))return[];return i()(e.readdirSync(r),e=>
1t(w(r,e),re.Directory))},getCurrentDirectory:()=>g.a};function t(t,r){try{const s=e.statSync(t);switch(r){case re.File:return s.isFile();case re.Directory:return s.isDirectory();default:return!1}}catch(e){return!1}}function r(e){return t(e,re.File)}function s(e){return t(e,re.Directory)}function n(t){try{const r=e.readdirSync(t||"/").slice().sort(),s=[],i=[];for(const n of r){if("."===n||".."===n)continue;const r=w(t,n);let a;try{a=e.statSync(r)}catch(e){continue}a.isFile()?s.push(n):a.isDirectory()&&i.push(n)}return{files:s,directories:i}}catch(e){return te}}}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getClients=void 0;const s=r(84),i=r(1110);t.getClients=async(e,t)=>{const r=new i.Client({memory:new i.LocalUserAccountProvider({keystore:new s.LocalKeyStore(new s.LocalMemoryStore),provider:new s.NEOONEProvider([e])})}),n=new s.DeveloperClient(e),a=await r.providers.memory.keystore.addUserAccount({network:e.network,privateKey:t});return{client:r,developerClient:n,masterWallet:a}}},,function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.genFunctionParameters=void 0;const s=r(18).__importDefault(r(29)),i=r(46),n=(e,t=!1)=>`...${e.name}: ${i.toTypeScriptType(e,{isParameter:!0,includeOptional:!1,migration:t})}[]`;t.genFunctionParameters=(e,t=(void 0===e.parameters?[]:e.parameters),r={})=>{const[a,o]=t.length>0&&t[t.length-1].rest?[t.slice(0,-1),t[t.length-1]]:[t.slice(),void 0],l=s.default.reverse(s.default.reverse([...a]).reduce((e,t)=>({hasRequired:e.hasRequired||!t.optional,acc:e.acc.concat(`${t.name}${!e.hasRequired&&t.optional?"?":""}: ${i.toTypeScriptType(t,{isParameter:!0,includeOptional:!1,migration:r.migration})}`)}),{hasRequired:!1,acc:[]}).acc),p=((e,{withConfirmedOptions:t=!1}={})=>{if(e.constant)return t?["options?: GetOptions"]:[];const r=t?" & GetOptions":"";return e.sendUnsafe&&e.receive?["options?: InvokeSendUnsafeReceiveTransactionOptions"+r]:e.sendUnsafe?["options?: InvokeSendUnsafeTransactionOptions"+r]:e.receive?["options?: InvokeReceiveTransactionOptions"+r]:e.refundAssets?["hash: Hash256String, options?: TransactionOptions"+r]:e.send?["transfer: Transfer, options?: TransactionOptions"+r]:e.completeSend?["hash: Hash256String, options?: TransactionOptions"+r]:["options?: TransactionOptions"+r]})(e,r);let c=[];void 0!==o&&"ForwardValue"===o.type&&(c=["forwardOptions?: "+(e.constant?"ForwardOptions":"TForwardOptions")]);const u=l.concat(p).concat(void 0===o?[]:[n(o,r.migration)]).join(", "),d=l.concat(c).concat(void 0===o?[]:[n(o,r.migration)]).join(", "),m=l.concat(p).concat(c).concat(void 0===o?[]:[n(o,r.migration)]).join(", "),h=l.concat(void 0===o?[]:[n(o,r.migration)]).join(", ");return void 0===o?[u]:0===p.length?0===c.length?[h]:[d]:0===c.length?[u,h]:[d,m]}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.formatFile=void 0;const s=r(18),i=s.__importDefault(r(1113)),n=s.__importDefault(r(1114)),a=(e,t)=>{const r="// tslint:disable\n/* eslint-disable */\n"+n.default.format(e,{arrowParens:"always",parser:"typescript",plugins:[i.default],printWidth:120,singleQuote:!0,trailingComma:"all"});return t?r.replace(/'@neo-one\/client'/gu,"'@neo-one/client-browserify'"):r};t.formatFile=(e,t)=>({js:void 0===e.js?void 0:a(e.js,t),ts:a(e.ts,t)})},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const s=r(18);s.__exportStar(r(906),t),s.__exportStar(r(907),t),s.__exportStar(r(908),t)},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),r(18).__exportStar(r(910),t)},function(e,t,r){"use strict";var s=r(253);r.d(t,"registerWorkerPouch",(function(){return s.a}));var i=r(183);r.d(t,"createPouchDBFileSystem",(function(){return i.a}));var n=r(255);r.o(n,"Builder")&&r.d(t,"Builder",(function(){return n.Builder})),r.o(n,"normalizePath")&&r.d(t,"normalizePath",(function(){return n.normalizePath}));var a=r(126);r.d(t,"normalizePath",(function(){return a.a}))},,,,,,,,,,,,function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var s=r(313);Object.defineProperty(t,"compileContract",{enumerable:!0,get:function(){return s.compileContract}}),Object.defineProperty(t,"getSemanticDiagnostics",{enumerable:!0,get:function(){return s.getSemanticDiagnostics}});var i=r(871);Object.defineProperty(t,"scan",{enumerable:!0,get:function(){return i.scan}});var n=r(109);Object.defineProperty(t,"COMPILER_OPTIONS",{enumerable:!0,get:function(){return n.COMPILER_OPTIONS}})},,,,,function(e,t,r){"use strict";var s=r(182);r.d(t,"Builder",(function(){return s.a}));var i=r(252);r.o(i,"createPouchDBFileSystem")&&r.d(t,"createPouchDBFileSystem",(function(){return i.createPouchDBFileSystem})),r.o(i,"normalizePath")&&r.d(t,"normalizePath",(function(){return i.normalizePath})),r.o(i,"registerWorkerPouch")&&r.d(t,"registerWorkerPouch",(function(){return i.registerWorkerPouch}))},function(e,t,r){"use strict";r.d(t,"a",(function(){return n}));r(50);var s=r(183),i=r(129);class n{constructor({dbID:e,endpoint:t,output$:r,jsonRPCLocalProviderManager:i}){this.fs=Object(s.a)(e,t),this.output$=r,this.jsonRPCLocalProviderManager=i}async build(){const e=await this.fs,t=await Object(i.a)({output$:this.output$,fs:e,providerManager:this.jsonRPCLocalProviderManager});await Promise.all(t.files.map(async t=>e.writeFile(t.path,t.content)))}}},function(e,t,r){"use strict";r.d(t,"a",(function(){return a}));var s=r(936),i=r(125),n=r(303);s.a.adapter("worker",n.a);const a=async(e,t)=>i.a.create(((e,t)=>{const r=new s.a(e,{adapter:"worker",endpoint:()=>t});return r.setMaxListeners(20),r})(e,t))},,,function(e,t,r){"use strict";
1Object.defineProperty(t,"__esModule",{value:!0}),t.hasBody=t.getBodyOrThrow=t.getBody=void 0;const s=r(18).__importStar(r(36));function i(e){return s.getValueOrUndefined(e.body)}t.getBody=i,t.getBodyOrThrow=function(e){return s.throwIfNullOrUndefined(i(e),"body")},t.hasBody=function(e){return void 0!==i(e)}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getSyntaxKindName=void 0;const s=r(18).__importDefault(r(21));let i;t.getSyntaxKindName=function(e){return function(){if(void 0!==i)return i;i={};for(const e of Object.keys(s.default.SyntaxKind).filter(e=>isNaN(parseInt(e,10)))){const t=s.default.SyntaxKind[e];void 0===i[t]&&(i[t]=e)}return i}()[e]}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getBaseClass=t.getBaseClasses=t.getBaseTypesFlattened=t.getBaseTypes=t.getExtendors=t.getImplementors=t.getDerivedClasses=t.getFirstConcreteConstructor=t.getConcreteConstructor=t.getConstructors=t.getConcreteStaticMethods=t.getConcreteStaticMembers=t.getConcreteStaticProperties=t.getStaticMembers=t.getStaticProperties=t.getConcreteInstanceMethods=t.getConcreteInstanceMembers=t.getConcreteInstanceProperties=t.getInstanceMethod=t.getSetAccessors=t.getMethods=t.getInstanceMethods=t.getInstanceMembers=t.getInstanceProperties=t.getConcreteMembers=t.getMembers=t.getImplementsArray=t.getImplements=t.getExtendsOrThrow=t.getExtends=t.isClassMember=t.isClassStaticMember=t.isClassStaticProperty=t.isClassInstanceMember=t.isClassInstanceProperty=t.isClassProperty=void 0;const s=r(18),i=s.__importDefault(r(29)),n=s.__importDefault(r(21)),a=r(70),o=s.__importStar(r(189)),l=s.__importStar(r(51)),p=s.__importStar(r(131)),c=s.__importStar(r(79)),u=s.__importStar(r(133)),d=s.__importStar(r(36));function m(e){return n.default.isPropertyDeclaration(e)||n.default.isGetAccessorDeclaration(e)||n.default.isSetAccessorDeclaration(e)}function h(e){return(m(e)||n.default.isParameterPropertyDeclaration(e,e.parent))&&!a.modifier.isStatic(e)}function f(e){return(n.default.isMethodDeclaration(e)||h(e))&&!a.modifier.isStatic(e)}function y(e){return(n.default.isMethodDeclaration(e)||m(e))&&a.modifier.isStatic(e)}function g(e){return(n.default.isMethodDeclaration(e)||m(e))&&a.modifier.isStatic(e)}function O(e){return f(e)||g(e)}function S(e){const t=a.heritage.getHeritageClauseByKind(e,n.default.SyntaxKind.ExtendsKeyword);if(void 0===t)return;const r=a.heritage.getTypeNodes(t);return 0===r.length?void 0:r[0]}function b(e){const t=a.heritage.getHeritageClauseByKind(e,n.default.SyntaxKind.ImplementsKeyword);if(void 0!==t)return a.heritage.getTypeNodes(t)}function P(e){const t=[...e.members],r=t.filter(n.default.isConstructorDeclaration).filter(e=>a.overload.isImplementation(e));for(const e of r){let r=t.indexOf(e)+1;for(const s of a.parametered.getParameters(e))n.default.isParameterPropertyDeclaration(s,s.parent)&&(t.splice(r,0,s),r+=1)}return t.filter(O)}function v(e){return o.isAmbient(e)?[]:P(e).filter(e=>!n.default.isMethodDeclaration(e)||a.overload.isImplementation(e))}function C(e){return P(e).filter(f)}function x(e){return C(e).filter(n.default.isMethodDeclaration)}function T(e){return v(e).filter(f)}function _(e){return v(e).filter(g)}function H(e){return e.members.filter(n.default.isConstructorDeclaration)}function w(e){return H(e).find(e=>a.overload.isImplementation(e))}function I(e,t,r,s=new Set){return s.has(r)?[]:p.findReferencesAsNodes(e,t,r).reduce((r,i)=>{const o=l.getParent(i);if(void 0===o)return r;const p=l.getParent(o);if(void 0===p||!n.default.isHeritageClause(p)||!a.heritage.isImplements(p)&&!a.heritage.isExtends(p))return r;let c=l.getFirstAncestorByKind(p,n.default.SyntaxKind.ClassDeclaration);return void 0===c&&(c=l.getFirstAncestorByKindOrThrow(p,n.default.SyntaxKind.InterfaceDeclaration)),r.concat(I(e,t,c,s))},[]).concat(n.default.isClassDeclaration(r)?[r]:[])}function A(e,t){return u.getBaseTypesArray(u.getType(e,t))}function E(e,t){return i.default.flatten(A(e,t).map((function e(t){if(u.isIntersection(t))return i.default.flatten(u.getIntersectionTypesArray(t).map(e));const r=u.getBaseTypesArray(t);return[t].concat(i.default.flatten(r.map(e)))})))}function M(e,t){return E(e,t).map(e=>u.getSymbol(e)).filter(d.notNull).map(e=>c.getDeclarations(e)).reduce((e,t)=>
1e.concat(t),[]).filter(n.default.isClassDeclaration)}function U(e,t){const r=M(e,t);return 1===r.length?r[0]:void 0}t.isClassProperty=m,t.isClassInstanceProperty=h,t.isClassInstanceMember=f,t.isClassStaticProperty=y,t.isClassStaticMember=g,t.isClassMember=O,t.getExtends=S,t.getExtendsOrThrow=function(e){return d.throwIfNullOrUndefined(S(e),"extends expression")},t.getImplements=b,t.getImplementsArray=function(e){return d.getArray(b(e))},t.getMembers=P,t.getConcreteMembers=v,t.getInstanceProperties=function(e){return P(e).filter(h)},t.getInstanceMembers=C,t.getInstanceMethods=x,t.getMethods=function(e){return P(e).filter(n.default.isMethodDeclaration)},t.getSetAccessors=function(e){return P(e).filter(n.default.isSetAccessor)},t.getInstanceMethod=function(e,t){return x(e).find(e=>l.getName(e)===t)},t.getConcreteInstanceProperties=function(e){return v(e).filter(h)},t.getConcreteInstanceMembers=T,t.getConcreteInstanceMethods=function(e){return T(e).filter(n.default.isMethodDeclaration)},t.getStaticProperties=function(e){return P(e).filter(y)},t.getStaticMembers=function(e){return P(e).filter(g)},t.getConcreteStaticProperties=function(e){return v(e).filter(y)},t.getConcreteStaticMembers=_,t.getConcreteStaticMethods=function(e){return _(e).filter(n.default.isMethodDeclaration)},t.getConstructors=H,t.getConcreteConstructor=w,t.getFirstConcreteConstructor=function e(t,r){const s=w(r);if(void 0!==s)return s;const i=U(t,r);return void 0!==i?e(t,i):void 0},t.getDerivedClasses=function(e,t,r){return function e(t,r,s,i=new Set){return i.has(s)?[]:p.findReferencesAsNodes(t,r,s).reduce((s,o)=>{const p=l.getParent(o);if(void 0===p)return s;const c=l.getParent(p);if(void 0===c||!n.default.isHeritageClause(c)||!a.heritage.isExtends(c))return s;const u=l.getFirstAncestorByKindOrThrow(c,n.default.SyntaxKind.ClassDeclaration);return s.concat(e(t,r,u,i))},[]).concat([s])}(e,t,r).filter(e=>e!==r)},t.getImplementors=function(e,t,r){return I(e,t,r)},t.getExtendors=function(e,t,r){return function(e,t,r,s=new Set){return s.has(r)?[]:p.findReferencesAsNodes(e,t,r).reduce((r,i)=>{const o=l.getParent(i);if(void 0===o)return r;const p=l.getParent(o);if(!(void 0!==p&&n.default.isHeritageClause(p)&&a.heritage.isExtends(p)||p&&n.default.isExpressionWithTypeArguments(p)))return r;const c=l.getFirstAncestorByTestOrThrow(p,n.default.isClassDeclaration);return r.concat(I(e,t,c,s))},[]).concat(n.default.isClassDeclaration(r)?[r]:[])}(e,t,r)},t.getBaseTypes=A,t.getBaseTypesFlattened=E,t.getBaseClasses=M,t.getBaseClass=U},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getReturnTypeNode=t.isAmbient=t.isAmbientNode=void 0;const s=r(18),i=s.__importDefault(r(21)),n=s.__importStar(r(130)),a=s.__importStar(r(51)),o=s.__importStar(r(36));function l(e){return(i.default.getCombinedModifierFlags(e)&i.default.ModifierFlags.Ambient)===i.default.ModifierFlags.Ambient||i.default.isInterfaceDeclaration(e)||i.default.isTypeAliasDeclaration(e)}t.isAmbientNode=l,t.isAmbient=function(e){if(l(e)||e.getSourceFile().isDeclarationFile)return!0;for(const t of a.getAncestors(e))if(n.isDeclaration(t)&&l(t))return!0;return!1},t.getReturnTypeNode=function(e){return o.getValueOrUndefined(e.type)}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getFinallyBlock=t.getTryBlock=t.getCatchClause=t.getCaseBlock=t.getElseStatement=t.getThenStatement=t.getIncrementor=t.getCondition=t.getInitializer=t.getStatement=t.getBlock=t.getOnlyVariableDeclaration=t.getClauses=t.getLabel=t.getEnumOrThrow=t.getEnum=t.getEnums=t.getFunctionOrThrow=t.getFunction=t.getFunctions=t.getTypeAliasOrThrow=t.getTypeAlias=t.getTypeAliases=t.getVariableDeclarationOrThrow=t.getVariableDeclaration=t.getVariableDeclarations=t.getVariableStatements=t.getNamespaceOrThrow=t.getNamespace=t.getNamespaces=t.getInterfaceOrThrow=t.getInterface=t.getInterfaces=t.getClassOrThrow=t.getClass=t.getClasses=t.getStatements=void 0;const s=r(18),i=s.__importDefault(r(21)),n=r(70),a=s.__importStar(r(51)),o=s.__importStar(r(36)),l=s.__importStar(r(191));function p(e){if(i.default.isSourceFile(e)||i.default.isCaseClause(e)||i.default.isDefaultClause(e))return e.statements;if(i.default.isBlock(e))return e.statements;let t=n.body.getBody(e);for(;void 0!==t&&null==t.statements;)t=n.body.getBody(t);if(void 0===t)throw new Error("Could not find statements for "+n.syntaxKind.getSyntaxKindName(e.kind));return t.statements}function c(e){return p(e).filter(i.default.isClassDeclaration)}function u(e,t){return c(e).find(e=>a.getName(e)===t)}function d(e){return p(e).filter(i.default.isInterfaceDeclaration)}function m(e,t){return d(e).find(e=>a.getName(e)===t)}function h(e){return p(e).filter(i.default.isModuleDeclaration)}function f(e,t){return h(e).find(e=>a.getName(e)===t)}function y(e){return p(e).filter(i.default.isVariableStatement)}function g(e){return y(e).reduce((e,t)=>
1e.concat(l.getDeclarations(l.getDeclarationList(t))),[])}function O(e,t){return g(e).find(e=>a.getName(e)===t)}function S(e){return p(e).filter(i.default.isTypeAliasDeclaration)}function b(e,t){return S(e).find(e=>a.getName(e)===t)}function P(e){return p(e).filter(i.default.isFunctionDeclaration)}function v(e,t){return P(e).find(e=>a.getName(e)===t)}function C(e){return p(e).filter(i.default.isEnumDeclaration)}function x(e,t){return C(e).find(e=>a.getName(e)===t)}t.getStatements=p,t.getClasses=c,t.getClass=u,t.getClassOrThrow=function(e,t){return o.throwIfNullOrUndefined(u(e,t),"class")},t.getInterfaces=d,t.getInterface=m,t.getInterfaceOrThrow=function(e,t){return o.throwIfNullOrUndefined(m(e,t),"interface")},t.getNamespaces=h,t.getNamespace=f,t.getNamespaceOrThrow=function(e,t){return o.throwIfNullOrUndefined(f(e,t),"namespace")},t.getVariableStatements=y,t.getVariableDeclarations=g,t.getVariableDeclaration=O,t.getVariableDeclarationOrThrow=function(e,t){return o.throwIfNullOrUndefined(O(e,t),"variable declaration")},t.getTypeAliases=S,t.getTypeAlias=b,t.getTypeAliasOrThrow=function(e,t){return o.throwIfNullOrUndefined(b(e,t),"type alias")},t.getFunctions=P,t.getFunction=v,t.getFunctionOrThrow=function(e,t){return o.throwIfNullOrUndefined(v(e,t),"function")},t.getEnums=C,t.getEnum=x,t.getEnumOrThrow=function(e,t){return o.throwIfNullOrUndefined(x(e,t),"enum")},t.getLabel=function(e){return o.getValueOrUndefined(e.label)},t.getClauses=function(e){return e.clauses},t.getOnlyVariableDeclaration=function(e){return o.getValueOrUndefined(e.variableDeclaration)},t.getBlock=function(e){return e.block},t.getStatement=function(e){return e.statement},t.getInitializer=function(e){return o.getValueOrUndefined(e.initializer)},t.getCondition=function(e){return o.getValueOrUndefined(e.condition)},t.getIncrementor=function(e){return o.getValueOrUndefined(e.incrementor)},t.getThenStatement=function(e){return e.thenStatement},t.getElseStatement=function(e){return o.getValueOrUndefined(e.elseStatement)},t.getCaseBlock=function(e){return e.caseBlock},t.getCatchClause=function(e){return o.getValueOrUndefined(e.catchClause)},t.getTryBlock=function(e){return e.tryBlock},t.getFinallyBlock=function(e){return o.getValueOrUndefined(e.finallyBlock)}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getDeclarationsFromStatement=t.getDeclarationList=t.getDeclarations=void 0;const s=r(18).__importStar(r(36));function i(e){const t=s.getValueOrUndefined(e.declarations);return void 0===t?[]:t}function n(e){return e.declarationList}t.getDeclarations=i,t.getDeclarationList=n,t.getDeclarationsFromStatement=function(e){return i(n(e))}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getProperties=void 0,t.getProperties=function(e){return e.properties}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getNamedImports=t.getDefaultImport=t.getNamespaceImportIdentifier=t.getNamespaceImport=t.getImportClause=void 0;const s=r(18),i=s.__importDefault(r(21)),n=s.__importStar(r(51)),a=s.__importStar(r(36));function o(e){return a.getValueOrUndefined(e.importClause)}function l(e){if(void 0!==o(e))return n.getFirstDescendantByKind(e,i.default.SyntaxKind.NamespaceImport)}t.getImportClause=o,t.getNamespaceImport=l,t.getNamespaceImportIdentifier=function(e){return void 0===l(e)?void 0:n.getFirstDescendantByKind(e,i.default.SyntaxKind.Identifier)},t.getDefaultImport=function(e){const t=o(e);if(void 0!==t)return void 0===n.getFirstDescendantByKind(e,i.default.SyntaxKind.NamespaceImport)?t.name:void 0},t.getNamedImports=function(e){const t=o(e);if(void 0===t)return[];const r=void 0!==t.namedBindings&&i.default.isNamedImports(t.namedBindings)?t.namedBindings:void 0;if(void 0===r)return[];const s=a.getValueOrUndefined(r.elements);return void 0===s?[]:s}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),r(18).__exportStar(r(335),t)},,,,,function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}
1),t.Types=void 0,function(e){e[e.Undefined=1]="Undefined",e[e.Null=2]="Null",e[e.Boolean=3]="Boolean",e[e.String=4]="String",e[e.Symbol=5]="Symbol",e[e.Number=6]="Number",e[e.Object=7]="Object",e[e.Array=8]="Array",e[e.Buffer=9]="Buffer",e[e.Map=10]="Map",e[e.Set=11]="Set",e[e.ForwardValue=12]="ForwardValue",e[e.IteratorResult=13]="IteratorResult",e[e.IterableIterator=14]="IterableIterator",e[e.Error=15]="Error",e[e.ArrayStorage=16]="ArrayStorage",e[e.MapStorage=17]="MapStorage",e[e.SetStorage=18]="SetStorage",e[e.Transaction=19]="Transaction",e[e.Output=20]="Output",e[e.Attribute=21]="Attribute",e[e.Input=22]="Input",e[e.Account=23]="Account",e[e.Asset=24]="Asset",e[e.Contract=25]="Contract",e[e.Header=26]="Header",e[e.Block=27]="Block",e[e.Iterable=28]="Iterable"}(t.Types||(t.Types={}))},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const s=r(18);s.__exportStar(r(390),t),s.__exportStar(r(391),t),s.__exportStar(r(392),t),s.__exportStar(r(393),t),s.__exportStar(r(394),t),s.__exportStar(r(395),t),s.__exportStar(r(396),t),s.__exportStar(r(397),t),s.__exportStar(r(398),t),s.__exportStar(r(399),t),s.__exportStar(r(400),t),s.__exportStar(r(401),t),s.__exportStar(r(402),t),s.__exportStar(r(403),t),s.__exportStar(r(404),t),s.__exportStar(r(405),t),s.__exportStar(r(406),t),s.__exportStar(r(407),t),s.__exportStar(r(408),t),s.__exportStar(r(409),t),s.__exportStar(r(410),t),s.__exportStar(r(411),t),s.__exportStar(r(412),t),s.__exportStar(r(413),t),s.__exportStar(r(414),t),s.__exportStar(r(415),t),s.__exportStar(r(416),t),s.__exportStar(r(417),t),s.__exportStar(r(418),t),s.__exportStar(r(419),t),s.__exportStar(r(143),t),s.__exportStar(r(420),t),s.__exportStar(r(421),t),s.__exportStar(r(422),t),s.__exportStar(r(423),t),s.__exportStar(r(424),t),s.__exportStar(r(425),t)},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.GetObjectPropertyHelperBase=void 0;const s=r(19);class i extends s.Helper{emit(e,t,r){e.emitOp(t,"OVER"),e.emitOp(t,"SWAP"),e.emitHelper(t,r,e.helpers.findObjectProperty({accessor:()=>{e.emitPushInt(t,0),e.emitOp(t,"PICKITEM"),e.emitHelper(t,r,e.helpers.invokeCall({bindThis:!0,noArgs:!0}))},dataExists:()=>{e.emitOp(t,"NIP"),r.pushValue?(e.emitPushInt(t,0),e.emitOp(t,"PICKITEM")):e.emitOp(t,"DROP")},data:()=>{e.emitOp(t,"DROP"),r.pushValue&&e.emitHelper(t,r,e.helpers.wrapUndefined)},getObject:this.getObject.bind(this)}))}}t.GetObjectPropertyHelperBase=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.InObjectPropertyHelperBase=void 0;const s=r(19);class i extends s.Helper{emit(e,t,r){e.emitHelper(t,r,e.helpers.findObjectPropertyBase({whenHasProperty:()=>{e.emitOp(t,"DROP"),e.emitOp(t,"DROP"),e.emitPushBoolean(t,!0)},whenNotHasProperty:()=>{e.emitOp(t,"DROP"),e.emitOp(t,"DROP"),e.emitPushBoolean(t,!1)},getObject:this.getObject.bind(this)}))}}t.InObjectPropertyHelperBase=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.OmitObjectPropertiesHelperBase=void 0;const s=r(19);class i extends s.Helper{emit(e,t,r){const s=e.scope.addUnique();e.emitOp(t,"SWAP"),e.scope.set(e,t,r,s),e.emitHelper(t,r,e.helpers.arrForEach({each:()=>{e.scope.get(e,t,r,s),e.emitHelper(t,r,this.getObject(e)),e.emitOp(t,"SWAP"),e.emitOp(t,"REMOVE")}}))}}t.OmitObjectPropertiesHelperBase=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.PickObjectPropertiesHelperBase=void 0;const s=r(19);class i extends s.Helper{emit(e,t,r){const s=e.scope.addUnique(),i=e.scope.addUnique();e.emitOp(t,"SWAP"),e.scope.set(e,t,r,s),e.emitOp(t,"SWAP"),e.scope.set(e,t,r,i),e.emitHelper(t,r,e.helpers.arrForEach({each:()=>{e.scope.get(e,t,r,i),e.emitOp(t,"SWAP"),e.scope.get(e,t,r,s),e.emitOp(t,"OVER"),e.emitHelper(t,r,this.getObjectProperty(e)),e.emitHelper(t,r,this.setObjectDataProperty(e))}}))}}t.PickObjectPropertiesHelperBase=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SetObjectDataPropertyHelperBase=void 0;const s=r(19);class i extends s.Helper{emit(e,t,r){e.emitOp(t,"ROT"),e.emitHelper(t,e.pushValueOptions(r),this.getObject(e)),e.emitOp(t,"ROT"),e.emitOp(t,"ROT"),e.emitPushInt(t,1),e.emitOp(t,"PACK"),e.emitOp(t,"SETITEM")}}t.SetObjectDataPropertyHelperBase=i},function(e,t,r){"use strict";
1Object.defineProperty(t,"__esModule",{value:!0}),t.SetObjectPropertyHelperBase=void 0;const s=r(19);class i extends s.Helper{emit(e,t,r){e.emitOp(t,"ROT"),e.emitOp(t,"ROT"),e.emitOp(t,"TUCK"),e.emitOp(t,"OVER"),e.emitOp(t,"SWAP"),e.emitHelper(t,e.pushValueOptions(r),e.helpers.findObjectProperty({accessor:()=>{e.emitPushInt(t,1),e.emitOp(t,"PICKITEM"),e.emitOp(t,"ROT"),e.emitOp(t,"DROP"),e.emitOp(t,"ROT"),e.emitPushInt(t,1),e.emitOp(t,"PACK"),e.emitOp(t,"ROT"),e.emitOp(t,"ROT"),e.emitHelper(t,e.noPushValueOptions(r),e.helpers.invokeCall({bindThis:!0,noArgs:!1}))},dataExists:()=>{e.emitOp(t,"NIP"),e.emitOp(t,"NIP"),e.emitPushInt(t,0),e.emitOp(t,"ROT"),e.emitOp(t,"SETITEM")},data:()=>{e.emitOp(t,"SWAP"),e.emitOp(t,"ROT"),e.emitHelper(t,e.noPushValueOptions(r),this.setDataProperty(e))},getObject:this.getObject.bind(this)}))}}t.SetObjectPropertyHelperBase=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getDiagnosticMessage=void 0;const s=r(18),i=r(208),n=s.__importStar(r(63)),a=s.__importDefault(r(21));t.getDiagnosticMessage=(e,{onlyFileName:t=!1,noHighlight:r=!1}={onlyFileName:!1,noHighlight:!1})=>{if(e.file&&e.start){const{line:s,character:o}=e.file.getLineAndCharacterOfPosition(e.start),l=a.default.flattenDiagnosticMessageText(e.messageText,"\n"),p=e.file.fileName;return`${t?n.basename(p):p} (${s+1},${o+1}): ${l}\n${((e,t,r,s=!1)=>{let n=i.codeFrameColumns(e,{start:{column:r,line:t}},{highlightCode:!s});return n=n.split("\n").map(e=>" "+e).join("\n"),n=`\n${n}\n`,n})(e.file.text,s+1,o+1,r)}`}return a.default.flattenDiagnosticMessageText(e.messageText,"\n")}},,function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getFixedDecimals=void 0;const s=r(20);t.getFixedDecimals=function(e){const t=s.tsUtils.type_.getAliasTypeArgumentsArray(e);if(1===t.length)return t[0].value}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getForwardedValueType=void 0;const s=r(20);t.getForwardedValueType=function(e){const t=s.tsUtils.type_.getAliasTypeArgumentsArray(e);if(1===t.length)return t[0]}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getHasBuiltins=void 0;const s=r(146),i=r(80),n=r(147),a=r(98),o=r(148),l=r(81),p=r(149),c=r(150),u=r(100),d=r(105),m=r(106),h=[i.hasArray,a.hasAttribute,l.hasBuffer,u.hasInput,d.hasOutput,m.hasTransaction,s.hasAccount,n.hasAsset,o.hasBlock,p.hasContract,c.hasHeader];t.getHasBuiltins=function(e,t,r){return h.filter(s=>s(e,t,r))}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.handleTypeConversion=void 0;const s=r(32),i=r(33),n=r(211);t.handleTypeConversion=function(e,t,r,a,o){if(void 0!==r&&void 0!==o){n.getHasBuiltins(e,t,r).some(t=>!t(e,a,o))&&e.reportError(t,s.DiagnosticCode.InvalidBuiltinUsage,i.DiagnosticMessage.InvalidBuiltinAssignment,e.typeChecker.typeToString(r,t),e.typeChecker.typeToString(o,a))}}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ContractInfoProcessor=void 0;const s=r(18),i=r(20),n=r(25),a=s.__importDefault(r(29)),o=s.__importDefault(r(21)),l=r(22),p=r(44),c=r(34),u=r(32),d=r(33),m=r(55);t.ContractInfoProcessor=class{constructor(e,t){this.context=e,this.smartContract=t}process(){i.tsUtils.modifier.isAbstract(this.smartContract)&&this.context.reportError(this.smartContract,u.DiagnosticCode.InvalidContract,d.DiagnosticMessage.InvalidContractAbstract);const e=this.processClass(this.smartContract,this.context.analysis.getType(this.smartContract)),t=e.propInfos.some(e=>"function"===e.type&&e.receive)?{type:"refundAssets",name:c.ContractPropertyName.refundAssets,classDecl:this.smartContract,isPublic:!0}:void 0,r=e.propInfos.some(e=>"function"===e.type&&e.send)?{type:"completeSend",name:c.ContractPropertyName.completeSend,classDecl:this.smartContract,isPublic:!0}:void 0,s=this.getApproveUpgradeDecl(e),a=void 0!==s?{type:"upgrade",name:c.ContractPropertyName.upgrade,classDecl:this.smartContract,isPublic:!0,approveUpgrade:s}:void 0,o=e.propInfos.concat([t,r,a].filter(n.utils.notNull));return this.hasDeployInfo(e)?Object.assign(Object.assign({},e),{propInfos:o}):Object.assign(Object.assign({},e),{propInfos:o.concat([{type:"deploy",name:c.ContractPropertyName.deploy,classDecl:this.smartContract,isPublic:!0,isMixinDeploy:!1}])})}processClass(e,t,r=[]){if(void 0===t)return{smartContract:e,propInfos:[]};i.tsUtils.class_.getStaticMembers(e).map(e=>i.tsUtils.modifier.getStaticKeyword(e)).filter(n.utils.notNull).forEach(e
1=>{this.context.reportError(e,u.DiagnosticCode.InvalidContractMethod,d.DiagnosticMessage.InvalidContractPropertyOrMethodStatic)}),a.default.flatten(i.tsUtils.class_.getMembers(e).map(e=>i.tsUtils.decoratable.getDecoratorsArray(e))).filter(e=>!this.isValidDecorator(e)).forEach(e=>{this.context.reportError(e,u.DiagnosticCode.UnsupportedSyntax,d.DiagnosticMessage.UnsupportedDecorator)}),a.default.flatten(i.tsUtils.class_.getMethods(e).map(e=>a.default.flatten(i.tsUtils.parametered.getParameters(e).map(e=>i.tsUtils.decoratable.getDecoratorsArray(e))))).filter(e=>!this.isValidDecorator(e)).forEach(e=>{this.context.reportError(e,u.DiagnosticCode.UnsupportedSyntax,d.DiagnosticMessage.UnsupportedDecorator)}),a.default.flatten(i.tsUtils.class_.getSetAccessors(e).map(e=>a.default.flatten(i.tsUtils.parametered.getParameters(e).map(e=>i.tsUtils.decoratable.getDecoratorsArray(e))))).filter(e=>!this.isValidDecorator(e)).forEach(e=>{this.context.reportError(e,u.DiagnosticCode.UnsupportedSyntax,d.DiagnosticMessage.UnsupportedDecorator)});let s=i.tsUtils.type_.getProperties(t).map(e=>this.processProperty(e)).filter(n.utils.notNull);const l=i.tsUtils.class_.getConcreteConstructor(e),p=void 0===l?void 0:this.context.analysis.getTypeOfSymbol(this.context.analysis.getSymbol(l.parent),l.parent);if(void 0!==l&&void 0!==p){const t=p.getConstructSignatures();1!==t.length&&this.context.reportError(l,u.DiagnosticCode.InvalidContractMethod,d.DiagnosticMessage.InvalidContractMethodMultipleSignatures);const r=t[0],n=i.tsUtils.node.getFirstAncestorByTest(l,e=>o.default.isFunctionDeclaration(e)||o.default.isFunctionExpression(e));s=s.concat([{type:"deploy",name:c.ContractPropertyName.deploy,classDecl:e,decl:l,isPublic:!0,callSignature:r,isMixinDeploy:void 0!==n&&this.context.analysis.isSmartContractMixinFunction(n)}])}let m;if(void 0!==i.tsUtils.class_.getExtends(e)){let t=r[0],s=r.slice(1);if(0===r.length){const r=i.tsUtils.class_.getBaseTypesFlattened(this.context.typeChecker,e);t=r[0],s=r.slice(1)}if(void 0!==t){const r=this.context.analysis.getSymbolForType(e,t);if(void 0!==r){const e=i.tsUtils.symbol.getDeclarations(r),n=e[0];1!==e.length||!o.default.isClassDeclaration(n)&&!o.default.isClassExpression(n)||this.context.builtins.isValue(n,"SmartContract")||(m=this.processClass(n,t,s))}}}const h={smartContract:e,propInfos:s,superSmartContract:m};return h.propInfos.every(e=>"deploy"!==e.type)&&h.propInfos.some(e=>"property"===e.type&&void 0!==i.tsUtils.initializer.getInitializer(e.decl))?Object.assign(Object.assign({},h),{propInfos:h.propInfos.concat([{type:"deploy",name:c.ContractPropertyName.deploy,classDecl:this.smartContract,isPublic:!0,isMixinDeploy:!1}])}):h}processProperty(e){const t=i.tsUtils.symbol.getDeclarations(e),r=t.filter(e=>(!(o.default.isMethodDeclaration(e)||o.default.isConstructorDeclaration(e))||i.tsUtils.overload.isImplementation(e))&&(!o.default.isPropertyDeclaration(e)||!i.tsUtils.modifier.isAbstract(e))),s=r.length>0?r[0]:t[0];if(void 0===s||!(o.default.isMethodDeclaration(s)||o.default.isPropertyDeclaration(s)||o.default.isGetAccessorDeclaration(s)||o.default.isSetAccessorDeclaration(s)||o.default.isParameterPropertyDeclaration(s,s.parent)))return;const n=i.tsUtils.node.getNameNode(s);if(!o.default.isIdentifier(n))return void this.context.reportError(n,u.DiagnosticCode.InvalidContractProperty,d.DiagnosticMessage.InvalidContractPropertyIdentifier);const a=i.tsUtils.symbol.getName(e);if(c.IGNORED_PROPERTIES.has(a))return;if(c.BUILTIN_PROPERTIES.has(a)){return void(e!==this.context.builtins.getOnlyMemberSymbol("SmartContract",a)&&this.context.reportError(n,u.DiagnosticCode.InvalidContractProperty,d.DiagnosticMessage.InvalidContractPropertyReserved,a))}if(c.RESERVED_PROPERTIES.has(a)){const t=this.context.builtins.getValueSymbol("SmartContract"),r=i.tsUtils.symbol.getMemberOrThrow(t,a);return void(i.tsUtils.symbol.getTarget(e)!==r&&this.context.reportError(n,u.DiagnosticCode.InvalidContractProperty,d.DiagnosticMessage.InvalidContractPropertyReserved,a))}if(c.VIRTUAL_PROPERTIES.has(a))return void this.context.reportError(n,u.DiagnosticCode.InvalidContractMethod,d.DiagnosticMessage.InvalidContractMethodReserved,a);const h=this.context.analysis.getTypeOfSymbol(e,s);if(void 0===h)return;const f=i.tsUtils.node.getFirstAncestorByTest(s,o.default.isClassDeclaration),y=i.tsUtils.node.getFirstAncestorByTest(s,o.default.isClassExpression),g=void 0===f?y:f;
1if(void 0===g)return void this.context.reportUnsupported(s);const O=i.tsUtils.modifier.isPublic(s);if(o.default.isGetAccessorDeclaration(s)||o.default.isSetAccessorDeclaration(s)){const t=o.default.isGetAccessorDeclaration(s)?s:i.tsUtils.accessor.getGetAccessor(s),r=o.default.isSetAccessorDeclaration(s)?s:i.tsUtils.accessor.getSetAccessor(s);return{type:"accessor",symbol:i.tsUtils.symbol.getTarget(e),name:i.tsUtils.node.getName(s),classDecl:g,getter:void 0===t?void 0:{name:i.tsUtils.node.getName(t),decl:t,constant:this.hasConstant(t)},setter:void 0===r?void 0:{name:m.getSetterName(i.tsUtils.node.getName(r)),decl:r},isPublic:O,propertyType:h}}let S=h.getCallSignatures();if(o.default.isMethodDeclaration(s)||o.default.isPropertyDeclaration(s)&&S.length>0){if(S.length>1&&(S=S.filter(e=>!i.tsUtils.modifier.isAbstract(e.getDeclaration()))),S.length>1&&this.context.reportError(s,u.DiagnosticCode.InvalidContractMethod,d.DiagnosticMessage.InvalidContractMethodMultipleSignatures),0===S.length)return;if(o.default.isPropertyDeclaration(s)){const e=i.tsUtils.initializer.getInitializer(s),t=i.tsUtils.modifier.isReadonly(s);if(void 0===e||0===i.tsUtils.type_.getCallSignatures(h).length||!t)return void this.context.reportError(s,u.DiagnosticCode.InvalidContractStorageType,d.DiagnosticMessage.InvalidContractStorageType)}const t=S[0],r=this.hasSend(s),n=this.hasSendUnsafe(s),a=this.hasReceive(s),l=this.hasClaim(s),m=this.hasConstant(s),f=r||n||a||l;if(f&&m){const e=i.tsUtils.decoratable.getDecoratorsArray(s).find(e=>this.isDecorator(e,c.Decorator.constant));return void this.context.reportError(void 0===e?s:e,u.DiagnosticCode.InvalidContractMethod,d.DiagnosticMessage.InvalidContractMethodConstantNative)}const y=S.length>=1?i.tsUtils.signature.getReturnType(t):void 0;if(l&&void 0!==y&&!i.tsUtils.type_.isVoid(y)){const e=i.tsUtils.decoratable.getDecoratorsArray(s).find(e=>this.isDecorator(e,c.Decorator.claim));return void this.context.reportError(void 0===e?s:e,u.DiagnosticCode.InvalidContractMethod,d.DiagnosticMessage.InvalidContractMethodNativeReturn)}if(f&&S.length>=1){const e=this.context.analysis.extractSignatureTypes(s,S[0]);if(void 0!==e){const t=e.paramDecls.filter(t=>{const r=e.paramTypes.get(t);return void 0!==r&&(p.hasForwardValue(this.context,t,r)||i.tsUtils.type_.hasType(r,e=>this.context.builtins.isType(t,e,"ForwardedValue")))});if(t.forEach(e=>{this.context.reportError(e,u.DiagnosticCode.InvalidContractType,d.DiagnosticMessage.InvalidContractTypeForwardNative)}),t.length>0)return}}return{type:"function",name:i.tsUtils.node.getName(s),classDecl:g,symbol:i.tsUtils.symbol.getTarget(e),decl:s,send:r,sendUnsafe:n,receive:a,claim:l,acceptsClaim:S.length>=1&&this.isLastParamClaim(s,S[0]),isPublic:O,callSignature:t,returnType:y,constant:m,isAbstract:!i.tsUtils.overload.isImplementation(s)}}const b=l.STRUCTURED_STORAGE_TYPES.find(e=>this.context.builtins.isInterface(s,h,e)),P=i.tsUtils.modifier.isReadonly(s),v=i.tsUtils.modifier.isAbstract(s),C=i.tsUtils.initializer.getInitializer(s);if(void 0===b||!O&&!v&&P&&void 0!==C){if(void 0!==b||this.context.analysis.isValidStorageType(s,h))return{type:"property",symbol:i.tsUtils.symbol.getTarget(e),name:i.tsUtils.node.getName(s),classDecl:g,decl:s,isPublic:O,propertyType:h,isReadonly:P,isAbstract:v,structuredStorageType:b};this.context.reportError(s,u.DiagnosticCode.InvalidContractStorageType,d.DiagnosticMessage.InvalidContractStorageType)}else this.context.reportError(s,u.DiagnosticCode.InvalidStructuredStorageFor,d.DiagnosticMessage.InvalidStructuredStorageForProperty)}hasConstant(e){return this.hasDecorator(e,c.Decorator.constant)}hasSend(e){return this.hasDecorator(e,c.Decorator.send)}hasSendUnsafe(e){return this.hasDecorator(e,c.Decorator.sendUnsafe)}hasReceive(e){return this.hasDecorator(e,c.Decorator.receive)}hasClaim(e){return this.hasDecorator(e,c.Decorator.claim)}hasDecorator(e,t){const r=i.tsUtils.decoratable.getDecorators(e);return void 0!==r&&r.some(e=>this.isDecorator(e,t))}isValidDecorator(e){return c.DECORATORS_ARRAY.some(t=>this.isDecorator(e,t))}isDecorator(e,t){return this.context.builtins.isValue(i.tsUtils.expression.getExpression(e),t)}isLastParamClaim(e,t){const r=this.context.analysis.extractSignatureTypes(e,t);if(void 0===r)return!1;if(0===r.paramDecls.length)return!1;const s=r.paramDecls[r.paramDecls.length-1],i=r.paramTypes.get(r.paramDecls[r.paramDecls.length-1]);return void 0!==i&&this.context.builtins.isInterface(s,i,"ClaimTransaction")}hasDeployInfo(e){if(e.propInfos.some(e=>"deploy"===e.type))return!0;const t=e.superSmartContract;return void 0!==t&&this.hasDeployInfo(t)}getApproveUpgradeDecl(e){const t=e.propInfos.find(e=>e.name===c.ContractPropertyName.approveUpgrade);if(void 0!==t&&"function"===t.type&&i.tsUtils.overload.isImplementation(t.decl))return t.decl;const r=e.superSmartContract;return void 0!==r?this.getApproveUpgradeDecl(r):void 0}}},function(e,t,r){"use strict";
1Object.defineProperty(t,"__esModule",{value:!0}),t.DebugInfoProcessor=void 0;const s=r(18),i=r(20),n=r(25),a=s.__importDefault(r(29)),o=s.__importDefault(r(21)),l=r(55);t.DebugInfoProcessor=class{constructor(e,t){this.context=e,this.contractInfo=t,this.sourceFile=t.smartContract.getSourceFile(),this.endLine=this.sourceFile.getLineAndCharacterOfPosition(this.sourceFile.getEnd()).line}process(){return{entrypoint:"",documents:[this.sourceFile.fileName],methods:this.processMethods(),events:[]}}processMethods(){const e=this.contractInfo.propInfos.filter(n.utils.notNull);return a.default.flatten(e.map(e=>{switch(e.type){case"function":const t=this.getSourceRange(e.decl);return void 0===t?[]:[{id:"",name:e.name,params:this.getParameters({callSignature:e.callSignature,send:e.send,claim:e.claim}),range:t,returnType:this.toDebugReturn(e.decl,e.returnType)}];case"property":const r=this.getSourceRange(e.decl);return void 0===r?[]:[{id:"",name:e.name,params:[],range:r,returnType:this.toDebugReturn(e.decl,e.propertyType)}];case"accessor":return[this.getGetterInfo(e),this.getSetterInfo(e)].filter(n.utils.notNull);default:return[]}}))}getGetterInfo(e){if(void 0===e.getter)return;const t=this.getSourceRange(e.getter.decl);return void 0!==t?{id:"",name:e.getter.name,params:[],range:t,returnType:this.toDebugReturn(e.getter.decl,e.propertyType)}:void 0}getSetterInfo(e){if(void 0===e.setter)return;const t=this.getSourceRange(e.setter.decl);return void 0!==t?{id:"",name:e.setter.name,params:[this.toDebugParameter(e.name,void 0===e.getter?e.setter.decl:e.getter.decl,e.propertyType,!1,void 0===e.getter?{error:!0}:void 0)].filter(n.utils.notNull),range:t,returnType:"Void"}:void 0}getParameters({callSignature:e,claim:t=!1,send:r=!1}){if(void 0===e)return[];let s=e.getParameters();return t&&this.checkLastParam(s,"ClaimTransaction")&&(s=s.slice(0,-1)),r&&this.checkLastParam(s,"Transfer")&&(s=s.slice(0,-1)),s.map(e=>this.paramToABIParameter(e)).filter(n.utils.notNull)}paramToABIParameter(e){const t=i.tsUtils.symbol.getDeclarations(e),r=n.utils.nullthrows(t[0]),s=i.tsUtils.initializer.getInitializer(r);return this.toDebugParameter(i.tsUtils.symbol.getName(e),r,this.getParamSymbolType(e),void 0!==s)}getParamSymbolType(e){const t=i.tsUtils.symbol.getDeclarations(e),r=n.utils.nullthrows(t[0]);return this.context.analysis.getTypeOfSymbol(e,r)}checkLastParam(e,t){return this.checkLastParamBase(e,(e,r)=>this.context.builtins.isInterface(e,r,t))}checkLastParamBase(e,t){if(0===e.length)return!1;const r=e[e.length-1],s=this.getParamSymbolType(r);return void 0!==s&&t(i.tsUtils.symbol.getDeclarations(r)[0],s)}toDebugParameter(e,t,r,s=!1,n={error:!1,warning:!1}){const a=e.startsWith("_")?e.slice(1):e;let p=r;o.default.isParameter(t)&&i.tsUtils.parameter.isRestParameter(t)&&void 0!==p&&(p=i.tsUtils.type_.getTypeArgumentsArray(p)[0]);const c=l.toABIReturn(this.context,t,p,s,n);if(void 0!==c)return`${a},${c.type}`}toDebugReturn(e,t,r=!1,s={error:!1,warning:!1}){const i=l.toABIReturn(this.context,e,t,r,s);return void 0===i?"Void":i.type}getSourceRange(e){try{const{line:t}=this.sourceFile.getLineAndCharacterOfPosition(e.getStart()),{line:r}=this.sourceFile.getLineAndCharacterOfPosition(e.getEnd());if(t===this.endLine&&r===this.endLine)return;return[t,r]}catch(e){return}}}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ArrayEntries=void 0;const s=r(20),i=r(27);class n extends i.BuiltinInstanceMemberCall{canCall(){return!0}emitCall(e,t,r,i,n){i.pushValue?(n||e.visit(s.tsUtils.expression.getExpression(t),i),e.emitHelper(r,i,e.helpers.unwrapArray),e.emitSysCall(r,"Neo.Iterator.Create"),e.emitHelper(r,i,e.helpers.createIteratorIterableIterator({mapKey:t=>{e.emitHelper(r,t,e.helpers.wrapNumber)}}))):n&&e.emitOp(r,"DROP")}}t.ArrayEntries=n},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Builtins=void 0;const s=r(18),i=r(20),n=r(25),a=s.__importDefault(r(29)),o=s.__importDefault(r(21)),l=r(55),p=r(40),c=(e,t)=>i.tsUtils.symbol.getMemberOrThrow(e,t),u=e=>e.find(e=>void 0!==e),d=e=>{if(null==e)throw new Error("Something went wrong.");return e};t.Builtins=class{constructor(e){this.context=e,this.builtinMembers=new Map,this.allBuiltinMembers=new Map,this.builtinInterfaces=new Map,this.builtinValues=new Map,this.builtinOverrides=new Map,this.memoized=l.createMemoized()}isBuiltinSymbol(e){return void 0!==e&&(this.builtinValues.has(e)||this.builtinInterfaces.has(e))}isBuiltinIdentifier(e){return void 0!==this.getAnyInterfaceSymbolMaybe(e)||void 0!==this.getAnyTypeSymbolMaybe(e)||void 0!==this.getAnyValueSymbolMaybe(e)}isBuiltinFile(e){return this.getContract()===e}getMember(e,t){return this.memoized("get-member",`${l.nodeKey(e)}:${l.nodeKey(t)}`,()=>
1{const r=this.context.analysis.getSymbol(t);if(void 0===r)return;const s=this.context.analysis.getTypeSymbol(e);if(void 0===s)return this.allBuiltinMembers.get(r);if(!i.tsUtils.guards.isSuperExpression(e)){const e=this.walkOverridesForMember(s,r);if(void 0!==e)return e}return this.getAllMembers(s).get(r)})}getOnlyMember(e,t){return this.getOnlyMemberBase(e,t,e=>e[1])}getOnlyMemberSymbol(e,t){return d(this.getOnlyMemberBase(e,t,e=>e[0]))}getMembers(e,t,r,s=!1){const n=(e,t)=>{const r=this.getInterfaceSymbolBase("SymbolConstructor",this.getGlobals());return i.tsUtils.symbol.getMember(r,t)!==e},a=e=>e.startsWith("__@");let o=e=>!a(e),l=e=>e;s&&(o=a,l=e=>e.slice(3));const p=this.getAllMembers(this.getAnyInterfaceSymbol(e)),c=[];return p.forEach((e,s)=>{const a=i.tsUtils.symbol.getName(s);t(e)&&n(s,a)&&o(a)&&r(e)&&c.push([l(a),e])}),c}getInterface(e){const t=this.context.analysis.getSymbol(e);if(void 0!==t)return this.builtinInterfaces.get(t)}getInterfaceSymbol(e){return this.getAnyInterfaceSymbol(e)}getValue(e){const t=this.context.analysis.getSymbol(e);if(void 0!==t)return this.builtinValues.get(t)}getValueInterface(e){const t=this.getValue(e);return void 0!==t&&p.isBuiltinValueObject(t)?t.type:void 0}getValueSymbol(e){return this.getAnyValueSymbol(e)}getTypeSymbol(e){return this.getAnyTypeSymbol(e)}isInterface(e,t,r){return this.memoized("is-interface",`${l.typeKey(t)}:${r}`,()=>{const s=this.context.analysis.getSymbolForType(e,t);return void 0!==s&&s===this.getAnyInterfaceSymbol(r)})}isType(e,t,r){return this.memoized("is-type",`${l.typeKey(t)}:${r}`,()=>{const s=this.context.analysis.getSymbolForType(e,t);if(void 0===s)return!1;if("Fixed"===r){if(s===this.getAnyInterfaceSymbol("FixedTag"))return!0}if("ForwardedValue"===r){if(s===this.getAnyInterfaceSymbol("ForwardedValueTag"))return!0}return s===this.getAnyTypeSymbol(r)})}isValue(e,t){return this.memoized("is-value",`${l.nodeKey(e)}:${t}`,()=>{const r=this.context.analysis.getSymbol(e);return void 0!==r&&r===this.getAnyValueSymbol(t)})}addMember(e,t,r){let s=this.builtinMembers.get(e);void 0===s&&(s=new Map,this.builtinMembers.set(e,s)),s.set(t,r),this.allBuiltinMembers.set(t,r);const n=i.tsUtils.symbol.getName(t);if(n.startsWith("__@")){const e=this.getInterfaceSymbolBase("SymbolConstructor",this.getGlobals()),t=c(e,n.slice(3));s.set(t,r),this.allBuiltinMembers.set(t,r)}}addOverride(e,t){this.builtinOverrides.set(e,t)}addGlobalMember(e,t,r){this.addMemberBase(e,t,r,this.getGlobals())}addContractMember(e,t,r){this.addMemberBase(e,t,r,this.getContract())}addInterface(e,t){this.addInterfaceBase(e,t,this.getGlobals())}addContractInterface(e,t){this.addInterfaceBase(e,t,this.getContract())}addValue(e,t){this.addValueBase(e,t,this.getGlobals())}addTestValue(e,t){const r=this.getTestGlobals();void 0!==r&&this.addValueBase(e,t,r)}addContractValue(e,t){this.addValueBase(e,t,this.getContract())}walkOverridesForMember(e,t){const r=this.builtinOverrides.get(e);if(void 0===r)return;let s=this.builtinOverrides.get(t);void 0===s&&(s=t);const i=this.walkOverridesForMember(r,s);return void 0!==i?i:this.getAllMembers(r).get(s)}getOnlyMemberBase(e,t,r){return this.memoized("only-member-base",`${e}$${t}`,()=>{const s=this.getAnyInterfaceOrValueSymbol(e),n=[...this.getAllMembers(s).entries()].find(([e])=>i.tsUtils.symbol.getName(e)===t);return void 0===n?void 0:r(n)})}getAllMembers(e){return this.memoized("get-all-members",i.symbolKey(e),()=>{const t=this.builtinMembers.get(e),r=[...this.getInheritedSymbols(e)].reduce((e,t)=>{const r=this.builtinMembers.get(t);return void 0===r?e:[...r.entries()].concat(e)},void 0===t?[]:[...t.entries()]);return new Map(r)})}addMemberBase(e,t,r,s){let n,a=this.getInterfaceSymbolMaybe(e,s);void 0===a?(a=this.getValueSymbolBase(e,s),n=((e,t)=>{const r=i.tsUtils.symbol.getMember(e,t);return void 0===r?i.tsUtils.symbol.getExportOrThrow(e,t):r})(a,t)):n=c(a,t),this.addMember(a,n,r)}getAnyInterfaceOrValueSymbol(e){const t=this.getAnyInterfaceSymbolMaybe(e);return void 0===t?this.getAnyValueSymbol(e):t}addInterfaceBase(e,t,r){this.builtinInterfaces.set(this.getInterfaceSymbolBase(e,r),t)}addValueBase(e,t,r){this.builtinValues.set(this.getValueSymbolBase(e,r),t)}getAnyValueSymbol(e){return this.memoized("any-value-symbol",e,()=>d(this.getAnyValueSymbolMaybe(e)))}getAnyValueSymbolMaybe(e){return this.memoized("get-any-value-symbol-maybe",e,()=>u(this.getFiles().map(t=>this.getValueSymbolMaybe(e,t))))}getValueSymbolBase(e,t){return d(this.getValueSymbolMaybe(e,t))}getValueSymbolMaybe(e,t){let r=i.tsUtils.statement.getVariableDeclaration(t,e);if(void 0===r&&(r=i.tsUtils.statement.getFunction(t,e)),void 0===r&&(r=i.tsUtils.statement.getEnum(t,e)),void 0===r&&(r=i.tsUtils.statement.getClass(t,e)),void 0!==r)return i.tsUtils.node.getSymbol(this.context.typeChecker,r)}getAnyInterfaceSymbol(e){return this.memoized("any-interface-symbol",e,()=>d(this.getAnyInterfaceSymbolMaybe(e)))}getAnyInterfaceSymbolMaybe(e){return this.memoized("get-any-interface-symbol-maybe",e,()=>u(this.getFiles().map(t=>this.getInterfaceSymbolMaybe(e,t))))}getInterfaceSymbolBase(e,t){return d(this.getInterfaceSymbolMaybe(e,t))}getInterfaceSymbolMaybe(e,t){return this.getInterfaceSymbols(t)[e]}getInterfaceSymbols(e){return this.memoized("interface-symbols",i.tsUtils.file.getFilePath(e),()=>{const t=i.tsUtils.statement.getInterfaces(e).concat(i.tsUtils.statement.getEnums(e));return a.default.fromPairs(t.map(e=>{const t=i.tsUtils.type_.getType(this.context.typeChecker,e),r=i.tsUtils.type_.getSymbol(t);return[i.tsUtils.node.getName(e),r]}))})}getInheritedSymbols(e,t=[]){return this.memoized("get-inherited-symbols",i.symbolKey(e),()=>{const r=new Set;for(const s of i.tsUtils.symbol.getDeclarations(e))if(o.default.isInterfaceDeclaration(s)||o.default.isClassDeclaration(s)||o.default.isClassExpression(s)){let e=t[0],n=t.slice(1);if(0===t.length){const t=i.tsUtils.class_.getBaseTypesFlattened(this.context.typeChecker,s);e=t[0],n=t.slice(1)}
1if(void 0!==e){const t=this.context.analysis.getSymbolForType(s,e);void 0!==t&&(r.add(t),this.getInheritedSymbols(t,n).forEach(e=>{r.add(e)}))}}return r})}getAnyTypeSymbol(e){return this.memoized("get-any-type-symbol",e,()=>d(this.getAnyTypeSymbolMaybe(e)))}getAnyTypeSymbolMaybe(e){return this.memoized("get-any-type-symbol-maybe",e,()=>u(this.getFiles().map(t=>this.getTypeSymbolMaybe(e,t))))}getTypeSymbolMaybe(e,t){return this.getTypeSymbols(t)[e]}getTypeSymbols(e){return this.memoized("type-symbols",i.tsUtils.file.getFilePath(e),()=>{const t=i.tsUtils.statement.getTypeAliases(e);return a.default.fromPairs(t.map(e=>{const t=i.tsUtils.type_.getType(this.context.typeChecker,e),r=i.tsUtils.type_.getAliasSymbol(t);return[i.tsUtils.node.getName(e),r]}))})}getFiles(){return this.memoized("file-cache","files",()=>[this.getGlobals(),this.getContract(),this.getTestGlobals()].filter(n.utils.notNull))}getGlobals(){return this.memoized("file-cache","globals",()=>i.tsUtils.file.getSourceFileOrThrow(this.context.program,this.context.host.getSmartContractPath("global.d.ts")))}getContract(){return this.memoized("file-cache","contract",()=>i.tsUtils.file.getSourceFileOrThrow(this.context.program,this.context.host.getSmartContractPath("index.d.ts")))}getTestGlobals(){return this.memoized("file-cache","test",()=>i.tsUtils.file.getSourceFile(this.context.program,this.context.host.getSmartContractPath("harness.d.ts")))}}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SysCallInstanceMemberArray=void 0;const s=r(64);class i extends s.BuiltinInstanceMemberValue{constructor(e,t,r){super(),this.syscall=e,this.valueType=t,this.type=r}emit(e,t,r){e.emitHelper(t,r,e.helpers.unwrapVal({type:this.valueType})),e.emitSysCall(t,this.syscall),e.emitHelper(t,r,e.helpers.wrapArrayVal({type:this.type}))}}t.SysCallInstanceMemberArray=i},function(e,t,r){"use strict";(function(e){Object.defineProperty(t,"__esModule",{value:!0}),t.SmartContractForBase=void 0;const s=r(20),i=r(25),n=r(34),a=r(55),o=r(22),l=r(45);class p extends l.BuiltinMemberCall{emitCall(t,r,l,p){const c=t.pushValueOptions(p),u=t.context.analysis.getType(l);if(void 0===u)return;const d=s.tsUtils.type_.getProperties(u).map(e=>{const r=t.context.analysis.getTypeOfSymbol(e,l);if(void 0===r)return;const i=s.tsUtils.symbol.getName(e);if(n.IGNORED_PROPERTIES.has(i))return;if(n.BUILTIN_PROPERTIES.has(i))return;const a=s.tsUtils.symbol.getValueDeclarationOrThrow(e);if(s.tsUtils.modifier.isStatic(a)||s.tsUtils.modifier.isProtected(a)||s.tsUtils.modifier.isPrivate(a))return;const o=t.context.analysis.extractSignatureForType(a,r,{error:!0});return void 0===o?{paramDecls:[],paramTypes:new Map,returnType:r,prop:a,propName:i,accessor:!0,isReadonly:s.tsUtils.modifier.isReadonly(a)}:Object.assign(Object.assign({},o),{prop:a,propName:i,accessor:!1,isReadonly:!1})}),m=t.scope.addUnique();this.emitInitial(t,r,l,m,c),t.emitHelper(l,c,t.helpers.createObject),d.filter(i.utils.notNull).forEach(({prop:i,propName:n,paramDecls:p,paramTypes:u,returnType:d,accessor:h,isReadonly:f})=>{t.emitOp(i,"DUP"),t.emitPushString(i,n),h&&!f&&(t.emitHelper(i,c,t.helpers.createFunctionArray({body:s=>{const o=t.pushValueOptions(s);t.emitPushInt(i,0),t.emitOp(i,"PICKITEM"),t.emitHelper(i,o,t.helpers.unwrapValRecursive({type:d})),t.emitPushInt(i,1),t.emitOp(i,"PACK"),t.emitPushString(i,a.getSetterName(n));const p=e.from([0,2]);this.emitInvoke(t,r,l,i,m,p,t.noPushValueOptions(o)),t.emitHelper(i,o,t.helpers.wrapUndefined),t.emitHelper(i,o,t.helpers.return)}})),t.emitHelper(i,c,t.helpers.createFunctionObject({property:o.InternalObjectProperty.Call}))),t.emitHelper(i,c,t.helpers.createFunctionArray({body:a=>{const o=t.pushValueOptions(a);h?(t.emitOp(i,"DROP"),t.emitPushInt(i,0),t.emitOp(i,"NEWARRAY")):((e,r,i,n)=>{t.emitHelper(e,n,t.helpers.parameters({params:r,asArgsArr:!0,map:(e,r,n)=>{let a=i.get(e);void 0!==a&&n&&(a=s.tsUtils.type_.getArrayType(a)),t.emitHelper(e,r,t.helpers.unwrapValRecursive({type:a}))}}))})(i,p,u,o),t.emitPushString(i,n);const c=void 0!==d&&s.tsUtils.type_.isVoid(d),f=e.from([c?0:1,2]);this.emitInvoke(t,r,l,i,m,f,o),c?t.emitHelper(i,o,t.helpers.wrapUndefined):t.emitHelper(i,o,t.helpers.wrapValRecursive({type:d}
1)),t.emitHelper(i,o,t.helpers.return)}})),t.emitHelper(i,c,t.helpers.createFunctionObject({property:o.InternalObjectProperty.Call})),h?t.emitHelper(i,c,t.helpers.setAccessorPropertyObjectProperty({hasGet:!0,hasSet:!f})):t.emitHelper(i,c,t.helpers.setDataPropertyObjectProperty)}),this.emitAdditionalProperties(t,r,l,c),p.pushValue||t.emitOp(l,"DROP")}emitInitial(e,t,r,s,i){}emitAdditionalProperties(e,t,r,s){}}t.SmartContractForBase=p}).call(this,r(26).Buffer)},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.BuiltinInstanceMemberStorageProperty=void 0;const s=r(40);t.BuiltinInstanceMemberStorageProperty=class{constructor(e){this.property=e,this.types=new Set([s.BuiltinType.InstanceMemberValue])}emitValue(e,t,r,s=!1){s&&e.emitOp(t,"DROP"),r.setValue&&(e.emitPushString(t,this.property),e.emitHelper(t,r,e.helpers.putCommonStorage)),r.pushValue&&(e.emitPushString(t,this.property),e.emitHelper(t,r,e.helpers.getCommonStorage))}}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.BuiltinInstanceMemberStructuredStorageProperty=void 0;const s=r(22),i=r(40);t.BuiltinInstanceMemberStructuredStorageProperty=class{constructor(e,t){this.type=e,this.property=t,this.types=new Set([i.BuiltinType.InstanceMemberValue])}emitValue(e,t,r,i=!1){i&&e.emitOp(t,"DROP"),r.pushValue&&e.emitHelper(t,r,e.helpers.createStructuredStorage({type:s.getTypeFromStructuredStorageType(this.type),prefix:this.property}))}}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.BuiltinSlotInstanceMemberValue=void 0;const s=r(64);class i extends s.BuiltinInstanceMemberValue{constructor(e,t){super(),this.type=e,this.slot=t}emit(e,t,r){e.emitHelper(t,r,e.helpers.unwrapVal({type:this.type})),e.emitPushInt(t,this.slot),e.emitOp(t,"PICKITEM")}}t.BuiltinSlotInstanceMemberValue=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MapDelete=void 0;const s=r(20),i=r(27);class n extends i.BuiltinInstanceMemberCall{canCall(e,t,r){return 1===s.tsUtils.argumented.getArguments(r).length}emitCall(e,t,r,i,n){const a=e.pushValueOptions(i);n||e.visit(s.tsUtils.expression.getExpression(t),a),s.tsUtils.argumented.getArguments(r).length<1||(e.emitHelper(r,a,e.helpers.unwrapMap),e.visit(s.tsUtils.argumented.getArguments(r)[0],a),e.emitSysCall(r,"Neo.Runtime.Serialize"),e.emitHelper(r,i,e.helpers.mapDelete))}}t.MapDelete=n},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MapHas=void 0;const s=r(20),i=r(27);class n extends i.BuiltinInstanceMemberCall{canCall(e,t,r){return 1===s.tsUtils.argumented.getArguments(r).length}emitCall(e,t,r,i,n){const a=e.pushValueOptions(i);n||e.visit(s.tsUtils.expression.getExpression(t),a),s.tsUtils.argumented.getArguments(r).length<1||(e.emitHelper(r,a,e.helpers.unwrapMap),e.visit(s.tsUtils.argumented.getArguments(r)[0],a),e.emitSysCall(r,"Neo.Runtime.Serialize"),e.emitOp(r,"HASKEY"),e.emitHelper(r,a,e.helpers.wrapBoolean),i.pushValue||e.emitOp(r,"DROP"))}}t.MapHas=n},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MapSize=void 0;const s=r(64);class i extends s.BuiltinInstanceMemberValue{emit(e,t,r){e.emitHelper(t,r,e.helpers.unwrapMap),e.emitOp(t,"ARRAYSIZE"),e.emitHelper(t,r,e.helpers.wrapNumber)}}t.MapSize=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WellKnownSymbolBase=void 0;const s=r(74);class i extends s.BuiltinMemberValue{emit(e,t,r){r.pushValue&&(e.emitPushString(t,this.symbol),e.emitHelper(t,r,e.helpers.wrapSymbol))}}t.WellKnownSymbolBase=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.invokeLogSerialize=void 0;const s=r(22);t.invokeLogSerialize=(e,t,r)=>((e,t,r,s)=>{e.emitPushInt(t,1),e.emitOp(t,"PACK"),e.emitHelper(t,r,e.helpers.getGlobalProperty({property:s})),e.emitHelper(t,r,e.helpers.invokeCall())})(e,t,r,s.GlobalProperty.GenericLogSerialize)},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.HandleSendUnsafeReceiveHelperBase=void 0;const s=r(20),i=r(19),n=r(83);class a extends i.Helper{constructor({method:e,returnType:t,opposite:r}){super(),this.method=e,this.returnType=t,this.opposite=r}emit(e,t,r){const i=e.pushValueOptions(r);e.emitSysCall(t,"System.ExecutionEngine.GetScriptContainer"),e.emitSysCall(t,"Neo.Transaction.GetHash"),e.emitHelper(t,i,e.helpers.isProcessedTransaction),this.opposite||(e.emitSysCall(t,"System.ExecutionEngine.GetScriptContainer"),e.emitSysCall(t,"Neo.Transaction.GetOutputs"),e.emitHelper(t,i,e.helpers.getOutputAssetValueMap),e.emitSysCall(t,"System.ExecutionEngine.GetScriptContainer"),e.emitSysCall(t,"Neo.Transaction.GetReferences"),e.emitHelper(t,i,e.helpers.mergeAssetValueMaps({add:!1})),e.emitHelper(t,r,e.helpers.mapEvery({each:()=>{e.emitOp(t,"DROP"),e.emitPushInt(t,0),e.emitOp(t,this.lessThan?"LT":"GT")}})),e.emitOp(t,"NOT"),e.emitOp(t,"BOOLOR")),e.emitHelper(t,i,e.helpers.if({condition:()=>{},whenTrue:()=>{e.emitPushBoolean(t,!1)},whenFalse:()=>{e.emitPushInt(t,1),e.emitHelper(t,i,e.helpers.getArgument),e.withScope(t,i,r=>{e.emitHelper(t,r,e.helpers.parameters({params:s.tsUtils.parametered.getParameters(this.method),mapParam:n.createWrapParam(e)})),e.emitHelper(t,r,e.helpers.invokeSmartContractMethod({method:this.method})),e.emitHelper(t,r,e.helpers.unwrapValRecursive({type:this.returnType})),e.emitHelper(t,r,e.helpers.setProcessedTransaction)})}}))}}t.HandleSendUnsafeReceiveHelperBase=a},function(e,t,r){"use strict";
1Object.defineProperty(t,"__esModule",{value:!0}),t.IsTransactionHelperBase=void 0;const s=r(22),i=r(19);class n extends i.Helper{emit(e,t,r){const i=e.pushValueOptions(r);e.emitHelper(t,i,e.helpers.createStructuredStorage({prefix:this.prefix,type:s.Types.SetStorage})),e.emitOp(t,"SWAP"),e.emitHelper(t,i,e.helpers.wrapBuffer),e.emitHelper(t,i,e.helpers.hasStructuredStorage({type:s.Types.SetStorage,keyType:void 0,knownKeyType:s.Types.Buffer})),r.pushValue?e.emitHelper(t,i,e.helpers.unwrapBoolean):e.emitOp(t,"DROP")}}t.IsTransactionHelperBase=n},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const s=r(18);s.__exportStar(r(779),t),s.__exportStar(r(780),t),s.__exportStar(r(781),t),s.__exportStar(r(230),t)},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ResolvedScope=void 0;const s=r(18).__importStar(r(34));class i{constructor(e){this.value=e,this.nameBrand=0}}t.ResolvedScope=class{constructor(e,t){this.variableCount=e,this.parent=t,this.mutablePosition=0,this.mutableVariables={},this.uniqueVariables=new Map,void 0===this.parent?(this.addScope=!0,this.scopeCount=1,this.scopeLength=1):(this.addScope=e>0,this.scopeCount=this.addScope?1:0,this.scopeLength=this.parent.scopeLength+this.scopeCount)}add(e){const t=new i(e);if(void 0!==this.mutableVariables[e])return t;if(this.mutableVariables[t.value]=this.mutablePosition,this.mutablePosition+=1,this.mutablePosition>this.variableCount)throw new Error(`Something went wrong. Name: ${e} Position: ${this.mutablePosition} Count: ${this.variableCount}`);return t}addUnique(){const e={nameBrand:0};if(this.uniqueVariables.set(e,this.mutablePosition),this.mutablePosition+=1,this.mutablePosition>this.variableCount)throw new Error(`Something went wrong. Position: ${this.mutablePosition} Count: ${this.variableCount}`);return e}set(e,t,r,s,i=this.scopeLength,n=0){const a=e.pushValueOptions(r),o=this.getPosition(s);void 0===o?void 0!==this.parent&&this.parent.set(e,t,a,s,i,n+this.scopeCount):(this.loadScope(e,t,i,n),e.emitPushInt(t,o),e.emitOp(t,"ROT"),e.emitOp(t,"SETITEM"))}get(e,t,r,s,i=this.scopeLength,n=0){const a=this.getPosition(s);void 0===a?void 0!==this.parent&&this.parent.get(e,t,r,s,i,n+this.scopeCount):(this.loadScope(e,t,i,n),e.emitPushInt(t,a),e.emitOp(t,"PICKITEM"))}getThis(e,t,r){this.loadAll(e,t),e.emitPushInt(t,1),e.emitOp(t,"PICKITEM")}getGlobal(e,t,r){void 0===this.parent?(this.loadAll(e,t),e.emitPushInt(t,2),e.emitOp(t,"PICKITEM")):this.parent.getGlobal(e,t,r)}setGlobal(e,t,r){void 0===this.parent?(this.loadAll(e,t),e.emitOp(t,"TUCK"),e.emitOp(t,"OVER"),e.emitPushInt(t,2),e.emitOp(t,"SWAP"),e.emitOp(t,"SETITEM"),e.emitPushInt(t,1),e.emitOp(t,"SWAP"),e.emitOp(t,"SETITEM")):this.parent.setGlobal(e,t,r)}pushAll(e,t,r){e.emitOp(t,"DUPFROMALTSTACK")}emit(e,t,r,s){this.addScope?this.surround(e,t,r,s):s(r)}surround(e,t,r,i){void 0===this.parent?(e.emitHelper(t,e.pushValueOptions(r),e.helpers.wrapUndefined),e.emitHelper(t,e.pushValueOptions(r),e.helpers.wrapUndefined),e.emitPushInt(t,0),e.emitOp(t,"NEWARRAY"),e.emitPushInt(t,3),e.emitOp(t,"PACK"),e.emitOp(t,"DUP"),e.emitOp(t,"TOALTSTACK")):e.emitOp(t,"DUPFROMALTSTACK"),e.emitPushInt(t,0),e.emitOp(t,"PICKITEM"),e.emitOp(t,"NEWMAP"),e.emitOp(t,"APPEND");const{breakPC:n,continuePC:a,catchPC:o,finallyPC:l}=r,p=void 0!==n||void 0!==a||void 0!==o||void 0!==l;e.withProgramCounter(c=>{let u=r;void 0!==n&&(u=e.breakPCOptions(u,c.getLast())),void 0!==a&&(u=e.continuePCOptions(u,c.getLast())),void 0!==o&&(u=e.catchPCOptions(u,c.getLast())),void 0!==l&&(u=e.finallyPCOptions(u,c.getLast())),i(u),p&&e.emitPushInt(t,s.NORMAL_COMPLETION)}),void 0===this.parent?(e.emitOp(t,"FROMALTSTACK"),e.emitOp(t,"DROP")):(e.emitOp(t,"DUPFROMALTSTACK"),e.emitPushInt(t,0),e.emitOp(t,"PICKITEM"),e.emitOp(t,"DUP"),e.emitOp(t,"ARRAYSIZE"),e.emitOp(t,"DEC"),e.emitOp(t,"REMOVE")),p&&(this.emitNonLocal(e,t,s.BREAK_COMPLETION,n),this.emitNonLocal(e,t,s.CONTINUE_COMPLETION,a),this.emitNonLocal(e,t,s.THROW_COMPLETION,o),this.emitNonLocal(e,t,s.FINALLY_COMPLETION,l),e.emitOp(t,"DROP"))}emitNonLocal(e,t,r,s){void 0!==s&&(e.emitOp(t,"DUP"),e.emitPushInt(t,r),e.emitOp(t,"NUMEQUAL"),e.emitJmp(t,"JMPIF",s))}getPosition(e){return"string"==typeof e?this.mutableVariables[e]:e instanceof i?this.mutableVariables[e.value]:this.uniqueVariables.get(e)}loadScope(e,t,r,s){this.loadAll(e,t),e.emitPushInt(t,0),e.emitOp(t,"PICKITEM"),e.emitPushInt(t,r-s-1),e.emitOp(t,"PICKITEM")}loadAll(e,t){e.emitOp(t,"DUPFROMALTSTACK")}}},,function(e,t,r){"use strict";
1Object.defineProperty(t,"__esModule",{value:!0});const s=r(18);s.__exportStar(r(832),t),s.__exportStar(r(833),t),s.__exportStar(r(834),t),s.__exportStar(r(156),t),s.__exportStar(r(835),t),s.__exportStar(r(108),t),s.__exportStar(r(836),t)},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.KnownProgramCounter=void 0;const s=r(108);class i extends s.ProgramCounter{constructor(e){super(),this.pc=e}plus(e){return new i(this.pc+e)}equals(e){return e instanceof i&&this.pc===e.pc}getPC(){return this.pc}}t.KnownProgramCounter=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ScopeCapturingScriptBuilder=void 0;const s=r(229),i=r(155);class n extends i.BaseScriptBuilder{constructor(){super(...arguments),this.mutableScopes=[],this.resolvedScopes=new Map}process(){super.process(),this.resolveScopes()}getScopes(){return this.resolvedScopes}createScope(e,t,r){const i=new s.CapturingScope(e,t,r);return this.mutableScopes.push(i),i}resolveScopes(){this.mutableScopes.forEach(e=>{this.resolveScope(e)})}resolveScope(e){let t=this.resolvedScopes.get(e.node);void 0===t&&(t=new Map,this.resolvedScopes.set(e.node,t));let r=t.get(e.index);if(void 0===r){const s=e.parent;r=void 0===s?e.resolve():e.resolve(this.resolveScope(s)),t.set(e.index,r)}return r}}t.ScopeCapturingScriptBuilder=n},function(e,t,r){"use strict";r.d(t,"a",(function(){return s})),r.d(t,"b",(function(){return i}));const s="/",i=!0},,,function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const s=r(18);s.__exportStar(r(889),t),s.__exportStar(r(239),t)},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getABIName=void 0;const s=r(46);t.getABIName=e=>s.lowerCaseFirst(e)+"ABI"},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.normalizePath=void 0;const s=/\\/g;t.normalizePath=function(e){return e.replace(s,"/")}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getSingleEventName=void 0;const s=r(25),i=r(46);t.getSingleEventName=(e,t)=>`${e}${s.upperCaseFirst(i.sanitizeName(t))}Event`},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.genSmartContractBase=void 0;const s=r(18),i=r(84),n=s.__importDefault(r(29)),a=r(898),o=r(899),l=r(900),p=r(901),c=r(87);t.genSmartContractBase=(e,t,r,s=!1)=>{const u=`<TClient extends Client = Client> extends SmartContract<TClient, ${c.getEventName(e)}>`;return`\nexport interface ${t}${s?"":u} {\n ${n.default.flatten(n.default.sortBy(r.functions,[e=>e.name]).map(t=>{const r=(void 0===t.parameters?[]:t.parameters).filter(e=>e.forwardedValue);let n=[`readonly ${t.name}: ${t.constant?a.genConstantFunction(t,{migration:s}):p.genFunction(e,t,{migration:s})}`];return r.length>0&&(n=n.concat([`readonly ${i.createForwardedValueFuncArgsName(t)}: ${o.genForwardArgsFunction(e,t,r,{migration:s})}`])),t.returnType.forwardedValue&&(n=n.concat([`readonly ${i.createForwardedValueFuncReturnName(t)}: ${l.genForwardReturnFunction(e,t)}`])),n})).join("\n ")}\n}\n`}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getMigrationSmartContractName=void 0,t.getMigrationSmartContractName=e=>e+"MigrationSmartContract"},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getSmartContractName=void 0,t.getSmartContractName=e=>e+"SmartContract"},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getCreateSmartContractName=void 0;const s=r(114);t.getCreateSmartContractName=e=>"create"+s.getSmartContractName(e)},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),r(18).__exportStar(r(905),t)},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),r(18).__exportStar(r(909),t)},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),r(18).__exportStar(r(911),t)},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),r(18).__exportStar(r(912),t)},function(e,t,r){"use strict";
1Object.defineProperty(t,"__esModule",{value:!0}),r(18).__exportStar(r(913),t)},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),r(18).__exportStar(r(914),t)},function(e,t){},function(e,t,r){"use strict";var s=r(254);r.d(t,"a",(function(){return s.a}))},function(e,t,r){"use strict";r.d(t,"a",(function(){return d}));r(50);var s=r(1217),i=r(93),n=r(279),a=r.n(n),o=r(71),l=r.n(o);const p=e=>{const t=null==e.status?500:e.status;return"Error"!==e.name&&"TypeError"!==e.name||(e.name=-1!==e.message.indexOf("Bad special document member")?"doc_validation":"bad_request"),{error:e.name,name:e.name,reason:e.message,message:e.message,status:t}},c=new Map,u=new Map;function d(e,t){const r=i.b.getEndpoint(e),n=new Map,o=new Set,m=e=>{const t=u.get(e);return void 0===t?0:t},h=e=>{if(e.data&&e.data.type&&e.data.instanceID&&e.data.messageID&&e.data.args&&"construct"===e.data.type){const r=e.data,{instanceID:n}=e.data,[d,f]=r.args.slice(1);let y=c.get(d);void 0===y&&(y=t(d,f),c.set(d,y));const g=y;u.set(d,m(d)+1);const O=new Map,S=new Map,b=new Map,P=new Map,v=e=>{const t=S.get(e);return void 0===t?0:t},C=e.ports[0],x=(e,t,r={})=>{const s={type:e,messageID:t,instanceID:n,result:r};C.postMessage(s,i.a.transferableProperties([s]))},T=(e,t={})=>{x("success",e,t)},_=(e,t)=>
1{x("error",e,p(t))},H=async(e,t,r)=>{try{const s=await g[e](...t);T(r,s)}catch(e){_(r,e)}},w=e=>{u.set(d,m(d)-1),g.removeListener("error",D),b.forEach((e,t)=>{A(t)}),0===m(d)?(c.delete(d),u.delete(d),g.close().then(()=>{void 0!==e&&T(e)}).catch(t=>{void 0!==e&&_(e,t)})):void 0!==e&&T(e),C.removeEventListener("message",h),C.close(),o.delete(w)};o.add(w);const I=e=>{if(0===v(e)){const t=O.get(e);void 0!==t&&(t.removeAllListeners(),t.cancel()),O.delete(e),S.delete(e)}},A=e=>{const t=P.get(e),r=b.get(e);void 0!==t&&void 0!==r&&(r(),S.set(t,v(t)-1),I(t),P.delete(e),b.delete(e))},E=(e,t)=>{const r=e[0],s=l()(r);let i=O.get(s);void 0===i&&(i=g.changes(r),O.set(s,i));const n=i;S.set(s,v(s)+1);const a=e=>{x("update",t,e)},o=e=>{T(t,e),A(t)},p=e=>{_(t,e),A(t)};b.set(t,()=>{n.removeListener("change",a),n.removeListener("complete",o),n.removeListener("error",p)}),P.set(t,s),n.on("change",a),n.on("complete",o),n.on("error",p)},M=e=>{A(e),T(e)},U=e=>{const t=e.data;switch(t.type){case"post":case"put":case"putAttachment":case"removeAttachment":case"remove":case"revsDiff":case"compact":case"bulkGet":case"get":case"getAttachment":case"allDocs":case"info":case"id":case"bulkDocs":case"destroy":case"changes":H(t.type,t.args,t.messageID).catch(()=>{});break;case"close":w(t.messageID);break;case"liveChanges":E(t.args,t.messageID);break;case"cancelChanges":M(t.messageID);break;case"construct":break;default:s.a.assertNever(t.type)}},D=e=>{x("uncaughtError",a()(),p(e))};C.addEventListener("message",U),C.start(),g.on("error",D),x("success",r.messageID)}else if(e.data&&e.data.id&&"listen"===e.data.type)n.set(e.data.id,d(e.ports[0],t));else if(e.data&&e.data.id&&"dispose"===e.data.type){const t=n.get(e.data.id);void 0!==t&&(t.dispose(),n.delete(e.data.id))}};return r.addEventListener("message",h),i.b.activate(r),{dispose:()=>{r.removeEventListener("message",h),n.forEach(e=>{e.dispose()}),o.forEach(e=>{e()}),r.close()}}}},function(e,t){},function(e,t){},,,,,,,,,,,,,,,,,,,,,function(e,t,r){"use strict";var s=r(181);r.o(s,"Builder")&&r.d(t,"Builder",(function(){return s.Builder})),r.o(s,"createPouchDBFileSystem")&&r.d(t,"createPouchDBFileSystem",(function(){return s.createPouchDBFileSystem})),r.o(s,"normalizePath")&&r.d(t,"normalizePath",(function(){return s.normalizePath})),r.o(s,"registerWorkerPouch")&&r.d(t,"registerWorkerPouch",(function(){return s.registerWorkerPouch}));var i=r(164);r.o(i,"Builder")&&r.d(t,"Builder",(function(){return i.Builder})),r.o(i,"createPouchDBFileSystem")&&r.d(t,"createPouchDBFileSystem",(function(){return i.createPouchDBFileSystem})),r.o(i,"normalizePath")&&r.d(t,"normalizePath",(function(){return i.normalizePath})),r.o(i,"registerWorkerPouch")&&r.d(t,"registerWorkerPouch",(function(){return i.registerWorkerPouch}));var n=r(256);r.o(n,"Builder")&&r.d(t,"Builder",(function(){return n.Builder})),r.o(n,"createPouchDBFileSystem")&&r.d(t,"createPouchDBFileSystem",(function(){return n.createPouchDBFileSystem})),r.o(n,"normalizePath")&&r.d(t,"normalizePath",(function(){return n.normalizePath})),r.o(n,"registerWorkerPouch")&&r.d(t,"registerWorkerPouch",(function(){return n.registerWorkerPouch}))},,,,,,,,,,,,,,,,,,,,,,,,,,function(e,t,r){"use strict";r.d(t,"a",(function(){return c}));r(50);var s=r(18),i=r(1217),n=r(93),a=r(279),o=r.n(a),l=r(1015);const p=e=>{const t=new Error;return Object.entries(e).forEach(([e,r])=>{t[e]=r}),t};function c(e,t){var{endpoint:r,adapter:a}=e,c=Object(s.__rest)(e,["endpoint","adapter"]);const u=this,d=o()(),{port1:m,port2:h}=new MessageChannel,f=new Map,y=new Map;function g(e){e.data&&e.data.instanceID===d&&function(e){if("uncaughtError"===e.type)return void u.emit("error",p(e.result));const t=f.get(e.messageID);if(void 0!==t)switch(e.type){case"error":f.delete(e.messageID),t(p(e.result));break;case"success":f.delete(e.messageID),t(void 0,e.result);break;case"update":const r=y.get(e.messageID);void 0!==r&&r(e.result);break;default:i.a.assertNever(e.type)}}(e.data)}m.addEventListener("message",g),m.start();let O=!1;function S(e,t,r,s=o()(),i=m){if(u._destroyed)r(new Error(`${u.name} db was destroyed: ${e}`));else{if(!O)return"close"===e&&(O=!0),f.set(s,r),function(e,t=m){t.postMessage(e,n.a.transferableProperties([e]))}({type:e,instanceID:d,messageID:s,args:t},i),s;r(new Error(`${u.name} db was closed: ${e}`))}}u._remote=!1;const b=(e,t)=>(...r)=>{const s=r.slice(0,-1);S(e,s,r[r.length-1]),t&&t(s)},P=(e,t)=>Object(l.a)(e,b(e,t));u.post=P("post"),u.put=P("put"),u.putAttachment=P("putAttachment"),u.removeAttachment=P("removeAttachment"),u.remove=P("remove"),u.revsDiff=P("revsDiff"),u.bulkGet=P("bulkGet"),u.compact=P("compact"),u.get=P("get"),u.getAttachment=P("getAttachment"),u.allDocs=P("allDocs"),u._close=b("close",()=>{m.removeEventListener("message",g),m.close()}),u.info=P("info"),u.id=P("id"),u.type=()=>
1"worker",u.bulkDocs=P("bulkDocs"),u.destroy=P("destroy",()=>{u._destroyed=!0,u.emit("destroyed")}),u._changes=e=>{const{complete:t,onChange:r,processChange:i}=e,n=Object(s.__rest)(e,["complete","onChange","processChange"]);if(n.continuous){const e=S("liveChanges",[n],t);if(void 0===e)return;return y.set(e,r),{cancel(){S("cancelChanges",[],t,e),y.delete(e)}}}S("changes",[n],(e,s)=>{e?t(e):(s.results.forEach(e=>{r(e)}),!1!==n.returnDocs&&!1!==n.return_docs||(s.results=[]),t(void 0,s))})};const v=n.b.getEndpoint(r());v.addEventListener("message",g),n.b.activate(v),S("construct",[h,u.name,c],e=>{e?t(e):t(void 0,u),v.removeEventListener("message",g)},o()(),v)}c.valid=()=>!0,c.use_prefix=!1},,,,,,function(e,t,r){"use strict";r.d(t,"a",(function(){return i})),r.d(t,"b",(function(){return n}));const s=(e,t)=>(e.code=t,e),i=e=>{const t=new Error("no such file or directory: "+e);return s(t,"ENOENT")},n=e=>{const t=new Error("not a directory: "+e);return s(t,"ENOTDIR")}},function(e,t,r){"use strict";r.d(t,"a",(function(){return i}));r(50);var s=r(1224);class i{constructor(e){this.batchWriteFunc=e,this.mutableResolvers=[],this.mutableQueued=new Map}async write(e,t){return this.mutableQueued.set(e,t),new Promise((t,r)=>{this.mutableResolvers.push({key:e,resolve:t,reject:r}),1===this.mutableResolvers.length&&Object(s.a)(()=>{const e=this.mutableResolvers,t=this.mutableQueued;this.mutableResolvers=[],this.mutableQueued=new Map,this.batchWriteFunc(t).then(t=>{e.forEach(({key:e,resolve:r})=>{r(t.get(e))})}).catch(t=>{e.forEach(({reject:e})=>{e(t)})})})})}}},,function(e,t,r){"use strict";r.d(t,"a",(function(){return a}));var s=r(176),i=r(111),n=r(110);const a=async e=>Object(s.scan)(n.a,Object(i.a)({fs:e}))},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.compileContract=t.getSemanticDiagnostics=void 0;const s=r(314),i=r(870),n=r(55);t.getSemanticDiagnostics=(e,t,r)=>i.getSemanticDiagnostics({filePath:e,languageService:t,host:r}),t.compileContract=(e,t,r,i={},a=!1)=>{const o=s.compileContract({filePath:e,host:r,linked:i});return n.throwOnDiagnosticErrorOrWarning(o.diagnostics,a,"Error while compiling "+t),o}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.compileContract=void 0;const s=r(18),i=r(20),n=r(25),a=s.__importDefault(r(29)),o=r(194),l=r(109),p=r(866);t.compileContract=({filePath:e,host:t,linked:r={}})=>{const s=n.normalizePath(e),c=a.default.fromPairs(Object.entries(r).map(([e,t])=>[n.normalizePath(e),t])),u=l.createContextForPath(s,t),d=p.transpile({sourceFile:i.tsUtils.file.getSourceFileOrThrow(u.program,s),context:u}),m=void 0===d?u:l.updateContext(u,{[s]:d.text}),{abi:h,sourceMap:f,contract:y,debugInfo:g}=o.compile({sourceFile:i.tsUtils.file.getSourceFileOrThrow(m.program,s),context:m,linked:c,sourceMaps:void 0===d?{}:{[s]:d.sourceMap}});return{diagnostics:m.diagnostics,sourceMap:f,abi:h,contract:y,debugInfo:g}}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getSetAccessor=t.getGetAccessor=void 0;const s=r(18),i=s.__importDefault(r(21)),n=r(70),a=s.__importStar(r(188)),o=s.__importStar(r(51)),l=s.__importStar(r(192));function p(e){const t=o.getParent(e),r=e.kind===i.default.SyntaxKind.GetAccessor?i.default.SyntaxKind.SetAccessor:i.default.SyntaxKind.GetAccessor,s=o.getName(e);let p;p=i.default.isClassDeclaration(t)||i.default.isClassExpression(t)?n.modifier.isStatic(e)?a.getConcreteStaticProperties(t):a.getConcreteInstanceProperties(t):l.getProperties(t);for(const e of p)if(e.kind===r&&o.getName(e)===s)return e}t.getGetAccessor=function(e){return p(e)},t.getSetAccessor=function(e){return p(e)}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getTypeArgumentsArray=t.getTypeArguments=t.getArgumentsArray=t.getArguments=void 0;const s=r(18).__importStar(r(36));function i(e){return s.getValueOrUndefined(e.typeArguments)}t.getArguments=function(e){return e.arguments},t.getArgumentsArray=function(e){return s.getArray(e.arguments)},t.getTypeArguments=i,t.getTypeArgumentsArray=function(e){return s.getArray(i(e))}},function(e,t,r){"use strict";
1Object.defineProperty(t,"__esModule",{value:!0}),t.getDecoratorsArray=t.getDecorators=void 0;const s=r(18).__importStar(r(36));function i(e){return s.getValueOrUndefined(e.decorators)}t.getDecorators=i,t.getDecoratorsArray=function(e){return s.getArray(i(e))}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isImplements=t.isExtends=t.getToken=t.getTypeNodes=t.getHeritageClauseByKindOrThrow=t.getHeritageClauseByKind=t.getHeritageClauses=void 0;const s=r(18),i=s.__importDefault(r(21)),n=s.__importStar(r(36)),a=r(187);function o(e){const t=n.getValueOrUndefined(e.heritageClauses);return void 0===t?[]:t}function l(e,t){return o(e).find(e=>e.token===t)}function p(e){return e.token}t.getHeritageClauses=o,t.getHeritageClauseByKind=l,t.getHeritageClauseByKindOrThrow=function(e,t){return n.throwIfNullOrUndefined(l(e,t),"heritage clause of kind "+a.getSyntaxKindName(t))},t.getTypeNodes=function(e){const t=n.getValueOrUndefined(e.types);return void 0===t?[]:t},t.getToken=p,t.isExtends=function(e){return p(e)===i.default.SyntaxKind.ExtendsKeyword},t.isImplements=function(e){return p(e)===i.default.SyntaxKind.ImplementsKeyword}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.hasInitializer=t.getInitializerOrThrow=t.getInitializer=void 0;const s=r(18).__importStar(r(36));function i(e){return s.getValueOrUndefined(e.initializer)}t.getInitializer=i,t.getInitializerOrThrow=function(e){return s.throwIfNullOrUndefined(i(e),"initializer")},t.hasInitializer=function(e){return void 0!==i(e)}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.hasDeclareKeyword=t.getDeclareKeyword=t.isDefaultExport=t.isNamedExport=t.hasDefaultKeyword=t.getDefaultKeyword=t.hasExportKeyword=t.getExportKeyword=t.isStatic=t.getStaticKeyword=t.isReadonly=t.getReadonlyKeyword=t.isPrivate=t.getPrivateKeyword=t.isProtected=t.getProtectedKeyword=t.isPublic=t.getPublicKeyword=t.isConst=t.getConstKeyword=t.isAbstract=t.getAbstractKeyword=t.getFirstModifierByKind=t.getModifiers=void 0;const s=r(18),i=s.__importDefault(r(21)),n=s.__importStar(r(36));function a(e){const t=n.getValueOrUndefined(e.modifiers);return void 0===t?[]:t}function o(e,t){const r=a(e).find(e=>e.kind===t);return void 0!==r?r:e.getChildren().find(e=>e.kind===t)}function l(e){return o(e,i.default.SyntaxKind.AbstractKeyword)}function p(e){return o(e,i.default.SyntaxKind.ConstKeyword)}function c(e){return o(e,i.default.SyntaxKind.PublicKeyword)}function u(e){return o(e,i.default.SyntaxKind.ProtectedKeyword)}function d(e){return o(e,i.default.SyntaxKind.PrivateKeyword)}function m(e){return o(e,i.default.SyntaxKind.ReadonlyKeyword)}function h(e){return o(e,i.default.SyntaxKind.StaticKeyword)}function f(e){return o(e,i.default.SyntaxKind.ExportKeyword)}function y(e){return void 0!==f(e)}function g(e){return o(e,i.default.SyntaxKind.DefaultKeyword)}function O(e){return void 0!==g(e)}function S(e){return o(e,i.default.SyntaxKind.DeclareKeyword)}t.getModifiers=a,t.getFirstModifierByKind=o,t.getAbstractKeyword=l,t.isAbstract=function(e){return void 0!==l(e)},t.getConstKeyword=p,t.isConst=function(e){return void 0!==p(e)},t.getPublicKeyword=c,t.isPublic=function(e){return void 0!==c(e)},t.getProtectedKeyword=u,t.isProtected=function(e){return void 0!==u(e)},t.getPrivateKeyword=d,t.isPrivate=function(e){return void 0!==d(e)},t.getReadonlyKeyword=m,t.isReadonly=function(e){return void 0!==m(e)},t.getStaticKeyword=h,t.isStatic=function(e){return void 0!==h(e)},t.getExportKeyword=f,t.hasExportKeyword=y,t.getDefaultKeyword=g,t.hasDefaultKeyword=O,t.isNamedExport=function(e){const t=n.getValueOrUndefined(e.parent);return void 0!==t&&i.default.isSourceFile(t)&&y(e)&&!O(e)},t.isDefaultExport=function(e){return y(e)&&O(e)},t.getDeclareKeyword=S,t.hasDeclareKeyword=function(e){return void 0!==S(e)}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isOverload=t.isImplementation=void 0;const s=r(18).__importStar(r(186));function i(e){return void 0!==s.getBody(e)}t.isImplementation=i,t.isOverload=function(e){return!i(e)}},function(e,t,r){"use strict";
1Object.defineProperty(t,"__esModule",{value:!0}),t.getParameterOrThrow=t.getParameter=t.getParameters=void 0;const s=r(18),i=s.__importStar(r(51)),n=s.__importStar(r(36));function a(e){return e.parameters}function o(e,t){return a(e).find(e=>i.getName(e)===t)}t.getParameters=a,t.getParameter=o,t.getParameterOrThrow=function(e,t){return n.throwIfNullOrUndefined(o(e,t),"parameter")}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getNamedExports=void 0;const s=r(18),i=s.__importDefault(r(21)),n=s.__importStar(r(36));t.getNamedExports=function(e){const t=n.getValueOrUndefined(e.exportClause);if(void 0===t)return[];const r=i.default.isNamedExports(t)?n.getValueOrUndefined(t.elements):void 0;return void 0===r?[]:r}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getLocalTargetDeclarations=t.getLocalTargetSymbol=void 0;const s=r(18),i=s.__importStar(r(79)),n=s.__importStar(r(36));function a(e,t){return n.getValueOrUndefined(e.getExportSpecifierLocalTargetSymbol(t))}t.getLocalTargetSymbol=a,t.getLocalTargetDeclarations=function(e,t){const r=a(e,t);return void 0===r?[]:i.getDeclarations(r)}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getOperator=t.getOperand=t.getWhenFalse=t.getWhenTrue=t.getCondition=t.getArgumentExpressionOrThrow=t.getArgumentExpression=t.getArguments=t.getRight=t.getOperatorToken=t.getLeft=t.getElements=t.getExpressionForCall=t.getExpression=void 0;const s=r(18),i=s.__importDefault(r(21)),n=s.__importStar(r(36));function a(e){return n.getValueOrUndefined(e.expression)}function o(e){return n.getValueOrUndefined(e.argumentExpression)}t.getExpression=a,t.getExpressionForCall=function(e){return i.default.isCallExpression(e)||i.default.isNewExpression(e)||i.default.isDecorator(e)?a(e):i.default.isJsxSelfClosingElement(e)||i.default.isJsxOpeningElement(e)?e.tagName:e.tag},t.getElements=function(e){const t=n.getValueOrUndefined(e.elements);return void 0===t?[]:t},t.getLeft=function(e){return e.left},t.getOperatorToken=function(e){return e.operatorToken},t.getRight=function(e){return e.right},t.getArguments=function(e){return e.arguments},t.getArgumentExpression=o,t.getArgumentExpressionOrThrow=function(e){return n.throwIfNullOrUndefined(o(e),"argument")},t.getCondition=function(e){return e.condition},t.getWhenTrue=function(e){return e.whenTrue},t.getWhenFalse=function(e){return e.whenFalse},t.getOperand=function(e){return e.operand},t.getOperator=function(e){return e.operator}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isUndefined=void 0;const s=r(18).__importDefault(r(21));t.isUndefined=function(e){return e.originalKeywordKind===s.default.SyntaxKind.UndefinedKeyword}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getImportNameNode=t.hasLocalValueReferences=t.hasValueReference=t.isExportEquals=t.getModuleSpecifierSourceFileOrThrow=t.getModuleSpecifierSourceFile=t.getModuleSpecifierSymbol=t.getModuleSpecifier=t.getAliasName=t.getAliasNode=void 0;const s=r(18),i=s.__importDefault(r(21)),n=s.__importStar(r(193)),a=s.__importStar(r(51)),o=s.__importStar(r(131)),l=s.__importStar(r(79)),p=s.__importStar(r(36));function c(e){return p.getValueOrUndefined(e.propertyName)}function u(e){const t=p.getValueOrUndefined(e.moduleSpecifier);if(void 0!==t&&i.default.isStringLiteral(t))return t}function d(e,t){const r=u(t);if(void 0!==r)return a.getSymbol(e,r)}function m(e,t){const r=d(e,t);if(void 0===r)return;const s=l.getDeclarations(r).filter(i.default.isSourceFile);return 0===s.length?void 0:s[0]}function h(e,t,r,s){return o.findReferencesAsNodes(e,t,s).some(e=>a.getSourceFile(e)===r&&void 0===a.getFirstAncestorByTest(e,i.default.isImportDeclaration)&&!a.isPartOfTypeNode(e))}function f(e){const t=a.getPropertyNameNode(e);return void 0===t?e:t}t.getAliasNode=c,t.getAliasName=function(e){const t=c(e);return void 0===t?t:t.getText()},t.getModuleSpecifier=u,t.getModuleSpecifierSymbol=d,t.getModuleSpecifierSourceFile=m,t.getModuleSpecifierSourceFileOrThrow=function(e,t){return p.throwIfNullOrUndefined(m(e,t),"source file")},t.isExportEquals=function(e){return!!e.isExportEquals},t.hasValueReference=function(e,t,r){const s=a.getSourceFile(r),i=n.getNamespaceImport(r);if(void 0!==i&&h(e,t,s,i))return!0;const o=n.getDefaultImport(r);return!(void 0===o||!h(e,t,s,o))||n.getNamedImports(r).some(r=>h(e,t,s,f(r)))},t.hasLocalValueReferences=h,t.getImportNameNode=f},function(e,t,r){"use strict";
1Object.defineProperty(t,"__esModule",{value:!0}),t.getLiteralValue=void 0;const s=r(18).__importDefault(r(21)),i=r(51);t.getLiteralValue=function(e){if(s.default.isStringLiteral(e))return e.text;if(s.default.isNumericLiteral(e))return parseInt(e.text,10);if(s.default.isLiteralExpression(e)||s.default.isTemplateHead(e)||s.default.isTemplateMiddle(e)||s.default.isTemplateTail(e))return e.text;if(s.default.isPrivateIdentifier(e))return i.getText(e);throw new Error("Never")}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isOptional=t.isRestParameter=t.getDotDotDotToken=t.getQuestionToken=void 0;const s=r(18),i=r(70),n=s.__importStar(r(36));function a(e){return n.getValueOrUndefined(e.questionToken)}function o(e){return n.getValueOrUndefined(e.dotDotDotToken)}function l(e){return void 0!==o(e)}t.getQuestionToken=a,t.getDotDotDotToken=o,t.isRestParameter=l,t.isOptional=function(e){return void 0!==a(e)||l(e)||i.initializer.hasInitializer(e)}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.setOriginalRecursive=t.isOriginal=t.setOriginal=t.markOriginal=t.printBundle=void 0;const s=r(18),i=s.__importDefault(r(21)),n=s.__importStar(r(132));t.printBundle=(e,t,r)=>{const s=e,a=i.default,o={getPrependNodes:()=>[],getCanonicalFileName:e=>i.default.sys.useCaseSensitiveFileNames?e:e.toLowerCase(),getCommonSourceDirectory:s.getCommonSourceDirectory,getCompilerOptions:s.getCompilerOptions,getCurrentDirectory:s.getCurrentDirectory,getNewLine:()=>i.default.sys.newLine,getSourceFile:s.getSourceFile,getSourceFileByPath:s.getSourceFileByPath,getSourceFiles:s.getSourceFiles,isSourceFileFromExternalLibrary:s.isSourceFileFromExternalLibrary,writeFile:i.default.sys.writeFile,readFile:i.default.sys.readFile,fileExists:i.default.sys.fileExists,directoryExists:i.default.sys.directoryExists},l=a.createTextWriter(i.default.sys.newLine),p=a.createSourceMapGenerator(o,"foo.ts",s.getCurrentDirectory(),s.getCurrentDirectory(),{});a.createPrinter(Object.assign(Object.assign({},s.getCompilerOptions()),{outFile:"foo.ts"}),{substituteNode:r}).writeBundle(i.default.createBundle(t),l,p);const c=p.toJSON();return{text:l.getText(),sourceMap:Object.assign(Object.assign({},c),{sourcesContent:c.sources.map(e=>{const r=t.find(t=>n.getFilePath(t).endsWith(e));return void 0===r?"":n.getText(r)})})}},t.markOriginal=e=>(e.__originalSet=!0,i.default.setSourceMapRange(e,n.createSourceMapRange(e))),t.setOriginal=(e,t)=>{if(!e.__originalSet){const r=i.default.moveSyntheticComments(i.default.setSourceMapRange(i.default.setOriginalNode(e,t),n.createSourceMapRange(t)),t);return e.__originalSet=!0,r}return e},t.isOriginal=e=>!e.__originalSet;const a={getCompilerOptions:()=>({}),startLexicalEnvironment:()=>{},suspendLexicalEnvironment:()=>{},resumeLexicalEnvironment:()=>{},endLexicalEnvironment:()=>{},hoistFunctionDeclaration:()=>{},hoistVariableDeclaration:()=>{},requestEmitHelper:()=>{},readEmitHelpers:()=>{},enableSubstitution:()=>{},isSubstitutionEnabled:()=>!1,onSubstituteNode:(e,t)=>t,enableEmitNotification:()=>{},isEmitNotificationEnabled:()=>!1,onEmitNode:(e,t,r)=>{r(e,t)}};t.setOriginalRecursive=(e,r)=>{const s=new Set;return function e(n){if(s.has(n))return n;s.add(n);const o=t.setOriginal(n,r);return i.default.visitEachChild(o,e,a)}(e)}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getDeclaration=t.isFailure=t.getReturnType=t.getParameters=void 0;const s=r(18).__importStar(r(133));t.getParameters=function(e){return e.parameters},t.getReturnType=function(e){return e.getReturnType()},t.isFailure=function(e){const t=e;return void 0===t.declaration&&void 0===t.typeParameters&&void 0===t.thisParameter&&0===t.parameters.length&&(void 0===t.resolvedReturnType||s.isAny(t.resolvedReturnType))&&void 0===t.resolvedTypePredicate&&0===t.minArgumentCount&&!t.hasRestParameter&&!t.hasLiteralTypes},t.getDeclaration=function(e){return e.getDeclaration()}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getTemplate=t.getTag=t.getLiteral=t.getTemplateSpans=t.getTemplateHead=void 0,t.getTemplateHead=function(e){return e.head},t.getTemplateSpans=function(e){return e.templateSpans},t.getLiteral=function(e){return e.literal},t.getTag=function(e){return e.tag},t.getTemplate=function(e){return e.template}},function(e,t,r){"use strict";
1Object.defineProperty(t,"__esModule",{value:!0}),t.getArrayType=void 0,t.getArrayType=function(e){const t=e,r=t.createArrayType(t.getAnyType()).symbol;return e.getDeclaredTypeOfSymbol(r)}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.symbolKey=void 0;let s=0;t.symbolKey=e=>""+(e=>{const t=e;if(null==t.id&&void 0===t.__id){s+=1;const e="c"+s;return t.__id=e,e}return t.id||t.__id})(e)},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.compile=t.compileForDiagnostics=void 0;const s=r(336),i=r(587),n=r(777);t.compileForDiagnostics=({context:e,sourceFile:t})=>{const r=i.createHelpers(),{contractInfo:a}=s.getSmartContractInfo(e,t);new n.DiagnosticScriptBuilder(e,r,t,a).process()},t.compile=({context:e,sourceFile:t,linked:r={},sourceMaps:a={}})=>{const o=i.createHelpers(),{contractInfo:l,abi:p,contract:c,debugInfo:u}=s.getSmartContractInfo(e,t),d=new n.HelperCapturingScriptBuilder(e,i.createHelpers(o),t,l,r);d.process();const m=new n.ScopeCapturingScriptBuilder(e,i.createHelpers(o),t,l,r,d.getHelpers());m.process();const h=new n.EmittingScriptBuilder({context:e,scopes:m.getScopes(),sourceFile:t,helpers:i.createHelpers(o),linked:r,allHelpers:d.getHelpers(),contractInfo:l});h.process();const f=h.getFinalResult(a);return{contract:Object.assign(Object.assign({script:f.code.toString("hex")},c),f.features),abi:p,context:e,debugInfo:u,sourceMap:f.sourceMap}}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getSmartContractInfo=void 0;const s=r(18),i=r(20),n=r(25),a=s.__importDefault(r(21)),o=r(34),l=r(337),p=r(32),c=r(33),u=r(56),d=["String","Array"],m=(e,t,r)=>{const s=e.analysis.getSymbol(t.smartContract);if(void 0===s)return;void 0!==r&&e.builtins.addOverride(s,r);const i=t.superSmartContract;void 0!==i&&m(e,i,s)};t.getSmartContractInfo=(e,t)=>{const r=((e,t)=>{const r=i.tsUtils.statement.getStatements(t).filter(a.default.isClassDeclaration).filter(e=>i.tsUtils.modifier.isNamedExport(e)).filter(t=>e.analysis.isSmartContract(t));if(0!==r.length)return 1===r.length||e.reportError(r[1],p.DiagnosticCode.InvalidContract,c.DiagnosticMessage.InvalidContractMultipleInFile),r[0]})(e,t),s=void 0===r?void 0:l.getContractInfo(e,r),h=void 0===r?o.DEFAULT_CONTRACT_PROPERTIES:l.getContractProperties(e,r),f=void 0===s||s.propInfos.some(e=>"function"===e.type&&e.receive);return void 0!==s?(((e,t)=>{const r=new Map;l.getAllPropInfos(t).forEach(t=>{const s=e.analysis.getSymbol(t.classDecl);if(void 0!==s&&"deploy"!==t.type&&"refundAssets"!==t.type&&"upgrade"!==t.type&&"completeSend"!==t.type){const o=t.symbol;switch(t.type){case"function":a.default.isPropertyDeclaration(t.decl)?e.builtins.addMember(s,o,new u.BuiltinInstanceMemberCallableProperty(t.decl)):e.builtins.addMember(s,o,new u.BuiltinInstanceMemberMethod(t.decl));break;case"accessor":e.builtins.addMember(s,o,new u.BuiltinInstanceMemberAccessor(void 0===t.getter?void 0:t.getter.decl,void 0===t.setter?void 0:t.setter.decl));break;case"property":void 0===t.structuredStorageType?e.builtins.addMember(s,o,new u.BuiltinInstanceMemberStorageProperty(t.name)):e.builtins.addMember(s,o,new u.BuiltinInstanceMemberStructuredStorageProperty(t.structuredStorageType,t.name));break;default:throw n.utils.assertNever(t),new Error("For TS")}const l=i.tsUtils.symbol.getName(o),p=r.get(l);void 0===p?r.set(l,o):e.builtins.addOverride(o,p)}}),m(e,t)})(e,s),{contractInfo:s,abi:l.getABI(e,s),debugInfo:l.getDebugInfo(e,s),contract:Object.assign(Object.assign({parameters:d,returnType:"Buffer"},h),{storage:!0,dynamicInvoke:!0,payable:f})}):{contractInfo:s,abi:{functions:[],events:[]},debugInfo:{entrypoint:"",documents:[],methods:[],events:[]},contract:Object.assign(Object.assign({parameters:d,returnType:"Buffer"},h),{storage:!0,dynamicInvoke:!0,payable:f})}}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const s=r(18);s.__exportStar(r(338),t),s.__exportStar(r(465),t),s.__exportStar(r(466),t),s.__exportStar(r(467),t),s.__exportStar(r(468),t),s.__exportStar(r(213),t),s.__exportStar(r(214),t)},function(e,t,r){"use strict";
1Object.defineProperty(t,"__esModule",{value:!0}),t.getABI=void 0;const s=r(339);t.getABI=(e,t)=>new s.ABISmartContractProcessor(e,t).process()},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ABISmartContractProcessor=void 0;const s=r(18),i=r(20),n=r(25),a=s.__importDefault(r(29)),o=s.__importDefault(r(21)),l=r(134),p=r(32),c=r(33),u=r(55),d={type:"Boolean"},m={type:"Void"};t.ABISmartContractProcessor=class{constructor(e,t){this.context=e,this.contractInfo=t}process(){return{functions:this.processFunctions(),events:this.processEvents()}}processFunctions(){const e=this.findDeployInfo(),t=this.contractInfo.propInfos.filter(e=>e.isPublic&&"deploy"!==e.type).concat([e].filter(n.utils.notNull));return a.default.flatten(t.map(e=>{switch(e.type){case"deploy":return[{name:e.name,parameters:e.isMixinDeploy?[]:this.getParameters({callSignature:e.callSignature}),returnType:d}];case"refundAssets":return[{name:e.name,sendUnsafe:!0,parameters:[],returnType:m}];case"completeSend":return[{name:e.name,completeSend:!0,parameters:[],returnType:m}];case"upgrade":return[{name:e.name,parameters:[{name:"script",type:"Buffer"},{name:"parameterList",type:"Buffer"},{name:"returnType",type:"Integer",decimals:0},{name:"properties",type:"Integer",decimals:0},{name:"contractName",type:"String"},{name:"codeVersion",type:"String"},{name:"author",type:"String"},{name:"email",type:"String"},{name:"description",type:"String"}],returnType:m}];case"function":return[{name:e.name,parameters:this.getParameters({callSignature:e.callSignature,send:e.send,claim:e.claim}),returnType:this.toABIReturn(e.decl,e.returnType),constant:e.constant,send:e.send,sendUnsafe:e.sendUnsafe,receive:e.receive,claim:e.claim}];case"property":return[{name:e.name,parameters:[],returnType:this.toABIReturn(e.decl,e.propertyType),constant:!0},e.isReadonly?void 0:{name:u.getSetterName(e.name),parameters:[this.toABIParameter(e.name,e.decl,e.propertyType,!1,{error:!1})].filter(n.utils.notNull),returnType:m}].filter(n.utils.notNull);case"accessor":return[void 0===e.getter?void 0:{name:e.getter.name,parameters:[],constant:e.getter.constant,returnType:this.toABIReturn(e.getter.decl,e.propertyType)},void 0===e.setter?void 0:{name:e.setter.name,parameters:[this.toABIParameter(e.name,void 0===e.getter?e.setter.decl:e.getter.decl,e.propertyType,!1,void 0===e.getter?{error:!0}:void 0)].filter(n.utils.notNull),returnType:m}].filter(n.utils.notNull);default:throw n.utils.assertNever(e),new Error("For TS")}}))}findDeployInfo(e=this.contractInfo){const t=e.propInfos.find(e=>"deploy"===e.type),r=e.superSmartContract;if(void 0!==t){if(void 0===t.decl&&void 0!==r){const e=this.findDeployInfo(r);return void 0===e?t:e}return t}return void 0===r?void 0:this.findDeployInfo(r)}getParameters({callSignature:e,claim:t=!1,send:r=!1}){if(void 0===e)return[];let s=e.getParameters();return t&&this.checkLastParam(s,"ClaimTransaction")&&(s=s.slice(0,-1)),r&&this.checkLastParam(s,"Transfer")&&(s=s.slice(0,-1)),s.map(e=>this.paramToABIParameter(e)).filter(n.utils.notNull)}processEvents(){const e=i.tsUtils.symbol.getDeclarations(this.context.builtins.getValueSymbol("createEventNotifier"))[0],t=i.tsUtils.symbol.getDeclarations(this.context.builtins.getValueSymbol("declareEvent"))[0];return this.context.analysis.findReferencesAsNodes(e).concat(this.context.analysis.findReferencesAsNodes(t)).map(e=>{if(o.default.isIdentifier(e)){const t=i.tsUtils.node.getParent(e);if(o.default.isCallExpression(t))return t}}).filter(n.utils.notNull).reduce((e,t)=>{const r=this.toABIEvent(t,e);return void 0===r?e:[...e,r]},[])}toABIEvent(e,t){const r=i.tsUtils.argumented.getArguments(e),s=i.tsUtils.node.getParent(e);let l=i.tsUtils.argumented.getTypeArgumentsArray(e).map(e=>this.context.analysis.getType(e));if(o.default.isPropertyDeclaration(s)){const t=i.tsUtils.node.getName(s),r=this.context.analysis.getType(this.contractInfo.smartContract);if(void 0!==r){const s=i.tsUtils.type_.getProperty(r,t);if(void 0!==s){const t=this.context.analysis.getTypeOfSymbol(s,this.contractInfo.smartContract),r=this.context.analysis.extractSignatureForType(e,t);void 0!==r&&(l=r.paramDecls.map(e=>r.paramTypes.get(e)))}}}const u=r[0];if(void 0===u)return;if(!o.default.isStringLiteral(u))return void this.context.reportError(u,p.DiagnosticCode.InvalidContractEvent,c.DiagnosticMessage.InvalidContractEventNameStringLiteral);const d={name:i.tsUtils.literal.getLiteralValue(u),parameters:a.default.zip(r.slice(1),l).map(([e,t])=>
1{if(void 0===e||void 0===t)return;if(!o.default.isStringLiteral(e))return void this.context.reportError(e,p.DiagnosticCode.InvalidContractEvent,c.DiagnosticMessage.InvalidContractEventArgStringLiteral);const r=i.tsUtils.literal.getLiteralValue(e),s=this.toABIParameter(r,e,t);if(void 0===s||"ForwardValue"!==s.type)return s;this.context.reportError(e,p.DiagnosticCode.InvalidContractType,c.DiagnosticMessage.InvalidContractType)}).filter(n.utils.notNull)};if(void 0===t.find(e=>e.name===d.name&&!a.default.isEqual(d,e)))return d;this.context.reportError(u,p.DiagnosticCode.InvalidContractEvent,c.DiagnosticMessage.InvalidContractEventDuplicate)}paramToABIParameter(e){const t=i.tsUtils.symbol.getDeclarations(e),r=n.utils.nullthrows(t[0]),s=i.tsUtils.initializer.getInitializer(r),a=this.toABIParameter(i.tsUtils.symbol.getName(e),r,this.getParamSymbolType(e),void 0!==s);if(void 0===a||void 0===s||!o.default.isPropertyAccessExpression(s)&&!o.default.isCallExpression(s))return a;if(o.default.isPropertyAccessExpression(s)){if(this.context.analysis.getSymbol(s)===this.context.builtins.getOnlyMemberSymbol("DeployConstructor","senderAddress")){const e={type:"sender"};return Object.assign(Object.assign({},a),{default:e})}}return a}checkLastParam(e,t){return this.checkLastParamBase(e,(e,r)=>this.context.builtins.isInterface(e,r,t))}checkLastParamBase(e,t){if(0===e.length)return!1;const r=e[e.length-1],s=this.getParamSymbolType(r);return void 0!==s&&t(i.tsUtils.symbol.getDeclarations(r)[0],s)}getParamSymbolType(e){const t=i.tsUtils.symbol.getDeclarations(e),r=n.utils.nullthrows(t[0]);return this.context.analysis.getTypeOfSymbol(e,r)}toABIParameter(e,t,r,s=!1,n=l.DEFAULT_DIAGNOSTIC_OPTIONS){const a=e.startsWith("_")?e.slice(1):e;let p=r;o.default.isParameter(t)&&i.tsUtils.parameter.isRestParameter(t)&&void 0!==p&&(p=i.tsUtils.type_.getTypeArgumentsArray(p)[0]);const c=u.toABIReturn(this.context,t,p,s,n);if(void 0!==c)return o.default.isParameter(t)&&i.tsUtils.parameter.isRestParameter(t)?Object.assign(Object.assign({},c),{name:a,rest:!0}):Object.assign(Object.assign({},c),{name:a})}toABIReturn(e,t,r=!1,s=l.DEFAULT_DIAGNOSTIC_OPTIONS){const i=u.toABIReturn(this.context,e,t,r,s);return void 0===i?m:i}}},function(e,t,r){"use strict";(function(e){Object.defineProperty(t,"__esModule",{value:!0}),t.AnalysisService=t.DEFAULT_DIAGNOSTIC_OPTIONS=void 0;const s=r(18),i=r(24),n=r(20),a=r(25),o=s.__importDefault(r(21)),l=r(44),p=r(32),c=r(33),u=r(55);t.DEFAULT_DIAGNOSTIC_OPTIONS={error:!0,warning:!1};t.AnalysisService=class{constructor(e){this.context=e,this.memoized=u.createMemoized()}getFunctionReturnType(e,r=t.DEFAULT_DIAGNOSTIC_OPTIONS){if(o.default.isAccessor(e))return this.getType(e);const s=n.tsUtils.type_.getTypeNode(e);if(void 0!==s)return this.getNotAnyType(s,n.tsUtils.type_.getTypeFromTypeNode(this.context.typeChecker,s));const i=this.extractSignature(e,r);return void 0===i?void 0:i.returnType}extractAllSignatures(e,r=t.DEFAULT_DIAGNOSTIC_OPTIONS){return this.extractAllSignaturesForType(e,this.getType(e),r)}extractSignature(e,r=t.DEFAULT_DIAGNOSTIC_OPTIONS){return this.extractSignatureForType(e,this.getType(e),r)}getSignatures(e){const t=this.context.typeChecker.getResolvedSignature(e);if(void 0!==t&&!n.tsUtils.signature.isFailure(t))return[t];const r=n.tsUtils.expression.getExpressionForCall(e),s=this.getType(r);return void 0!==s?n.tsUtils.type_.getCallSignatures(s):void 0}extractAllSignaturesForType(e,r,s=t.DEFAULT_DIAGNOSTIC_OPTIONS){const i=void 0===r?void 0:n.tsUtils.type_.getCallSignatures(r);return void 0===i?[]:i.map(t=>this.extractSignatureTypes(e,t,s)).filter(a.utils.notNull)}extractSignatureForType(e,r,s=t.DEFAULT_DIAGNOSTIC_OPTIONS){const i=this.extractAllSignaturesForType(e,r,s);if(0!==i.length){if(1===i.length)return i[0];this.report(s,e,p.DiagnosticCode.MultipleSignatures,c.DiagnosticMessage.MultipleSignatures)}}extractSignaturesForCall(e,r=t.DEFAULT_DIAGNOSTIC_OPTIONS){const s=this.getSignatures(e);if(void 0!==s)return s.map(t=>this.extractSignatureTypes(e,t,r)).filter(a.utils.notNull)}extractSignatureTypes(e,r,s=t.DEFAULT_DIAGNOSTIC_OPTIONS){const i=n.tsUtils.signature.getParameters(r),l=i.map(t=>this.getTypeOfSymbol(t,e)),u=i.map(e=>n.tsUtils.symbol.getValueDeclaration(e)),d=u.indexOf(void 0);if(-1!==d){const t=i[d];return void this.report(s,e,p.DiagnosticCode.Invariant,c.DiagnosticMessage.MissingParameterDeclaration,n.tsUtils.symbol.getName(t))}const m=u.filter(a.utils.notNull).filter(o.default.isParameter),h=new Map;for(const[e,t]of a.utils.zip(m,l))h.set(e,t);return{paramDecls:m,paramTypes:h,returnType:this.getNotAnyType(e,n.tsUtils.signature.getReturnType(r))}}extractLiteralAddress(e){return this.memoized("extract-literal-address",u.nodeKey(e),()=>this.extractLiteral(e,"AddressConstructor",e=>{try{return i.common.stringToUInt160(i.addressToScriptHash(e))}catch(t){return i.common.stringToUInt160(e)}},i.common.bufferToUInt160))}extractLiteralHash256(e){return this.extractLiteral(e,"Hash256Constructor",i.common.stringToUInt256,i.common.bufferToUInt256)}extractLiteralPublicKey(e){return this.extractLiteral(e,"PublicKeyConstructor",i.common.stringToECPoint,i.common.bufferToECPoint)}getType(e,t={}){return this.memoized("get-type",u.nodeKey(e),()=>this.getNotAnyType(e,n.tsUtils.type_.getType(this.context.typeChecker,e),t))}getTypeOfSymbol(e,t){if(void 0!==e)return this.memoized("get-type-of-symbol",`${n.symbolKey(e)}:${u.nodeKey(t)}`,()=>this.getNotAnyType(t,n.tsUtils.type_.getTypeAtLocation(this.context.typeChecker,e,t)))}getSymbol(e){return this.memoized("symbol",u.nodeKey(e),()=>{const t=n.tsUtils.node.getSymbol(this.context.typeChecker,e);if(void 0===t)return;const r=n.tsUtils.symbol.getAliasedSymbol(this.context.typeChecker,t);return void 0!==r?r:t})}getTypeSymbol(e){return this.memoized("get-type-symbol",u.nodeKey(e),()=>{const t=this.getType(e);
1return this.getSymbolForType(e,t)})}getSymbolForType(e,t){if(void 0!==t)return this.memoized("get-symbol-for-type",u.typeKey(t),()=>{let e=n.tsUtils.type_.getAliasSymbol(t);if(void 0===e&&(e=n.tsUtils.type_.getSymbol(t)),void 0===e)return;const r=n.tsUtils.symbol.getAliasedSymbol(this.context.typeChecker,e);return void 0!==r?r:e})}getNotAnyType(e,t,{error:r=!0}={}){if(void 0===t||!n.tsUtils.type_.isAny(t)){if(void 0!==t){const e=n.tsUtils.type_.getConstraint(t);if(void 0!==e)return e}return t}r&&!n.tsUtils.type_.isErrorType(t)&&this.context.reportTypeError(e)}extractStorageKey(e){return this.memoized("extract-storage-key",u.nodeKey(e),()=>{const t=n.tsUtils.node.getFirstAncestorByTest(e,o.default.isClassDeclaration);if(void 0===t||!this.isSmartContract(t))return;const r=n.tsUtils.node.getFirstAncestorByTest(e,o.default.isPropertyDeclaration);return void 0!==r?n.tsUtils.node.getName(r):void 0})}isSmartContract(e){return this.memoized("is-smart-contract",u.nodeKey(e),()=>{const t=n.tsUtils.class_.getExtends(e);if(void 0!==t&&this.context.builtins.isValue(n.tsUtils.expression.getExpression(t),"SmartContract"))return!0;if(n.tsUtils.class_.getBaseClasses(this.context.typeChecker,e).some(e=>this.context.builtins.isValue(e,"SmartContract")))return!0;const r=n.tsUtils.class_.getBaseClass(this.context.typeChecker,e);return void 0!==r&&this.isSmartContract(r)})}isSmartContractNode(e){return this.memoized("is-smart-contract-node",u.nodeKey(e),()=>{const t=this.getSymbol(e);if(void 0===t)return!1;const r=n.tsUtils.symbol.getDeclarations(t);if(0===r.length)return!1;const s=r[0];return o.default.isClassDeclaration(s)&&this.isSmartContract(s)})}getSymbolAndAllInheritedSymbols(e){return this.memoized("get-symbol-and-all-inherited-symbols",u.nodeKey(e),()=>{const t=[this.getSymbol(e)].filter(a.utils.notNull);if(o.default.isClassDeclaration(e)||o.default.isClassExpression(e)||o.default.isInterfaceDeclaration(e)){const r=n.tsUtils.class_.getBaseTypesFlattened(this.context.typeChecker,e);return t.concat(r.map(t=>this.getSymbolForType(e,t)).filter(a.utils.notNull))}return t})}isValidStorageType(e,t){return!n.tsUtils.type_.hasType(t,t=>!n.tsUtils.type_.isOnlyType(t,t=>l.isOnlyUndefined(this.context,e,t)||l.isOnlyNull(this.context,e,t)||l.isOnlyBoolean(this.context,e,t)||l.isOnlyNumber(this.context,e,t)||l.isOnlyString(this.context,e,t)||l.isOnlySymbol(this.context,e,t)||l.isOnlyBuffer(this.context,e,t)||this.isValidStorageArray(e,t)||this.isValidStorageMap(e,t)||this.isValidStorageSet(e,t)))}findReferencesAsNodes(e){return this.memoized("find-references-as-nodes",u.nodeKey(e),()=>n.tsUtils.reference.findReferencesAsNodes(this.context.program,this.context.languageService,e).filter(e=>this.context.sourceFiles.has(n.tsUtils.node.getSourceFile(e))))}isSmartContractMixinFunction(e){if(1!==n.tsUtils.parametered.getParameters(e).length)return!1;const t=this.extractAllSignatures(e);if(1!==t.length)return!1;const r=t[0],s=r.paramDecls[0],i=r.paramTypes.get(s);if(void 0===i||1!==n.tsUtils.type_.getConstructSignatures(i).length)return!1;const a=this.extractSignatureTypes(s,n.tsUtils.type_.getConstructSignatures(i)[0]);if(void 0===a)return!1;const o=this.getSymbolForType(s,a.returnType);return void 0!==o&&o===this.context.builtins.getValueSymbol("SmartContract")}isValidStorageArray(e,t){if(!l.isOnlyArray(this.context,e,t))return!1;const r=n.tsUtils.type_.getTypeArgumentsArray(t);return 1!==r.length||this.isValidStorageType(e,r[0])}isValidStorageMap(e,t){if(!l.isOnlyMap(this.context,e,t))return!1;const r=n.tsUtils.type_.getTypeArgumentsArray(t);return 2!==r.length||this.isValidStorageType(e,r[0])&&this.isValidStorageType(e,r[1])}isValidStorageSet(e,t){if(!l.isOnlySet(this.context,e,t))return!1;const r=n.tsUtils.type_.getTypeArgumentsArray(t);return 1!==r.length||this.isValidStorageType(e,r[0])}extractLiteral(t,r,s,i){return this.traceIdentifier(t,t=>{if(!o.default.isCallExpression(t)&&!o.default.isTaggedTemplateExpression(t))return;const a=o.default.isCallExpression(t)?n.tsUtils.expression.getExpression(t):n.tsUtils.template.getTag(t),l=this.getSymbol(a),p=this.context.builtins.getOnlyMemberSymbol(r,"from"),c=this.context.builtins.getOnlyMemberSymbol("BufferConstructor","from");if(l===p){const e=o.default.isCallExpression(t)?n.tsUtils.argumented.getArguments(t)[0]:n.tsUtils.template.getTemplate(t);
1if(o.default.isTaggedTemplateExpression(t)&&!o.default.isNoSubstitutionTemplateLiteral(n.tsUtils.template.getTemplate(t)))return;if(void 0===e)return;return this.traceIdentifier(e,e=>{if(o.default.isStringLiteral(e)||o.default.isNoSubstitutionTemplateLiteral(e))try{return s(n.tsUtils.literal.getLiteralValue(e))}catch(e){}})}if(l===c&&o.default.isCallExpression(t)){const r=n.tsUtils.argumented.getArguments(t)[0];if(void 0===r)return;return this.traceIdentifier(r,t=>{if(o.default.isStringLiteral(t))try{return i(e.from(n.tsUtils.literal.getLiteralValue(t),"hex"))}catch(e){return}})}})}traceIdentifier(e,t){const r=this.unwrapExpression(e);if(o.default.isIdentifier(r)){const e=this.getSymbol(r);if(void 0===e)return;const s=n.tsUtils.symbol.getValueDeclaration(e);if(void 0===s)return;if(!o.default.isVariableDeclaration(s))return;const i=n.tsUtils.node.getParent(s);if(!o.default.isVariableDeclarationList(i)||!n.tsUtils.modifier.isConst(i))return;const a=n.tsUtils.initializer.getInitializer(i);if(void 0===a)return;return this.traceIdentifier(a,t)}return t(r)}unwrapExpression(e){return o.default.isParenthesizedExpression(e)||o.default.isAsExpression(e)?n.tsUtils.expression.getExpression(e):e}report(e,t,r,s,...i){e.error?this.context.reportError(t,r,s,...i):e.warning&&this.context.reportWarning(t,r,s,...i)}}}).call(this,r(26).Buffer)},,,,,,,function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ArrayLengthHelper=void 0;const s=r(19);class i extends s.Helper{emit(e,t,r){r.pushValue?(e.emitHelper(t,r,e.helpers.unwrapArray),e.emitOp(t,"ARRAYSIZE")):e.emitOp(t,"DROP")}}t.ArrayLengthHelper=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CreateArrayHelper=void 0;const s=r(19);class i extends s.Helper{emit(e,t,r){r.pushValue&&(e.emitPushInt(t,0),e.emitOp(t,"NEWARRAY"),e.emitHelper(t,r,e.helpers.wrapArray))}}t.CreateArrayHelper=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.GetArrayIndexHelper=void 0;const s=r(19);class i extends s.Helper{emit(e,t,r){if(!r.pushValue)return e.emitOp(t,"DROP"),void e.emitOp(t,"DROP");e.emitOp(t,"SWAP"),e.emitHelper(t,r,e.helpers.unwrapArray),e.emitOp(t,"TUCK"),e.emitOp(t,"ARRAYSIZE"),e.emitOp(t,"OVER"),e.emitHelper(t,r,e.helpers.if({condition:()=>{e.emitOp(t,"GT")},whenTrue:()=>{e.emitOp(t,"PICKITEM")},whenFalse:()=>{e.emitOp(t,"DROP"),e.emitOp(t,"DROP"),e.emitHelper(t,r,e.helpers.wrapUndefined)}}))}}t.GetArrayIndexHelper=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.IsArrayHelper=void 0;const s=r(22),i=r(30);class n extends i.IsHelper{constructor(){super(...arguments),this.type=s.Types.Array}}t.IsArrayHelper=n},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.GlobalProperty=void 0,function(e){e[e.Arguments=0]="Arguments",e[e.Modules=1]="Modules",e[e.CallingScriptHash=2]="CallingScriptHash",e[e.GenericLogSerialize=3]="GenericLogSerialize",e[e.CommonStorage=4]="CommonStorage",e[e.CommonStorageSerialized=5]="CommonStorageSerialized",e[e.Cac
1he=6]="Cache",e[e.CacheStorage=7]="CacheStorage",e[e.DeleteCacheStorage=8]="DeleteCacheStorage"}(t.GlobalProperty||(t.GlobalProperty={}))},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.InternalObjectProperty=void 0,function(e){e[e.Map=0]="Map",e[e.Call=1]="Call",e[e.Construct=2]="Construct",e[e.BlockchainInterface=3]="BlockchainInterface",e[e.Data0=4]="Data0",e[e.Data1=5]="Data1"}(t.InternalObjectProperty||(t.InternalObjectProperty={}))},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.StructuredStorageSlots=t.ErrorSlots=t.IterableIteratorSlots=t.IteratorResultSlots=void 0,function(e){e[e.done=0]="done",e[e.value=1]="value"}(t.IteratorResultSlots||(t.IteratorResultSlots={})),function(e){e[e.next=0]="next",e[e.iterator=1]="iterator",e[e.internalIterator=2]="internalIterator"}(t.IterableIteratorSlots||(t.IterableIteratorSlots={})),function(e){e[e.message=0]="message"}(t.ErrorSlots||(t.ErrorSlots={})),function(e){e[e.prefix=0]="prefix",e[e.size=1]="size",e[e.prefixArray=2]="prefixArray"}(t.StructuredStorageSlots||(t.StructuredStorageSlots={}))},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getTypeFromStructuredStorageType=t.STRUCTURED_STORAGE_TYPES=t.StructuredStorageType=void 0;const s=r(25),i=r(199);var n;!function(e){e.ArrayStorage="ArrayStorage",e.MapStorage="MapStorage",e.SetStorage="SetStorage"}(n=t.StructuredStorageType||(t.StructuredStorageType={})),t.STRUCTURED_STORAGE_TYPES=[...new Set(Object.values(n))],t.getTypeFromStructuredStorageType=e=>{switch(e){case n.ArrayStorage:return i.Types.ArrayStorage;case n.SetStorage:return i.Types.SetStorage;case n.MapStorage:return i.Types.MapStorage;default:throw s.utils.assertNever(e),new Error("For TS")}}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WellKnownSymbol=void 0,function(e){e.iterator="iterator",e.toPrimitive="toPrimitive"}(t.WellKnownSymbol||(t.WellKnownSymbol={}))},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SetArrayIndexHelper=void 0;const s=r(19);class i extends s.Helper{emit(e,t,r){const s=e.pushValueOptions(r);e.emitOp(t,"ROT"),e.emitHelper(t,s,e.helpers.unwrapArray),e.emitPushInt(t,3),e.emitOp(t,"XTUCK"),e.emitPushInt(t,2),e.emitOp(t,"PICK"),e.emitOp(t,"INC"),e.emitHelper(t,s,e.helpers.extendArr),e.emitOp(t,"SETITEM")}}t.SetArrayIndexHelper=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.UnwrapArrayHelper=void 0;const s=r(35);class i extends s.UnwrapHelper{}t.UnwrapArrayHelper=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WrapArrayHelper=void 0;const s=r(22),i=r(31);class n extends i.WrapHelper{constructor(){super(...arguments),this.type=s.Types.Array}}t.WrapArrayHelper=n},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isArray=t.isOnlyArray=t.hasArray=void 0;const s=r(20);t.hasArray=(e,t,r)=>s.tsUtils.type_.hasArrayish(r),t.isOnlyArray=(e,t,r)=>s.tsUtils.type_.isOnlyArrayish(r),t.isArray=(e,t,r)=>s.tsUtils.type_.isArrayish(r)},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.IsAttributeHelper=void 0;const s=r(22),i=r(30);class n extends i.IsHelper{constructor(){super(...arguments),this.type=s.Types.Attribute}}t.IsAttributeHelper=n},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.UnwrapAttributeHelper=void 0;const s=r(35);class i extends s.UnwrapHelper{}t.UnwrapAttributeHelper=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WrapAttributeHelper=void 0;const s=r(22),i=r(31);class n extends i.WrapHelper{constructor(){super(...arguments),this.type=s.Types.Attribute}}t.WrapAttributeHelper=n},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isAttribute=t.isOnlyAttribute=t.hasAttribute=void 0;const s=r(20);t.hasAttribute=(e,r,i)=>s.tsUtils.type_.hasType(i,s=>t.isAttribute(e,r,s)),t.isOnlyAttribute=(e,r,i)=>s.tsUtils.type_.isOnlyType(i,s=>t.isAttribute(e,r,s)),t.isAttribute=(e,t,r)=>e.builtins.isInterface(t,r,"AttributeBase")||e.builtins.isInterface(t,r,"BufferAttribute")||e.builtins.isInterface(t,r,"PublicKeyAttribute")||e.builtins.isInterface(t,r,"AddressAttribute")||e.builtins.isInterface(t,r,"Hash256Attribute")||e.builtins.isType(t,r,"Attribute")},function(e,t,r){"use strict";
1Object.defineProperty(t,"__esModule",{value:!0}),t.WrapBooleanHelper=void 0;const s=r(22),i=r(31);class n extends i.WrapHelper{constructor(){super(...arguments),this.type=s.Types.Boolean}}t.WrapBooleanHelper=n},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.UnwrapBooleanHelper=void 0;const s=r(35);class i extends s.UnwrapHelper{}t.UnwrapBooleanHelper=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.IsBooleanHelper=void 0;const s=r(22),i=r(30);class n extends i.IsHelper{constructor(){super(...arguments),this.type=s.Types.Boolean}}t.IsBooleanHelper=n},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ToBooleanHelper=void 0;const s=r(62);class i extends s.TypedHelper{emit(e,t,r){if(!r.pushValue)return void e.emitOp(t,"DROP");const s=()=>{e.emitOp(t,"DROP"),e.emitPushBoolean(t,!1)},i=()=>{e.emitOp(t,"DROP"),e.emitPushBoolean(t,!0)};e.emitHelper(t,r,e.helpers.forBuiltinType({type:this.type,knownType:this.knownType,array:i,arrayStorage:i,boolean:r=>{e.emitHelper(t,r,e.helpers.unwrapBoolean)},buffer:i,null:s,number:r=>{e.emitHelper(t,r,e.helpers.unwrapNumber),e.emitPushInt(t,0),e.emitOp(t,"NUMNOTEQUAL")},object:i,string:r=>{e.emitHelper(t,r,e.helpers.unwrapString),e.emitPushString(t,""),e.emitOp(t,"EQUAL"),e.emitOp(t,"NOT")},symbol:i,undefined:s,map:i,mapStorage:i,set:i,setStorage:i,error:i,forwardValue:i,iteratorResult:i,iterable:i,iterableIterator:i,transaction:i,output:i,attribute:i,input:i,account:i,asset:i,contract:i,header:i,block:i}))}}t.ToBooleanHelper=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ToNullishBooleanHelper=void 0;const s=r(62);class i extends s.TypedHelper{emit(e,t,r){if(!r.pushValue)return void e.emitOp(t,"DROP");const s=()=>{e.emitOp(t,"DROP"),e.emitPushBoolean(t,!1)},i=()=>{e.emitOp(t,"DROP"),e.emitPushBoolean(t,!0)};e.emitHelper(t,r,e.helpers.forBuiltinType({type:this.type,knownType:this.knownType,array:i,arrayStorage:i,boolean:i,buffer:i,null:s,number:i,object:i,string:i,symbol:i,undefined:s,map:i,mapStorage:i,set:i,setStorage:i,error:i,forwardValue:i,iteratorResult:i,iterable:i,iterableIterator:i,transaction:i,output:i,attribute:i,input:i,account:i,asset:i,contract:i,header:i,block:i}))}}t.ToNullishBooleanHelper=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isBoolean=t.isOnlyBoolean=t.hasBoolean=t.isBooleanFalse=t.hasBooleanFalse=void 0;const s=r(20);t.hasBooleanFalse=(e,t,r)=>s.tsUtils.type_.hasBooleanFalse(r),t.isBooleanFalse=(e,t,r)=>s.tsUtils.type_.isBooleanFalse(r),t.hasBoolean=(e,t,r)=>s.tsUtils.type_.hasBooleanish(r),t.isOnlyBoolean=(e,t,r)=>s.tsUtils.type_.isOnlyBooleanish(r),t.isBoolean=(e,t,r)=>s.tsUtils.type_.isBooleanish(r)},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.BufferLengthHelper=void 0;const s=r(19);class i extends s.Helper{emit(e,t,r){r.pushValue?(e.emitHelper(t,r,e.helpers.unwrapBuffer),e.emitOp(t,"SIZE")):e.emitOp(t,"DROP")}}t.BufferLengthHelper=i},function(e,t,r){"use strict";(function(e){Object.defineProperty(t,"__esModule",{value:!0}),t.ConcatBufferHelper=void 0;const s=r(19);class i extends s.Helper{emit(t,r,s){s.pushValue?(t.emitPushBuffer(r,e.from([])),t.emitHelper(r,s,t.helpers.arrReduce({withIndex:!1,each:e=>{t.emitOp(r,"SWAP"),t.emitHelper(r,e,t.helpers.unwrapBuffer),t.emitOp(r,"CAT")}}))):t.emitOp(r,"DROP")}}t.ConcatBufferHelper=i}).call(this,r(26).Buffer)},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.GetBufferIndexHelper=void 0;const s=r(19);class i extends s.Helper{emit(e,t,r){if(!r.pushValue)return e.emitOp(t,"DROP"),void e.emitOp(t,"DROP");e.emitOp(t,"SWAP"),e.emitHelper(t,r,e.helpers.unwrapBuffer),e.emitOp(t,"TUCK"),e.emitOp(t,"SIZE"),e.emitOp(t,"OVER"),e.emitHelper(t,r,e.helpers.if({condition:()=>{e.emitOp(t,"GT")},whenTrue:()=>{e.emitOp(t,"OVER"),e.emitOp(t,"SIZE"),e.emitOp(t,"SWAP"),e.emitOp(t,"SUB"),e.emitOp(t,"RIGHT"),e.emitPushInt(t,1),e.emitOp(t,"LEFT"),e.emitHelper(t,r,e.helpers.wrapNumber)},whenFalse:()=>{e.emitOp(t,"DROP"),e.emitOp(t,"DROP"),e.emitHelper(t,r,e.helpers.wrapUndefined)}}))}}t.GetBufferIndexHelper=i},function(e,t,r){"use strict";
1Object.defineProperty(t,"__esModule",{value:!0}),t.IsBufferHelper=void 0;const s=r(22),i=r(30);class n extends i.IsHelper{constructor(){super(...arguments),this.type=s.Types.Buffer}}t.IsBufferHelper=n},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.UnwrapBufferHelper=void 0;const s=r(35);class i extends s.UnwrapHelper{}t.UnwrapBufferHelper=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WrapBufferHelper=void 0;const s=r(22),i=r(31);class n extends i.WrapHelper{constructor(){super(...arguments),this.type=s.Types.Buffer}}t.WrapBufferHelper=n},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isPublicKey=t.isHash256=t.isAddress=t.isBuffer=t.isOnlyBuffer=t.hasBuffer=void 0;const s=r(20);t.hasBuffer=(e,r,i)=>s.tsUtils.type_.hasType(i,s=>t.isBuffer(e,r,s)),t.isOnlyBuffer=(e,r,i)=>s.tsUtils.type_.isOnlyType(i,s=>t.isBuffer(e,r,s)),t.isBuffer=(e,t,r)=>e.builtins.isInterface(t,r,"Buffer")||e.builtins.isInterface(t,r,"Hash256")||e.builtins.isInterface(t,r,"PublicKey")||e.builtins.isInterface(t,r,"Address"),t.isAddress=(e,t,r)=>e.builtins.isInterface(t,r,"Address"),t.isHash256=(e,t,r)=>e.builtins.isInterface(t,r,"Hash256"),t.isPublicKey=(e,t,r)=>e.builtins.isInterface(t,r,"PublicKey")},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.IsInputHelper=void 0;const s=r(22),i=r(30);class n extends i.IsHelper{constructor(){super(...arguments),this.type=s.Types.Input}}t.IsInputHelper=n},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.UnwrapInputHelper=void 0;const s=r(35);class i extends s.UnwrapHelper{}t.UnwrapInputHelper=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WrapInputHelper=void 0;const s=r(22),i=r(31);class n extends i.WrapHelper{constructor(){super(...arguments),this.type=s.Types.Input}}t.WrapInputHelper=n},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isInput=t.isOnlyInput=t.hasInput=void 0;const s=r(20);t.hasInput=(e,r,i)=>s.tsUtils.type_.hasType(i,s=>t.isInput(e,r,s)),t.isOnlyInput=(e,r,i)=>s.tsUtils.type_.isOnlyType(i,s=>t.isInput(e,r,s)),t.isInput=(e,t,r)=>e.builtins.isInterface(t,r,"Input")},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WrapNullHelper=void 0;const s=r(22),i=r(31);class n extends i.WrapHelper{constructor(){super(...arguments),this.length=1,this.type=s.Types.Null}}t.WrapNullHelper=n},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.IsNullHelper=void 0;const s=r(22),i=r(30);class n extends i.IsHelper{constructor(){super(...arguments),this.type=s.Types.Null}}t.IsNullHelper=n},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isNull=t.isOnlyNull=t.hasNull=void 0;const s=r(20);t.hasNull=(e,t,r)=>s.tsUtils.type_.hasNull(r),t.isOnlyNull=(e,t,r)=>s.tsUtils.type_.isOnlyNull(r),t.isNull=(e,t,r)=>s.tsUtils.type_.isNull(r)},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CoerceToIntHelper=void 0;const s=r(19);class i extends s.Helper{emit(e,t,r){e.emitPushInt(t,0),e.emitOp(t,"ADD")}}t.CoerceToIntHelper=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WrapNumberHelper=void 0;const s=r(22),i=r(31);class n extends i.WrapHelper{constructor(){super(...arguments),this.type=s.Types.Number}}t.WrapNumberHelper=n},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.UnwrapNumberHelper=void 0;const s=r(35);class i extends s.UnwrapHelper{}t.UnwrapNumberHelper=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.IsNumberHelper=void 0;const s=r(22),i=r(30);class n extends i.IsHelper{constructor(){super(...arguments),this.type=s.Types.Number}}t.IsNumberHelper=n},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ToNumberHelper=void 0;const s=r(22),i=r(62);class n extends i.TypedHelper{emit(e,t,r){const i=r=>{e.emitOp(t,"DROP"),e.emitHelper(t,r,e.helpers.throwTypeError)},n=()=>{e.emitOp(t,"DROP"),e.emitPushInt(t,0)},a=r=>{e.emitHelper(t,r,e.helpers.if({condition:()=>
1{e.emitHelper(t,r,e.helpers.unwrapBoolean)},whenTrue:()=>{e.emitPushInt(t,1)},whenFalse:()=>{e.emitPushInt(t,0)}}))},o=r=>{e.emitHelper(t,r,e.helpers.toPrimitive({type:this.type,knownType:s.Types.Array,preferredType:"number"})),u(r,!1)},l=r=>{e.emitHelper(t,r,e.helpers.unwrapNumber)},p=r=>{const s=e.scope.addUnique(),i=e.scope.addUnique(),n=e.scope.addUnique();e.emitHelper(t,r,e.helpers.unwrapString),e.emitHelper(t,r,e.helpers.if({condition:()=>{e.emitOp(t,"DUP"),e.emitPushString(t,""),e.emitOp(t,"EQUAL")},whenTrue:()=>{e.emitOp(t,"DROP"),e.emitHelper(t,r,e.helpers.throwTypeError)},whenFalse:()=>{e.scope.set(e,t,r,i),e.emitPushInt(t,1),e.scope.set(e,t,r,s),e.emitPushInt(t,0),e.scope.set(e,t,r,n),e.emitHelper(t,r,e.helpers.forLoop({condition:()=>{e.scope.get(e,t,r,i),e.emitPushString(t,""),e.emitOp(t,"EQUAL"),e.emitOp(t,"NOT")},each:a=>{e.scope.get(e,t,a,i),e.emitOp(t,"DUP"),e.emitOp(t,"DUP"),e.emitOp(t,"SIZE"),e.emitOp(t,"DEC"),e.emitOp(t,"LEFT"),e.scope.set(e,t,a,i),e.emitPushInt(t,1),e.emitOp(t,"RIGHT"),e.emitPushInt(t,48),e.emitOp(t,"SUB"),e.emitHelper(t,a,e.helpers.if({condition:()=>{e.emitOp(t,"DUP"),e.emitPushInt(t,9),e.emitOp(t,"GT")},whenTrue:()=>{e.emitOp(t,"DROP"),e.emitHelper(t,r,e.helpers.throwTypeError)},whenFalse:()=>{e.emitHelper(t,a,e.helpers.if({condition:()=>{e.emitOp(t,"DUP"),e.emitPushInt(t,0),e.emitOp(t,"LT")},whenTrue:()=>{e.emitOp(t,"DROP"),e.emitHelper(t,r,e.helpers.throwTypeError)}}))}})),e.scope.get(e,t,a,s),e.emitOp(t,"DUP"),e.emitPushInt(t,10),e.emitOp(t,"MUL"),e.scope.set(e,t,a,s),e.emitOp(t,"MUL"),e.scope.get(e,t,a,n),e.emitOp(t,"ADD"),e.scope.set(e,t,a,n)},cleanup:()=>{}})),e.scope.get(e,t,r,n)}}))},c=r=>{e.emitHelper(t,r,e.helpers.toPrimitive({type:this.type,knownType:s.Types.Object,preferredType:"number"})),u(r,!1)},u=(r,s=!0)=>{e.emitHelper(t,r,e.helpers.forBuiltinType({type:s?this.type:void 0,knownType:s?this.knownType:void 0,array:s?o:i,arrayStorage:i,boolean:a,buffer:i,null:n,number:l,object:s?c:i,string:p,symbol:i,undefined:i,map:i,mapStorage:i,set:i,setStorage:i,error:i,forwardValue:i,iteratorResult:i,iterable:i,iterableIterator:i,transaction:i,output:i,attribute:i,input:i,account:i,asset:i,contract:i,header:i,block:i}))};u(e.pushValueOptions(r),!0),r.pushValue||e.emitOp(t,"DROP")}}t.ToNumberHelper=n},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isNumber=t.isOnlyNumber=t.hasNumber=void 0;const s=r(20);t.hasNumber=(e,r,i)=>s.tsUtils.type_.hasType(i,s=>t.isNumber(e,r,s)),t.isOnlyNumber=(e,r,i)=>s.tsUtils.type_.isOnlyType(i,s=>t.isNumber(e,r,s)),t.isNumber=(e,t,r)=>s.tsUtils.type_.isNumberish(r)||e.builtins.isType(t,r,"Fixed")},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CreateObjectHelper=void 0;const s=r(19);class i extends s.Helper{emit(e,t,r){r.pushValue&&(e.emitOp(t,"NEWMAP"),e.emitOp(t,"NEWMAP"),e.emitOp(t,"NEWMAP"),e.emitPushInt(t,3),e.emitHelper(t,r,e.helpers.packObject))}}t.CreateObjectHelper=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CreatePropertyObjectHelper=void 0;const s=r(19);class i extends s.Helper{emit(e,t,r){if(r.pushValue){const s=e.scope.addUnique(),i=e.scope.addUnique();e.emitOp(t,"DUP"),e.scope.set(e,t,r,i),e.emitHelper(t,r,e.helpers.createObject),e.emitOp(t,"TUCK"),e.scope.set(e,t,r,s),e.emitOp(t,"KEYS"),e.emitHelper(t,r,e.helpers.arrForEach({each:()=>{e.scope.get(e,t,r,s),e.scope.get(e,t,r,i),e.emitOp(t,"ROT"),e.emitOp(t,"TUCK"),e.emitOp(t,"PICKITEM"),e.emitHelper(t,r,e.helpers.setDataPropertyObjectProperty)}}))}}}t.CreatePropertyObjectHelper=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.FindObjectPropertyHelper=void 0;const s=r(19);class i extends s.Helper{constructor({accessor:e,dataExists:t,data:r,getObject:s}){super(),this.accessor=e,this.dataExists=t,this.data=r,this.getObject=s}emit(e,t,r){if(!r.pushValue)return e.emitOp(t,"DROP"),void e.emitOp(t,"DROP");e.emitHelper(t,r,e.helpers.findObjectPropertyBase({whenHasProperty:()=>{e.emitOp(t,"PICKITEM"),e.emitOp(t,"DUP"),e.emitHelper(t,r,e.helpers.if({condition:()=>{e.emitOp(t,"ARRAYSIZE"),e.emitPushInt(t,2),e.emitOp(t,"EQUAL")},whenTrue:()=>{this.accessor()},whenFalse:()=>{this.dataExists()}}))},whenNotHasProperty:()=>{e.emitOp(t,"DROP"),e.emitOp(t,"DROP"),this.data()},getObject:this.getObject}))}}t.FindObjectPropertyHelper=i},function(e,t,r){"use strict";
1Object.defineProperty(t,"__esModule",{value:!0}),t.FindObjectPropertyHelperBase=void 0;const s=r(19);class i extends s.Helper{constructor({whenHasProperty:e,whenNotHasProperty:t,getObject:r}){super(),this.whenHasProperty=e,this.whenNotHasProperty=t,this.getObject=r}emit(e,t,r){if(!r.pushValue)return e.emitOp(t,"DROP"),void e.emitOp(t,"DROP");e.emitOp(t,"SWAP");const s=()=>{e.emitOp(t,"DUP"),e.emitHelper(t,r,e.helpers.getPropertyObject),e.emitOp(t,"DUP"),e.emitOp(t,"ROT"),e.emitHelper(t,r,this.getObject(e)),e.emitOp(t,"DUP"),e.emitPushInt(t,4),e.emitOp(t,"PICK")};s(),e.emitHelper(t,r,e.helpers.forLoop({condition:()=>{e.emitOp(t,"HASKEY"),e.emitOp(t,"NOT"),e.emitOp(t,"ROT"),e.emitPushString(t,"__proto__"),e.emitOp(t,"HASKEY"),e.emitOp(t,"BOOLAND")},each:()=>{e.emitOp(t,"DROP"),e.emitPushString(t,"__proto__"),e.emitOp(t,"PICKITEM"),e.emitPushInt(t,0),e.emitOp(t,"PICKITEM"),s()},cleanup:()=>{}})),e.emitOp(t,"NIP"),e.emitOp(t,"TUCK"),e.emitOp(t,"OVER"),e.emitHelper(t,r,e.helpers.if({condition:()=>{e.emitOp(t,"HASKEY")},whenTrue:()=>{this.whenHasProperty()},whenFalse:()=>{this.whenNotHasProperty()}}))}}t.FindObjectPropertyHelperBase=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.GetInternalObjectHelper=void 0;const s=r(142);class i extends s.GetObjectHelperBase{constructor(){super(...arguments),this.index=2}}t.GetInternalObjectHelper=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.GetInternalObjectPropertyHelper=void 0;const s=r(19);class i extends s.Helper{emit(e,t,r){if(!r.pushValue)return e.emitOp(t,"DROP"),void e.emitOp(t,"DROP");e.emitOp(t,"SWAP"),e.emitHelper(t,r,e.helpers.getInternalObject),e.emitOp(t,"SWAP"),e.emitOp(t,"PICKITEM")}}t.GetInternalObjectPropertyHelper=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.GetObjectHelper=void 0;const s=r(35);class i extends s.UnwrapHelper{}t.GetObjectHelper=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.GetPropertyObjectHelper=void 0;const s=r(142);class i extends s.GetObjectHelperBase{constructor(){super(...arguments),this.index=0}}t.GetPropertyObjectHelper=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.GetPropertyObjectKeysHelper=void 0;const s=r(19);class i extends s.Helper{emit(e,t,r){r.pushValue&&(e.emitHelper(t,r,e.helpers.getPropertyObject),e.emitOp(t,"KEYS"),e.emitHelper(t,r,e.helpers.arrFilter({map:()=>{e.emitPushString(t,"__proto__"),e.emitOp(t,"EQUAL"),e.emitOp(t,"NOT")}})))}}t.GetPropertyObjectKeysHelper=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.GetPropertyObjectPropertyHelper=void 0;const s=r(201);class i extends s.GetObjectPropertyHelperBase{getObject(e){return e.helpers.getPropertyObject}}t.GetPropertyObjectPropertyHelper=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.GetPropertyObjectValuesHelper=void 0;const s=r(19);class i extends s.Helper{emit(e,t,r){r.pushValue||e.emitOp(t,"DROP");const s=e.scope.addUnique();e.emitOp(t,"DUP"),e.scope.set(e,t,r,s),e.emitHelper(t,r,e.helpers.getPropertyObjectKeys),e.emitHelper(t,r,e.helpers.arrMap({map:i=>{e.scope.get(e,t,r,s),e.emitOp(t,"SWAP"),e.emitHelper(t,i,e.helpers.getPropertyObjectProperty)}}))}}t.GetPropertyObjectValuesHelper=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.GetSymbolObjectHelper=void 0;const s=r(142);class i extends s.GetObjectHelperBase{constructor(){super(...arguments),this.index=1}}t.GetSymbolObjectHelper=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.GetSymbolObjectPropertyHelper=void 0;const s=r(201);class i extends s.GetObjectPropertyHelperBase{getObject(e){return e.helpers.getSymbolObject}}t.GetSymbolObjectPropertyHelper=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.InstanceofHelper=void 0;const s=r(19);class i extends s.Helper{emit(e,t,r){if(!r.pushValue)return e.emitOp(t,"DROP"),void e.emitOp(t,"DROP");e.emitPushString(t,"prototype"),e.emitHelper(t,r,e.helpers.getPropertyObjectProperty),e.emitOp(t,"SWAP");const s=()=>{e.emitOp(t,"DUP"),e.emitPushString(t,"__proto__"),e.emitHelper(t,r,e.helpers.getPropertyObjectProperty),e.emitOp(t,"DUP"),e.emitOp(t,"ROT"),e.emitPushInt(t,3),e.emitOp(t,"PICK")};s(),e.emitHelper(t,r,e.helpers.forLoop({condition:()=>{e.emitOp(t,"EQUAL"),e.emitOp(t,"DUP"),e.emitOp(t,"NOT"),e.emitOp(t,"ROT"),e.emitHelper(t,r,e.helpers.isUndefined),e.emitOp(t,"NOT"),e.emitOp(t,"BOOLAND")},each:()=>{e.emitOp(t,"DROP"),s()},cleanup:()=>{}})),e.emitOp(t,"NIP"),e.emitOp(t,"NIP")}}t.InstanceofHelper=i},function(e,t,r){"use strict";
1Object.defineProperty(t,"__esModule",{value:!0}),t.InObjectPropertyHelper=void 0;const s=r(20),i=r(19);class n extends i.Helper{constructor({propType:e}){super(),this.propType=e}emit(e,t,r){if(!r.pushValue)return e.emitOp(t,"DROP"),void e.emitOp(t,"DROP");const i=()=>{e.emitHelper(t,r,e.helpers.unwrapSymbol),e.emitHelper(t,r,e.helpers.inSymbolObjectProperty)},n=()=>{e.emitHelper(t,r,e.helpers.toString({type:this.propType})),e.emitHelper(t,r,e.helpers.inPropertyObjectProperty)};void 0===this.propType||s.tsUtils.type_.hasSymbolish(this.propType)&&!s.tsUtils.type_.isOnlySymbolish(this.propType)?e.emitHelper(t,r,e.helpers.if({condition:()=>{e.emitOp(t,"DUP"),e.emitHelper(t,r,e.helpers.isSymbol)},whenTrue:()=>{i()},whenFalse:()=>{n()}})):s.tsUtils.type_.isOnlySymbolish(this.propType)?i():n()}}t.InObjectPropertyHelper=n},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.InPropertyObjectPropertyHelper=void 0;const s=r(202);class i extends s.InObjectPropertyHelperBase{getObject(e){return e.helpers.getPropertyObject}}t.InPropertyObjectPropertyHelper=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.InSymbolObjectPropertyHelper=void 0;const s=r(202);class i extends s.InObjectPropertyHelperBase{getObject(e){return e.helpers.getSymbolObject}}t.InSymbolObjectPropertyHelper=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.IsObjectHelper=void 0;const s=r(22),i=r(30);class n extends i.IsHelper{constructor(){super(...arguments),this.type=s.Types.Object}}t.IsObjectHelper=n},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.OmitObjectPropertiesHelper=void 0;const s=r(19);class i extends s.Helper{emit(e,t,r){e.emitOp(t,"ROT"),e.emitOp(t,"TUCK"),e.emitOp(t,"SWAP"),e.emitHelper(t,r,e.helpers.omitPropertyObjectProperties),e.emitOp(t,"SWAP"),e.emitHelper(t,r,e.helpers.omitSymbolObjectProperties)}}t.OmitObjectPropertiesHelper=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.OmitPropertyObjectPropertiesHelper=void 0;const s=r(203);class i extends s.OmitObjectPropertiesHelperBase{getObject(e){return e.helpers.getPropertyObject}}t.OmitPropertyObjectPropertiesHelper=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.OmitSymbolObjectPropertiesHelper=void 0;const s=r(203);class i extends s.OmitObjectPropertiesHelperBase{getObject(e){return e.helpers.getSymbolObject}}t.OmitSymbolObjectPropertiesHelper=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.PackObjectHelper=void 0;const s=r(19);class i extends s.Helper{emit(e,t,r){r.pushValue&&(e.emitOp(t,"PACK"),e.emitHelper(t,r,e.helpers.wrapObject))}}t.PackObjectHelper=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.PickObjectPropertiesHelper=void 0;const s=r(19);class i extends s.Helper{emit(e,t,r){e.emitHelper(t,r,e.helpers.createObject),e.emitOp(t,"TUCK"),e.emitPushInt(t,4),e.emitOp(t,"PICK"),e.emitOp(t,"ROT"),e.emitHelper(t,r,e.helpers.pickPropertyObjectProperties),e.emitOp(t,"DUP"),e.emitPushInt(t,3),e.emitOp(t,"XSWAP"),e.emitOp(t,"ROT"),e.emitHelper(t,r,e.helpers.pickSymbolObjectProperties)}}t.PickObjectPropertiesHelper=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.PickPropertyObjectPropertiesHelper=void 0;const s=r(204);class i extends s.PickObjectPropertiesHelperBase{getObjectProperty(e){return e.helpers.getPropertyObjectProperty}setObjectDataProperty(e){return e.helpers.setDataPropertyObjectProperty}}t.PickPropertyObjectPropertiesHelper=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.PickSymbolObjectPropertiesHelper=void 0;const s=r(204);class i extends s.PickObjectPropertiesHelperBase{getObjectProperty(e){return e.helpers.getSymbolObjectProperty}setObjectDataProperty(e){return e.helpers.setDataSymbolObjectProperty}}t.PickSymbolObjectPropertiesHelper=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SetAccessorPropertyObjectPropertyHelper=void 0;const s=r(143);class i extends s.SetObjectAccessorPropertyHelperBase{getObject(e){return e.helpers.getPropertyObject}}t.SetAccessorPropertyObjectPropertyHelper=i},function(e,t,r){"use strict";
1Object.defineProperty(t,"__esModule",{value:!0}),t.SetAccessorSymbolObjectPropertyHelper=void 0;const s=r(143);class i extends s.SetObjectAccessorPropertyHelperBase{getObject(e){return e.helpers.getSymbolObject}}t.SetAccessorSymbolObjectPropertyHelper=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SetDataPropertyObjectPropertyHelper=void 0;const s=r(205);class i extends s.SetObjectDataPropertyHelperBase{getObject(e){return e.helpers.getPropertyObject}}t.SetDataPropertyObjectPropertyHelper=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SetDataSymbolObjectPropertyHelper=void 0;const s=r(205);class i extends s.SetObjectDataPropertyHelperBase{getObject(e){return e.helpers.getSymbolObject}}t.SetDataSymbolObjectPropertyHelper=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SetInternalObjectPropertyHelper=void 0;const s=r(19);class i extends s.Helper{emit(e,t,r){e.emitOp(t,"ROT"),e.emitHelper(t,e.pushValueOptions(r),e.helpers.getInternalObject),e.emitOp(t,"ROT"),e.emitOp(t,"ROT"),e.emitOp(t,"SETITEM")}}t.SetInternalObjectPropertyHelper=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SetPropertyObjectPropertyHelper=void 0;const s=r(206);class i extends s.SetObjectPropertyHelperBase{getObject(e){return e.helpers.getPropertyObject}setDataProperty(e){return e.helpers.setDataPropertyObjectProperty}}t.SetPropertyObjectPropertyHelper=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SetSymbolObjectPropertyHelper=void 0;const s=r(206);class i extends s.SetObjectPropertyHelperBase{getObject(e){return e.helpers.getSymbolObject}setDataProperty(e){return e.helpers.setDataSymbolObjectProperty}}t.SetSymbolObjectPropertyHelper=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ToObjectHelper=void 0;const s=r(62);class i extends s.TypedHelper{emit(e,t,r){if(!r.pushValue)return void e.emitOp(t,"DROP");const s=r=>{e.emitOp(t,"DROP"),e.emitHelper(t,r,e.helpers.throwTypeError)},i=r=>{e.emitOp(t,"DROP"),e.emitHelper(t,r,e.helpers.createObject)};e.emitHelper(t,r,e.helpers.forBuiltinType({type:this.type,knownType:this.knownType,array:i,arrayStorage:i,boolean:i,buffer:i,null:s,number:i,object:()=>{},string:i,symbol:i,undefined:s,map:i,mapStorage:i,set:i,setStorage:i,error:i,forwardValue:i,iteratorResult:i,iterable:i,iterableIterator:i,transaction:i,output:i,attribute:i,input:i,account:i,asset:i,contract:i,header:i,block:i}))}}t.ToObjectHelper=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.UnwrapObjectHelper=void 0;const s=r(35);class i extends s.UnwrapHelper{}t.UnwrapObjectHelper=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WrapObjectHelper=void 0;const s=r(22),i=r(31);class n extends i.WrapHelper{constructor(){super(...arguments),this.type=s.Types.Object}}t.WrapObjectHelper=n},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isObject=t.isOnlyObject=t.hasObject=void 0;const s=r(20),i=r(80),n=r(97),a=r(98),o=r(99),l=r(81),p=r(136),c=r(137),u=r(100),d=r(138),m=r(101),h=r(139),f=r(72),y=r(102),g=r(140),O=r(141),S=r(105),b=r(103),P=r(104),v=r(144),C=r(145),x=r(106),T=r(107);t.hasObject=(e,r,i)=>s.tsUtils.type_.hasType(i,s=>t.isObject(e,r,s)),t.isOnlyObject=(e,r,i)=>s.tsUtils.type_.isOnlyType(i,s=>t.isObject(e,r,s)),t.isObject=(e,t,r)=>!(s.tsUtils.type_.isUnion(r)||s.tsUtils.type_.isIntersection(r)||T.isUndefined(e,t,r)||g.isNull(e,t,r)||o.isBoolean(e,t,r)||O.isNumber(e,t,r)||v.isString(e,t,r)||C.isSymbol(e,t,r)||l.isBuffer(e,t,r)||i.isArray(e,t,r)||n.isArrayStorage(e,t,r)||f.isMap(e,t,r)||y.isMapStorage(e,t,r)||b.isSet(e,t,r)||P.isSetStorage(e,t,r)||p.isError(e,t,r)||c.isForwardValue(e,t,r)||h.isIteratorResult(e,t,r)||d.isIterable(e,t,r)||m.isIterableIterator(e,t,r)||x.isTransaction(e,t,r)||S.isOutput(e,t,r)||a.isAttribute(e,t,r)||u.isInput(e,t,r))},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.IsOutputHelper=void 0;const s=r(22),i=r(30);
1class n extends i.IsHelper{constructor(){super(...arguments),this.type=s.Types.Output}}t.IsOutputHelper=n},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.UnwrapOutputHelper=void 0;const s=r(35);class i extends s.UnwrapHelper{}t.UnwrapOutputHelper=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WrapOutputHelper=void 0;const s=r(22),i=r(31);class n extends i.WrapHelper{constructor(){super(...arguments),this.type=s.Types.Output}}t.WrapOutputHelper=n},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isOutput=t.isOnlyOutput=t.hasOutput=void 0;const s=r(20);t.hasOutput=(e,r,i)=>s.tsUtils.type_.hasType(i,s=>t.isOutput(e,r,s)),t.isOnlyOutput=(e,r,i)=>s.tsUtils.type_.isOnlyType(i,s=>t.isOutput(e,r,s)),t.isOutput=(e,t,r)=>e.builtins.isInterface(t,r,"Output")},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WrapStringHelper=void 0;const s=r(22),i=r(31);class n extends i.WrapHelper{constructor(){super(...arguments),this.type=s.Types.String}}t.WrapStringHelper=n},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.UnwrapStringHelper=void 0;const s=r(35);class i extends s.UnwrapHelper{}t.UnwrapStringHelper=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.IsStringHelper=void 0;const s=r(22),i=r(30);class n extends i.IsHelper{constructor(){super(...arguments),this.type=s.Types.String}}t.IsStringHelper=n},function(e,t,r){"use strict";(function(e){Object.defineProperty(t,"__esModule",{value:!0}),t.ToStringHelper=void 0;const s=r(22),i=r(62);class n extends i.TypedHelper{constructor({initial:e=!0,type:t,knownType:r}){super({type:t,knownType:r}),this.initial=e}emit(t,r,i){if(!i.pushValue)return void t.emitOp(r,"DROP");const n=()=>{t.emitOp(r,"DROP"),t.emitPushString(r,"undefined")},a=()=>{t.emitOp(r,"DROP"),t.emitPushString(r,"null")},o=e=>{t.emitHelper(r,e,t.helpers.if({condition:()=>{t.emitHelper(r,e,t.helpers.unwrapBoolean)},whenTrue:()=>{t.emitPushString(r,"true")},whenFalse:()=>{t.emitPushString(r,"false")}}))},l=s=>{const i=t.scope.addUnique(),n=t.scope.addUnique();t.emitHelper(r,s,t.helpers.unwrapNumber),t.emitHelper(r,s,t.helpers.if({condition:()=>{t.emitOp(r,"DUP"),t.emitPushInt(r,0),t.emitOp(r,"NUMEQUAL")},whenTrue:()=>{t.emitOp(r,"DROP"),t.emitPushString(r,"0")},whenFalse:()=>{t.scope.set(t,r,s,i),t.emitPushBuffer(r,e.from([])),t.scope.set(t,r,s,n),t.emitHelper(r,s,t.helpers.forLoop({condition:()=>{t.scope.get(t,r,s,i),t.emitPushInt(r,0),t.emitOp(r,"GT")},each:()=>{t.scope.get(t,r,s,i),t.emitOp(r,"DUP"),t.emitPushInt(r,10),t.emitOp(r,"DIV"),t.scope.set(t,r,s,i),t.emitPushInt(r,10),t.emitOp(r,"MOD"),t.emitPushInt(r,48),t.emitOp(r,"ADD"),t.scope.get(t,r,s,n),t.emitOp(r,"CAT"),t.scope.set(t,r,s,n)},cleanup:()=>{}})),t.scope.get(t,r,s,n)}}))},p=e=>{t.emitHelper(r,e,t.helpers.unwrapString)},c=e=>{t.emitOp(r,"DROP"),t.emitHelper(r,e,t.helpers.throwTypeError)},u=e=>{t.emitHelper(r,e,t.helpers.toPrimitive({type:this.type,preferredType:"string"})),f(e,!1)},d=e=>{t.emitHelper(r,e,t.helpers.unwrapArray),t.emitHelper(r,e,t.helpers.arrToString({type:this.type,knownType:s.Types.Array}))},m=()=>{t.emitOp(r,"DROP"),t.emitPushString(r,"")},h=e=>{t.emitHelper(r,e,t.helpers.unwrapBuffer)},f=(e,s)=>{t.emitHelper(r,e,t.helpers.forBuiltinType({type:s?this.type:void 0,knownType:s?this.knownType:void 0,array:s?d:c,arrayStorage:m,boolean:o,buffer:h,null:a,number:l,object:s?u:c,string:p,symbol:c,undefined:n,map:m,mapStorage:m,set:m,setStorage:m,error:m,forwardValue:m,iteratorResult:m,iterable:m,iterableIterator:m,transaction:m,output:m,attribute:m,input:m,account:m,asset:m,contract:m,header:m,block:m}))};f(i,this.initial)}}t.ToStringHelper=n}).call(this,r(26).Buffer)},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isString=t.isOnlyString=t.hasString=void 0;const s=r(20);t.hasString=(e,r,i)=>s.tsUtils.type_.hasType(i,s=>t.isString(e,r,s)),t.isOnlyString=(e,r,i)=>s.tsUtils.type_.isOnlyType(i,s=>t.isString(e,r,s)),t.isString=(e,t,r)=>s.tsUtils.type_.isStringish(r)},function(e,t,r){"use strict";
1Object.defineProperty(t,"__esModule",{value:!0}),t.WrapSymbolHelper=void 0;const s=r(22),i=r(31);class n extends i.WrapHelper{constructor(){super(...arguments),this.type=s.Types.Symbol}}t.WrapSymbolHelper=n},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.UnwrapSymbolHelper=void 0;const s=r(35);class i extends s.UnwrapHelper{}t.UnwrapSymbolHelper=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.IsSymbolHelper=void 0;const s=r(22),i=r(30);class n extends i.IsHelper{constructor(){super(...arguments),this.type=s.Types.Symbol}}t.IsSymbolHelper=n},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isSymbol=t.isOnlySymbol=t.hasSymbol=void 0;const s=r(20);t.hasSymbol=(e,r,i)=>s.tsUtils.type_.hasType(i,s=>t.isSymbol(e,r,s)),t.isOnlySymbol=(e,r,i)=>s.tsUtils.type_.isOnlyType(i,s=>t.isSymbol(e,r,s)),t.isSymbol=(e,t,r)=>s.tsUtils.type_.isSymbolish(r)},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.IsTransactionHelper=void 0;const s=r(22),i=r(30);class n extends i.IsHelper{constructor(){super(...arguments),this.type=s.Types.Transaction}}t.IsTransactionHelper=n},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.UnwrapTransactionHelper=void 0;const s=r(35);class i extends s.UnwrapHelper{}t.UnwrapTransactionHelper=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WrapTransactionHelper=void 0;const s=r(22),i=r(31);class n extends i.WrapHelper{constructor(){super(...arguments),this.type=s.Types.Transaction}}t.WrapTransactionHelper=n},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isTransaction=t.isOnlyTransaction=t.hasTransaction=void 0;const s=r(20);t.hasTransaction=(e,r,i)=>s.tsUtils.type_.hasType(i,s=>t.isTransaction(e,r,s)),t.isOnlyTransaction=(e,r,i)=>s.tsUtils.type_.isOnlyType(i,s=>t.isTransaction(e,r,s)),t.isTransaction=(e,t,r)=>e.builtins.isInterface(t,r,"TransactionBase")||e.builtins.isInterface(t,r,"MinerTransaction")||e.builtins.isInterface(t,r,"IssueTransaction")||e.builtins.isInterface(t,r,"ClaimTransaction")||e.builtins.isInterface(t,r,"EnrollmentTransaction")||e.builtins.isInterface(t,r,"RegisterTransaction")||e.builtins.isInterface(t,r,"ContractTransaction")||e.builtins.isInterface(t,r,"StateTransaction")||e.builtins.isInterface(t,r,"PublishTransaction")||e.builtins.isInterface(t,r,"InvocationTransaction")||e.builtins.isType(t,r,"Transaction")},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WrapUndefinedHelper=void 0;const s=r(22),i=r(31);class n extends i.WrapHelper{constructor(){super(...arguments),this.length=1,this.type=s.Types.Undefined}}t.WrapUndefinedHelper=n},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.IsUndefinedHelper=void 0;const s=r(22),i=r(30);class n extends i.IsHelper{constructor(){super(...arguments),this.type=s.Types.Undefined}}t.IsUndefinedHelper=n},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isUndefined=t.isOnlyUndefined=t.hasUndefined=void 0;const s=r(20);t.hasUndefined=(e,r,i)=>s.tsUtils.type_.hasType(i,s=>t.isUndefined(e,r,s)),t.isOnlyUndefined=(e,r,i)=>s.tsUtils.type_.isOnlyType(i,s=>t.isUndefined(e,r,s)),t.isUndefined=(e,t,r)=>s.tsUtils.type_.isUndefinedish(r)},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ForBuiltinTypeHelper=void 0;const s=r(25),i=r(55),n=r(22),a=r(19),o=r(146),l=r(80),p=r(97),c=r(147),u=r(98),d=r(148),m=r(99),h=r(81),f=r(149),y=r(136),g=r(137),O=r(150),S=r(100),b=r(138),P=r(101),v=r(139),C=r(72),x=r(102),T=r(140),_=r(141),H=r(200),w=r(105),I=r(103),A=r(104),E=r(144),M=r(145),U=r(106),D=r(107);class N extends a.Helper{constructor({type:e,knownType:t,single:r,singleUndefined:s,singleFalse:i,optional:n,array:a,map:o,set:l,boolean:p,buffer:c,null:u,number:d,object:m,string:h,symbol:f,undefined:y,arrayStorage:g,mapStorage:O,setStorage:S,error:b,iteratorResult:P,iterable:v,iterableIterator:C,transaction:x,output:T,attribute:_,input:H,account:w,asset:I,contract:A,header:E,block:M,forwardValue:U}){super(),this.type=e,this.knownType=t,this.single=r,this.singleUndefined=s,this.singleFalse=i,this.optional=n,this.array=a,this.map=o,this.set=l,this.boolean=p,this.buffer=c,this.null=u,this.number=d,this.object=m,this.string=h,this.symbol=f,this.undefined=y,this.arrayStorage=g,this.mapStorage=O,this.setStorage=S,this.error=b,this.iteratorResult=P,this.iterable=v,this.iterableIterator=C,this.transaction=x,this.output=T,this.attribute=_,this.input=H,this.account=w,this.asset=I,this.contract=A,this.header=E,this.block=M,this.forwardValue=U}emit(e,t,r){if(void 0!==this.knownType)return void this.processKnownType(this.knownType,r);let s=this.type;void 0!==s&&e.context.builtins.isType(t,s,"ForwardedValue")&&(s=i.getForwardedValueType(s)),e.emitHelper(t,r,e.helpers.forType({type:s,single:this.single,singleUndefined:this.singleUndefined,singleFalse:this.singleFalse,optional:this.optional,types:[{hasType:r=>D.hasUndefined(e.context,t,r),isRuntimeType:r=>{e.emitHelper(t,r,e.helpers.isUndefined)},process:this.undefined},{hasType:r=>T.hasNull(e.context,t,r),isRuntimeType:r=>{e.emitHelper(t,r,e.helpers.isNull)},process:this.null},{hasType:r=>m.hasBoolean(e.context,t,r),isRuntimeType:r=>{e.emitHelper(t,r,e.helpers.isBoolean)},process:this.boolean},{hasType:r=>_.hasNumber(e.context,t,r),isRuntimeType:r=>{e.emitHelper(t,r,e.helpers.isNumber)},process:this.number},{hasType:r=>E.hasString(e.context,t,r),isRuntimeType:r=>{e.emitHelper(t,r,e.helpers.isString)},process:this.string},{hasType:r=>M.hasSymbol(e.context,t,r),isRuntimeType:r=>{e.emitHelper(t,r,e.helpers.isSymbol)},process:this.symbol},{hasType:r=>h.hasBuffer(e.context,t,r),isRuntimeType:r=>{e.emitHelper(t,r,e.helpers.isBuffer)},process:this.buffer},{hasType:r=>l.hasArray(e.context,t,r),isRuntimeType:r=>{e.emitHelper(t,r,e.helpers.isArray)},process:this.array},{hasType:r=>p.hasArrayStorage(e.context,t,r),isRuntimeType:r=>{e.emitHelper(t,r,e.helpers.isArrayStorage)},process:this.arrayStorage},{hasType:r=>C.hasMap(e.context,t,r),isRuntimeType:r=>{e.emitHelper(t,r,e.helpers.isMap)},process:this.map},{hasType:r=>x.hasMapStorage(e.context,t,r),isRuntimeType:r=>{e.emitHelper(t,r,e.helpers.isMapStorage)},process:this.mapStorage},{hasType:r=>I.hasSet(e.context,t,r),isRuntimeType:r=>{e.emitHelper(t,r,e.helpers.isSet)},process:this.set},{hasType:r=>A.hasSetStorage(e.context,t,r),isRuntimeType:r=>{e.emitHelper(t,r,e.helpers.isSetStorage)},process:this.setStorage},{hasType:r=>y.hasError(e.context,t,r),isRuntimeType:r=>{e.emitHelper(t,r,e.helpers.isError)},process:this.error},{hasType:r=>v.hasIteratorResult(e.context,t,r),isRuntimeType:r=>{e.emitHelper(t,r,e.helpers.isIteratorResult)},process:this.iteratorResult},{hasType:r=>P.hasIterableIterator(e.context,t,r),isRuntimeType:r=>{e.emitHelper(t,r,e.helpers.isIterableIterator)},process:this.iterableIterator},{hasType:r=>g.hasForwardValue(e.context,t,r),isRuntimeType:r=>{e.emitHelper(t,r,e.helpers.isForwardValue)},process:this.forwardValue},{hasType:r=>U.hasTransaction(e.context,t,r),isRuntimeType:r=>{e.emitHelper(t,r,e.helpers.isTransaction)},process:this.transaction},{hasType:r=>w.hasOutput(e.context,t,r),isRuntimeType:r=>{e.emitHelper(t,r,e.helpers.isOutput)},process:this.output},{hasType:r=>u.hasAttribute(e.context,t,r),isRuntimeType:r=>{e.emitHelper(t,r,e.helpers.isAttribute)},process:this.attribute},{hasType:r=>S.hasInput(e.context,t,r),isRuntimeType:r=>{e.emitHelper(t,r,e.helpers.isInput)},process:this.input},{hasType:r=>o.hasAccount(e.context,t,r),isRuntimeType:r=>{e.emitHelper(t,r,e.helpers.isAccount)},process:this.account},{hasType:r=>c.hasAsset(e.context,t,r),isRuntimeType:r=>{e.emitHelper(t,r,e.helpers.isAsset)},process:this.asset},{hasType:r=>f.hasContract(e.context,t,r),isRuntimeType:r=>{e.emitHelper(t,r,e.helpers.isContract)},process:this.contract},{hasType:r=>O.hasHeader(e.context,t,r),isRuntimeType:r=>{e.emitHelper(t,r,e.helpers.isHeader)},process:this.header},{hasType:r=>d.hasBlock(e.context,t,r),isRuntimeType:r=>{e.emitHelper(t,r,e.helpers.isBlock)},process:this.block},{hasType:r=>b.hasIterable(e.context,t,r),isRuntimeType:r=>{e.emitHelper(t,r,e.helpers.isIterable)},process:this.iterable},{hasType:r=>H.hasObject(e.context,t,r),isRuntimeType:r=>{e.emitHelper(t,r,e.helpers.isObject)},process:this.object}]}))}processKnownType(e,t){switch(e){case n.Types.Array:this.array(t);break;case n.Types.ArrayStorage:this.arrayStorage(t);break;case n.Types.Map:this.map(t);break;case n.Types.MapStorage:this.mapStorage(t);break;case n.Types.Set:this.set(t);break;case n.Types.SetStorage:this.setStorage(t);break;case n.Types.Error:this.error(t);break;case n.Types.IteratorResult:this.iteratorResult(t);break;case n.Types.Iterable:this.iterable(t);break;case n.Types.IterableIterator:this.iterableIterator(t);break;case n.Types.Boolean:this.boolean(t);break;case n.Types.Buffer:this.buffer(t);break;case n.Types.ForwardValue:this.forwardValue(t);break;case n.Types.Null:this.null(t);break;case n.Types.Number:this.number(t);break;case n.Types.Object:this.object(t);break;case n.Types.String:this.string(t);break;case n.Types.Symbol:this.symbol(t);break;case n.Types.Undefined:this.undefined(t);break;case n.Types.Transaction:this.transaction(t);break;case n.Types.Output:this.output(t);break;case n.Types.Attribute:this.attribute(t);break;case n.Types.Input:this.input(t);break;case n.Types.Account:this.account(t);break;case n.Types.Asset:this.asset(t);break;case n.Types.Contract:this.contract(t);break;case n.Types.Header:this.header(t);break;case n.Types.Block:this.block(t);break;default:s.utils.assertNever(e)}}}t.ForBuiltinTypeHelper=N},function(e,t,r){"use strict";
1Object.defineProperty(t,"__esModule",{value:!0}),t.createMemoized=void 0;const s=Object.create(null);t.createMemoized=()=>{const e={};return(t,r,i)=>{let n=e[t];void 0===n&&(n=new Map,e[t]=n);let a=n.get(r);if(void 0===a&&(a=i(),n.set(r,void 0===a?s:a)),a!==s)return a}}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getAllSourceFiles=void 0;const s=r(18),i=r(20),n=r(25),a=s.__importDefault(r(21)),o=(e,t,r=new Set)=>e.reduce((e,s)=>{if(r.has(s))return[];r.add(s);const l=i.tsUtils.statement.getStatements(s).filter(a.default.isImportDeclaration).map(e=>i.tsUtils.importExport.getModuleSpecifierSourceFile(t,e)).filter(n.utils.notNull),p=i.tsUtils.statement.getStatements(s).filter(a.default.isExportDeclaration).map(e=>i.tsUtils.importExport.getModuleSpecifierSourceFile(t,e)).filter(n.utils.notNull),c=[...new Set(l.concat(p))],u=o(c,t,r);return e.concat(u).concat([s])},[]);t.getAllSourceFiles=(e,t)=>new Set(o(e,t))},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getSetterName=void 0;const s=r(25);t.getSetterName=e=>"set"+s.upperCaseFirst(e)},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.nodeKey=void 0;t.nodeKey=e=>""+(e=>{const t=e;return null==t.id?`${e.getSourceFile().fileName}:${e.getStart()}:${e.getWidth()}`:t.id})(e)},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.throwOnDiagnosticErrorOrWarning=void 0;const s=r(18).__importDefault(r(21)),i=r(207);t.throwOnDiagnosticErrorOrWarning=function(e,t=!1,r=""){const n=e.filter(e=>e.category===s.default.DiagnosticCategory.Error),a=e.filter(e=>e.category===s.default.DiagnosticCategory.Warning),o=0===n.length?void 0:n.map(e=>"Compilation error: "+i.getDiagnosticMessage(e)).join("\n"),l=0===a.length?void 0:a.map(e=>"Compilation warning: "+i.getDiagnosticMessage(e)).join("\n");if(void 0!==o){const e=new Error(`${o}${void 0===l?"":l}`);throw e.message=r,e.stack=o,e}if(void 0!==l&&!t)throw new Error(l)}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.toABIReturn=void 0;const s=r(18),i=r(20),n=s.__importDefault(r(21)),a=r(134),o=r(44),l=r(32),p=r(33),c=r(209),u=r(210);t.toABIReturn=function e(t,r,s,d=!1,m=a.DEFAULT_DIAGNOSTIC_OPTIONS){let h=s;if(void 0===h)return;if(i.tsUtils.type_.isOnlyVoidish(h))return{type:"Void",optional:!1};let f=d;i.tsUtils.type_.hasUndefinedish(h)&&(h=i.tsUtils.type_.getNonNullableType(h),f=!0);let y=!1;if(t.builtins.isType(r,h,"ForwardedValue")&&(h=u.getForwardedValueType(h),y=!0),void 0!==h&&(i.tsUtils.type_.hasUndefinedish(h)&&(h=i.tsUtils.type_.getNonNullableType(h),f=!0),h=t.analysis.getNotAnyType(r,h),void 0!==h)){if(o.isOnlyBoolean(t,r,h))return{type:"Boolean",optional:f,forwardedValue:y};if(t.builtins.isInterface(r,h,"Address"))return{type:"Address",optional:f,forwardedValue:y};if(t.builtins.isInterface(r,h,"Hash256"))return{type:"Hash256",optional:f,forwardedValue:y};if(t.builtins.isInterface(r,h,"PublicKey"))return{type:"PublicKey",optional:f,forwardedValue:y};if(o.isOnlyString(t,r,h))return{type:"String",optional:f,forwardedValue:y};if(i.tsUtils.type_.isOnlyNumberLiteral(h))return{type:"Integer",optional:f,decimals:0,forwardedValue:y};if(t.builtins.isType(r,h,"Fixed")){const e=c.getFixedDecimals(h);return{type:"Integer",optional:f,decimals:void 0===e?0:e,forwardedValue:y}}if(i.tsUtils.type_.isOnlyNumberish(h))return{type:"Integer",optional:f,decimals:0,forwardedValue:y};if(o.isOnlyArray(t,r,h)){const s=i.tsUtils.type_.getTypeArguments(h);if(void 0!==s){const i=e(t,r,s[0]);if(void 0!==i)return{type:"Array",optional:f,value:i,forwardedValue:y}}}if(o.isOnlyMap(t,r,h)){const s=i.tsUtils.type_.getTypeArguments(h);if(void 0!==s&&2===s.length){const i=e(t,r,s[0]),n=e(t,r,s[1]);if(void 0!==i&&void 0!==n)return{type:"Map",optional:f,key:i,value:n,forwardedValue:y}}}if(o.isOnlyBuffer(t,r,h))return{type:"Buffer",optional:f,forwardedValue:y};if(o.isOnlyForwardValue(t,r,h))return{type:"ForwardValue",optional:f,forwardedValue:y};if(o.isOnlyObject(t,r,h)){return{type:"Object",optional:f,forwardedValue:y,properties:i.tsUtils.type_.getProperties(h).reduce((s,a)=>{const o=t.analysis.getTypeOfSymbol(a,r),c=i.tsUtils.symbol.getDeclarations(a),u=0===c.length?r:c[0];if(!n.default.isPropertyDeclaration(u)&&!n.default.isPropertySignature(u))return m.error?t.reportError(u,l.DiagnosticCode.InvalidContractType,p.DiagnosticMessage.InvalidContractType):m.warning&&t.reportWarning(u,l.DiagnosticCode.InvalidContractType,p.DiagnosticMessage.InvalidContractType),s;const d=e(t,u,o);return void 0===d?s:Object.assign(Object.assign({},s),{[i.tsUtils.symbol.getName(a)]:d})},{})}}m.error?t.reportError(r,l.DiagnosticCode.InvalidContractType,p.DiagnosticMessage.InvalidContractType):m.warning&&t.reportWarning(r,l.DiagnosticCode.InvalidContractType,p.DiagnosticMessage.InvalidContractType)}}},function(e,t,r){"use strict";
1Object.defineProperty(t,"__esModule",{value:!0}),t.typeKey=void 0;let s=0;t.typeKey=e=>""+(e=>{const t=e;return null==t.id&&void 0===t.__id?(s+=1,t.__id=s,s):t.id||t.__id})(e)},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ForTypeHelper=void 0;const s=r(18),i=r(20),n=s.__importDefault(r(29)),a=r(32),o=r(33),l=r(19),p=r(99),c=r(107);class u extends l.Helper{constructor({type:e,types:t,single:r,singleUndefined:s,singleFalse:i,defaultCase:n,optional:a=!1}){super(),this.type=e,this.types=t,this.single=void 0!==r&&r,this.singleUndefined=s,this.singleFalse=i,this.optional=a,this.defaultCase=n}emit(e,t,r){const s=e.noCastOptions(r),l=e.pushValueOptions(e.noCastOptions(r));let u=void 0===this.type?r.cast:this.type,d=!1,m=!1;void 0!==u&&this.single&&(this.optional||c.hasUndefined(e.context,t,u))&&void 0!==this.singleUndefined&&(u=i.tsUtils.type_.getNonNullableType(u),d=!0),void 0!==u&&this.single&&p.hasBooleanFalse(e.context,t,u)&&void 0!==this.singleFalse&&(u=i.tsUtils.type_.filterUnion(e.context.typeChecker,u,r=>!p.isBooleanFalse(e.context,t,r)),m=!0);const h=u,f=void 0===h?this.types:this.types.filter(e=>e.hasType(h)),y=new Map;for(const e of f){const t=y.get(e.process);void 0===t?y.set(e.process,[e]):t.push(e)}let g=void 0===this.defaultCase?r=>{e.emitOp(t,"DROP"),e.emitHelper(t,r,e.helpers.throwTypeError)}:this.defaultCase;if(this.single&&(1!==f.length||d&&m))e.context.reportError(t,a.DiagnosticCode.UnknownType,o.DiagnosticMessage.ResolveOneType);else if(0===f.length)g(s);else if(1===y.size){const r=this.singleUndefined,i=this.singleFalse;d&&void 0!==r?e.emitHelper(t,l,e.helpers.if({condition:()=>{e.emitOp(t,"DUP"),e.emitOp(t,"SIZE"),e.emitPushInt(t,0),e.emitOp(t,"NUMEQUAL")},whenTrue:()=>{r(l)},whenFalse:()=>{f[0].process(s)}})):m&&void 0!==i?e.emitHelper(t,l,e.helpers.if({condition:()=>{e.emitOp(t,"DUP"),e.emitOp(t,"SIZE"),e.emitPushInt(t,0),e.emitOp(t,"NUMEQUAL")},whenTrue:()=>{i(l)},whenFalse:()=>{f[0].process(s)}})):f[0].process(s)}else{const r=n.default.sortBy([...y.entries()],[e=>e[1].length]);let i=r;void 0===this.defaultCase&&(i=r.slice(0,-1),g=e=>{const[t]=r[r.length-1];t(e)}),e.emitHelper(t,l,e.helpers.case(i.map(([r,i])=>({condition:()=>{e.emitOp(t,"DUP"),i[0].isRuntimeType(l),i.slice(1).forEach(r=>{e.emitOp(t,"OVER"),r.isRuntimeType(l),e.emitOp(t,"BOOLOR")})},whenTrue:()=>{r(s)}})),()=>{g(s)}))}}}t.ForTypeHelper=u},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ForIterableTypeHelper=void 0;const s=r(25),i=r(22),n=r(19),a=r(80),o=r(97),l=r(101),p=r(72),c=r(102),u=r(103),d=r(104);class m extends n.Helper{constructor({type:e,knownType:t,array:r,map:s,set:i,arrayStorage:n,mapStorage:a,setStorage:o,iterableIterator:l,defaultCase:p}){super(),this.type=e,this.knownType=t,this.array=r,this.map=s,this.set=i,this.arrayStorage=n,this.mapStorage=a,this.setStorage=o,this.iterableIterator=l,this.defaultCase=p}emit(e,t,r){void 0===this.knownType?e.emitHelper(t,r,e.helpers.forType({type:this.type,defaultCase:this.defaultCase,types:[{hasType:r=>a.hasArray(e.context,t,r),isRuntimeType:r=>{e.emitHelper(t,r,e.helpers.isArray)},process:this.array},{hasType:r=>o.hasArrayStorage(e.context,t,r),isRuntimeType:r=>{e.emitHelper(t,r,e.helpers.isArrayStorage)},process:this.arrayStorage},{hasType:r=>p.hasMap(e.context,t,r),isRuntimeType:r=>{e.emitHelper(t,r,e.helpers.isMap)},process:this.map},{hasType:r=>c.hasMapStorage(e.context,t,r),isRuntimeType:r=>{e.emitHelper(t,r,e.helpers.isMapStorage)},process:this.mapStorage},{hasType:r=>u.hasSet(e.context,t,r),isRuntimeType:r=>{e.emitHelper(t,r,e.helpers.isSet)},process:this.set},{hasType:r=>d.hasSetStorage(e.context,t,r),isRuntimeType:r=>{e.emitHelper(t,r,e.helpers.isSetStorage)},process:this.setStorage},{hasType:r=>l.hasIterableIterator(e.context,t,r),isRuntimeType:r=>{e.emitHelper(t,r,e.helpers.isIterableIterator)},process:this.iterableIterator}]})):this.processKnownType(this.knownType,r)}processKnownType(e,t){switch(e){case i.Types.Array:this.array(t);break;case i.Types.ArrayStorage:this.arrayStorage(t);break;case i.Types.Map:this.map(t);break;case i.Types.MapStorage:this.mapStorage(t);break;case i.Types.Set:this.set(t);break;case i.Types.SetStorage:this.setStorage(t);break;case i.Types.IterableIterator:this.iterableIterator(t);break;default:s.utils.assertNever(e)}}}t.ForIterableTypeHelper=m},function(e,t,r){"use strict";
1Object.defineProperty(t,"__esModule",{value:!0}),t.IsNullOrUndefinedHelper=void 0;const s=r(62);class i extends s.TypedHelper{emit(e,t,r){if(!r.pushValue)return void e.emitOp(t,"DROP");const s=()=>{e.emitOp(t,"DROP"),e.emitPushBoolean(t,!1)},i=()=>{e.emitOp(t,"DROP"),e.emitPushBoolean(t,!0)};e.emitHelper(t,r,e.helpers.forBuiltinType({type:this.type,knownType:this.knownType,array:s,arrayStorage:s,boolean:s,buffer:s,null:i,number:s,object:s,string:s,symbol:s,undefined:i,map:s,mapStorage:s,set:s,setStorage:s,error:s,forwardValue:s,iteratorResult:s,iterable:s,iterableIterator:s,transaction:s,output:s,attribute:s,input:s,account:s,asset:s,contract:s,header:s,block:s}))}}t.IsNullOrUndefinedHelper=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ToPrimitiveHelper=void 0;const s=r(22),i=r(19);class n extends i.Helper{constructor({type:e,knownType:t,preferredType:r="default"}){super(),this.type=e,this.knownType=t,this.preferredType=r}emit(e,t,r){if(!r.pushValue)return void e.emitOp(t,"DROP");const i=r=>{e.emitOp(t,"DROP"),e.emitHelper(t,r,e.helpers.throwTypeError)},n=r=>{e.emitOp(t,"DROP"),i(r)},a=()=>{},o=r=>s=>{e.emitHelper(t,s,e.helpers.toString({type:this.type,knownType:r})),e.emitHelper(t,s,e.helpers.wrapString)};e.emitHelper(t,r,e.helpers.forBuiltinType({type:this.type,knownType:this.knownType,array:o(s.Types.Array),arrayStorage:o(s.Types.Array),boolean:a,buffer:r=>{e.emitHelper(t,r,e.helpers.unwrapBuffer),e.emitHelper(t,r,e.helpers.wrapString)},null:a,number:a,object:o=>{const l=()=>{e.emitOp(t,"NIP")},p=()=>{const s="string"===this.preferredType?["toString","valueOf"]:["valueOf","toString"],o=r=>{e.emitHelper(t,r,e.helpers.getPropertyObjectProperty),e.emitHelper(t,r,e.helpers.if({condition:()=>{e.emitOp(t,"DUP"),e.emitHelper(t,r,e.helpers.isUndefined)},whenTrue:()=>{e.emitOp(t,"DROP")},whenFalse:()=>{e.emitHelper(t,r,e.helpers.invokeCall({bindThis:!0,noArgs:!0}))}}))},p=n=>{e.emitOp(t,"DROP"),e.emitOp(t,"DUP"),e.emitPushString(t,s[1]),o(n),e.emitHelper(t,r,e.helpers.forBuiltinType({type:void 0,knownType:void 0,array:i,arrayStorage:i,boolean:a,buffer:i,null:a,number:a,object:i,string:a,symbol:a,undefined:a,map:i,mapStorage:i,set:i,setStorage:i,error:i,forwardValue:i,iteratorResult:i,iterable:i,iterableIterator:i,transaction:i,output:i,attribute:i,input:i,account:i,asset:i,contract:i,header:i,block:i}))};e.emitOp(t,"DUP"),e.emitOp(t,"DUP"),e.emitPushString(t,s[0]),o(r),e.emitHelper(t,r,e.helpers.forBuiltinType({type:void 0,knownType:void 0,array:p,arrayStorage:n,boolean:l,buffer:p,null:l,number:l,object:p,string:l,symbol:l,undefined:l,map:n,mapStorage:n,set:n,setStorage:n,error:n,forwardValue:n,iteratorResult:n,iterable:n,iterableIterator:n,transaction:n,output:n,attribute:n,input:n,account:n,asset:n,contract:n,header:n,block:n}))};e.emitOp(t,"DUP"),e.emitPushString(t,s.WellKnownSymbol.toPrimitive),e.emitHelper(t,o,e.helpers.getSymbolObjectProperty),e.emitHelper(t,o,e.helpers.if({condition:()=>{e.emitOp(t,"DUP"),e.emitHelper(t,o,e.helpers.isUndefined)},whenTrue:()=>{e.emitOp(t,"DROP"),p()},whenFalse:()=>{e.emitPushString(t,this.preferredType),e.emitPushInt(t,1),e.emitOp(t,"PACK"),e.emitOp(t,"ROT"),e.emitOp(t,"ROT"),e.emitHelper(t,o,e.helpers.invokeCall({bindThis:!0}))}}))},string:a,symbol:a,undefined:a,map:o(s.Types.Array),mapStorage:o(s.Types.Array),set:o(s.Types.Array),setStorage:o(s.Types.Array),error:o(s.Types.Error),forwardValue:o(s.Types.ForwardValue),iteratorResult:o(s.Types.IteratorResult),iterable:o(s.Types.Iterable),iterableIterator:o(s.Types.IterableIterator),transaction:o(s.Types.Transaction),output:o(s.Types.Output),attribute:o(s.Types.Attribute),input:o(s.Types.Input),account:o(s.Types.Account),asset:o(s.Types.Asset),contract:o(s.Types.Contract),header:o(s.Types.Header),block:o(s.Types.Block)}))}}t.ToPrimitiveHelper=n},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.UnwrapValHelper=void 0;const s=r(25),i=r(22),n=r(19);class a extends n.Helper{constructor(e){super(),this.type=e.type}emit(e,t,r){switch(this.type){case i.Types.Array:e.emitHelper(t,r,e.helpers.unwrapArray);break;case i.Types.ArrayStorage:e.emitHelper(t,r,e.helpers.unwrapArrayStorage);break;case i.Types.Attribute:e.emitHelper(t,r,e.helpers.unwrapAttribute);break;
1case i.Types.Boolean:e.emitHelper(t,r,e.helpers.unwrapBoolean);break;case i.Types.Buffer:e.emitHelper(t,r,e.helpers.unwrapBuffer);break;case i.Types.Error:e.emitHelper(t,r,e.helpers.unwrapError);break;case i.Types.ForwardValue:e.emitHelper(t,r,e.helpers.unwrapForwardValue);break;case i.Types.Input:e.emitHelper(t,r,e.helpers.unwrapInput);break;case i.Types.IterableIterator:e.emitHelper(t,r,e.helpers.unwrapIterableIterator);break;case i.Types.IteratorResult:e.emitHelper(t,r,e.helpers.unwrapIteratorResult);break;case i.Types.Map:e.emitHelper(t,r,e.helpers.unwrapMap);break;case i.Types.MapStorage:e.emitHelper(t,r,e.helpers.unwrapMapStorage);break;case i.Types.Number:e.emitHelper(t,r,e.helpers.unwrapNumber);break;case i.Types.Object:e.emitHelper(t,r,e.helpers.unwrapObject);break;case i.Types.Output:e.emitHelper(t,r,e.helpers.unwrapOutput);break;case i.Types.Set:e.emitHelper(t,r,e.helpers.unwrapSet);break;case i.Types.SetStorage:e.emitHelper(t,r,e.helpers.unwrapSetStorage);break;case i.Types.String:e.emitHelper(t,r,e.helpers.unwrapString);break;case i.Types.Transaction:e.emitHelper(t,r,e.helpers.unwrapTransaction);break;case i.Types.Symbol:e.emitHelper(t,r,e.helpers.unwrapSymbol);break;case i.Types.Account:e.emitHelper(t,r,e.helpers.unwrapAccount);break;case i.Types.Asset:e.emitHelper(t,r,e.helpers.unwrapAsset);break;case i.Types.Contract:e.emitHelper(t,r,e.helpers.unwrapContract);break;case i.Types.Header:e.emitHelper(t,r,e.helpers.unwrapHeader);break;case i.Types.Block:e.emitHelper(t,r,e.helpers.unwrapBlock);break;default:s.utils.assertNever(this.type)}}}t.UnwrapValHelper=a},function(e,t,r){"use strict";(function(e){Object.defineProperty(t,"__esModule",{value:!0}),t.UnwrapValRecursiveHelper=void 0;const s=r(20),i=r(19),n=r(72);class a extends i.Helper{constructor(e){var t;super(),this.type=e.type,this.deserializeBeforeUnwrap=null!==(t=e.deserializeBeforeUnwrap)&&void 0!==t&&t}emit(t,r,i){if(void 0===this.type)return;i.pushValue||t.emitOp(r,"DROP");const a=s.tsUtils.type_.getNonNullableType(this.type);this.deserializeBeforeUnwrap&&t.emitSysCall(r,"Neo.Runtime.Deserialize"),t.emitHelper(r,i,t.helpers.forBuiltinType({type:this.type,array:e=>{t.emitHelper(r,e,t.helpers.unwrapArray),t.emitHelper(r,e,t.helpers.arrMap({map:e=>{const i=s.tsUtils.type_.getArrayType(a),n=void 0===i?void 0:t.context.analysis.getNotAnyType(r,i);t.emitHelper(r,e,t.helpers.unwrapValRecursive({type:n}))}}))},arrayStorage:e=>{t.emitOp(r,"DROP"),t.emitHelper(r,e,t.helpers.throwTypeError)},boolean:e=>{t.emitHelper(r,e,t.helpers.unwrapBoolean)},buffer:e=>{t.emitHelper(r,e,t.helpers.unwrapBuffer)},null:()=>{t.emitOp(r,"DROP"),t.emitPushBuffer(r,e.from([]))},number:e=>{t.emitHelper(r,e,t.helpers.unwrapNumber)},object:e=>{t.emitOp(r,"NEWMAP"),s.tsUtils.type_.getProperties(a).forEach(i=>{const n=t.context.analysis.getTypeOfSymbol(i,r);t.emitOp(r,"TUCK"),t.emitOp(r,"OVER"),t.emitPushString(r,s.tsUtils.symbol.getName(i)),t.emitOp(r,"TUCK"),t.emitHelper(r,e,t.helpers.getPropertyObjectProperty),t.emitHelper(r,e,t.helpers.unwrapValRecursive({type:n})),t.emitOp(r,"SETITEM"),t.emitOp(r,"SWAP")}),t.emitOp(r,"NIP")},string:e=>{t.emitHelper(r,e,t.helpers.unwrapString)},symbol:e=>{t.emitHelper(r,e,t.helpers.unwrapSymbol)},undefined:()=>{t.emitOp(r,"DROP"),t.emitPushBuffer(r,e.from([]))},map:e=>{t.emitHelper(r,e,t.helpers.unwrapMap),t.emitHelper(r,e,t.helpers.mapMap({map:e=>{let i,o;if(n.isOnlyMap(t.context,r,a)){const e=s.tsUtils.type_.getTypeArgumentsArray(a)[0];i=void 0===e?void 0:t.context.analysis.getNotAnyType(r,e);const n=s.tsUtils.type_.getTypeArgumentsArray(a)[1];o=void 0===n?void 0:t.context.analysis.getNotAnyType(r,n)}t.emitHelper(r,e,t.helpers.unwrapValRecursive({deserializeBeforeUnwrap:!0,type:i})),t.emitOp(r,"SWAP"),t.emitHelper(r,e,t.helpers.unwrapValRecursive({type:o})),t.emitOp(r,"SWAP")}}))},mapStorage:e=>{t.emitOp(r,"DROP"),t.emitHelper(r,e,t.helpers.throwTypeError)},set:e=>{t.emitOp(r,"DROP"),t.emitHelper(r,e,t.helpers.throwTypeError)},setStorage:e=>{t.emitOp(r,"DROP"),t.emitHelper(r,e,t.helpers.throwTypeError)},error:e=>{t.emitOp(r,"DROP"),t.emitHelper(r,e,t.helpers.throwTypeError)},forwardValue:e=>{t.emitHelper(r,e,t.helpers.unwrapForwardValue)},iteratorResult:e=>{t.emitOp(r,"DROP"),t.emitHelper(r,e,t.helpers.throwTypeError)},iterableIterator:e=>{t.emitOp(r,"DROP"),t.emitHelper(r,e,t.helpers.throwTypeError)},iterable:e=>{t.emitOp(r,"DROP"),t.emitHelper(r,e,t.helpers.throwTypeError)},transaction:e=>{t.emitHelper(r,e,t.helpers.unwrapTransaction)},output:e=>{t.emitHelper(r,e,t.helpers.unwrapOutput)},attribute:e=>{t.emitHelper(r,e,t.helpers.unwrapAttribute)}
1,input:e=>{t.emitHelper(r,e,t.helpers.unwrapInput)},account:e=>{t.emitHelper(r,e,t.helpers.unwrapAccount)},asset:e=>{t.emitHelper(r,e,t.helpers.unwrapAsset)},contract:e=>{t.emitHelper(r,e,t.helpers.unwrapContract)},header:e=>{t.emitHelper(r,e,t.helpers.unwrapHeader)},block:e=>{t.emitHelper(r,e,t.helpers.unwrapBlock)}}))}}t.UnwrapValRecursiveHelper=a}).call(this,r(26).Buffer)},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WrapArrayValHelper=void 0;const s=r(19);class i extends s.Helper{constructor(e){super(),this.type=e.type}emit(e,t,r){e.emitHelper(t,r,e.helpers.arrMap({map:r=>{e.emitHelper(t,r,e.helpers.wrapVal({type:this.type}))}})),e.emitHelper(t,r,e.helpers.wrapArray)}}t.WrapArrayValHelper=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WrapValHelper=void 0;const s=r(25),i=r(22),n=r(19);class a extends n.Helper{constructor(e){super(),this.type=e.type}emit(e,t,r){switch(this.type){case i.Types.Array:e.emitHelper(t,r,e.helpers.wrapArray);break;case i.Types.ArrayStorage:e.emitHelper(t,r,e.helpers.wrapArrayStorage);break;case i.Types.Attribute:e.emitHelper(t,r,e.helpers.wrapAttribute);break;case i.Types.Boolean:e.emitHelper(t,r,e.helpers.wrapBoolean);break;case i.Types.Buffer:e.emitHelper(t,r,e.helpers.wrapBuffer);break;case i.Types.Error:e.emitHelper(t,r,e.helpers.wrapError);break;case i.Types.ForwardValue:e.emitHelper(t,r,e.helpers.wrapForwardValue);break;case i.Types.Input:e.emitHelper(t,r,e.helpers.wrapInput);break;case i.Types.IteratorResult:e.emitHelper(t,r,e.helpers.wrapIteratorResult);break;case i.Types.IterableIterator:e.emitHelper(t,r,e.helpers.wrapIterableIterator);break;case i.Types.Map:e.emitHelper(t,r,e.helpers.wrapMap);break;case i.Types.MapStorage:e.emitHelper(t,r,e.helpers.wrapMapStorage);break;case i.Types.Number:e.emitHelper(t,r,e.helpers.wrapNumber);break;case i.Types.Object:e.emitHelper(t,r,e.helpers.wrapObject);break;case i.Types.Output:e.emitHelper(t,r,e.helpers.wrapOutput);break;case i.Types.Set:e.emitHelper(t,r,e.helpers.wrapSet);break;case i.Types.SetStorage:e.emitHelper(t,r,e.helpers.wrapSetStorage);break;case i.Types.String:e.emitHelper(t,r,e.helpers.wrapString);break;case i.Types.Transaction:e.emitHelper(t,r,e.helpers.wrapTransaction);break;case i.Types.Symbol:e.emitHelper(t,r,e.helpers.wrapSymbol);break;case i.Types.Account:e.emitHelper(t,r,e.helpers.wrapAccount);break;case i.Types.Asset:e.emitHelper(t,r,e.helpers.wrapAsset);break;case i.Types.Contract:e.emitHelper(t,r,e.helpers.wrapContract);break;case i.Types.Header:e.emitHelper(t,r,e.helpers.wrapHeader);break;case i.Types.Block:e.emitHelper(t,r,e.helpers.wrapBlock);break;default:s.utils.assertNever(this.type)}}}t.WrapValHelper=a},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WrapValRecursiveHelper=void 0;const s=r(18),i=r(24),n=r(20),a=s.__importDefault(r(29)),o=r(19),l=r(81),p=r(72);class c extends o.Helper{constructor(e){var t;super(),this.checkValue=void 0!==e.checkValue&&e.checkValue,this.type=e.type,this.optional=e.optional,this.serializeFinalVal=null!==(t=e.serializeFinalVal)&&void 0!==t&&t}emit(e,t,r){if(void 0===this.type)return;const s=(r,s)=>i=>{i.pushValue?(s(i),this.serializeFinalVal&&e.emitSysCall(t,"Neo.Runtime.Serialize")):r&&e.emitOp(t,"DROP")},o=s(!1,r=>{e.emitOp(t,"DROP"),e.emitHelper(t,r,e.helpers.wrapUndefined)}),c=s(!0,r=>{e.emitHelper(t,r,e.helpers.wrapBoolean)}),u=n.tsUtils.type_.getNonNullableType(this.type);e.emitHelper(t,r,e.helpers.forBuiltinType({type:this.type,single:!0,singleUndefined:o,singleFalse:c,optional:this.optional,array:s(!0,r=>{const s=n.tsUtils.type_.getTupleElements(u);if(void 0===s)e.emitHelper(t,r,e.helpers.arrMap({map:r=>{e.emitHelper(t,r,e.helpers.wrapValRecursive({checkValue:this.checkValue,type:e.context.analysis.getNotAnyType(t,n.tsUtils.type_.getArrayType(u))}))}}));else{const i=s.map(r=>{const s=n.tsUtils.type_.getConstraint(r);return e.context.analysis.getNotAnyType(t,void 0===s?r:s)});a.default.reverse([...i]).forEach((i,n)=>{e.emitOp(t,"DUP"),e.emitPushInt(t,s.length-n-1),e.emitOp(t,"PICKITEM"),e.emitHelper(t,r,e.helpers.wrapValRecursive({checkValue:this.checkValue,type:i})),e.emitOp(t,"SWAP")}),e.emitOp(t,"DROP"),e.emitPushInt(t,s.length),e.emitOp(t,"PACK")}e.emitHelper(t,r,e.helpers.wrapArray)}),arrayStorage:s(!0,r=>{e.emitHelper(t,r,e.helpers.throwTypeError)}),boolean:c,buffer:s(!0,r=>{this.checkValue&&(l.isAddress(e.context,t,u)||l.isHash256(e.context,t,u)||l.isPublicKey(e.context,t,u))&&(e.emitOp(t,"DUP"),e.emitOp(t,"SIZE"),e.emitHelper(t,r,e.helpers.if({condition:()=>{const r=l.isAddress(e.context,t,u)?i.common.UINT160_BUFFER_BYTES:l.isHash256(e.context,t,u)?i.common.UINT256_BUFFER_BYTES:i.common.ECPOINT_BUFFER_BYTES;e.emitPushInt(t,r),e.emitOp(t,"NUMEQUAL")},whenFalse:()=>{e.emitOp(t,"DROP"),e.emitHelper(t,r,e.helpers.throwTypeError)}}))),e.emitHelper(t,r,e.helpers.wrapBuffer)}),null:s(!1,r=>{e.emitOp(t,"DROP"),e.emitHelper(t,r,e.helpers.wrapNull)}),number:s(!0,r=>{e.emitHelper(t,r,e.helpers.wrapNumber)}),object:s(!0,s=>{e.emitHelper(t,r,e.helpers.createObject),n.tsUtils.type_.getProperties(u).forEach(r=>{const i=e.context.analysis.getTypeOfSymbol(r,t);e.emitOp(t,"TUCK"),e.emitOp(t,"OVER"),e.emitPushString(t,n.tsUtils.symbol.getName(r)),e.emitOp(t,"OVER"),e.emitOp(t,"OVER"),e.emitHelper(t,s,e.helpers.if({condition:()=>{e.emitOp(t,"HASKEY")},whenTrue:()=>{e.emitOp(t,"PICKITEM"),e.emitHelper(t,s,e.helpers.wrapValRecursive({type:i}))},whenFalse:()=>{e.emitOp(t,"DROP"),e.emitOp(t,"DROP"),e.emitHelper(t,s,e.helpers.wrapUndefined)}})),e.emitPushString(t,n.tsUtils.symbol.getName(r)),e.emitOp(t,"SWAP"),e.emitHelper(t,s,e.helpers.setDataPropertyObjectProperty),e.emitOp(t,"SWAP")}),e.emitOp(t,"NIP")}),string:s(!0,r=>{e.emitHelper(t,r,e.helpers.wrapString)}),symbol:s(!0,r=>{e.emitHelper(t,r,e.helpers.wrapSymbol)}),undefined:o,map:s(!0,r=>{e.emitHelper(t,r,e.helpers.mapMap({map:r=>{let s,i;if(p.isOnlyMap(e.context,t,u)){const r=n.tsUtils.type_.getTypeArgumentsArray(u)[0];s=void 0===r?void 0:e.context.analysis.getNotAnyType(t,r);const a=n.tsUtils.type_.getTypeArgumentsArray(u)[1];i=void 0===a?void 0:e.context.analysis.getNotAnyType(t,a)}e.emitHelper(t,r,e.helpers.wrapValRecursive({serializeFinalVal:!0,checkValue:this.checkValue,type:s})),e.emitOp(t,"SWAP"),e.emitHelper(t,r,e.helpers.wrapValRecursive({checkValue:this.checkValue,type:i})),e.emitOp(t,"SWAP")}})),e.emitHelper(t,r,e.helpers.wrapMap)}),mapStorage:s(!0,r=>{e.emitHelper(t,r,e.helpers.throwTypeError)}),set:s(!0,r=>{e.emitHelper(t,r,e.helpers.throwTypeError)}),setStorage:s(!0,r=>{e.emitHelper(t,r,e.helpers.throwTypeError)}),error:s(!0,r=>{e.emitHelper(t,r,e.helpers.throwTypeError)}),forwardValue:s(!0,r=>{e.emitHelper(t,r,e.helpers.wrapForwardValue)}),iteratorResult:s(!0,r=>{e.emitHelper(t,r,e.helpers.throwTypeError)}),iterable:s(!0,r=>{e.emitHelper(t,r,e.helpers.throwTypeError)}),iterableIterator:s(!0,r=>{e.emitHelper(t,r,e.helpers.throwTypeError)}),transaction:s(!0,r=>{e.emitHelper(t,r,e.helpers.wrapTransaction)}),output:s(!0,r=>{e.emitHelper(t,r,e.helpers.wrapOutput)}),attribute:s(!0,r=>{e.emitHelper(t,r,e.helpers.wrapAttribute)}
1),input:s(!0,r=>{e.emitHelper(t,r,e.helpers.wrapInput)}),account:s(!0,r=>{e.emitHelper(t,r,e.helpers.wrapAccount)}),asset:s(!0,r=>{e.emitHelper(t,r,e.helpers.wrapAsset)}),contract:s(!0,r=>{e.emitHelper(t,r,e.helpers.wrapContract)}),header:s(!0,r=>{e.emitHelper(t,r,e.helpers.wrapHeader)}),block:s(!0,r=>{e.emitHelper(t,r,e.helpers.wrapBlock)})}))}}t.WrapValRecursiveHelper=c},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.handleReturnTypeAssignment=void 0;const s=r(18),i=r(20),n=s.__importDefault(r(21)),a=r(212);t.handleReturnTypeAssignment=function(e,t){const r=i.tsUtils.node.getFirstAncestorByTestOrThrow(t,n.default.isFunctionLike),s=e.analysis.getFunctionReturnType(r,{error:!0}),o=e.analysis.getType(t);void 0!==s&&void 0!==o&&a.handleTypeConversion(e,t,o,r,s)}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.handleTypeAssignment=void 0;const s=r(212);t.handleTypeAssignment=function(e,t,r){const i=e.analysis.getType(t),n=e.analysis.getType(r);s.handleTypeConversion(e,t,i,r,n)}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getAllPropInfos=void 0,t.getAllPropInfos=e=>e.propInfos.concat(void 0===e.superSmartContract?[]:t.getAllPropInfos(e.superSmartContract))},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getContractInfo=void 0;const s=r(213);t.getContractInfo=(e,t)=>new s.ContractInfoProcessor(e,t).process()},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getDebugInfo=void 0;const s=r(214);t.getDebugInfo=(e,t)=>new s.DebugInfoProcessor(e,t).process()},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getContractProperties=void 0;const s=r(18),i=r(20),n=s.__importDefault(r(21)),a=r(34),o=r(32),l=r(33);t.getContractProperties=(e,t)=>{const r=e.analysis.getType(t),s=i.tsUtils.node.getName(t),p=Object.assign(Object.assign({},a.DEFAULT_CONTRACT_PROPERTIES),{name:void 0===s?a.DEFAULT_CONTRACT_PROPERTIES.name:s});if(void 0===r)return p;const c=i.tsUtils.type_.getProperties(r).find(e=>i.tsUtils.symbol.getName(e)===a.ContractPropertyName.properties);if(void 0===c)return p;const u=i.tsUtils.symbol.getDeclarations(c).filter(n.default.isPropertyDeclaration).filter(e=>void 0!==i.tsUtils.initializer.getInitializer(e));if(0===u.length)return p;if(1!==u.length)return e.reportError(t,o.DiagnosticCode.InvalidContractProperties,l.DiagnosticMessage.InvalidContractPropertiesInitializer),p;const d=u[0],m=i.tsUtils.initializer.getInitializerOrThrow(d);if(!n.default.isObjectLiteralExpression(m))return e.reportError(t,o.DiagnosticCode.InvalidContractProperties,l.DiagnosticMessage.InvalidContractPropertiesInitializer),p;const h={};for(const t of i.tsUtils.object_.getProperties(m)){if(!n.default.isPropertyAssignment(t))return e.reportError(t,o.DiagnosticCode.InvalidContractProperties,l.DiagnosticMessage.InvalidContractPropertiesInitializer),p;const r=i.tsUtils.node.getName(t),s=i.tsUtils.initializer.getInitializer(t);if(!n.default.isLiteralExpression(s))return e.reportError(s,o.DiagnosticCode.InvalidContractProperties,l.DiagnosticMessage.InvalidContractPropertiesInitializer),p;h[r]=i.tsUtils.literal.getLiteralValue(s)}return Object.assign(Object.assign({},p),h)}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.createBuiltins=void 0;const s=r(470),i=r(471),n=r(486),a=r(487),o=r(488),l=r(216),p=r(496),c=r(498),u=r(555),d=r(556),m=r(557),h=r(558),f=r(560),y=r(561),g=r(562),O=r(567),S=r(568),b=r(570),P=r(571),v=r(572),C=r(573),x=r(577),T=r(578),_=r(582),H=r(583);t.createBuiltins=e=>{const t=new l.Builtins(e);return s.add(t),i.add(t),n.add(t),a.add(t),o.add(t),p.add(t),c.add(t),u.add(t),d.add(t),m.add(t),h.add(t),f.add(t),y.add(t),g.add(t),O.add(t),S.add(t),b.add(t),P.add(t),v.add(t),C.add(t),x.add(t),T.add(t),_.add(t),H.add(t),t}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.add=void 0;const s=r(28);class i extends s.BuiltinInterface{}t.add=e=>{e.addInterface("IArguments",new i)}},function(e,t,r){"use strict";
1Object.defineProperty(t,"__esModule",{value:!0}),t.add=void 0;const s=r(60),i=r(28),n=r(472),a=r(215),o=r(473),l=r(474),p=r(475),c=r(476),u=r(477),d=r(478),m=r(479),h=r(480),f=r(481),y=r(482),g=r(483),O=r(484),S=r(485);class b extends i.BuiltinInterface{}class P extends i.BuiltinInterface{}class v extends s.BuiltinInstanceOf{constructor(){super(...arguments),this.type="ArrayConstructor"}emitInstanceOf(e,t,r){const s=e.pushValueOptions(r);e.visit(t,s),r.pushValue?(e.emitHelper(t,s,e.helpers.isArray),e.emitHelper(t,s,e.helpers.wrapBoolean)):e.emitOp(t,"DROP")}}class C extends i.BuiltinInterface{}const x=[["filter",new l.ArrayFilter],["forEach",new p.ArrayForEach],["__@iterator",new c.ArrayIterator],["length",new d.ArrayLength],["map",new m.ArrayMap],["reduce",new y.ArrayReduce],["toString",new S.ArrayToString],["concat",new n.ArrayConcat],["join",new u.ArrayJoin],["slice",new g.ArraySlice],["some",new O.ArraySome],["every",new o.ArrayEvery],["entries",new a.ArrayEntries]];t.add=e=>{e.addInterface("Array",new b),e.addInterface("ReadonlyArray",new P),e.addValue("Array",new v),x.forEach(([t,r])=>{e.addGlobalMember("Array",t,r),e.addGlobalMember("ReadonlyArray",t,r)}),e.addGlobalMember("Array","pop",new h.ArrayPop),e.addGlobalMember("Array","push",new f.ArrayPush),e.addInterface("ArrayConstructor",new C)}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ArrayConcat=void 0;const s=r(20),i=r(27);class n extends i.BuiltinInstanceMemberCall{canCall(){return!0}emitCall(e,t,r,i,n){const a=e.pushValueOptions(i);n||e.visit(s.tsUtils.expression.getExpression(t),a);const o=t=>{e.emitHelper(r,t,e.helpers.unwrapArray)},l=()=>{e.emitPushInt(r,0),e.emitOp(r,"NEWARRAY"),e.emitOp(r,"TUCK"),e.emitOp(r,"SWAP"),e.emitOp(r,"APPEND")};e.emitHelper(r,a,e.helpers.unwrapArray),e.emitHelper(r,a,e.helpers.cloneArray),s.tsUtils.argumented.getArguments(r).forEach(t=>{e.visit(t,a),e.emitHelper(r,a,e.helpers.forBuiltinType({type:e.context.analysis.getType(t),array:o,arrayStorage:l,boolean:l,buffer:l,null:l,number:l,object:l,string:l,symbol:l,undefined:l,map:l,mapStorage:l,set:l,setStorage:l,error:l,forwardValue:l,iteratorResult:l,iterable:l,iterableIterator:l,transaction:l,output:l,attribute:l,input:l,account:l,asset:l,contract:l,header:l,block:l})),e.emitHelper(r,a,e.helpers.arrConcat)}),i.pushValue?e.emitHelper(r,a,e.helpers.wrapArray):e.emitOp(r,"DROP")}}t.ArrayConcat=n},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ArrayEvery=void 0;const s=r(20),i=r(27);class n extends i.BuiltinInstanceMemberCall{canCall(e,t,r){return 1===s.tsUtils.argumented.getArguments(r).length}emitCall(e,t,r,i,n){const a=e.pushValueOptions(i);n||e.visit(s.tsUtils.expression.getExpression(t),a),s.tsUtils.argumented.getArguments(r).length<1||(e.emitHelper(r,a,e.helpers.unwrapArray),e.visit(s.tsUtils.argumented.getArguments(r)[0],a),e.emitHelper(r,a,e.helpers.arrEveryFunc),i.pushValue?e.emitHelper(r,a,e.helpers.wrapBoolean):e.emitOp(r,"DROP"))}}t.ArrayEvery=n},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ArrayFilter=void 0;const s=r(18),i=r(20),n=s.__importDefault(r(21)),a=r(27);class o extends a.BuiltinInstanceMemberCall{canCall(e,t,r){return n.default.isCallExpression(r)&&1===i.tsUtils.argumented.getArguments(r).length}emitCall(e,t,r,s,a){const o=e.pushValueOptions(s);a||!n.default.isPropertyAccessExpression(t)&&!n.default.isElementAccessExpression(t)||e.visit(i.tsUtils.expression.getExpression(t),o),i.tsUtils.argumented.getArguments(r).length<1||(e.emitHelper(r,o,e.helpers.unwrapArray),e.visit(i.tsUtils.argumented.getArguments(r)[0],o),e.emitHelper(r,o,e.helpers.arrFilterFunc),s.pushValue?e.emitHelper(r,o,e.helpers.wrapArray):e.emitOp(r,"DROP"))}}t.ArrayFilter=o},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ArrayForEach=void 0;const s=r(18),i=r(20),n=s.__importDefault(r(21)),a=r(27);class o extends a.BuiltinInstanceMemberCall{canCall(e,t,r){return n.default.isCallExpression(r)&&1===i.tsUtils.argumented.getArguments(r).length}emitCall(e,t,r,s,a){const o=e.pushValueOptions(s);a||!n.default.isPropertyAccessExpression(t)&&!n.default.isElementAccessExpression(t)||e.visit(i.tsUtils.expression.getExpression(t),o),i.tsUtils.argumented.getArguments(r).length<1||(e.emitHelper(r,o,e.helpers.unwrapArray),e.visit(i.tsUtils.argumented.getArguments(r)[0],o),e.emitHelper(r,s,e.helpers.arrForEachFunc))}}t.ArrayForEach=o},function(e,t,r){"use strict";
1Object.defineProperty(t,"__esModule",{value:!0}),t.ArrayIterator=void 0;const s=r(20),i=r(27);class n extends i.BuiltinInstanceMemberCall{canCall(){return!0}emitCall(e,t,r,i,n){i.pushValue?(n||e.visit(s.tsUtils.expression.getExpression(t),i),e.emitHelper(r,i,e.helpers.unwrapArray),e.emitSysCall(r,"Neo.Enumerator.Create"),e.emitHelper(r,i,e.helpers.createEnumeratorIterableIterator({}))):n&&e.emitOp(r,"DROP")}}t.ArrayIterator=n},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ArrayJoin=void 0;const s=r(20),i=r(27);class n extends i.BuiltinInstanceMemberCall{canCall(e,t,r){return s.tsUtils.argumented.getArguments(r).length<=1}emitCall(e,t,r,i,n){const a=e.pushValueOptions(i),o=s.tsUtils.expression.getExpression(t);n||e.visit(o,a),e.emitHelper(r,a,e.helpers.unwrapArray);const l=s.tsUtils.argumented.getArguments(r),p=l.length>0;p&&(e.visit(l[0],a),e.emitHelper(r,a,e.helpers.unwrapString)),e.emitHelper(r,a,e.helpers.arrToString({type:e.context.analysis.getType(o),hasJoinString:p})),i.pushValue?e.emitHelper(r,a,e.helpers.wrapString):e.emitOp(r,"DROP")}}t.ArrayJoin=n},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ArrayLength=void 0;const s=r(64);class i extends s.BuiltinInstanceMemberValue{emit(e,t,r){e.emitHelper(t,r,e.helpers.arrayLength),e.emitHelper(t,r,e.helpers.wrapNumber)}}t.ArrayLength=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ArrayMap=void 0;const s=r(18),i=r(20),n=s.__importDefault(r(21)),a=r(27);class o extends a.BuiltinInstanceMemberCall{canCall(e,t,r){return n.default.isCallExpression(r)&&1===i.tsUtils.argumented.getArguments(r).length}emitCall(e,t,r,s,n){const a=e.pushValueOptions(s);n||e.visit(i.tsUtils.expression.getExpression(t),a),i.tsUtils.argumented.getArguments(r).length<1||(e.emitHelper(r,a,e.helpers.unwrapArray),e.visit(i.tsUtils.argumented.getArguments(r)[0],a),e.emitHelper(r,a,e.helpers.arrMapFunc),s.pushValue?e.emitHelper(r,a,e.helpers.wrapArray):e.emitOp(r,"DROP"))}}t.ArrayMap=o},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ArrayPop=void 0;const s=r(20),i=r(27);class n extends i.BuiltinInstanceMemberCall{canCall(e,t,r){return!0}emitCall(e,t,r,i,n){const a=e.pushValueOptions(i);n||e.visit(s.tsUtils.expression.getExpression(t),a),e.emitHelper(r,a,e.helpers.unwrapArray),e.emitHelper(r,a,e.helpers.if({condition:()=>{e.emitOp(r,"DUP"),e.emitOp(r,"ARRAYSIZE"),e.emitPushInt(r,0),e.emitOp(r,"NUMEQUAL")},whenTrue:()=>{e.emitOp(r,"DROP"),e.emitHelper(r,a,e.helpers.wrapUndefined)},whenFalse:()=>{e.emitOp(r,"DUP"),e.emitOp(r,"ARRAYSIZE"),e.emitOp(r,"DEC"),e.emitOp(r,"SWAP"),e.emitOp(r,"TUCK"),e.emitOp(r,"OVER"),e.emitOp(r,"PICKITEM"),e.emitOp(r,"ROT"),e.emitOp(r,"ROT"),e.emitOp(r,"REMOVE")}})),i.pushValue||e.emitOp(r,"DROP")}}t.ArrayPop=n},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ArrayPush=void 0;const s=r(20),i=r(27);class n extends i.BuiltinInstanceMemberCall{constructor(){super(...arguments),this.isReadonly=!1}canCall(e,t,r){return!0}emitCall(e,t,r,i,n){const a=e.pushValueOptions(i);n||e.visit(s.tsUtils.expression.getExpression(t),a),e.emitHelper(r,a,e.helpers.unwrapArray),s.tsUtils.argumented.getArguments(r).forEach(t=>{e.emitOp(r,"DUP"),e.visit(t,a),e.emitOp(r,"APPEND")}),e.emitOp(r,"ARRAYSIZE"),i.pushValue?e.emitHelper(r,a,e.helpers.wrapNumber):e.emitOp(r,"DROP")}}t.ArrayPush=n},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ArrayReduce=void 0;const s=r(18),i=r(20),n=s.__importDefault(r(21)),a=r(27);class o extends a.BuiltinInstanceMemberCall{constructor(){super(...arguments),this.isReadonly=!1}canCall(e,t,r){return n.default.isCallExpression(r)&&2===i.tsUtils.argumented.getArguments(r).length}emitCall(e,t,r,s,n){const a=e.pushValueOptions(s);n||e.visit(i.tsUtils.expression.getExpression(t),a),i.tsUtils.argumented.getArguments(r).length<2||(e.emitHelper(r,a,e.helpers.unwrapArray),e.visit(i.tsUtils.argumented.getArguments(r)[1],a),e.visit(i.tsUtils.argumented.getArguments(r)[0],a),e.emitHelper(r,a,e.helpers.arrReduceFunc),s.pushValue||e.emitOp(r,"DROP"))}}t.ArrayReduce=o},function(e,t,r){"use strict";
1Object.defineProperty(t,"__esModule",{value:!0}),t.ArraySlice=void 0;const s=r(20),i=r(27);class n extends i.BuiltinInstanceMemberCall{canCall(e,t,r){return s.tsUtils.argumented.getArguments(r).length<=2}emitCall(e,t,r,i,n){const a=e.pushValueOptions(i),o=s.tsUtils.expression.getExpression(t);n||e.visit(o,a),e.emitHelper(r,a,e.helpers.unwrapArray);const l=s.tsUtils.argumented.getArguments(r);0===l.length?e.emitHelper(r,a,e.helpers.arrClone):1===l.length?(e.visit(l[0],a),e.emitHelper(r,a,e.helpers.unwrapNumber),e.emitHelper(r,a,e.helpers.arrSlice())):(e.visit(l[1],a),e.emitHelper(r,a,e.helpers.unwrapNumber),e.visit(l[0],a),e.emitHelper(r,a,e.helpers.unwrapNumber),e.emitHelper(r,a,e.helpers.arrSlice({hasEnd:!0}))),i.pushValue?e.emitHelper(r,a,e.helpers.wrapArray):e.emitOp(r,"DROP")}}t.ArraySlice=n},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ArraySome=void 0;const s=r(20),i=r(27);class n extends i.BuiltinInstanceMemberCall{canCall(e,t,r){return 1===s.tsUtils.argumented.getArguments(r).length}emitCall(e,t,r,i,n){const a=e.pushValueOptions(i);n||e.visit(s.tsUtils.expression.getExpression(t),a),s.tsUtils.argumented.getArguments(r).length<1||(e.emitHelper(r,a,e.helpers.unwrapArray),e.visit(s.tsUtils.argumented.getArguments(r)[0],a),e.emitHelper(r,a,e.helpers.arrSomeFunc),i.pushValue?e.emitHelper(r,a,e.helpers.wrapBoolean):e.emitOp(r,"DROP"))}}t.ArraySome=n},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ArrayToString=void 0;const s=r(20),i=r(22),n=r(27);class a extends n.BuiltinInstanceMemberCall{canCall(e,t,r){return!0}emitCall(e,t,r,n,a){const o=e.pushValueOptions(n);a||e.visit(s.tsUtils.expression.getExpression(t),o),e.emitHelper(r,o,e.helpers.toString({type:void 0,knownType:i.Types.Array})),n.pushValue?e.emitHelper(r,o,e.helpers.wrapString):e.emitOp(r,"DROP")}}t.ArrayToString=a},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.add=t.AssertEqual=void 0;const s=r(20),i=r(151);class n extends i.BuiltinCall{emitCall(e,t,r){const i=e.pushValueOptions(r);if(s.tsUtils.argumented.getArguments(t).length<2)return;const n=s.tsUtils.argumented.getArguments(t)[0],a=s.tsUtils.argumented.getArguments(t)[1];e.visit(a,i),e.visit(n,i),e.emitOp(t,"TUCK"),e.emitOp(t,"OVER"),e.emitHelper(t,i,e.helpers.if({condition:()=>{e.emitHelper(t,i,e.helpers.equalsEqualsEquals({leftType:e.context.analysis.getType(n),rightType:e.context.analysis.getType(a)}))},whenTrue:()=>{e.emitOp(t,"DROP"),e.emitOp(t,"DROP")},whenFalse:()=>{e.emitPushString(t," to equal "),e.emitHelper(t,i,e.helpers.wrapString),e.emitOp(t,"ROT"),e.emitPushString(t,"Expected "),e.emitHelper(t,i,e.helpers.wrapString),e.emitPushInt(t,4),e.emitOp(t,"PACK"),e.emitHelper(t,i,e.helpers.consoleLog),e.emitOp(n,"THROW")}}))}}t.AssertEqual=n,t.add=e=>{e.addTestValue("assertEqual",new n)}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.add=void 0;const s=r(28),i=r(38);class n extends s.BuiltinInterface{}class a extends i.BuiltinValueObject{constructor(){super(...arguments),this.type="BooleanConstructor"}}class o extends s.BuiltinInterface{}t.add=e=>{e.addInterface("Boolean",new n),e.addValue("Boolean",new a),e.addInterface("BooleanConstructor",new o)}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.add=void 0;const s=r(60),i=r(28),n=r(489),a=r(490),o=r(491),l=r(492),p=r(493),c=r(494),u=r(495);class d extends i.BuiltinInterface{}class m extends s.BuiltinInstanceOf{constructor(){super(...arguments),this.type="BufferConstructor"}emitInstanceOf(e,t,r){const s=e.pushValueOptions(r);e.visit(t,s),r.pushValue?(e.emitHelper(t,s,e.helpers.isBuffer),e.emitHelper(t,s,e.helpers.wrapBoolean)):e.emitOp(t,"DROP")}}class h extends i.BuiltinInterface{}t.add=e=>{e.addInterface("Buffer",new d),e.addValue("Buffer",new m),e.addGlobalMember("Buffer","equals",new a.BufferEquals),e.addGlobalMember("Buffer","length",new l.BufferLength),e.addGlobalMember("Buffer","slice",new p.BufferSlice),e.addGlobalMember("Buffer","toInteger",new c.BufferToInteger),e.addGlobalMember("Buffer","toString",new u.BufferToString),e.addInterface("BufferConstructor",new h),e.addGlobalMember("BufferConstructor","concat",new n.BufferConcat),e.addGlobalMember("BufferConstructor","from",new o.BufferFrom)}},function(e,t,r){"use strict";
1Object.defineProperty(t,"__esModule",{value:!0}),t.BufferConcat=void 0;const s=r(20),i=r(45);class n extends i.BuiltinMemberCall{emitCall(e,t,r,i){const n=e.pushValueOptions(i);if(s.tsUtils.argumented.getArguments(r).length<1)return;const a=s.tsUtils.argumented.getArguments(r)[0];e.visit(a,n),e.emitHelper(a,n,e.helpers.unwrapArray),e.emitHelper(r,n,e.helpers.concatBuffer),i.pushValue?e.emitHelper(r,n,e.helpers.wrapBuffer):e.emitOp(r,"DROP")}}t.BufferConcat=n},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.BufferEquals=void 0;const s=r(20),i=r(44),n=r(27);class a extends n.BuiltinInstanceMemberCall{canCall(e,t,r){const n=s.tsUtils.argumented.getArguments(r)[0];if(void 0===n)return!1;const a=e.context.analysis.getType(n);return void 0!==a&&i.isBuffer(e.context,n,a)}emitCall(e,t,r,i,n){const a=e.pushValueOptions(i);n||e.visit(s.tsUtils.expression.getExpression(t),a),s.tsUtils.argumented.getArguments(r).length<1||(e.visit(s.tsUtils.argumented.getArguments(r)[0],a),e.emitOp(r,"EQUAL"),i.pushValue?e.emitHelper(r,a,e.helpers.wrapBoolean):e.emitOp(r,"DROP"))}}t.BufferEquals=a},function(e,t,r){"use strict";(function(e){Object.defineProperty(t,"__esModule",{value:!0}),t.BufferFrom=void 0;const s=r(18),i=r(20),n=s.__importDefault(r(21)),a=r(44),o=r(45);class l extends o.BuiltinMemberCall{emitCall(t,r,s,n){const o=t.pushValueOptions(n);if(i.tsUtils.argumented.getArguments(s).length<1)return;const l=this.getHashAndEncoding(s);if(void 0===l)return void t.context.reportUnsupported(s);const{hash:p,encoding:c}=l;if(void 0===p){const e=i.tsUtils.argumented.getArguments(s)[0],r=t.context.analysis.getType(e);void 0===r||a.isOnlyString(t.context,e,r)||t.context.reportUnsupported(s),t.visit(e,o),t.emitHelper(s,o,t.helpers.unwrapString)}else t.emitPushBuffer(s,e.from(p,e.isEncoding(c)?c:void 0));t.emitHelper(s,n,t.helpers.wrapBuffer)}getHashAndEncoding(e){const t=i.tsUtils.argumented.getArguments(e),r=t[0],s=t[1];if(void 0!==s&&!n.default.isStringLiteral(s))return;const a=void 0===s?"utf8":i.tsUtils.literal.getLiteralValue(s);if(n.default.isStringLiteral(r)){return{hash:i.tsUtils.literal.getLiteralValue(r),encoding:a}}return"utf8"===a?{encoding:a}:void 0}}t.BufferFrom=l}).call(this,r(26).Buffer)},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.BufferLength=void 0;const s=r(64);class i extends s.BuiltinInstanceMemberValue{emit(e,t,r){e.emitHelper(t,r,e.helpers.bufferLength),e.emitHelper(t,r,e.helpers.wrapNumber)}}t.BufferLength=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.BufferSlice=void 0;const s=r(20),i=r(27);class n extends i.BuiltinInstanceMemberCall{canCall(e,t,r){return s.tsUtils.argumented.getArguments(r).length<=2}emitCall(e,t,r,i,n){const a=e.pushValueOptions(i),o=s.tsUtils.expression.getExpression(t);n||e.visit(o,a),e.emitHelper(r,a,e.helpers.unwrapBuffer);const l=s.tsUtils.argumented.getArguments(r);1===l.length?(e.visit(l[0],a),e.emitHelper(r,a,e.helpers.unwrapNumber),e.emitHelper(r,a,e.helpers.bufferSlice({}))):2===l.length&&(e.visit(l[1],a),e.emitHelper(r,a,e.helpers.unwrapNumber),e.visit(l[0],a),e.emitHelper(r,a,e.helpers.unwrapNumber),e.emitHelper(r,a,e.helpers.bufferSlice({hasEnd:!0}))),i.pushValue?e.emitHelper(r,a,e.helpers.wrapBuffer):e.emitOp(r,"DROP")}}t.BufferSlice=n},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.BufferToInteger=void 0;const s=r(20),i=r(27);class n extends i.BuiltinInstanceMemberCall{canCall(e,t,r){return!0}emitCall(e,t,r,i,n){const a=e.pushValueOptions(i);n||e.visit(s.tsUtils.expression.getExpression(t),a),i.pushValue?(e.emitHelper(r,a,e.helpers.unwrapBuffer),e.emitHelper(r,a,e.helpers.wrapNumber)):e.emitOp(r,"DROP")}}t.BufferToInteger=n},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.BufferToString=void 0;const s=r(18),i=r(20),n=s.__importDefault(r(21)),a=r(27);class o extends a.BuiltinInstanceMemberCall{canCall(e,t,r){const s=i.tsUtils.argumented.getArguments(r)[0];return void 0!==s&&(e=>n.default.isStringLiteral(e)&&"utf8"===i.tsUtils.literal.getLiteralValue(e))(s)}emitCall(e,t,r,s,n){const a=e.pushValueOptions(s);n||e.visit(i.tsUtils.expression.getExpression(t),a),i.tsUtils.argumented.getArguments(r).length<1||(s.pushValue?(e.emitHelper(r,a,e.helpers.unwrapBuffer),e.emitHelper(r,a,e.helpers.wrapString)):e.emitOp(r,"DROP"))}}t.BufferToString=o},function(e,t,r){"use strict";
1Object.defineProperty(t,"__esModule",{value:!0}),t.add=void 0;const s=r(28),i=r(38),n=r(497);class a extends s.BuiltinInterface{}class o extends i.BuiltinValueObject{constructor(){super(...arguments),this.type="Console"}}t.add=e=>{e.addInterface("Console",new a),e.addGlobalMember("Console","log",new n.ConsoleLog),e.addValue("console",new o)}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ConsoleLog=void 0;const s=r(18),i=r(20),n=s.__importDefault(r(29)),a=r(45);class o extends a.BuiltinMemberCall{emitCall(e,t,r,s){const a=e.pushValueOptions(s),o=i.tsUtils.argumented.getArguments(r);n.default.reverse([...o]).forEach(t=>{e.visit(t,a)}),e.emitPushInt(r,o.length),e.emitOp(r,"PACK"),e.emitHelper(r,a,e.helpers.consoleLog)}}t.ConsoleLog=o},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.add=void 0;const s=r(499),i=r(501),n=r(505),a=r(515),o=r(516),l=r(517),p=r(518),c=r(519),u=r(520),d=r(522),m=r(523),h=r(524),f=r(525),y=r(526),g=r(529),O=r(531),S=r(534),b=r(535),P=r(536),v=r(538),C=r(542),x=r(543),T=r(545),_=r(549),H=r(553),w=r(554);t.add=e=>{s.add(e),i.add(e),n.add(e),a.add(e),o.add(e),l.add(e),p.add(e),c.add(e),u.add(e),d.add(e),m.add(e),h.add(e),f.add(e),y.add(e),g.add(e),O.add(e),S.add(e),b.add(e),P.add(e),v.add(e),C.add(e),x.add(e),T.add(e),_.add(e),H.add(e),w.add(e)}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.add=void 0;const s=r(22),i=r(28),n=r(61),a=r(73),o=r(57),l=r(500);class p extends i.BuiltinInterface{}class c extends i.BuiltinInterface{}t.add=e=>{e.addContractInterface("Account",new p),e.addContractValue("Account",new o.ValueInstanceOf("AccountConstructor",e=>e.helpers.isAccount)),e.addContractMember("Account","address",new n.SysCallInstanceMemberPrimitive("Neo.Account.GetScriptHash",s.Types.Account,s.Types.Buffer)),e.addContractMember("Account","getBalance",new l.AccountGetBalance),e.addContractInterface("AccountConstructor",new c),e.addContractMember("AccountConstructor","for",new a.ValueFor("Neo.Blockchain.GetAccount",(e,t,r)=>{e.emitHelper(t,r,e.helpers.wrapAccount)}))}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.AccountGetBalance=void 0;const s=r(20),i=r(27);class n extends i.BuiltinInstanceMemberCall{canCall(e,t,r){return 1===s.tsUtils.argumented.getArguments(r).length}emitCall(e,t,r,i,n){const a=e.pushValueOptions(i);n||e.visit(s.tsUtils.expression.getExpression(t),a),s.tsUtils.argumented.getArguments(r).length<1||(e.emitHelper(r,a,e.helpers.unwrapBuffer),e.visit(s.tsUtils.argumented.getArguments(r)[0],a),e.emitHelper(s.tsUtils.argumented.getArguments(r)[0],a,e.helpers.unwrapBuffer),e.emitOp(r,"SWAP"),e.emitSysCall(r,"Neo.Account.GetBalance"),i.pushValue?e.emitHelper(r,a,e.helpers.wrapNumber):e.emitOp(r,"DROP"))}}t.AccountGetBalance=n},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.add=void 0;const s=r(28),i=r(38),n=r(502),a=r(503),o=r(504);class l extends s.BuiltinInterface{}class p extends i.BuiltinValueObject{constructor(){super(...arguments),this.type="AddressConstructor"}}class c extends s.BuiltinInterface{}t.add=e=>{e.addContractInterface("Address",new l),e.addContractValue("Address",new p),e.addContractInterface("AddressConstructor",new c),e.addContractMember("AddressConstructor","from",new n.AddressFrom),e.addContractMember("AddressConstructor","isSender",new o.AddressIsSender),e.addContractMember("AddressConstructor","isCaller",new a.AddressIsCaller)}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.AddressFrom=void 0;const s=r(32),i=r(33),n=r(45);class a extends n.BuiltinMemberCall{emitCall(e,t,r,n){const a=e.context.analysis.extractLiteralAddress(r);void 0!==a?(e.emitPushBuffer(r,a),e.emitHelper(r,n,e.helpers.wrapBuffer)):e.context.reportError(r,s.DiagnosticCode.InvalidLiteral,i.DiagnosticMessage.InvalidAddress)}}t.AddressFrom=a},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.AddressIsCaller=void 0;const s=r(20),i=r(45);
1class n extends i.BuiltinMemberCall{emitCall(e,t,r,i){if(s.tsUtils.argumented.getArguments(r).length<1)return;const n=e.pushValueOptions(i);e.visit(s.tsUtils.argumented.getArguments(r)[0],n),e.emitHelper(s.tsUtils.argumented.getArguments(r)[0],n,e.helpers.unwrapBuffer),e.emitHelper(r,i,e.helpers.isCaller),i.pushValue&&e.emitHelper(r,n,e.helpers.wrapBoolean)}}t.AddressIsCaller=n},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.AddressIsSender=void 0;const s=r(20),i=r(22),n=r(45);class a extends n.BuiltinMemberCall{emitCall(e,t,r,n){if(s.tsUtils.argumented.getArguments(r).length<1)return;const a=e.pushValueOptions(n);e.visit(s.tsUtils.argumented.getArguments(r)[0],a),e.emitHelper(s.tsUtils.argumented.getArguments(r)[0],a,e.helpers.unwrapBuffer),e.emitOp(r,"DUP"),e.emitSysCall(r,"Neo.Runtime.CheckWitness"),e.emitOp(r,"SWAP"),e.emitHelper(r,a,e.helpers.getGlobalProperty({property:i.GlobalProperty.CallingScriptHash})),e.emitOp(r,"EQUAL"),e.emitOp(r,"BOOLOR"),n.pushValue?e.emitHelper(r,a,e.helpers.wrapBoolean):e.emitOp(r,"DROP")}}t.AddressIsSender=a},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.add=void 0;const s=r(22),i=r(60),n=r(28),a=r(152),o=r(511),l=r(512),p=r(513),c=r(514);class u extends n.BuiltinInterface{}class d extends i.BuiltinInstanceOf{constructor(){super(...arguments),this.type="ArrayStorageConstructor"}emitInstanceOf(e,t,r){const s=e.pushValueOptions(r);e.visit(t,s),r.pushValue?(e.emitHelper(t,s,e.helpers.isArrayStorage),e.emitHelper(t,s,e.helpers.wrapBoolean)):e.emitOp(t,"DROP")}}class m extends n.BuiltinInterface{}t.add=e=>{e.addContractInterface("ArrayStorage",new u),e.addContractValue("ArrayStorage",new d),e.addContractMember("ArrayStorage","__@iterator",new o.ArrayStorageIterator),e.addContractMember("ArrayStorage","forEach",new a.StorageForEach(s.Types.ArrayStorage)),e.addContractMember("ArrayStorage","length",new l.ArrayStorageLength),e.addContractMember("ArrayStorage","push",new c.ArrayStoragePush),e.addContractMember("ArrayStorage","pop",new p.ArrayStoragePop),e.addContractInterface("ArrayStorageConstructor",new m),e.addContractMember("ArrayStorageConstructor","for",new a.StorageFor(s.Types.ArrayStorage))}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.StorageAt=void 0;const s=r(18),i=r(20),n=s.__importDefault(r(21)),a=r(27);class o extends a.BuiltinInstanceMemberCall{constructor(e){super(),this.type=e}canCall(e,t,r){return 1===i.tsUtils.argumented.getArguments(r).length}emitCall(e,t,r,s,a){const o=e.pushValueOptions(s);if(a||e.visit(i.tsUtils.expression.getExpression(t),o),i.tsUtils.argumented.getArguments(r).length<1)return;const l=i.tsUtils.argumented.getArguments(r)[0],p=e.context.analysis.getType(l);e.visit(l,o),l.kind===n.default.SyntaxKind.NumericLiteral&&(e.emitHelper(l,o,e.helpers.unwrapNumber),e.emitHelper(l,o,e.helpers.coerceToInt),e.emitHelper(l,o,e.helpers.wrapNumber)),e.emitHelper(r,s,e.helpers.atStructuredStorage({type:this.type,keyType:p}))}}t.StorageAt=o},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.StorageDelete=void 0;const s=r(18),i=r(20),n=s.__importDefault(r(21)),a=r(27);class o extends a.BuiltinInstanceMemberCall{constructor(e){super(),this.type=e}canCall(e,t,r){return 1===i.tsUtils.argumented.getArguments(r).length}emitCall(e,t,r,s,a){const o=e.pushValueOptions(s);if(a||e.visit(i.tsUtils.expression.getExpression(t),o),i.tsUtils.argumented.getArguments(r).length<1)return;const l=i.tsUtils.argumented.getArguments(r)[0],p=e.context.analysis.getType(l);e.visit(l,o),l.kind===n.default.SyntaxKind.NumericLiteral&&(e.emitHelper(l,o,e.helpers.unwrapNumber),e.emitHelper(l,o,e.helpers.coerceToInt),e.emitHelper(l,o,e.helpers.wrapNumber)),e.emitHelper(r,s,e.helpers.deleteStructuredStorage({type:this.type,keyType:p}))}}t.StorageDelete=o},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.StorageFor=void 0;const s=r(18),i=r(20),n=s.__importDefault(r(21)),a=r(32),o=r(33),l=r(45);class p extends l.BuiltinMemberCall{constructor(e){super(),this.type=e}emitCall(e,t,r,s){const l=e.context.analysis.extractStorageKey(r);if(void 0===l){const t=i.tsUtils.node.getParent(r),s=i.tsUtils.node.getFirstAncestorByTest(t,n.default.isClassDeclaration);return void(n.default.isPropertyDeclaration(t)&&void 0!==s&&e.context.analysis.isSmartContract(s)||e.context.reportError(t,a.DiagnosticCode.InvalidStructuredStorageFor,o.DiagnosticMessage.InvalidStructuredStorageForProperty))}const p=e.pushValueOptions(s);
1e.emitHelper(r,p,e.helpers.createStructuredStorage({type:this.type,prefix:l}))}}t.StorageFor=p},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.StorageForEach=void 0;const s=r(20),i=r(27);class n extends i.BuiltinInstanceMemberCall{constructor(e){super(),this.type=e}canCall(e,t,r){return 1===s.tsUtils.argumented.getArguments(r).length}emitCall(e,t,r,i,n){const a=e.pushValueOptions(i);n||e.visit(s.tsUtils.expression.getExpression(t),a),s.tsUtils.argumented.getArguments(r).length<1||(e.visit(s.tsUtils.argumented.getArguments(r)[0],a),e.emitHelper(r,i,e.helpers.forEachFuncStructuredStorage({type:this.type})))}}t.StorageForEach=n},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.StorageHas=void 0;const s=r(18),i=r(20),n=s.__importDefault(r(21)),a=r(27);class o extends a.BuiltinInstanceMemberCall{constructor(e){super(),this.type=e}canCall(e,t,r){return 1===i.tsUtils.argumented.getArguments(r).length}emitCall(e,t,r,s,a){const o=e.pushValueOptions(s);if(a||e.visit(i.tsUtils.expression.getExpression(t),o),i.tsUtils.argumented.getArguments(r).length<1)return;const l=i.tsUtils.argumented.getArguments(r)[0],p=e.context.analysis.getType(l);e.visit(l,o),l.kind===n.default.SyntaxKind.NumericLiteral&&(e.emitHelper(l,o,e.helpers.unwrapNumber),e.emitHelper(l,o,e.helpers.coerceToInt),e.emitHelper(l,o,e.helpers.wrapNumber)),e.emitHelper(r,s,e.helpers.hasStructuredStorage({type:this.type,keyType:p}))}}t.StorageHas=o},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ArrayStorageIterator=void 0;const s=r(20),i=r(22),n=r(27);class a extends n.BuiltinInstanceMemberCall{canCall(){return!0}emitCall(e,t,r,n,a){n.pushValue?(a||e.visit(s.tsUtils.expression.getExpression(t),n),e.emitHelper(r,n,e.helpers.createValIterableIteratorStructuredStorage({type:i.Types.ArrayStorage}))):a&&e.emitOp(r,"DROP")}}t.ArrayStorageIterator=a},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ArrayStorageLength=void 0;const s=r(64);class i extends s.BuiltinInstanceMemberValue{emit(e,t,r){e.emitHelper(t,r,e.helpers.getArrayStorageLength),e.emitHelper(t,r,e.helpers.wrapNumber)}}t.ArrayStorageLength=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ArrayStoragePop=void 0;const s=r(20),i=r(22),n=r(27);class a extends n.BuiltinInstanceMemberCall{canCall(){return!0}emitCall(e,t,r,n,a){const o=e.pushValueOptions(n);a||e.visit(s.tsUtils.expression.getExpression(t),o),e.emitOp(r,"DUP"),e.emitHelper(r,o,e.helpers.getArrayStorageLength),e.emitHelper(r,o,e.helpers.if({condition:()=>{e.emitOp(r,"DUP"),e.emitPushInt(r,0),e.emitOp(r,"NUMEQUAL")},whenTrue:()=>{e.emitOp(r,"DROP"),e.emitOp(r,"DROP"),n.pushValue&&e.emitHelper(r,o,e.helpers.wrapUndefined)},whenFalse:()=>{e.emitHelper(r,o,e.helpers.if({condition:()=>{e.emitOp(r,"DUP"),e.emitPushInt(r,1),e.emitOp(r,"NUMEQUAL")},whenTrue:()=>{e.emitOp(r,"DROP"),e.emitPushInt(r,0)},whenFalse:()=>{e.emitOp(r,"DEC")}})),e.emitOp(r,"SWAP"),e.emitOp(r,"TUCK"),e.emitOp(r,"OVER"),e.emitHelper(r,o,e.helpers.coerceToInt),e.emitHelper(r,o,e.helpers.wrapNumber),n.pushValue&&(e.emitOp(r,"SWAP"),e.emitOp(r,"TUCK"),e.emitOp(r,"OVER"),e.emitHelper(r,o,e.helpers.getStructuredStorage({type:i.Types.ArrayStorage,keyType:void 0,knownKeyType:i.Types.Number})),e.emitPushInt(r,5),e.emitOp(r,"XTUCK"),e.emitOp(r,"DROP")),e.emitHelper(r,e.noPushValueOptions(o),e.helpers.deleteStructuredStorage({type:i.Types.ArrayStorage,keyType:void 0,knownKeyType:i.Types.Number})),e.emitHelper(r,o,e.helpers.putArrayStorageLength)}}))}}t.ArrayStoragePop=a},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ArrayStoragePush=void 0;const s=r(20),i=r(22),n=r(27);class a extends n.BuiltinInstanceMemberCall{canCall(){return!0}emitCall(e,t,r,n,a){const o=e.pushValueOptions(n);a||e.visit(s.tsUtils.expression.getExpression(t),o),e.emitOp(r,"DUP"),e.emitHelper(r,o,e.helpers.getArrayStorageLength),s.tsUtils.argumented.getArguments(r).forEach(t=>{e.emitOp(r,"SWAP"),e.emitOp(r,"TUCK"),e.emitOp(r,"OVER"),e.emitHelper(r,o,e.helpers.coerceToInt),e.emitHelper(r,o,e.helpers.wrapNumber),e.visit(t,o),e.emitHelper(r,n,e.helpers.setStructuredStorage({type:i.Types.ArrayStorage,keyType:void 0,knownKeyType:i.Types.Number})),e.emitOp(r,"INC")}),n.pushValue&&e.emitOp(r,"TUCK"),e.emitHelper(r,o,e.helpers.putArrayStorageLength),n.pushValue&&e.emitHelper(r,o,e.helpers.wrapNumber)}}t.ArrayStoragePush=a},function(e,t,r){"use strict";
1Object.defineProperty(t,"__esModule",{value:!0}),t.add=void 0;const s=r(22),i=r(28),n=r(61),a=r(73),o=r(57);class l extends i.BuiltinInterface{}class p extends i.BuiltinInterface{}t.add=e=>{e.addContractInterface("Asset",new l),e.addContractValue("Asset",new o.ValueInstanceOf("AssetConstructor",e=>e.helpers.isAsset)),e.addContractMember("Asset","hash",new n.SysCallInstanceMemberPrimitive("Neo.Asset.GetAssetId",s.Types.Asset,s.Types.Buffer)),e.addContractMember("Asset","type",new n.SysCallInstanceMemberPrimitive("Neo.Asset.GetAssetType",s.Types.Asset,s.Types.Number)),e.addContractMember("Asset","amount",new n.SysCallInstanceMemberPrimitive("Neo.Asset.GetAmount",s.Types.Asset,s.Types.Number)),e.addContractMember("Asset","available",new n.SysCallInstanceMemberPrimitive("Neo.Asset.GetAvailable",s.Types.Asset,s.Types.Number)),e.addContractMember("Asset","precision",new n.SysCallInstanceMemberPrimitive("Neo.Asset.GetPrecision",s.Types.Asset,s.Types.Number)),e.addContractMember("Asset","owner",new n.SysCallInstanceMemberPrimitive("Neo.Asset.GetOwner",s.Types.Asset,s.Types.Buffer)),e.addContractMember("Asset","admin",new n.SysCallInstanceMemberPrimitive("Neo.Asset.GetAdmin",s.Types.Asset,s.Types.Buffer)),e.addContractMember("Asset","issuer",new n.SysCallInstanceMemberPrimitive("Neo.Asset.GetIssuer",s.Types.Asset,s.Types.Buffer)),e.addContractInterface("AssetConstructor",new p),e.addContractMember("AssetConstructor","for",new a.ValueFor("Neo.Blockchain.GetAsset",(e,t,r)=>{e.emitHelper(t,r,e.helpers.wrapAsset)}))}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.add=void 0;const s=r(24),i=r(82),n=r(153);class a extends i.BuiltinBase{}t.add=e=>{e.addContractValue("AssetType",new a),e.addContractMember("AssetType","Credit",new n.BuiltinConstantNumberMemberValue(s.AssetTypeModel.CreditFlag)),e.addContractMember("AssetType","Duty",new n.BuiltinConstantNumberMemberValue(s.AssetTypeModel.DutyFlag)),e.addContractMember("AssetType","Governing",new n.BuiltinConstantNumberMemberValue(s.AssetTypeModel.GoverningToken)),e.addContractMember("AssetType","Utility",new n.BuiltinConstantNumberMemberValue(s.AssetTypeModel.UtilityToken)),e.addContractMember("AssetType","Currency",new n.BuiltinConstantNumberMemberValue(s.AssetTypeModel.Currency)),e.addContractMember("AssetType","Share",new n.BuiltinConstantNumberMemberValue(s.AssetTypeModel.Share)),e.addContractMember("AssetType","Invoice",new n.BuiltinConstantNumberMemberValue(s.AssetTypeModel.Invoice)),e.addContractMember("AssetType","Token",new n.BuiltinConstantNumberMemberValue(s.AssetTypeModel.Token))}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.add=void 0;const s=r(22),i=r(28),n=r(61),a=r(57);class o extends i.BuiltinInterface{}class l extends i.BuiltinInterface{}class p extends i.BuiltinInterface{}class c extends i.BuiltinInterface{}class u extends i.BuiltinInterface{}class d extends i.BuiltinInterface{}t.add=e=>{e.addContractInterface("AttributeBase",new o),e.addContractInterface("AttributeBaseConstructor",new l),e.addContractValue("AttributeBase",new a.ValueInstanceOf("AttributeConstructor",e=>e.helpers.isAttribute)),e.addContractMember("AttributeBase","usage",new n.SysCallInstanceMemberPrimitive("Neo.Attribute.GetUsage",s.Types.Attribute,s.Types.Number)),e.addContractMember("AttributeBase","data",new n.SysCallInstanceMemberPrimitive("Neo.Attribute.GetData",s.Types.Attribute,s.Types.Buffer)),e.addContractInterface("BufferAttribute",new p),e.addContractInterface("PublicKeyAttribute",new c),e.addContractInterface("AddressAttribute",new u),e.addContractInterface("Hash256Attribute",new d)}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.add=void 0;const s=r(24),i=r(82),n=r(153);class a extends i.BuiltinBase{}t.add=e=>{e.addContractValue("AttributeUsage",new a),e.addContractMember("AttributeUsage","ContractHash",new n.BuiltinConstantNumberMemberValue(s.AttributeUsageModel.ContractHash)),e.addContractMember("AttributeUsage","ECDH02",new n.BuiltinConstantNumberMemberValue(s.AttributeUsageModel.ECDH02)),e.addContractMember("AttributeUsage","ECDH03",new n.BuiltinConstantNumberMemberValue(s.AttributeUsageModel.ECDH03)),e.addContractMember("AttributeUsage","Script",new n.BuiltinConstantNumberMemberValue(s.AttributeUsageModel.Script)),e.addContractMember("AttributeUsage","Vote",new n.BuiltinConstantNumberMemberValue(s.AttributeUsageModel.Vote)),e.addContractMember("AttributeUsage","DescriptionUrl",new n.BuiltinConstantNumberMemberValue(s.AttributeUsageModel.DescriptionUrl)),e.addContractMember("AttributeUsage","Description",new n.BuiltinConstantNumberMemberValue(s.AttributeUsageModel.Description)),e.addContractMember("AttributeUsage","Hash1",new n.BuiltinConstantNumberMemberValue(s.AttributeUsageModel.Hash1)),e.addContractMember("AttributeUsage","Hash2",new n.BuiltinConstantNumberMemberValue(s.AttributeUsageModel.Hash2)),e.addContractMember("AttributeUsage","Hash3",new n.BuiltinConstantNumberMemberValue(s.AttributeUsageModel.Hash3)),e.addContractMember("AttributeUsage","Hash4",new n.BuiltinConstantNumberMemberValue(s.AttributeUsageModel.Hash4)),e.addContractMember("AttributeUsage","Hash5",new n.BuiltinConstantNumberMemberValue(s.AttributeUsageModel.Hash5)),e.addContractMember("AttributeUsage","Hash6",new n.BuiltinConstantNumberMemberValue(s.AttributeUsageModel.Hash6)),e.addContractMember("AttributeUsage","Hash7",new n.BuiltinConstantNumberMemberValue(s.AttributeUsageModel.Hash7)),e.addContractMember("AttributeUsage","Hash8",new n.BuiltinConstantNumberMemberValue(s.AttributeUsageModel.Hash8)),e.addContractMember("AttributeUsage","Hash9",new n.BuiltinConstantNumberMemberValue(s.AttributeUsageModel.Hash9)),e.addContractMember("AttributeUsage","Hash10",new n.BuiltinConstantNumberMemberValue(s.AttributeUsageModel.Hash10)),e.addContractMember("AttributeUsage","Hash11",new n.BuiltinConstantNumberMemberValue(s.AttributeUsageModel.Hash11)),e.addContractMember("AttributeUsage","Hash12",new n.BuiltinConstantNumberMemberValue(s.AttributeUsageModel.Hash12)),e.addContractMember("AttributeUsage","Hash13",new n.BuiltinConstantNumberMemberValue(s.AttributeUsageModel.Hash13)),e.addContractMember("AttributeUsage","Hash14",new n.BuiltinConstantNumberMemberValue(s.AttributeUsageModel.Hash14)),e.addContractMember("AttributeUsage","Hash15",new n.BuiltinConstantNumberMemberValue(s.AttributeUsageModel.Hash15)),e.addContractMember("AttributeUsage","Remark",new n.BuiltinConstantNumberMemberValue(s.AttributeUsageModel.Remark)),e.addContractMember("AttributeUsage","Remark1",new n.BuiltinConstantNumberMemberValue(s.AttributeUsageModel.Remark1)),e.addContractMember("AttributeUsage","Remark2",new n.BuiltinConstantNumberMemberValue(s.AttributeUsageModel.Remark2)),e.addContractMember("AttributeUsage","Remark3",new n.BuiltinConstantNumberMemberValue(s.AttributeUsageModel.Remark3)),e.addContractMember("AttributeUsage","Remark4",new n.BuiltinConstantNumberMemberValue(s.AttributeUsageModel.Remark4)),e.addContractMember("AttributeUsage","Remark5",new n.BuiltinConstantNumberMemberValue(s.AttributeUsageModel.Remark5)),e.addContractMember("AttributeUsage","Remark6",new n.BuiltinConstantNumberMemberValue(s.AttributeUsageModel.Remark6)),e.addContractMember("AttributeUsage","Remark7",new n.BuiltinConstantNumberMemberValue(s.AttributeUsageModel.Remark7)),e.addContractMember("AttributeUsage","Remark8",new n.BuiltinConstantNumberMemberValue(s.AttributeUsageModel.Remark8)),e.addContractMember("AttributeUsage","Remark9",new n.BuiltinConstantNumberMemberValue(s.AttributeUsageModel.Remark9)),e.addContractMember("AttributeUsage","Remark10",new n.BuiltinConstantNumberMemberValue(s.AttributeUsageModel.Remark10)),e.addContractMember("AttributeUsage","Remark11",new n.BuiltinConstantNumberMemberValue(s.AttributeUsageModel.Remark11)),e.addContractMember("AttributeUsage","Remark12",new n.BuiltinConstantNumberMemberValue(s.AttributeUsageModel.Remark12)),e.addContractMember("AttributeUsage","Remark13",new n.BuiltinConstantNumberMemberValue(s.AttributeUsageModel.Remark13)),e.addContractMember("AttributeUsage","Remark14",new n.BuiltinConstantNumberMemberValue(s.AttributeUsageModel.Remark14)),e.addContractMember("AttributeUsage","Remark15",new n.BuiltinConstantNumberMemberValue(s.AttributeUsageModel.Remark15))}},function(e,t,r){"use strict";
1Object.defineProperty(t,"__esModule",{value:!0}),t.add=void 0;const s=r(22),i=r(28),n=r(217),a=r(73),o=r(57);class l extends i.BuiltinInterface{}class p extends i.BuiltinInterface{}t.add=e=>{e.addContractInterface("Block",new l),e.addContractValue("Block",new o.ValueInstanceOf("BlockConstructor",e=>e.helpers.isBlock)),e.addContractMember("Block","transactions",new n.SysCallInstanceMemberArray("Neo.Block.GetTransactions",s.Types.Block,s.Types.Transaction)),e.addContractInterface("BlockConstructor",new p),e.addContractMember("BlockConstructor","for",new a.ValueFor("Neo.Blockchain.GetBlock",(e,t,r)=>{e.emitHelper(t,r,e.helpers.wrapBlock)}))}},function(e,t,r){"use strict";(function(e){Object.defineProperty(t,"__esModule",{value:!0}),t.add=void 0;const s=r(22),i=r(28),n=r(74),a=r(38),o=r(521);class l extends a.BuiltinValueObject{constructor(){super(...arguments),this.type="BlockchainConstructor"}}class p extends i.BuiltinInterface{}class c extends n.BuiltinMemberValue{emit(t,r,i){i.pushValue&&(t.emitHelper(r,i,t.helpers.getGlobalProperty({property:s.GlobalProperty.CallingScriptHash})),t.emitOp(r,"DUP"),t.emitSysCall(r,"Neo.Blockchain.GetContract"),t.emitHelper(r,i,t.helpers.if({condition:()=>{t.emitPushBuffer(r,e.from([])),t.emitOp(r,"EQUAL")},whenTrue:()=>{t.emitOp(r,"DROP"),t.emitHelper(r,i,t.helpers.wrapUndefined)},whenFalse:()=>{t.emitHelper(r,i,t.helpers.wrapBuffer)}})))}}t.add=e=>{e.addContractValue("Blockchain",new l),e.addContractInterface("BlockchainConstructor",new p),e.addContractMember("BlockchainConstructor","currentBlockTime",new o.SysCallMemberValue("Neo.Runtime.GetTime",s.Types.Number)),e.addContractMember("BlockchainConstructor","currentHeight",new o.SysCallMemberValue("Neo.Blockchain.GetHeight",s.Types.Number)),e.addContractMember("BlockchainConstructor","currentTransaction",new o.SysCallMemberValue("System.ExecutionEngine.GetScriptContainer",s.Types.Transaction)),e.addContractMember("BlockchainConstructor","currentCallerContract",new c)}}).call(this,r(26).Buffer)},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SysCallMemberValue=void 0;const s=r(74);class i extends s.BuiltinMemberValue{constructor(e,t){super(),this.syscall=e,this.type=t}emit(e,t,r){r.pushValue&&(e.emitSysCall(t,this.syscall),e.emitHelper(t,r,e.helpers.wrapVal({type:this.type})))}}t.SysCallMemberValue=i},function(e,t,r){"use strict";(function(e){Object.defineProperty(t,"__esModule",{value:!0}),t.add=void 0;const s=r(22),i=r(28),n=r(61),a=r(73),o=r(57);class l extends i.BuiltinInterface{}class p extends i.BuiltinInterface{}t.add=t=>{t.addContractInterface("Contract",new l),t.addContractValue("Contract",new o.ValueInstanceOf("ContractConstructor",e=>e.helpers.isContract)),t.addContractMember("Contract","script",new n.SysCallInstanceMemberPrimitive("Neo.Contract.GetScript",s.Types.Contract,s.Types.Buffer)),t.addContractMember("Contract","payable",new n.SysCallInstanceMemberPrimitive("Neo.Contract.IsPayable",s.Types.Contract,s.Types.Boolean)),t.addContractInterface("ContractConstructor",new p),t.addContractMember("ContractConstructor","for",new a.ValueFor("Neo.Blockchain.GetContract",(t,r,s)=>{t.emitHelper(r,s,t.helpers.if({condition:()=>{t.emitOp(r,"DUP"),t.emitPushBuffer(r,e.from([])),t.emitOp(r,"EQUAL")},whenTrue:()=>{t.emitOp(r,"DROP"),t.emitHelper(r,s,t.helpers.wrapUndefined)},whenFalse:()=>{t.emitHelper(r,s,t.helpers.wrapContract)}}))}))}}).call(this,r(26).Buffer)},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.add=void 0;const s=r(18),i=r(20),n=s.__importDefault(r(21)),a=r(22),o=r(151);class l extends o.BuiltinCall{emitCall(e,t,r){if(!r.pushValue)return;const s=i.tsUtils.argumented.getArguments(t);if(s.length<1)return;const o=s[0];if(!n.default.isStringLiteral(o))return;const l=i.tsUtils.literal.getLiteralValue(o),p=e.context.analysis.getType(t),c=e.context.analysis.extractSignatureForType(t,p,{error:!0});if(void 0===c)return;const{paramDecls:u,paramTypes:d}=c;e.emitHelper(t,r,e.helpers.createFunctionArray({body:r=>{const s=e.pushValueOptions(r);e.emitHelper(t,s,e.helpers.parameters({params:u,asArgsArr:!0,map:(r,s,n)=>{let a=d.get(r);void 0!==p&&n&&(a=i.tsUtils.type_.getArrayType(p)),e.emitHelper(t,s,e.helpers.unwrapValRecursive({type:a}))}})),e.emitOp(t,"UNPACK"),e.emitPushString(t,l),e.emitOp(t,"SWAP"),e.emitOp(t,"INC"),e.emitOp(t,"PACK"),e.emitSysCall(t,"Neo.Runtime.Notify"),e.emitHelper(t,s,e.helpers.wrapUndefined),e.emitHelper(t,s,e.helpers.return)}})),e.emitHelper(t,r,e.helpers.createFunctionObject({property:a.InternalObjectProperty.Call}))}}t.add=e=>{e.addContractValue("createEventNotifier",new l)}},function(e,t,r){"use strict";
1Object.defineProperty(t,"__esModule",{value:!0}),t.add=void 0;const s=r(20),i=r(22),n=r(28),a=r(45),o=r(38);class l extends n.BuiltinInterface{}class p extends o.BuiltinValueObject{constructor(){super(...arguments),this.type="CryptoConstructor"}}class c extends a.BuiltinMemberCall{constructor(e){super(),this.op=e}emitCall(e,t,r,n){const a=e.pushValueOptions(n),o=s.tsUtils.argumented.getArguments(r);if(0===o.length)return;const l=o[0],p=t=>{e.emitOp(l,"DROP"),e.emitHelper(l,t,e.helpers.throwTypeError)},c=t=>r=>{e.emitHelper(l,r,e.helpers.unwrapVal({type:t}))};e.visit(l,a),e.emitHelper(r,a,e.helpers.forBuiltinType({type:e.context.analysis.getType(l),array:p,map:p,set:p,boolean:c(i.Types.Boolean),buffer:c(i.Types.Buffer),null:p,number:c(i.Types.Number),object:p,string:c(i.Types.String),symbol:p,undefined:p,arrayStorage:p,mapStorage:p,setStorage:p,error:p,forwardValue:p,iteratorResult:p,iterable:p,iterableIterator:p,transaction:p,output:p,attribute:p,input:p,account:p,asset:p,contract:p,header:p,block:p})),e.emitOp(r,this.op),e.emitHelper(r,n,e.helpers.wrapBuffer)}}t.add=e=>{e.addContractInterface("CryptoConstructor",new l),e.addContractMember("CryptoConstructor","sha1",new c("SHA1")),e.addContractMember("CryptoConstructor","sha256",new c("SHA256")),e.addContractMember("CryptoConstructor","hash160",new c("HASH160")),e.addContractMember("CryptoConstructor","hash256",new c("HASH256")),e.addContractValue("crypto",new p)}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.add=void 0;const s=r(151);class i extends s.BuiltinCall{emitCall(e,t,r){r.pushValue&&e.emitHelper(t,r,e.helpers.wrapUndefined)}}t.add=e=>{e.addContractValue("declareEvent",new i)}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.add=void 0;const s=r(28),i=r(38),n=r(527);class a extends i.BuiltinValueObject{constructor(){super(...arguments),this.type="DeployConstructor"}}class o extends s.BuiltinInterface{}t.add=e=>{e.addContractValue("Deploy",new a),e.addContractInterface("DeployConstructor",new o),e.addContractMember("DeployConstructor","senderAddress",new n.DeploySenderAddress)}},function(e,t,r){"use strict";(function(e){Object.defineProperty(t,"__esModule",{value:!0}),t.DeploySenderAddress=void 0;const s=r(32),i=r(33),n=r(74),a=r(528);class o extends n.BuiltinMemberValue{emit(t,r,n){a.isConstructorParameterDefault(r)||t.context.reportError(r,s.DiagnosticCode.InvalidSenderAddress,i.DiagnosticMessage.InvalidSenderAddressParameterUsage),n.pushValue&&(t.emitPushBuffer(r,e.alloc(20,0)),t.emitHelper(r,n,t.helpers.wrapBuffer))}}t.DeploySenderAddress=o}).call(this,r(26).Buffer)},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isConstructorParameterDefault=void 0;const s=r(18),i=r(20),n=s.__importDefault(r(21));t.isConstructorParameterDefault=e=>{const t=i.tsUtils.node.getParent(e);if(void 0===t||!n.default.isParameter(t))return!1;const r=i.tsUtils.node.getParent(t);return n.default.isConstructorDeclaration(r)}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.add=void 0;const s=r(22),i=r(60),n=r(28),a=r(530);class o extends n.BuiltinInterface{}class l extends i.BuiltinInstanceOf{constructor(){super(...arguments),this.type="ForwardValueConstructor"}emitInstanceOf(e,t,r){const s=e.pushValueOptions(r);e.visit(t,s),r.pushValue?(e.emitHelper(t,s,e.helpers.isForwardValue),e.emitHelper(t,s,e.helpers.wrapBoolean)):e.emitOp(t,"DROP")}}class p extends n.BuiltinInterface{}t.add=e=>{e.addContractInterface("ForwardValue",new o),e.addContractValue("ForwardValue",new l),e.addContractMember("ForwardValue","asString",new a.ForwardValueAs(s.Types.String)),e.addContractMember("ForwardValue","asStringNullable",new a.ForwardValueAs(s.Types.String,!0)),e.addContractMember("ForwardValue","asNumber",new a.ForwardValueAs(s.Types.Number)),e.addContractMember("ForwardValue","asNumberNullable",new a.ForwardValueAs(s.Types.Number,!0)),e.addContractMember("ForwardValue","asBoolean",new a.ForwardValueAs(s.Types.Boolean)),e.addContractMember("ForwardValue","asBuffer",new a.ForwardValueAs(s.Types.Buffer)),e.addContractMember("ForwardValue","asBufferNullable",new a.ForwardValueAs(s.Types.Buffer,!0)),e.addContractMember("ForwardValue","asAddress",new a.ForwardValueAs(s.Types.Buffer)),e.addContractMember("ForwardValue","asAddressNullable",new a.ForwardValueAs(s.Types.Buffer,!0)),e.addContractMember("ForwardValue","asHash256",new a.ForwardValueAs(s.Types.Buffer)),e.addContractMember("ForwardValue","asHash256Nullable",new a.ForwardValueAs(s.Types.Buffer,!0)),e.addContractMember("ForwardValue","asPublicKey",new a.ForwardValueAs(s.Types.Buffer)),e.addContractMember("ForwardValue","asPublicKeyNullable",new a.ForwardValueAs(s.Types.Buffer,!0)),e.addContractMember("ForwardValue","asArray",new a.ForwardValueAs(s.Types.Array)),e.addContractMember("ForwardValue","asArrayNullable",new a.ForwardValueAs(s.Types.Array,!0)),e.addContractMember("ForwardValue","asMap",new a.ForwardValueAs(s.Types.Map)),e.addContractMember("ForwardValue","asMapNullable",new a.ForwardValueAs(s.Types.Map,!0)),e.addContractInterface("ForwardValueConstructor",new p)}},function(e,t,r){"use strict";
1(function(e){Object.defineProperty(t,"__esModule",{value:!0}),t.ForwardValueAs=void 0;const s=r(20),i=r(22),n=r(27);class a extends n.BuiltinInstanceMemberCall{constructor(e,t=!1){super(),this.type=e,this.isNullable=t}canCall(e,t,r){return!0}emitCall(t,r,n,a,o){const l=t.pushValueOptions(a);o||t.visit(s.tsUtils.expression.getExpression(r),l);const p=()=>{this.type===i.Types.Array&&t.emitHelper(n,l,t.helpers.arrMap({map:e=>{t.emitHelper(n,e,t.helpers.wrapForwardValue)}})),this.type===i.Types.Map&&t.emitHelper(n,l,t.helpers.mapMap({map:e=>{t.emitHelper(n,e,t.helpers.wrapForwardValue),t.emitOp(n,"SWAP"),t.emitHelper(n,e,t.helpers.wrapForwardValue),t.emitOp(n,"SWAP")}})),t.emitHelper(n,l,t.helpers.wrapVal({type:this.type}))};t.emitHelper(n,l,t.helpers.unwrapForwardValue),this.isNullable?t.emitHelper(n,l,t.helpers.if({condition:()=>{t.emitOp(n,"DUP"),t.emitPushBuffer(n,e.alloc(0,0)),t.emitOp(n,"EQUAL")},whenTrue:()=>{t.emitOp(n,"DROP"),t.emitHelper(n,l,t.helpers.wrapUndefined)},whenFalse:()=>{p()}})):p(),a.pushValue||t.emitOp(n,"DROP")}}t.ForwardValueAs=a}).call(this,r(26).Buffer)},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.add=void 0;const s=r(24),i=r(532),n=r(28),a=r(38),o=r(533);class l extends n.BuiltinInterface{}class p extends a.BuiltinValueObject{constructor(){super(...arguments),this.type="Hash256Constructor"}}class c extends n.BuiltinInterface{}t.add=e=>{e.addContractInterface("Hash256",new l),e.addContractValue("Hash256",new p),e.addContractInterface("Hash256Constructor",new c),e.addContractMember("Hash256Constructor","from",new o.Hash256From),e.addContractMember("Hash256Constructor","NEO",new i.BuiltinConstantBufferMemberValue(s.common.stringToUInt256(s.common.NEO_ASSET_HASH))),e.addContractMember("Hash256Constructor","GAS",new i.BuiltinConstantBufferMemberValue(s.common.stringToUInt256(s.common.GAS_ASSET_HASH)))}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.BuiltinConstantBufferMemberValue=void 0;const s=r(74);class i extends s.BuiltinMemberValue{constructor(e){super(),this.value=e}emit(e,t,r){r.pushValue&&(e.emitPushBuffer(t,this.value),e.emitHelper(t,r,e.helpers.wrapBuffer))}}t.BuiltinConstantBufferMemberValue=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Hash256From=void 0;const s=r(32),i=r(33),n=r(45);class a extends n.BuiltinMemberCall{emitCall(e,t,r,n){const a=e.context.analysis.extractLiteralHash256(r);void 0!==a?(e.emitPushBuffer(r,a),e.emitHelper(r,n,e.helpers.wrapBuffer)):e.context.reportError(r,s.DiagnosticCode.InvalidLiteral,i.DiagnosticMessage.InvalidHash256)}}t.Hash256From=a},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.add=void 0;const s=r(22),i=r(28),n=r(61),a=r(73),o=r(57);class l extends i.BuiltinInterface{}class p extends i.BuiltinInterface{}t.add=e=>{e.addContractInterface("Header",new l),e.addContractValue("Header",new o.ValueInstanceOf("HeaderConstructor",e=>e.helpers.isHeader)),e.addContractMember("Header","hash",new n.SysCallInstanceMemberPrimitive("Neo.Header.GetHash",s.Types.Header,s.Types.Buffer)),e.addContractMember("Header","version",new n.SysCallInstanceMemberPrimitive("Neo.Header.GetVersion",s.Types.Header,s.Types.Number)),e.addContractMember("Header","previousHash",new n.SysCallInstanceMemberPrimitive("Neo.Header.GetPrevHash",s.Types.Header,s.Types.Buffer)),e.addContractMember("Header","index",new n.SysCallInstanceMemberPrimitive("Neo.Header.GetIndex",s.Types.Header,s.Types.Number)),e.addContractMember("Header","merkleRoot",new n.SysCallInstanceMemberPrimitive("Neo.Header.GetMerkleRoot",s.Types.Header,s.Types.Buffer)),e.addContractMember("Header","time",new n.SysCallInstanceMemberPrimitive("Neo.Header.GetTimestamp",s.Types.Header,s.Types.Number)),e.addContractMember("Header","nextConsensus",new n.SysCallInstanceMemberPrimitive("Neo.Header.GetNextConsensus",s.Types.Header,s.Types.Buffer)),e.addContractInterface("HeaderConstructor",new p),e.addContractMember("HeaderConstructor","for",new a.ValueFor("Neo.Blockchain.GetHeader",(e,t,r)=>{e.emitHelper(t,r,e.helpers.wrapHeader)}))}},function(e,t,r){"use strict";
1Object.defineProperty(t,"__esModule",{value:!0}),t.add=void 0;const s=r(22),i=r(28),n=r(61),a=r(57);class o extends i.BuiltinInterface{}class l extends i.BuiltinInterface{}t.add=e=>{e.addContractInterface("Input",new o),e.addContractValue("Input",new a.ValueInstanceOf("InputConstructor",e=>e.helpers.isInput)),e.addContractInterface("InputConstructor",new l),e.addContractMember("Input","hash",new n.SysCallInstanceMemberPrimitive("Neo.Input.GetHash",s.Types.Input,s.Types.Buffer)),e.addContractMember("Input","index",new n.SysCallInstanceMemberPrimitive("Neo.Input.GetIndex",s.Types.Input,s.Types.Number))}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.add=void 0;const s=r(28),i=r(38),n=r(537);class a extends i.BuiltinValueObject{constructor(){super(...arguments),this.type="LinkedSmartContractConstructor"}}class o extends s.BuiltinInterface{}t.add=e=>{e.addContractValue("LinkedSmartContract",new a),e.addContractInterface("LinkedSmartContractConstructor",new o),e.addContractMember("LinkedSmartContractConstructor","for",new n.LinkedSmartContractFor)}},function(e,t,r){"use strict";(function(e){Object.defineProperty(t,"__esModule",{value:!0}),t.LinkedSmartContractFor=void 0;const s=r(20),i=r(32),n=r(33),a=r(218);class o extends a.SmartContractForBase{emitAdditionalProperties(e,t,r,s){const i=this.getScriptHash(e,r);void 0!==i&&(e.emitOp(r,"DUP"),e.emitPushString(r,"address"),e.emitPushBuffer(r,i),e.emitHelper(r,s,e.helpers.wrapBuffer),e.emitHelper(r,s,e.helpers.setDataPropertyObjectProperty))}emitInvoke(t,r,s,i,n,a,o){const l=this.getScriptHash(t,s);void 0!==l&&t.emitOp(i,"CALL_E",e.concat([a,l]))}getScriptHash(e,t){const r=e.context.analysis.getType(t);if(void 0===r)return;const a=e.context.analysis.getSymbolForType(t,r);if(void 0===a)return;const o=s.tsUtils.symbol.getValueDeclaration(a);if(void 0===o)return void e.context.reportError(t,i.DiagnosticCode.InvalidLinkedSmartContract,n.DiagnosticMessage.InvalidLinkedSmartContractDeclaration);const l=s.tsUtils.file.getFilePath(s.tsUtils.node.getSourceFile(o)),p=s.tsUtils.symbol.getName(a);return e.getLinkedScriptHash(t,l,p)}}t.LinkedSmartContractFor=o}).call(this,r(26).Buffer)},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.add=void 0;const s=r(22),i=r(60),n=r(28),a=r(152),o=r(539),l=r(540),p=r(541);class c extends n.BuiltinInterface{}class u extends i.BuiltinInstanceOf{constructor(){super(...arguments),this.type="MapStorageConstructor"}emitInstanceOf(e,t,r){const s=e.pushValueOptions(r);e.visit(t,s),r.pushValue?(e.emitHelper(t,s,e.helpers.isMapStorage),e.emitHelper(t,s,e.helpers.wrapBoolean)):e.emitOp(t,"DROP")}}class d extends n.BuiltinInterface{}t.add=e=>{e.addContractInterface("MapStorage",new c),e.addContractValue("MapStorage",new u),e.addContractMember("MapStorage","__@iterator",new l.MapStorageIterator),e.addContractMember("MapStorage","forEach",new a.StorageForEach(s.Types.MapStorage)),e.addContractMember("MapStorage","get",new o.MapStorageGet),e.addContractMember("MapStorage","has",new a.StorageHas(s.Types.MapStorage)),e.addContractMember("MapStorage","delete",new a.StorageDelete(s.Types.MapStorage)),e.addContractMember("MapStorage","set",new p.MapStorageSet),e.addContractMember("MapStorage","at",new a.StorageAt(s.Types.MapStorage)),e.addContractInterface("MapStorageConstructor",new d),e.addContractMember("MapStorageConstructor","for",new a.StorageFor(s.Types.MapStorage))}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MapStorageGet=void 0;const s=r(18),i=r(20),n=s.__importDefault(r(21)),a=r(22),o=r(27);class l extends o.BuiltinInstanceMemberCall{canCall(e,t,r){return 1===i.tsUtils.argumented.getArguments(r).length}emitCall(e,t,r,s,o){const l=e.pushValueOptions(s);if(o||e.visit(i.tsUtils.expression.getExpression(t),l),i.tsUtils.argumented.getArguments(r).length<1)return;const p=i.tsUtils.argumented.getArguments(r)[0],c=e.context.analysis.getType(p);e.visit(p,l),p.kind===n.default.SyntaxKind.NumericLiteral&&(e.emitHelper(p,l,e.helpers.unwrapNumber),e.emitHelper(p,l,e.helpers.coerceToInt),e.emitHelper(p,l,e.helpers.wrapNumber)),e.emitHelper(r,s,e.helpers.getStructuredStorage({type:a.Types.MapStorage,keyType:c}))}}t.MapStorageGet=l},function(e,t,r){"use strict";
1Object.defineProperty(t,"__esModule",{value:!0}),t.MapStorageIterator=void 0;const s=r(20),i=r(22),n=r(27);class a extends n.BuiltinInstanceMemberCall{canCall(){return!0}emitCall(e,t,r,n,a){n.pushValue?(a||e.visit(s.tsUtils.expression.getExpression(t),n),e.emitHelper(r,n,e.helpers.createIterableIteratorStructuredStorage({type:i.Types.MapStorage}))):a&&e.emitOp(r,"DROP")}}t.MapStorageIterator=a},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MapStorageSet=void 0;const s=r(18),i=r(20),n=s.__importDefault(r(21)),a=r(22),o=r(27);class l extends o.BuiltinInstanceMemberCall{canCall(e,t,r){return 2===i.tsUtils.argumented.getArguments(r).length}emitCall(e,t,r,s,o){const l=e.pushValueOptions(s);if(o||e.visit(i.tsUtils.expression.getExpression(t),l),i.tsUtils.argumented.getArguments(r).length<2)return;const p=i.tsUtils.argumented.getArguments(r)[0],c=e.context.analysis.getType(p);s.pushValue&&e.emitOp(r,"DUP"),e.visit(p,l),p.kind===n.default.SyntaxKind.NumericLiteral&&(e.emitHelper(p,l,e.helpers.unwrapNumber),e.emitHelper(p,l,e.helpers.coerceToInt),e.emitHelper(p,l,e.helpers.wrapNumber)),e.visit(i.tsUtils.argumented.getArguments(r)[1],l),e.emitHelper(r,s,e.helpers.setStructuredStorage({type:a.Types.MapStorage,keyType:c}))}}t.MapStorageSet=l},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.add=void 0;const s=r(22),i=r(28),n=r(61),a=r(57);class o extends i.BuiltinInterface{}class l extends i.BuiltinInterface{}t.add=e=>{e.addContractInterface("Output",new o),e.addContractValue("Output",new a.ValueInstanceOf("OutputConstructor",e=>e.helpers.isOutput)),e.addContractMember("Output","address",new n.SysCallInstanceMemberPrimitive("Neo.Output.GetScriptHash",s.Types.Output,s.Types.Buffer)),e.addContractMember("Output","asset",new n.SysCallInstanceMemberPrimitive("Neo.Output.GetAssetId",s.Types.Output,s.Types.Buffer)),e.addContractMember("Output","value",new n.SysCallInstanceMemberPrimitive("Neo.Output.GetValue",s.Types.Output,s.Types.Number)),e.addContractInterface("OutputConstructor",new l)}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.add=void 0;const s=r(28),i=r(38),n=r(544);class a extends s.BuiltinInterface{}class o extends i.BuiltinValueObject{constructor(){super(...arguments),this.type="PublicKeyConstructor"}}class l extends s.BuiltinInterface{}t.add=e=>{e.addContractInterface("PublicKey",new a),e.addContractValue("PublicKey",new o),e.addContractInterface("PublicKeyConstructor",new l),e.addContractMember("PublicKeyConstructor","from",new n.PublicKeyFrom)}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.PublicKeyFrom=void 0;const s=r(32),i=r(33),n=r(45);class a extends n.BuiltinMemberCall{emitCall(e,t,r,n){const a=e.context.analysis.extractLiteralPublicKey(r);void 0!==a?(e.emitPushBuffer(r,a),e.emitHelper(r,n,e.helpers.wrapBuffer)):e.context.reportError(r,s.DiagnosticCode.InvalidLiteral,i.DiagnosticMessage.InvalidPublicKey)}}t.PublicKeyFrom=a},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.add=void 0;const s=r(22),i=r(60),n=r(28),a=r(152),o=r(546),l=r(547),p=r(548);class c extends n.BuiltinInterface{}class u extends i.BuiltinInstanceOf{constructor(){super(...arguments),this.type="SetStorageConstructor"}emitInstanceOf(e,t,r){const s=e.pushValueOptions(r);e.visit(t,s),r.pushValue?(e.emitHelper(t,s,e.helpers.isSetStorage),e.emitHelper(t,s,e.helpers.wrapBoolean)):e.emitOp(t,"DROP")}}class d extends n.BuiltinInterface{}t.add=e=>{e.addContractInterface("SetStorage",new c),e.addContractValue("SetStorage",new u),e.addContractMember("SetStorage","__@iterator",new p.SetStorageIterator),e.addContractMember("SetStorage","forEach",new l.SetStorageForEach),e.addContractMember("SetStorage","has",new a.StorageHas(s.Types.SetStorage)),e.addContractMember("SetStorage","delete",new a.StorageDelete(s.Types.SetStorage)),e.addContractMember("SetStorage","add",new o.SetStorageAdd),e.addContractMember("SetStorage","at",new a.StorageAt(s.Types.SetStorage)),e.addContractInterface("SetStorageConstructor",new d),e.addContractMember("SetStorageConstructor","for",new a.StorageFor(s.Types.SetStorage))}},function(e,t,r){"use strict";
1Object.defineProperty(t,"__esModule",{value:!0}),t.SetStorageAdd=void 0;const s=r(18),i=r(20),n=s.__importDefault(r(21)),a=r(22),o=r(27);class l extends o.BuiltinInstanceMemberCall{canCall(e,t,r){return 1===i.tsUtils.argumented.getArguments(r).length}emitCall(e,t,r,s,o){const l=e.pushValueOptions(s);if(o||e.visit(i.tsUtils.expression.getExpression(t),l),i.tsUtils.argumented.getArguments(r).length<1)return;const p=i.tsUtils.argumented.getArguments(r)[0],c=e.context.analysis.getType(p);s.pushValue&&e.emitOp(r,"DUP"),e.visit(p,l),p.kind===n.default.SyntaxKind.NumericLiteral&&(e.emitHelper(p,l,e.helpers.unwrapNumber),e.emitHelper(p,l,e.helpers.coerceToInt),e.emitHelper(p,l,e.helpers.wrapNumber)),e.emitPushBoolean(r,!0),e.emitHelper(r,s,e.helpers.setStructuredStorage({type:a.Types.SetStorage,keyType:c}))}}t.SetStorageAdd=l},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SetStorageForEach=void 0;const s=r(20),i=r(22),n=r(27);class a extends n.BuiltinInstanceMemberCall{canCall(e,t,r){return 1===s.tsUtils.argumented.getArguments(r).length}emitCall(e,t,r,n,a){const o=e.pushValueOptions(n);a||e.visit(s.tsUtils.expression.getExpression(t),o),s.tsUtils.argumented.getArguments(r).length<1||(e.visit(s.tsUtils.argumented.getArguments(r)[0],o),e.emitHelper(r,n,e.helpers.forEachKeyFuncStructuredStorage({type:i.Types.SetStorage})))}}t.SetStorageForEach=a},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SetStorageIterator=void 0;const s=r(20),i=r(22),n=r(27);class a extends n.BuiltinInstanceMemberCall{canCall(){return!0}emitCall(e,t,r,n,a){n.pushValue?(a||e.visit(s.tsUtils.expression.getExpression(t),n),e.emitHelper(r,n,e.helpers.createKeyIterableIteratorStructuredStorage({type:i.Types.SetStorage}))):a&&e.emitOp(r,"DROP")}}t.SetStorageIterator=a},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.add=void 0;const s=r(34),i=r(22),n=r(82),a=r(219),o=r(220),l=r(550),p=r(551),c=r(552);class u extends n.BuiltinBase{}t.add=e=>{e.addContractValue("SmartContract",new u),e.addContractMember("SmartContract","for",new c.SmartContractFor),e.addContractMember("SmartContract",s.ContractPropertyName.address,new l.SmartContractAddress),e.addContractMember("SmartContract",s.ContractPropertyName.deployed,new a.BuiltinInstanceMemberStorageProperty(s.ContractPropertyName.deployed)),e.addContractMember("SmartContract",s.ContractPropertyName.processedTransactions,new o.BuiltinInstanceMemberStructuredStorageProperty(i.StructuredStorageType.SetStorage,s.ContractPropertyName.processedTransactions)),e.addContractMember("SmartContract",s.ContractPropertyName.claimedTransactions,new o.BuiltinInstanceMemberStructuredStorageProperty(i.StructuredStorageType.MapStorage,s.ContractPropertyName.claimedTransactions)),e.addContractMember("SmartContract",s.ContractPropertyName.destroy,new p.SmartContractDestroy)}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SmartContractAddress=void 0;const s=r(18),i=r(20),n=s.__importDefault(r(21)),a=r(34),o=r(40);t.SmartContractAddress=class{constructor(){this.types=new Set([o.BuiltinType.InstanceMemberValue])}emitValue(e,t,r,s=!1){let o=!1;if(n.default.isBindingElement(t)){const r=i.tsUtils.node.getNameNode(t),s=e.context.analysis.getSymbol(r);if(void 0!==s){const t=i.tsUtils.symbol.getParent(s);if(void 0!==t){const r=i.tsUtils.symbol.getDeclarations(t);r.length>0&&(o=!e.isCurrentSmartContract(r[0]))}}}else o=!e.isCurrentSmartContract(i.tsUtils.expression.getExpression(t));if(o)return s||!n.default.isPropertyAccessExpression(t)&&!n.default.isElementAccessExpression(t)||e.visit(i.tsUtils.expression.getExpression(t),e.pushValueOptions(r)),e.emitPushString(t,a.ContractPropertyName.address),void e.emitHelper(t,r,e.helpers.getPropertyObjectProperty);s&&e.emitOp(t,"DROP"),r.pushValue&&(e.emitSysCall(t,"System.ExecutionEngine.GetExecutingScriptHash"),e.emitHelper(t,r,e.helpers.wrapBuffer))}}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SmartContractDestroy=void 0;const s=r(20),i=r(27);
1class n extends i.BuiltinInstanceMemberCall{canCall(e,t,r){return 0===s.tsUtils.argumented.getArguments(r).length}emitCall(e,t,r,s,i){i&&e.emitOp(r,"DROP"),e.emitSysCall(r,"Neo.Contract.Destroy"),s.pushValue&&e.emitHelper(r,s,e.helpers.wrapUndefined)}}t.SmartContractDestroy=n},function(e,t,r){"use strict";(function(e){Object.defineProperty(t,"__esModule",{value:!0}),t.SmartContractFor=void 0;const s=r(20),i=r(218);class n extends i.SmartContractForBase{emitInitial(e,t,r,i,n){if(s.tsUtils.argumented.getArguments(r).length<1)return;const a=s.tsUtils.argumented.getArguments(r)[0];e.visit(a,n),e.scope.set(e,a,n,i)}emitInvoke(t,r,i,n,a,o,l){if(s.tsUtils.argumented.getArguments(i).length<1)return;const p=s.tsUtils.argumented.getArguments(i)[0],c=t.context.analysis.extractLiteralAddress(p);void 0===c?(t.scope.get(t,p,l,a),t.emitHelper(n,l,t.helpers.unwrapBuffer),t.emitOp(n,"CALL_ED",o)):t.emitOp(n,"CALL_E",e.concat([o,c]))}}t.SmartContractFor=n}).call(this,r(26).Buffer)},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.add=void 0;const s=r(22),i=r(28),n=r(38),a=r(217),o=r(61),l=r(73),p=r(57);class c extends i.BuiltinInterface{}class u extends i.BuiltinInterface{}class d extends n.BuiltinValueObject{constructor(){super(...arguments),this.type="TransactionConstructor"}}class m extends i.BuiltinInterface{}class h extends i.BuiltinInterface{}class f extends i.BuiltinInterface{}class y extends i.BuiltinInterface{}class g extends i.BuiltinInterface{}class O extends i.BuiltinInterface{}class S extends i.BuiltinInterface{}class b extends i.BuiltinInterface{}class P extends i.BuiltinInterface{}class v extends i.BuiltinInterface{}t.add=e=>{e.addContractInterface("TransactionBase",new c),e.addContractValue("TransactionBase",new p.ValueInstanceOf("TransactionBaseConstructor",e=>e.helpers.isTransaction)),e.addContractInterface("TransactionBaseConstructor",new u),e.addContractMember("TransactionBase","type",new o.SysCallInstanceMemberPrimitive("Neo.Transaction.GetType",s.Types.Transaction,s.Types.Number)),e.addContractMember("TransactionBase","hash",new o.SysCallInstanceMemberPrimitive("Neo.Transaction.GetHash",s.Types.Transaction,s.Types.Buffer)),e.addContractMember("TransactionBase","attributes",new a.SysCallInstanceMemberArray("Neo.Transaction.GetAttributes",s.Types.Transaction,s.Types.Attribute)),e.addContractMember("TransactionBase","outputs",new a.SysCallInstanceMemberArray("Neo.Transaction.GetOutputs",s.Types.Transaction,s.Types.Output)),e.addContractMember("TransactionBase","inputs",new a.SysCallInstanceMemberArray("Neo.Transaction.GetInputs",s.Types.Transaction,s.Types.Input)),e.addContractMember("TransactionBase","references",new a.SysCallInstanceMemberArray("Neo.Transaction.GetReferences",s.Types.Transaction,s.Types.Output)),e.addContractMember("TransactionBase","unspentOutputs",new a.SysCallInstanceMemberArray("Neo.Transaction.GetUnspentCoins",s.Types.Transaction,s.Types.Output)),e.addContractInterface("InvocationTransaction",new v),e.addContractMember("InvocationTransaction","script",new o.SysCallInstanceMemberPrimitive("Neo.InvocationTransaction.GetScript",s.Types.Transaction,s.Types.Buffer)),e.addContractInterface("MinerTransaction",new h),e.addContractInterface("IssueTransaction",new f),e.addContractInterface("ClaimTransaction",new y),e.addContractInterface("EnrollmentTransaction",new g),e.addContractInterface("RegisterTransaction",new O),e.addContractInterface("ContractTransaction",new S),e.addContractInterface("StateTransaction",new b),e.addContractInterface("PublishTransaction",new P),e.addContractValue("Transaction",new d),e.addContractInterface("TransactionConstructor",new m),e.addContractMember("TransactionConstructor","for",new l.ValueFor("Neo.Blockchain.GetTransaction",(e,t,r)=>{e.emitHelper(t,r,e.helpers.wrapTransaction)}))}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.add=void 0;const s=r(24),i=r(82),n=r(153);class a extends i.BuiltinBase{}t.add=e=>{e.addContractValue("TransactionType",new a),e.addContractMember("TransactionType","Miner",new n.BuiltinConstantNumberMemberValue(s.TransactionTypeModel.Miner)),e.addContractMember("TransactionType","Issue",new n.BuiltinConstantNumberMemberValue(s.TransactionTypeModel.Issue)),e.addContractMember("TransactionType","Claim",new n.BuiltinConstantNumberMemberValue(s.TransactionTypeModel.Claim)),e.addContractMember("TransactionType","Enrollment",new n.BuiltinConstantNumberMemberValue(s.TransactionTypeModel.Enrollment)),e.addContractMember("TransactionType","Register",new n.BuiltinConstantNumberMemberValue(s.TransactionTypeModel.Register)),e.addContractMember("TransactionType","Contract",new n.BuiltinConstantNumberMemberValue(s.TransactionTypeModel.Contract)),e.addContractMember("TransactionType","State",new n.BuiltinConstantNumberMemberValue(s.TransactionTypeModel.State)),e.addContractMember("TransactionType","Publish",new n.BuiltinConstantNumberMemberValue(s.TransactionTypeModel.Publish)),e.addContractMember("TransactionType","Invocation",new n.BuiltinConstantNumberMemberValue(s.TransactionTypeModel.Invocation))}},function(e,t,r){"use strict";
1Object.defineProperty(t,"__esModule",{value:!0}),t.add=void 0;const s=r(20),i=r(22),n=r(28),a=r(154),o=r(221);class l extends n.BuiltinInterface{}class p extends a.BuiltinNew{constructor(){super(...arguments),this.type="ErrorConstructor"}emitInstanceOf(e,t,r){const s=e.pushValueOptions(r);e.visit(t,s),r.pushValue?(e.emitHelper(t,s,e.helpers.isError),e.emitHelper(t,s,e.helpers.wrapBoolean)):e.emitOp(t,"DROP")}emitNew(e,t,r){const n=e.pushValueOptions(r),a=s.tsUtils.argumented.getArgumentsArray(t);0===a.length?(e.emitPushString(t,""),e.emitHelper(t,n,e.helpers.wrapString)):e.visit(a[0],n),e.emitOp(t,"NEWMAP"),e.emitOp(t,"TUCK"),e.emitPushInt(t,i.ErrorSlots.message),e.emitOp(t,"ROT"),e.emitOp(t,"SETITEM"),e.emitHelper(t,r,e.helpers.wrapError)}}class c extends n.BuiltinInterface{}t.add=e=>{e.addInterface("Error",new l),e.addValue("Error",new p),e.addGlobalMember("Error","message",new o.BuiltinSlotInstanceMemberValue(i.Types.Error,i.ErrorSlots.message)),e.addInterface("ErrorConstructor",new c)}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.add=void 0;const s=r(28),i=r(38);class n extends s.BuiltinInterface{}class a extends i.BuiltinValueObject{constructor(){super(...arguments),this.type="FunctionConstructor"}}class o extends s.BuiltinInterface{}t.add=e=>{e.addInterface("Function",new n),e.addValue("Function",new a),e.addInterface("FunctionConstructor",new o)}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.add=void 0;const s=r(28);class i extends s.BuiltinInterface{}t.add=e=>{e.addInterface("Iterable",new i)}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.add=void 0;const s=r(22),i=r(28),n=r(559);class a extends i.BuiltinInterface{}t.add=e=>{e.addInterface("IterableIterator",new a),e.addGlobalMember("Iterator","next",new n.BuiltinSlotInstanceMemberCall(s.Types.IterableIterator,s.IterableIteratorSlots.next)),e.addGlobalMember("IterableIterator","__@iterator",new n.BuiltinSlotInstanceMemberCall(s.Types.IterableIterator,s.IterableIteratorSlots.iterator))}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.BuiltinSlotInstanceMemberCall=void 0;const s=r(20),i=r(27);class n extends i.BuiltinInstanceMemberCall{constructor(e,t){super(),this.type=e,this.slot=t}canCall(){return!0}emitCall(e,t,r,i,n){const a=e.pushValueOptions(i);n||e.visit(s.tsUtils.expression.getExpression(t),a),e.emitHelper(r,a,e.helpers.unwrapVal({type:this.type})),e.emitPushInt(r,this.slot),e.emitOp(r,"PICKITEM"),e.emitPushInt(r,0),e.emitOp(r,"NEWARRAY"),e.emitOp(r,"SWAP"),e.emitHelper(r,i,e.helpers.call)}}t.BuiltinSlotInstanceMemberCall=n},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.add=void 0;const s=r(28);class i extends s.BuiltinInterface{}t.add=e=>{e.addInterface("Iterator",new i)}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.add=void 0;const s=r(22),i=r(28),n=r(221);class a extends i.BuiltinInterface{}t.add=e=>{e.addInterface("IteratorResult",new a),e.addGlobalMember("IteratorResult","done",new n.BuiltinSlotInstanceMemberValue(s.Types.IteratorResult,s.IteratorResultSlots.done)),e.addGlobalMember("IteratorResult","value",new n.BuiltinSlotInstanceMemberValue(s.Types.IteratorResult,s.IteratorResultSlots.value))}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.add=void 0;const s=r(28),i=r(154),n=r(222),a=r(563),o=r(564),l=r(223),p=r(565),c=r(566),u=r(224);class d extends s.BuiltinInterface{}class m extends s.BuiltinInterface{}class h extends i.BuiltinNew{constructor(){super(...arguments),this.type="MapConstructor"}emitInstanceOf(e,t,r){const s=e.pushValueOptions(r);e.visit(t,s),r.pushValue?(e.emitHelper(t,s,e.helpers.isMap),e.emitHelper(t,s,e.helpers.wrapBoolean)):e.emitOp(t,"DROP")}emitNew(e,t,r){r.pushValue&&(e.emitOp(t,"NEWMAP"),e.emitHelper(t,r,e.helpers.wrapMap))}}class f extends s.BuiltinInterface{}const y=[["__@iterator",new p.MapIterator],["forEach",new a.MapForEach],["get",new o.MapGet],["has",new l.MapHas],["size",new u.MapSize]];t.add=e=>{e.addInterface("Map",new d),e.addInterface("ReadonlyMap",new m),e.addValue("Map",new h),y.forEac
1h(([t,r])=>{e.addGlobalMember("Map",t,r),e.addGlobalMember("ReadonlyMap",t,r)}),e.addGlobalMember("Map","delete",new n.MapDelete),e.addGlobalMember("Map","set",new c.MapSet),e.addInterface("MapConstructor",new f)}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MapForEach=void 0;const s=r(20),i=r(27);class n extends i.BuiltinInstanceMemberCall{canCall(e,t,r){return 1===s.tsUtils.argumented.getArguments(r).length}emitCall(e,t,r,i,n){const a=e.pushValueOptions(i);n||e.visit(s.tsUtils.expression.getExpression(t),a),s.tsUtils.argumented.getArguments(r).length<1||(e.emitHelper(r,a,e.helpers.unwrapMap),e.emitSysCall(r,"Neo.Iterator.Create"),e.visit(s.tsUtils.argumented.getArguments(r)[0],a),e.emitHelper(r,a,e.helpers.rawIteratorForEachFunc({deserializeKey:!0})),i.pushValue&&e.emitHelper(r,a,e.helpers.wrapUndefined))}}t.MapForEach=n},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MapGet=void 0;const s=r(20),i=r(27);class n extends i.BuiltinInstanceMemberCall{canCall(e,t,r){return 1===s.tsUtils.argumented.getArguments(r).length}emitCall(e,t,r,i,n){const a=e.pushValueOptions(i);n||e.visit(s.tsUtils.expression.getExpression(t),a),s.tsUtils.argumented.getArguments(r).length<1||(e.emitHelper(r,a,e.helpers.unwrapMap),e.visit(s.tsUtils.argumented.getArguments(r)[0],a),e.emitSysCall(r,"Neo.Runtime.Serialize"),e.emitOp(r,"SWAP"),e.emitOp(r,"TUCK"),e.emitOp(r,"OVER"),e.emitHelper(r,a,e.helpers.if({condition:()=>{e.emitOp(r,"HASKEY")},whenTrue:()=>{e.emitOp(r,"PICKITEM")},whenFalse:()=>{e.emitOp(r,"DROP"),e.emitOp(r,"DROP"),e.emitHelper(r,a,e.helpers.wrapUndefined)}})),i.pushValue||e.emitOp(r,"DROP"))}}t.MapGet=n},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MapIterator=void 0;const s=r(20),i=r(27);class n extends i.BuiltinInstanceMemberCall{canCall(){return!0}emitCall(e,t,r,i,n){i.pushValue?(n||e.visit(s.tsUtils.expression.getExpression(t),i),e.emitHelper(r,i,e.helpers.unwrapMap),e.emitSysCall(r,"Neo.Iterator.Create"),e.emitHelper(r,i,e.helpers.createIteratorIterableIterator({deserializeKey:!0}))):n&&e.emitOp(r,"DROP")}}t.MapIterator=n},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MapSet=void 0;const s=r(20),i=r(27);class n extends i.BuiltinInstanceMemberCall{canCall(e,t,r){return 2===s.tsUtils.argumented.getArguments(r).length}emitCall(e,t,r,i,n){const a=e.pushValueOptions(i);n||e.visit(s.tsUtils.expression.getExpression(t),a),s.tsUtils.argumented.getArguments(r).length<2||(i.pushValue&&e.emitOp(r,"DUP"),e.emitHelper(r,a,e.helpers.unwrapMap),e.visit(s.tsUtils.argumented.getArguments(r)[0],a),e.emitSysCall(r,"Neo.Runtime.Serialize"),e.visit(s.tsUtils.argumented.getArguments(r)[1],a),e.emitOp(r,"SETITEM"))}}t.MapSet=n},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.add=void 0;const s=r(28),i=r(38);class n extends s.BuiltinInterface{}class a extends i.BuiltinValueObject{constructor(){super(...arguments),this.type="NumberConstructor"}}class o extends s.BuiltinInterface{}t.add=e=>{e.addInterface("Number",new n),e.addValue("Number",new a),e.addInterface("NumberConstructor",new o)}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.add=void 0;const s=r(28),i=r(38),n=r(569);class a extends s.BuiltinInterface{}class o extends i.BuiltinValueObject{constructor(){super(...arguments),this.type="ObjectConstructor"}}class l extends s.BuiltinInterface{}t.add=e=>{e.addInterface("Object",new a),e.addValue("Object",new o),e.addInterface("ObjectConstructor",new l),e.addGlobalMember("ObjectConstructor","keys",new n.ObjectKeys)}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ObjectKeys=void 0;const s=r(20),i=r(22),n=r(45);class a extends n.BuiltinMemberCall{emitCall(e,t,r,n){if(s.tsUtils.argumented.getArguments(r).length<1)return;const a=e.pushValueOptions(n),o=s.tsUtils.argumented.getArguments(r)[0],l=t=>{e.emitOp(r,"DROP"),e.emitHelper(r,t,e.helpers.createArray)},p=t=>{e.emitOp(r,"DROP"),e.emitHelper(r,t,e.helpers.throwTypeError)};e.visit(o,a),e.emitHelper(r,a,e.helpers.forBuiltinType({type:e.context.analysis.getType(o),array:t=>{e.emitHelper(r,t,e.helpers.unwrapArray),e.emitOp(r,"ARRAYSIZE"),e.emitHelper(r,t,e.helpers.arrRange({map:t=>{e.emitHelper(r,t,e.helpers.wrapNumber),e.emitHelper(r,t,e.helpers.toString({type:void 0,knownType:i.Types.Number})),e.emitHelper(r,t,e.helpers.wrapString)}})),e.emitHelper(r,t,e.helpers.wrapArray)},arrayStorage:l,boolean:l,buffer:l,null:p,number:l,object:t=>{e.emitHelper(r,t,e.helpers.getPropertyObjectKeys),e.emitHelper(r,t,e.helpers.arrMap({map:t=>{e.emitHelper(r,t,e.helpers.wrapString)}})),e.emitHelper(r,t,e.helpers.wrapArray)}
1,string:l,symbol:l,undefined:p,map:l,mapStorage:l,set:l,setStorage:l,error:l,forwardValue:l,iteratorResult:l,iterable:l,iterableIterator:l,transaction:l,output:l,attribute:l,input:l,account:l,asset:l,contract:l,header:l,block:l})),n.pushValue||e.emitOp(r,"DROP")}}t.ObjectKeys=a},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.add=void 0;const s=r(82);class i extends s.BuiltinBase{}class n extends s.BuiltinBase{}t.add=e=>{e.addValue("one0",new i),e.addValue("one1",new n)}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.add=void 0;const s=r(28);class i extends s.BuiltinInterface{constructor(){super(...arguments),this.canImplement=!0}}t.add=e=>{e.addInterface("PropertyDescriptor",new i)}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.add=void 0;const s=r(28),i=r(38);class n extends s.BuiltinInterface{}class a extends i.BuiltinValueObject{constructor(){super(...arguments),this.type="RegExpConstructor"}}class o extends s.BuiltinInterface{}t.add=e=>{e.addInterface("RegExp",new n),e.addValue("RegExp",new a),e.addInterface("RegExpConstructor",new o)}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.add=void 0;const s=r(20),i=r(28),n=r(154),a=r(222),o=r(223),l=r(224),p=r(574),c=r(575),u=r(576);class d extends i.BuiltinInterface{}class m extends i.BuiltinInterface{}class h extends n.BuiltinNew{constructor(){super(...arguments),this.type="SetConstructor"}emitInstanceOf(e,t,r){const s=e.pushValueOptions(r);e.visit(t,s),r.pushValue?(e.emitHelper(t,s,e.helpers.isSet),e.emitHelper(t,s,e.helpers.wrapBoolean)):e.emitOp(t,"DROP")}emitNew(e,t,r){const i=e.pushValueOptions(r),n=s.tsUtils.argumented.getArgumentsArray(t);e.emitOp(t,"NEWMAP"),n.length>0&&(e.visit(n[0],i),e.emitHelper(t,i,e.helpers.unwrapArray),e.emitOp(t,"SWAP"),e.emitHelper(t,i,e.helpers.arrReduce({each:()=>{e.emitOp(t,"TUCK"),e.emitOp(t,"SWAP"),e.emitSysCall(t,"Neo.Runtime.Serialize"),e.emitPushBoolean(t,!0),e.emitOp(t,"SETITEM")}}))),e.emitHelper(t,i,e.helpers.wrapSet),r.pushValue||e.emitOp(t,"DROP")}}class f extends i.BuiltinInterface{}const y=[["__@iterator",new u.SetIterator],["forEach",new c.SetForEach],["has",new o.MapHas],["size",new l.MapSize]];t.add=e=>{e.addInterface("Set",new d),e.addInterface("ReadonlySet",new m),e.addValue("Set",new h),y.forEach(([t,r])=>{e.addGlobalMember("Set",t,r),e.addGlobalMember("ReadonlySet",t,r)}),e.addGlobalMember("Set","delete",new a.MapDelete),e.addGlobalMember("Set","add",new p.SetAdd),e.addInterface("SetConstructor",new f)}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SetAdd=void 0;const s=r(20),i=r(27);class n extends i.BuiltinInstanceMemberCall{canCall(e,t,r){return 1===s.tsUtils.argumented.getArguments(r).length}emitCall(e,t,r,i,n){const a=e.pushValueOptions(i);n||e.visit(s.tsUtils.expression.getExpression(t),a),s.tsUtils.argumented.getArguments(r).length<1||(i.pushValue&&e.emitOp(r,"DUP"),e.emitHelper(r,a,e.helpers.unwrapMap),e.visit(s.tsUtils.argumented.getArguments(r)[0],a),e.emitSysCall(r,"Neo.Runtime.Serialize"),e.emitPushBoolean(r,!0),e.emitOp(r,"SETITEM"))}}t.SetAdd=n},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SetForEach=void 0;const s=r(20),i=r(27);class n extends i.BuiltinInstanceMemberCall{canCall(e,t,r){return 1===s.tsUtils.argumented.getArguments(r).length}emitCall(e,t,r,i,n){const a=e.pushValueOptions(i);n||e.visit(s.tsUtils.expression.getExpression(t),a),s.tsUtils.argumented.getArguments(r).length<1||(e.emitHelper(r,a,e.helpers.unwrapMap),e.emitSysCall(r,"Neo.Iterator.Create"),e.emitSysCall(r,"Neo.Iterator.Keys"),e.visit(s.tsUtils.argumented.getArguments(r)[0],a),e.emitHelper(r,e.noPushValueOptions(a),e.helpers.rawEnumeratorForEachFunc({deserializeKey:!0})),i.pushValue&&e.emitHelper(r,a,e.helpers.wrapUndefined))}}t.SetForEach=n},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SetIterator=void 0;const s=r(20),i=r(27);class n extends i.BuiltinInstanceMemberCall{canCall(){return!0}emitCall(e,t,r,i,n){i.pushValue?(n||e.visit(s.tsUtils.expression.getExpression(t),i),e.emitHelper(r,i,e.helpers.unwrapMap),e.emitSysCall(r,"Neo.Iterator.Create"),e.emitSysCall(r,"Neo.Iterator.Keys"),e.emitHelper(r,i,e.helpers.createEnumeratorIterableIterator({deserializeKey:!0}))):n&&e.emitOp(r,"DROP")}}t.SetIterator=n},function(e,t,r){"use strict";
1Object.defineProperty(t,"__esModule",{value:!0}),t.add=void 0;const s=r(28),i=r(38);class n extends s.BuiltinInterface{}class a extends i.BuiltinValueObject{constructor(){super(...arguments),this.type="StringConstructor"}}class o extends s.BuiltinInterface{}t.add=e=>{e.addInterface("String",new n),e.addValue("String",new a),e.addInterface("StringConstructor",new o)}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.add=void 0;const s=r(28),i=r(38),n=r(579),a=r(580),o=r(581);class l extends s.BuiltinInterface{}class p extends i.BuiltinValueObject{constructor(){super(...arguments),this.type="SymbolConstructor"}}class c extends s.BuiltinInterface{}t.add=e=>{e.addInterface("Symbol",new l),e.addValue("Symbol",new p),e.addInterface("SymbolConstructor",new c),e.addGlobalMember("SymbolConstructor","for",new n.SymbolFor),e.addGlobalMember("SymbolConstructor","iterator",new a.SymbolIterator),e.addGlobalMember("SymbolConstructor","toPrimitive",new o.SymbolToPrimitive)}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SymbolFor=void 0;const s=r(20),i=r(45);class n extends i.BuiltinMemberCall{emitCall(e,t,r,i){if(s.tsUtils.argumented.getArguments(r).length<1)return;const n=s.tsUtils.argumented.getArguments(r)[0];e.visit(n,e.pushValueOptions(i)),e.emitHelper(n,e.pushValueOptions(i),e.helpers.toString({type:e.context.analysis.getType(n)})),e.emitHelper(r,i,e.helpers.wrapSymbol)}}t.SymbolFor=n},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SymbolIterator=void 0;const s=r(22),i=r(225);class n extends i.WellKnownSymbolBase{constructor(){super(...arguments),this.symbol=s.WellKnownSymbol.iterator}}t.SymbolIterator=n},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SymbolToPrimitive=void 0;const s=r(22),i=r(225);class n extends i.WellKnownSymbolBase{constructor(){super(...arguments),this.symbol=s.WellKnownSymbol.toPrimitive}}t.SymbolToPrimitive=n},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.add=void 0;const s=r(28);class i extends s.BuiltinInterface{}t.add=e=>{e.addInterface("TemplateStringsArray",new i)}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.add=void 0;const s=r(28);class i extends s.BuiltinInterface{constructor(){super(...arguments),this.canImplement=!0}}t.add=e=>{e.addInterface("TypedPropertyDescriptor",new i)}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.BuiltinInstanceMemberAccessor=void 0;const s=r(20),i=r(40);t.BuiltinInstanceMemberAccessor=class{constructor(e,t){this.getter=e,this.setter=t,this.types=new Set([i.BuiltinType.InstanceMemberValue])}emitValue(e,t,r,i=!1){i&&e.emitOp(t,"DROP");const{getter:n,setter:a}=this;r.setValue&&void 0!==a&&(e.emitPushInt(a,1),e.emitOp(a,"PACK"),e.withScope(a,r,t=>{e.emitHelper(a,e.pushValueOptions(t),e.helpers.parameters({params:s.tsUtils.parametered.getParameters(a)})),e.emitHelper(a,t,e.helpers.invokeSmartContractMethod({method:a}))})),r.pushValue&&void 0!==n&&e.emitHelper(n,r,e.helpers.invokeSmartContractMethod({method:n}))}}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.BuiltinInstanceMemberMethod=void 0;const s=r(20),i=r(27);class n extends i.BuiltinInstanceMemberCall{constructor(e){super(),this.method=e}canCall(){return!0}emitCall(e,t,r,i,n){const a=e.pushValueOptions(i);n&&e.emitOp(r,"DROP"),e.emitHelper(r,a,e.helpers.args),e.withScope(this.method,i,t=>{e.emitHelper(this.method,e.pushValueOptions(t),e.helpers.parameters({params:s.tsUtils.parametered.getParameters(this.method)})),e.emitHelper(r,t,e.helpers.invokeSmartContractMethod({method:this.method}))})}}t.BuiltinInstanceMemberMethod=n},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.BuiltinInstanceMemberCallableProperty=void 0;const s=r(40);t.BuiltinInstanceMemberCallableProperty=class{constructor(e){this.property=e,this.types=new Set([s.BuiltinType.InstanceMemberValue,s.BuiltinType.InstanceMemberCall])}canCall(){return!0}emitCall(e,t,r,s,i){const n=e.pushValueOptions(s);i&&e.emitOp(r,"DROP"),e.emitHelper(r,n,e.helpers.args),e.emitHelper(r,n,e.helpers.getSmartContractProperty({property:this.property})),e.emitHelper(r,s,e.helpers.invokeCall({bindThis:!1}))}emitValue(e,t,r,s=!1){s&&e.emitOp(t,"DROP"),r.setValue&&e.context.report
1Unsupported(t),r.pushValue&&e.emitHelper(t,r,e.helpers.getSmartContractProperty({property:this.property}))}}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const s=r(18);s.__exportStar(r(588),t),s.__exportStar(r(19),t)},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.createHelpers=void 0;const s=r(589),i=r(609),n=r(612),a=r(614),o=r(617),l=r(619),p=r(626),c=r(634),u=r(659),d=r(661),m=r(678),h=r(682),f=r(688),y=r(707),g=r(709),O=r(717),S=r(724),b=r(728),P=r(733),v=r(44),C=r(146),x=r(147),T=r(148),_=r(149),H=r(150);t.createHelpers=e=>{const t=void 0===e?{}:e.mutableCache;function r(e){return r=>{const s=e.getKey(r);let i=t[s];return void 0===i&&(t[s]=i=new e(r)),i}}const w={};return{mutableCache:t,isAccount:new C.IsAccountHelper,wrapAccount:new C.WrapAccountHelper,unwrapAccount:new C.UnwrapAccountHelper,arrClone:new s.ArrCloneHelper,arrConcat:new s.ArrConcatHelper,arrEvery:e=>new s.ArrEveryHelper(e),arrEveryFunc:new s.ArrEveryFuncHelper,arrFind:e=>new s.ArrFindHelper(e),arrFilter:e=>new s.ArrFilterHelper(e),arrFilterFunc:new s.ArrFilterFuncHelper,arrLeft:new s.ArrLeftHelper,arrMap:e=>new s.ArrMapHelper(e),arrMapFunc:new s.ArrMapFuncHelper,arrForEach:e=>new s.ArrForEachHelper(e),arrForEachFunc:new s.ArrForEachFuncHelper,arrRange:e=>new s.ArrRangeHelper(e),arrReduce:e=>new s.ArrReduceHelper(e),arrReduceFunc:new s.ArrReduceFuncHelper,arrSomeFunc:new s.ArrSomeFuncHelper,arrSome:e=>new s.ArrSomeHelper(e),arrToString:e=>new s.ArrToStringHelper(e),extendArr:new s.ExtendArrHelper,isAsset:new x.IsAssetHelper,wrapAsset:new x.WrapAssetHelper,unwrapAsset:new x.UnwrapAssetHelper,arrayBinding:e=>new i.ArrayBindingHelper(e),objectBinding:e=>new i.ObjectBindingHelper(e),bufferSlice:e=>new n.BufferSliceHelper(e),isBlock:new T.IsBlockHelper,wrapBlock:new T.WrapBlockHelper,unwrapBlock:new T.UnwrapBlockHelper,getCachedValue:e=>new a.GetCachedValueHelper(e),getCache:new a.GetCacheHelper,createClass:e=>new o.CreateClassHelper(e),didReceiveAssets:new c.DidReceiveAssetsHelper,didReceiveNonClaimAssets:new c.DidReceiveNonClaimAssetsHelper,didSendAssets:new c.DidSendAssetsHelper,invokeSmartContract:e=>new c.InvokeSmartContractHelper(e),invokeSmartContractMethod:e=>new c.InvokeSmartContractMethodHelper(e),getOutputAssetValueMap:new c.GetOutputAssetValueMapHelper,invocationIsCaller:new c.InvocationIsCallerHelper,isCaller:new c.IsCallerHelper,isProcessedTransaction:new c.IsProcessedTransactionHelper,refundAssets:new c.RefundAssetsHelper,mergeAssetValueMaps:e=>new c.MergeAssetValueMapsHelper(e),getSmartContractProperty:e=>new c.GetSmartContractPropertyHelper(e),isDeployed:new c.IsDeployedHelper,setDeployed:new c.SetDeployedHelper,isClaimedTransaction:new c.IsClaimedTransactionHelper,setProcessedTransaction:new c.SetProcessedTransactionHelper,completeSend:new c.CompleteSendHelper,deploy:e=>new c.DeployHelper(e),upgrade:e=>new c.UpgradeHelper(e),handleNormal:(I=c.HandleNormalHelper,e=>{const t=I.getKey(e);let r=w[t];return void 0===r&&(w[t]=r=new I(e)),r}),handleSend:e=>
1new c.HandleSendHelper(e),handleReceive:e=>new c.HandleReceiveHelper(e),handleSendUnsafe:e=>new c.HandleSendUnsafeHelper(e),applicationMatchesVerification:new c.ApplicationMatchesVerificationHelper,isContract:new _.IsContractHelper,wrapContract:new _.WrapContractHelper,unwrapContract:new _.UnwrapContractHelper,arrSlice:(e={})=>new l.ArrSliceHelper(e),cloneArray:new l.CloneArrayHelper,forType:e=>new v.ForTypeHelper(e),genericLogSerialize:new l.GenericLogSerializeHelper,exp:new l.ExpHelper,consoleLog:new l.ConsoleLogHelper,debugLog:e=>new l.DebugLogHelper(e),equalsEqualsEquals:e=>new S.EqualsEqualsEqualsHelper(e),equalsEquals:e=>new S.EqualsEqualsHelper(e),lessThan:e=>new S.LessThanHelper(e),processStatements:e=>new b.ProcessStatementsHelper(e),args:new d.ArgumentsHelper,bindFunctionThis:e=>new d.BindFunctionThisHelper(e),call:new d.CallHelper,callLike:new d.CallLikeHelper,cloneFunction:new d.CloneFunctionHelper,createCallArray:new d.CreateCallArrayHelper,createConstructArray:e=>new d.CreateConstructArrayHelper(e),createFunctionArray:e=>new d.CreateFunctionArrayHelper(e),createFunctionObject:e=>new d.CreateFunctionObjectHelper(e),function:e=>new d.FunctionHelper(e),functionLike:new d.FunctionLikeHelper,getCallable:r(d.GetCallableHelper),invokeCall:r(d.InvokeCallHelper),invokeConstruct:e=>new d.InvokeConstructHelper(e),new:e=>new d.NewHelper(e),parameters:e=>
1new d.ParametersHelper(e),coerceToInt:new v.CoerceToIntHelper,forLoop:e=>new b.ForLoopHelper(e),if:e=>new b.IfHelper(e),case:(e,t)=>new b.CaseHelper(e,t),handleCompletion:new p.HandleCompletionHelper,return:new p.ReturnHelper,throw:new p.ThrowHelper,break:new p.BreakHelper,continue:new p.ContinueHelper,throwCompletion:new p.ThrowCompletionHelper,throwCompletionBase:new p.ThrowCompletionBaseHelper,throwTypeError:new u.ThrowTypeErrorHelper,wrapBoolean:new v.WrapBooleanHelper,wrapNull:new v.WrapNullHelper,wrapNumber:new v.WrapNumberHelper,createObject:new v.CreateObjectHelper,wrapString:new v.WrapStringHelper,wrapSymbol:new v.WrapSymbolHelper,wrapUndefined:new v.WrapUndefinedHelper,isBoolean:new v.IsBooleanHelper,isNull:new v.IsNullHelper,isNumber:new v.IsNumberHelper,isObject:new v.IsObjectHelper,isString:new v.IsStringHelper,isSymbol:new v.IsSymbolHelper,isUndefined:new v.IsUndefinedHelper,isNullOrUndefined:e=>new v.IsNullOrUndefinedHelper(e),unwrapBoolean:new v.UnwrapBooleanHelper,unwrapNumber:new v.UnwrapNumberHelper,unwrapString:new v.UnwrapStringHelper,unwrapSymbol:new v.UnwrapSymbolHelper,getObject:new v.GetObjectHelper,toBoolean:e=>new v.ToBooleanHelper(e),toNullishBoolean:e=>new v.ToNullishBooleanHelper(e),toString:e=>new v.ToStringHelper(e),toNumber:e=>new v.ToNumberHelper(e),toObject:e=>new v.ToObjectHelper(e),toPrimitive:e=>new v.ToPrimitiveHelper(e),getSymbolObject:new v.GetSymbolObjectHelper,getSymbolObjectProperty:new v.GetSymbolObjectPropertyHelper,setSymbolObjectProperty:new v.SetSymbolObjectPropertyHelper,setDataSymbolObjectProperty:new v.SetDataSymbolObjectPropertyHelper,setAccessorSymbolObjectProperty:e=>new v.SetAccessorSymbolObjectPropertyHelper(e),getPropertyObject:new v.GetPropertyObjectHelper,getPropertyObjectKeys:new v.GetPropertyObjectKeysHelper,getPropertyObjectValues:new v.GetPropertyObjectValuesHelper,getPropertyObjectProperty:new v.GetPropertyObjectPropertyHelper,setPropertyObjectProperty:new v.SetPropertyObjectPropertyHelper,setDataPropertyObjectProperty:new v.SetDataPropertyObjectPropertyHelper,setAccessorPropertyObjectProperty:e=>new v.SetAccessorPropertyObjectPropertyHelper(e),getInternalObject:new v.GetInternalObjectHelper,getInternalObjectProperty:new v.GetInternalObjectPropertyHelper,setInternalObjectProperty:new v.SetInternalObjectPropertyHelper,packObject:new v.PackObjectHelper,pickObjectProperties:new v.PickObjectPropertiesHelper,pickPropertyObjectProperties:new v.PickPropertyObjectPropertiesHelper,pickSymbolObjectProperties:new v.PickSymbolObjectPropertiesHelper,omitObjectProperties:new v.OmitObjectPropertiesHelper,omitPropertyObjectProperties:new v.OmitPropertyObjectPropertiesHelper,omitSymbolObjectProperties:new v.OmitSymbolObjectPropertiesHelper,wrapObject:new v.WrapObjectHelper,unwrapObject:new v.UnwrapObjectHelper,instanceof:new v.InstanceofHelper,inObjectProperty:e=>new v.InObjectPropertyHelper(e),inPropertyObjectProperty:new v.InPropertyObjectPropertyHelper,inSymbolObjectProperty:new v.InSymbolObjectPropertyHelper,createPropertyObject:new v.CreatePropertyObjectHelper,findObjectProperty:e=>new v.FindObjectPropertyHelper(e),findObjectPropertyBase:e=>new v.FindObjectPropertyHelperBase(e),isHeader:new H.IsHeaderHelper,wrapHeader:new H.WrapHeaderHelper,unwrapHeader:new H.UnwrapHeaderHelper,iterableIteratorForEach:e=>new h.IterableIteratorForEachHelper(e),iterableIteratorReduce:e=>new h.IterableIteratorReduceHelper(e),createEnumeratorIterableIterator:e=>new h.CreateEnumeratorIterableIteratorHelper(e),createIterableIteratorBase:e=>new h.CreateIterableIteratorBaseHelper(e),createIteratorIterableIterator:e=>new h.CreateIteratorIterableIteratorHelper(e),rawIteratorEvery:e=>new f.RawIteratorEveryHelper(e),rawIteratorEveryBase:e=>new f.RawIteratorEveryBaseHelper(e),rawIteratorSome:e=>new f.RawIteratorSomeHelper(e),rawIteratorSomeBase:e=>new f.RawIteratorSomeBaseHelper(e),rawIteratorForEach:e=>new f.RawIteratorForEachHelper(e),rawIteratorForEachKey:e=>new f.RawIteratorForEachKeyHelper(e),rawIteratorForEachBase:e=>new f.RawIteratorForEachBaseHelper(e),rawIteratorForEachFunc:e=>new f.RawIteratorForEachFuncHelper(e),rawIteratorForEachFuncBase:e=>new f.RawIteratorForEachFuncBaseHelper(e),rawEnumeratorForEachFunc:e=>new f.RawEnumeratorForEachFuncHelper(e),rawEnumeratorForEach:e=>
1new f.RawEnumeratorForEachHelper(e),rawEnumeratorFilter:e=>new f.RawEnumeratorFilterHelper(e),rawEnumeratorFind:e=>new f.RawEnumeratorFindHelper(e),rawEnumeratorReduce:e=>new f.RawEnumeratorReduceHelper(e),rawEnumeratorEvery:e=>new f.RawEnumeratorEveryHelper(e),rawEnumeratorSome:e=>new f.RawEnumeratorSomeHelper(e),rawIteratorReduce:e=>new f.RawIteratorReduceHelper(e),rawIteratorReduceBase:e=>new f.RawIteratorReduceBaseHelper(e),createIteratorResult:new y.CreateIteratorResultHelper,mapDelete:new g.MapDeleteHelper,mapEvery:e=>new g.MapEveryHelper(e),mapForEach:e=>new g.MapForEachHelper(e),mapFilter:e=>new g.MapFilterHelper(e),mapMap:e=>new g.MapMapHelper(e),mapReduce:e=>new g.MapReduceHelper(e),mapSome:e=>new g.MapSomeHelper(e),cacheStorage:new P.CacheStorageHelper,putCommonStorage:new P.PutCommonStorageHelper,handleUndefinedStorage:e=>new P.HandleUndefinedStorageHelper(e),commonStorage:new P.CommonStorageHelper,deleteCacheStorage:new P.DeleteCacheStorageHelper,deleteStorageBase:new P.DeleteStorageBaseHelper,deleteStorage:new P.DeleteStorageHelper,iterStorage:new P.IterStorageHelper,putStorage:new P.PutStorageHelper,getStorageBase:new P.GetStorageBaseHelper,getStorage:new P.GetStorageHelper,getCommonStorage:new P.GetCommonStorageHelper,atStructuredStorage:e=>new P.AtStructuredStorageHelper(e),createIteratorStructuredStorage:e=>new P.CreateIteratorStructuredStorageHelper(e),createStructuredStorage:e=>new P.CreateStructuredStorageHelper(e),deleteStructuredStorage:e=>new P.DeleteStructuredStorageHelper(e),getKeyStructuredStorage:e=>new P.GetKeyStructuredStorageHelper(e),getStructuredStorage:e=>new P.GetStructuredStorageHelper(e),hasStructuredStorage:e=>new P.HasStructuredStorageHelper(e),setStructuredStorage:e=>new P.SetStructuredStorageHelper(e),setArrayStorage:new P.SetArrayStorageHelper,forEachFuncStructuredStorageBase:e=>new P.ForEachFuncStructuredStorageBaseHelper(e),forEachFuncStructuredStorage:e=>new P.ForEachFuncStructuredStorageHelper(e),forEachKeyFuncStructuredStorage:e=>new P.ForEachKeyFuncStructuredStorageHelper(e),forEachStructuredStorageBase:e=>new P.ForEachStructuredStorageBaseHelper(e),forEachKeyStructuredStorage:e=>new P.ForEachKeyStructuredStorageHelper(e),forEachStructuredStorage:e=>new P.ForEachStructuredStorageHelper(e),forEachValStructuredStorage:e=>new P.ForEachValStructuredStorageHelper(e),getStructuredStorageSize:e=>new P.GetStructuredStorageSizeHelper(e),handleValueStructuredStorage:new P.HandleValueStructuredStorageHelper,handleValValueStructuredStorage:new P.HandleValValueStructuredStorageHelper,handlePrefixKeyStructuredStorage:new P.HandlePrefixKeyStructuredStorageHelper,createIterableIteratorStructuredStorageBase:e=>new P.CreateIterableIteratorStructuredStorageBaseHelper(e),createIterableIteratorStructuredStorage:e=>new P.CreateIterableIteratorStructuredStorageHelper(e),createKeyIterableIteratorStructuredStorage:e=>new P.CreateKeyIterableIteratorStructuredStorageHelper(e),createValIterableIteratorStructuredStorage:e=>new P.CreateValIterableIteratorStructuredStorageHelper(e),getArrayStorageLength:new P.GetArrayStorageLengthHelper,putArrayStorageLength:new P.PutArrayStorageLengthHelper,handlePrefixArrayStructuredStorage:new P.HandlePrefixArrayStructuredStorageHelper,unwrapKeyStructuredStorage:e=>new P.UnwrapKeyStructuredStorageHelper(e),structuredStorageReduceBase:e=>new P.StructuredStorageReduceBaseHelper(e),structuredStorageReduce:e=>new P.StructuredStorageReduceHelper(e),structuredStorageReduceVal:e=>new P.StructuredStorageReduceValHelper(e),forBuiltinType:e=>new v.ForBuiltinTypeHelper(e),forIterableType:e=>new v.ForIterableTypeHelper(e),unwrapVal:e=>new v.UnwrapValHelper(e),wrapVal:e=>new v.WrapValHelper(e),wrapArrayVal:e=>new v.WrapArrayValHelper(e),unwrapValRecursive:e=>new v.UnwrapValRecursiveHelper(e),wrapValRecursive:e=>new v.WrapValRecursiveHelper(e),arrayLength:new v.ArrayLengthHelper,createArray:new v.CreateArrayHelper,getArrayIndex:new v.GetArrayIndexHelper,setArrayIndex:new v.SetArrayIndexHelper,wrapArray:new v.WrapArrayHelper,unwrapArray:new v.UnwrapArrayHelper,isArray:new v.IsArrayHelper,wrapArrayStorage:new v.WrapArrayStorageHelper,unwrapArrayStorage:new v.UnwrapArrayStorageHelper,isArrayStorage:new v.IsArrayStorageHelper,wrapAttribute:new v.WrapAttributeHelper,unwrapAttribute:new v.UnwrapAttributeHelper,isAttribute:new v.IsAttributeHelper,bufferLength:new v.BufferLengthHelper,concatBuffer:new v.ConcatBufferHelper,getBufferIndex:new v.GetBufferIndexHelper,createBuffer:new v.WrapBufferHelper,isBuffer:new v.IsBufferHelper,unwrapBuffer:new v.UnwrapBufferHelper,wrapBuffer:new v.WrapBufferHelper,wrapError:ne
1w v.WrapErrorHelper,unwrapError:new v.UnwrapErrorHelper,isError:new v.IsErrorHelper,wrapForwardValue:new v.WrapForwardValueHelper,unwrapForwardValue:new v.UnwrapForwardValueHelper,isForwardValue:new v.IsForwardValueHelper,wrapInput:new v.WrapInputHelper,unwrapInput:new v.UnwrapInputHelper,isInput:new v.IsInputHelper,isIterable:new v.IsIterableHelper,wrapIteratorResult:new v.WrapIteratorResultHelper,unwrapIteratorResult:new v.UnwrapIteratorResultHelper,isIteratorResult:new v.IsIteratorResultHelper,wrapIterableIterator:new v.WrapIterableIteratorHelper,unwrapIterableIterator:new v.UnwrapIterableIteratorHelper,isIterableIterator:new v.IsIterableIteratorHelper,wrapMap:new v.WrapMapHelper,unwrapMap:new v.UnwrapMapHelper,isMap:new v.IsMapHelper,wrapMapStorage:new v.WrapMapStorageHelper,unwrapMapStorage:new v.UnwrapMapStorageHelper,isMapStorage:new v.IsMapStorageHelper,wrapOutput:new v.WrapOutputHelper,unwrapOutput:new v.UnwrapOutputHelper,isOutput:new v.IsOutputHelper,wrapSet:new v.WrapSetHelper,unwrapSet:new v.UnwrapSetHelper,isSet:new v.IsSetHelper,wrapSetStorage:new v.WrapSetStorageHelper,unwrapSetStorage:new v.UnwrapSetStorageHelper,isSetStorage:new v.IsSetStorageHelper,wrapTransaction:new v.WrapTransactionHelper,unwrapTransaction:new v.UnwrapTransactionHelper,isTransaction:new v.IsTransactionHelper,export:e=>new O.ExportHelper(e),exportSingle:e=>new O.ExportSingleHelper(e),getModule:e=>new O.GetModuleHelper(e),getCurrentModule:new O.GetCurrentModuleHelper,getModules:new O.GetModulesHelper,addEmptyModule:new O.AddEmptyModuleHelper,createGlobalObject:new m.CreateGlobalObjectHelper,getArgument:new m.GetArgumentHelper,getGlobalProperty:e=>new m.GetGlobalPropertyHelper(e)};var I}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const s=r(18);s.__exportStar(r(590),t),s.__exportStar(r(591),t),s.__exportStar(r(592),t),s.__exportStar(r(593),t),s.__exportStar(r(594),t),s.__exportStar(r(595),t),s.__exportStar(r(596),t),s.__exportStar(r(597),t),s.__exportStar(r(598),t),s.__exportStar(r(599),t),s.__exportStar(r(600),t),s.__exportStar(r(601),t),s.__exportStar(r(602),t),s.__exportStar(r(603),t),s.__exportStar(r(604),t),s.__exportStar(r(605),t),s.__exportStar(r(606),t),s.__exportStar(r(607),t),s.__exportStar(r(608),t)},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ArrCloneHelper=void 0;const s=r(19);class i extends s.Helper{emit(e,t,r){r.pushValue?(e.emitOp(t,"UNPACK"),e.emitOp(t,"PACK")):e.emitOp(t,"DROP")}}t.ArrCloneHelper=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ArrConcatHelper=void 0;const s=r(19);class i extends s.Helper{emit(e,t,r){const s=e.pushValueOptions(r);e.emitSysCall(t,"Neo.Enumerator.Create"),e.emitHelper(t,s,e.helpers.forLoop({condition:()=>{e.emitOp(t,"TUCK"),e.emitSysCall(t,"Neo.Enumerator.Next")},each:()=>{e.emitOp(t,"TUCK"),e.emitOp(t,"OVER"),e.emitSysCall(t,"Neo.Enumerator.Value"),e.emitOp(t,"APPEND")},cleanup:()=>{e.emitOp(t,"NIP")}}))}}t.ArrConcatHelper=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ArrEveryHelper=void 0;const s=r(19);class i extends s.Helper{constructor(e){super(),this.map=void 0===e.map?()=>{}:e.map}emit(e,t,r){e.emitSysCall(t,"Neo.Enumerator.Create"),e.emitHelper(t,r,e.helpers.rawEnumeratorEvery({each:this.map}))}}t.ArrEveryHelper=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ArrEveryFuncHelper=void 0;const s=r(19);class i extends s.Helper{emit(e,t,r){const s=e.pushValueOptions(r);e.emitHelper(t,s,e.helpers.getCallable({})),e.emitOp(t,"SWAP"),e.emitSysCall(t,"Neo.Enumerator.Create"),e.emitPushInt(t,0),e.emitPushBoolean(t,!0),e.emitOp(t,"ROT"),e.emitHelper(t,s,e.helpers.forLoop({condition:()=>{e.emitOp(t,"OVER"),e.emitOp(t,"OVER"),e.emitSysCall(t,"Neo.Enumerator.Next"),e.emitOp(t,"BOOLAND")},each:r=>{e.emitOp(t,"NIP"),e.emitOp(t,"DUP"),e.emitSysCall(t,"Neo.Enumerator.Value"),e.emitPushInt(t,2),e.emitOp(t,"PICK"),e.emitHelper(t,s,e.helpers.wrapNumber),e.emitOp(t,"SWAP"),e.emitPushInt(t,2),e.emitOp(t,"PACK"),e.emitPushInt(t,3),e.emitOp(t,"PICK"),e.emitHelper(t,e.pushValueOptions(r),e.helpers.call),e.emitHelper(t,e.pushValueOptions(r),e.helpers.unwrapB
1oolean),e.emitOp(t,"ROT"),e.emitOp(t,"INC"),e.emitOp(t,"SWAP"),e.emitOp(t,"ROT")},cleanup:()=>{e.emitOp(t,"DROP"),e.emitOp(t,"NIP"),e.emitOp(t,"NIP")}}))}}t.ArrEveryFuncHelper=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ArrFindHelper=void 0;const s=r(19);class i extends s.Helper{constructor(e){super(),this.each=e.each}emit(e,t,r){e.emitSysCall(t,"Neo.Enumerator.Create"),e.emitHelper(t,r,e.helpers.rawEnumeratorFind({each:this.each}))}}t.ArrFindHelper=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ArrFilterFuncHelper=void 0;const s=r(19);class i extends s.Helper{emit(e,t,r){const s=e.pushValueOptions(r);e.emitHelper(t,s,e.helpers.getCallable({})),e.emitOp(t,"SWAP"),e.emitOp(t,"UNPACK"),e.emitOp(t,"DUP"),e.emitOp(t,"INC"),e.emitOp(t,"ROLL"),e.emitOp(t,"SWAP"),e.emitPushInt(t,0),e.emitOp(t,"NEWARRAY"),e.emitOp(t,"SWAP"),e.emitPushInt(t,0),e.emitOp(t,"SWAP"),e.emitHelper(t,s,e.helpers.forLoop({condition:()=>{e.emitOp(t,"TUCK"),e.emitOp(t,"OVER"),e.emitOp(t,"GT")},each:r=>{e.emitOp(t,"ROT"),e.emitOp(t,"OVER"),e.emitHelper(t,r,e.helpers.wrapNumber),e.emitPushInt(t,5),e.emitOp(t,"ROLL"),e.emitOp(t,"TUCK"),e.emitPushInt(t,2),e.emitOp(t,"PACK"),e.emitPushInt(t,5),e.emitOp(t,"PICK"),e.emitHelper(t,r,e.helpers.if({condition:()=>{e.emitHelper(t,r,e.helpers.call),e.emitHelper(t,r,e.helpers.toBoolean({type:void 0}))},whenTrue:()=>{e.emitOp(t,"OVER"),e.emitOp(t,"SWAP"),e.emitOp(t,"APPEND")},whenFalse:()=>{e.emitOp(t,"DROP")}})),e.emitOp(t,"SWAP"),e.emitOp(t,"INC"),e.emitOp(t,"ROT")},cleanup:()=>{e.emitOp(t,"DROP"),e.emitOp(t,"DROP"),e.emitOp(t,"NIP"),r.pushValue||e.emitOp(t,"DROP")}}))}}t.ArrFilterFuncHelper=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ArrFilterHelper=void 0;const s=r(19);class i extends s.Helper{constructor(e){super(),this.map=e.map,this.withIndex=e.withIndex||!1}emit(e,t,r){const s=r=>{e.emitHelper(t,r,e.helpers.if({condition:()=>{this.map(r)},whenTrue:()=>{e.emitOp(t,"TUCK"),e.emitOp(t,"SWAP"),e.emitOp(t,"APPEND")},whenFalse:()=>{e.emitOp(t,"NIP")}}))};this.withIndex?(e.emitSysCall(t,"Neo.Iterator.Create"),e.emitPushInt(t,0),e.emitOp(t,"NEWARRAY"),e.emitHelper(t,r,e.helpers.rawIteratorReduce({each:r=>{e.emitOp(t,"ROT"),e.emitOp(t,"TUCK"),e.emitPushInt(t,3),e.emitOp(t,"ROLL"),e.emitOp(t,"SWAP"),s(r)}}))):(e.emitSysCall(t,"Neo.Enumerator.Create"),e.emitPushInt(t,0),e.emitOp(t,"NEWARRAY"),e.emitHelper(t,r,e.helpers.rawEnumeratorReduce({each:r=>{e.emitOp(t,"OVER"),s(r)}})))}}t.ArrFilterHelper=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ArrForEachFuncHelper=void 0;const s=r(19);class i extends s.Helper{emit(e,t,r){const s=e.pushValueOptions(r);e.emitHelper(t,s,e.helpers.getCallable({})),e.emitOp(t,"SWAP"),e.emitOp(t,"DUP"),e.emitOp(t,"ARRAYSIZE"),e.emitPushInt(t,0),e.emitHelper(t,s,e.helpers.forLoop({condition:()=>{e.emitOp(t,"SWAP"),e.emitOp(t,"TUCK"),e.emitOp(t,"OVER"),e.emitOp(t,"GT")},each:r=>{e.emitOp(t,"DUP"),e.emitHelper(t,s,e.helpers.wrapNumber),e.emitPushInt(t,3),e.emitOp(t,"PICK"),e.emitPushInt(t,2),e.emitOp(t,"PICK"),e.emitOp(t,"PICKITEM"),e.emitPushInt(t,2),e.emitOp(t,"PACK"),e.emitPushInt(t,4),e.emitOp(t,"PICK"),e.emitHelper(t,e.noPushValueOptions(r),e.helpers.call)},incrementor:()=>{e.emitOp(t,"INC")},cleanup:()=>{e.emitOp(t,"DROP"),e.emitOp(t,"DROP"),e.emitOp(t,"DROP"),e.emitOp(t,"DROP"),r.pushValue&&e.emitHelper(t,s,e.helpers.wrapUndefined)}}))}}t.ArrForEachFuncHelper=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ArrForEachHelper=void 0;const s=r(19);class i extends s.Helper{constructor(e){super(),this.each=e.each,this.withIndex=e.withIndex||!1}emit(e,t,r){this.withIndex?(e.emitSysCall(t,"Neo.Iterator.Create"),e.emitHelper(t,r,e.helpers.rawIteratorForEach({each:r=>{e.emitOp(t,"SWAP"),this.each(r)}}))):(e.emitSysCall(t,"Neo.Enumerator.Create"),e.emitHelper(t,r,e.helpers.rawEnumeratorForEach({each:this.each})))}}t.ArrForEachHelper=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ArrLeftHelper=void 0;const s=r(19);class i extends s.Helper{emit(e,t,r){if(!r.pushValue)return e.emitOp(t,"DROP"),void e.emitOp(t,"DROP");e.emitOp(t,"OVER"),e.emitOp(t,"ARRAYSIZE"),e.emitPushInt(t,0),e.emitOp(t,"NEWARRAY"),e.emitOp(t,"ROT"),e.emitOp(t,"ROT"),e.emitHelper(t,r,e.helpers.forLoop({condition:()=>{e.emitOp(t,"TUCK"),e.emitOp(t,"OVER"),e.emitOp(t,"GT")},each:()=>{e.emitPushInt(t,2),e.emitOp(t,"PICK"),e.emitPushInt(t,4),e.emitOp(t,"PICK"),e.emitPushInt(t,2),e.emitOp(t,"PICK"),e.emitOp(t,"PICKITEM"),e.emitOp(t,"APPEND"),e.emitOp(t,"INC"),e.emitOp(t,"SWAP")},cleanup:()=>{e.emitOp(t,"DROP"),e.emitOp(t,"DROP"),e.emitOp(t,"NIP")}}))}}t.ArrLeftHelper=i},function(e,t,r){"use strict";
1Object.defineProperty(t,"__esModule",{value:!0}),t.ArrMapFuncHelper=void 0;const s=r(19);class i extends s.Helper{emit(e,t,r){r.pushValue?(e.emitHelper(t,r,e.helpers.getCallable({})),e.emitOp(t,"SWAP"),e.emitOp(t,"UNPACK"),e.emitOp(t,"DUP"),e.emitOp(t,"INC"),e.emitOp(t,"ROLL"),e.emitOp(t,"SWAP"),e.emitPushInt(t,0),e.emitOp(t,"SWAP"),e.emitHelper(t,r,e.helpers.forLoop({condition:()=>{e.emitOp(t,"TUCK"),e.emitOp(t,"OVER"),e.emitOp(t,"GT")},each:s=>{e.emitOp(t,"ROT"),e.emitOp(t,"TUCK"),e.emitOp(t,"OVER"),e.emitOp(t,"DUP"),e.emitHelper(t,r,e.helpers.wrapNumber),e.emitOp(t,"SWAP"),e.emitPushInt(t,5),e.emitOp(t,"ADD"),e.emitOp(t,"ROLL"),e.emitPushInt(t,2),e.emitOp(t,"PACK"),e.emitOp(t,"SWAP"),e.emitHelper(t,s,e.helpers.call),e.emitOp(t,"OVER"),e.emitPushInt(t,4),e.emitOp(t,"ADD"),e.emitOp(t,"XTUCK"),e.emitOp(t,"DROP"),e.emitOp(t,"INC"),e.emitOp(t,"ROT")},cleanup:()=>{e.emitOp(t,"NIP"),e.emitOp(t,"NIP"),e.emitOp(t,"PACK")}}))):e.emitOp(t,"DROP")}}t.ArrMapFuncHelper=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ArrMapHelper=void 0;const s=r(19);class i extends s.Helper{constructor(e){super(),this.map=e.map,this.withIndex=e.withIndex||!1}emit(e,t,r){this.withIndex?(e.emitSysCall(t,"Neo.Iterator.Create"),e.emitPushInt(t,0),e.emitOp(t,"NEWARRAY"),e.emitHelper(t,r,e.helpers.rawIteratorReduce({each:r=>{e.emitOp(t,"ROT"),e.emitOp(t,"ROT"),e.emitOp(t,"SWAP"),this.map(r),e.emitOp(t,"OVER"),e.emitOp(t,"SWAP"),e.emitOp(t,"APPEND")}}))):(e.emitSysCall(t,"Neo.Enumerator.Create"),e.emitPushInt(t,0),e.emitOp(t,"NEWARRAY"),e.emitHelper(t,r,e.helpers.rawEnumeratorReduce({each:r=>{e.emitOp(t,"TUCK"),e.emitOp(t,"SWAP"),this.map(r),e.emitOp(t,"APPEND")}})))}}t.ArrMapHelper=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ArrRangeHelper=void 0;const s=r(19);class i extends s.Helper{constructor(e){super(),this.map=void 0===e.map?()=>{}:e.map}emit(e,t,r){const s=e.pushValueOptions(r);e.emitOp(t,"NEWARRAY"),e.emitSysCall(t,"Neo.Enumerator.Create"),e.emitPushInt(t,0),e.emitOp(t,"NEWARRAY"),e.emitOp(t,"SWAP"),e.emitPushInt(t,0),e.emitHelper(t,s,e.helpers.forLoop({condition:()=>{e.emitOp(t,"OVER"),e.emitSysCall(t,"Neo.Enumerator.Next")},each:r=>{e.emitPushInt(t,2),e.emitOp(t,"PICK"),e.emitOp(t,"OVER"),this.map(r),e.emitOp(t,"APPEND"),e.emitOp(t,"INC")},cleanup:()=>{e.emitOp(t,"DROP"),e.emitOp(t,"DROP")}}))}}t.ArrRangeHelper=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ArrReduceFuncHelper=void 0;const s=r(19);class i extends s.Helper{emit(e,t,r){const s=e.pushValueOptions(r);e.emitHelper(t,s,e.helpers.getCallable({})),e.emitOp(t,"ROT"),e.emitOp(t,"DUP"),e.emitOp(t,"ARRAYSIZE"),e.emitPushInt(t,0),e.emitHelper(t,s,e.helpers.forLoop({condition:()=>{e.emitOp(t,"SWAP"),e.emitOp(t,"TUCK"),e.emitOp(t,"OVER"),e.emitOp(t,"GT")},each:r=>{e.emitOp(t,"DUP"),e.emitPushInt(t,3),e.emitOp(t,"PICK"),e.emitOp(t,"OVER"),e.emitOp(t,"PICKITEM"),e.emitOp(t,"SWAP"),e.emitHelper(t,s,e.helpers.wrapNumber),e.emitOp(t,"SWAP"),e.emitPushInt(t,6),e.emitOp(t,"ROLL"),e.emitPushInt(t,3),e.emitOp(t,"PACK"),e.emitPushInt(t,4),e.emitOp(t,"PICK"),e.emitHelper(t,e.pushValueOptions(r),e.helpers.call),e.emitPushInt(t,5),e.emitOp(t,"XTUCK"),e.emitOp(t,"DROP")},incrementor:()=>{e.emitOp(t,"INC")},cleanup:()=>{e.emitOp(t,"DROP"),e.emitOp(t,"DROP"),e.emitOp(t,"DROP"),e.emitOp(t,"DROP"),r.pushValue||e.emitOp(t,"DROP")}}))}}t.ArrReduceFuncHelper=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ArrReduceHelper=void 0;const s=r(19);class i extends s.Helper{constructor(e){super(),this.each=e.each,this.withIndex=e.withIndex||!1}emit(e,t,r){this.withIndex?(e.emitOp(t,"SWAP"),e.emitSysCall(t,"Neo.Iterator.Create"),e.emitOp(t,"SWAP"),e.emitHelper(t,r,e.helpers.rawIteratorReduce({each:r=>{e.emitOp(t,"ROT"),e.emitOp(t,"SWAP"),this.each(r)}}))):(e.emitOp(t,"SWAP"),e.emitSysCall(t,"Neo.Enumerator.Create"),e.emitOp(t,"SWAP"),e.emitHelper(t,r,e.helpers.rawEnumeratorReduce({each:this.each})))}}t.ArrReduceHelper=i},function(e,t,r){"use strict";
1Object.defineProperty(t,"__esModule",{value:!0}),t.ArrSomeFuncHelper=void 0;const s=r(19);class i extends s.Helper{emit(e,t,r){const s=e.pushValueOptions(r);e.emitHelper(t,s,e.helpers.getCallable({})),e.emitOp(t,"SWAP"),e.emitSysCall(t,"Neo.Enumerator.Create"),e.emitPushInt(t,0),e.emitPushBoolean(t,!1),e.emitOp(t,"ROT"),e.emitHelper(t,s,e.helpers.forLoop({condition:()=>{e.emitOp(t,"OVER"),e.emitOp(t,"NOT"),e.emitOp(t,"OVER"),e.emitSysCall(t,"Neo.Enumerator.Next"),e.emitOp(t,"BOOLAND")},each:r=>{e.emitOp(t,"NIP"),e.emitOp(t,"DUP"),e.emitSysCall(t,"Neo.Enumerator.Value"),e.emitPushInt(t,2),e.emitOp(t,"PICK"),e.emitHelper(t,s,e.helpers.wrapNumber),e.emitOp(t,"SWAP"),e.emitPushInt(t,2),e.emitOp(t,"PACK"),e.emitPushInt(t,3),e.emitOp(t,"PICK"),e.emitHelper(t,e.pushValueOptions(r),e.helpers.call),e.emitHelper(t,e.pushValueOptions(r),e.helpers.unwrapBoolean),e.emitOp(t,"ROT"),e.emitOp(t,"INC"),e.emitOp(t,"SWAP"),e.emitOp(t,"ROT")},cleanup:()=>{e.emitOp(t,"DROP"),e.emitOp(t,"NIP"),e.emitOp(t,"NIP")}}))}}t.ArrSomeFuncHelper=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ArrSomeHelper=void 0;const s=r(19);class i extends s.Helper{constructor(e){super(),this.map=void 0===e.map?()=>{}:e.map}emit(e,t,r){e.emitSysCall(t,"Neo.Enumerator.Create"),e.emitHelper(t,r,e.helpers.rawEnumeratorSome({each:this.map}))}}t.ArrSomeHelper=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ArrToStringHelper=void 0;const s=r(20),i=r(44);class n extends i.TypedHelper{constructor({type:e,knownType:t,hasJoinString:r=!1}){super({type:e,knownType:t}),this.hasJoinString=r}emit(e,t,r){if(!r.pushValue)return void e.emitOp(t,"DROP");const i=void 0===this.type?[]:s.tsUtils.type_.getArrayTypes(this.type),n=1===i.length?s.tsUtils.type_.getArrayType(i[0]):void 0,a=e.scope.addUnique();this.hasJoinString||e.emitPushString(t,","),e.scope.set(e,t,r,a),e.emitPushString(t,""),e.emitHelper(t,r,e.helpers.arrReduce({withIndex:!0,each:s=>{e.emitHelper(t,r,e.helpers.if({condition:()=>{e.emitOp(t,"ROT"),e.emitPushInt(t,0),e.emitOp(t,"NUMEQUAL")},whenTrue:()=>{e.emitOp(t,"DROP"),e.emitHelper(t,s,e.helpers.toString({type:n,initial:!1}))},whenFalse:()=>{e.scope.get(e,t,r,a),e.emitOp(t,"CAT"),e.emitOp(t,"SWAP"),e.emitHelper(t,s,e.helpers.toString({type:n,initial:!1})),e.emitOp(t,"CAT")}}))}}))}}t.ArrToStringHelper=n},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ExtendArrHelper=void 0;const s=r(19);class i extends s.Helper{emit(e,t,r){const s=e.pushValueOptions(r);e.emitOp(t,"OVER"),e.emitOp(t,"ARRAYSIZE"),e.emitHelper(t,s,e.helpers.forLoop({condition:()=>{e.emitOp(t,"TUCK"),e.emitOp(t,"OVER"),e.emitOp(t,"LT")},each:()=>{e.emitOp(t,"ROT"),e.emitOp(t,"DUP"),e.emitHelper(t,s,e.helpers.wrapUndefined),e.emitOp(t,"APPEND")},incrementor:()=>{e.emitOp(t,"ROT"),e.emitOp(t,"INC"),e.emitOp(t,"ROT"),e.emitOp(t,"SWAP")},cleanup:()=>{}})),e.emitOp(t,"DROP"),e.emitOp(t,"DROP"),e.emitOp(t,"DROP")}}t.ExtendArrHelper=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const s=r(18);s.__exportStar(r(610),t),s.__exportStar(r(611),t)},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ArrayBindingHelper=void 0;const s=r(18),i=r(20),n=s.__importDefault(r(21)),a=r(44);class o extends a.TypedHelper{constructor(e){super(e),this.value=e.value}emit(e,t,r){const s=e.pushValueOptions(r),a=t.elements.find(e=>void 0!==i.tsUtils.node.getDotDotDotToken(e)),o=void 0===a?[...t.elements]:t.elements.slice(0,-1),l=(r,l,p)=>c=>{r(c),o.forEach((r,a)=>{if(n.default.isOmittedExpression(r))return;const o=i.tsUtils.node.getNameNode(r),p=i.tsUtils.initializer.getInitializer(r),u=e.context.analysis.getType(o);n.default.isIdentifier(o)&&e.scope.add(i.tsUtils.node.getText(o)),e.emitOp(r,"DUP"),l(r,c,a),void 0!==p&&e.emitHelper(t,s,e.helpers.if({condition:()=>{e.emitOp(t,"DUP"),e.emitHelper(t,s,e.helpers.isUndefined)},whenTrue:()=>{e.emitOp(t,"DROP"),e.visit(p,s)}})),n.default.isIdentifier(o)?e.scope.set(e,t,s,i.tsUtils.node.getText(o)):n.default.isArrayBindingPattern(o)?e.emitHelper(o,s,e.helpers.arrayBinding({type:u})):e.emitHelper(o,s,e.helpers.objectBinding({type:u}))}),void 0===a?e.emitOp(t,"DROP"):(e.scope.add(i.tsUtils.node.getNameOrThrow(a)),p(a,c),e.emitHelper(t,s,e.helpers.wrapArray),e.scope.set(e,t,s,i.tsUtils.node.getNameOrThrow(a)))},p=l(()=>{},(t,r,s)=>{e.emitPushInt(t,s),e.emitHelper(t,r,e.helpers.getArrayIndex)},(t,r)=>{e.emitHelper(t,r,e.helpers.unwrapArray),e.emitPushInt(t,o.length),e.emitHelper(t,r,e.helpers.arrSlice({hasEnd:!1}))}),c=t=>r=>{e.emitOp(t,"ROT"),e.emitOp(t,"ROT"),e.emitPushInt(t,2),e.emitOp(t,"PACK"),e.emitHelper(t,r,e.helpers.wrapArray),e.emitOp(t,"OVER"),e.emitOp(t,"SWAP"),e.emitOp(t,"APPEND")},u=l(r=>{e.emitHelper(t,r,e.helpers.unwrapMap),e.emitSysCall(t,"Neo.Iterator.Create")},(t,r)=>{e.emitOp(t,"DUP"),e.emitSysCall(t,"Neo.Enumerator.Next"),e.emitOp(t,"DROP"),e.emitOp(t,"DUP"),e.emitSysCall(t,"Neo.Enumerator.Value"),e.emitOp(t,"SWAP"),e.emitSysCall(t,"Neo.Iterator.Key"),e.emitSysCall(t,"Neo.Runtime.Deserialize"),e.emitPushInt(t,2),e.emitOp(t,"PACK"),e.emitHelper(t,r,e.helpers.wrapArray)},(t,r)=>{e.emitPushInt(t,0),e.emitOp(t,"NEWARRAY"),e.emitHelper(t,r,e.helpers.rawIteratorReduce({deserializeKey:!0,each:c(t)}))}),d=t=>()=>{e.emitOp(t,"ROT"),e.emitOp(t,"DROP"),e.emitOp(t,"TUCK"),e.emitOp(t,"SWAP"),e.emitOp(t,"APPEND")},m=l(r=>{e.emitHelper(t,r,e.helpers.unwrapSet),e.emitSysCall(t,"Neo.Iterator.Create")},t=>{e.emitOp(t,"DUP"),e.emitSysCall(t,"Neo.Enumerator.Next"),e.emitOp(t,"DROP"),e.emitSysCall(t,"Neo.Iterator.Key"),e.emitSysCall(t,"Neo.Runtime.Deserialize")},(t,r)=>{e.emitPushInt(t,0),e.emitOp(t,"NEWARRAY"),e.emitHelper(t,r,e.helpers.rawIteratorReduce({deserializeKey:!0,each:d(t)}))}),h=()=>
1{e.context.reportUnsupported(t)};void 0!==this.value&&e.visit(this.value,s),e.emitHelper(t,s,e.helpers.forIterableType({type:this.type,array:p,map:u,set:m,arrayStorage:h,mapStorage:h,setStorage:h,iterableIterator:h}))}}t.ArrayBindingHelper=o},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ObjectBindingHelper=void 0;const s=r(18),i=r(20),n=s.__importDefault(r(21)),a=r(32),o=r(33),l=r(56),p=r(44);class c extends p.TypedHelper{constructor(e){super(e),this.value=e.value}emit(e,t,r){const s=t.elements.find(e=>void 0!==i.tsUtils.node.getDotDotDotToken(e)),p=void 0===s?[...t.elements]:t.elements.slice(0,-1),c=r=>{e.emitOp(t,"DROP"),e.emitHelper(t,r,e.helpers.throwTypeError)},u=r=>{e.emitOp(t,"DROP"),c(r)},d=(r,c=!1)=>d=>{void 0!==s&&e.context.reportUnsupportedEfficiency(s),p.forEach(s=>{const p=i.tsUtils.node.getNameNode(s),m=i.tsUtils.node.getPropertyNameNode(s),h=i.tsUtils.initializer.getInitializer(s),f=e.context.analysis.getType(p);if(n.default.isIdentifier(p)&&e.scope.add(i.tsUtils.node.getText(p)),c||e.emitOp(s,"DUP"),void 0===m||n.default.isIdentifier(m)||n.default.isStringLiteral(m)||n.default.isNumericLiteral(m)){const t=void 0===m?i.tsUtils.node.getNameOrThrow(s):n.default.isIdentifier(m)?i.tsUtils.node.getText(m):n.default.isStringLiteral(m)?i.tsUtils.literal.getLiteralValue(m):""+i.tsUtils.literal.getLiteralValue(m),p=e.context.builtins.getOnlyMember(r,t);void 0===p?u(d):((t,r,s)=>{l.isBuiltinInstanceMemberValue(t)?t.emitValue(e,r,s,!0):l.isBuiltinMemberValue(t)?t.emitValue(e,r,s):e.context.reportError(r,a.DiagnosticCode.InvalidBuiltinReference,o.DiagnosticMessage.CannotReferenceBuiltinProperty)})(p,s,d)}else e.context.reportUnsupported(s);void 0!==h&&e.emitHelper(t,d,e.helpers.if({condition:()=>{e.emitOp(t,"DUP"),e.emitHelper(t,d,e.helpers.isUndefined)},whenTrue:()=>{e.emitOp(t,"DROP"),e.visit(h,d)}})),n.default.isIdentifier(p)?e.scope.set(e,s,d,i.tsUtils.node.getText(p)):n.default.isArrayBindingPattern(p)?e.emitHelper(p,d,e.helpers.arrayBinding({type:f})):e.emitHelper(p,d,e.helpers.objectBinding({type:f}))}),c||e.emitOp(t,"DROP")},m=e.pushValueOptions(r);if(void 0!==this.value){const t=e.context.builtins.getValueInterface(this.value);if(void 0!==t)return void d(t,!0)(m);e.visit(this.value,m)}e.emitHelper(t,m,e.helpers.forBuiltinType({type:this.type,knownType:this.knownType,array:d("Array"),arrayStorage:d("ArrayStorage"),boolean:d("Boolean"),buffer:d("Buffer"),null:c,number:d("Number"),object:r=>{let a=()=>{},o=()=>{};if(void 0!==s&&(e.emitPushInt(t,0),e.emitOp(t,"NEWARRAY"),e.emitPushInt(t,0),e.emitOp(t,"NEWARRAY"),e.emitOp(t,"ROT"),a=()=>{e.emitPushInt(s,4),e.emitOp(s,"PICK"),e.emitOp(t,"OVER"),e.emitOp(t,"APPEND")},o=()=>{e.emitPushInt(s,3),e.emitOp(s,"PICK"),e.emitOp(t,"OVER"),e.emitOp(t,"APPEND")}),p.forEach(s=>{const l=i.tsUtils.node.getNameNode(s),p=i.tsUtils.node.getPropertyNameNode(s),c=i.tsUtils.initializer.getInitializer(s),d=e.context.analysis.getType(l);if(n.default.isIdentifier(l)&&e.scope.add(i.tsUtils.node.getText(l)),e.emitOp(s,"DUP"),void 0===p)e.emitPushString(s,i.tsUtils.node.getNameOrThrow(s)),o(),e.emitHelper(s,r,e.helpers.getPropertyObjectProperty);else if(n.default.isIdentifier(p))e.emitPushString(s,i.tsUtils.node.getText(p)),o(),e.emitHelper(s,r,e.helpers.getPropertyObjectProperty);else if(n.default.isComputedPropertyName(p)){const n=i.tsUtils.expression.getExpression(p),l=e.context.analysis.getType(n);e.visit(n,r);const c=()=>{e.emitHelper(s,r,e.helpers.unwrapSymbol),a(),e.emitHelper(s,r,e.helpers.getSymbolObjectProperty)},d=t=>{o(),e.emitHelper(s,t,e.helpers.getPropertyObjectProperty)},m=r=>{e.emitHelper(t,r,e.helpers.unwrapString),d(r)},h=r=>{e.emitHelper(t,r,e.helpers.toString({type:l})),d(r)};e.emitHelper(s,r,e.helpers.forBuiltinType({type:l,array:u,arrayStorage:u,boolean:u,buffer:u,null:u,number:h,object:u,string:m,symbol:c,undefined:u,map:u,mapStorage:u,set:u,setStorage:u,error:u,forwardValue:u,iteratorResult:u,iterable:u,iterableIterator:u,transaction:u,output:u,attribute:u,input:u,account:u,asset:u,contract:u,header:u,block:u}))}else e.emitPushString(p,n.default.isStringLiteral(p)?i.tsUtils.literal.getLiteralValue(p):""+i.tsUtils.literal.getLiteralValue(p)),o(),e.emitHelper(s,r,e.helpers.getPropertyObjectProperty);void 0!==c&&e.emitHelper(t,r,e.helpers.if({condition:()=>{e.emitOp(t,"DUP"),e.emitHelper(t,r,e.helpers.isUndefined)},whenTrue:()=>{e.emitOp(t,"DROP"),e.visit(c,r)}})),n.default.isIdentifier(l)?e.scope.set(e,s,r,i.tsUtils.node.getText(l)):n.default.isArrayBindingPattern(l)?e.emitHelper(l,r,e.helpers.arrayBinding({type:d}
1)):e.emitHelper(l,r,e.helpers.objectBinding({type:d}))}),void 0===s)e.emitOp(t,"DROP");else{const n=i.tsUtils.node.getNameOrThrow(s);e.scope.add(n),e.emitOp(t,"NEWMAP"),e.emitOp(t,"SWAP"),e.emitOp(t,"DUP"),e.emitHelper(t,r,e.helpers.getSymbolObject),e.emitOp(t,"SWAP"),e.emitHelper(t,r,e.helpers.getPropertyObject),e.emitPushInt(t,3),e.emitHelper(t,r,e.helpers.packObject),e.emitPushInt(t,3),e.emitOp(t,"XTUCK"),e.emitOp(s,"ROT"),e.emitOp(s,"ROT"),e.emitHelper(s,r,e.helpers.omitObjectProperties),e.scope.set(e,s,r,n)}},string:d("String"),symbol:d("Symbol"),undefined:c,map:d("Map"),mapStorage:d("MapStorage"),set:d("Set"),setStorage:d("SetStorage"),error:d("Error"),forwardValue:d("ForwardValue"),iteratorResult:d("IteratorResult"),iterable:d("Iterable"),iterableIterator:d("IterableIterator"),transaction:d("TransactionBase"),output:d("Output"),attribute:d("AttributeBase"),input:d("Input"),account:d("Account"),asset:d("Asset"),contract:d("Contract"),header:d("Header"),block:d("Block")}))}}t.ObjectBindingHelper=c},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),r(18).__exportStar(r(613),t)},function(e,t,r){"use strict";(function(e){Object.defineProperty(t,"__esModule",{value:!0}),t.BufferSliceHelper=void 0;const s=r(19);class i extends s.Helper{constructor({hasEnd:e=!1}){super(),this.hasEnd=e}emit(t,r,s){if(!s.pushValue)return t.emitOp(r,"DROP"),void t.emitOp(r,"DROP");this.hasEnd?(t.emitOp(r,"ROT"),t.emitOp(r,"SWAP"),t.emitHelper(r,s,t.helpers.if({condition:()=>{t.emitOp(r,"TUCK"),t.emitPushInt(r,0),t.emitOp(r,"LT")},whenTrue:()=>{t.emitOp(r,"TUCK"),t.emitOp(r,"SIZE"),t.emitOp(r,"ADD"),t.emitOp(r,"SWAP")}})),t.emitOp(r,"ROT"),t.emitHelper(r,s,t.helpers.if({condition:()=>{t.emitOp(r,"TUCK"),t.emitPushInt(r,0),t.emitOp(r,"LT")},whenTrue:()=>{t.emitOp(r,"TUCK"),t.emitOp(r,"SIZE"),t.emitOp(r,"ADD"),t.emitOp(r,"SWAP")}})),t.emitOp(r,"ROT"),t.emitOp(r,"ROT"),t.emitHelper(r,s,t.helpers.if({condition:()=>{t.emitOp(r,"TUCK"),t.emitOp(r,"OVER"),t.emitOp(r,"LTE")},whenTrue:()=>{t.emitOp(r,"DROP"),t.emitOp(r,"DROP"),t.emitOp(r,"DROP"),t.emitPushBuffer(r,e.alloc(0,0))},whenFalse:()=>{t.emitOp(r,"TUCK"),t.emitOp(r,"SUB"),t.emitOp(r,"ROT"),t.emitOp(r,"ROT"),t.emitOp(r,"OVER"),t.emitOp(r,"SIZE"),t.emitOp(r,"SWAP"),t.emitOp(r,"SUB"),t.emitOp(r,"RIGHT"),t.emitOp(r,"SWAP"),t.emitOp(r,"LEFT")}}))):t.emitHelper(r,s,t.helpers.if({condition:()=>{t.emitOp(r,"DUP"),t.emitPushInt(r,0),t.emitOp(r,"LT")},whenTrue:()=>{t.emitPushInt(r,-1),t.emitOp(r,"MUL"),t.emitHelper(r,s,t.helpers.if({condition:()=>{t.emitOp(r,"TUCK"),t.emitOp(r,"OVER"),t.emitOp(r,"SIZE"),t.emitOp(r,"GT")},whenTrue:()=>{t.emitOp(r,"NIP")},whenFalse:()=>{t.emitOp(r,"SWAP"),t.emitOp(r,"RIGHT")}}))},whenFalse:()=>{t.emitOp(r,"OVER"),t.emitOp(r,"SIZE"),t.emitOp(r,"SWAP"),t.emitOp(r,"SUB"),t.emitHelper(r,s,t.helpers.if({condition:()=>{t.emitOp(r,"TUCK"),t.emitPushInt(r,0),t.emitOp(r,"LTE")},whenTrue:()=>{t.emitOp(r,"DROP"),t.emitOp(r,"DROP"),t.emitPushBuffer(r,e.alloc(0,0))},whenFalse:()=>{t.emitOp(r,"SWAP"),t.emitOp(r,"RIGHT")}}))}}))}}t.BufferSliceHelper=i}).call(this,r(26).Buffer)},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const s=r(18);s.__exportStar(r(615),t),s.__exportStar(r(616),t)},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.GetCachedValueHelper=void 0;const s=r(19);class i extends s.Helper{constructor({create:e}){super(),this.create=e}emit(e,t,r){r.pushValue?(e.emitHelper(t,r,e.helpers.getCache),e.emitOp(t,"TUCK"),e.emitOp(t,"OVER"),e.emitHelper(t,r,e.helpers.if({condition:()=>{e.emitOp(t,"HASKEY")},whenTrue:()=>{e.emitOp(t,"PICKITEM")},whenFalse:()=>{this.create(r),e.emitPushInt(t,3),e.emitOp(t,"XTUCK"),e.emitOp(t,"SETITEM")}}))):e.emitOp(t,"DROP")}}t.GetCachedValueHelper=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.GetCacheHelper=void 0;const s=r(22),i=r(19);class n extends i.Helper{constructor(){super(...arguments),this.needsGlobal=!0}emitGlobal(e,t,r){e.emitPushInt(t,s.GlobalProperty.Cache),e.emitOp(t,"NEWMAP"),e.emitOp(t,"SETITEM")}
1emit(e,t,r){r.pushValue&&e.emitHelper(t,r,e.helpers.getGlobalProperty({property:s.GlobalProperty.Cache}))}}t.GetCacheHelper=n},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),r(18).__exportStar(r(618),t)},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CreateClassHelper=void 0;const s=r(22),i=r(19);class n extends i.Helper{constructor(e){super(),this.ctor=e.ctor,this.prototypeMethods=void 0===e.prototypeMethods?{}:e.prototypeMethods,this.prototypeSymbolMethods=void 0===e.prototypeSymbolMethods?{}:e.prototypeSymbolMethods,this.classMethods=void 0===e.classMethods?{}:e.classMethods,this.classSymbolMethods=void 0===e.classSymbolMethods?{}:e.classSymbolMethods}emit(e,t,r){const i=e.pushValueOptions(r),n=r=>{e.emitHelper(t,i,e.helpers.createFunctionArray({body:s=>{r(e.pushValueOptions(s)),e.emitHelper(t,s,e.helpers.return)}})),e.emitHelper(t,i,e.helpers.createFunctionObject({property:s.InternalObjectProperty.Call}))},a=(r,s)=>{e.emitOp(t,"DUP"),e.emitPushString(t,r),n(s),e.emitHelper(t,i,e.helpers.setDataPropertyObjectProperty)},o=(r,s)=>{e.emitOp(t,"DUP"),e.emitPushString(t,r),n(s),e.emitHelper(t,i,e.helpers.setDataSymbolObjectProperty)};e.emitHelper(t,i,e.helpers.createObject),Object.entries(this.prototypeMethods).forEach(([e,t])=>{a(e,t)}),Object.entries(this.prototypeSymbolMethods).forEach(([e,t])=>{o(e,t)}),e.emitHelper(t,i,e.helpers.createConstructArray({withScope:!1,body:e=>{void 0!==this.ctor&&this.ctor(e)}})),e.emitHelper(t,i,e.helpers.createFunctionObject({property:s.InternalObjectProperty.Construct})),e.emitOp(t,"TUCK"),e.emitPushString(t,"prototype"),e.emitOp(t,"ROT"),e.emitHelper(t,i,e.helpers.setDataPropertyObjectProperty),Object.entries(this.classMethods).forEach(([e,t])=>{a(e,t)}),Object.entries(this.classSymbolMethods).forEach(([e,t])=>{o(e,t)})}}t.CreateClassHelper=n},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const s=r(18);s.__exportStar(r(620),t),s.__exportStar(r(621),t),s.__exportStar(r(622),t),s.__exportStar(r(623),t),s.__exportStar(r(624),t),s.__exportStar(r(625),t),s.__exportStar(r(226),t)},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ArrSliceHelper=void 0;const s=r(19);class i extends s.Helper{constructor(e){super(),this.hasEnd=void 0!==e.hasEnd&&e.hasEnd}emit(e,t,r){if(!r.pushValue)return e.emitOp(t,"DROP"),this.hasEnd&&e.emitOp(t,"DROP"),void e.emitOp(t,"DROP");this.hasEnd||(e.emitOp(t,"OVER"),e.emitOp(t,"ARRAYSIZE"),e.emitOp(t,"SWAP")),e.emitHelper(t,r,e.helpers.if({condition:()=>{e.emitOp(t,"TUCK"),e.emitPushInt(t,0),e.emitOp(t,"LT")},whenTrue:()=>{e.emitOp(t,"SWAP"),e.emitOp(t,"ROT"),e.emitOp(t,"TUCK"),e.emitOp(t,"ARRAYSIZE"),e.emitOp(t,"ADD"),e.emitOp(t,"ROT")}})),e.emitHelper(t,r,e.helpers.if({condition:()=>{e.emitOp(t,"DUP"),e.emitPushInt(t,0),e.emitOp(t,"LT")},whenTrue:()=>{e.emitOp(t,"ROT"),e.emitOp(t,"TUCK"),e.emitOp(t,"ARRAYSIZE"),e.emitOp(t,"ADD"),e.emitOp(t,"ROT"),e.emitOp(t,"SWAP")}})),e.emitOp(t,"ROT"),e.emitOp(t,"TUCK"),e.emitOp(t,"ARRAYSIZE"),e.emitOp(t,"MIN"),e.emitOp(t,"ROT"),e.emitPushInt(t,0),e.emitOp(t,"MAX"),e.emitOp(t,"SWAP"),e.emitPushInt(t,0),e.emitOp(t,"NEWARRAY"),e.emitOp(t,"ROT"),e.emitOp(t,"ROT"),e.emitHelper(t,r,e.helpers.forLoop({condition:()=>{e.emitOp(t,"SWAP"),e.emitOp(t,"TUCK"),e.emitOp(t,"OVER"),e.emitOp(t,"LT")},each:()=>{e.emitOp(t,"SWAP"),e.emitOp(t,"ROT"),e.emitOp(t,"TUCK"),e.emitOp(t,"OVER"),e.emitPushInt(t,5),e.emitOp(t,"PICK"),e.emitOp(t,"SWAP"),e.emitOp(t,"PICKITEM"),e.emitOp(t,"APPEND"),e.emitOp(t,"INC"),e.emitOp(t,"ROT")},cleanup:()=>{}})),e.emitOp(t,"DROP"),e.emitOp(t,"DROP"),e.emitOp(t,"NIP")}}t.ArrSliceHelper=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CloneArrayHelper=void 0;const s=r(19);class i extends s.Helper{emit(e,t,r){r.pushValue?(e.emitOp(t,"UNPACK"),e.emitOp(t,"PACK")):e.emitOp(t,"DROP")}}t.CloneArrayHelper=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ConsoleLogHelper=void 0;const s=r(19);class i extends s.Helper{emit(e,t,r){const s=e.pushValueOptions(r);e.emitHelper(t,s,e.helpers.wrapArray),e.emitHelper(t,s,e.helpers.genericLogSerialize),e.emitSysCall(t,"Neo.Runtime.Serialize"),e.emitLine(t),e.emitPushString(t,"console.log"),e.emitPushInt(t,3),e.emitOp(t,"PACK"),e.emitSysCall(t,"Neo.Runtime.Notify")}}t.ConsoleLogHelper=i},function(e,t,r){"use strict";
1Object.defineProperty(t,"__esModule",{value:!0}),t.DebugLogHelper=void 0;const s=r(19);class i extends s.Helper{constructor(e){super(),this.count=e.count}emit(e,t,r){const s=e.pushValueOptions(r);e.emitPushInt(t,this.count),e.emitOp(t,"PACK"),e.emitHelper(t,s,e.helpers.consoleLog)}}t.DebugLogHelper=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ExpHelper=void 0;const s=r(19);class i extends s.Helper{emit(e,t,r){const s=e.pushValueOptions(r);e.emitHelper(t,s,e.helpers.if({condition:()=>{e.emitOp(t,"TUCK"),e.emitPushInt(t,0),e.emitOp(t,"NUMEQUAL")},whenTrue:()=>{e.emitOp(t,"DROP"),e.emitOp(t,"DROP"),e.emitPushInt(t,1)},whenFalse:()=>{e.emitHelper(t,s,e.helpers.if({condition:()=>{e.emitOp(t,"OVER"),e.emitPushInt(t,0),e.emitOp(t,"LT")},whenTrue:()=>{e.emitPushInt(t,1),e.emitOp(t,"SWAP"),e.emitOp(t,"DIV"),e.emitOp(t,"SWAP"),e.emitOp(t,"NEGATE"),e.emitOp(t,"SWAP")}}));const r=e.scope.addUnique(),i=e.scope.addUnique(),n=e.scope.addUnique();e.scope.set(e,t,s,n),e.scope.set(e,t,s,i),e.emitPushInt(t,1),e.scope.set(e,t,s,r),e.emitHelper(t,s,e.helpers.forLoop({condition:()=>{e.scope.get(e,t,s,i),e.emitPushInt(t,1),e.emitOp(t,"GT")},each:()=>{e.emitHelper(t,s,e.helpers.if({condition:()=>{e.scope.get(e,t,s,i),e.emitOp(t,"DUP"),e.emitPushInt(t,2),e.emitOp(t,"MOD"),e.emitPushInt(t,0),e.emitOp(t,"NUMEQUAL")},whenTrue:()=>{e.emitPushInt(t,2),e.emitOp(t,"DIV"),e.scope.set(e,t,s,i),e.scope.get(e,t,s,n),e.emitOp(t,"DUP"),e.emitOp(t,"MUL"),e.scope.set(e,t,s,n)},whenFalse:()=>{e.emitOp(t,"DEC"),e.emitPushInt(t,2),e.emitOp(t,"DIV"),e.scope.set(e,t,s,i),e.scope.get(e,t,s,n),e.emitOp(t,"DUP"),e.scope.get(e,t,s,r),e.emitOp(t,"MUL"),e.scope.set(e,t,s,r),e.emitOp(t,"DUP"),e.emitOp(t,"MUL"),e.scope.set(e,t,s,n)}}))},cleanup:()=>{}})),e.scope.get(e,t,s,n),e.scope.get(e,t,s,r),e.emitOp(t,"MUL")}}))}}t.ExpHelper=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.GenericLogSerializeHelper=void 0;const s=r(22),i=r(19),n=r(226);class a extends i.Helper{constructor(){super(...arguments),this.needsGlobal=!0}emitGlobal(e,t,r){const i=e.pushValueOptions(r),a=()=>{},o=r=>{e.emitOp(t,"DROP"),e.emitHelper(t,r,e.helpers.throwTypeError)},l=r=>{e.emitHelper(t,r,e.helpers.unwrapArray),e.emitHelper(t,r,e.helpers.arrMap({map:r=>{n.invokeLogSerialize(e,t,r)}})),e.emitHelper(t,r,e.helpers.wrapArray)},p=r=>{e.emitHelper(t,r,e.helpers.unwrapMap),e.emitPushInt(t,0),e.emitOp(t,"NEWARRAY"),e.emitHelper(t,r,e.helpers.mapReduce({deserializeKey:!0,each:r=>{e.emitOp(t,"ROT"),n.invokeLogSerialize(e,t,r),e.emitOp(t,"ROT"),n.invokeLogSerialize(e,t,r),e.emitPushInt(t,2),e.emitOp(t,"PACK"),e.emitOp(t,"OVER"),e.emitOp(t,"SWAP"),e.emitOp(t,"APPEND")}})),e.emitHelper(t,r,e.helpers.wrapMap)},c=r=>{e.emitHelper(t,r,e.helpers.unwrapSet),e.emitPushInt(t,0),e.emitOp(t,"NEWARRAY"),e.emitHelper(t,r,e.helpers.mapReduce({deserializeKey:!0,each:r=>{e.emitOp(t,"ROT"),e.emitOp(t,"DROP"),e.emitOp(t,"TUCK"),e.emitOp(t,"SWAP"),n.invokeLogSerialize(e,t,r),e.emitOp(t,"APPEND")}})),e.emitHelper(t,r,e.helpers.wrapSet)},u=r=>{e.emitOp(t,"DUP"),e.emitHelper(t,r,e.helpers.getPropertyObjectValues),e.emitHelper(t,r,e.helpers.arrMap({map:r=>{n.invokeLogSerialize(e,t,r)}})),e.emitOp(t,"SWAP"),e.emitHelper(t,r,e.helpers.getPropertyObjectKeys),e.emitHelper(t,r,e.helpers.arrMap({map:r=>{e.emitHelper(t,r,e.helpers.wrapString)}})),e.emitPushInt(t,2),e.emitOp(t,"PACK"),e.emitHelper(t,r,e.helpers.wrapObject)};e.emitPushInt(t,s.GlobalProperty.GenericLogSerialize),e.emitHelper(t,i,e.helpers.createFunctionArray({body:r=>{const s=e.pushValueOptions(r);e.emitPushInt(t,0),e.emitOp(t,"PICKITEM"),e.emitHelper(t,s,e.helpers.forBuiltinType({type:void 0,array:l,arrayStorage:o,boolean:a,buffer:a,null:a,number:a,object:u,string:a,symbol:a,undefined:a,map:p,mapStorage:o,set:c,setStorage:o,error:o,forwardValue:o,iteratorResult:o,iterable:o,iterableIterator:o,transaction:o,output:o,attribute:o,input:o,account:o,asset:o,contract:o,header:o,block:o})),e.emitHelper(t,s,e.helpers.return)}})),e.emitHelper(t,i,e.helpers.createFunctionObject({property:s.InternalObjectProperty.Call})),e.emitOp(t,"SETITEM")}
1emit(e,t,r){r.pushValue?n.invokeLogSerialize(e,t,r):e.emitOp(t,"DROP")}}t.GenericLogSerializeHelper=a},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const s=r(18);s.__exportStar(r(627),t),s.__exportStar(r(628),t),s.__exportStar(r(629),t),s.__exportStar(r(630),t),s.__exportStar(r(631),t),s.__exportStar(r(632),t),s.__exportStar(r(633),t)},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.BreakHelper=void 0;const s=r(18).__importStar(r(34)),i=r(19);class n extends i.Helper{emit(e,t,r){let i=r.breakPC;void 0===i?e.context.reportUnsupported(t):(void 0!==r.finallyPC&&e.emitPushInt(t,s.FINALLY_COMPLETION),e.emitPushInt(t,s.BREAK_COMPLETION),void 0!==r.finallyPC&&(i=r.finallyPC,e.emitPushInt(t,s.FINALLY_COMPLETION)),e.emitJmp(t,"JMP",i))}}t.BreakHelper=n},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ContinueHelper=void 0;const s=r(18).__importStar(r(34)),i=r(19);class n extends i.Helper{emit(e,t,r){let i=r.continuePC;void 0===i?e.context.reportUnsupported(t):(void 0!==r.finallyPC&&e.emitPushInt(t,s.FINALLY_COMPLETION),e.emitPushInt(t,s.CONTINUE_COMPLETION),void 0!==r.finallyPC&&(i=r.finallyPC,e.emitPushInt(t,s.FINALLY_COMPLETION)),e.emitJmp(t,"JMP",i))}}t.ContinueHelper=n},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.HandleCompletionHelper=void 0;const s=r(18).__importStar(r(34)),i=r(19);class n extends i.Helper{emit(e,t,r){const i=e.pushValueOptions(r);e.emitHelper(t,i,e.helpers.if({condition:()=>{e.emitPushInt(t,s.NORMAL_COMPLETION),e.emitOp(t,"NUMEQUAL")},whenFalse:()=>{e.emitHelper(t,i,e.helpers.throwCompletion)}})),r.pushValue||e.emitOp(t,"DROP")}}t.HandleCompletionHelper=n},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ReturnHelper=void 0;const s=r(18).__importStar(r(34)),i=r(19);class n extends i.Helper{emit(e,t,r){const i=r.finallyPC;void 0===i?(e.emitPushInt(t,s.NORMAL_COMPLETION),e.emitOp(t,"RET")):(e.emitPushInt(t,s.NORMAL_COMPLETION),e.emitPushInt(t,s.FINALLY_COMPLETION),e.emitJmp(t,"JMP",i))}}t.ReturnHelper=n},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ThrowCompletionBaseHelper=void 0;const s=r(18),i=r(20),n=s.__importDefault(r(21)),a=s.__importStar(r(34)),o=r(19),l=(e,t,r)=>
1void 0!==r&&(n.default.isTryStatement(r)&&(void 0!==e||void 0!==t)||i.tsUtils.guards.isFunctionLikeDeclarationBase(r)||n.default.isArrowFunction(r)||n.default.isSourceFile(r));class p extends o.Helper{emit(e,t,r){const s=e.pushValueOptions(r),o=s.finallyPC,p=s.catchPC;let c=i.tsUtils.node.getParent(t);for(;void 0!==c&&!l(p,o,c);)c=i.tsUtils.node.getParent(c);void 0!==p?(e.emitPushInt(t,a.THROW_COMPLETION),e.emitJmp(t,"JMP",p)):void 0!==o?(e.emitPushInt(t,a.THROW_COMPLETION),e.emitPushInt(t,a.FINALLY_COMPLETION),e.emitJmp(t,"JMP",o)):n.default.isSourceFile(t)||void 0!==c&&n.default.isSourceFile(c)?(e.emitOp(t,"DROP"),e.emitHelper(t,s,e.helpers.if({condition:()=>{e.emitHelper(t,s,e.helpers.invocationIsCaller)},whenTrue:()=>{e.emitOp(t,"THROW")},whenFalse:()=>{e.emitPushBoolean(t,!1),e.emitPushInt(t,a.NORMAL_COMPLETION),e.emitOp(t,"RET")}}))):(e.emitPushInt(t,a.THROW_COMPLETION),e.emitOp(t,"RET"))}}t.ThrowCompletionBaseHelper=p},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ThrowCompletionHelper=void 0;const s=r(19);class i extends s.Helper{emit(e,t,r){const s=e.pushValueOptions(r);e.emitLine(t),e.emitPushString(t,"trace"),e.emitPushInt(t,2),e.emitOp(t,"PACK"),e.emitSysCall(t,"Neo.Runtime.Notify"),e.emitHelper(t,s,e.helpers.throwCompletionBase)}}t.ThrowCompletionHelper=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ThrowHelper=void 0;const s=r(22),i=r(19);class n extends i.Helper{emit(e,t,r){const i=e.pushValueOptions(r);e.emitOp(t,"DUP"),e.emitHelper(t,i,e.helpers.if({condition:()=>{e.emitOp(t,"DUP"),e.emitHelper(t,i,e.helpers.isString)},whenFalse:()=>{e.emitHelper(t,i,e.helpers.unwrapError),e.emitPushInt(t,s.ErrorSlots.message),e.emitOp(t,"PICKITEM")}})),e.emitHelper(t,i,e.helpers.unwrapString),e.emitLine(t),e.emitOp(t,"SWAP"),e.emitPushString(t,"error"),e.emitPushInt(t,3),e.emitOp(t,"PACK"),e.emitSysCall(t,"Neo.Runtime.Notify"),e.emitHelper(t,r,e.helpers.throwCompletion)}}t.ThrowHelper=n},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const s=r(18);s.__exportStar(r(635),t),s.__exportStar(r(636),t),s.__exportStar(r(637),t),s.__exportStar(r(638),t),s.__exportStar(r(639),t),s.__exportStar(r(640),t),s.__exportStar(r(641),t),s.__exportStar(r(642),t),s.__exportStar(r(643),t),s.__exportStar(r(644),t),s.__exportStar(r(645),t),s.__exportStar(r(646),t),s.__exportStar(r(647),t),s.__exportStar(r(648),t),s.__exportStar(r(649),t),s.__exportStar(r(650),t),s.__exportStar(r(651),t),s.__exportStar(r(652),t),s.__exportStar(r(653),t),s.__exportStar(r(654),t),s.__exportStar(r(655),t),s.__exportStar(r(656),t),s.__exportStar(r(657),t),s.__exportStar(r(658),t)},function(e,t,r){"use strict";(function(e){Object.defineProperty(t,"__esModule",{value:!0}),t.ApplicationMatchesVerificationHelper=void 0;const s=r(24),i=r(19);class n extends i.Helper{emit(t,r,i){const n=t.pushValueOptions(i);t.emitSysCall(r,"System.ExecutionEngine.GetScriptContainer"),t.emitSysCall(r,"Neo.InvocationTransaction.GetScript"),t.emitOp(r,"DUP"),t.emitPushInt(r,21),t.emitOp(r,"TUCK"),t.emitOp(r,"RIGHT"),t.emitPushBuffer(r,e.from([s.Op.APPCALL])),t.emitSysCall(r,"System.ExecutionEngine.GetExecutingScriptHash"),t.emitOp(r,"CAT"),t.emitHelper(r,n,t.helpers.if({condition:()=>{t.emitOp(r,"EQUAL")},whenTrue:()=>{t.emitOp(r,"OVER"),t.emitOp(r,"SIZE"),t.emitOp(r,"SWAP"),t.emitOp(r,"SUB"),t.emitOp(r,"LEFT"),t.emitOp(r,"HASH160"),t.emitSysCall(r,"System.ExecutionEngine.GetEntryScriptHash"),t.emitOp(r,"EQUAL")},whenFalse:()=>{t.emitOp(r,"DROP"),t.emitOp(r,"DROP"),t.emitPushBoolean(r,!1)}}))}}t.ApplicationMatchesVerificationHelper=n}).call(this,r(26).Buffer)},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CompleteSendHelper=void 0;const s=r(34),i=r(22),n=r(19);class a extends n.Helper{emit(e,t,r){const n=e.pushValueOptions(r);e.emitSysCall(t,"System.ExecutionEngine.GetScriptContainer"),e.emitSysCall(t,"Neo.Transaction.GetInputs"),e.emitHelper(t,n,e.helpers.if({condition:()=>{e.emitOp(t,"DUP"),e.emitOp(t,"ARRAYSIZE"),e.emitPushInt(t,0),e.emitOp(t,"NUMEQUAL")},whenTrue:()=>{e.emitOp(t,"DROP"),e.emitPushBoolean(t,!1)},whenFalse:()=>{e.emitPushInt(t,0),e.emitOp(t,"PICKITEM"),e.emitOp(t,"DUP"),e.emitSysCall(t,"Neo.Input.GetIndex"),e.emitHelper(t,n,e.helpers.if({condition:()=>{e.emitPushInt(t,0),e.emitOp(t,"NUMEQUAL")},whenTrue:()=>{e.emitSysCall(t,"Neo.Input.GetHash"),e.emitHelper(t,n,e.helpers.createStructuredStorage({prefix:s.ContractPropertyName.claimedTransactions,type:i.Types.MapStorage})),e.emitOp(t,"SWAP"),e.emitHelper(t,n,e.helpers.wrapBuffer),e.emitHelper(t,n,e.helpers.getStructuredStorage({type:i.Types.MapStorage,keyType:void 0,knownKeyType:i.Types.Buffer})),e.emitHelper(t,n,e.helpers.if({condition:()=>{e.emitOp(t,"DUP"),e.emitHelper(t,n,e.helpers.isUndefined)},whenTrue:()=>{e.emitOp(t,"DROP"),e.emitPushBoolean(t,!1)},whenFalse:()=>{e.emitHelper(t,n,e.helpers.unwrapBuffer),e.emitHelper(t,n,e.helpers.isCaller),e.emitSysCall(t,"System.ExecutionEngine.GetScriptContainer"),e.emitSysCall(t,"Neo.Transaction.GetReferences"),e.emitHelper(t,n,e.helpers.arrFilter({map:()=>{e.emitSysCall(t,"Neo.Output.GetScriptHash"),e.emitSysCall(t,"System.ExecutionEngine.GetExecutingScriptHash"),e.emitOp(t,"EQUAL")}})),e.emitOp(t,"ARRAYSIZE"),e.emitPushInt(t,1),e.emitOp(t,"NUMEQUAL"),e.emitOp(t,"BOOLAND")}}))},whenFalse:()=>{e.emitOp(t,"DROP"),e.emitPushBoolean(t,!1)}}))}}))}}t.CompleteSendHelper=a},function(e,t,r){"use strict";
1Object.defineProperty(t,"__esModule",{value:!0}),t.DeployHelper=void 0;const s=r(18),i=r(20),n=s.__importDefault(r(21)),a=r(19),o=r(83);class l extends a.Helper{constructor({contractInfo:e,propInfo:t}){super(),this.contractInfo=e,this.propInfo=t}emit(e,t,r){const s=e.pushValueOptions(r),a=(t,r)=>{t.propInfos.filter(e=>e.classDecl===t.smartContract).forEach(t=>{if("property"===t.type&&void 0===t.structuredStorageType){const s=t.decl;if(n.default.isPropertyDeclaration(s)){const t=i.tsUtils.initializer.getInitializer(s),n=void 0===t?s:t;void 0===t?e.emitHelper(n,e.pushValueOptions(r),e.helpers.wrapUndefined):e.visit(t,e.pushValueOptions(r)),e.emitPushString(s,i.tsUtils.node.getName(s)),e.emitHelper(s,r,e.helpers.putCommonStorage)}else if(n.default.isParameterPropertyDeclaration(s,s.parent)){const t=i.tsUtils.node.getName(s);e.scope.get(e,s,e.pushValueOptions(r),t),e.emitPushString(s,t),e.emitHelper(s,r,e.helpers.putCommonStorage)}}})},l=(t,r,s,n=!0)=>{const p=r.decl,c=o.findSuperDeployPropInfo(t);void 0===p?(void 0===c||l(c[0],c[1],s,n),a(t,s)):(n&&(e.emitPushInt(p,1),e.emitHelper(p,s,e.helpers.getArgument)),e.withScope(p,s,r=>{e.emitHelper(p,r,e.helpers.parameters({params:i.tsUtils.parametered.getParameters(p),mapParam:n?o.createWrapParam(e):void 0}));const s=e.handleSuperConstructOptions(e.noPushValueOptions(r),(r,s,i)=>{if(void 0===c)return;const n=e.pushValueOptions(i);e.emitHelper(r,n,e.helpers.args),l(c[0],c[1],n,!1),a(t,n)});void 0===c&&a(t,r),e.emitHelper(p,s,e.helpers.invokeSmartContractMethod({method:p}))}))};e.emitHelper(t,s,e.helpers.if({condition:()=>{e.emitHelper(void 0===this.propInfo.decl?t:this.propInfo.decl,s,e.helpers.isDeployed)},whenTrue:()=>{e.emitPushBoolean(void 0===this.propInfo.decl?this.propInfo.classDecl:this.propInfo.decl,!1)},whenFalse:()=>{l(this.contractInfo,this.propInfo,s),e.emitHelper(void 0===this.propInfo.decl?t:this.propInfo.decl,s,e.helpers.setDeployed),e.emitPushBoolean(void 0===this.propInfo.decl?this.propInfo.classDecl:this.propInfo.decl,!0)}}))}}t.DeployHelper=l},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DidReceiveAssetsHelper=void 0;const s=r(19);class i extends s.Helper{emit(e,t,r){const s=e.pushValueOptions(r);e.emitSysCall(t,"System.ExecutionEngine.GetScriptContainer"),e.emitSysCall(t,"Neo.Transaction.GetOutputs"),e.emitHelper(t,s,e.helpers.arrSome({map:()=>{e.emitSysCall(t,"Neo.Output.GetScriptHash"),e.emitSysCall(t,"System.ExecutionEngine.GetExecutingScriptHash"),e.emitOp(t,"EQUAL")}})),r.pushValue||e.emitOp(t,"DROP")}}t.DidReceiveAssetsHelper=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DidReceiveNonClaimAssetsHelper=void 0;const s=r(24),i=r(19);class n extends i.Helper{emit(e,t,r){const i=e.pushValueOptions(r);e.emitSysCall(t,"System.ExecutionEngine.GetScriptContainer"),e.emitSysCall(t,"Neo.Transaction.GetOutputs"),e.emitHelper(t,i,e.helpers.getOutputAssetValueMap),e.emitSysCall(t,"System.ExecutionEngine.GetScriptContainer"),e.emitSysCall(t,"Neo.Transaction.GetReferences"),e.emitHelper(t,i,e.helpers.mergeAssetValueMaps({add:!1})),e.emitHelper(t,r,e.helpers.mapSome({each:()=>{e.emitPushBuffer(t,s.common.stringToUInt256(s.common.GAS_ASSET_HASH)),e.emitOp(t,"EQUAL"),e.emitOp(t,"NOT"),e.emitOp(t,"SWAP"),e.emitPushInt(t,0),e.emitOp(t,"GT"),e.emitOp(t,"BOOLAND")}})),r.pushValue||e.emitOp(t,"DROP")}}t.DidReceiveNonClaimAssetsHelper=n},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DidSendAssetsHelper=void 0;const s=r(19);class i extends s.Helper{emit(e,t,r){const s=e.pushValueOptions(r);e.emitSysCall(t,"System.ExecutionEngine.GetScriptContainer"),e.emitSysCall(t,"Neo.Transaction.GetReferences"),e.emitHelper(t,s,e.helpers.arrSome({map:()=>{e.emitSysCall(t,"Neo.Output.GetScriptHash"),e.emitSysCall(t,"System.ExecutionEngine.GetExecutingScriptHash"),e.emitOp(t,"EQUAL")}})),r.pushValue||e.emitOp(t,"DROP")}}t.DidSendAssetsHelper=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.GetOutputAssetValueMapHelper=void 0;const s=r(19);class i extends s.Helper{emit(e,t,r){e.emitOp(t,"NEWMAP"),e.emitOp(t,"SWAP"),e.emitHelper(t,r,e.helpers.mergeAssetValueMaps({add:!0}))}}t.GetOutputAssetValueMapHelper=i},function(e,t,r){"use strict";
1Object.defineProperty(t,"__esModule",{value:!0}),t.GetSmartContractPropertyHelper=void 0;const s=r(20),i=r(19);class n extends i.Helper{constructor({property:e}){super(),this.property=e}emit(e,t,r){if(!r.pushValue)return;const i=s.tsUtils.initializer.getInitializer(this.property);if(void 0===i)return;const n=s.tsUtils.node.getName(this.property);e.emitPushString(t,n),e.emitHelper(t,r,e.helpers.wrapString),e.emitHelper(t,r,e.helpers.getCachedValue({create:t=>{e.visit(i,t)}}))}}t.GetSmartContractPropertyHelper=n},function(e,t,r){"use strict";(function(e){Object.defineProperty(t,"__esModule",{value:!0}),t.HandleNormalHelper=void 0;const s=r(18),i=r(20),n=r(25),a=s.__importDefault(r(21)),o=r(19),l=r(83);class p extends o.Helper{constructor({propInfo:e,getter:t}){super(),this.propInfo=e,this.getter=t}static getKey(e){return`${e.getter}:${e.propInfo.name}`}emit(t,r,s){const o=t.pushValueOptions(s),p=this.propInfo,c=()=>{if("function"===p.type){const{decl:e,returnType:r}=p;return a.default.isPropertyDeclaration(e)?void t.context.reportUnsupported(e):(t.emitPushInt(e,1),t.emitHelper(e,o,t.helpers.getArgument),p.claim&&(t.emitOp(e,"DUP"),t.emitSysCall(e,"System.ExecutionEngine.GetScriptContainer"),t.emitOp(e,"APPEND")),void t.withScope(e,o,s=>{t.emitHelper(e,s,t.helpers.parameters({params:i.tsUtils.parametered.getParameters(e),mapParam:l.createWrapParam(t)})),t.emitHelper(e,s,t.helpers.invokeSmartContractMethod({method:e})),t.emitHelper(e,s,t.helpers.unwrapValRecursive({type:r}))}))}if("property"===p.type){const{decl:e}=p;return t.emitPushString(e,p.name),t.emitHelper(e,o,t.helpers.getCommonStorage),void t.emitHelper(e,o,t.helpers.unwrapValRecursive({type:t.context.analysis.getType(e)}))}if("accessor"!==p.type)if("refundAssets"!==p.type)if("completeSend"!==p.type){if("deploy"===p.type)throw new Error("Something went wrong!");"upgrade"!==p.type?n.utils.assertNever(p):t.emitHelper(r,o,t.helpers.upgrade({approveUpgrade:p.approveUpgrade}))}else t.emitHelper(r,o,t.helpers.completeSend);else t.emitHelper(r,o,t.helpers.refundAssets);else{const{propertyType:r}=p;if(this.getter){const{getter:e}=p;if(void 0!==e){const{decl:s}=e;t.withScope(s,o,e=>{t.emitHelper(s,e,t.helpers.invokeSmartContractMethod({method:s})),t.emitHelper(s,e,t.helpers.unwrapValRecursive({type:r}))})}}else{const{setter:r}=p;if(void 0!==r){const{decl:s}=r;t.emitPushInt(s,1),t.emitHelper(s,o,t.helpers.getArgument),t.withScope(s,o,r=>{t.emitHelper(s,r,t.helpers.parameters({params:i.tsUtils.parametered.getParameters(s),mapParam:l.createWrapParam(t)})),t.emitHelper(s,t.noPushValueOptions(r),t.helpers.invokeSmartContractMethod({method:s})),t.emitPushBuffer(s,e.alloc(0,0))})}}}};let u=this.mutableJump;void 0===u&&(this.mutableJump=t.jumpTable.add(t,r,()=>{c(),t.emitHelper(r,o,t.helpers.return)}),u=this.mutableJump),t.emitPushInt(r,u),t.emitCall(r),t.emitHelper(r,s,t.helpers.handleCompletion)}}t.HandleNormalHelper=p}).call(this,r(26).Buffer)},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.HandleReceiveHelper=void 0;const s=r(227);class i extends s.HandleSendUnsafeReceiveHelperBase{constructor(){super(...arguments),this.lessThan=!1}}t.HandleReceiveHelper=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.HandleSendHelper=void 0;const s=r(18),i=r(20),n=s.__importDefault(r(21)),a=r(34),o=r(22),l=r(19),p=r(83);class c extends l.Helper{constructor({method:e,returnType:t}){super(),this.method=e,this.returnType=t}emit(e,t,r){const s=e.pushValueOptions(r),l=this.method;n.default.isPropertyDeclaration(l)?e.context.reportUnsupported(l):(e.emitSysCall(t,"System.ExecutionEngine.GetScriptContainer"),e.emitSysCall(t,"Neo.Transaction.GetHash"),e.emitHelper(t,s,e.helpers.isProcessedTransaction),e.emitSysCall(t,"System.ExecutionEngine.GetScriptContainer"),e.emitSysCall(t,"Neo.Transaction.GetOutputs"),e.emitOp(t,"DUP"),e.emitOp(t,"DUP"),e.emitHelper(t,s,e.helpers.if({condition:()=>{e.emitOp(t,"ARRAYSIZE"),e.emitPushInt(t,0),e.emitOp(t,"LTE")},whenTrue:()=>{e.emitOp(t,"DROP"),e.emitPushBoolean(t,!0)},whenFalse:()=>{e.emitPushInt(t,0),e.emitOp(t,"PICKITEM"),e.emitSysCall(t,"Neo.Output.GetScriptHash"),e.emitSysCall(t,"System.ExecutionEngine.GetExecutingScriptHash"),e.emitOp(t,"EQUAL"),e.emitOp(t,"NOT")}})),e.emitOp(t,"ROT"),e.emitOp(t,"BOOLOR"),e.emitSysCall(t,"System.ExecutionEngine.GetScriptContainer"),e.emitSysCall(t,"Neo.Transaction.GetInputs"),e.emitHelper(t,s,e.helpers.arrEvery({map:r=>{e.emitOp(t,"DUP"),e.emitSysCall(t,"Neo.Input.GetHash"),e.emitOp(t,"DUP"),e.emitHelper(t,r,e.helpers.isProcessedTransaction),e.emitOp(t,"SWAP"),e.emitHelper(t,r,e.helpers.isClaimedTransaction),e.emitOp(t,"NOT"),e.emitOp(t,"ROT"),e.emitSysCall(t,"Neo.Input.GetIndex"),e.emitPushInt(t,0),e.emitOp(t,"NUMEQUAL"),e.emitOp(t,"NOT"),e.emitOp(t,"BOOLOR"),e.emitOp(t,"BOOLAND")}})),e.emitOp(t,"NOT"),e.emitOp(t,"BOOLOR"),e.emitOp(t,"OVER"),e.emitHelper(t,s,e.helpers.getOutputAssetValueMap),e.emitSysCall(t,"System.ExecutionEngine.GetScriptContainer"),e.emitSysCall(t,"Neo.Transaction.GetReferences"),e.emitHelper(t,s,e.helpers.mergeAssetValueMaps({add:!1})),e.emitHelper(t,r,e.helpers.mapEvery({each:()=>{e.emitOp(t,"DROP"),e.emitPushInt(t,0),e.emitOp(t,"NUMEQUAL")}})),e.emitOp(t,"NOT"),e.emitHelper(t,s,e.helpers.if({condition:()=>{e.emitOp(t,"BOOLOR")},whenTrue:()=>{e.emitOp(t,"DROP"),e.emitPushBoolean(t,!1)},whenFalse:()=>{e.emitPushInt(t,0),e.emitOp(t,"PICKITEM"),e.emitPushInt(t,1),e.emitHelper(t,s,e.helpers.getArgument),e.emitOp(t,"OVER"),e.emitOp(t,"OVER"),e.emitOp(t,"DUP"),e.emitHelper(t,s,e.helpers.if({condition:()=>{e.emitOp(t,"ARRAYSIZE"),e.emitOp(t,"DUP"),e.emitPushInt(t,0),e.emitOp(t,"NUMEQUAL")},whenTrue:()=>{e.emitOp(t,"DROP"),e.emitOp(t,"DROP"),e.emitOp(t,"DROP"),e.emitOp(t,"DROP"),e.emitOp(t,"DROP"),e.emitPushBoolean(t,!1)},whenFalse:()=>{e.emitOp(t,"DEC"),e.emitOp(t,"OVER"),e.emitOp(t,"OVER"),e.emitOp(t,"PICKITEM"),e.emitOp(t,"ROT"),e.emitOp(t,"ROT"),e.emitOp(t,"REMOVE"),e.emitOp(t,"NEWMAP"),e.emitOp(t,"TUCK"),e.emitOp(t,"OVER"),e.emitPushString(t,"to"),e.emitOp(t,"SWAP"),e.emitOp(t,"SETITEM"),e.emitOp(t,"ROT"),e.emitOp(t,"ROT"),e.emitOp(t,"TUCK"),e.emitPushString(t,"asset"),e.emitOp(t,"ROT"),e.emitSysCall(t,"Neo.Output.GetAssetId"),e.emitOp(t,"SETITEM"),e.emitOp(t,"ROT"),e.emitOp(t,"TUCK"),e.emitOp(t,"OVER"),e.emitOp(t,"APPEND"),e.emitPushString(t,"amount"),e.emitPushInt(t,4),e.emitOp(t,"ROLL"),e.emitSysCall(t,"Neo.Output.GetValue"),e.emitOp(t,"SETITEM"),e.withScope(t,s,r=>{e.emitHelper(t,r,e.helpers.parameters({params:i.tsUtils.parametered.getParameters(l),mapParam:p.createWrapParam(e)})),e.emitHelper(t,r,e.helpers.invokeSmartContractMethod({method:l})),e.emitHelper(t,r,e.helpers.unwrapValRecursive({type:this.returnType})),e.emitOp(t,"SWAP"),e.emitSysCall(t,"System.ExecutionEngine.GetScriptContainer"),e.emitSysCall(t,"Neo.Transaction.GetHash"),e.emitHelper(t,r,e.helpers.wrapBuffer),e.emitOp(t,"SWAP"),e.emitHelper(t,r,e.helpers.createStructuredStorage({prefix:a.ContractPropertyName.claimedTransactions,type:o.Types.MapStorage})),e.emitOp(t,"ROT"),e.emitOp(t,"ROT"),e.emitHelper(t,r,e.helpers.wrapBuffer),e.emitHelper(t,s,e.helpers.setStructuredStorage({type:o.Types.MapStorage,keyType:void 0,knownKeyType:o.Types.Buffer})),e.emitHelper(t,r,e.helpers.setProcessedTransaction)})}}))}})))}}t.HandleSendHelper=c},function(e,t,r){"use strict";
1Object.defineProperty(t,"__esModule",{value:!0}),t.HandleSendUnsafeHelper=void 0;const s=r(227);class i extends s.HandleSendUnsafeReceiveHelperBase{constructor(){super(...arguments),this.lessThan=!0}}t.HandleSendUnsafeHelper=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.InvocationIsCallerHelper=void 0;const s=r(22),i=r(19);class n extends i.Helper{emit(e,t,r){if(!r.pushValue)return;const i=e.pushValueOptions(r);e.emitHelper(t,i,e.helpers.getGlobalProperty({property:s.GlobalProperty.CallingScriptHash})),e.emitSysCall(t,"System.ExecutionEngine.GetEntryScriptHash"),e.emitOp(t,"EQUAL"),e.emitSysCall(t,"Neo.Runtime.GetTrigger"),e.emitPushInt(t,0),e.emitOp(t,"NUMEQUAL"),e.emitOp(t,"BOOLOR")}}t.InvocationIsCallerHelper=n},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.InvokeSmartContractHelper=void 0;const s=r(18),i=r(24),n=r(25),a=s.__importDefault(r(29)),o=s.__importDefault(r(21)),l=r(34),p=r(19),c=r(83);class u extends p.Helper{constructor({contractInfo:e}){super(),this.contractInfo=e}emit(e,t,r){const s=e.pushValueOptions(r),p=(t,r,s)=>({condition:()=>{e.emitOp(t,"DUP"),e.emitPushString(t,r),e.emitOp(t,"EQUAL")},whenTrue:()=>{e.emitOp(t,"DROP"),s()}}),u=t=>p(t.decl,t.name,()=>{const r=t.decl;o.default.isPropertyDeclaration(r)?e.context.reportUnsupported(r):t.send?e.emitHelper(r,s,e.helpers.handleSend({method:r,returnType:t.returnType})):t.receive?e.emitHelper(r,s,e.helpers.handleReceive({opposite:t.sendUnsafe,method:r,returnType:t.returnType})):t.sendUnsafe?e.emitHelper(r,s,e.helpers.handleSendUnsafe({opposite:t.receive,method:r,returnType:t.returnType})):e.emitHelper(r,s,e.helpers.handleNormal({propInfo:t}))}),d=t=>{const r=t.decl;return p(r,t.name,()=>{e.emitHelper(r,s,e.helpers.handleNormal({propInfo:t}))})},m=r=>p(t,l.ContractPropertyName.refundAssets,()=>{e.emitHelper(t,s,e.helpers.handleNormal({propInfo:r}))}),h=r=>p(t,l.ContractPropertyName.completeSend,()=>{e.emitHelper(t,s,e.helpers.handleNormal({propInfo:r}))}),f=r=>p(t,l.ContractPropertyName.upgrade,()=>{e.emitHelper(t,s,e.helpers.handleNormal({propInfo:r}))}),y=a.default.flatten(this.contractInfo.propInfos.filter(e=>e.isPublic&&"deploy"!==e.type).map(t=>{if("function"===t.type)return[{propCase:u(t),claimVerify:t.claim,invokeVerify:t.send||t.sendUnsafe||t.receive}];if("refundAssets"===t.type)return[{propCase:m(t),claimVerify:!1,invokeVerify:!0}];if("completeSend"===t.type)return[{propCase:h(t),claimVerify:!1,invokeVerify:!0}];if("property"===t.type)return[{propCase:d(t),claimVerify:!1,invokeVerify:!1}];if("accessor"===t.type)return(t=>{const r=[],i=t.getter;void 0!==i&&r.push(p(i.decl,i.name,()=>{e.emitHelper(i.decl,s,e.helpers.handleNormal({propInfo:t,getter:!0}))}));const n=t.setter;return void 0!==n&&r.push(p(n.decl,n.name,()=>{e.emitHelper(n.decl,s,e.helpers.handleNormal({propInfo:t,getter:!1}))})),r})(t).map(e=>({propCase:e,claimVerify:!1,invokeVerify:!1}));if("upgrade"===t.type)return[{propCase:f(t),claimVerify:!1,invokeVerify:!1}];if("deploy"===t.type)throw new Error("For TS");throw n.utils.assertNever(t),new Error("For TS")}));let g=y.filter(e=>!e.claimVerify).map(({propCase:e})=>e);const O=c.findDeployInfo(this.contractInfo);void 0!==O&&(g=g.concat(((t,r)=>{const i=void 0===r.decl?r.classDecl:r.decl;return p(i,r.name,()=>{e.emitHelper(i,s,e.helpers.deploy({contractInfo:t,propInfo:r}))})})(O[0],O[1])));const S=y.filter(e=>e.invokeVerify).map(({propCase:e})=>e),b=y.filter(e=>!e.invokeVerify).map(({propCase:e})=>e),P=y.filter(e=>e.claimVerify).map(({propCase:e})=>e),v=()=>{e.emitOp(t,"DROP"),e.emitOp(t,"THROW")},C=()=>{e.emitOp(t,"DROP"),e.emitHelper(t,s,e.helpers.didReceiveAssets),e.emitHelper(t,s,e.helpers.didSendAssets),e.emitHelper(t,s,e.helpers.if({condition:()=>{e.emitOp(t,"BOOLOR")},whenTrue:()=>{e.emitOp(t,"THROW")},whenFalse:()=>{e.emitPushInt(t,0),e.emitHelper(t,s,e.helpers.getArgument),e.emitHelper(t,s,e.helpers.case(b,v))}}))};e.emitSysCall(t,"Neo.Runtime.GetTrigger"),e.emitHelper(t,s,e.helpers.case([{condition:()=>{e.emitOp(t,"DUP"),e.emitPushInt(t,16),e.emitOp(t,"NUMEQUAL")},whenTrue:()=>{e.emitOp(t,"DROP"),e.emitPushInt(t,0),e.emitHelper(t,s,e.helpers.getArgument),e.emitHelper(t,s,e.helpers.case(g,v))}},{condition:()=>{e.emitOp(t,"DUP"),e.emitPushInt(t,0),e.emitOp(t,"NUMEQUAL")},whenTrue:()=>{e.emitOp(t,"DROP"),e.emitSysCall(t,"System.ExecutionEngine.GetScriptContainer"),e.emitSysCall(t,"Neo.Transaction.GetType"),e.emitHelper(t,s,e.helpers.case([{condition:()=>{e.emitOp(t,"DUP"),e.emitPushInt(t,i.TransactionTypeModel.Invocation),e.emitOp(t,"NUMEQUAL")},whenTrue:()=>{e.emitOp(t,"DROP"),e.emitPushInt(t,0),e.emitHelper(t,s,e.helpers.getArgument),e.emitHelper(t,s,e.helpers.case(S.map(r=>Object.assign(Object.assign({},r),{whenTrue:()=>{var i;i=r.whenTrue,e.emitHelper(t,s,e.helpers.if({condition:()=>{e.emitHelper(t,s,e.helpers.applicationMatchesVerification),e.emitOp(t,"DUP")},whenTrue:()=>{i(),e.emitOp(t,"DROP")}}))}})),C))}},{condition:()=>{e.emitOp(t,"DUP"),e.emitPushInt(t,i.TransactionTypeModel.Claim),e.emitOp(t,"NUMEQUAL")},whenTrue:()=>{e.emitOp(t,"DROP"),e.emitHelper(t,s,e.helpers.didReceiveNonClaimAssets),e.emitHelper(t,s,e.helpers.didSen
1dAssets),e.emitHelper(t,s,e.helpers.if({condition:()=>{e.emitOp(t,"BOOLOR")},whenTrue:()=>{e.emitPushBoolean(t,!1)},whenFalse:()=>{e.emitPushInt(t,0),e.emitHelper(t,s,e.helpers.getArgument),e.emitHelper(t,s,e.helpers.case(P.map(r=>Object.assign(Object.assign({},r),{whenTrue:()=>{(0,r.whenTrue)(),e.emitOp(t,"DROP"),e.emitPushBoolean(t,!0)}})),v))}}))}}],v))}}],v))}}t.InvokeSmartContractHelper=u},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.InvokeSmartContractMethodHelper=void 0;const s=r(20),i=r(19);class n extends i.Helper{constructor({method:e}){super(),this.method=e}emit(e,t,r){const i=e.pushValueOptions(r);e.withProgramCounter(r=>{e.withProgramCounter(t=>{const n=e.finallyPCOptions(e.catchPCOptions(i,t.getLast()),r.getLast());e.visit(s.tsUtils.body.getBodyOrThrow(this.method),n),e.emitHelper(this.method,n,e.helpers.wrapUndefined),e.emitHelper(this.method,n,e.helpers.return)}),e.emitOp(t,"DROP"),e.emitHelper(t,i,e.helpers.throwCompletion)}),e.emitOp(t,"DROP"),e.emitOp(t,"DROP"),r.pushValue||e.emitOp(t,"DROP")}}t.InvokeSmartContractMethodHelper=n},function(e,t,r){"use strict";(function(e){Object.defineProperty(t,"__esModule",{value:!0}),t.IsCallerHelper=void 0;const s=r(22),i=r(19);class n extends i.Helper{emit(t,r,i){const n=t.pushValueOptions(i);t.emitOp(r,"DUP"),t.emitHelper(r,n,t.helpers.getGlobalProperty({property:s.GlobalProperty.CallingScriptHash})),t.emitHelper(r,n,t.helpers.if({condition:()=>{t.emitOp(r,"EQUAL")},whenTrue:()=>{t.emitOp(r,"DROP"),t.emitPushBoolean(r,!0)},whenFalse:()=>{t.emitOp(r,"DUP"),t.emitSysCall(r,"Neo.Blockchain.GetContract"),t.emitHelper(r,n,t.helpers.if({condition:()=>{t.emitPushBuffer(r,e.alloc(0,0)),t.emitOp(r,"EQUAL")},whenTrue:()=>{t.emitSysCall(r,"Neo.Runtime.CheckWitness"),t.emitHelper(r,n,t.helpers.invocationIsCaller),t.emitOp(r,"BOOLAND")},whenFalse:()=>{t.emitOp(r,"DROP"),t.emitPushBoolean(r,!1)}}))}})),i.pushValue||t.emitOp(r,"DROP")}}t.IsCallerHelper=n}).call(this,r(26).Buffer)},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.IsClaimedTransactionHelper=void 0;const s=r(34),i=r(228);class n extends i.IsTransactionHelperBase{constructor(){super(...arguments),this.prefix=s.ContractPropertyName.claimedTransactions}}t.IsClaimedTransactionHelper=n},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.IsDeployedHelper=void 0;const s=r(34),i=r(19);class n extends i.Helper{emit(e,t,r){r.pushValue&&(e.emitPushString(t,s.ContractPropertyName.deployed),e.emitHelper(t,r,e.helpers.getCommonStorage),e.emitHelper(t,r,e.helpers.handleUndefinedStorage({handleUndefined:()=>{e.emitPushBoolean(t,!1)},handleDefined:()=>{e.emitHelper(t,r,e.helpers.unwrapBoolean)}})))}}t.IsDeployedHelper=n},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.IsProcessedTransactionHelper=void 0;const s=r(34),i=r(228);class n extends i.IsTransactionHelperBase{constructor(){super(...arguments),this.prefix=s.ContractPropertyName.processedTransactions}}t.IsProcessedTransactionHelper=n},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MergeAssetValueMapsHelper=void 0;const s=r(19);class i extends s.Helper{constructor({add:e}){super(),this.add=e}emit(e,t,r){const s=e.pushValueOptions(r);e.emitOp(t,"SWAP"),e.emitHelper(t,s,e.helpers.arrReduce({each:()=>{e.emitOp(t,"TUCK"),e.emitOp(t,"TUCK"),e.emitOp(t,"OVER"),e.emitSysCall(t,"Neo.Output.GetScriptHash"),e.emitSysCall(t,"System.ExecutionEngine.GetExecutingScriptHash"),e.emitHelper(t,s,e.helpers.if({condition:()=>{e.emitOp(t,"EQUAL")},whenTrue:()=>{e.emitOp(t,"OVER"),e.emitOp(t,"OVER"),e.emitOp(t,"SWAP"),e.emitSysCall(t,"Neo.Output.GetAssetId"),e.emitOp(t,"TUCK"),e.emitHelper(t,s,e.helpers.if({condition:()=>{e.emitOp(t,"HASKEY")},whenTrue:()=>{e.emitOp(t,"TUCK"),e.emitOp(t,"PICKITEM"),e.emitOp(t,"ROT"),e.emitSysCall(t,"Neo.Output.GetValue"),this.add?e.emitOp(t,"ADD"):e.emitOp(t,"SUB"),e.emitOp(t,"SETITEM")},whenFalse:()=>{e.emitOp(t,"ROT"),e.emitSysCall(t,"Neo.Output.GetValue"),this.add||e.emitOp(t,"NEGATE"),e.emitOp(t,"SETITEM"),e.emitOp(t,"DROP")}}))},whenFalse:()=>{e.emitOp(t,"DROP"),e.emitOp(t,"DROP"),e.emitOp(t,"DROP")}}))}})),r.pushValue||e.emitOp(t,"DROP")}}t.MergeAssetValueMapsHelper=i},function(e,t,r){"use strict";
1Object.defineProperty(t,"__esModule",{value:!0}),t.RefundAssetsHelper=void 0;const s=r(19);class i extends s.Helper{emit(e,t,r){const s=e.pushValueOptions(r),i=e.scope.addUnique();e.emitSysCall(t,"System.ExecutionEngine.GetScriptContainer"),e.emitSysCall(t,"Neo.Transaction.GetReferences"),e.scope.set(e,t,s,i),e.emitSysCall(t,"System.ExecutionEngine.GetScriptContainer"),e.emitSysCall(t,"Neo.Transaction.GetInputs"),e.emitOp(t,"NEWMAP"),e.emitHelper(t,s,e.helpers.arrReduce({withIndex:!0,each:r=>{e.emitOp(t,"ROT"),e.scope.get(e,t,r,i),e.emitOp(t,"SWAP"),e.emitOp(t,"PICKITEM"),e.emitHelper(t,s,e.helpers.if({condition:()=>{e.emitSysCall(t,"Neo.Output.GetScriptHash"),e.emitSysCall(t,"System.ExecutionEngine.GetExecutingScriptHash"),e.emitOp(t,"EQUAL")},whenTrue:()=>{e.emitOp(t,"TUCK"),e.emitOp(t,"SWAP"),e.emitSysCall(t,"Neo.Input.GetHash"),e.emitPushBoolean(t,!0),e.emitOp(t,"SETITEM")},whenFalse:()=>{e.emitOp(t,"NIP")}}))}})),e.emitHelper(t,s,e.helpers.if({condition:()=>{e.emitOp(t,"DUP"),e.emitOp(t,"ARRAYSIZE"),e.emitPushInt(t,1),e.emitOp(t,"NUMEQUAL")},whenTrue:()=>{e.emitOp(t,"KEYS"),e.emitPushInt(t,0),e.emitOp(t,"PICKITEM"),e.emitOp(t,"DUP"),e.emitHelper(t,s,e.helpers.if({condition:()=>{e.emitHelper(t,s,e.helpers.isProcessedTransaction)},whenTrue:()=>{e.emitOp(t,"DROP"),e.emitPushBoolean(t,!1)},whenFalse:()=>{e.emitSysCall(t,"Neo.Blockchain.GetTransaction"),e.emitSysCall(t,"Neo.Transaction.GetReferences"),e.emitHelper(t,s,e.helpers.arrEvery({map:()=>{e.emitSysCall(t,"Neo.Output.GetScriptHash"),e.emitHelper(t,s,e.helpers.isCaller)}}))}}))},whenFalse:()=>{e.emitOp(t,"DROP"),e.emitPushBoolean(t,!1)}})),e.emitHelper(t,s,e.helpers.if({condition:()=>{},whenFalse:()=>{e.emitPushString(t,"InvalidRefundAssetsError"),e.emitHelper(t,s,e.helpers.wrapString),e.emitHelper(t,s,e.helpers.throw)}})),r.pushValue&&e.emitHelper(t,s,e.helpers.wrapUndefined)}}t.RefundAssetsHelper=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SetDeployedHelper=void 0;const s=r(34),i=r(19);class n extends i.Helper{emit(e,t,r){const i=e.pushValueOptions(r);e.emitPushBoolean(t,!0),e.emitHelper(t,i,e.helpers.wrapBoolean),e.emitPushString(t,s.ContractPropertyName.deployed),e.emitHelper(t,i,e.helpers.putCommonStorage)}}t.SetDeployedHelper=n},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SetProcessedTransactionHelper=void 0;const s=r(34),i=r(22),n=r(19);class a extends n.Helper{emit(e,t,r){const n=e.pushValueOptions(r);e.emitHelper(t,n,e.helpers.createStructuredStorage({prefix:s.ContractPropertyName.processedTransactions,type:i.Types.SetStorage})),e.emitSysCall(t,"System.ExecutionEngine.GetScriptContainer"),e.emitSysCall(t,"Neo.Transaction.GetHash"),e.emitHelper(t,n,e.helpers.wrapBuffer),e.emitPushBoolean(t,!0),e.emitHelper(t,n,e.helpers.wrapBoolean),e.emitHelper(t,n,e.helpers.setStructuredStorage({type:i.Types.SetStorage,keyType:void 0,knownKeyType:i.Types.Buffer}))}}t.SetProcessedTransactionHelper=a},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.UpgradeHelper=void 0;const s=r(18).__importDefault(r(21)),i=r(19);class n extends i.Helper{constructor({approveUpgrade:e}){super(),this.approveUpgrade=e}emit(e,t,r){const i=e.pushValueOptions(r),n=this.approveUpgrade;s.default.isPropertyDeclaration(n)?e.context.reportUnsupported(n):(e.emitHelper(n,i,e.helpers.invokeSmartContractMethod({method:n})),e.emitHelper(t,i,e.helpers.if({condition:()=>{e.emitHelper(t,i,e.helpers.unwrapBoolean)},whenTrue:()=>{e.emitPushInt(t,1),e.emitHelper(t,i,e.helpers.getArgument),e.emitOp(t,"UNPACK"),e.emitOp(t,"DROP"),e.emitSysCall(t,"Neo.Contract.Migrate"),e.emitOp(t,"DROP"),e.emitPushBoolean(t,!0)},whenFalse:()=>{e.emitPushBoolean(t,!1)}})))}}t.UpgradeHelper=n},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),r(18).__exportStar(r(660),t)},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ThrowTypeErrorHelper=void 0;const s=r(19);class i extends s.Helper{emit(e,t,r){e.emitPushString(t,"TypeError"),e.emitHelper(t,r,e.helpers.wrapString),e.emitHelper(t,r,e.helpers.throw)}}t.ThrowTypeErrorHelper=i},function(e,t,r){"use strict";
1Object.defineProperty(t,"__esModule",{value:!0});const s=r(18);s.__exportStar(r(662),t),s.__exportStar(r(663),t),s.__exportStar(r(664),t),s.__exportStar(r(665),t),s.__exportStar(r(666),t),s.__exportStar(r(667),t),s.__exportStar(r(668),t),s.__exportStar(r(669),t),s.__exportStar(r(670),t),s.__exportStar(r(671),t),s.__exportStar(r(672),t),s.__exportStar(r(673),t),s.__exportStar(r(674),t),s.__exportStar(r(675),t),s.__exportStar(r(676),t),s.__exportStar(r(677),t)},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ArgumentsHelper=void 0;const s=r(18),i=r(20),n=s.__importDefault(r(29)),a=s.__importDefault(r(21)),o=r(32),l=r(33),p=r(22),c=r(19),u=r(44);class d extends c.Helper{emit(e,t,r){const s=e.pushValueOptions(r),c=a.default.isArrayLiteralExpression(t)?i.tsUtils.expression.getElements(t):i.tsUtils.argumented.getArgumentsArray(t);if(!a.default.isArrayLiteralExpression(t)&&c.length>0){const r=e.context.analysis.extractSignaturesForCall(t,{error:!0});void 0!==r&&c.forEach((t,s)=>{const n=e.context.analysis.getType(t);if(void 0!==n){r.some(({paramDecls:r,paramTypes:a})=>{const o=r[Math.min(s,r.length-1)];let l=a.get(o);void 0!==l&&i.tsUtils.parameter.isRestParameter(o)&&(l=i.tsUtils.type_.getArrayType(l));const p=l,c=u.getHasBuiltins(e.context,t,n);return void 0===p||c.some(t=>!t(e.context,o,p))})&&e.context.reportError(t,o.DiagnosticCode.InvalidBuiltinUsage,l.DiagnosticMessage.InvalidBuiltinCallArgument)}})}if(c.some(e=>a.default.isSpreadElement(e)))e.emitPushInt(t,0),e.emitOp(t,"NEWARRAY"),c.forEach(r=>{const n=()=>{e.emitOp(r,"TUCK"),e.emitOp(r,"SWAP"),e.emitOp(r,"APPEND")},o=t=>{e.emitHelper(r,t,e.helpers.unwrapArray),e.emitOp(r,"SWAP"),e.emitHelper(r,t,e.helpers.arrReduce({each:n}))},l=t=>{e.emitOp(r,"ROT"),e.emitOp(r,"ROT"),e.emitPushInt(r,2),e.emitOp(r,"PACK"),e.emitHelper(r,t,e.helpers.wrapArray),e.emitOp(r,"OVER"),e.emitOp(r,"SWAP"),e.emitOp(r,"APPEND")},c=t=>{e.emitHelper(r,t,e.helpers.unwrapMap),e.emitOp(r,"SWAP"),e.emitHelper(r,t,e.helpers.mapReduce({deserializeKey:!0,each:l}))},u=()=>{e.emitOp(r,"ROT"),e.emitOp(r,"DROP"),e.emitOp(r,"TUCK"),e.emitOp(r,"SWAP"),e.emitOp(r,"APPEND")},d=t=>{e.emitHelper(r,t,e.helpers.unwrapSet),e.emitOp(r,"SWAP"),e.emitHelper(r,t,e.helpers.mapReduce({deserializeKey:!0,each:u}))},m=t=>{e.emitOp(r,"SWAP"),e.emitHelper(r,t,e.helpers.structuredStorageReduceVal({type:p.Types.ArrayStorage,each:n}))},h=t=>{e.emitOp(r,"SWAP"),e.emitHelper(r,t,e.helpers.structuredStorageReduce({type:p.Types.MapStorage,each:l}))},f=t=>{e.emitOp(r,"SWAP"),e.emitHelper(r,t,e.helpers.structuredStorageReduce({type:p.Types.SetStorage,each:u}))},y=t=>{e.emitOp(r,"SWAP"),e.emitHelper(r,t,e.helpers.iterableIteratorReduce({each:n}))};if(a.default.isSpreadElement(r)){const t=i.tsUtils.expression.getExpression(r);e.visit(t,s),e.emitHelper(r,s,e.helpers.forIterableType({type:e.context.analysis.getType(t),array:o,map:c,set:d,arrayStorage:m,mapStorage:h,setStorage:f,iterableIterator:y}))}else e.emitOp(t,"DUP"),e.visit(r,s),e.emitOp(t,"APPEND")});else{n.default.reverse([...c]).forEach(t=>{e.visit(t,s)}),e.emitPushInt(t,c.length),e.emitOp(t,"PACK")}r.pushValue||e.emitOp(t,"DROP")}}t.ArgumentsHelper=d},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.BindFunctionThisHelper=void 0;const s=r(19);class i extends s.Helper{constructor(e){super(),this.overwrite=e.overwrite}emit(e,t,r){if(!r.pushValue)return e.emitOp(t,"DROP"),void e.emitOp(t,"DROP");let s;s=this.overwrite?()=>{e.emitOp(t,"SWAP"),e.emitPushInt(t,2),e.emitOp(t,"SETITEM")}:()=>{e.emitOp(t,"DROP"),e.emitOp(t,"DROP")},e.emitHelper(t,r,e.helpers.cloneFunction),e.emitOp(t,"TUCK"),e.emitOp(t,"DUP"),e.emitHelper(t,r,e.helpers.if({condition:()=>{e.emitOp(t,"ARRAYSIZE"),e.emitPushInt(t,3),e.emitOp(t,"NUMEQUAL")},whenTrue:s,whenFalse:()=>{e.emitOp(t,"SWAP"),e.emitOp(t,"APPEND")}}))}}t.BindFunctionThisHelper=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CallHelper=void 0;const s=r(19);class i extends s.Helper{emit(e,t,r){const s=e.pushValueOptions(r);e.emitOp(t,"DUP"),e.emitPushInt(t,1),e.emitOp(t,"PICKITEM"),e.emitHelper(t,s,e.helpers.cloneArray),e.emitOp(t,"DUP"),e.emitPushInt(t,0),e.emitOp(t,"OVER"),e.emitPushInt(t,0),e.emitOp(t,"PICKITEM"),e.emitHelper(t,s,e.helpers.cloneArray),e.emitOp(t,"SETITEM"),e.emitOp(t,"OVER"),e.emitHelper(t,s,e.helpers.if({condition:()=>{e.emitOp(t,"ARRAYSIZE"),e.emitPushInt(t,3),e.emitOp(t,"NUMEQUAL")},whenTrue:()=>{e.emitOp(t,"OVER"),e.emitPushInt(t,2),e.emitOp(t,"PICKITEM"),e.emitOp(t,"OVER"),e.emitPushInt(t,1),e.emitOp(t,"ROT"),e.emitOp(t,"SETITEM")}})),e.emitOp(t,"TOALTSTACK"),e.emitPushInt(t,0),e.emitOp(t,"PICKITEM"),e.emitCall(t),e.emitOp(t,"FROMALTSTACK"),e.emitOp(t,"DROP"),e.emitHelper(t,r,e.helpers.handleCompletion)}}t.CallHelper=i},function(e,t,r){"use strict";
1Object.defineProperty(t,"__esModule",{value:!0}),t.CallLikeHelper=void 0;const s=r(18),i=r(20),n=s.__importDefault(r(29)),a=s.__importDefault(r(21)),o=r(32),l=r(33),p=r(56),c=r(22),u=r(19);class d extends u.Helper{constructor(){super(...arguments),this.kind=a.default.SyntaxKind.CallExpression}emit(e,t,r){const s=a.default.isOptionalChain(t),u=a.default.isCallExpression(t)?i.tsUtils.expression.getExpression(t):i.tsUtils.template.getTag(t),d=e.context.builtins.getValue(u);if(void 0!==d&&!i.tsUtils.guards.isSuperExpression(u)){if(a.default.isCallExpression(t)&&p.isBuiltinCall(d))return void d.emitCall(e,t,r);if(a.default.isTaggedTemplateExpression(t)&&p.isBuiltinTemplate(d))return void d.emitCall(e,t,r);e.context.reportError(u,o.DiagnosticCode.InvalidBuiltinCall,l.DiagnosticMessage.InvalidBuiltinCall)}const m=t=>{e.emitOp(u,"DROP"),e.emitHelper(u,t,e.helpers.throwTypeError)},h=t=>{s?(t=>{e.emitOp(u,"DROP"),e.emitOp(u,"DROP"),e.emitHelper(u,t,e.helpers.wrapUndefined)})(t):m(t)},f=r=>{if(a.default.isCallExpression(t))e.emitHelper(t,r,e.helpers.args);else{const s=i.tsUtils.template.getTemplate(t);if(a.default.isNoSubstitutionTemplateLiteral(s))e.emitPushInt(s,0),e.emitOp(s,"NEWARRAY"),e.emitOp(s,"DUP"),e.visit(s,r),e.emitOp(s,"APPEND"),e.emitHelper(s,r,e.helpers.wrapArray),e.emitPushInt(s,1),e.emitOp(s,"PACK");else{const t=i.tsUtils.template.getTemplateHead(s);n.default.reverse([...i.tsUtils.template.getTemplateSpans(s)]).forEach(t=>{e.visit(i.tsUtils.expression.getExpression(t),r)}),e.emitPushInt(s,0),e.emitOp(s,"NEWARRAY"),e.emitOp(s,"DUP"),e.emitPushString(t,i.tsUtils.literal.getLiteralValue(t)),e.emitHelper(t,r,e.helpers.wrapString),e.emitOp(t,"APPEND"),i.tsUtils.template.getTemplateSpans(s).forEac
1h(s=>{const n=i.tsUtils.template.getLiteral(s);e.emitOp(n,"DUP"),e.emitPushString(n,i.tsUtils.literal.getLiteralValue(n)),e.emitHelper(t,r,e.helpers.wrapString),e.emitOp(u,"APPEND")}),e.emitHelper(s,r,e.helpers.wrapArray),e.emitPushInt(s,i.tsUtils.template.getTemplateSpans(s).length+1),e.emitOp(s,"PACK")}}},y=(t,r)=>{i.tsUtils.guards.isSuperExpression(t)?(e.scope.getThis(e,t,r),e.visit(t,r)):(e.visit(t,r),e.emitOp(t,"DUP"))},g=e=>a.default.isCallExpression(t)?p.isBuiltinMemberCall(e)||p.isBuiltinInstanceMemberCall(e):!!a.default.isTaggedTemplateExpression(t)&&(p.isBuiltinMemberTemplate(e)||p.isBuiltinInstanceMemberTemplate(e)),O=(s,i,n)=>{if(a.default.isCallExpression(t)){if(p.isBuiltinMemberCall(s))return void s.emitCall(e,i,t,r);if(p.isBuiltinInstanceMemberCall(s))return void s.emitCall(e,i,t,r,n)}else if(a.default.isTaggedTemplateExpression(t)){if(p.isBuiltinMemberTemplate(s))return void s.emitCall(e,i,t,r);if(p.isBuiltinInstanceMemberTemplate(s))return void s.emitCall(e,i,t,r,n)}},S=(e,t,r)=>{for(let s=0;s<r;s+=1)e.emitOp(t,"DROP")},b=({innerOptions:t,argsNum:s,callback:i})=>{e.emitHelper(u,r,e.helpers.if({condition:()=>{e.emitOp(u,"DUP"),e.emitHelper(u,r,e.helpers.isNull)},whenTrue:()=>{S(e,u,s),e.emitHelper(u,t,e.helpers.wrapUndefined)},whenFalse:()=>{e.emitHelper(u,r,e.helpers.if({condition:()=>{e.emitOp(u,"DUP"),e.emitHelper(u,r,e.helpers.isUndefined)},whenTrue:()=>{S(e,u,s),e.emitHelper(u,t,e.helpers.wrapUndefined)},whenFalse:()=>{i()}}))}}))},P=a.default.isCallExpression(t)?i.tsUtils.expression.getExpression(t):void 0;if(a.default.isCallExpression(t)&&void 0!==P&&i.tsUtils.guards.isSuperExpression(P)){if(void 0!==r.handleSuperConstruct)return void r.handleSuperConstruct(t,P,r);const s=r.superClass;if(void 0===s)throw new Error("Something went wrong, expected super class to be defined.");const i=e.pushValueOptions(e.noSetValueOptions(r));f(i),e.scope.getThis(e,t,i),e.scope.get(e,t,i,s),e.emitHelper(t,e.noPushValueOptions(i),e.helpers.invokeConstruct())}else if(a.default.isPropertyAccessExpression(u)){const n=i.tsUtils.expression.getExpression(u),a=e.context.analysis.getType(n),o=i.tsUtils.node.getNameNode(u),l=i.tsUtils.node.getName(u),p=e.context.builtins.getMember(n,o);if(void 0!==p&&g(p))return void O(p,u,!1);const c=r=>{const s=e.context.builtins.getOnlyMember(r,l);return void 0===s?m:()=>{e.emitOp(t,"DROP"),O(s,u,!0)}},d=t=>{f(t),e.emitOp(u,"ROT"),e.emitOp(u,"ROT"),e.emitPushString(o,l),e.emitHelper(u,t,e.helpers.getPropertyObjectProperty),s?b({innerOptions:t,argsNum:3,callback:()=>e.emitHelper(u,r,e.helpers.invokeCall({bindThis:!0}))}):e.emitHelper(u,r,e.helpers.invokeCall({bindThis:!0}))},h=e.pushValueOptions(e.noSetValueOptions(r));y(n,h),e.emitHelper(n,h,e.helpers.forBuiltinType({type:a,array:c("Array"),arrayStorage:c("ArrayStorage"),boolean:c("Boolean"),buffer:c("Buffer"),null:m,number:c("Number"),object:d,string:c("String"),symbol:c("Symbol"),undefined:m,map:c("Map"),mapStorage:c("MapStorage"),set:c("Set"),setStorage:c("SetStorage"),error:c("Error"),forwardValue:c("ForwardValue"),iteratorResult:c("IteratorResult"),iterable:c("Iterable"),iterableIterator:c("IterableIterator"),transaction:c("TransactionBase"),output:c("Output"),attribute:c("AttributeBase"),input:c("Input"),account:c("Account"),asset:c("Asset"),contract:c("Contract"),header:c("Header"),block:c("Block")}))}else if(a.default.isElementAccessExpression(u)){const n=i.tsUtils.expression.getExpression(u),o=e.context.analysis.getType(n),l=i.tsUtils.expression.getArgumentExpressionOrThrow(u),d=e.context.analysis.getType(l),h=e.context.builtins.getMember(n,l);if(void 0!==h&&g(h))return void O(h,u,!1);const S=(s,i=!1)=>e.context.builtins.getMembers(s,e=>p.isBuiltinInstanceMemberCall(e)||p.isBuiltinInstanceMemberTemplate(e),s=>a.default.isCallExpression(t)&&p.isBuiltinInstanceMemberCall(s)&&s.canCall(e,u,t,r)||a.default.isTaggedTemplateExpression(t)&&p.isBuiltinInstanceMemberTemplate(s)&&s.canCall(e,u,t,r),i).map(([t,r])=>({condition:()=>{e.emitOp(l,"DUP"),e.emitPushString(l,t),e.emitOp(l,"EQUAL")},whenTrue:()=>{e.emitOp(u,"DROP"),e.emitOp(u,"DROP"),O(r,u,!0)}})),P=t=>{e.emitOp(u,"DROP"),e.emitOp(u,"DROP"),m(t)},v=(t,r,s)=>i=>{e.visit(l,i),e.emitHelper(l,i,e.helpers.forBuiltinType({type:d,array:P,arrayStorage:P,boolean:P,buffer:P,null:P,number:r,object:P,string:t,symbol:s,undefined:P,map:P,mapStorage:P,set:P,setStorage:P,error:P,forwardValue:P,iteratorResult:P,iterable:P,iterableIterator:P,transaction:P,output:P,attribute:P,input:P,account:P,asset:P,contract:P,header:P,block:P}))},C=t=>{const r=r=>{e.emitHelper(u,r,e.helpers.case(S(t,!1),()=>{P(r)}))};return v(t=>{e.emitHelper(l,t,e.helpers.unwrapString),r(t)},t=>{e.emitHelper(l,t,e.helpers.toString({type:d,knownType:c.Types.Number})),r(t)},r=>{e.emitHelper(l,r,e.helpers.unwrapSymbol),e.emitHelper(u,r,e.helpers.case(S(t,!0),()=>{P(r)}))})},x=()=>{const t=t=>{e.emitOp(u,"NIP"),f(t),e.emitOp(u,"ROT"),e.emitOp(u,"ROT"),e.emitOp(u,"OVER"),e.emitOp(u,"SWAP"),e.emitHelper(u,t,e.helpers.getArrayIndex),e.emitHelper(u,r,e.helpers.invokeCall({bindThis:!0}))};return v(r=>{e.emitHelper(l,r,e.helpers.unwrapString),e.emitHelper(u,r,e.helpers.case(S("Array",!1),()=>{e.emitHelper(l,r,e.helpers.wrapString),e.emitHelper(l,r,e.helpers.toNumber({type:d,knownType:c.Types.String})),t(r)}))},r=>{e.emitHelper(l,r,e.helpers.unwrapNumber),t(r)},t=>{e.emitHelper(l,t,e.helpers.unwrapSymbol),e.emitHelper(u,t,e.helpers.case(S("Array",!0),()=>{P(t)}))})},T=i=>{const n=t=>
1{e.emitHelper(u,t,e.helpers.getPropertyObjectProperty),s?b({innerOptions:i,argsNum:3,callback:()=>e.emitHelper(u,r,e.helpers.invokeCall({bindThis:!0}))}):e.emitHelper(u,r,e.helpers.invokeCall({bindThis:!0}))};f(i),e.emitOp(t,"ROT"),e.emitOp(t,"ROT"),e.visit(l,i),e.emitHelper(l,i,e.helpers.forBuiltinType({type:d,array:P,arrayStorage:P,boolean:P,buffer:P,null:P,number:t=>{e.emitHelper(l,t,e.helpers.toString({type:d,knownType:c.Types.Number})),n(t)},object:P,string:t=>{e.emitHelper(l,t,e.helpers.unwrapString),n(t)},symbol:t=>{e.emitHelper(l,t,e.helpers.unwrapSymbol),e.emitHelper(u,t,e.helpers.getSymbolObjectProperty),s?b({innerOptions:i,argsNum:3,callback:()=>e.emitHelper(u,r,e.helpers.invokeCall({bindThis:!0}))}):e.emitHelper(u,r,e.helpers.invokeCall({bindThis:!0}))},undefined:P,map:P,mapStorage:P,set:P,setStorage:P,error:P,forwardValue:P,iteratorResult:P,iterable:P,iterableIterator:P,transaction:P,output:P,attribute:P,input:P,account:P,asset:P,contract:P,header:P,block:P}))},_=e.pushValueOptions(e.noSetValueOptions(r));y(n,_),e.emitHelper(n,_,e.helpers.forBuiltinType({type:o,array:x(),arrayStorage:C("ArrayStorage"),boolean:C("Boolean"),buffer:C("Buffer"),null:m,number:C("Number"),object:T,string:C("String"),symbol:C("Symbol"),undefined:m,map:C("Map"),mapStorage:C("MapStorage"),set:C("Set"),setStorage:C("SetStorage"),error:C("Error"),forwardValue:C("ForwardValue"),iteratorResult:C("IteratorResult"),iterable:C("Iterable"),iterableIterator:C("IterableIterator"),transaction:C("TransactionBase"),output:C("Output"),attribute:C("AttributeBase"),input:C("Input"),account:C("Account"),asset:C("Asset"),contract:C("Contract"),header:C("Header"),block:C("Block")}))}else if(a.default.isCallExpression(t)){const s=i.tsUtils.expression.getExpression(t),n=e.context.analysis.getType(s),a=()=>{e.emitHelper(u,r,e.helpers.invokeCall({bindThis:!1}))},o=e.pushValueOptions(e.noSetValueOptions(r));f(o),e.visit(u,o),e.emitHelper(s,o,e.helpers.forBuiltinType({type:n,array:m,arrayStorage:m,boolean:m,buffer:m,null:h,number:m,object:a,string:m,symbol:m,undefined:h,map:m,mapStorage:m,set:m,setStorage:m,error:m,forwardValue:m,iteratorResult:m,iterable:m,iterableIterator:m,transaction:m,output:m,attribute:m,input:m,account:m,asset:m,contract:m,header:m,block:m}))}else{const t=e.pushValueOptions(e.noSetValueOptions(r));f(t),e.visit(u,t),e.emitHelper(u,r,e.helpers.invokeCall({bindThis:!1}))}}}t.CallLikeHelper=d},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CloneFunctionHelper=void 0;const s=r(19);class i extends s.Helper{emit(e,t,r){r.pushValue?e.emitHelper(t,r,e.helpers.cloneArray):e.emitOp(t,"DROP")}}t.CloneFunctionHelper=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CreateCallArrayHelper=void 0;const s=r(20),i=r(19),n=r(44);class a extends i.Helper{emit(e,t,r){r.pushValue&&e.emitHelper(t,r,e.helpers.createFunctionArray({body:r=>{e.withScope(t,r,r=>{e.emitHelper(t,r,e.helpers.parameters({params:s.tsUtils.parametered.getParameters(t)}));const i=s.tsUtils.body.getBodyOrThrow(t);s.tsUtils.guards.isExpression(i)?(e.visit(i,e.pushValueOptions(r)),n.handleReturnTypeAssignment(e.context,i),e.emitHelper(t,r,e.helpers.return)):(e.visit(i,r),e.emitHelper(t,e.pushValueOptions(r),e.helpers.wrapUndefined),e.emitHelper(t,r,e.helpers.return))})}}))}}t.CreateCallArrayHelper=a},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CreateConstructArrayHelper=void 0;const s=r(19);class i extends s.Helper{constructor({body:e,withScope:t}){super(),this.body=e,this.withScope=t}emit(e,t,r){if(!r.pushValue)return;const s=r=>{this.body(e.noPushValueOptions(r)),e.emitHelper(t,e.pushValueOptions(r),e.helpers.wrapUndefined),e.emitHelper(t,r,e.helpers.return)};e.emitHelper(t,r,e.helpers.createFunctionArray({body:r=>{this.withScope?e.withScope(t,r,e=>{s(e)}):s(r)}}))}}t.CreateConstructArrayHelper=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CreateFunctionArrayHelper=void 0;const s=r(19);class i extends s.Helper{constructor({body:e}){super(),this.body=e}
1emit(e,t,r){r.pushValue&&(e.scope.pushAll(e,t,r),e.emitHelper(t,r,e.helpers.cloneArray),e.emitOp(t,"DUP"),e.emitPushInt(t,0),e.emitOp(t,"OVER"),e.emitOp(t,"OVER"),e.emitOp(t,"PICKITEM"),e.emitHelper(t,r,e.helpers.cloneArray),e.emitOp(t,"SETITEM"),e.emitHelper(t,r,e.helpers.function({body:this.body})),e.emitPushInt(t,2),e.emitOp(t,"PACK"))}}t.CreateFunctionArrayHelper=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CreateFunctionObjectHelper=void 0;const s=r(19);class i extends s.Helper{constructor({property:e}){super(),this.property=e}emit(e,t,r){r.pushValue&&(e.emitHelper(t,r,e.helpers.createObject),e.emitOp(t,"TUCK"),e.emitPushInt(t,this.property),e.emitOp(t,"ROT"),e.emitHelper(t,r,e.helpers.setInternalObjectProperty))}}t.CreateFunctionObjectHelper=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.FunctionHelper=void 0;const s=r(19);class i extends s.Helper{constructor({body:e}){super(),this.body=e}emit(e,t,r){if(r.pushValue){const s=e.jumpTable.add(e,t,()=>{const e={superClass:r.superClass};this.body(e)});e.emitPushInt(t,s)}}}t.FunctionHelper=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.FunctionLikeHelper=void 0;const s=r(20),i=r(22),n=r(19);class a extends n.Helper{emit(e,t,r){if(!s.tsUtils.overload.isImplementation(t))return;if(e.context.analysis.isSmartContractMixinFunction(t))return;const n=t,a=e.pushValueOptions(r);let o;void 0!==s.tsUtils.node.getName(t)&&(o=e.scope.add(s.tsUtils.node.getNameOrThrow(t))),e.emitHelper(n,a,e.helpers.createCallArray),e.emitHelper(n,a,e.helpers.createFunctionObject({property:i.InternalObjectProperty.Call})),(s.tsUtils.modifier.isNamedExport(t)||s.tsUtils.modifier.isDefaultExport(t))&&(e.emitOp(t,"DUP"),e.emitHelper(t,a,e.helpers.exportSingle({name:s.tsUtils.modifier.isNamedExport(t)?s.tsUtils.node.getNameOrThrow(t):void 0,defaultExport:s.tsUtils.modifier.isDefaultExport(t)}))),r.pushValue||(void 0===o?e.emitOp(t,"DROP"):e.scope.set(e,t,a,o))}}t.FunctionLikeHelper=a},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.GetCallableHelper=void 0;const s=r(18).__importDefault(r(71)),i=r(22),n=r(19);class a extends n.Helper{constructor(e={bindThis:!1}){super(),this.bindThis=e.bindThis||!1,this.overwriteThis=e.overwriteThis||!1}static getKey(e={bindThis:!1}){const t=e.bindThis||!1,r=e.overwriteThis||!1;return s.default({bindThis:t,overwriteThis:r})}emit(e,t,r){const s=e.pushValueOptions(r);e.emitPushInt(t,i.InternalObjectProperty.Call),e.emitHelper(t,s,e.helpers.getInternalObjectProperty),this.bindThis&&e.emitHelper(t,s,e.helpers.bindFunctionThis({overwrite:this.overwriteThis}))}}t.GetCallableHelper=a},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.InvokeCallHelper=void 0;const s=r(18).__importDefault(r(71)),i=r(19);class n extends i.Helper{constructor(e={bindThis:!1,noArgs:!1}){super(),this.bindThis=e.bindThis||!1,this.overwriteThis=e.overwriteThis||!1,this.noArgs=e.noArgs||!1}static getKey(e={bindThis:!1,noArgs:!1}){const t=e.bindThis||!1,r=e.overwriteThis||!1,i=e.noArgs||!1;return s.default({bindThis:t,overwriteThis:r,noArgs:i})}emit(e,t,r){const s=e.pushValueOptions(r);e.emitHelper(t,s,e.helpers.getCallable({bindThis:this.bindThis,overwriteThis:this.overwriteThis})),this.noArgs&&(e.emitPushInt(t,0),e.emitOp(t,"NEWARRAY"),e.emitOp(t,"SWAP")),e.emitHelper(t,r,e.helpers.call)}}t.InvokeCallHelper=n},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.InvokeConstructHelper=void 0;const s=r(22),i=r(19);class n extends i.Helper{constructor(e={noArgs:!1}){super(),this.noArgs=e.noArgs||!1}emit(e,t,r){const i=e.pushValueOptions(r);e.emitPushInt(t,s.InternalObjectProperty.Construct),e.emitHelper(t,i,e.helpers.getInternalObjectProperty),e.emitHelper(t,i,e.helpers.bindFunctionThis({overwrite:!0})),this.noArgs&&(e.emitPushInt(t,0),e.emitOp(t,"NEWARRAY"),e.emitOp(t,"SWAP")),e.emitHelper(t,r,e.helpers.call)}}t.InvokeConstructHelper=n},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.NewHelper=void 0;const s=r(19);class i extends s.Helper{constructor(e={noArgs:!1}){super(),this.noArgs=e.noArgs||!1}emit(e,t,r){const s=e.pushValueOptions(r);e.emitHelper(t,s,e.helpers.createObject),this.noArgs?e.emitOp(t,"TUCK"):(e.emitPushInt(t,3),e.emitOp(t,"XTUCK")),e.emitOp(t,"TUCK"),e.emitOp(t,"OVER"),e.emitPushString(t,"__proto__"),e.emitOp(t,"SWAP"),e.emitPushString(t,"prototype"),e.emitHelper(t,s,e.helpers.getPropertyObjectProperty),e.emitHelper(t,s,e.helpers.setDataPropertyObjectProperty),e.emitHelper(t,e.noPushValueOptions(s),e.helpers.invokeConstruct({noArgs:this.noArgs})),r.pushValue||e.emitOp(t,"DROP")}}t.NewHelper=i},function(e,t,r){"use strict";
1Object.defineProperty(t,"__esModule",{value:!0}),t.ParametersHelper=void 0;const s=r(18),i=r(20),n=s.__importDefault(r(21)),a=r(19);class o extends a.Helper{constructor(e){super(),this.params=e.params,this.asArgsArr=void 0!==e.asArgsArr&&e.asArgsArr,this.map=e.map,this.mapParam=e.mapParam}emit(e,t,r){const s=e.pushValueOptions(r),a=this.params,o=a.find(e=>i.tsUtils.parameter.isRestParameter(e));let l=void 0===o?[...a]:a.slice(0,-1);if(l=l.length>0&&"this"===i.tsUtils.node.getName(l[0])?l.slice(1):l,this.asArgsArr&&(e.emitPushInt(t,0),e.emitOp(t,"NEWARRAY"),e.emitOp(t,"SWAP")),l.forEach((r,a)=>{const o=i.tsUtils.node.getNameNode(r),l=i.tsUtils.initializer.getInitializer(r);if(void 0!==l?e.emitHelper(r,e.noPushValueOptions(s),e.helpers.if({condition:()=>{e.emitOp(r,"DUP"),e.emitOp(r,"ARRAYSIZE"),e.emitPushInt(r,a),e.emitOp(r,"LTE")},whenTrue:()=>{e.visit(l,e.pushValueOptions(s))},whenFalse:()=>{e.emitOp(r,"DUP"),e.emitPushInt(r,a),e.emitOp(r,"PICKITEM"),void 0!==this.mapParam&&this.mapParam(r,s),e.emitOp(r,"DUP"),e.emitHelper(r,e.noPushValueOptions(s),e.helpers.if({condition:()=>{e.emitHelper(r,e.pushValueOptions(s),e.helpers.isUndefined)},whenTrue:()=>{e.emitOp(r,"DROP"),e.visit(l,e.pushValueOptions(s))}}))}})):i.tsUtils.parameter.isOptional(r)?e.emitHelper(r,e.noPushValueOptions(s),e.helpers.if({condition:()=>{e.emitOp(r,"DUP"),e.emitOp(r,"ARRAYSIZE"),e.emitPushInt(r,a),e.emitOp(r,"LTE")},whenTrue:()=>{e.emitHelper(r,e.pushValueOptions(s),e.helpers.wrapUndefined)},whenFalse:()=>{e.emitOp(r,"DUP"),e.emitPushInt(r,a),e.emitOp(r,"PICKITEM"),void 0!==this.mapParam&&this.mapParam(r,s)}})):(e.emitOp(r,"DUP"),e.emitPushInt(r,a),e.emitOp(r,"PICKITEM"),void 0!==this.mapParam&&this.mapParam(r,s)),void 0!==this.map&&this.map(r,s),this.asArgsArr)e.emitOp(t,"ROT"),e.emitOp(t,"TUCK"),e.emitOp(t,"SWAP"),e.emitOp(t,"APPEND"),e.emitOp(t,"SWAP");else if(n.default.isIdentifier(o))e.scope.add(i.tsUtils.node.getText(o)),e.scope.set(e,t,s,i.tsUtils.node.getText(o));else if(n.default.isArrayBindingPattern(o)){const t=e.context.analysis.getType(r);e.emitHelper(o,s,e.helpers.arrayBinding({type:t}))}else{const t=e.context.analysis.getType(r);e.emitHelper(o,s,e.helpers.objectBinding({type:t}))}}),void 0===o)e.emitOp(t,"DROP");else{e.emitPushInt(o,l.length),e.emitHelper(o,s,e.helpers.arrSlice({hasEnd:!1}));const r=this.mapParam;if(void 0!==r&&e.emitHelper(o,s,e.helpers.arrMap({map:e=>r(o,e)})),this.asArgsArr){const r=this.map;void 0!==r&&e.emitHelper(o,s,e.helpers.arrMap({map:e=>r(o,e,!0)})),e.emitHelper(t,s,e.helpers.arrConcat)}else e.emitHelper(o,s,e.helpers.wrapArray),void 0!==this.map&&this.map(o,s),e.scope.add(i.tsUtils.node.getNameOrThrow(o)),e.scope.set(e,o,s,i.tsUtils.node.getNameOrThrow(o))}}}t.ParametersHelper=o},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const s=r(18);s.__exportStar(r(679),t),s.__exportStar(r(680),t),s.__exportStar(r(681),t)},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CreateGlobalObjectHelper=void 0;const s=r(22),i=r(19);class n extends i.Helper{emit(e,t,r){e.emitOp(t,"DEPTH"),e.emitOp(t,"PACK"),e.emitOp(t,"NEWMAP"),e.emitOp(t,"TUCK"),e.emitPushInt(t,s.GlobalProperty.Arguments),e.emitOp(t,"ROT"),e.emitOp(t,"SETITEM"),e.emitOp(t,"DUP"),e.emitPushInt(t,s.GlobalProperty.Modules),e.emitPushInt(t,0),e.emitOp(t,"NEWARRAY"),e.emitOp(t,"SETITEM"),e.emitOp(t,"DUP"),e.emitPushInt(t,s.GlobalProperty.CallingScriptHash),e.emitSysCall(t,"System.ExecutionEngine.GetCallingScriptHash"),e.emitOp(t,"SETITEM"),r.pushValue||e.emitOp(t,"DROP")}}t.CreateGlobalObjectHelper=n},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.GetArgumentHelper=void 0;const s=r(22),i=r(19);class n extends i.Helper{emit(e,t,r){r.pushValue?(e.emitHelper(t,r,e.helpers.getGlobalProperty({property:s.GlobalProperty.Arguments})),e.emitOp(t,"SWAP"),e.emitOp(t,"PICKITEM")):e.emitOp(t,"DROP")}}t.GetArgumentHelper=n},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.GetGlobalPropertyHelper=void 0;const s=r(19);class i extends s.Helper{constructor(e){super(),this.property=e.property}
1emit(e,t,r){r.pushValue&&(e.scope.getGlobal(e,t,r),e.emitPushInt(t,this.property),e.emitOp(t,"PICKITEM"))}}t.GetGlobalPropertyHelper=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const s=r(18);s.__exportStar(r(683),t),s.__exportStar(r(684),t),s.__exportStar(r(685),t),s.__exportStar(r(686),t),s.__exportStar(r(687),t)},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CreateEnumeratorIterableIteratorHelper=void 0;const s=r(19),i=()=>{};class n extends s.Helper{constructor(e){var t;super(),this.mapValue=void 0===e.mapValue?i:e.mapValue,this.deserializeKey=null!==(t=e.deserializeKey)&&void 0!==t&&t}emit(e,t,r){e.emitHelper(t,r,e.helpers.createIterableIteratorBase({handleNext:r=>{e.emitSysCall(t,"Neo.Enumerator.Value"),this.deserializeKey&&e.emitSysCall(t,"Neo.Runtime.Deserialize"),this.mapValue(r)}}))}}t.CreateEnumeratorIterableIteratorHelper=n},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CreateIterableIteratorBaseHelper=void 0;const s=r(22),i=r(19);class n extends i.Helper{constructor({handleNext:e,hasFilter:t=!1}){super(),this.handleNext=e,this.hasFilter=t}emit(e,t,r){r.pushValue?(e.emitOp(t,"NEWMAP"),e.emitOp(t,"TUCK"),e.emitPushInt(t,s.IterableIteratorSlots.internalIterator),e.emitOp(t,"ROT"),e.emitOp(t,"SETITEM"),e.emitOp(t,"DUP"),e.emitHelper(t,r,e.helpers.wrapIterableIterator),e.emitOp(t,"TUCK"),e.emitOp(t,"OVER"),e.emitOp(t,"OVER"),e.emitHelper(t,r,e.helpers.createFunctionArray({body:r=>{const s=e.pushValueOptions(r);e.emitOp(t,"DROP"),e.scope.getThis(e,t,s),e.emitHelper(t,s,e.helpers.return)}})),e.emitHelper(t,r,e.helpers.bindFunctionThis({overwrite:!0})),e.emitPushInt(t,s.IterableIteratorSlots.iterator),e.emitOp(t,"SWAP"),e.emitOp(t,"SETITEM"),e.emitHelper(t,r,e.helpers.createFunctionArray({body:r=>{const i=e.pushValueOptions(r);e.emitOp(t,"DROP"),e.scope.getThis(e,t,i),e.emitHelper(t,i,e.helpers.unwrapIterableIterator),e.emitPushInt(t,s.IterableIteratorSlots.internalIterator),e.emitOp(t,"PICKITEM"),this.hasFilter?e.emitHelper(t,i,e.helpers.forLoop({condition:()=>{e.emitHelper(t,i,e.helpers.if({condition:()=>{e.emitOp(t,"DUP"),e.emitSysCall(t,"Neo.Enumerator.Next")},whenTrue:()=>{e.emitHelper(t,i,e.helpers.if({condition:()=>{e.emitOp(t,"DUP"),this.handleNext(i)},whenTrue:()=>{e.emitOp(t,"NIP"),e.emitPushBoolean(t,!1),e.emitHelper(t,i,e.helpers.wrapBoolean),e.emitPushBoolean(t,!1)},whenFalse:()=>{e.emitOp(t,"DROP"),e.emitPushBoolean(t,!0)}}))},whenFalse:()=>{e.emitOp(t,"DROP"),e.emitHelper(t,i,e.helpers.wrapUndefined),e.emitPushBoolean(t,!0),e.emitHelper(t,i,e.helpers.wrapBoolean),e.emitPushBoolean(t,!1)}}))},each:()=>{},cleanup:()=>{}})):e.emitHelper(t,i,e.helpers.if({condition:()=>{e.emitOp(t,"DUP"),e.emitSysCall(t,"Neo.Enumerator.Next")},whenTrue:()=>{this.handleNext(i),e.emitPushBoolean(t,!1),e.emitHelper(t,i,e.helpers.wrapBoolean)},whenFalse:()=>{e.emitOp(t,"DROP"),e.emitHelper(t,i,e.helpers.wrapUndefined),e.emitPushBoolean(t,!0),e.emitHelper(t,i,e.helpers.wrapBoolean)}})),e.emitHelper(t,i,e.helpers.createIteratorResult),e.emitHelper(t,i,e.helpers.return)}})),e.emitHelper(t,r,e.helpers.bindFunctionThis({overwrite:!0})),e.emitPushInt(t,s.IterableIteratorSlots.next),e.emitOp(t,"SWAP"),e.emitOp(t,"SETITEM")):e.emitOp(t,"DROP")}}t.CreateIterableIteratorBaseHelper=n},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CreateIteratorIterableIteratorHelper=void 0;const s=r(19),i=()=>{};class n extends s.Helper{constructor(e){var t;super(),this.deserializeKey=null!==(t=e.deserializeKey)&&void 0!==t&&t,this.mapKey=void 0===e.mapKey?i:e.mapKey,this.mapValue=void 0===e.mapValue?i:e.mapValue}emit(e,t,r){e.emitHelper(t,r,e.helpers.createIterableIteratorBase({handleNext:r=>{e.emitOp(t,"DUP"),e.emitSysCall(t,"Neo.Enumerator.Value"),this.mapValue(r),e.emitOp(t,"SWAP"),e.emitSysCall(t,"Neo.Iterator.Key"),this.deserializeKey&&e.emitSysCall(t,"Neo.Runtime.Deserialize"),this.mapKey(r),e.emitPushInt(t,2),e.emitOp(t,"PACK"),e.emitHelper(t,r,e.helpers.wrapArray)}}))}}t.CreateIteratorIterableIteratorHelper=n},function(e,t,r){"use strict";
1Object.defineProperty(t,"__esModule",{value:!0}),t.IterableIteratorForEachHelper=void 0;const s=r(22),i=r(19);class n extends i.Helper{constructor(e){super(),this.each=e.each}emit(e,t,r){const i=e.pushValueOptions(r);e.emitHelper(t,i,e.helpers.unwrapIterableIterator),e.emitPushInt(t,s.IterableIteratorSlots.next),e.emitOp(t,"PICKITEM"),e.emitPushInt(t,0),e.emitOp(t,"NEWARRAY"),e.emitHelper(t,i,e.helpers.forLoop({condition:()=>{e.emitOp(t,"OVER"),e.emitHelper(t,i,e.helpers.call),e.emitHelper(t,i,e.helpers.unwrapIteratorResult),e.emitOp(t,"DUP"),e.emitPushInt(t,s.IteratorResultSlots.done),e.emitOp(t,"PICKITEM"),e.emitHelper(t,i,e.helpers.unwrapBoolean),e.emitOp(t,"NOT")},each:r=>{e.emitPushInt(t,s.IteratorResultSlots.value),e.emitOp(t,"PICKITEM"),e.emitPushInt(t,0),e.emitOp(t,"NEWARRAY"),e.emitOp(t,"SWAP"),this.each(e.noPushValueOptions(r))},cleanup:()=>{e.emitOp(t,"DROP"),e.emitOp(t,"DROP")}}))}}t.IterableIteratorForEachHelper=n},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.IterableIteratorReduceHelper=void 0;const s=r(22),i=r(19);class n extends i.Helper{constructor(e){super(),this.each=e.each}emit(e,t,r){const i=e.pushValueOptions(r);e.emitOp(t,"SWAP"),e.emitHelper(t,i,e.helpers.unwrapIterableIterator),e.emitPushInt(t,s.IterableIteratorSlots.next),e.emitOp(t,"PICKITEM"),e.emitPushInt(t,0),e.emitOp(t,"NEWARRAY"),e.emitOp(t,"ROT"),e.emitHelper(t,i,e.helpers.forLoop({condition:()=>{e.emitOp(t,"ROT"),e.emitOp(t,"ROT"),e.emitOp(t,"OVER"),e.emitHelper(t,i,e.helpers.call),e.emitHelper(t,i,e.helpers.unwrapIteratorResult),e.emitOp(t,"DUP"),e.emitPushInt(t,s.IteratorResultSlots.done),e.emitOp(t,"PICKITEM"),e.emitHelper(t,i,e.helpers.unwrapBoolean),e.emitOp(t,"NOT"),e.emitPushInt(t,3),e.emitOp(t,"ROLL"),e.emitOp(t,"SWAP")},each:r=>{e.emitOp(t,"SWAP"),e.emitPushInt(t,s.IteratorResultSlots.value),e.emitOp(t,"PICKITEM"),e.emitPushInt(t,0),e.emitOp(t,"NEWARRAY"),e.emitOp(t,"SWAP"),e.emitOp(t,"ROT"),this.each(e.noPushValueOptions(r))},handleReturn:()=>{e.emitOp(t,"DROP"),e.emitOp(t,"DROP"),e.emitOp(t,"DROP")},cleanup:()=>{e.emitOp(t,"NIP"),e.emitOp(t,"NIP"),r.pushValue||e.emitOp(t,"DROP")}}))}}t.IterableIteratorReduceHelper=n},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const s=r(18);s.__exportStar(r(689),t),s.__exportStar(r(690),t),s.__exportStar(r(691),t),s.__exportStar(r(692),t),s.__exportStar(r(693),t),s.__exportStar(r(694),t),s.__exportStar(r(695),t),s.__exportStar(r(696),t),s.__exportStar(r(697),t),s.__exportStar(r(698),t),s.__exportStar(r(699),t),s.__exportStar(r(700),t),s.__exportStar(r(701),t),s.__exportStar(r(702),t),s.__exportStar(r(703),t),s.__exportStar(r(704),t),s.__exportStar(r(705),t),s.__exportStar(r(706),t)},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.RawEnumeratorEveryHelper=void 0;const s=r(19);class i extends s.Helper{constructor(e){super(),this.each=e.each}emit(e,t,r){e.emitHelper(t,r,e.helpers.rawIteratorEveryBase({each:r=>{e.emitSysCall(t,"Neo.Enumerator.Value"),this.each(r)}}))}}t.RawEnumeratorEveryHelper=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.RawEnumeratorFilterHelper=void 0;const s=r(19);class i extends s.Helper{constructor(e){super(),this.each=e.each}emit(e,t,r){const s=r=>{e.emitHelper(t,r,e.helpers.if({condition:()=>{this.each(r)},whenTrue:()=>{e.emitOp(t,"TUCK"),e.emitOp(t,"SWAP"),e.emitOp(t,"APPEND")},whenFalse:()=>{e.emitOp(t,"NIP")}}))};e.emitPushInt(t,0),e.emitOp(t,"NEWARRAY"),e.emitHelper(t,r,e.helpers.rawEnumeratorReduce({each:r=>{e.emitOp(t,"OVER"),s(r)}}))}}t.RawEnumeratorFilterHelper=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.RawEnumeratorFindHelper=void 0;const s=r(19);class i extends s.Helper{constructor(e){super(),this.each=e.each}emit(e,t,r){const s=e.pushValueOptions(r);e.emitHelper(t,s,e.helpers.rawEnumeratorFilter({each:this.each})),e.emitOp(t,"DUP"),e.emitHelper(t,s,e.helpers.if({condition:()=>{e.emitOp(t,"ARRAYSIZE"),e.emitPushInt(t,0),e.emitOp(t,"NUMEQUAL")},whenTrue:()=>{e.emitOp(t,"DROP"),e.emitHelper(t,s,e.helpers.wrapUndefined)},whenFalse:()=>{e.emitPushInt(t,0),e.emitOp(t,"PICKITEM")}}))}}t.RawEnumeratorFindHelper=i},function(e,t,r){"use strict";
1Object.defineProperty(t,"__esModule",{value:!0}),t.RawEnumeratorForEachFuncHelper=void 0;const s=r(19);class i extends s.Helper{constructor(e){var t;super(),this.deserializeKey=null!==(t=e.deserializeKey)&&void 0!==t&&t}emit(e,t,r){const s=e.pushValueOptions(r);e.emitHelper(t,s,e.helpers.getCallable({})),e.emitOp(t,"SWAP"),e.emitHelper(t,s,e.helpers.forLoop({condition:()=>{e.emitOp(t,"DUP"),e.emitSysCall(t,"Neo.Enumerator.Next")},each:r=>{e.emitOp(t,"DUP"),e.emitSysCall(t,"Neo.Enumerator.Value"),this.deserializeKey&&e.emitSysCall(t,"Neo.Runtime.Deserialize"),e.emitPushInt(t,1),e.emitOp(t,"PACK"),e.emitPushInt(t,2),e.emitOp(t,"PICK"),e.emitHelper(t,e.noPushValueOptions(r),e.helpers.call)},cleanup:()=>{e.emitOp(t,"DROP"),e.emitOp(t,"DROP")}}))}}t.RawEnumeratorForEachFuncHelper=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.RawEnumeratorForEachHelper=void 0;const s=r(19);class i extends s.Helper{constructor(e){super(),this.each=e.each}emit(e,t,r){const s=e.pushValueOptions(r);e.emitHelper(t,s,e.helpers.rawIteratorForEachBase({each:r=>{e.emitSysCall(t,"Neo.Enumerator.Value"),this.each(e.noPushValueOptions(r))}}))}}t.RawEnumeratorForEachHelper=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.RawEnumeratorReduceHelper=void 0;const s=r(19);class i extends s.Helper{constructor(e){super(),this.each=e.each}emit(e,t,r){e.emitHelper(t,r,e.helpers.rawIteratorReduceBase({each:r=>{e.emitOp(t,"SWAP"),e.emitSysCall(t,"Neo.Enumerator.Value"),e.emitOp(t,"SWAP"),this.each(r)}}))}}t.RawEnumeratorReduceHelper=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.RawEnumeratorSomeHelper=void 0;const s=r(19);class i extends s.Helper{constructor(e){super(),this.each=e.each}emit(e,t,r){e.emitHelper(t,r,e.helpers.rawIteratorSomeBase({each:r=>{e.emitSysCall(t,"Neo.Enumerator.Value"),this.each(r)}}))}}t.RawEnumeratorSomeHelper=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.RawIteratorEveryBaseHelper=void 0;const s=r(19);class i extends s.Helper{constructor(e){super(),this.each=e.each}emit(e,t,r){const s=e.pushValueOptions(r);e.emitPushBoolean(t,!0),e.emitHelper(t,s,e.helpers.forLoop({condition:()=>{e.emitOp(t,"SWAP"),e.emitOp(t,"TUCK"),e.emitOp(t,"OVER"),e.emitOp(t,"SWAP"),e.emitSysCall(t,"Neo.Enumerator.Next"),e.emitOp(t,"BOOLAND")},each:r=>{e.emitOp(t,"DROP"),e.emitOp(t,"DUP"),this.each(e.pushValueOptions(r))},handleReturn:()=>{e.emitOp(t,"DROP"),e.emitOp(t,"DROP")},cleanup:()=>{e.emitOp(t,"NIP"),r.pushValue||e.emitOp(t,"DROP")}}))}}t.RawIteratorEveryBaseHelper=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.RawIteratorEveryHelper=void 0;const s=r(19);class i extends s.Helper{constructor(e){super(),this.each=e.each}emit(e,t,r){e.emitHelper(t,r,e.helpers.rawIteratorEveryBase({each:r=>{e.emitOp(t,"DUP"),e.emitSysCall(t,"Neo.Enumerator.Value"),e.emitOp(t,"SWAP"),e.emitSysCall(t,"Neo.Iterator.Key"),this.each(r)}}))}}t.RawIteratorEveryHelper=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.RawIteratorForEachBaseHelper=void 0;const s=r(19);class i extends s.Helper{constructor(e){super(),this.each=e.each}emit(e,t,r){const s=e.pushValueOptions(r);e.emitHelper(t,s,e.helpers.forLoop({condition:()=>{e.emitOp(t,"DUP"),e.emitSysCall(t,"Neo.Enumerator.Next")},each:r=>{e.emitOp(t,"DUP"),this.each(e.noPushValueOptions(r))},cleanup:()=>{e.emitOp(t,"DROP")}}))}}t.RawIteratorForEachBaseHelper=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.RawIteratorForEachFuncBaseHelper=void 0;const s=r(19);class i extends s.Helper{constructor({handleNext:e,hasFilter:t=!1}){super(),this.handleNext=e,this.hasFilter=t}emit(e,t,r){const s=e.pushValueOptions(r);e.emitHelper(t,s,e.helpers.getCallable({})),e.emitOp(t,"SWAP"),e.emitHelper(t,s,e.helpers.forLoop({condition:()=>{e.emitOp(t,"DUP"),e.emitSysCall(t,"Neo.Enumerator.Next")},each:r=>{const s=e.pushValueOptions(r);e.emitOp(t,"DUP");const i=()=>{e.emitPushInt(t,2),e.emitOp(t,"PICK"),e.emitHelper(t,e.noPushValueOptions(s),e.helpers.call)};this.hasFilter?e.emitHelper(t,s,e.helpers.if({condition:()=>{this.handleNext(s)},whenTrue:()=>{i()},whenFalse:()=>{e.emitOp(t,"DROP")}})):(this.handleNext(s),i())},cleanup:()=>{e.emitOp(t,"DROP"),e.emitOp(t,"DROP")}}))}}t.RawIteratorForEachFuncBaseHelper=i},function(e,t,r){"use strict";
1Object.defineProperty(t,"__esModule",{value:!0}),t.RawIteratorForEachFuncHelper=void 0;const s=r(19);class i extends s.Helper{constructor(e){var t;super(),this.deserializeKey=null!==(t=e.deserializeKey)&&void 0!==t&&t}emit(e,t,r){const s=e.pushValueOptions(r);e.emitHelper(t,s,e.helpers.rawIteratorForEachFuncBase({handleNext:()=>{e.emitSysCall(t,"Neo.Iterator.Key"),this.deserializeKey&&e.emitSysCall(t,"Neo.Runtime.Deserialize"),e.emitOp(t,"OVER"),e.emitSysCall(t,"Neo.Enumerator.Value"),e.emitPushInt(t,2),e.emitOp(t,"PACK")}}))}}t.RawIteratorForEachFuncHelper=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.RawIteratorForEachHelper=void 0;const s=r(19);class i extends s.Helper{constructor(e){var t;super(),this.each=e.each,this.deserializeKey=null!==(t=e.deserializeKey)&&void 0!==t&&t}emit(e,t,r){e.emitHelper(t,r,e.helpers.rawIteratorForEachBase({each:r=>{e.emitSysCall(t,"Neo.Enumerator.Value"),e.emitOp(t,"OVER"),e.emitSysCall(t,"Neo.Iterator.Key"),this.deserializeKey&&e.emitSysCall(t,"Neo.Runtime.Deserialize"),this.each(r)}}))}}t.RawIteratorForEachHelper=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.RawIteratorForEachKeyHelper=void 0;const s=r(19);class i extends s.Helper{constructor(e){var t;super(),this.each=e.each,this.deserializeKey=null!==(t=e.deserializeKey)&&void 0!==t&&t}emit(e,t,r){e.emitHelper(t,r,e.helpers.rawIteratorForEachBase({each:r=>{e.emitSysCall(t,"Neo.Iterator.Key"),this.deserializeKey&&e.emitSysCall(t,"Neo.Runtime.Deserialize"),this.each(r)}}))}}t.RawIteratorForEachKeyHelper=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.RawIteratorReduceBaseHelper=void 0;const s=r(19);class i extends s.Helper{constructor(e){super(),this.each=e.each}emit(e,t,r){const s=e.pushValueOptions(r);e.emitHelper(t,s,e.helpers.forLoop({condition:()=>{e.emitOp(t,"OVER"),e.emitSysCall(t,"Neo.Enumerator.Next")},each:r=>{e.emitOp(t,"OVER"),e.emitOp(t,"SWAP"),this.each(e.pushValueOptions(r))},handleReturn:()=>{e.emitOp(t,"DROP"),e.emitOp(t,"DROP")},cleanup:()=>{e.emitOp(t,"NIP"),r.pushValue||e.emitOp(t,"DROP")}}))}}t.RawIteratorReduceBaseHelper=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.RawIteratorReduceHelper=void 0;const s=r(19);class i extends s.Helper{constructor(e){var t;super(),this.each=e.each,this.deserializeKey=null!==(t=e.deserializeKey)&&void 0!==t&&t}emit(e,t,r){e.emitHelper(t,r,e.helpers.rawIteratorReduceBase({each:r=>{e.emitOp(t,"OVER"),e.emitSysCall(t,"Neo.Enumerator.Value"),e.emitOp(t,"ROT"),e.emitSysCall(t,"Neo.Iterator.Key"),this.deserializeKey&&e.emitSysCall(t,"Neo.Runtime.Deserialize"),e.emitOp(t,"ROT"),this.each(r)}}))}}t.RawIteratorReduceHelper=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.RawIteratorSomeBaseHelper=void 0;const s=r(19);class i extends s.Helper{constructor(e){super(),this.each=e.each}emit(e,t,r){const s=e.pushValueOptions(r);e.emitPushBoolean(t,!1),e.emitHelper(t,s,e.helpers.forLoop({condition:()=>{e.emitOp(t,"SWAP"),e.emitOp(t,"TUCK"),e.emitOp(t,"OVER"),e.emitOp(t,"NOT"),e.emitOp(t,"SWAP"),e.emitSysCall(t,"Neo.Enumerator.Next"),e.emitOp(t,"BOOLAND")},each:r=>{e.emitOp(t,"DROP"),e.emitOp(t,"DUP"),this.each(e.pushValueOptions(r))},handleReturn:()=>{e.emitOp(t,"DROP"),e.emitOp(t,"DROP")},cleanup:()=>{e.emitOp(t,"NIP"),r.pushValue||e.emitOp(t,"DROP")}}))}}t.RawIteratorSomeBaseHelper=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.RawIteratorSomeHelper=void 0;const s=r(19);class i extends s.Helper{constructor(e){super(),this.each=e.each}emit(e,t,r){e.emitHelper(t,r,e.helpers.rawIteratorSomeBase({each:r=>{e.emitOp(t,"DUP"),e.emitSysCall(t,"Neo.Enumerator.Value"),e.emitOp(t,"SWAP"),e.emitSysCall(t,"Neo.Iterator.Key"),this.each(r)}}))}}t.RawIteratorSomeHelper=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),r(18).__exportStar(r(708),t)},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CreateIteratorResultHelper=void 0;const s=r(22),i=r(19);class n extends i.Helper{emit(e,t,r){if(!r.pushValue)return e.emitOp(t,"DROP"),void e.emitOp(t,"DROP");e.emitOp(t,"NEWMAP"),e.emitOp(t,"TUCK"),e.emitPushInt(t,s.IteratorResultSlots.done),e.emitOp(t,"ROT"),e.emitOp(t,"SETITEM"),e.emitOp(t,"TUCK"),e.emitPushInt(t,s.IteratorResultSlots.value),e.emitOp(t,"ROT"),e.emitOp(t,"SETITEM"),e.emitHelper(t,r,e.helpers.wrapIteratorResult)}}t.CreateIteratorResultHelper=n},function(e,t,r){"use strict";
1Object.defineProperty(t,"__esModule",{value:!0});const s=r(18);s.__exportStar(r(710),t),s.__exportStar(r(711),t),s.__exportStar(r(712),t),s.__exportStar(r(713),t),s.__exportStar(r(714),t),s.__exportStar(r(715),t),s.__exportStar(r(716),t)},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MapDeleteHelper=void 0;const s=r(19);class i extends s.Helper{emit(e,t,r){const s=e.pushValueOptions(r);r.pushValue?(e.emitOp(t,"SWAP"),e.emitOp(t,"TUCK"),e.emitOp(t,"OVER"),e.emitOp(t,"HASKEY"),e.emitOp(t,"ROT"),e.emitOp(t,"ROT"),e.emitOp(t,"REMOVE"),e.emitHelper(t,s,e.helpers.wrapBoolean)):e.emitOp(t,"REMOVE")}}t.MapDeleteHelper=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MapEveryHelper=void 0;const s=r(19);class i extends s.Helper{constructor(e){super(),this.each=e.each}emit(e,t,r){e.emitSysCall(t,"Neo.Iterator.Create"),e.emitHelper(t,r,e.helpers.rawIteratorEvery({each:this.each}))}}t.MapEveryHelper=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MapFilterHelper=void 0;const s=r(19);class i extends s.Helper{constructor(e){super(),this.map=e.map}emit(e,t,r){r.pushValue?(e.emitSysCall(t,"Neo.Iterator.Create"),e.emitOp(t,"NEWMAP"),e.emitHelper(t,r,e.helpers.rawIteratorReduce({each:r=>{e.emitOp(t,"ROT"),e.emitOp(t,"ROT"),e.emitOp(t,"TUCK"),e.emitOp(t,"OVER"),e.emitOp(t,"SWAP"),e.emitHelper(t,r,e.helpers.if({condition:()=>{this.map(r)},whenTrue:()=>{e.emitOp(t,"ROT"),e.emitPushInt(t,3),e.emitOp(t,"XTUCK"),e.emitOp(t,"ROT"),e.emitOp(t,"ROT"),e.emitOp(t,"SETITEM")},whenFalse:()=>{e.emitOp(t,"DROP"),e.emitOp(t,"DROP")}}))}}))):e.emitOp(t,"DROP")}}t.MapFilterHelper=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MapForEachHelper=void 0;const s=r(19);class i extends s.Helper{constructor(e){super(),this.each=e.each}emit(e,t,r){e.emitSysCall(t,"Neo.Iterator.Create"),e.emitHelper(t,r,e.helpers.rawIteratorForEach({each:this.each}))}}t.MapForEachHelper=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MapMapHelper=void 0;const s=r(19);class i extends s.Helper{constructor(e){super(),this.map=e.map}emit(e,t,r){e.emitSysCall(t,"Neo.Iterator.Create"),e.emitOp(t,"NEWMAP"),e.emitHelper(t,r,e.helpers.rawIteratorReduce({each:r=>{e.emitPushInt(t,3),e.emitOp(t,"XTUCK"),e.emitOp(t,"ROT"),e.emitOp(t,"ROT"),this.map(r),e.emitOp(t,"SWAP"),e.emitOp(t,"SETITEM")}}))}}t.MapMapHelper=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MapReduceHelper=void 0;const s=r(19);class i extends s.Helper{constructor(e){var t;super(),this.each=e.each,this.deserializeKey=null!==(t=e.deserializeKey)&&void 0!==t&&t}emit(e,t,r){e.emitOp(t,"SWAP"),e.emitSysCall(t,"Neo.Iterator.Create"),e.emitOp(t,"SWAP"),e.emitHelper(t,r,e.helpers.rawIteratorReduce({deserializeKey:this.deserializeKey,each:this.each}))}}t.MapReduceHelper=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MapSomeHelper=void 0;const s=r(19);class i extends s.Helper{constructor(e){super(),this.each=e.each}emit(e,t,r){e.emitSysCall(t,"Neo.Iterator.Create"),e.emitHelper(t,r,e.helpers.rawIteratorSome({each:this.each}))}}t.MapSomeHelper=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const s=r(18);s.__exportStar(r(718),t),s.__exportStar(r(719),t),s.__exportStar(r(720),t),s.__exportStar(r(721),t),s.__exportStar(r(722),t),s.__exportStar(r(723),t)},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.AddEmptyModuleHelper=void 0;const s=r(19);class i extends s.Helper{emit(e,t,r){const s=e.pushValueOptions(r);e.emitHelper(t,s,e.helpers.getModules),e.emitOp(t,"NEWMAP"),e.emitOp(t,"APPEND")}}t.AddEmptyModuleHelper=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ExportHelper=void 0;const s=r(19);class i extends s.Helper{constructor({name:e,defaultExport:t}){super(),this.name=e,this.defaultExport=t||!1}emit(e,t,r){void 0!==this.name?(e.addExport(this.name),e.emitPushString(t,this.name)):this.defaultExport?e.emitPushString(t,"default"):e.context.report
1Unsupported(t),e.emitOp(t,"SWAP"),e.emitOp(t,"SETITEM")}}t.ExportHelper=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ExportSingleHelper=void 0;const s=r(19);class i extends s.Helper{constructor(e){super(),this.options=e}emit(e,t,r){const s=e.pushValueOptions(r);e.emitHelper(t,s,e.helpers.getCurrentModule),e.emitOp(t,"SWAP"),e.emitHelper(t,s,e.helpers.export(this.options))}}t.ExportSingleHelper=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.GetCurrentModuleHelper=void 0;const s=r(19);class i extends s.Helper{emit(e,t,r){r.pushValue&&(e.scope.getGlobal(e,t,r),e.emitHelper(t,r,e.helpers.getModule({moduleIndex:e.moduleIndex})))}}t.GetCurrentModuleHelper=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.GetModuleHelper=void 0;const s=r(19);class i extends s.Helper{constructor(e){super(),this.moduleIndex=e.moduleIndex}emit(e,t,r){r.pushValue&&(e.emitHelper(t,r,e.helpers.getModules),e.emitPushInt(t,this.moduleIndex),e.emitOp(t,"PICKITEM"))}}t.GetModuleHelper=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.GetModulesHelper=void 0;const s=r(22),i=r(19);class n extends i.Helper{emit(e,t,r){r.pushValue&&(e.emitPushInt(t,s.GlobalProperty.Modules),e.emitOp(t,"PICKITEM"))}}t.GetModulesHelper=n},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const s=r(18);s.__exportStar(r(725),t),s.__exportStar(r(726),t),s.__exportStar(r(727),t)},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.EqualsEqualsEqualsHelper=void 0;const s=r(22),i=r(19);class n extends i.Helper{constructor(e){super(),this.leftType=e.leftType,this.leftKnownType=e.leftKnownType,this.rightType=e.rightType,this.rightKnownType=e.rightKnownType}emit(e,t,r){if(!r.pushValue)return e.emitOp(t,"DROP"),void e.emitOp(t,"DROP");const i=()=>{e.emitOp(t,"DROP"),e.emitOp(t,"DROP"),e.emitPushBoolean(t,!1)},n=()=>{e.emitOp(t,"DROP"),e.emitOp(t,"DROP"),e.emitPushBoolean(t,!0)},a=()=>{e.emitPushInt(t,1),e.emitOp(t,"PICKITEM"),e.emitOp(t,"SWAP"),e.emitPushInt(t,1),e.emitOp(t,"PICKITEM"),e.emitOp(t,"EQUAL")},o=(r,s,n=(r=>s=>{e.emitHelper(t,s,e.helpers.unwrapVal({type:r})),e.emitOp(t,"SWAP"),e.emitHelper(t,s,e.helpers.unwrapVal({type:r})),e.emitOp(t,"EQUAL")})(s))=>s=>{e.emitOp(t,"SWAP"),e.emitHelper(t,s,e.helpers.forBuiltinType({type:this.leftType,knownType:this.leftKnownType,array:i,arrayStorage:i,boolean:i,buffer:i,null:i,number:i,object:i,string:i,symbol:i,undefined:i,map:i,mapStorage:i,set:i,setStorage:i,error:i,forwardValue:i,iteratorResult:i,iterable:i,iterableIterator:i,transaction:i,output:i,attribute:i,input:i,account:i,asset:i,contract:i,header:i,block:i,[r]:n}))},l=r=>s=>{e.emitOp(t,"SWAP"),e.emitHelper(t,s,e.helpers.forBuiltinType({type:this.leftType,knownType:this.leftKnownType,array:i,arrayStorage:i,boolean:i,buffer:i,null:i,number:i,object:i,string:i,symbol:i,undefined:i,map:i,mapStorage:i,set:i,setStorage:i,error:i,forwardValue:i,iteratorResult:i,iterable:i,iterableIterator:i,transaction:i,output:i,attribute:i,input:i,account:i,asset:i,contract:i,header:i,block:i,[r]:a}))},p=r=>s=>{e.emitOp(t,"SWAP"),e.emitHelper(t,s,e.helpers.forBuiltinType({type:this.leftType,knownType:this.leftKnownType,array:i,arrayStorage:i,boolean:i,buffer:i,null:i,number:i,object:i,string:i,symbol:i,undefined:i,map:i,mapStorage:i,set:i,setStorage:i,error:i,forwardValue:i,iteratorResult:i,iterable:i,iterableIterator:i,transaction:i,output:i,attribute:i,input:i,account:i,asset:i,contract:i,header:i,block:i,[r]:n}))};e.emitHelper(t,r,e.helpers.forBuiltinType({type:this.rightType,knownType:this.rightKnownType,array:o("array",s.Types.Array),arrayStorage:l("arrayStorage"),boolean:o("boolean",s.Types.Boolean),buffer:o("buffer",s.Types.Buffer),null:p("null"),number:o("number",s.Types.Number,r=>{e.emitHelper(t,r,e.helpers.unwrapNumber),e.emitOp(t,"SWAP"),e.emitHelper(t,r,e.helpers.unwrapNumber),e.emitOp(t,"NUMEQUAL")}),object:o("object",s.Types.Object),string:o("string",s.Types.String),symbol:o("symbol",s.Types.Symbol),undefined:p("undefined"),map:o("map",s.Types.Map),mapStorage:l("mapStorage"),set:o("set",s.Types.Set),setStorage:l("setStorage"),error:o("error",s.Types.Error),forwardValue:o("error",s.Types.ForwardValue),iteratorResult:o("iteratorResult",s.Types.IteratorResult),iterable:r=>{e.emitHelper(t,r,e.helpers.throwTypeError)},iterableIterator:o("iterableIterator",s.Types.IterableIterator),transaction:o("transaction",s.Types.Transaction),output:o("output",s.Types.Output),attribute:o("attribute",s.Types.Attribute),input:o("input",s.Types.Input),account:o("account",s.Types.Account),asset:o("asset",s.Types.Asset),contract:o("contract",s.Types.Contract),header:o("header",s.Types.Header),block:o("block",s.Types.Block)}))}}t.EqualsEqualsEqualsHelper=n},function(e,t,r){"use strict";
1Object.defineProperty(t,"__esModule",{value:!0}),t.EqualsEqualsHelper=void 0;const s=r(20),i=r(22),n=r(19);class a extends n.Helper{constructor(e){super(),this.left=e.left,this.right=e.right}emit(e,t,r){if(!r.pushValue)return e.visit(this.left,r),void e.visit(this.right,r);const s=e.context.analysis.getType(this.left),i=e.context.analysis.getType(this.right);void 0!==s&&void 0!==i?this.equalsEqualsType(e,t,r,s,i):this.equalsEqualsUnknown(e,t,r)}equalsEqualsType(e,t,r,i,n){s.tsUtils.type_.isOnly(i)&&s.tsUtils.type_.isOnly(n)&&s.tsUtils.type_.isSame(i,n)?e.emitHelper(t,r,e.helpers.equalsEqualsEquals({leftType:i,rightType:n})):(s.tsUtils.type_.hasNull(i)||s.tsUtils.type_.hasUndefined(i))&&(s.tsUtils.type_.isOnlyUndefined(n)||s.tsUtils.type_.isOnlyNull(n))?(e.visit(this.left,r),e.visit(this.right,e.noPushValueOptions(r)),e.emitHelper(t,r,e.helpers.isNullOrUndefined({type:n}))):s.tsUtils.type_.isOnlyNumberish(i)&&(s.tsUtils.type_.isOnlyStringish(n)||s.tsUtils.type_.isOnlyBooleanish(n))?(e.visit(this.left,r),e.visit(this.right,r),this.equalsEqualsLeftNumberRightBooleanOrString(e,t,r)):s.tsUtils.type_.isOnlyBooleanish(i)&&(s.tsUtils.type_.isOnlyStringish(n)||s.tsUtils.type_.isOnlyBooleanish(n))?(e.visit(this.left,r),e.emitHelper(this.left,r,e.helpers.toNumber({type:e.context.analysis.getType(this.left)})),e.emitHelper(this.left,r,e.helpers.wrapNumber),e.visit(this.right,r),this.equalsEqualsLeftNumberRightBooleanOrString(e,t,r)):(s.tsUtils.type_.isOnlyStringish(i)||s.tsUtils.type_.isOnlyBooleanish(i))&&s.tsUtils.type_.isOnlyNumberish(n)?(e.visit(this.left,r),e.visit(this.right,r),this.equalsEqualsRightNumberLeftBooleanOrString(e,t,r)):(s.tsUtils.type_.isOnlyStringish(i)||s.tsUtils.type_.isOnlyBooleanish(i))&&s.tsUtils.type_.isOnlyBooleanish(n)?(e.visit(this.left,r),e.visit(this.right,r),e.emitHelper(this.right,r,e.helpers.toNumber({type:e.context.analysis.getType(this.right)})),e.emitHelper(this.right,r,e.helpers.wrapNumber),this.equalsEqualsRightNumberLeftBooleanOrString(e,t,r)):this.equalsEqualsUnknown(e,t,r)}equalsEqualsLeftNumberRightBooleanOrString(e,t,r){e.emitHelper(this.right,r,e.helpers.toNumber({type:e.context.analysis.getType(this.right)})),e.emitHelper(this.right,r,e.helpers.wrapNumber),e.emitHelper(t,r,e.helpers.equalsEqualsEquals({leftType:void 0,leftKnownType:i.Types.Number,rightType:void 0,rightKnownType:i.Types.Number}))}equalsEqualsRightNumberLeftBooleanOrString(e,t,r){e.emitOp(t,"SWAP"),e.emitHelper(this.left,r,e.helpers.toNumber({type:e.context.analysis.getType(this.left)})),e.emitHelper(this.left,r,e.helpers.wrapNumber),e.emitOp(t,"SWAP"),e.emitHelper(t,r,e.helpers.equalsEqualsEquals({leftType:void 0,leftKnownType:i.Types.Number,rightType:void 0,rightKnownType:i.Types.Number}))}equalsEqualsUnknown(e,t,r){const s=()=>{e.emitOp(this.right,"SWAP"),e.emitOp(this.right,"TUCK"),e.emitOp(this.right,"OVER")};e.visit(this.left,r),e.visit(this.right,r);const i=[{condition:()=>{s(),e.emitHelper(t,r,e.helpers.equalsEqualsEquals({leftType:void 0,rightType:void 0}))},whenTrue:()=>{e.emitOp(t,"DROP"),e.emitOp(t,"DROP"),e.emitPushBoolean(t,!0)}},{condition:()=>{s(),e.emitHelper(t,r,e.helpers.isNullOrUndefined({type:void 0})),e.emitOp(t,"SWAP"),e.emitHelper(t,r,e.helpers.isNullOrUndefined({type:void 0})),e.emitOp(t,"BOOLOR")},whenTrue:()=>{e.emitHelper(t,r,e.helpers.isNullOrUndefined({type:void 0})),e.emitOp(t,"SWAP"),e.emitHelper(t,r,e.helpers.isNullOrUndefined({type:void 0})),e.emitOp(t,"EQUAL")}},{condition:()=>{s(),e.emitOp(t,"DUP"),e.emitHelper(this.right,r,e.helpers.isString),e.emitOp(t,"SWAP"),e.emitHelper(this.right,r,e.helpers.isBoolean),e.emitOp(t,"BOOLOR"),e.emitOp(t,"SWAP"),e.emitOp(t,"DUP"),e.emitHelper(this.right,r,e.helpers.isNumber),e.emitOp(t,"SWAP"),e.emitHelper(this.right,r,e.helpers.isBoolean),e.emitOp(t,"BOOLOR"),e.emitOp(t,"BOOLAND")},whenTrue:()=>{e.emitOp(t,"SWAP"),e.emitHelper(t,r,e.helpers.toNumber({type:e.context.analysis.getType(this.left)})),e.emitHelper(t,r,e.helpers.wrapNumber),e.emitOp(t,"SWAP"),this.equalsEqualsLeftNumberRightBooleanOrString(e,t,r)}},{condition:()=>{s(),e.emitOp(t,"SWAP"),e.emitOp(t,"DUP"),e.emitHelper(this.right,r,e.helpers.isString),e.emitOp(t,"SWAP"),e.emitHelper(this.right,r,e.helpers.isBoolean),e.emitOp(t,"BOOLOR"),e.emitOp(t,"SWAP"),e.emitOp(t,"DUP"),e.emitHelper(this.right,r,e.helpers.isNumber),e.emitOp(t,"SWAP"),e.emitHelper(this.right,r,e.helpers.isBoolean),e.emitOp(t,"BOOLOR"),e.emitOp(t,"BOOLAND")},whenTrue:()=>{e.emitHelper(t,r,e.helpers.toNumber({type:e.context.analysis.getType(this.right)})),e.emitHelper(t,r,e.helpers.wrapNumber),this.equalsEqualsRightNumberLeftBooleanOrString(e,t,r)}}];e.emitHelper(t,r,e.helpers.case(i,()=>{e.emitHelper(t,r,e.helpers.toPrimitive({type:e.context.analysis.getType(this.right)})),e.emitOp(t,"SWAP"),e.emitHelper(t,r,e.helpers.toPrimitive({type:e.context.analysis.getType(this.left)})),e.emitOp(t,"SWAP"),e.emitHelper(t,r,e.helpers.case(i,()=>{e.emitOp(t,"DROP"),e.emitOp(t,"DROP"),e.emitPushBoolean(t,!1)}))}))}}t.EqualsEqualsHelper=a},function(e,t,r){"use strict";
1Object.defineProperty(t,"__esModule",{value:!0}),t.LessThanHelper=void 0;const s=r(20),i=r(19);class n extends i.Helper{constructor(e){super(),this.leftFirst=e.leftFirst,this.left=e.left,this.right=e.right}emit(e,t,r){if(!r.pushValue)return void(this.leftFirst?(e.visit(this.left,r),e.visit(this.right,r)):(e.visit(this.right,r),e.visit(this.left,r)));const i=e.context.analysis.getType(this.left),n=e.context.analysis.getType(this.right);this.leftFirst?(e.visit(this.left,r),e.emitHelper(this.left,r,e.helpers.toPrimitive({type:i,preferredType:"number"})),e.visit(this.right,r),e.emitHelper(this.right,r,e.helpers.toPrimitive({type:n,preferredType:"number"}))):(e.visit(this.right,r),e.emitHelper(this.right,r,e.helpers.toPrimitive({type:n,preferredType:"number"})),e.visit(this.left,r),e.emitHelper(this.left,r,e.helpers.toPrimitive({type:i,preferredType:"number"})),e.emitOp(t,"SWAP")),void 0!==i&&void 0!==n&&s.tsUtils.type_.isOnlyStringish(i)&&s.tsUtils.type_.isOnlyStringish(n)?e.context.reportUnsupported(t):(e.emitHelper(this.right,r,e.helpers.toNumber({type:n})),e.emitOp(t,"SWAP"),e.emitHelper(this.left,r,e.helpers.toNumber({type:i})),e.emitOp(t,"SWAP"),e.emitOp(t,"LT"),r.pushValue||e.emitOp(t,"DROP"))}}t.LessThanHelper=n},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const s=r(18);s.__exportStar(r(729),t),s.__exportStar(r(730),t),s.__exportStar(r(731),t),s.__exportStar(r(732),t)},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CaseHelper=void 0;const s=r(19);class i extends s.Helper{constructor(e,t){super(),this.cases=e,this.defaultCase=t}emit(e,t,r){this.addCase(e,t,r)}addCase(e,t,r,s=0){s>=this.cases.length?this.defaultCase():e.emitHelper(t,r,e.helpers.if({condition:this.cases[s].condition,whenTrue:this.cases[s].whenTrue,whenFalse:()=>this.addCase(e,t,r,s+1)}))}}t.CaseHelper=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ForLoopHelper=void 0;const s=r(18).__importStar(r(34)),i=r(19);class n extends i.Helper{constructor({each:e,cleanup:t,condition:r,incrementor:s,handleReturn:i}){super(),this.each=e,this.condition=r,this.incrementor=s,this.handleReturn=void 0===i?t:i,this.cleanup=t}emit(e,t,r){e.withProgramCounter(i=>{void 0!==this.condition&&this.condition(),i.getFirst().equals(i.getCurrent())||e.emitJmp(t,"JMPIFNOT",i.getLast()),e.withProgramCounter(s=>{this.each(e.finallyPCOptions(e.breakPCOptions(e.continuePCOptions(e.noCatchPCOptions(r),s.getLast()),s.getLast()),s.getLast())),void 0!==this.incrementor&&this.incrementor(),e.emitJmp(t,"JMP",i.getFirst())}),e.emitOp(t,"DROP");const n=r=>()=>{e.emitOp(t,"DUP"),e.emitPushInt(t,r),e.emitOp(t,"NUMEQUAL")},a=e.scope.addUnique();e.emitHelper(t,r,e.helpers.case([{condition:n(s.THROW_COMPLETION),whenTrue:()=>{e.emitOp(t,"DROP"),e.scope.set(e,t,r,a),this.handleReturn(),e.scope.get(e,t,r,a),e.emitHelper(t,r,e.helpers.throwCompletionBase)}},{condition:n(s.NORMAL_COMPLETION),whenTrue:()=>{e.emitOp(t,"DROP"),e.scope.set(e,t,r,a),this.handleReturn(),e.scope.get(e,t,r,a),e.emitHelper(t,r,e.helpers.return)}},{condition:n(s.BREAK_COMPLETION),whenTrue:()=>{e.emitOp(t,"DROP"),e.emitOp(t,"DROP")}}],()=>{e.emitOp(t,"DROP"),e.emitOp(t,"DROP"),void 0!==this.incrementor&&this.incrementor(),e.emitJmp(t,"JMP",i.getFirst())}))}),this.cleanup()}}t.ForLoopHelper=n},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.IfHelper=void 0;const s=r(19);class i extends s.Helper{constructor({condition:e,whenTrue:t,whenFalse:r}){super(),this.condition=e,this.whenTrue=t,this.whenFalse=r}emit(e,t,r){this.condition();const{whenTrue:s,whenFalse:i}=this;if(void 0===s){if(void 0===i)throw new Error("If statement must have a true or false value");e.withProgramCounter(r=>{e.emitJmp(t,"JMPIF",r.getLast()),i()})}else e.withProgramCounter(r=>{e.withProgramCounter(i=>{e.emitJmp(t,"JMPIFNOT",i.getLast()),s(),void 0!==this.whenFalse&&e.emitJmp(t,"JMP",r.getLast())}),void 0!==this.whenFalse&&this.whenFalse()})}}t.IfHelper=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ProcessStatementsHelper=void 0;const s=r(20),i=r(19);class n extends i.Helper{constructor({createScope:e}){super(),this.createScope=e}emit(e,t,r){this.createScope?e.withScope(t,r,r=>{this.emitStatements(e,t,r)}):this.emitStatements(e,t,r)}emitStatements(e,t,r){s.tsUtils.statement.getFunctions(t).forEach(t=>{const r=s.tsUtils.node.getName(t);void 0!==r&&e.scope.add(r)}),s.tsUtils.statement.getVariableDeclarations(t).forEach(t=>{const r=s.tsUtils.node.getName(t);void 0!==r&&e.scope.add(r)}),s.tsUtils.statement.getStatements(t).forEach(t=>{e.visit(t,e.noValueOptions(r))})}}t.ProcessStatementsHelper=n},function(e,t,r){"use strict";
1Object.defineProperty(t,"__esModule",{value:!0});const s=r(18);s.__exportStar(r(734),t),s.__exportStar(r(735),t),s.__exportStar(r(736),t),s.__exportStar(r(737),t),s.__exportStar(r(738),t),s.__exportStar(r(739),t),s.__exportStar(r(740),t),s.__exportStar(r(741),t),s.__exportStar(r(742),t),s.__exportStar(r(743),t),s.__exportStar(r(744),t),s.__exportStar(r(745),t),s.__exportStar(r(746),t),s.__exportStar(r(747),t),s.__exportStar(r(748),t),s.__exportStar(r(749),t),s.__exportStar(r(750),t),s.__exportStar(r(751),t),s.__exportStar(r(752),t),s.__exportStar(r(753),t),s.__exportStar(r(754),t),s.__exportStar(r(755),t),s.__exportStar(r(756),t),s.__exportStar(r(757),t),s.__exportStar(r(758),t),s.__exportStar(r(759),t),s.__exportStar(r(760),t),s.__exportStar(r(761),t),s.__exportStar(r(762),t),s.__exportStar(r(763),t),s.__exportStar(r(764),t),s.__exportStar(r(765),t),s.__exportStar(r(766),t),s.__exportStar(r(767),t),s.__exportStar(r(65),t),s.__exportStar(r(768),t),s.__exportStar(r(769),t),s.__exportStar(r(770),t),s.__exportStar(r(771),t),s.__exportStar(r(772),t),s.__exportStar(r(37),t),s.__exportStar(r(773),t),s.__exportStar(r(774),t),s.__exportStar(r(775),t),s.__exportStar(r(776),t)},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.AtStructuredStorageHelper=void 0;const s=r(22),i=r(65);class n extends i.KeyStructuredStorageBaseHelper{emit(e,t,r){const i=e.pushValueOptions(r);e.emitHelper(t,i,e.helpers.unwrapKeyStructuredStorage({type:this.keyType,knownType:this.knownKeyType})),e.emitOp(t,"TUCK"),e.emitOp(t,"SWAP"),e.emitHelper(t,i,e.helpers.unwrapVal({type:this.type})),e.emitHelper(t,i,e.helpers.arrReduce({each:r=>{e.emitHelper(t,r,e.helpers.handlePrefixArrayStructuredStorage)}})),e.emitOp(t,"TUCK"),e.emitPushInt(t,s.StructuredStorageSlots.size),e.emitOp(t,"OVER"),e.emitPushInt(t,s.StructuredStorageSlots.size),e.emitOp(t,"PICKITEM"),e.emitPushInt(t,3),e.emitOp(t,"ROLL"),e.emitOp(t,"ARRAYSIZE"),e.emitOp(t,"ADD"),e.emitOp(t,"SETITEM"),e.emitHelper(t,i,e.helpers.wrapVal({type:this.type}))}}t.AtStructuredStorageHelper=n},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CacheStorageHelper=void 0;const s=r(22),i=r(19);class n extends i.Helper{constructor(){super(...arguments),this.needsGlobal=!0,this.needsGlobalOut=!0}emitGlobal(e,t,r){e.emitPushInt(t,s.GlobalProperty.CacheStorage),e.emitOp(t,"NEWMAP"),e.emitOp(t,"SETITEM")}emitGlobalOut(e,t,r){const i=e.pushValueOptions(r);e.emitPushInt(t,s.GlobalProperty.CacheStorage),e.emitOp(t,"PICKITEM"),e.emitSysCall(t,"Neo.Runtime.GetTrigger"),e.emitPushInt(t,16),e.emitHelper(t,i,e.helpers.if({condition:()=>{e.emitOp(t,"NUMEQUAL")},whenTrue:()=>{e.emitHelper(t,i,e.helpers.mapForEach({each:()=>{e.emitSysCall(t,"Neo.Storage.GetContext"),e.emitSysCall(t,"Neo.Storage.Put")}}))},whenFalse:()=>{e.emitOp(t,"DROP")}}))}emit(e,t,r){r.pushValue&&e.emitHelper(t,r,e.helpers.getGlobalProperty({property:s.GlobalProperty.CacheStorage}))}}t.CacheStorageHelper=n},function(e,t,r){"use strict";(function(e){Object.defineProperty(t,"__esModule",{value:!0}),t.CommonStorageHelper=void 0;const s=r(22),i=r(19);class n extends i.Helper{constructor(){super(...arguments),this.needsGlobal=!0,this.needsGlobalOut=!0}emitGlobal(t,r,i){const n=t.pushValueOptions(i);t.emitPushInt(r,s.GlobalProperty.CommonStorageSerialized),t.emitOp(r,"OVER"),t.emitPushInt(r,s.GlobalProperty.CommonStorage),t.emitPushBuffer(r,e.alloc(0,0)),t.emitHelper(r,n,t.helpers.getStorageBase),t.emitHelper(r,n,t.helpers.handleUndefinedStorage({handleUndefined:()=>{t.emitOp(r,"NEWMAP"),t.emitOp(r,"DUP"),t.emitSysCall(r,"Neo.Runtime.Serialize")},handleDefined:()=>{t.emitOp(r,"DUP"),t.emitSysCall(r,"Neo.Runtime.Deserialize"),t.emitOp(r,"SWAP")}})),t.emitPushInt(r,4),t.emitOp(r,"XTUCK"),t.emitOp(r,"DROP"),t.emitOp(r,"SETITEM"),t.emitOp(r,"SETITEM")}emitGlobalOut(t,r,i){const n=t.pushValueOptions(i);t.emitOp(r,"DUP"),t.emitPushInt(r,s.GlobalProperty.CommonStorageSerialized),t.emitOp(r,"PICKITEM"),t.emitOp(r,"SWAP"),t.emitPushInt(r,s.GlobalProperty.CommonStorage),t.emitOp(r,"PICKITEM"),t.emitSysCall(r,"Neo.Runtime.Serialize"),t.emitOp(r,"TUCK"),t.emitHelper(r,n,t.helpers.if({condition:()=>{t.emitOp(r,"EQUAL")},whenTrue:()=>{t.emitOp(r,"DROP")},whenFalse:()=>{t.emitSysCall(r,"Neo.Runtime.GetTrigger"),t.emitPushInt(r,16),t.emitHelper(r,n,t.helpers.if({condition:()=>{t.emitOp(r,"NUMEQUAL")},whenTrue:()=>{t.emitPushBuffer(r,e.alloc(0,0)),t.emitSysCall(r,"Neo.Storage.GetContext"),t.emitSysCall(r,"Neo.Storage.Put")},whenFalse:()=>{t.emitOp(r,"DROP")}}))}}))}
1emit(e,t,r){r.pushValue&&e.emitHelper(t,r,e.helpers.getGlobalProperty({property:s.GlobalProperty.CommonStorage}))}}t.CommonStorageHelper=n}).call(this,r(26).Buffer)},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CreateIterableIteratorStructuredStorageBaseHelper=void 0;const s=r(18),i=r(37);class n extends i.StructuredStorageBaseHelper{constructor(e){var{handleNext:t}=e;super(s.__rest(e,["handleNext"])),this.handleNext=t}emit(e,t,r){r.pushValue?(e.emitHelper(t,r,e.helpers.createIteratorStructuredStorage({type:this.type})),e.emitHelper(t,r,e.helpers.createIterableIteratorBase({handleNext:this.handleNext,hasFilter:!0}))):e.emitOp(t,"DROP")}}t.CreateIterableIteratorStructuredStorageBaseHelper=n},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CreateIterableIteratorStructuredStorageHelper=void 0;const s=r(37);class i extends s.StructuredStorageBaseHelper{emit(e,t,r){const s=e.pushValueOptions(r),i=e.scope.addUnique();e.emitOp(t,"DUP"),e.emitHelper(t,s,e.helpers.getStructuredStorageSize({type:this.type})),e.scope.set(e,t,s,i),e.emitHelper(t,r,e.helpers.createIterableIteratorStructuredStorageBase({type:this.type,handleNext:r=>
1{e.scope.get(e,t,r,i),e.emitHelper(t,e.pushValueOptions(r),e.helpers.handleValueStructuredStorage),e.emitOp(t,"ROT"),e.emitOp(t,"ROT"),e.emitPushInt(t,2),e.emitOp(t,"PACK"),e.emitHelper(t,r,e.helpers.wrapArray),e.emitOp(t,"SWAP")}}))}}t.CreateIterableIteratorStructuredStorageHelper=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CreateIteratorStructuredStorageHelper=void 0;const s=r(22),i=r(37);class n extends i.StructuredStorageBaseHelper{emit(e,t,r){r.pushValue?(e.emitHelper(t,r,e.helpers.unwrapVal({type:this.type})),e.emitPushInt(t,s.StructuredStorageSlots.prefix),e.emitOp(t,"PICKITEM"),e.emitHelper(t,r,e.helpers.iterStorage)):e.emitOp(t,"DROP")}}t.CreateIteratorStructuredStorageHelper=n},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CreateKeyIterableIteratorStructuredStorageHelper=void 0;const s=r(37);class i extends s.StructuredStorageBaseHelper{emit(e,t,r){const s=e.pushValueOptions(r),i=e.scope.addUnique();e.emitOp(t,"DUP"),e.emitHelper(t,s,e.helpers.getStructuredStorageSize({type:this.type})),e.scope.set(e,t,s,i),e.emitHelper(t,r,e.helpers.createIterableIteratorStructuredStorageBase({type:this.type,handleNext:r=>
1{e.scope.get(e,t,r,i),e.emitHelper(t,e.pushValueOptions(r),e.helpers.handleValueStructuredStorage),e.emitOp(t,"ROT"),e.emitOp(t,"DROP")}}))}}t.CreateKeyIterableIteratorStructuredStorageHelper=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CreateStructuredStorageHelper=void 0;const s=r(18),i=r(37);class n extends i.StructuredStorageBaseHelper{constructor(e){var{prefix:t}=e;super(s.__rest(e,["prefix"])),this.prefix=t}emit(e,t,r){r.pushValue?(e.emitPushInt(t,0),e.emitOp(t,"NEWARRAY"),e.emitPushInt(t,0),e.emitPushString(t,this.prefix),e.emitPushInt(t,3),e.emitOp(t,"PACK"),e.emitOp(t,"NEWSTRUCT"),e.emitHelper(t,r,e.helpers.wrapVal({type:this.type}))):e.emitOp(t,"DROP")}}t.CreateStructuredStorageHelper=n},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CreateValIterableIteratorStructuredStorageHelper=void 0;const s=r(37);class i extends s.StructuredStorageBaseHelper{emit(e,t,r){e.emitHelper(t,r,e.helpers.createIterableIteratorStructuredStorageBase({type:this.type,handleNext:r=>{e.emitHelper(t,e.pushValueOptions(r),e.helpers.handleValValueStructuredStorage)}}))}}t.CreateValIterableIteratorStructuredStorageHelper=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DeleteCacheStorageHelper=void 0;const s=r(22),i=r(19);class n extends i.Helper{constructor(){super(...arguments),this.needsGlobal=!0,this.needsGlobalOut=!0}emitGlobal(e,t,r){e.emitPushInt(t,s.GlobalProperty.DeleteCacheStorage),e.emitOp(t,"NEWMAP"),e.emitOp(t,"SETITEM")}emitGlobalOut(e,t,r){const i=e.pushValueOptions(r);e.emitPushInt(t,s.GlobalProperty.DeleteCacheStorage),e.emitOp(t,"PICKITEM"),e.emitSysCall(t,"Neo.Runtime.GetTrigger"),e.emitPushInt(t,16),e.emitHelper(t,i,e.helpers.if({condition:()=>{e.emitOp(t,"NUMEQUAL")},whenTrue:()=>{e.emitHelper(t,i,e.helpers.mapForEach({each:()=>{e.emitSysCall(t,"Neo.Storage.GetContext"),e.emitSysCall(t,"Neo.Storage.Delete"),e.emitOp(t,"DROP")}}))},whenFalse:()=>{e.emitOp(t,"DROP")}}))}emit(e,t,r){r.pushValue&&e.emitHelper(t,r,e.helpers.getGlobalProperty({property:s.GlobalProperty.DeleteCacheStorage}))}}t.DeleteCacheStorageHelper=n},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DeleteStorageBaseHelper=void 0;const s=r(19);class i extends s.Helper{emit(e,t,r){const s=e.pushValueOptions(r);e.emitHelper(t,s,e.helpers.cacheStorage),e.emitOp(t,"OVER"),e.emitOp(t,"REMOVE"),e.emitHelper(t,s,e.helpers.deleteCacheStorage),e.emitOp(t,"SWAP"),e.emitPushBoolean(t,!0),e.emitOp(t,"SETITEM")}}t.DeleteStorageBaseHelper=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DeleteStorageHelper=void 0;const s=r(19);class i extends s.Helper{emit(e,t,r){r.pushValue?(e.emitOp(t,"DUP"),e.emitHelper(t,r,e.helpers.getStorage),e.emitHelper(t,r,e.helpers.handleUndefinedStorage({handleUndefined:()=>{e.emitOp(t,"DROP"),e.emitPushBoolean(t,!1)},handleDefined:()=>{e.emitOp(t,"DROP"),e.emitHelper(t,r,e.helpers.deleteStorageBase),e.emitPushBoolean(t,!0)}}))):e.emitHelper(t,r,e.helpers.deleteStorageBase)}}t.DeleteStorageHelper=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DeleteStructuredStorageHelper=void 0;const s=r(65);class i extends s.KeyStructuredStorageBaseHelper{emit(e,t,r){const s=e.pushValueOptions(r);e.emitHelper(t,s,e.helpers.getKeyStructuredStorage({type:this.type,keyType:this.keyType,knownKeyType:this.knownKeyType})),e.emitHelper(t,r,e.helpers.deleteStorage),r.pushValue&&e.emitHelper(t,s,e.helpers.wrapBoolean)}}t.DeleteStructuredStorageHelper=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ForEachFuncStructuredStorageBaseHelper=void 0;const s=r(18),i=r(37);class n extends i.StructuredStorageBaseHelper{constructor(e){var{handleNext:t}=e;super(s.__rest(e,["handleNext"])),this.handleNext=t}emit(e,t,r){const s=e.pushValueOptions(r);e.emitOp(t,"SWAP"),e.emitHelper(t,s,e.helpers.createIteratorStructuredStorage({type:this.type})),e.emitOp(t,"SWAP"),e.emitHelper(t,s,e.helpers.rawIteratorForEachFuncBase({hasFilter:!0,handleNext:this.handleNext})),r.pushValue&&e.emitHelper(t,s,e.helpers.wrapUndefined)}}t.ForEachFuncStructuredStorageBaseHelper=n},function(e,t,r){"use strict";
1Object.defineProperty(t,"__esModule",{value:!0}),t.ForEachFuncStructuredStorageHelper=void 0;const s=r(37);class i extends s.StructuredStorageBaseHelper{emit(e,t,r){const s=e.pushValueOptions(r),i=e.scope.addUnique();e.emitOp(t,"OVER"),e.emitHelper(t,s,e.helpers.getStructuredStorageSize({type:this.type})),e.scope.set(e,t,s,i),e.emitHelper(t,r,e.helpers.forEachFuncStructuredStorageBase({type:this.type,handleNext:r=>{e.scope.get(e,t,r,i),e.emitHelper(t,e.pushValueOptions(r),e.helpers.handleValueStructuredStorage),e.emitOp(t,"SWAP"),e.emitOp(t,"ROT"),e.emitPushInt(t,2),e.emitOp(t,"PACK"),e.emitOp(t,"SWAP")}}))}}t.ForEachFuncStructuredStorageHelper=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ForEachKeyFuncStructuredStorageHelper=void 0;const s=r(37);class i extends s.StructuredStorageBaseHelper{emit(e,t,r){const s=e.pushValueOptions(r),i=e.scope.addUnique();e.emitOp(t,"OVER"),e.emitHelper(t,s,e.helpers.getStructuredStorageSize({type:this.type})),e.scope.set(e,t,s,i),e.emitHelper(t,r,e.helpers.forEachFuncStructuredStorageBase({type:this.type,handleNext:r=>
1{e.scope.get(e,t,r,i),e.emitHelper(t,r,e.helpers.handleValueStructuredStorage),e.emitOp(t,"SWAP"),e.emitOp(t,"ROT"),e.emitOp(t,"DROP"),e.emitPushInt(t,1),e.emitOp(t,"PACK"),e.emitOp(t,"SWAP")}}))}}t.ForEachKeyFuncStructuredStorageHelper=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ForEachKeyStructuredStorageHelper=void 0;const s=r(18),i=r(37);class n extends i.StructuredStorageBaseHelper{constructor(e){var{each:t}=e;super(s.__rest(e,["each"])),this.each=t}emit(e,t,r){e.emitHelper(t,r,e.helpers.forEachStructuredStorage({type:this.type,each:r=>{e.emitOp(t,"NIP"),this.each(e.noPushValueOptions(r))}}))}}t.ForEachKeyStructuredStorageHelper=n},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ForEachStructuredStorageBaseHelper=void 0;const s=r(18),i=r(37);class n extends i.StructuredStorageBaseHelper{constructor(e){var{each:t}=e;super(s.__rest(e,["each"])),this.each=t}emit(e,t,r){const s=e.pushValueOptions(r);e.emitHelper(t,s,e.helpers.createIteratorStructuredStorage({type:this.type})),e.emitHelper(t,s,e.helpers.rawIteratorForEachBase({each:this.each})),s.pushValue&&e.emitHelper(t,s,e.helpers.wrapUndefined)}}t.ForEachStructuredStorageBaseHelper=n},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ForEachStructuredStorageHelper=void 0;const s=r(18),i=r(37);class n extends i.StructuredStorageBaseHelper{constructor(e){var{each:t}=e;super(s.__rest(e,["each"])),this.each=t}emit(e,t,r){const s=e.pushValueOptions(r),i=e.scope.addUnique();e.emitOp(t,"DUP"),e.emitHelper(t,s,e.helpers.getStructuredStorageSize({type:this.type})),e.scope.set(e,t,s,i),e.emitHelper(t,r,e.helpers.forEachStructuredStorageBase({type:this.type,each:r=>{e.scope.get(e,t,r,i),e.emitHelper(t,e.pushValueOptions(r),e.helpers.if({condition:()=>{e.emitHelper(t,e.pushValueOptions(r),e.helpers.handleValueStructuredStorage)},whenTrue:()=>{this.each(e.noPushValueOptions(r))},whenFalse:()=>{e.emitOp(t,"DROP"),e.emitOp(t,"DROP")}}))}}))}}t.ForEachStructuredStorageHelper=n},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ForEachValStructuredStorageHelper=void 0;const s=r(18),i=r(37);class n extends i.StructuredStorageBaseHelper{constructor(e){var{each:t}=e;super(s.__rest(e,["each"])),this.each=t}emit(e,t,r){e.emitHelper(t,r,e.helpers.forEachStructuredStorageBase({type:this.type,each:r=>{e.emitHelper(t,e.pushValueOptions(r),e.helpers.if({condition:()=>{e.emitHelper(t,e.pushValueOptions(r),e.helpers.handleValValueStructuredStorage)},whenTrue:()=>{this.each(e.noPushValueOptions(r))},whenFalse:()=>{e.emitOp(t,"DROP")}}))}}))}}t.ForEachValStructuredStorageHelper=n},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.GetArrayStorageLengthHelper=void 0;const s=r(22),i=r(19);class n extends i.Helper{emit(e,t,r){const i=e.pushValueOptions(r);e.emitHelper(t,i,e.helpers.unwrapArrayStorage),e.emitPushInt(t,s.StructuredStorageSlots.prefix),e.emitOp(t,"PICKITEM"),e.emitHelper(t,i,e.helpers.getCommonStorage),e.emitHelper(t,i,e.helpers.handleUndefinedStorage({handleUndefined:()=>{e.emitPushInt(t,0)},handleDefined:()=>{}}))}}t.GetArrayStorageLengthHelper=n},function(e,t,r){"use strict";(function(e){Object.defineProperty(t,"__esModule",{value:!0}),t.GetCommonStorageHelper=void 0;const s=r(19);class i extends s.Helper{emit(t,r,s){s.pushValue&&(t.emitHelper(r,s,t.helpers.commonStorage),t.emitOp(r,"TUCK"),t.emitOp(r,"OVER"),t.emitHelper(r,s,t.helpers.if({condition:()=>{t.emitOp(r,"HASKEY")},whenTrue:()=>{t.emitOp(r,"PICKITEM")},whenFalse:()=>{t.emitOp(r,"DROP"),t.emitOp(r,"DROP"),t.emitPushBuffer(r,e.alloc(0,0))}})))}}t.GetCommonStorageHelper=i}).call(this,r(26).Buffer)},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.GetKeyStructuredStorageHelper=void 0;const s=r(22),i=r(65);class n extends i.KeyStructuredStorageBaseHelper{emit(e,t,r){const i=e.pushValueOptions(r);e.emitHelper(t,i,e.helpers.unwrapKeyStructuredStorage({type:this.keyType,knownType:this.knownKeyType})),e.emitOp(t,"SWAP"),e.emitHelper(t,i,e.helpers.unwrapVal({type:this.t
1ype})),e.emitPushInt(t,s.StructuredStorageSlots.prefix),e.emitOp(t,"PICKITEM"),e.emitHelper(t,i,e.helpers.arrReduce({each:()=>{e.emitOp(t,"SWAP"),e.emitSysCall(t,"Neo.Runtime.Serialize"),e.emitOp(t,"CAT")}}))}}t.GetKeyStructuredStorageHelper=n},function(e,t,r){"use strict";(function(e){Object.defineProperty(t,"__esModule",{value:!0}),t.GetStorageBaseHelper=void 0;const s=r(19);class i extends s.Helper{emit(t,r,s){const i=t.pushValueOptions(s);t.emitSysCall(r,"Neo.Storage.GetReadOnlyContext"),t.emitSysCall(r,"Neo.Storage.Find"),t.emitOp(r,"DUP"),t.emitHelper(r,i,t.helpers.if({condition:()=>{t.emitSysCall(r,"Neo.Enumerator.Next")},whenTrue:()=>{t.emitSysCall(r,"Neo.Enumerator.Value")},whenFalse:()=>{t.emitOp(r,"DROP"),t.emitPushBuffer(r,e.alloc(0,0))}})),s.pushValue||t.emitOp(r,"DROP")}}t.GetStorageBaseHelper=i}).call(this,r(26).Buffer)},function(e,t,r){"use strict";(function(e){Object.defineProperty(t,"__esModule",{value:!0}),t.GetStorageHelper=void 0;const s=r(19);class i extends s.Helper{emit(t,r,s){s.pushValue?(t.emitHelper(r,s,t.helpers.deleteCacheStorage),t.emitOp(r,"OVER"),t.emitHelper(r,s,t.helpers.if({condition:()=>{t.emitOp(r,"HASKEY")},whenTrue:()=>{t.emitOp(r,"DROP"),t.emitPushBuffer(r,e.alloc(0,0))},whenFalse:()=>{t.emitHelper(r,s,t.helpers.cacheStorage),t.emitOp(r,"TUCK"),t.emitOp(r,"OVER"),t.emitHelper(r,s,t.helpers.if({condition:()=>{t.emitOp(r,"HASKEY")},whenTrue:()=>{t.emitOp(r,"PICKITEM")},whenFalse:()=>{t.emitOp(r,"NIP"),t.emitHelper(r,s,t.helpers.getStorageBase)}}))}}))):t.emitOp(r,"DROP")}}t.GetStorageHelper=i}).call(this,r(26).Buffer)},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.GetStructuredStorageHelper=void 0;const s=r(65);class i extends s.KeyStructuredStorageBaseHelper{emit(e,t,r){const s=e.pushValueOptions(r);e.emitHelper(t,s,e.helpers.getKeyStructuredStorage({type:this.type,keyType:this.keyType,knownKeyType:this.knownKeyType})),e.emitHelper(t,s,e.helpers.getStorage),e.emitHelper(t,s,e.helpers.handleUndefinedStorage({handleUndefined:()=>{e.emitHelper(t,s,e.helpers.wrapUndefined)},handleDefined:()=>{e.emitSysCall(t,"Neo.Runtime.Deserialize"),e.emitPushInt(t,1),e.emitOp(t,"PICKITEM")}})),r.pushValue||e.emitOp(t,"DROP")}}t.GetStructuredStorageHelper=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.GetStructuredStorageSizeHelper=void 0;const s=r(22),i=r(37);class n extends i.StructuredStorageBaseHelper{emit(e,t,r){r.pushValue?(e.emitHelper(t,r,e.helpers.unwrapVal({type:this.type})),e.emitPushInt(t,s.StructuredStorageSlots.size),e.emitOp(t,"PICKITEM")):e.emitOp(t,"DROP")}}t.GetStructuredStorageSizeHelper=n},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.HandlePrefixArrayStructuredStorageHelper=void 0;const s=r(22),i=r(19);class n extends i.Helper{emit(e,t,r){const i=e.pushValueOptions(r);e.emitOp(t,"DUP"),e.emitPushInt(t,s.StructuredStorageSlots.prefix),e.emitOp(t,"PICKITEM"),e.emitOp(t,"ROT"),e.emitOp(t,"TUCK"),e.emitSysCall(t,"Neo.Runtime.Serialize"),e.emitOp(t,"CAT"),e.emitOp(t,"ROT"),e.emitOp(t,"DUP"),e.emitPushInt(t,s.StructuredStorageSlots.prefixArray),e.emitOp(t,"OVER"),e.emitPushInt(t,s.StructuredStorageSlots.prefixArray),e.emitOp(t,"PICKITEM"),e.emitHelper(t,i,e.helpers.cloneArray),e.emitOp(t,"DUP"),e.emitPushInt(t,6),e.emitOp(t,"ROLL"),e.emitOp(t,"APPEND"),e.emitOp(t,"SETITEM"),e.emitOp(t,"TUCK"),e.emitPushInt(t,s.StructuredStorageSlots.prefix),e.emitOp(t,"ROT"),e.emitOp(t,"SETITEM")}}t.HandlePrefixArrayStructuredStorageHelper=n},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.HandlePrefixKeyStructuredStorageHelper=void 0;const s=r(19);class i extends s.Helper{emit(e,t,r){if(!r.pushValue)return e.emitOp(t,"DROP"),void e.emitOp(t,"DROP");e.emitOp(t,"SWAP"),e.emitHelper(t,r,e.helpers.unwrapArray),e.emitOp(t,"SWAP"),e.emitHelper(t,r,e.helpers.arrLeft),e.emitHelper(t,r,e.helpers.if({condition:()=>{e.emitOp(t,"DUP"),e.emitOp(t,"ARRAYSIZE"),e.emitPushInt(t,1),e.emitOp(t,"NUMEQUAL")},whenTrue:()=>{e.emitPushInt(t,0),e.emitOp(t,"PICKITEM")},whenFalse:()=>{e.emitHelper(t,r,e.helpers.wrapArray)}}))}}t.HandlePrefixKeyStructuredStorageHelper=i},function(e,t,r){"use strict";
1(function(e){Object.defineProperty(t,"__esModule",{value:!0}),t.HandleUndefinedStorageHelper=void 0;const s=r(19);class i extends s.Helper{constructor({handleUndefined:e,handleDefined:t}){super(),this.handleUndefined=e,this.handleDefined=t}emit(t,r,s){const i=t.pushValueOptions(s);t.emitHelper(r,i,t.helpers.if({condition:()=>{t.emitOp(r,"DUP"),t.emitPushBuffer(r,e.alloc(0,0)),t.emitOp(r,"EQUAL")},whenTrue:()=>{t.emitOp(r,"DROP"),this.handleUndefined()},whenFalse:()=>{this.handleDefined()}}))}}t.HandleUndefinedStorageHelper=i}).call(this,r(26).Buffer)},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.HandleValValueStructuredStorageHelper=void 0;const s=r(19);class i extends s.Helper{emit(e,t,r){r.pushValue?(e.emitOp(t,"DUP"),e.emitSysCall(t,"Neo.Iterator.Key"),e.emitHelper(t,r,e.helpers.if({condition:()=>{e.emitHelper(t,r,e.helpers.deleteCacheStorage),e.emitOp(t,"SWAP"),e.emitOp(t,"HASKEY")},whenTrue:()=>{e.emitPushBoolean(t,!1)},whenFalse:()=>{e.emitSysCall(t,"Neo.Enumerator.Value"),e.emitSysCall(t,"Neo.Runtime.Deserialize"),e.emitPushInt(t,1),e.emitOp(t,"PICKITEM"),e.emitPushBoolean(t,!0)}}))):e.emitOp(t,"DROP")}}t.HandleValValueStructuredStorageHelper=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.HandleValueStructuredStorageHelper=void 0;const s=r(19);class i extends s.Helper{emit(e,t,r){if(!r.pushValue)return e.emitOp(t,"DROP"),void e.emitOp(t,"DROP");e.emitOp(t,"SWAP"),e.emitOp(t,"DUP"),e.emitSysCall(t,"Neo.Iterator.Key"),e.emitHelper(t,r,e.helpers.if({condition:()=>{e.emitHelper(t,r,e.helpers.deleteCacheStorage),e.emitOp(t,"SWAP"),e.emitOp(t,"HASKEY")},whenTrue:()=>{e.emitPushBoolean(t,!1)},whenFalse:()=>{e.emitSysCall(t,"Neo.Enumerator.Value"),e.emitSysCall(t,"Neo.Runtime.Deserialize"),e.emitOp(t,"UNPACK"),e.emitOp(t,"DROP"),e.emitOp(t,"ROT"),e.emitHelper(t,r,e.helpers.handlePrefixKeyStructuredStorage),e.emitPushBoolean(t,!0)}}))}}t.HandleValueStructuredStorageHelper=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.HasStructuredStorageHelper=void 0;const s=r(65);class i extends s.KeyStructuredStorageBaseHelper{emit(e,t,r){if(!r.pushValue)return e.emitOp(t,"DROP"),void e.emitOp(t,"DROP");e.emitHelper(t,r,e.helpers.getKeyStructuredStorage({type:this.type,keyType:this.keyType,knownKeyType:this.knownKeyType})),e.emitHelper(t,r,e.helpers.getStorage),e.emitHelper(t,r,e.helpers.handleUndefinedStorage({handleUndefined:()=>{e.emitPushBoolean(t,!1),e.emitHelper(t,r,e.helpers.wrapBoolean)},handleDefined:()=>{e.emitOp(t,"DROP"),e.emitPushBoolean(t,!0),e.emitHelper(t,r,e.helpers.wrapBoolean)}}))}}t.HasStructuredStorageHelper=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.IterStorageHelper=void 0;const s=r(19);class i extends s.Helper{emit(e,t,r){const s=e.pushValueOptions(r);e.emitOp(t,"DUP"),e.emitSysCall(t,"Neo.Storage.GetReadOnlyContext"),e.emitSysCall(t,"Neo.Storage.Find"),e.emitOp(t,"SWAP");const i=e.scope.addUnique();e.scope.set(e,t,s,i),e.emitHelper(t,s,e.helpers.cacheStorage),e.emitHelper(t,s,e.helpers.mapFilter({map:r=>{e.emitOp(t,"NIP"),e.scope.get(e,t,r,i),e.emitOp(t,"TUCK"),e.emitOp(t,"SIZE"),e.emitOp(t,"LEFT"),e.emitOp(t,"EQUAL")}})),e.emitSysCall(t,"Neo.Iterator.Create"),e.emitSysCall(t,"Neo.Iterator.Concat")}}t.IterStorageHelper=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.PutArrayStorageLengthHelper=void 0;const s=r(22),i=r(19);class n extends i.Helper{emit(e,t,r){const i=e.pushValueOptions(r);e.emitOp(t,"SWAP"),e.emitHelper(t,i,e.helpers.unwrapArrayStorage),e.emitPushInt(t,s.StructuredStorageSlots.prefix),e.emitOp(t,"PICKITEM"),e.emitHelper(t,i,e.helpers.putCommonStorage)}}t.PutArrayStorageLengthHelper=n},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.PutCommonStorageHelper=void 0;const s=r(19);class i extends s.Helper{emit(e,t,r){const s=e.pushValueOptions(r);e.emitOp(t,"SWAP"),e.emitHelper(t,s,e.helpers.commonStorage),e.emitOp(t,"ROT"),e.emitOp(t,"ROT"),e.emitOp(t,"SETITEM")}}t.PutCommonStorageHelper=i},function(e,t,r){"use strict";
1Object.defineProperty(t,"__esModule",{value:!0}),t.PutStorageHelper=void 0;const s=r(19);class i extends s.Helper{emit(e,t,r){const s=e.pushValueOptions(r);e.emitOp(t,"TUCK"),e.emitHelper(t,s,e.helpers.cacheStorage),e.emitOp(t,"SWAP"),e.emitOp(t,"ROT"),e.emitOp(t,"SETITEM"),e.emitHelper(t,s,e.helpers.deleteCacheStorage),e.emitOp(t,"SWAP"),e.emitOp(t,"REMOVE")}}t.PutStorageHelper=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SetArrayStorageHelper=void 0;const s=r(22),i=r(19);class n extends i.Helper{emit(e,t,r){const i=e.pushValueOptions(r);e.emitOp(t,"ROT"),e.emitOp(t,"DUP"),e.emitHelper(t,i,e.helpers.getArrayStorageLength),e.emitPushInt(t,3),e.emitOp(t,"PICK"),e.emitHelper(t,i,e.helpers.if({condition:()=>{e.emitOp(t,"LTE")},whenTrue:()=>{e.emitOp(t,"DUP"),e.emitPushInt(t,3),e.emitOp(t,"PICK"),e.emitOp(t,"INC"),e.emitHelper(t,i,e.helpers.putArrayStorageLength)}})),e.emitOp(t,"ROT"),e.emitHelper(t,i,e.helpers.wrapNumber),e.emitOp(t,"ROT"),e.emitHelper(t,i,e.helpers.setStructuredStorage({type:s.Types.ArrayStorage,keyType:void 0,knownKeyType:s.Types.Number}))}}t.SetArrayStorageHelper=n},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SetStructuredStorageHelper=void 0;const s=r(22),i=r(65);class n extends i.KeyStructuredStorageBaseHelper{emit(e,t,r){const i=e.pushValueOptions(r);e.emitOp(t,"SWAP"),e.emitHelper(t,i,e.helpers.unwrapKeyStructuredStorage({type:this.keyType,knownType:this.knownKeyType})),e.emitOp(t,"ROT"),e.emitHelper(t,i,e.helpers.unwrapVal({type:this.type})),e.emitHelper(t,i,e.helpers.arrReduce({each:r=>{e.emitHelper(t,r,e.helpers.handlePrefixArrayStructuredStorage)}})),e.emitOp(t,"DUP"),e.emitPushInt(t,s.StructuredStorageSlots.prefix),e.emitOp(t,"PICKITEM"),e.emitOp(t,"SWAP"),e.emitPushInt(t,s.StructuredStorageSlots.prefixArray),e.emitOp(t,"PICKITEM"),e.emitHelper(t,i,e.helpers.wrapArray),e.emitOp(t,"ROT"),e.emitOp(t,"SWAP"),e.emitPushInt(t,2),e.emitOp(t,"PACK"),e.emitSysCall(t,"Neo.Runtime.Serialize"),e.emitOp(t,"SWAP"),e.emitHelper(t,i,e.helpers.putStorage)}}t.SetStructuredStorageHelper=n},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.StructuredStorageReduceBaseHelper=void 0;const s=r(18),i=r(37);class n extends i.StructuredStorageBaseHelper{constructor(e){var{each:t}=e;super(s.__rest(e,["each"])),this.each=t}emit(e,t,r){const s=e.pushValueOptions(r);e.emitOp(t,"SWAP"),e.emitHelper(t,s,e.helpers.createIteratorStructuredStorage({type:this.type})),e.emitOp(t,"SWAP"),e.emitHelper(t,r,e.helpers.rawIteratorReduceBase({each:this.each}))}}t.StructuredStorageReduceBaseHelper=n},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.StructuredStorageReduceHelper=void 0;const s=r(18),i=r(37);class n extends i.StructuredStorageBaseHelper{constructor(e){var{each:t}=e;super(s.__rest(e,["each"])),this.each=t}emit(e,t,r){const s=e.pushValueOptions(r),i=e.scope.addUnique();e.emitOp(t,"OVER"),e.emitHelper(t,s,e.helpers.getStructuredStorageSize({type:this.type})),e.scope.set(e,t,s,i),e.emitHelper(t,r,e.helpers.structuredStorageReduceBase({type:this.type,each:r=>{e.emitOp(t,"SWAP"),e.scope.get(e,t,r,i),e.emitHelper(t,s,e.helpers.if({condition:()=>{e.emitHelper(t,r,e.helpers.handleValueStructuredStorage)},whenTrue:()=>{e.emitOp(t,"ROT"),this.each(r)},whenFalse:()=>{e.emitOp(t,"DROP"),e.emitOp(t,"DROP")}}))}}))}}t.StructuredStorageReduceHelper=n},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.StructuredStorageReduceValHelper=void 0;const s=r(18),i=r(37);class n extends i.StructuredStorageBaseHelper{constructor(e){var{each:t}=e;super(s.__rest(e,["each"])),this.each=t}emit(e,t,r){e.emitHelper(t,r,e.helpers.structuredStorageReduceBase({type:this.type,each:r=>{e.emitOp(t,"SWAP"),e.emitHelper(t,r,e.helpers.if({condition:()=>{e.emitHelper(t,r,e.helpers.handleValValueStructuredStorage)},whenTrue:()=>{e.emitOp(t,"SWAP"),this.each(r)},whenFalse:()=>{e.emitOp(t,"DROP")}}))}}))}}t.StructuredStorageReduceValHelper=n},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.UnwrapKeyStructuredStorageHelper=void 0;const s=r(44);class i extends s.TypedHelper{emit(e,t,r){const s=e.pushValueOptions(r),i=()=>{e.emitPushInt(t,1),e.emitOp(t,"PACK")};
1e.emitHelper(t,s,e.helpers.forBuiltinType({type:this.type,knownType:this.knownType,array:r=>{e.emitHelper(t,r,e.helpers.unwrapArray)},map:i,set:i,boolean:i,buffer:i,null:i,number:i,object:i,string:i,symbol:i,undefined:i,arrayStorage:i,mapStorage:i,setStorage:i,error:i,forwardValue:i,iteratorResult:i,iterable:i,iterableIterator:i,transaction:i,output:i,attribute:i,input:i,account:i,asset:i,contract:i,header:i,block:i}))}}t.UnwrapKeyStructuredStorageHelper=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const s=r(18);s.__exportStar(r(778),t),s.__exportStar(r(234),t),s.__exportStar(r(861),t),s.__exportStar(r(862),t),s.__exportStar(r(863),t)},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DiagnosticScriptBuilder=void 0;const s=r(229),i=r(155);class n extends i.BaseScriptBuilder{constructor(){super(...arguments),this.mutableCapturedHelpersSet=new Set}emitHelper(e,t,r){this.mutableCapturedHelpersSet.has(r)||(this.mutableCapturedHelpersSet.add(r),r.emitGlobal(this,e,t)),r.emit(this,e,t)}emitOp(){}emitPushInt(){}emitPushBoolean(){}emitPushString(){}emitPushBuffer(){}emitJmp(){}emitBytecode(){}emitCall(){}emitSysCall(){}emitLine(){}getLinkedScriptHash(){}createScope(){return new s.DiagnosticScope}}t.DiagnosticScriptBuilder=n},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CapturingScope=void 0;const s=r(230);t.CapturingScope=class{constructor(e,t,r){this.node=e,this.index=t,this.parent=r,this.mutableVariableCount=0,this.bindings=new Set}add(e){return this.mutableVariableCount+=1,this.bindings.add(e),{nameBrand:0}}addUnique(){return this.mutableVariableCount+=1,{nameBrand:0}}set(e,t){e.emitOp(t,"NOP")}get(e,t){e.emitOp(t,"NOP")}getThis(e,t){e.emitOp(t,"NOP")}getGlobal(e,t){e.emitOp(t,"NOP")}setGlobal(e,t){e.emitOp(t,"NOP")}pushAll(e,t){e.emitOp(t,"NOP")}emit(e,t,r,s){e.emitOp(t,"NOP"),s(r),e.emitOp(t,"NOP")}resolve(e){return new s.ResolvedScope(this.mutableVariableCount,e)}}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DiagnosticScope=void 0;const s={nameBrand:0};t.DiagnosticScope=class{add(){return s}addUnique(){return s}set(){}get(){}getThis(){}getGlobal(){}setGlobal(){}pushAll(){}emit(e,t,r,s){s(r)}}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0})},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.declarations=void 0;const s=r(783),i=r(784),n=r(785),a=r(786),o=r(787),l=r(788),p=r(789),c=r(790),u=r(791),d=r(792);t.declarations=[s.ClassDeclarationCompiler,i.EnumDeclarationCompiler,n.ExportAssignmentCompiler,a.ExportDeclarationCompiler,o.FunctionDeclarationCompiler,l.ImportDeclarationCompiler,p.InterfaceDeclarationCompiler,c.TypeAliasDeclarationCompiler,u.VariableDeclarationCompiler,d.VariableDeclarationListCompiler]},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ClassDeclarationCompiler=void 0;const s=r(18),i=r(20),n=s.__importDefault(r(21)),a=r(32),o=r(33),l=r(22),p=r(23);class c extends p.NodeCompiler{constructor(){super(...arguments),this.kind=n.default.SyntaxKind.ClassDeclaration}visitNode(e,t,r){if(e.context.analysis.isSmartContract(t))return;let s=e.pushValueOptions(e.noSuperClassOptions(r));const p=e.scope.add(i.tsUtils.node.getNameOrThrow(t)),c=i.tsUtils.class_.getExtends(t);let u;void 0!==c&&(u=e.scope.addUnique(),s=e.superClassOptions(s,u),e.visit(i.tsUtils.expression.getExpression(c),s),e.scope.set(e,c,s,u));const d=u,m=(t,r,s,a)=>{const o=i.tsUtils.node.getNameNode(t);if(n.default.isComputedPropertyName(o)){const n=i.tsUtils.expression.getExpression(o),l=r=>{e.emitOp(t,"DROP"),e.emitHelper(t,r,e.helpers.throwTypeError)},p=r=>{e.emitHelper(t,r,e.helpers.unwrapString),s(r)},c=r=>{e.emitHelper(t,r,e.helpers.unwrapSymbol),a(r)};e.visit(n,e.pushValueOptions(r)),e.emitHelper(n,r,e.helpers.forBuiltinType({type:e.context.analysis.getType(n),array:l,arrayStorage:l,boolean:l,buffer:l,null:l,number:l,object:l,string:p,symbol:c,undefined:l,map:l,mapStorage:l,set:l,setStorage:l,error:l,forwardValue:l,iteratorResult:l,iterable:l,iterableIterator:l,transaction:l,output:l,attribute:l,input:l,account:l,asset:l,contract:l,header:l,block:l}))}else e.emitPushString(t,i.tsUtils.node.getName(t)),s(r)},h=(t,r)=>{const s=i.tsUtils.initializer.getInitializer(t),n=void 0===s?t:s;
1e.emitOp(n,"DUP"),m(t,r,t=>{void 0===s?e.emitHelper(n,e.pushValueOptions(t),e.helpers.wrapUndefined):e.visit(s,e.pushValueOptions(t)),e.emitHelper(n,r,e.helpers.setDataPropertyObjectProperty)},t=>{void 0===s?e.emitHelper(n,e.pushValueOptions(t),e.helpers.wrapUndefined):e.visit(s,e.pushValueOptions(t)),e.emitHelper(n,r,e.helpers.setDataSymbolObjectProperty)})};e.emitHelper(t,s,e.helpers.createConstructArray({withScope:!0,body:r=>{const s=e.pushValueOptions(r),a=i.tsUtils.class_.getConcreteConstructor(t),o=void 0===a?t:a;void 0!==a?e.emitHelper(a,s,e.helpers.parameters({params:i.tsUtils.parametered.getParameters(a)})):void 0!==d&&void 0!==c?(e.scope.getThis(e,c,s),e.scope.get(e,c,s,d),e.emitHelper(c,e.noPushValueOptions(s),e.helpers.invokeConstruct())):e.emitOp(t,"DROP"),e.scope.getThis(e,o,s),i.tsUtils.class_.getConcreteInstanceProperties(t).filter(n.default.isPropertyDeclaration).forEach(e=>{h(e,s)}),e.emitOp(o,"DROP"),void 0!==a&&e.visit(i.tsUtils.body.getBodyOrThrow(a),e.noPushValueOptions(s))}})),e.emitHelper(t,s,e.helpers.createFunctionObject({property:l.InternalObjectProperty.Construct})),e.emitOp(t,"DUP"),e.emitPushString(t,"prototype"),e.emitOp(t,"OVER"),e.emitHelper(t,s,e.helpers.createObject),e.emitOp(t,"TUCK"),e.emitPushString(t,"constructor"),e.emitOp(t,"ROT"),e.emitHelper(t,s,e.helpers.setDataPropertyObjectProperty);const f=t=>{const r=r=>{e.emitHelper(t,r,e.helpers.createCallArray),e.emitHelper(t,r,e.helpers.createFunctionObject({property:l.InternalObjectProperty.Call}))};e.emitOp(t,"DUP"),m(t,s,s=>{r(s),e.emitHelper(t,s,e.helpers.setDataPropertyObjectProperty)},s=>{r(s),e.emitHelper(t,s,e.helpers.setDataSymbolObjectProperty)})};i.tsUtils.class_.getConcreteInstanceMethods(t).forEach(e=>{f(e)}),i.tsUtils.class_.getConcreteMembers(t).forEach(t=>{const r=i.tsUtils.decoratable.getDecoratorsArray(t);r.length>0&&e.context.reportError(r[0],a.DiagnosticCode.UnsupportedSyntax,o.DiagnosticMessage.UnsupportedDecorator)});const y=t=>{const r=r=>{e.emitHelper(t,r,e.helpers.createCallArray),e.emitHelper(t,r,e.helpers.createFunctionObject({property:l.InternalObjectProperty.Call}));const s=i.tsUtils.accessor.getGetAccessor(t),n=void 0!==s;return void 0!==s&&(e.emitHelper(s,r,e.helpers.createCallArray),e.emitHelper(s,r,e.helpers.createFunctionObject({property:l.InternalObjectProperty.Call}))),n};e.emitOp(t,"DUP"),m(t,s,i=>{const n=r(i);e.emitHelper(t,s,e.helpers.setAccessorPropertyObjectProperty({hasSet:!0,hasGet:n}))},i=>{const n=r(i);e.emitHelper(t,s,e.helpers.setAccessorSymbolObjectProperty({hasSet:!0,hasGet:n}))})};i.tsUtils.class_.getConcreteInstanceMembers(t).filter(n.default.isSetAccessor).forEach(e=>{y(e)});const g=t=>{const r=r=>{e.emitHelper(t,r,e.helpers.createCallArray),e.emitHelper(t,r,e.helpers.createFunctionObject({property:l.InternalObjectProperty.Call}))};e.emitOp(t,"DUP"),m(t,s,i=>{r(i),e.emitHelper(t,s,e.helpers.setAccessorPropertyObjectProperty({hasSet:!1,hasGet:!0}))},i=>{r(i),e.emitHelper(t,s,e.helpers.setAccessorSymbolObjectProperty({hasSet:!1,hasGet:!0}))})};i.tsUtils.class_.getConcreteInstanceMembers(t).filter(n.default.isGetAccessor).filter(e=>
1void 0===i.tsUtils.accessor.getSetAccessor(e)).forEach(e=>{g(e)}),void 0!==d&&void 0!==c&&(e.emitOp(c,"DUP"),e.emitPushString(c,"__proto__"),e.scope.get(e,c,s,d),e.emitPushString(c,"prototype"),e.emitHelper(c,s,e.helpers.getPropertyObjectProperty),e.emitHelper(c,s,e.helpers.setDataPropertyObjectProperty)),e.emitHelper(t,s,e.helpers.setDataPropertyObjectProperty),i.tsUtils.class_.getConcreteStaticProperties(t).filter(n.default.isPropertyDeclaration).forEach(e=>{h(e,s)}),i.tsUtils.class_.getConcreteStaticMethods(t).forEach(e=>{f(e)}),i.tsUtils.class_.getConcreteStaticMembers(t).filter(n.default.isSetAccessor).forEach(e=>{y(e)}),i.tsUtils.class_.getConcreteStaticMembers(t).filter(n.default.isGetAccessor).filter(e=>void 0===i.tsUtils.accessor.getSetAccessor(e)).forEach(e=>{g(e)}),void 0!==d&&void 0!==c&&(e.emitOp(c,"DUP"),e.emitPushString(c,"__proto__"),e.scope.get(e,c,s,d),e.emitHelper(c,s,e.helpers.setDataPropertyObjectProperty)),(i.tsUtils.modifier.isNamedExport(t)||i.tsUtils.modifier.isDefaultExport(t))&&(e.emitOp(t,"DUP"),e.emitHelper(t,s,e.helpers.exportSingle({name:i.tsUtils.modifier.isNamedExport(t)?i.tsUtils.node.getNameOrThrow(t):void 0,defaultExport:i.tsUtils.modifier.isDefaultExport(t)}))),e.scope.set(e,t,s,p)}}t.ClassDeclarationCompiler=c},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.EnumDeclarationCompiler=void 0;const s=r(18).__importDefault(r(21)),i=r(23);class n extends i.NodeCompiler{constructor(){super(...arguments),this.kind=s.default.SyntaxKind.EnumDeclaration}visitNode(e,t,r){e.context.reportUnsupported(t)}}t.EnumDeclarationCompiler=n},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ExportAssignmentCompiler=void 0;const s=r(18),i=r(20),n=s.__importDefault(r(21)),a=r(23);class o extends a.NodeCompiler{constructor(){super(...arguments),this.kind=n.default.SyntaxKind.ExportAssignment}visitNode(e,t,r){if(i.tsUtils.importExport.isExportEquals(t))e.context.reportUnsupported(t);else{const s=e.pushValueOptions(r);e.visit(i.tsUtils.expression.getExpression(t),s),e.emitHelper(t,s,e.helpers.exportSingle({defaultExport:!0}))}}}t.ExportAssignmentCompiler=o},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ExportDeclarationCompiler=void 0;const s=r(18),i=r(20),n=s.__importDefault(r(21)),a=r(23);class o extends a.NodeCompiler{constructor(){super(...arguments),this.kind=n.default.SyntaxKind.ExportDeclaration}visitNode(e,t,r){const s=e.pushValueOptions(r),n=e=>{let t=i.tsUtils.node.getName(e);const r=i.tsUtils.importExport.getAliasName(e);return void 0!==r&&(t=r),t},a=e=>i.tsUtils.node.getName(e),o=i.tsUtils.importExport.getModuleSpecifierSourceFile(e.context.typeChecker,t);e.emitHelper(t,s,e.helpers.getCurrentModule),void 0===o?i.tsUtils.exportDeclaration.getNamedExports(t).filter(t=>i.tsUtils.exportSpecifier.getLocalTargetDeclarations(e.context.typeChecker,t).some(e=>!i.tsUtils.declaration.isAmbient(e))).filter(t=>{const r=e.context.analysis.getSymbol(t);return void 0!==r&&i.tsUtils.symbol.getDeclarations(r).some(e=>!i.tsUtils.declaration.isAmbient(e))}).forEach(r=>{e.emitOp(t,"DUP"),e.scope.get(e,t,s,n(r)),e.emitHelper(t,s,e.helpers.export({name:a(r)}))}):(e.loadModule(o),i.tsUtils.exportDeclaration.getNamedExports(t).filter(t=>e.hasExport(o,n(t))).forEach(r=>{e.emitOp(t,"SWAP"),e.emitOp(t,"TUCK"),e.emitOp(t,"OVER"),e.emitPushString(t,n(r)),e.emitOp(t,"PICKITEM"),e.emitHelper(t,s,e.helpers.export({name:a(r)}))}),e.emitOp(t,"DROP")),e.emitOp(t,"DROP")}}t.ExportDeclarationCompiler=o},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.FunctionDeclarationCompiler=void 0;const s=r(18).__importDefault(r(21)),i=r(23);class n extends i.NodeCompiler{constructor(){super(...arguments),this.kind=s.default.SyntaxKind.FunctionDeclaration}visitNode(e,t,r){e.emitHelper(t,r,e.helpers.functionLike)}}t.FunctionDeclarationCompiler=n},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ImportDeclarationCompiler=void 0;const s=r(18),i=r(20),n=s.__importDefault(r(21)),a=r(23);class o extends a.NodeCompiler{constructor(){super(...arguments),this.kind=n.default.SyntaxKind.ImportDeclaration}visitNode(e,t,r){const s=e.pushValueOptions(r),n=i.tsUtils.importExport.getModuleSpecifierSourceFile(e.context.typeChecker,t);if(void 0===n)return;if(i.tsUtils.file.isDeclarationFile(n))return;if(!i.tsUtils.importExport.hasValueReference(e.context.program,e.context.languageService,t))return;e.loadModule(n);const a=i.tsUtils.importDeclaration.getNamespaceImportIdentifier(t);if(void 0!==a){const r=a.getText();e.scope.add(r),e.emitHelper(t,s,e.helpers.createPropertyObject),e.scope.set(e,t,s,r)}else{const r=i.tsUtils.importDeclaration.getDefaultImport(t),a=this.getExportedNamedImports(e,t,n);if(void 0!==r){a.length>0&&e.emitOp(t,"DUP"),e.emitPushString(t,"default"),e.emitOp(t,"PICKITEM");const i=r.getText();e.scope.add(i),e.scope.set(e,t,s,i)}a.length>
10&&(a.forEach(r=>{const n=this.getImportName(r);e.emitOp(t,"DUP"),e.emitPushString(t,n),e.emitOp(t,"PICKITEM");const a=i.tsUtils.node.getName(r);e.scope.add(a),e.scope.set(e,t,s,a)}),e.emitOp(t,"DROP"))}}getExportedNamedImports(e,t,r){return i.tsUtils.importDeclaration.getNamedImports(t).filter(t=>e.hasExport(r,this.getImportName(t)))}getImportName(e){const t=i.tsUtils.node.getPropertyNameNode(e);return void 0===t?i.tsUtils.node.getName(e):i.tsUtils.node.getText(t)}}t.ImportDeclarationCompiler=o},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.InterfaceDeclarationCompiler=void 0;const s=r(18).__importDefault(r(21)),i=r(23);class n extends i.NodeCompiler{constructor(){super(...arguments),this.kind=s.default.SyntaxKind.InterfaceDeclaration}visitNode(e,t,r){}}t.InterfaceDeclarationCompiler=n},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TypeAliasDeclarationCompiler=void 0;const s=r(18).__importDefault(r(21)),i=r(23);class n extends i.NodeCompiler{constructor(){super(...arguments),this.kind=s.default.SyntaxKind.TypeAliasDeclaration}visitNode(e,t,r){}}t.TypeAliasDeclarationCompiler=n},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.VariableDeclarationCompiler=void 0;const s=r(18),i=r(20),n=s.__importDefault(r(21)),a=r(44),o=r(23);class l extends o.NodeCompiler{constructor(){super(...arguments),this.kind=n.default.SyntaxKind.VariableDeclaration}visitNode(e,t,r){const s=i.tsUtils.node.getNameNode(t),o=i.tsUtils.initializer.getInitializer(t);if(n.default.isIdentifier(s))return e.scope.add(i.tsUtils.node.getText(s)),void 0===o?r.setValue||e.emitHelper(t,e.pushValueOptions(r),e.helpers.wrapUndefined):(e.visit(o,e.pushValueOptions(r)),n.default.isIdentifier(s)&&a.handleTypeAssignment(e.context,o,t)),void e.scope.set(e,t,r,i.tsUtils.node.getText(s));void 0!==o&&(n.default.isArrayBindingPattern(s)?e.emitHelper(s,r,e.helpers.arrayBinding({type:e.context.analysis.getType(o),value:o})):e.emitHelper(s,r,e.helpers.objectBinding({type:e.context.analysis.getType(o),value:o})))}}t.VariableDeclarationCompiler=l},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.VariableDeclarationListCompiler=void 0;const s=r(18),i=r(20),n=s.__importDefault(r(21)),a=r(23);class o extends a.NodeCompiler{constructor(){super(...arguments),this.kind=n.default.SyntaxKind.VariableDeclarationList}visitNode(e,t,r){i.tsUtils.variable.getDeclarations(t).forEach(t=>{e.visit(t,r)})}}t.VariableDeclarationListCompiler=o},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.expressions=void 0;const s=r(794),i=r(795),n=r(796),a=r(797),o=r(798),l=r(799),p=r(800),c=r(801),u=r(802),d=r(803),m=r(804),h=r(805),f=r(806),y=r(807),g=r(808),O=r(809),S=r(810),b=r(811),P=r(812),v=r(813),C=r(814),x=r(815),T=r(816),_=r(817),H=r(818),w=r(819),I=r(820),A=r(821),E=r(822),M=r(823),U=r(824),D=r(825),N=r(826),R=r(827),B=r(828),V=r(829);t.expressions=[s.ArrayLiteralExpressionCompiler,i.ArrowFunctionCompiler,n.AsExpressionCompiler,a.AwaitExpressionCompiler,o.BinaryExpressionCompiler,l.TrueBooleanLiteralCompiler,l.FalseBooleanLiteralCompiler,p.CallExpressionCompiler,c.ConditionalExpressionCompiler,u.DeleteExpressionCompiler,d.ElementAccessExpressionCompiler,m.FunctionExpressionCompiler,h.IdentifierCompiler,f.ImportExpressionCompiler,y.MetaPropertyCompiler,g.NewExpressionCompiler,O.NonNullExpressionCompiler,S.NoSubstitutionTemplateLiteralCompiler,b.NullLiteralCompiler,P.NumericLiteralCompiler,v.ObjectLiteralExpressionCompiler,C.OmittedExpressionCompiler,x.ParenthesizedExpressionCompiler,T.PartiallyEmittedExpressionCompiler,_.PostfixUnaryExpressionCompiler,H.PrefixUnaryExpressionCompiler,w.PropertyAccessExpressionCompiler,I.RegularExpressionLiteralCompiler,A.StringLiteralCompiler,E.SuperExpressionCompiler,U.TemplateExpressionCompiler,M.TaggedTemplateExpressionCompiler,D.ThisExpressionCompiler,N.TypeAssertionCompiler,R.TypeOfExpressionCompiler,B.VoidExpressionCompiler,V.YieldExpressionCompiler]},function(e,t,r){"use strict";
1Object.defineProperty(t,"__esModule",{value:!0}),t.ArrayLiteralExpressionCompiler=void 0;const s=r(18).__importDefault(r(21)),i=r(23);class n extends i.NodeCompiler{constructor(){super(...arguments),this.kind=s.default.SyntaxKind.ArrayLiteralExpression}visitNode(e,t,r){const s=e.pushValueOptions(r);e.emitHelper(t,s,e.helpers.args),e.emitHelper(t,s,e.helpers.wrapArray),r.pushValue||e.emitOp(t,"DROP")}}t.ArrayLiteralExpressionCompiler=n},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ArrowFunctionCompiler=void 0;const s=r(18).__importDefault(r(21)),i=r(22),n=r(23);class a extends n.NodeCompiler{constructor(){super(...arguments),this.kind=s.default.SyntaxKind.ArrowFunction}visitNode(e,t,r){r.pushValue&&(e.scope.getThis(e,t,r),e.emitHelper(t,r,e.helpers.createCallArray),e.emitHelper(t,r,e.helpers.bindFunctionThis({overwrite:!0})),e.emitHelper(t,r,e.helpers.createFunctionObject({property:i.InternalObjectProperty.Call})))}}t.ArrowFunctionCompiler=a},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.AsExpressionCompiler=void 0;const s=r(18),i=r(20),n=s.__importDefault(r(21)),a=r(23);class o extends a.NodeCompiler{constructor(){super(...arguments),this.kind=n.default.SyntaxKind.AsExpression}visitNode(e,t,r){const s=e.context.analysis.getType(t,{error:!1});void 0!==r.cast&&void 0===s?e.visit(i.tsUtils.expression.getExpression(t),r):e.visit(i.tsUtils.expression.getExpression(t),e.castOptions(r,s))}}t.AsExpressionCompiler=o},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.AwaitExpressionCompiler=void 0;const s=r(18).__importDefault(r(21)),i=r(23);class n extends i.NodeCompiler{constructor(){super(...arguments),this.kind=s.default.SyntaxKind.AwaitExpression}visitNode(e,t){e.context.reportUnsupported(t)}}t.AwaitExpressionCompiler=n},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.BinaryExpressionCompiler=void 0;const s=r(18),i=r(20),n=r(25),a=s.__importDefault(r(21)),o=r(56),l=r(44),p=r(23);class c extends p.NodeCompiler{constructor(){super(...arguments),this.kind=a.default.SyntaxKind.BinaryExpression}visitNode(e,t,r){const s=i.tsUtils.expression.getOperatorToken(t).kind;switch(s){case a.default.SyntaxKind.EqualsToken:case a.default.SyntaxKind.PlusEqualsToken:case a.default.SyntaxKind.MinusEqualsToken:case a.default.SyntaxKind.AsteriskAsteriskEqualsToken:case a.default.SyntaxKind.AsteriskEqualsToken:case a.default.SyntaxKind.SlashEqualsToken:case a.default.SyntaxKind.PercentEqualsToken:case a.default.SyntaxKind.AmpersandEqualsToken:case a.default.SyntaxKind.BarEqualsToken:case a.default.SyntaxKind.CaretEqualsToken:case a.default.SyntaxKind.LessThanLessThanEqualsToken:case a.default.SyntaxKind.GreaterThanGreaterThanGreaterThanEqualsToken:case a.default.SyntaxKind.GreaterThanGreaterThanEqualsToken:this.visitAssignmentOperator(e,s,t,r);break;case a.default.SyntaxKind.AsteriskToken:case a.default.SyntaxKind.SlashToken:case a.default.SyntaxKind.PercentToken:case a.default.SyntaxKind.PlusToken:case a.default.SyntaxKind.MinusToken:case a.default.SyntaxKind.GreaterThanGreaterThanToken:case a.default.SyntaxKind.LessThanLessThanToken:case a.default.SyntaxKind.LessThanToken:case a.default.SyntaxKind.LessThanEqualsToken:case a.default.SyntaxKind.GreaterThanToken:case a.default.SyntaxKind.GreaterThanEqualsToken:case a.default.SyntaxKind.ExclamationEqualsToken:case a.default.SyntaxKind.EqualsEqualsToken:case a.default.SyntaxKind.AmpersandToken:case a.default.SyntaxKind.BarToken:case a.default.SyntaxKind.CaretToken:case a.default.SyntaxKind.GreaterThanGreaterThanGreaterThanToken:case a.default.SyntaxKind.InKeyword:case a.default.SyntaxKind.InstanceOfKeyword:case a.default.SyntaxKind.CommaToken:case a.default.SyntaxKind.AsteriskAsteriskToken:case a.default.SyntaxKind.EqualsEqualsEqualsToken:case a.default.SyntaxKind.ExclamationEqualsEqualsToken:this.visitExpressionOperator(e,s,t,r);break;case a.default.SyntaxKind.AmpersandAmpersandToken:case a.default.SyntaxKind.BarBarToken:case a.default.SyntaxKind.QuestionQuestionToken:this.visitLogicalExpressionOperator(e,s,t,r);break;default:n.utils.assertNever(s)}}visitAssignmentOperator(e,t,r,s){const o=i.tsUtils.expression.getLeft(r),p=i.tsUtils.expression.getRight(r),c=i.tsUtils.expression.getOperatorToken(r),u=e.pushValueOptions(s);switch(t){case a.default.SyntaxKind.EqualsToken:e.visit(p,u);break;case a.default.SyntaxKind.PlusEqualsToken:this.visitExpressionOperatorBase(e,c,a.default.SyntaxKind.PlusToken,o,p,u);break;case a.default.SyntaxKind.MinusEqualsToken:this.visitExpressionOperatorBase(e,c,a.default.SyntaxKind.MinusToken,o,p,u);break;
1case a.default.SyntaxKind.AsteriskAsteriskEqualsToken:this.visitExpressionOperatorBase(e,c,a.default.SyntaxKind.AsteriskAsteriskToken,o,p,u);break;case a.default.SyntaxKind.AsteriskEqualsToken:this.visitExpressionOperatorBase(e,c,a.default.SyntaxKind.AsteriskToken,o,p,u);break;case a.default.SyntaxKind.SlashEqualsToken:this.visitExpressionOperatorBase(e,c,a.default.SyntaxKind.SlashToken,o,p,u);break;case a.default.SyntaxKind.PercentEqualsToken:this.visitExpressionOperatorBase(e,c,a.default.SyntaxKind.PercentToken,o,p,u);break;case a.default.SyntaxKind.AmpersandEqualsToken:this.visitExpressionOperatorBase(e,c,a.default.SyntaxKind.AmpersandToken,o,p,u);break;case a.default.SyntaxKind.BarEqualsToken:this.visitExpressionOperatorBase(e,c,a.default.SyntaxKind.BarToken,o,p,u);break;case a.default.SyntaxKind.CaretEqualsToken:this.visitExpressionOperatorBase(e,c,a.default.SyntaxKind.CaretToken,o,p,u);break;case a.default.SyntaxKind.LessThanLessThanEqualsToken:this.visitExpressionOperatorBase(e,c,a.default.SyntaxKind.LessThanLessThanToken,o,p,u);break;case a.default.SyntaxKind.GreaterThanGreaterThanGreaterThanEqualsToken:this.visitExpressionOperatorBase(e,c,a.default.SyntaxKind.GreaterThanGreaterThanGreaterThanToken,o,p,u);break;case a.default.SyntaxKind.GreaterThanGreaterThanEqualsToken:this.visitExpressionOperatorBase(e,c,a.default.SyntaxKind.GreaterThanGreaterThanToken,o,p,u);break;default:n.utils.assertNever(t)}l.handleTypeAssignment(e.context,p,o),e.visit(i.tsUtils.expression.getLeft(r),e.setValueOptions(s))}visitExpressionOperator(e,t,r,s){this.visitExpressionOperatorBase(e,i.tsUtils.expression.getOperatorToken(r),t,i.tsUtils.expression.getLeft(r),i.tsUtils.expression.getRight(r),s)}visitLogicalExpressionOperator(e,t,r,s){this.visitLogicalExpressionOperatorBase(e,i.tsUtils.expression.getOperatorToken(r),t,i.tsUtils.expression.getLeft(r),i.tsUtils.expression.getRight(r),s)}visitExpressionOperatorBase(e,t,r,s,o,l){const p=e.pushValueOptions(l),c=e.context.analysis.getType(s),u=e.context.analysis.getType(o),d=(t,r)=>{e.visit(s,p),e.emitHelper(s,p,t({type:c})),e.visit(o,p),e.emitHelper(o,p,(void 0===r?t:r)({type:u}))},m=()=>d(e.helpers.toNumber),h=void 0!==c&&i.tsUtils.type_.isOnlyNumberish(c)&&void 0!==u&&i.tsUtils.type_.isOnlyNumberish(u);switch(r){case a.default.SyntaxKind.AsteriskToken:m(),e.emitOp(t,"MUL"),e.emitHelper(t,p,e.helpers.wrapNumber);break;case a.default.SyntaxKind.SlashToken:m(),e.emitOp(t,"DIV"),e.emitHelper(t,p,e.helpers.wrapNumber);break;case a.default.SyntaxKind.PercentToken:m(),e.emitOp(t,"MOD"),e.emitHelper(t,p,e.helpers.wrapNumber);break;case a.default.SyntaxKind.PlusToken:h?(m(),e.emitOp(t,"ADD"),e.emitHelper(t,p,e.helpers.wrapNumber)):void 0!==c&&i.tsUtils.type_.isOnlyStringish(c)&&void 0!==u&&i.tsUtils.type_.isOnlyStringish(u)?(d(()=>e.helpers.unwrapString),e.emitOp(t,"CAT"),e.emitHelper(t,p,e.helpers.wrapString)):void 0!==c&&i.tsUtils.type_.isOnlyStringish(c)?(d(()=>e.helpers.unwrapString,e.helpers.toString),e.emitOp(t,"CAT"),e.emitHelper(t,p,e.helpers.wrapString)):void 0!==u&&i.tsUtils.type_.isOnlyStringish(u)?(d(e.helpers.toString,()=>e.helpers.unwrapString),e.emitOp(t,"CAT"),e.emitHelper(t,p,e.helpers.wrapString)):(d(e.helpers.toPrimitive),e.emitOp(t,"SWAP"),e.emitOp(t,"TUCK"),e.emitOp(t,"OVER"),e.emitHelper(t,p,e.helpers.isString),e.emitOp(t,"SWAP"),e.emitHelper(t,p,e.helpers.isString),e.emitHelper(t,p,e.helpers.if({condition:()=>{e.emitOp(t,"BOOLOR")},whenTrue:()=>{e.emitHelper(t,p,e.helpers.toString({type:e.context.analysis.getType(o)})),e.emitOp(t,"SWAP"),e.emitHelper(t,p,e.helpers.toString({type:e.context.analysis.getType(s)})),e.emitOp(t,"SWAP"),e.emitOp(t,"CAT"),e.emitHelper(t,p,e.helpers.wrapString)},whenFalse:()=>{e.emitHelper(t,p,e.helpers.toNumber({type:e.context.analysis.getType(o)})),e.emitOp(t,"SWAP"),e.emitHelper(t,p,e.helpers.toNumber({type:e.context.analysis.getType(s)})),e.emitOp(t,"SWAP"),e.emitOp(t,"ADD"),e.emitHelper(t,p,e.helpers.wrapNumber)}})));break;case a.default.SyntaxKind.MinusToken:m(),e.emitOp(t,"SUB"),e.emitHelper(t,p,e.helpers.wrapNumber);break;case a.default.SyntaxKind.GreaterThanGreaterThanToken:case a.default.SyntaxKind.GreaterThanGreaterThanGreaterThanToken:m(),e.emitOp(t,"SHR"),e.emitHelper(t,p,e.helpers.wrapNumber);break;case a.default.SyntaxKind.LessThanLessThanToken:m(),e.emitOp(t,"SHL"),e.emitHelper(t,p,e.helpers.wrapNumber);break;case a.default.SyntaxKind.LessThanToken:e.emitHelper(t,p,e.helpers.lessThan({leftFirst:!0,left:s,right:o})),e.emitHelper(t,p,e.helpers.wrapBoolean);break;case a.default.SyntaxKind.LessThanEqualsToken:e.emitHelper(t,p,e.helpers.lessThan({leftFirst:!1,left:o,right:s})),e.emitOp(t,"NOT"),e.emitHelper(t,p,e.helpers.wrapBoolean);break;case a.default.SyntaxKind.GreaterThanToken:e.emitHelper(t,p,e.helpers.lessThan({leftFirst:!1,left:o,right:s})),e.emitHelper(t,p,e.helpers.wrapBoolean);break;case a.default.SyntaxKind.GreaterThanEqualsToken:e.emitHelper(t,p,e.helpers.lessThan({leftFirst:!0,left:s,right:o})),e.emitOp(t,"NOT"),e.emitHelper(t,p,e.helpers.wrapBoolean);break;case a.default.SyntaxKind.ExclamationEqualsToken:e.emitHelper(t,p,e.helpers.equalsEquals({left:s,right:o})),e.emitOp(t,"NOT"),e.emitHelper(t,p,e.helpers.wrapBoolean);break;case a.default.SyntaxKind.EqualsEqualsToken:e.emitHelper(t,p,e.helpers.equalsEquals({left:s,right:o})),e.emitHelper(t,p,e.helpers.wrapBoolean);break;case a.default.SyntaxKind.AmpersandToken:m(),e.emitOp(t,"AND"),e.emitHelper(t,p,e.helpers.wrapNumber);break;case a.default.SyntaxKind.BarToken:m(),e.emitOp(t,"OR"),e.emitHelper(t,p,e.helpers.wrapNumber);break;case a.default.SyntaxKind.CaretToken:m(),e.emitOp(t,"XOR"),e.emitHelper(t,p,e.helpers.wrapNumber);break;case a.default.SyntaxKind.InKeyword:e.visit(o,p),e.visit(s,p),e.emitHelper(t,p,e.helpers.inObjectProperty({propType:c})),e.emitHelper(t,p,e.helpers.wrapBoolean);break;case a.default.SyntaxKind.InstanceOfKeyword:this.handleInstanceOf(e,t,s,o,p);break;case a.default.SyntaxKind.CommaToken:e.visit(s,p),e.emitOp(t,"DROP"),e.visit(o,p);break;
1case a.default.SyntaxKind.AsteriskAsteriskToken:m(),e.emitHelper(t,p,e.helpers.exp),e.emitHelper(t,p,e.helpers.wrapNumber);break;case a.default.SyntaxKind.EqualsEqualsEqualsToken:e.visit(s,p),e.visit(o,p),e.emitHelper(t,p,e.helpers.equalsEqualsEquals({leftType:c,rightType:u})),e.emitHelper(t,p,e.helpers.wrapBoolean);break;case a.default.SyntaxKind.ExclamationEqualsEqualsToken:e.visit(s,p),e.visit(o,p),e.emitHelper(t,p,e.helpers.equalsEqualsEquals({leftType:c,rightType:u})),e.emitOp(t,"NOT"),e.emitHelper(t,p,e.helpers.wrapBoolean);break;default:n.utils.assertNever(r)}l.pushValue||e.emitOp(t,"DROP")}visitLogicalExpressionOperatorBase(e,t,r,s,i,o){switch(r){case a.default.SyntaxKind.AmpersandAmpersandToken:e.emitHelper(t,o,e.helpers.if({condition:()=>{e.visit(s,e.pushValueOptions(o)),o.pushValue&&e.emitOp(s,"DUP"),e.emitHelper(s,e.pushValueOptions(o),e.helpers.toBoolean({type:e.context.analysis.getType(s)}))},whenTrue:()=>{o.pushValue&&e.emitOp(t,"DROP"),e.visit(i,o)}}));break;case a.default.SyntaxKind.BarBarToken:e.emitHelper(t,o,e.helpers.if({condition:()=>{e.visit(s,e.pushValueOptions(o)),o.pushValue&&e.emitOp(s,"DUP"),e.emitHelper(s,e.pushValueOptions(o),e.helpers.toBoolean({type:e.context.analysis.getType(s)}))},whenFalse:()=>{o.pushValue&&e.emitOp(t,"DROP"),e.visit(i,o)}}));break;case a.default.SyntaxKind.QuestionQuestionToken:e.emitHelper(t,o,e.helpers.if({condition:()=>{e.visit(s,e.pushValueOptions(o)),o.pushValue&&e.emitOp(s,"DUP"),e.emitHelper(s,e.pushValueOptions(o),e.helpers.toNullishBoolean({type:e.context.analysis.getType(s)}))},whenFalse:()=>{o.pushValue&&e.emitOp(t,"DROP"),e.visit(i,o)},whenTrue:()=>{o.pushValue&&e.emitOp(t,"DROP"),e.visit(s,o)}}));break;default:n.utils.assertNever(r)}}handleInstanceOf(e,t,r,s,i){const n=e.context.builtins.getValue(s);void 0!==n&&o.isBuiltinInstanceOf(n)?n.emitInstanceOf(e,r,i):(e.visit(r,i),e.visit(s,i),e.emitHelper(t,i,e.helpers.instanceof),e.emitHelper(t,i,e.helpers.wrapBoolean))}}t.BinaryExpressionCompiler=c},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.FalseBooleanLiteralCompiler=t.TrueBooleanLiteralCompiler=t.BooleanLiteralCompiler=void 0;const s=r(18).__importDefault(r(21)),i=r(23);class n extends i.NodeCompiler{visitNode(e,t,r){r.pushValue&&(e.emitPushBoolean(t,this.value),e.emitHelper(t,r,e.helpers.wrapBoolean))}}t.BooleanLiteralCompiler=n;t.TrueBooleanLiteralCompiler=class extends n{constructor(){super(...arguments),this.kind=s.default.SyntaxKind.TrueKeyword,this.value=!0}};t.FalseBooleanLiteralCompiler=class extends n{constructor(){super(...arguments),this.kind=s.default.SyntaxKind.FalseKeyword,this.value=!1}}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CallExpressionCompiler=void 0;const s=r(18).__importDefault(r(21)),i=r(23);class n extends i.NodeCompiler{constructor(){super(...arguments),this.kind=s.default.SyntaxKind.CallExpression}visitNode(e,t,r){e.emitHelper(t,r,e.helpers.callLike)}}t.CallExpressionCompiler=n},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ConditionalExpressionCompiler=void 0;const s=r(18),i=r(20),n=s.__importDefault(r(21)),a=r(23);class o extends a.NodeCompiler{constructor(){super(...arguments),this.kind=n.default.SyntaxKind.ConditionalExpression}visitNode(e,t,r){e.emitHelper(t,r,e.helpers.if({condition:()=>{const s=i.tsUtils.expression.getCondition(t);e.visit(s,e.pushValueOptions(r)),e.emitHelper(s,e.pushValueOptions(r),e.helpers.toBoolean({type:e.context.analysis.getType(s)}))},whenTrue:()=>{e.visit(i.tsUtils.expression.getWhenTrue(t),r)},whenFalse:()=>{e.visit(i.tsUtils.expression.getWhenFalse(t),r)}}))}}t.ConditionalExpressionCompiler=o},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DeleteExpressionCompiler=void 0;const s=r(18).__importDefault(r(21)),i=r(23);class n extends i.NodeCompiler{constructor(){super(...arguments),this.kind=s.default.SyntaxKind.DeleteExpression}visitNode(e,t,r){e.context.reportUnsupported(t)}}t.DeleteExpressionCompiler=n},function(e,t,r){"use strict";
1Object.defineProperty(t,"__esModule",{value:!0}),t.ElementAccessExpressionCompiler=void 0;const s=r(18),i=r(20),n=s.__importDefault(r(21)),a=r(32),o=r(33),l=r(56),p=r(22),c=r(23);class u extends c.NodeCompiler{constructor(){super(...arguments),this.kind=n.default.SyntaxKind.ElementAccessExpression}visitNode(e,t,r){const s=n.default.isOptionalChain(t),c=i.tsUtils.expression.getExpression(t),u=e.context.analysis.getType(c),d=i.tsUtils.expression.getArgumentExpressionOrThrow(t),m=e.context.analysis.getType(d),h=(s,i)=>{l.isBuiltinInstanceMemberValue(s)?s.emitValue(e,t,r,i):l.isBuiltinMemberValue(s)?s.emitValue(e,t,r):r.setValue?e.context.reportError(d,a.DiagnosticCode.InvalidBuiltinModify,o.DiagnosticMessage.CannotModifyBuiltin):e.context.reportError(d,a.DiagnosticCode.InvalidBuiltinReference,o.DiagnosticMessage.CannotReferenceBuiltinProperty)},f=e.context.builtins.getMember(c,d);if(void 0!==f)return void h(f,!1);const y=(r,s=!1)=>e.context.builtins.getMembers(r,l.isBuiltinInstanceMemberValue,()=>!0,s).map(([r,s])=>({condition:()=>{e.emitOp(d,"DUP"),e.emitPushString(d,r),e.emitOp(d,"EQUAL")},whenTrue:()=>{e.emitOp(t,"DROP"),h(s,!0)}})),g=r=>{e.emitOp(t,"DROP"),e.emitHelper(t,r,e.helpers.throwTypeError)},O=r=>{e.emitOp(t,"DROP"),g(r)},S=r=>{s?(r=>{e.emitOp(t,"DROP"),e.emitHelper(t,r,e.helpers.wrapUndefined)})(r):g(r)},b=(t,r,s)=>i=>{e.visit(d,i),e.emitHelper(d,i,e.helpers.forBuiltinType({type:m,array:O,arrayStorage:O,boolean:O,buffer:O,null:O,number:r,object:O,string:t,symbol:s,undefined:O,map:O,mapStorage:O,set:O,setStorage:O,error:O,forwardValue:O,iteratorResult:O,iterable:O,iterableIterator:O,transaction:O,output:O,attribute:O,input:O,account:O,asset:O,contract:O,header:O,block:O}))},P=r=>{const s=s=>{e.emitHelper(t,s,e.helpers.case(y(r,!1),()=>{O(s)}))};return b(t=>{e.emitHelper(d,t,e.helpers.unwrapString),s(t)},t=>{e.emitHelper(d,t,e.helpers.toString({type:m,knownType:p.Types.Number})),s(t)},s=>{e.emitHelper(d,s,e.helpers.unwrapSymbol),e.emitHelper(t,s,e.helpers.case(y(r,!0),()=>{O(s)}))})},v=e.pushValueOptions(e.noSetValueOptions(r));e.visit(c,v),e.emitHelper(c,v,e.helpers.forBuiltinType({type:u,array:(()=>{const s=s=>{r.pushValue&&r.setValue?(e.emitPushInt(t,2),e.emitOp(t,"PICK"),e.emitHelper(t,s,e.helpers.setArrayIndex)):r.pushValue?e.emitHelper(t,s,e.helpers.getArrayIndex):r.setValue?(e.emitOp(t,"ROT"),e.emitHelper(t,s,e.helpers.setArrayIndex)):(e.emitOp(t,"DROP"),e.emitOp(t,"DROP"))};return b(r=>{e.emitHelper(d,r,e.helpers.unwrapString),e.emitHelper(t,r,e.helpers.case(y("Array",!1),()=>{e.emitHelper(d,r,e.helpers.wrapString),e.emitHelper(d,r,e.helpers.toNumber({type:m,knownType:p.Types.String})),s(r)}))},t=>{e.emitHelper(d,t,e.helpers.unwrapNumber),s(t)},r=>{e.emitHelper(d,r,e.helpers.unwrapSymbol),e.emitHelper(t,r,e.helpers.case(y("Array",!0),()=>{O(r)}))})})(),arrayStorage:(()=>{const s=s=>{r.pushValue&&r.setValue?(e.emitPushInt(t,2),e.emitOp(t,"PICK"),e.emitHelper(t,s,e.helpers.setArrayStorage)):r.pushValue?(e.emitHelper(t,v,e.helpers.wrapNumber),e.emitHelper(t,s,e.helpers.getStructuredStorage({type:p.Types.ArrayStorage,keyType:void 0,knownKeyType:p.Types.Number}))):r.setValue?(e.emitOp(t,"ROT"),e.emitHelper(t,s,e.helpers.setArrayStorage)):(e.emitOp(t,"DROP"),e.emitOp(t,"DROP"))};return b(r=>{e.emitHelper(d,r,e.helpers.unwrapString),e.emitHelper(t,r,e.helpers.case(y("ArrayStorage",!1),()=>{e.emitHelper(d,r,e.helpers.wrapString),e.emitHelper(d,r,e.helpers.toNumber({type:m,knownType:p.Types.String})),s(r)}))},t=>{e.emitHelper(d,t,e.helpers.unwrapNumber),e.emitHelper(d,t,e.helpers.coerceToInt),s(t)},r=>{e.emitHelper(d,r,e.helpers.unwrapSymbol),e.emitHelper(t,r,e.helpers.case(y("ArrayStorage",!0),()=>{O(r)}))})})(),boolean:P("Boolean"),buffer:(()=>{const s=s=>{r.pushValue?e.emitHelper(t,s,e.helpers.getBufferIndex):(e.emitOp(t,"DROP"),e.emitOp(t,"DROP"))};return b(r=>{e.emitHelper(d,r,e.helpers.unwrapString),e.emitHelper(t,r,e.helpers.case(y("Buffer",!1),()=>{e.emitHelper(d,r,e.helpers.wrapString),e.emitHelper(d,r,e.helpers.toNumber({type:m,knownType:p.Types.String})),s(r)}))},t=>{e.emitHelper(d,t,e.helpers.unwrapNumber),s(t)},r=>{e.emitHelper(d,r,e.helpers.unwrapSymbol),e.emitHelper(t,r,e.helpers.case(y("Buffer",!0),()=>{O(r)}))})})(),null:S,number:P("Number"),object:s=>{const i=s=>{r.pushValue&&r.setValue?(e.emitOp(t,"OVER"),e.emitOp(t,"OVER"),e.emitPushInt(t,4),e.emitOp(t,"ROLL"),e.emitHelper(t,s,e.helpers.setPropertyObjectProperty),e.emitHelper(t,s,e.helpers.getPropertyObjectProperty)):r.pushValue?e.emitHelper(t,s,e.helpers.getPropertyObjectProperty):r.setValue&&(e.emitOp(t,"ROT"),e.emitHelper(t,s,e.helpers.setPropertyObjectProperty))};if(e.visit(d,s),!r.pushValue&&!r.setValue)return e.emitOp(t,"DROP"),void e.emitOp(t,"DROP");e.emitHelper(d,s,e.helpers.forBuiltinType({type:m,array:O,arrayStorage:O,boolean:O,buffer:O,null:O,number:t=>{e.emitHelper(d,t,e.helpers.toString({type:m,knownType:p.Types.Number})),i(t)},object:O,string:t=>{e.emitHelper(d,t,e.helpers.unwrapString),i(t)},symbol:s=>{e.emitHelper(d,s,e.helpers.unwrapSymbol),r.pushValue&&r.setValue?(e.emitOp(t,"OVER"),e.emitOp(t,"OVER"),e.emitPushInt(t,4),e.emitOp(t,"ROLL"),e.emitHelper(t,s,e.helpers.setSymbolObjectProperty),e.emitHelper(t,s,e.helpers.getSymbolObjectProperty)):r.pushValue?e.emitHelper(t,s,e.helpers.getSymbolObjectProperty):r.setValue&&(e.emitOp(t,"ROT"),e.emitHelper(t,s,e.helpers.setSymbolObjectProperty))},undefined:O,map:O,mapStorage:O,set:O,setStorage:O,error:O,forwardValue:O,iteratorResult:O,iterable:O,iterableIterator:O,transaction:O,output:O,attribute:O,input:O,account:O,asset:O,contract:O,header:O,block:O}))},string:P("String"),symbol:P("Symbol"),undefined:S,map:P("Map"),mapStorage:P("MapStorage"),set:P("Set"),setStorage:P("SetStorage"),error:P("Error"),forwardValue:P("ForwardValue"),iteratorResult:P("IteratorResult"),iterable:P("Iterable"),iterableIterator:P("IterableIterator"),transaction:P("TransactionBase"),output:P("Output"),attribute:P("AttributeBase"),input:P("Input"),account:P("Account"),asset:P("Asset"),contract:P("Contract"),header:P("Header"),block:P("Block")}))}}t.ElementAccessExpressionCompiler=u},function(e,t,r){"use strict";
1Object.defineProperty(t,"__esModule",{value:!0}),t.FunctionExpressionCompiler=void 0;const s=r(18).__importDefault(r(21)),i=r(23);class n extends i.NodeCompiler{constructor(){super(...arguments),this.kind=s.default.SyntaxKind.FunctionExpression}visitNode(e,t,r){e.emitHelper(t,r,e.helpers.functionLike)}}t.FunctionExpressionCompiler=n},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.IdentifierCompiler=void 0;const s=r(18),i=r(20),n=s.__importDefault(r(21)),a=r(32),o=r(33),l=r(56),p=r(23);class c extends p.NodeCompiler{constructor(){super(...arguments),this.kind=n.default.SyntaxKind.Identifier}visitNode(e,t,r){const s=e.context.builtins.getValue(t);if(void 0!==s)return l.isBuiltinValue(s)?void s.emitValue(e,t,r):((l.isBuiltinNew(s)&&void 0!==r.superClass||e.context.builtins.isValue(t,"one0")||e.context.builtins.isValue(t,"one1"))&&e.context.reportError(t,a.DiagnosticCode.InvalidBuiltinReference,o.DiagnosticMessage.CannotReferenceBuiltin),void(r.pushValue&&e.emitHelper(t,r,e.helpers.wrapUndefined)));const n=e.context.analysis.getSymbol(t);void 0!==n&&i.tsUtils.symbol.isArgumentsSymbol(e.context.typeChecker,n)?e.context.reportError(t,a.DiagnosticCode.InvalidBuiltinReference,o.DiagnosticMessage.CannotReferenceBuiltin):(r.setValue&&e.scope.set(e,t,e.noSetValueOptions(r),t.getText()),r.pushValue&&(i.tsUtils.identifier.isUndefined(t)?e.emitHelper(t,r,e.helpers.wrapUndefined):e.scope.get(e,t,r,t.getText())))}}t.IdentifierCompiler=c},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ImportExpressionCompiler=void 0;const s=r(18).__importDefault(r(21)),i=r(23);class n extends i.NodeCompiler{constructor(){super(...arguments),this.kind=s.default.SyntaxKind.ImportKeyword}visitNode(e,t,r){e.context.reportUnsupported(t)}}t.ImportExpressionCompiler=n},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MetaPropertyCompiler=void 0;const s=r(18).__importDefault(r(21)),i=r(23);class n extends i.NodeCompiler{constructor(){super(...arguments),this.kind=s.default.SyntaxKind.MetaProperty}visitNode(e,t,r){e.context.reportUnsupported(t)}}t.MetaPropertyCompiler=n},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.NewExpressionCompiler=void 0;const s=r(18),i=r(20),n=s.__importDefault(r(21)),a=r(32),o=r(33),l=r(56),p=r(23);class c extends p.NodeCompiler{constructor(){super(...arguments),this.kind=n.default.SyntaxKind.NewExpression}visitNode(e,t,r){const s=e.pushValueOptions(r),n=i.tsUtils.expression.getExpression(t),p=e.context.builtins.getValue(n);void 0!==p&&l.isBuiltinNew(p)?p.emitNew(e,t,r):e.context.analysis.isSmartContractNode(n)?e.context.reportError(t,a.DiagnosticCode.InvalidContractNew,o.DiagnosticMessage.InvalidContractNew):(e.emitHelper(t,s,e.helpers.args),e.visit(n,s),e.emitHelper(t,r,e.helpers.new()))}}t.NewExpressionCompiler=c},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.NonNullExpressionCompiler=void 0;const s=r(18),i=r(20),n=s.__importDefault(r(21)),a=r(23);class o extends a.NodeCompiler{constructor(){super(...arguments),this.kind=n.default.SyntaxKind.NonNullExpression}visitNode(e,t,r){e.visit(i.tsUtils.expression.getExpression(t),r)}}t.NonNullExpressionCompiler=o},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.NoSubstitutionTemplateLiteralCompiler=void 0;const s=r(18),i=r(20),n=s.__importDefault(r(21)),a=r(23);class o extends a.NodeCompiler{constructor(){super(...arguments),this.kind=n.default.SyntaxKind.NoSubstitutionTemplateLiteral}visitNode(e,t,r){r.pushValue&&(e.emitPushString(t,i.tsUtils.literal.getLiteralValue(t)),e.emitHelper(t,r,e.helpers.wrapString))}}t.NoSubstitutionTemplateLiteralCompiler=o},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.NullLiteralCompiler=void 0;const s=r(18).__importDefault(r(21)),i=r(23);class n extends i.NodeCompiler{constructor(){super(...arguments),this.kind=s.default.SyntaxKind.NullKeyword}visitNode(e,t,r){r.pushValue&&e.emitHelper(t,r,e.helpers.wrapNull)}}t.NullLiteralCompiler=n},function(e,t,r){"use strict";
1Object.defineProperty(t,"__esModule",{value:!0}),t.NumericLiteralCompiler=void 0;const s=r(18),i=r(43),n=s.__importDefault(r(21)),a=r(23);class o extends a.NodeCompiler{constructor(){super(...arguments),this.kind=n.default.SyntaxKind.NumericLiteral}visitNode(e,t,r){r.pushValue&&(e.emitPushInt(t,new i.BN(t.text.replace("_",""),10)),e.emitHelper(t,r,e.helpers.wrapNumber))}}t.NumericLiteralCompiler=o},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ObjectLiteralExpressionCompiler=void 0;const s=r(18),i=r(20),n=s.__importDefault(r(21)),a=r(22),o=r(23);class l extends o.NodeCompiler{constructor(){super(...arguments),this.kind=n.default.SyntaxKind.ObjectLiteralExpression}visitNode(e,t,r){const s=e.pushValueOptions(r);e.emitHelper(t,s,e.helpers.createObject),i.tsUtils.object_.getProperties(t).forEach(r=>{if(!n.default.isGetAccessorDeclaration(r)||void 0===i.tsUtils.accessor.getSetAccessor(r))if(e.emitOp(r,"DUP"),n.default.isPropertyAssignment(r)||n.default.isMethodDeclaration(r)||n.default.isGetAccessorDeclaration(r)||n.default.isSetAccessorDeclaration(r)){const t=i.tsUtils.node.getNameNode(r),o=()=>{if(n.default.isPropertyAssignment(r)?e.visit(i.tsUtils.initializer.getInitializer(r),s):(e.emitHelper(r,s,e.helpers.createCallArray),e.emitHelper(r,s,e.helpers.createFunctionObject({property:a.InternalObjectProperty.Call}))),n.default.isSetAccessorDeclaration(r)){const t=i.tsUtils.accessor.getGetAccessor(r);void 0!==t&&(e.emitHelper(t,s,e.helpers.createCallArray),e.emitHelper(t,s,e.helpers.createFunctionObject({property:a.InternalObjectProperty.Call})))}},l=()=>{n.default.isSetAccessorDeclaration(r)||n.default.isGetAccessorDeclaration(r)?e.emitHelper(r,s,e.helpers.setAccessorSymbolObjectProperty({hasSet:n.default.isSetAccessorDeclaration(r),hasGet:n.default.isGetAccessorDeclaration(r)||void 0!==i.tsUtils.accessor.getGetAccessor(r)})):e.emitHelper(r,s,e.helpers.setSymbolObjectProperty)},p=()=>{n.default.isSetAccessorDeclaration(r)||n.default.isGetAccessorDeclaration(r)?e.emitHelper(r,s,e.helpers.setAccessorPropertyObjectProperty({hasSet:n.default.isSetAccessorDeclaration(r),hasGet:n.default.isGetAccessorDeclaration(r)||void 0!==i.tsUtils.accessor.getGetAccessor(r)})):e.emitHelper(r,s,e.helpers.setDataPropertyObjectProperty)},c=t=>{const n=()=>{e.emitHelper(r,s,e.helpers.unwrapSymbol),o(),l()},a=()=>{e.emitHelper(r,s,e.helpers.toString({type:t})),o(),p()};void 0===t||!i.tsUtils.type_.isOnlySymbolish(t)&&i.tsUtils.type_.hasSymbolish(t)?e.emitHelper(r,s,e.helpers.if({condition:()=>{e.emitOp(r,"DUP"),e.emitHelper(r,s,e.helpers.isSymbol)},whenTrue:n,whenFalse:a})):i.tsUtils.type_.isOnlySymbolish(t)?n():a()};if(n.default.isComputedPropertyName(t)){const r=i.tsUtils.expression.getExpression(t),n=e.context.analysis.getType(r);e.visit(r,s),c(n)}else n.default.isIdentifier(t)?e.emitPushString(t,i.tsUtils.node.getText(t)):e.emitPushString(t,n.default.isStringLiteral(t)?i.tsUtils.literal.getLiteralValue(t):""+i.tsUtils.literal.getLiteralValue(t)),o(),p()}else if(n.default.isShorthandPropertyAssignment(r)){const t=i.tsUtils.node.getNameNode(r);e.emitPushString(t,i.tsUtils.node.getText(t)),e.visit(t,s),e.emitHelper(r,s,e.helpers.setDataPropertyObjectProperty)}else{const n=e.scope.addUnique(),a=e.scope.addUnique();e.scope.set(e,t,s,a),e.visit(i.tsUtils.expression.getExpression(r),s),e.emitOp(t,"DUP"),e.scope.set(e,t,s,n),e.emitHelper(t,s,e.helpers.getPropertyObjectKeys),e.emitHelper(t,s,e.helpers.arrForEach({each:()=>{e.scope.get(e,t,s,a),e.emitOp(t,"SWAP"),e.scope.get(e,t,s,n),e.emitOp(t,"OVER"),e.emitHelper(t,s,e.helpers.getPropertyObjectProperty),e.emitHelper(t,s,e.helpers.setDataPropertyObjectProperty)}}))}}),r.pushValue||e.emitOp(t,"DROP")}}t.ObjectLiteralExpressionCompiler=l},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.OmittedExpressionCompiler=void 0;const s=r(18).__importDefault(r(21)),i=r(23);class n extends i.NodeCompiler{constructor(){super(...arguments),this.kind=s.default.SyntaxKind.OmittedExpression}visitNode(e,t,r){}}t.OmittedExpressionCompiler=n},function(e,t,r){"use strict";
1Object.defineProperty(t,"__esModule",{value:!0}),t.ParenthesizedExpressionCompiler=void 0;const s=r(18),i=r(20),n=s.__importDefault(r(21)),a=r(23);class o extends a.NodeCompiler{constructor(){super(...arguments),this.kind=n.default.SyntaxKind.ParenthesizedExpression}visitNode(e,t,r){e.visit(i.tsUtils.expression.getExpression(t),r)}}t.ParenthesizedExpressionCompiler=o},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.PartiallyEmittedExpressionCompiler=void 0;const s=r(18).__importDefault(r(21)),i=r(23);class n extends i.NodeCompiler{constructor(){super(...arguments),this.kind=s.default.SyntaxKind.PartiallyEmittedExpression}visitNode(e,t,r){}}t.PartiallyEmittedExpressionCompiler=n},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.PostfixUnaryExpressionCompiler=void 0;const s=r(18),i=r(20),n=r(25),a=s.__importDefault(r(21)),o=r(23);class l extends o.NodeCompiler{constructor(){super(...arguments),this.kind=a.default.SyntaxKind.PostfixUnaryExpression}visitNode(e,t,r){e.visit(i.tsUtils.expression.getOperand(t),e.noSetValueOptions(e.pushValueOptions(r)));const s=i.tsUtils.expression.getOperator(t);switch(s){case a.default.SyntaxKind.PlusPlusToken:case a.default.SyntaxKind.MinusMinusToken:this.visitAssignment(e,s,t,r);break;default:n.utils.assertNever(s)}}visitAssignment(e,t,r,s){switch(s.pushValue&&e.emitOp(r,"DUP"),t){case a.default.SyntaxKind.PlusPlusToken:e.emitHelper(r,e.pushValueOptions(s),e.helpers.toNumber({type:e.context.analysis.getType(r)})),e.emitOp(r,"INC"),e.emitHelper(r,e.pushValueOptions(s),e.helpers.wrapNumber);break;case a.default.SyntaxKind.MinusMinusToken:e.emitHelper(r,e.pushValueOptions(s),e.helpers.toNumber({type:e.context.analysis.getType(r)})),e.emitOp(r,"DEC"),e.emitHelper(r,e.pushValueOptions(s),e.helpers.wrapNumber);break;default:n.utils.assertNever(t)}e.visit(i.tsUtils.expression.getOperand(r),e.noPushValueOptions(e.setValueOptions(s)))}}t.PostfixUnaryExpressionCompiler=l},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.PrefixUnaryExpressionCompiler=void 0;const s=r(18),i=r(20),n=r(25),a=s.__importDefault(r(21)),o=r(23);class l extends o.NodeCompiler{constructor(){super(...arguments),this.kind=a.default.SyntaxKind.PrefixUnaryExpression}visitNode(e,t,r){const s=i.tsUtils.expression.getOperator(t);switch(s){case a.default.SyntaxKind.PlusPlusToken:case a.default.SyntaxKind.MinusMinusToken:this.visitAssignment(e,s,t,r);break;case a.default.SyntaxKind.PlusToken:case a.default.SyntaxKind.MinusToken:case a.default.SyntaxKind.TildeToken:case a.default.SyntaxKind.ExclamationToken:this.visitValue(e,s,t,r);break;default:n.utils.assertNever(s)}}visitAssignment(e,t,r,s){switch(e.visit(i.tsUtils.expression.getOperand(r),e.noSetValueOptions(e.pushValueOptions(s))),t){case a.default.SyntaxKind.PlusPlusToken:e.emitHelper(r,e.pushValueOptions(s),e.helpers.toNumber({type:e.context.analysis.getType(r)})),e.emitOp(r,"INC"),e.emitHelper(r,e.pushValueOptions(s),e.helpers.wrapNumber);break;case a.default.SyntaxKind.MinusMinusToken:e.emitHelper(r,e.pushValueOptions(s),e.helpers.toNumber({type:e.context.analysis.getType(r)})),e.emitOp(r,"DEC"),e.emitHelper(r,e.pushValueOptions(s),e.helpers.wrapNumber);break;default:n.utils.assertNever(t)}e.visit(i.tsUtils.expression.getOperand(r),e.setValueOptions(s))}visitValue(e,t,r,s){const o=e.pushValueOptions(s),l=i.tsUtils.expression.getOperand(r);switch(e.visit(l,e.noSetValueOptions(o)),t){case a.default.SyntaxKind.PlusToken:e.emitHelper(r,o,e.helpers.toNumber({type:e.context.analysis.getType(l)})),e.emitHelper(r,o,e.helpers.wrapNumber);break;case a.default.SyntaxKind.MinusToken:e.emitHelper(r,o,e.helpers.toNumber({type:e.context.analysis.getType(l)})),e.emitOp(r,"NEGATE"),e.emitHelper(r,o,e.helpers.wrapNumber);break;case a.default.SyntaxKind.TildeToken:e.emitHelper(r,o,e.helpers.toNumber({type:e.context.analysis.getType(l)})),e.emitOp(r,"INVERT"),e.emitHelper(r,o,e.helpers.wrapNumber);break;case a.default.SyntaxKind.ExclamationToken:e.emitHelper(l,o,e.helpers.toBoolean({type:e.context.analysis.getType(l)})),e.emitOp(r,"NOT"),e.emitHelper(l,o,e.helpers.wrapBoolean);break;default:n.utils.assertNever(t)}s.pushValue||e.emitOp(r,"DROP")}}t.PrefixUnaryExpressionCompiler=l},function(e,t,r){"use strict";
1Object.defineProperty(t,"__esModule",{value:!0}),t.PropertyAccessExpressionCompiler=void 0;const s=r(18),i=r(20),n=s.__importDefault(r(21)),a=r(32),o=r(33),l=r(56),p=r(23);class c extends p.NodeCompiler{constructor(){super(...arguments),this.kind=n.default.SyntaxKind.PropertyAccessExpression}visitNode(e,t,r){const s=n.default.isOptionalChain(t),p=i.tsUtils.expression.getExpression(t),c=e.context.analysis.getType(p),u=i.tsUtils.node.getNameNode(t),d=i.tsUtils.node.getName(t),m=(s,i)=>{l.isBuiltinInstanceMemberValue(s)?s.emitValue(e,t,r,i):l.isBuiltinMemberValue(s)?s.emitValue(e,t,r):r.setValue?e.context.reportError(u,a.DiagnosticCode.InvalidBuiltinModify,o.DiagnosticMessage.CannotModifyBuiltin):e.context.reportError(u,a.DiagnosticCode.InvalidBuiltinReference,o.DiagnosticMessage.CannotReferenceBuiltinProperty)},h=e.context.builtins.getMember(p,u);if(void 0!==h)return void m(h,!1);const f=r=>{e.emitOp(t,"DROP"),e.emitHelper(t,r,e.helpers.throwTypeError)},y=r=>{s?(r=>{e.emitOp(t,"DROP"),e.emitHelper(t,r,e.helpers.wrapUndefined)})(r):f(r)},g=t=>{const r=e.context.builtins.getOnlyMember(t,d);return void 0===r?f:()=>{m(r,!0)}},O=e.pushValueOptions(e.noSetValueOptions(r));e.visit(p,O),e.emitHelper(p,O,e.helpers.forBuiltinType({type:c,array:g("Array"),arrayStorage:g("ArrayStorage"),boolean:g("Boolean"),buffer:g("Buffer"),null:y,number:g("Number"),object:s=>{e.emitPushString(u,d),r.pushValue&&r.setValue?(e.emitOp(t,"OVER"),e.emitOp(t,"OVER"),e.emitPushInt(t,4),e.emitOp(t,"ROLL"),e.emitHelper(t,s,e.helpers.setPropertyObjectProperty),e.emitHelper(t,s,e.helpers.getPropertyObjectProperty)):r.setValue?(e.emitOp(t,"ROT"),e.emitHelper(t,s,e.helpers.setPropertyObjectProperty)):(e.emitHelper(t,s,e.helpers.getPropertyObjectProperty),r.pushValue||e.emitOp(t,"DROP"))},string:g("String"),symbol:g("Symbol"),undefined:y,map:g("Map"),mapStorage:g("MapStorage"),set:g("Set"),setStorage:g("SetStorage"),error:g("Error"),forwardValue:g("ForwardValue"),iteratorResult:g("IteratorResult"),iterable:g("Iterable"),iterableIterator:g("IterableIterator"),transaction:g("TransactionBase"),output:g("Output"),attribute:g("AttributeBase"),input:g("Input"),account:g("Account"),asset:g("Asset"),contract:g("Contract"),header:g("Header"),block:g("Block")}))}}t.PropertyAccessExpressionCompiler=c},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.RegularExpressionLiteralCompiler=void 0;const s=r(18).__importDefault(r(21)),i=r(23);class n extends i.NodeCompiler{constructor(){super(...arguments),this.kind=s.default.SyntaxKind.RegularExpressionLiteral}visitNode(e,t,r){e.context.reportUnsupported(t)}}t.RegularExpressionLiteralCompiler=n},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.StringLiteralCompiler=void 0;const s=r(18),i=r(20),n=s.__importDefault(r(21)),a=r(23);class o extends a.NodeCompiler{constructor(){super(...arguments),this.kind=n.default.SyntaxKind.StringLiteral}visitNode(e,t,r){r.pushValue&&(e.emitPushString(t,i.tsUtils.literal.getLiteralValue(t)),e.emitHelper(t,r,e.helpers.wrapString))}}t.StringLiteralCompiler=o},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SuperExpressionCompiler=void 0;const s=r(18),i=r(20),n=s.__importDefault(r(21)),a=r(23);class o extends a.NodeCompiler{constructor(){super(...arguments),this.kind=n.default.SyntaxKind.SuperKeyword}visitNode(e,t,r){if(r.pushValue){const s=r.superClass;if(void 0===s)throw new Error("Something went wrong, expected super class to be defined.");const a=i.tsUtils.node.getFirstAncestorByKind(t,n.default.SyntaxKind.MethodDeclaration);if(void 0===a)return void e.context.reportUnsupported(t);e.scope.get(e,t,r,s),i.tsUtils.modifier.isStatic(a)||(e.emitPushString(t,"prototype"),e.emitHelper(t,r,e.helpers.getPropertyObjectProperty))}}}t.SuperExpressionCompiler=o},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TaggedTemplateExpressionCompiler=void 0;const s=r(18).__importDefault(r(21)),i=r(23);class n extends i.NodeCompiler{constructor(){super(...arguments),this.kind=s.default.SyntaxKind.TaggedTemplateExpression}visitNode(e,t,r){e.emitHelper(t,r,e.helpers.callLike)}}t.TaggedTemplateExpressionCompiler=n},function(e,t,r){"use strict";
1Object.defineProperty(t,"__esModule",{value:!0}),t.TemplateExpressionCompiler=void 0;const s=r(18),i=r(20),n=s.__importDefault(r(21)),a=r(23);class o extends a.NodeCompiler{constructor(){super(...arguments),this.kind=n.default.SyntaxKind.TemplateExpression}visitNode(e,t,r){const s=e.pushValueOptions(r),n=i.tsUtils.template.getTemplateHead(t);e.emitPushString(n,i.tsUtils.literal.getLiteralValue(n)),i.tsUtils.template.getTemplateSpans(t).forEach(t=>{const r=i.tsUtils.expression.getExpression(t);e.visit(r,s),e.emitHelper(r,s,e.helpers.toString({type:e.context.analysis.getType(r)})),e.emitOp(r,"CAT");const n=i.tsUtils.template.getLiteral(t);e.emitPushString(n,i.tsUtils.literal.getLiteralValue(n)),e.emitOp(r,"CAT")}),r.pushValue?e.emitHelper(t,s,e.helpers.wrapString):e.emitOp(t,"DROP")}}t.TemplateExpressionCompiler=o},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ThisExpressionCompiler=void 0;const s=r(18).__importDefault(r(21)),i=r(23);class n extends i.NodeCompiler{constructor(){super(...arguments),this.kind=s.default.SyntaxKind.ThisKeyword}visitNode(e,t,r){r.pushValue&&e.scope.getThis(e,t,r)}}t.ThisExpressionCompiler=n},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TypeAssertionCompiler=void 0;const s=r(18).__importDefault(r(21)),i=r(23);class n extends i.NodeCompiler{constructor(){super(...arguments),this.kind=s.default.SyntaxKind.TypeAssertionExpression}visitNode(e,t,r){}}t.TypeAssertionCompiler=n},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TypeOfExpressionCompiler=void 0;const s=r(18),i=r(20),n=s.__importDefault(r(21)),a=r(23);class o extends a.NodeCompiler{constructor(){super(...arguments),this.kind=n.default.SyntaxKind.TypeOfExpression}visitNode(e,t,r){const s=e.pushValueOptions(r),n=i.tsUtils.expression.getExpression(t),a=r=>()=>{e.emitOp(t,"DROP"),e.emitPushString(t,r)},o=a("object");e.visit(n,s),e.emitHelper(t,s,e.helpers.forBuiltinType({type:e.context.analysis.getType(n),array:o,arrayStorage:o,boolean:a("boolean"),buffer:o,null:a("null"),number:a("number"),object:o,string:a("string"),symbol:a("symbol"),undefined:a("undefined"),map:o,mapStorage:o,set:o,setStorage:o,error:o,forwardValue:o,iteratorResult:o,iterable:o,iterableIterator:o,transaction:o,output:o,attribute:o,input:o,account:o,asset:o,contract:o,header:o,block:o})),e.emitHelper(t,s,e.helpers.wrapString),r.pushValue||e.emitOp(t,"DROP")}}t.TypeOfExpressionCompiler=o},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.VoidExpressionCompiler=void 0;const s=r(18).__importDefault(r(21)),i=r(23);class n extends i.NodeCompiler{constructor(){super(...arguments),this.kind=s.default.SyntaxKind.VoidExpression}visitNode(e,t,r){r.pushValue&&e.emitHelper(t,r,e.helpers.wrapUndefined)}}t.VoidExpressionCompiler=n},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.YieldExpressionCompiler=void 0;const s=r(18).__importDefault(r(21)),i=r(23);class n extends i.NodeCompiler{constructor(){super(...arguments),this.kind=s.default.SyntaxKind.YieldExpression}visitNode(e,t,r){e.context.reportUnsupported(t)}}t.YieldExpressionCompiler=n},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.files=void 0;const s=r(831);t.files=[s.SourceFileCompiler]},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SourceFileCompiler=void 0;const s=r(18),i=r(20),n=s.__importDefault(r(21)),a=r(23);class o extends a.NodeCompiler{constructor(){super(...arguments),this.kind=n.default.SyntaxKind.SourceFile}visitNode(e,t,r){i.tsUtils.file.getImportDeclarations(t).forEach(t=>{e.visit(t,r)}),e.emitHelper(t,r,e.helpers.processStatements({createScope:!1})),i.tsUtils.file.getExportDeclarations(t).forEach(t=>{e.visit(t,r)}),i.tsUtils.file.getExportAssignments(t).forEach(t=>{e.visit(t,r)})}}t.SourceFileCompiler=o},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DeferredProgramCounter=void 0;const s=r(108);class i extends s.ProgramCounter{constructor(e=0){super(),this.offset=e}plus(e){return new i(this.offset+e)}equals(e){return this===e}setPC(e){this.mutablePC=e}getPC(){if(void 0===this.mutablePC)throw new Error("Unknown PC");return this.mutablePC.getPC()+this.offset}}t.DeferredProgramCounter=i},function(e,t,r){"use strict";
1Object.defineProperty(t,"__esModule",{value:!0}),t.Call=void 0;const s=r(156);class i extends s.Jump{constructor(e){super("CALL",e)}plus(e){return new i(this.pc.plus(e))}}t.Call=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Jmp=void 0;const s=r(156);class i extends s.Jump{constructor(e,t){super(e,t)}plus(e){return new i(this.op,this.pc.plus(e))}}t.Jmp=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Line=void 0;t.Line=class{}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ProgramCounterHelper=void 0;const s=r(233),i=r(837);t.ProgramCounterHelper=class{constructor(e){this.pc=e,this.first=new s.KnownProgramCounter(this.pc()),this.last=new i.LastProgramCounter(this.pc())}getFirst(){return this.first}getCurrent(){return new s.KnownProgramCounter(this.pc())}getLast(){return this.last}setLast(){this.last.setPC(this.pc())}}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.LastProgramCounter=void 0;const s=r(108);class i extends s.ProgramCounter{constructor(e,t=0){super(),this.startPC=e,this.offset=t,this.mutableChildren=[]}plus(e){const t=new i(this.startPC,this.offset+e);return this.mutableChildren.push(t),void 0!==this.mutablePC&&t.setPC(this.mutablePC),t}equals(e){return e instanceof i&&this.startPC===e.startPC&&this.offset===e.offset}setPC(e){this.mutablePC=e,this.mutableChildren.forEach(t=>{t.setPC(e)})}getPC(){if(void 0===this.mutablePC)throw new Error("Unknown PC");return this.mutablePC+this.offset}}t.LastProgramCounter=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.statements=void 0;const s=r(839),i=r(840),n=r(841),a=r(842),o=r(843),l=r(844),p=r(845),c=r(846),u=r(847),d=r(848),m=r(849),h=r(850),f=r(851),y=r(852),g=r(853),O=r(854),S=r(855),b=r(856),P=r(857),v=r(858);t.statements=[s.BlockCompiler,i.BreakStatementCompiler,n.ContinueStatementCompiler,a.DebuggerStatementCompiler,o.DoStatementCompiler,l.EmptyStatementCompiler,p.ExpressionStatementCompiler,c.ForInStatementCompiler,u.ForOfStatementCompiler,d.ForStatementCompiler,m.IfStatementCompiler,h.LabeledStatementCompiler,f.NotEmittedStatementCompiler,y.ReturnStatementCompiler,g.SwitchStatementCompiler,O.ThrowStatementCompiler,S.TryStatementCompiler,b.VariableStatementCompiler,P.WhileStatementCompiler,v.WithStatementCompiler]},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.BlockCompiler=void 0;const s=r(18).__importDefault(r(21)),i=r(23);class n extends i.NodeCompiler{constructor(){super(...arguments),this.kind=s.default.SyntaxKind.Block}visitNode(e,t,r){e.emitHelper(t,r,e.helpers.processStatements({createScope:!0}))}}t.BlockCompiler=n},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.BreakStatementCompiler=void 0;const s=r(18),i=r(20),n=s.__importDefault(r(21)),a=r(23);class o extends a.NodeCompiler{constructor(){super(...arguments),this.kind=n.default.SyntaxKind.BreakStatement}visitNode(e,t,r){const s=i.tsUtils.statement.getLabel(t);void 0!==s&&e.context.reportUnsupported(s),e.emitHelper(t,r,e.helpers.break)}}t.BreakStatementCompiler=o},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ContinueStatementCompiler=void 0;const s=r(18),i=r(20),n=s.__importDefault(r(21)),a=r(23);class o extends a.NodeCompiler{constructor(){super(...arguments),this.kind=n.default.SyntaxKind.ContinueStatement}visitNode(e,t,r){const s=i.tsUtils.statement.getLabel(t);void 0!==s&&e.context.reportUnsupported(s),e.emitHelper(t,r,e.helpers.continue)}}t.ContinueStatementCompiler=o},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DebuggerStatementCompiler=void 0;const s=r(18).__importDefault(r(21)),i=r(23);class n extends i.NodeCompiler{constructor(){super(...arguments),this.kind=s.default.SyntaxKind.DebuggerStatement}visitNode(e,t,r){e.context.reportUnsupported(t)}}t.DebuggerStatementCompiler=n},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.DoStatementCompiler=void 0;const s=r(18),i=r(20),n=s.__importDefault(r(21)),a=s.__importStar(r(34)),o=r(23);class l extends o.NodeCompiler{constructor(){super(...arguments),this.kind=n.default.SyntaxKind.DoStatement}visitNode(e,t,r){e.withProgramCounter(s=>{e.withProgramCounter(n=>
1{e.visit(i.tsUtils.statement.getStatement(t),e.breakPCOptions(e.continuePCOptions(r,n.getLast()),s.getLast())),e.emitPushInt(t,a.CONTINUE_COMPLETION)}),e.emitOp(t,"DROP"),e.emitHelper(i.tsUtils.expression.getExpression(t),r,e.helpers.if({condition:()=>{const s=i.tsUtils.expression.getExpression(t);e.visit(s,e.pushValueOptions(r)),e.emitHelper(s,e.pushValueOptions(r),e.helpers.toBoolean({type:e.context.analysis.getType(s)}))},whenTrue:()=>{e.emitJmp(t,"JMP",s.getFirst())}})),e.emitPushInt(t,a.BREAK_COMPLETION)}),e.emitOp(t,"DROP")}}t.DoStatementCompiler=l},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.EmptyStatementCompiler=void 0;const s=r(18).__importDefault(r(21)),i=r(23);class n extends i.NodeCompiler{constructor(){super(...arguments),this.kind=s.default.SyntaxKind.EmptyStatement}visitNode(e,t,r){}}t.EmptyStatementCompiler=n},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ExpressionStatementCompiler=void 0;const s=r(18),i=r(20),n=s.__importDefault(r(21)),a=r(23);class o extends a.NodeCompiler{constructor(){super(...arguments),this.kind=n.default.SyntaxKind.ExpressionStatement}visitNode(e,t,r){e.visit(i.tsUtils.expression.getExpression(t),e.noPushValueOptions(r))}}t.ExpressionStatementCompiler=o},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ForInStatementCompiler=void 0;const s=r(18),i=r(20),n=s.__importDefault(r(21)),a=r(23);class o extends a.NodeCompiler{constructor(){super(...arguments),this.kind=n.default.SyntaxKind.ForInStatement}visitNode(e,t,r){const s=e.pushValueOptions(r),a=i.tsUtils.statement.getInitializer(t);if(!n.default.isVariableDeclarationList(a))return void e.context.reportUnsupported(a);const o=i.tsUtils.variable.getDeclarations(a);if(1!==o.length)return void e.context.reportUnsupported(a);const l=o[0],p=i.tsUtils.expression.getExpression(t),c=i.tsUtils.statement.getStatement(t),u=e.context.analysis.getType(p),d=()=>{e.emitHelper(p,s,e.helpers.unwrapArray),e.emitHelper(t,s,e.helpers.arrForEach({withIndex:!0,each:t=>{e.emitOp(l,"DROP"),e.emitHelper(l,s,e.helpers.wrapNumber),e.emitHelper(l,s,e.helpers.toString({type:void 0})),e.emitHelper(l,s,e.helpers.wrapString),e.visit(l,e.setValueOptions(t)),e.visit(c,e.noPushValueOptions(t))}}))},m=()=>{e.emitHelper(t,s,e.helpers.getPropertyObjectKeys),e.emitHelper(t,s,e.helpers.arrForEach({withIndex:!1,each:t=>{e.emitHelper(l,e.pushValueOptions(t),e.helpers.wrapString),e.visit(l,e.setValueOptions(e.noPushValueOptions(t))),e.visit(c,e.noPushValueOptions(t))}}))};e.visit(p,s),void 0===u||i.tsUtils.type_.hasArrayish(u)&&!i.tsUtils.type_.isOnlyArrayish(u)?e.emitHelper(p,s,e.helpers.if({condition:()=>{e.emitOp(p,"DUP"),e.emitHelper(p,s,e.helpers.isArray)},whenTrue:d,whenFalse:m})):i.tsUtils.type_.isOnlyArrayish(u)?d():m()}}t.ForInStatementCompiler=o},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ForOfStatementCompiler=void 0;const s=r(18),i=r(20),n=s.__importDefault(r(21)),a=r(215),o=r(22),l=r(23);class p extends l.NodeCompiler{constructor(){super(...arguments),this.kind=n.default.SyntaxKind.ForOfStatement}visitNode(e,t,r){const s=e.pushValueOptions(r),l=i.tsUtils.statement.getInitializer(t);if(!n.default.isVariableDeclarationList(l))return void e.context.reportUnsupported(l);const p=i.tsUtils.variable.getDeclarations(l);if(1!==p.length)return void e.context.reportUnsupported(l);const c=p[0],u=i.tsUtils.node.getNameNode(c),d=e.context.analysis.getType(u),m=i.tsUtils.expression.getExpression(t),h=i.tsUtils.statement.getStatement(t),f=t=>{n.default.isIdentifier(u)?(e.scope.add(i.tsUtils.node.getText(u)),e.scope.set(e,u,t,i.tsUtils.node.getText(u))):n.default.isArrayBindingPattern(u)?e.emitHelper(u,t,e.helpers.arrayBinding({type:d})):e.emitHelper(u,t,e.helpers.objectBinding({type:d})),e.visit(h,e.noPushValueOptions(t))},y=r=>{e.emitOp(t,"DROP"),e.emitHelper(t,r,e.helpers.throwTypeError)},g=(r,s=!1,i=f)=>{e.emitHelper(m,r,e.helpers.unwrapArray),e.emitHelper(t,r,e.helpers.arrForEach({withIndex:s,each:i}))},O=r=>
1{e.emitHelper(t,e.noPushValueOptions(r),e.helpers.forEachValStructuredStorage({type:o.Types.ArrayStorage,each:f}))},S=r=>{e.emitHelper(m,r,e.helpers.unwrapMap),e.emitSysCall(m,"Neo.Iterator.Create"),e.emitHelper(t,r,e.helpers.rawIteratorForEach({deserializeKey:!0,each:r=>{const s=e.pushValueOptions(r);e.emitPushInt(t,2),e.emitOp(t,"PACK"),e.emitHelper(t,s,e.helpers.wrapArray),f(s)}}))},b=r=>{e.emitHelper(t,e.noPushValueOptions(r),e.helpers.forEachStructuredStorage({type:o.Types.MapStorage,each:r=>{const s=e.pushValueOptions(r);e.emitPushInt(t,2),e.emitOp(t,"PACK"),e.emitHelper(t,s,e.helpers.wrapArray),f(s)}}))},P=r=>{e.emitHelper(m,r,e.helpers.unwrapSet),e.emitSysCall(m,"Neo.Iterator.Create"),e.emitHelper(t,r,e.helpers.rawIteratorForEachKey({each:f,deserializeKey:!0}))},v=r=>{e.emitHelper(t,e.noPushValueOptions(r),e.helpers.forEachKeyStructuredStorage({type:o.Types.SetStorage,each:f}))},C=r=>{e.emitHelper(t,e.noPushValueOptions(r),e.helpers.iterableIteratorForEach({each:f}))};if(n.default.isCallExpression(m)){const t=i.tsUtils.expression.getExpression(m);if(n.default.isPropertyAccessExpression(t)){const r=i.tsUtils.expression.getExpression(t),n=i.tsUtils.node.getNameNode(t),o=e.context.builtins.getMember(r,n);if(void 0!==o&&o instanceof a.ArrayEntries)return e.visit(r,s),void g(s,!0,t=>{e.emitOp(c,"SWAP"),e.emitHelper(c,e.pushValueOptions(t),e.helpers.wrapNumber),e.emitPushInt(c,2),e.emitOp(c,"PACK"),e.emitHelper(c,e.pushValueOptions(t),e.helpers.wrapArray),f(t)})}}e.visit(m,s),e.emitHelper(t,s,e.helpers.forBuiltinType({type:e.context.analysis.getType(m),array:g,arrayStorage:O,boolean:y,buffer:y,null:y,number:y,object:y,string:y,symbol:y,undefined:y,map:S,mapStorage:b,set:P,setStorage:v,error:y,forwardValue:y,iteratorResult:y,iterable:r=>{e.emitHelper(t,r,e.helpers.forIterableType({array:g,map:S,set:P,arrayStorage:O,mapStorage:b,setStorage:v,iterableIterator:C,defaultCase:y}))},iterableIterator:C,transaction:y,output:y,attribute:y,input:y,account:y,asset:y,contract:y,header:y,block:y}))}}t.ForOfStatementCompiler=p},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ForStatementCompiler=void 0;const s=r(18),i=r(20),n=s.__importDefault(r(21)),a=r(23);class o extends a.NodeCompiler{constructor(){super(...arguments),this.kind=n.default.SyntaxKind.ForStatement}visitNode(e,t,r){let s;const n=i.tsUtils.statement.getCondition(t);let a;void 0!==n&&(s=()=>{e.visit(n,e.pushValueOptions(r)),e.emitHelper(n,e.pushValueOptions(r),e.helpers.toBoolean({type:e.context.analysis.getType(n)}))});const o=i.tsUtils.statement.getIncrementor(t);void 0!==o&&(a=()=>{e.visit(o,e.noPushValueOptions(r))});const l=i.tsUtils.statement.getInitializer(t);void 0!==l&&e.visit(l,e.noPushValueOptions(r)),e.emitHelper(t,r,e.helpers.forLoop({condition:s,incrementor:a,each:r=>{e.visit(i.tsUtils.statement.getStatement(t),e.noPushValueOptions(r))},cleanup:()=>{}}))}}t.ForStatementCompiler=o},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.IfStatementCompiler=void 0;const s=r(18),i=r(20),n=s.__importDefault(r(21)),a=r(23);class o extends a.NodeCompiler{constructor(){super(...arguments),this.kind=n.default.SyntaxKind.IfStatement}visitNode(e,t,r){let s;const n=i.tsUtils.statement.getElseStatement(t);void 0!==n&&(s=()=>{e.visit(n,r)}),e.emitHelper(t,r,e.helpers.if({condition:()=>{const s=i.tsUtils.expression.getExpression(t);e.visit(s,e.pushValueOptions(r)),e.emitHelper(s,e.pushValueOptions(r),e.helpers.toBoolean({type:e.context.analysis.getType(s)}))},whenTrue:()=>
1{e.visit(i.tsUtils.statement.getThenStatement(t),r)},whenFalse:s}))}}t.IfStatementCompiler=o},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.LabeledStatementCompiler=void 0;const s=r(18).__importDefault(r(21)),i=r(23);class n extends i.NodeCompiler{constructor(){super(...arguments),this.kind=s.default.SyntaxKind.LabeledStatement}visitNode(e,t,r){e.context.reportUnsupported(t)}}t.LabeledStatementCompiler=n},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.NotEmittedStatementCompiler=void 0;const s=r(18).__importDefault(r(21)),i=r(23);class n extends i.NodeCompiler{constructor(){super(...arguments),this.kind=s.default.SyntaxKind.NotEmittedStatement}visitNode(e,t,r){}}t.NotEmittedStatementCompiler=n},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ReturnStatementCompiler=void 0;const s=r(18),i=r(20),n=s.__importDefault(r(21)),a=r(44),o=r(23);class l extends o.NodeCompiler{constructor(){super(...arguments),this.kind=n.default.SyntaxKind.ReturnStatement}visitNode(e,t,r){const s=i.tsUtils.expression.getExpression(t);void 0===s?e.emitHelper(t,e.pushValueOptions(r),e.helpers.wrapUndefined):(e.visit(s,e.pushValueOptions(r)),a.handleReturnTypeAssignment(e.context,s)),e.emitHelper(t,r,e.helpers.return)}}t.ReturnStatementCompiler=l},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SwitchStatementCompiler=void 0;const s=r(18),i=r(20),n=s.__importDefault(r(21)),a=s.__importStar(r(34)),o=r(23);class l extends o.NodeCompiler{constructor(){super(...arguments),this.kind=n.default.SyntaxKind.SwitchStatement}visitNode(e,t,r){const s=e.pushValueOptions(r);e.withProgramCounter(r=>{const o=i.tsUtils.expression.getExpression(t),l=e.context.analysis.getType(o);let p=e.breakPCOptions(e.noPushValueOptions(s),r.getLast());void 0!==p.finallyPC&&(p=e.finallyPCOptions(p,r.getLast()));const c=i.tsUtils.statement.getCaseBlock(t),u=i.tsUtils.statement.getClauses(c),{found:d,statements:m}=u.reduce((e,t)=>{const{found:r,statements:s}=e;return r?{found:r,statements:s.concat(i.tsUtils.statement.getStatements(t))}:n.default.isDefaultClause(t)?{found:!0,statements:i.tsUtils.statement.getStatements(t)}:{found:!1,statements:s}},{found:!1,statements:[]}),h=e.scope.addUnique(),f=e.scope.addUnique();e.visit(o,s),e.scope.set(e,t,s,f),e.emitPushBoolean(o,!1),e.scope.set(e,t,s,h),u.forEach(r=>{n.default.isDefaultClause(r)||e.emitHelper(r,s,e.helpers.if({condition:()=>{const n=i.tsUtils.expression.getExpression(r);e.scope.get(e,t,s,f),e.visit(n,s),e.emitHelper(n,s,e.helpers.equalsEqualsEquals({leftType:l,rightType:e.context.analysis.getType(n)})),e.scope.get(e,t,s,h),e.emitOp(t,"BOOLOR")},whenTrue:()=>{e.emitPushBoolean(t,!0),e.scope.set(e,t,s,h),i.tsUtils.statement.getStatements(r).forEach(t=>{e.visit(t,p)})}}))}),d&&m.forEach(t=>{e.visit(t,p)}),e.emitPushInt(t,a.BREAK_COMPLETION)}),e.emitOp(t,"DROP")}}t.SwitchStatementCompiler=l},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ThrowStatementCompiler=void 0;const s=r(18),i=r(20),n=s.__importDefault(r(21)),a=r(23);class o extends a.NodeCompiler{constructor(){super(...arguments),this.kind=n.default.SyntaxKind.ThrowStatement}visitNode(e,t,r){const s=i.tsUtils.expression.getExpression(t);void 0===s?e.context.reportUnsupported(t):e.visit(s,e.pushValueOptions(r)),e.emitHelper(t,r,e.helpers.throw)}}t.ThrowStatementCompiler=o},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TryStatementCompiler=void 0;const s=r(18),i=r(20),n=r(25),a=s.__importDefault(r(21)),o=s.__importStar(r(34)),l=r(23);class p extends l.NodeCompiler{constructor(){super(...arguments),this.kind=a.default.SyntaxKind.TryStatement}visitNode(e,t,r){const s=i.tsUtils.statement.getCatchClause(t),a=i.tsUtils.statement.getFinallyBlock(t),l=()=>{void 0!==a&&(e.emitPushInt(t,o.FINALLY_COMPLETION),e.emitPushInt(t,o.FINALLY_COMPLETION),e.emitPushInt(t,o.FINALLY_COMPLETION))};if(e.withProgramCounter(n=>{e.withProgramCounter(o=>{let p=void 0===s?e.noCatchPCOptions(r):e.catchPCOptions(r,o.getLast());p=void 0===a?p:e.finallyPCOptions(p,n.getLast()),e.visit(i.tsUtils.statement.getTryBlock(t),p),l(),e.emitJmp(t,"JMP",n.getLast())});const o=void 0===a?r:e.finallyPCOptions(r,n.getLast());if(void 0!==s){const r=i.tsUtils.statement.getOnlyVariableDeclaration(s);e.emitOp(t,"DROP"),void 0===r?(e.emitOp(t,"DROP"),e.visit(i.tsUtils.statement.getBlock(s),o)):e.withScope(t,o,t=>{e.visit(r,e.setValueOptions(t)),e.visit(i.tsUtils.statement.getBlock(s),t)}),l()}}),void 0!==a){const t=e.scope.addUnique(),s=e.scope.addUnique();e.emitOp(a,"DROP"),e.scope.set(e,a,r,t),e.scope.set(e,a,r,s),e.visit(a,r),e.scope.get(e,a,r,t);const i=t=>()=>{e.emitOp(a,"DUP"),e.emitPushInt(a,t),e.emitOp(a,"NUMEQUAL")};e.emitHelper(a,r,e.helpers.case([{condition:i(o.FINALLY_COMPLETION),whenTrue:()=>{e.emitOp(a,"DROP")}},{condition:i(o.THROW_COMPLETION),whenTrue:()=>{e.emitOp(a,"DROP"),e.scope.get(e,a,r,s),e.emitHelper(a,r,e.helpers.throwCompletionBase)}},{condition:i(o.NORMAL_COMPLETION),whenTrue:()=>{e.emitOp(a,"DROP"),e.scope.get(e,a,r,s),e.emitHelper(a,r,e.helpers.return)}},void 0===r.breakPC?void 0:{condition:i(o.BREAK_COMPLETION),whenTrue:()=>{e.emitOp(a,"DROP"),e.emitHelper(a,r,e.helpers.break)}},void 0===r.continuePC?void 0:{condition:i(o.CONTINUE_COMPLETION),whenTrue:()=>{e.emitOp(a,"DROP"),e.emitHelper(a,r,e.helpers.continue)}}].filter(n.utils.notNull),()=>{e.emitOp(a,"DROP")}))}}}t.TryStatementCompiler=p},function(e,t,r){"use strict";
1Object.defineProperty(t,"__esModule",{value:!0}),t.VariableStatementCompiler=void 0;const s=r(18),i=r(20),n=s.__importDefault(r(21)),a=r(23);class o extends a.NodeCompiler{constructor(){super(...arguments),this.kind=n.default.SyntaxKind.VariableStatement}visitNode(e,t,r){if(e.visit(i.tsUtils.variable.getDeclarationList(t),r),i.tsUtils.modifier.isNamedExport(t)){const s=e.pushValueOptions(r);e.emitHelper(t,s,e.helpers.getCurrentModule),i.tsUtils.variable.getDeclarations(i.tsUtils.variable.getDeclarationList(t)).forEach(r=>{const n=i.tsUtils.node.getName(r);void 0!==n&&(e.emitOp(t,"DUP"),e.scope.get(e,t,s,n),e.emitHelper(t,s,e.helpers.export({name:i.tsUtils.node.getName(r)})))}),e.emitOp(t,"DROP")}}}t.VariableStatementCompiler=o},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WhileStatementCompiler=void 0;const s=r(18),i=r(20),n=s.__importDefault(r(21)),a=r(23);class o extends a.NodeCompiler{constructor(){super(...arguments),this.kind=n.default.SyntaxKind.WhileStatement}visitNode(e,t,r){const s=e.pushValueOptions(r);e.emitHelper(t,e.noPushValueOptions(s),e.helpers.forLoop({condition:()=>{const r=i.tsUtils.expression.getExpression(t);e.visit(r,s),e.emitHelper(t,s,e.helpers.toBoolean({type:e.context.analysis.getType(r)}))},each:r=>{e.visit(i.tsUtils.statement.getStatement(t),r)},cleanup:()=>{}}))}}t.WhileStatementCompiler=o},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.WithStatementCompiler=void 0;const s=r(18).__importDefault(r(21)),i=r(23);class n extends i.NodeCompiler{constructor(){super(...arguments),this.kind=s.default.SyntaxKind.WithStatement}visitNode(e,t,r){e.context.reportUnsupported(t)}}t.WithStatementCompiler=n},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.JumpTable=void 0;t.JumpTable=class{constructor(){this.mutableJumpNumber=0,this.mutableTable=[]}add(e,t,r){const s=this.mutableJumpNumber;this.mutableJumpNumber+=1;const{bytecode:i}=e.capture(()=>{r()});return this.mutableTable.push({jumpNumber:s,node:t,bytecode:i}
1),s}emitTable(e,t){this.mutableTable.forEach(({node:t,jumpNumber:r,bytecode:s})=>{e.emitHelper(t,{},e.helpers.if({condition:()=>{e.emitOp(t,"DUP"),e.emitPushInt(t,r),e.emitOp(t,"NUMEQUAL")},whenTrue:()=>{e.emitOp(t,"DROP"),e.emitBytecode(s)}}))}),e.emitOp(t,"THROW")}}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.resolveJumps=void 0;const s=r(232),i=r(233);class n{constructor(e,t){this.node=e,this.tags=t}get pc(){return this.resolvePC()}get prev(){return this.mutablePrev}set prev(e){this.mutablePC=void 0,this.mutablePrev=e}get next(){return this.mutableNext}set next(e){this.mutableNext=e}resolveAllPCs(){let e=this;for(;void 0!==e;)e.resolvePC(!0),e=e.next}resolvePC(e=!1){return(e||void 0===this.mutablePC||void 0!==this.prev&&void 0===this.prev.mutablePC)&&(this.mutablePC=void 0===this.prev?0:this.prev.pc+this.prev.length),this.mutablePC}}class a extends n{constructor(e,t,r){super(e,t),this.type=r,this.length=3}get target(){if(void 0===this.mutableTarget)throw new Error("Target not set");return this.mutableTarget}set target(e){this.mutableTarget=e}get isForwardJump(){return this.target.pc>this.pc}get isReverseJump(){return this.target.pc<this.pc}}class o extends n{constructor(){super(...arguments),this.length=5}}class l extends n{constructor(e,t,r){super(e,t),this.value=r,this.length=r.length}}class p extends n{constructor(e,t,r){super(e,["JumpStation"]),this.reverseTarget=r,this.length=t?9:6}get target(){return this.mutableTarget}set target(e){this.mutableTarget=e}}const c=(e,t)=>t instanceof p?t.pc>e.pc?new i.KnownProgramCounter(t.pc+6):new i.KnownProgramCounter(t.pc+3):new i.KnownProgramCounter(t.pc);t.resolveJumps=(e,t=32e3)=>{if(e.reduce((e,t)=>t instanceof s.Jump?e+3:t instanceof s.Line?e+5:e+t.length,0)<32e3)return e;const r=(e=>{const t={},r={},[i,n,p]=e[0];if(!(p instanceof s.Jump))throw new Error("Expected first bytecode to be a jump.");const c=new a(i,n,p.op),u=p.pc.getPC();t[u]=[c],r[0]=c;let d=c.length,m=c;return e.slice(1).forEach(([e,i,n])=>{let p;if(n instanceof s.Jump){const s=n.pc.getPC();let o;s<d?(o=new a(e,i,n.op),o.target=r[s]):(o=new a(e,i,n.op),void 0===t[s]&&(t[s]=[]),t[s].push(o)),p=o}else p=n instanceof s.Line?new o(e,i):new l(e,i,n);const c=t[d];void 0!==c&&c.forEach(e=>{e.target=p}),r[d]=p,d+=p.length,p.prev=m,m.next=p,m=p}),c})(e);return((e,t,r)=>{t.resolveAllPCs();const s=t;if(!(s instanceof a))throw new Error("Expected first codepoint to be a jump");const i=t.next;if(void 0===i)throw new Error("Expected at least two codepoints");let n,o=i,l=!1,c=s;for(;void 0!==c;){c instanceof a&&c.isReverseJump&&c.pc-c.target.pc>r&&(c.target=o);const t=o.pc+(void 0===n?0:3),i=c.next;if(void 0!==i&&i.pc-t+9>r){const t=!l&&s.target.pc-r>=i.pc;let a;t||l?(a=new p(e,t,o),t&&o instanceof p&&(o.target=a)):(a=new p(e,!0,o),a.target=s.target,o instanceof p&&(o.target=a),l=!0),void 0===n&&(n=a),o=a;const u=c.prev;void 0!==u&&(u.next=a),c.prev=a,a.next=c,a.prev=u}c=c.next}void 0!==n&&(s.target=n)})(e[0][0],r,t),(e=>{e.resolveAllPCs();let t=e;const r=[];for(;void 0!==t;){if(t instanceof a){const e=c(t,t.target);"CALL"===t.type?r.push([t.node,t.tags,new s.Call(e)]):r.push([t.node,t.tags,new s.Jmp(t.type,e)])}else if(t instanceof l)r.push([t.node,t.tags,t.value]);else if(t instanceof p){const e=t.target,n=new s.Jmp("JMP",c(t,t.reverseTarget));void 0===e?(r.push([t.node,t.tags,new s.Jmp("JMP",new i.KnownProgramCounter(t.pc+t.length))]),r.push([t.node,t.tags,n])):(r.push([t.node,t.tags,new s.Jmp("JMP",new i.KnownProgramCounter(t.pc+t.length))]),r.push([t.node,t.tags,n]),r.push([t.node,t.tags,new s.Jmp("JMP",c(t,e))]))}else{if(!(t instanceof o))throw new Error("Something went wrong.");r.push([t.node,t.tags,new s.Line])}t=t.next}return r})(r)}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.EmittingScriptBuilder=void 0;const s=r(25),i=r(155);
1class n extends i.BaseScriptBuilder{constructor({context:e,scopes:t,helpers:r,sourceFile:s,linked:i,contractInfo:n,allHelpers:a}){super(e,r,s,n,i,a),this.scopes=t}createScope(e,t){return s.utils.nullthrows(s.utils.nullthrows(this.scopes.get(e)).get(t))}}t.EmittingScriptBuilder=n},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.HelperCapturingScriptBuilder=void 0;const s=r(234);class i extends s.ScopeCapturingScriptBuilder{constructor(){super(...arguments),this.mutableCapturedHelpersSet=new Set,this.mutableCapturedHelpers=[]}getHelpers(){return[...this.mutableCapturedHelpers]}emitHelper(e,t,r){this.mutableCapturedHelpersSet.has(r)||(this.mutableCapturedHelpersSet.add(r),this.mutableCapturedHelpers.push(r),r.emitGlobal(this,e,t)),r.emit(this,e,t)}}t.HelperCapturingScriptBuilder=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0})},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Context=void 0;const s=r(18),i=r(20),n=s.__importDefault(r(29)),a=s.__importStar(r(21)),o=r(197),l=r(134),p=r(56),c=r(865),u=r(32),d=r(33),m=e=>`${e.file}:${e.start}:${e.length}:${e.code}`,h=e=>`${e.file}:${e.start}:${e.length}:${e.category}:${e.code}:${e.messageText}`;class f{constructor(e,t,r,s,i,n=[...a.default.getPreEmitDiagnostics(t)]){this.sourceFiles=e,this.program=t,this.typeChecker=r,this.languageService=s,this.host=i,this.mutableDiagnostics=n,this.analysis=new l.AnalysisService(this),this.builtins=p.createBuiltins(this)}get diagnostics(){const e=new Set;for(const t of this.mutableDiagnostics)t.category===a.DiagnosticCategory.Error&&e.add(m(t));const t=this.mutableDiagnostics.filter(t=>t.category===a.DiagnosticCategory.Error||!e.has(m(t)));return n.default.uniqBy(t,h)}update(e,t,r,s){return new f(e,t,r,s,this.host,[...this.mutableDiagnostics])}reportError(e,t,r,...s){this.isDeclarationFile(e)||this.mutableDiagnostics.push(new c.CompilerDiagnostic(e,this.getDiagnosticMessage(r,...s),t,a.default.DiagnosticCategory.Error))}reportWarning(e,t,r,...s){this.isDeclarationFile(e)||this.mutableDiagnostics.push(new c.CompilerDiagnostic(e,this.getDiagnosticMessage(r,...s),t,a.default.DiagnosticCategory.Warning))}reportUnsupported(e){this.reportError(e,u.DiagnosticCode.UnsupportedSyntax,d.DiagnosticMessage.UnsupportedSyntax)}reportUnsupportedEfficiency(e){this.reportError(e,u.DiagnosticCode.UnsupportedSyntax,d.DiagnosticMessage.EfficiencyUnsupportedSyntax)}reportTypeError(e){this.reportError(e,u.DiagnosticCode.UnknownType,d.DiagnosticMessage.CouldNotInferType)}reportTypeWarning(e){this.reportWarning(e,u.DiagnosticCode.UnknownType,d.DiagnosticMessage.CouldNotInferTypeDeopt)}getDiagnosticMessage(e,...t){const r=e.match(/%[dfijoOs]/g),s=(null===r?[]:r).length;if(s!==t.length)throw new Error(`The provided arguments length (${t.length}) does not match the required arguments length (${s})`);return o.format(e,...t)}isDeclarationFile(e){return i.tsUtils.file.isDeclarationFile(i.tsUtils.node.getSourceFile(e))}}t.Context=f},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CompilerDiagnostic=void 0;t.CompilerDiagnostic=class{constructor(e,t,r,s){this.messageText=t,this.code=r,this.category=s,this.file=e.getSourceFile(),this.start=e.getStart(),this.length=e.getWidth(),this.source="neo-one"}}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),r(18).__exportStar(r(867),t)},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.transpile=void 0;const s=r(18),i=r(20),n=r(868),a=s.__importDefault(r(21));t.transpile=({sourceFile:e,context:t})=>{const r=new n.Concatenator({context:{typeChecker:t.typeChecker,program:t.program,languageService:t.languageService,getSymbol:t.analysis.getSymbol.bind(t.analysis),isExternalFile:(e,r,s)=>!(!a.default.isImportDeclaration(s)||i.tsUtils.importExport.hasValueReference(t.program,t.languageService,s))||t.builtins.isBuiltinFile(e)},sourceFile:e}),s=r.sourceFiles;if(0!==s.length&&1!==s.length)return i.tsUtils.printBundle(t.program,s,r.substituteNode)}},function(e,t,r){"use strict";
1Object.defineProperty(t,"__esModule",{value:!0}),r(18).__exportStar(r(869),t)},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Concatenator=void 0;const s=r(18),i=r(20),n=r(25),a=s.__importDefault(r(29)),o=s.__importDefault(r(1063)),l=s.__importDefault(r(21));t.Concatenator=class{constructor(e){this.sourceFileImported=new Set,this.sourceFileToImports=new Map,this.substituteNode=(e,t)=>{if(l.default.isIdentifier(t)){const e=i.tsUtils.node.getParent(t);return void 0!==e&&l.default.isPropertyAccessExpression(e)&&i.tsUtils.node.getNameNode(e)===t?t:this.getIdentifierForIdentifier(t)}if(l.default.isImportDeclaration(t)){if(this.isExternalFileImportExport(t))return this.getCombinedImport(t);const e=i.tsUtils.importExport.getModuleSpecifierSourceFile(this.context.typeChecker,t),r=i.tsUtils.importDeclaration.getNamespaceImportIdentifier(t);if(void 0!==e&&void 0!==r){const s=i.tsUtils.file.getExportedSymbols(this.context.typeChecker,e);return i.tsUtils.setOriginalRecursive(l.default.createVariableStatement(void 0,l.default.createVariableDeclarationList([l.default.createVariableDeclaration(this.getIdentifierForIdentifier(r),void 0,l.default.createObjectLiteral(s.map(e=>{const t=i.tsUtils.symbol.getSymbolOrAlias(this.context.typeChecker,e),r=this.getIdentifierForSymbol(t);if(void 0!==r)return l.default.createPropertyAssignment(i.tsUtils.symbol.getName(e),r)}).filter(n.utils.notNull)))],l.default.NodeFlags.Const)),t)}return i.tsUtils.setOriginal(l.default.createNotEmittedStatement(t),t)}if(l.default.isExportDeclaration(t)){if(this.isEntryNode(t)){const e=this.isExternalFileImportExport(t)?t.moduleSpecifier:void 0,r=t.exportClause;let s=[];if(void 0===r){const e=i.tsUtils.importExport.getModuleSpecifierSourceFile(this.context.typeChecker,t);if(void 0!==e){const t=i.tsUtils.file.getExportedSymbols(this.context.typeChecker,e).filter(e=>this.isExportedSymbol(e));t.length>0&&(s=t.map(e=>{const t=i.tsUtils.symbol.getSymbolOrAlias(this.context.typeChecker,e),r=this.getIdentifierForSymbol(t),s=this.getIdentifierForSymbol(e);if(void 0!==r&&void 0!==s)return l.default.createExportSpecifier(r,s)}).filter(n.utils.notNull))}}else if(l.default.isNamedExports(r))s=r.elements.filter(e=>this.isExportedNode(e)).map(e=>{const t=i.tsUtils.node.getPropertyNameNode(e),r=i.tsUtils.node.getNameNode(e),s=this.getIdentifierForIdentifier(void 0===t?r:t);return r!==s?l.default.createExportSpecifier(s,r):e});else{const e=i.tsUtils.importExport.getModuleSpecifierSourceFile(this.context.typeChecker,t),s=r.name;if(void 0!==e){const r=i.tsUtils.file.getExportedSymbols(this.context.typeChecker,e);return i.tsUtils.setOriginalRecursive(l.default.createVariableStatement([l.default.createModifier(l.default.SyntaxKind.ExportKeyword)],l.default.createVariableDeclarationList([l.default.createVariableDeclaration(this.getIdentifierForIdentifier(s),void 0,l.default.createObjectLiteral(r.map(e=>{const t=i.tsUtils.symbol.getSymbolOrAlias(this.context.typeChecker,e),r=this.getIdentifierForSymbol(t);if(void 0!==r)return l.default.createPropertyAssignment(i.tsUtils.symbol.getName(e),r)}).filter(n.utils.notNull)))],l.default.NodeFlags.Const)),t)}}if(s.length>0)return i.tsUtils.setOriginalRecursive(l.default.createExportDeclaration(t.decorators,t.modifiers,l.default.createNamedExports(s),e),t)}return i.tsUtils.setOriginal(l.default.createNotEmittedStatement(t),t)}if(l.default.isExportAssignment(t)){const e=this.getIdentifierForNode(t);if(void 0===e)return t;const r=t.expression;return l.default.isFunctionExpression(r)?i.tsUtils.setOriginal(l.default.createFunctionDeclaration(r.decorators,r.modifiers,r.asteriskToken,e,r.typeParameters,r.parameters,r.type,r.body),t):i.tsUtils.setOriginalRecursive(l.default.createVariableStatement(void 0,l.default.createVariableDeclarationList([l.default.createVariableDeclaration(e,void 0,t.expression)],l.default.NodeFlags.Const)),t)}return l.default.isVariableStatement(t)&&i.tsUtils.modifier.isNamedExport(t)&&!this.isExportedEntryNode(t)?i.tsUtils.setOriginal(l.default.createVariableStatement(void 0===t.modifiers?void 0:t.modifiers.filter(e=>e.kind!==l.default.SyntaxKind.ExportKeyword),t.declarationList),t):l.default.isClassDeclaration(t)&&(i.tsUtils.modifier.isNamedExport(t)||i.tsUtils.modifier.isDefaultExport(t))&&!this.isExportedEntryNode(t)?i.tsUtils.setOriginal(l.default.updateClassDeclaration(t,t.decorators,void 0===t.modifiers?void 0:t.modifiers.filter(e=>e.kind!==l.default.SyntaxKind.ExportKeyword&&e.kind!==l.default.SyntaxKind.DefaultKeyword),t.name,t.typeParameters,t.heritageClauses,t.members),t):!l.default.isFunctionExpression(t)&&!l.default.isFunctionDeclaration(t)||!i.tsUtils.modifier.isNamedExport(t)&&!i.tsUtils.modifier.isDefaultExport(t)||this.isExportedEntryNode(t)?l.default.isInterfaceDeclaration(t)&&i.tsUtils.modifier.isNamedExport(t)&&!this.isExportedEntryNode(t)?i.tsUtils.setOriginal(l.default.createInterfaceDeclaration(t.decorators,this.filterModifiers(t.modifiers),t.name,t.typeParameters,t.heritageClauses,t.members),t):l.default.isTypeAliasDeclaration(t)&&i.tsUtils.modifier.isNamedExport(t)&&!this.isExportedEntryNode(t)?i.tsUtils.setOriginal(l.default.createTypeAliasDeclaration(t.decorators,this.filterModifiers(t.modifiers),t.name,t.typeParameters,t.type),t):l.default.isEnumDeclaration(t)&&(i.tsUtils.modifier.isNamedExport(t)||i.tsUtils.modifier.isDefaultExport(t))&&!this.isExportedEntryNode(t)?i.tsUtils.setOriginal(l.default.createEnumDeclaration(t.decorators,this.filterModifiers(t.modifiers),t.name,t.members),t):l.default.isModuleDeclaration(t)&&(i.tsUtils.modifier.isNamedExport(t)||i.tsUtils.modifier.isDefaultExport(t))&&!this.isExportedEntryNode(t)?i.tsUtils.setOriginal(l.default.createModuleDeclaration(t.decorators,this.filterModifiers(t.modifiers),t.name,t.body,t.flags),t):t:i.tsUtils.setOriginal(l.default.createFunctionDeclaration(t.decorators,this.filterModifiers(t.modifiers),t.asteriskToken,void 0===t.name?this.getIdentifierForNode(t):t.name,t.typeParameters,t.parameters,t.type,t.body),t)},this.sourceFile=e.sourceFile,this.sourceFileExportSymbols=new Set(i.tsUtils.file.getExportedSymbols(e.context.typeChecker,e.sourceFile)),this.context=e.context,this.sourceFiles=this.getAllSourceFiles(this.sourceFile),this.duplicateIdentifiers=this.getAllDuplicateIdentifiers(),this.consolidateAllImports()}getCombinedImport(e){const t=i.tsUtils.importExport.getModuleSpecifierSourceFile(this.context.typeChecker,e);if(void 0===t)return e;if(this.sourceFileImported.has(t))return i.tsUtils.setOriginal(l.default.createNotEmittedStatement
1(e),e);this.sourceFileImported.add(t);const r=this.sourceFileToImports.get(t);return void 0===r?i.tsUtils.setOriginal(l.default.createNotEmittedStatement(e),e):r}getAllSourceFiles(e){const t=this.getAllSourceFilesWorker(e),r=a.default.flatten([...t.entries()].map(([e,t])=>t.map(t=>[e.fileName,t.fileName]))),s=a.default.reverse(o.default(r)),i=new Map([...t.keys()].map(e=>[e.fileName,e]));return s.map(e=>i.get(e)).filter(n.utils.notNull)}getAllSourceFilesWorker(e){const t=new Map,r=e=>{const t=i.tsUtils.importExport.getModuleSpecifierSourceFile(this.context.typeChecker,e);if(!this.isExternalFileImportExport(e)&&void 0!==t)return this.sourceFileImported.add(t),t},s=i.tsUtils.statement.getStatements(e).filter(l.default.isImportDeclaration).map(r).filter(n.utils.notNull),a=i.tsUtils.statement.getStatements(e).filter(l.default.isExportDeclaration).map(r).filter(n.utils.notNull),o=[...new Set(s.concat(a))];return t.set(e,o),o.forEach(e=>{this.getAllSourceFilesWorker(e).forEach((e,r)=>{t.set(r,e)})}),t}getAllDuplicateIdentifiers(){const e=this.sourceFiles.map(e=>this.getAllIdentifiersForFile(e)),t=new Set;return e.forEach(r=>{r.forEach(s=>{!t.has(s)&&e.some(e=>r!==e&&e.has(s))&&t.add(s)})}),t}getAllIdentifiersForFile(e){const t=new Set,r=e=>{if(l.default.isIdentifier(e)&&this.isContainerSourceFileForDeclaration(e)){const r=this.getSymbol(e),s=void 0===r?[]:i.tsUtils.symbol.getDeclarations(r);void 0!==r&&s.length>0&&i.tsUtils.node.getSourceFile(e)===i.tsUtils.node.getSourceFile(s[0])&&t.add(i.tsUtils.symbol.getName(r))}l.default.forEachChild(e,r)};return l.default.forEachChild(e,r),t}consolidateAllImports(){this.sourceFiles.forEach(e=>{this.consolidateAllImportsForFile(e)})}consolidateAllImportsForFile(e){i.tsUtils.statement.getStatements(e).filter(l.default.isImportDeclaration).forEach(e=>{this.consolidateImports(e)})}consolidateImports(e){const t=i.tsUtils.importExport.getModuleSpecifierSourceFile(this.context.typeChecker,e);if(void 0===t)return;const r=i.tsUtils.importDeclaration.getNamedImports(e).map(e=>i.tsUtils.setOriginal(l.default.createImportSpecifier(void 0,void 0===e.propertyName?this.getIdentifierForIdentifier(e.name):this.getIdentifierForIdentifier(e.propertyName)),e)),s=this.sourceFileToImports.get(t),n=this.isExternalFileImportExport(e)?l.default.isStringLiteral(e.moduleSpecifier)?i.tsUtils.setOriginal(l.default.createStringLiteral(e.moduleSpecifier.text),e.moduleSpecifier):e.moduleSpecifier:i.tsUtils.setOriginal(l.default.createStringLiteral(i.tsUtils.file.getFilePath(t)),e.moduleSpecifier);if(void 0===s)this.sourceFileToImports.set(t,i.tsUtils.setOriginalRecursive(l.default.createImportDeclaration(void 0,void 0,l.default.createImportClause(void 0,l.default.createNamedImports(r)),n),e));else{const e=i.tsUtils.importDeclaration.getNamedImports(s),a=new Set(e.map(e=>e.name.text)),o=r.filter(e=>!a.has(e.name.text));this.sourceFileToImports.set(t,i.tsUtils.setOriginalRecursive(l.default.createImportDeclaration(void 0,void 0,l.default.createImportClause(void 0,l.default.createNamedImports(e.concat(o))),n),s))}}filterModifiers(e){if(void 0!==e)return e.filter(e=>e.kind!==l.default.SyntaxKind.ExportKeyword&&e.kind!==l.default.SyntaxKind.DefaultKeyword)}getIdentifierForIdentifier(e){if(!i.tsUtils.isOriginal(e))return e;const t=this.getIdentifierForNode(e);return void 0===t?e:t}getIdentifierForNode(e){const t=this.getIdentifierStringForSymbol(this.getSymbol(e));return void 0===t?void 0:i.tsUtils.setOriginal(l.default.createIdentifier(t),e)}getIdentifierForSymbol(e){const t=this.getIdentifierStringForSymbol(e);return void 0===t?void 0:l.default.createIdentifier(t)}getIdentifierStringForSymbol(e){if(void 0===e)return;if(this.sourceFileExportSymbols.has(e))return i.tsUtils.symbol.getName(e);let t;return this.isContainerSourceFileForDeclarationSymbol(e)&&(t=this.isDuplicateIdentifier(e)||"default"===i.tsUtils.symbol.getName(e)?`${i.tsUtils.symbol.getName(e)}${i.symbolKey(e)}`:i.tsUtils.symbol.getName(e)),t}isEntryNode(e){return i.tsUtils.node.getSourceFile(e)===this.sourceFile}isExportedEntryNode(e){return this.isExportedNode(e)&&this.isEntryNode(e)}isExportedNode(e){return this.isExportedSymbol(i.tsUtils.node.getSymbol(this.context.typeChecker,e))}isExportedSymbol(e){return void 0!==e&&this.sourceFileExportSymbols.has(e)}isDuplicateIdentifier(e){return this.duplicateIdentifiers.has(i.tsUtils.symbol.getName(e))}isContainerSourceFileForDeclaration(e){return this.isContainerSourceFileForDeclarationSymbol(this.getSymbol(e))}isContainerSourceFileForDeclarationSymbol(e){if(void 0===e)return!1;const t=i.tsUtils.symbol.getDeclarations(e);return t.length>0&&this.isContainerSourceFile(t[0])}isContainerSourceFile(e){const t=i.tsUtils.node.getFirstAncestorByTest(e,e=>l.default.isSourceFile(e)||l.default.isFunctionLike(e)||l.default.isBlock(e)||i.tsUtils.guards.isDeclaration(e));return void 0!==t&&l.default.isSourceFile(t)}isExternalFileImportExport(e){const t=i.tsUtils.importExport.getModuleSpecifier(e),r=i.tsUtils.importExport.getModuleSpecifierSourceFile(this.context.typeChecker,e);
1return void 0!==t&&void 0!==r&&this.context.isExternalFile(r,i.tsUtils.literal.getLiteralValue(t),e)}getSymbol(e){if(void 0!==this.context.getSymbol)return this.context.getSymbol(e);const t=i.tsUtils.node.getSymbol(this.context.typeChecker,e);return void 0===t?void 0:i.tsUtils.symbol.getSymbolOrAlias(this.context.typeChecker,t)}}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getSemanticDiagnostics=void 0;const s=r(20),i=r(194),n=r(109);t.getSemanticDiagnostics=({filePath:e,host:t,languageService:r})=>{const a=n.createContextForLanguageService(e,r,t);let o;try{o=s.tsUtils.file.getSourceFileOrThrow(a.program,e),i.compileForDiagnostics({sourceFile:o,context:a,sourceMaps:{}})}catch(e){}return void 0!==o?a.diagnostics.filter(e=>void 0===e.file||o===e.file):a.diagnostics}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.scan=t.scanContext=void 0;const s=r(18),i=r(20),n=r(25),a=s.__importDefault(r(21)),o=r(109),l=r(872);t.scanContext=e=>{const t=i.tsUtils.symbol.getDeclarations(e.builtins.getValueSymbol("SmartContract"))[0];if(!a.default.isClassDeclaration(t))throw new Error("Something went wrong!");const{contracts:r,dependencies:s}=i.tsUtils.class_.getExtendors(e.program,e.languageService,t).reduce((t,r)=>{if(!i.tsUtils.modifier.isAbstract(r)&&!i.tsUtils.file.isDeclarationFile(i.tsUtils.node.getSourceFile(r))){const s=i.tsUtils.file.getFilePath(i.tsUtils.node.getSourceFile(r)),n=i.tsUtils.node.getNameOrThrow(r);if(void 0!==t.contracts[s])throw new l.MultipleContractsInFileError(s);const a=[...new Set(i.tsUtils.reference.findReferencesAsNodes(e.program,e.languageService,r).map(e=>i.tsUtils.file.getFilePath(i.tsUtils.node.getSourceFile(e))))],o={filePath:s,name:n},p=a.reduce((e,t)=>{let r=e[t];return void 0===r&&(r=[]),Object.assign(Object.assign({},e),{[t]:[...r,o]})},t.dependencies);return{contracts:Object.assign(Object.assign({},t.contracts),{[s]:{filePath:s,name:n,dependencies:[]}}),dependencies:p}}return t},{contracts:{},dependencies:{}}),n=Object.values(r).map(e=>{const t=s[e.filePath];return Object.assign(Object.assign({},e),{dependencies:void 0===t?[]:t})});return p(n)};const p=e=>{const t=e.reduce((e,t)=>Object.assign(Object.assign({},e),{[t.filePath]:new Set(t.dependencies.map(e=>e.filePath))}),{}),r=[],s=e.filter(e=>0===e.dependencies.length);let i=e.filter(e=>0!==e.dependencies.length);for(;s.length>0;){const e=s.shift();if(void 0===e)break;r.push(e),i=i.map(r=>{const i=t[r.filePath];if(i.delete(e.filePath),0!==i.size)return r;s.push(r)}).filter(n.utils.notNull)}if(r.length!==e.length)throw new l.CircularLinkedDependencyError(e.map(e=>e.name));return r};t.scan=async(e,r)=>{const s=await o.createContextForDir(e,r);return t.scanContext(s)}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.CircularLinkedDependencyError=t.MultipleContractsInFileError=void 0;const s=r(25);t.MultipleContractsInFileError=s.makeErrorWithCode("MULTIPLE_CONTRACTS_IN_FILE",e=>"Only one contract is allowed per file: "+e),t.CircularLinkedDependencyError=s.makeErrorWithCode("CIRCULAR_LINKED_DEPENDENCY",e=>"Circular Dependency found in linked-contracts: "+e.join("\n"))},,function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const s=r(18);s.__exportStar(r(875),t),s.__exportStar(r(876),t),s.__exportStar(r(158),t),s.__exportStar(r(885),t)},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0})},function(e,t,r){"use strict";(function(e){Object.defineProperty(t,"__esModule",{value:!0}),t.deployContract=void 0;const s=r(18),i=r(24),n=r(25),a=s.__importDefault(r(69)),o=r(158);t.deployContract=async(t,r,s,l,p=n.constants.PRIVATE_NET_PRIVATE_KEY)=>{const{client:c,developerClient:u}=await o.getClients(t,p),d=i.crypto.toScriptHash(e.from(r.script,"hex"));try{return(await c.read(t.network).getContract(i.common.uInt160ToString(d))).address}catch(e){}const m=await c.publishAndDeploy(r,s,[],{systemFee:new a.default(-1)},l),[h]=await Promise.all([m.confirmed(),u.runConsensusNow()]);if("FAULT"===h.result.state)throw new Error(h.result.message);return h.result.value.address}}).call(this,r(26).Buffer)},,,,,,,,,function(e,t,r){"use strict";
1Object.defineProperty(t,"__esModule",{value:!0}),t.setupWallets=t.WALLETS=void 0;const s=r(18),i=r(24),n=r(84),a=r(25),o=s.__importDefault(r(69)),l=r(158);t.WALLETS=[{name:"alfa",wif:"KyX5sPKRpAMb3XAFLUrHv7u1LxKkKFrpyJDgE4kceRX9FRJ4WRCQ",publicKey:"0396b1b894ff7c6a7ee9f2a57d78e431d4b6e72d27d9c636b3a80eeee49eeee308",amount:new o.default("0")},{name:"bravo",wif:"L5LfJc2Ngsxu8ZFMvnJbYJ1QdQCstzRXmKLybsFS1aQFURkJ5CHS",publicKey:"022df3bc467853e7ff40f7eeef81d04031dedfbb7095ab67014df477f4b7043df2",amount:new o.default("1")},{name:"charlie",wif:"KxCH2Ei4TLqp2Qa7swz9bstQc5uREiCpvzvL9R6xLX8X5U8ZqeBj",publicKey:"03efd5b3b7109bf28336a38a322098e684c490e625d114ee3b20013ebc1f8e66c2",amount:new o.default("10")},{name:"delta",wif:"KyVvngWhhfHiociMuwyLmGw8xTu9myKXRnvv5Fes9jDMa2Zyc6P9",publicKey:"03af86b9d85d562ea00f95141fb1136f36c4a50b7799fbe54cf65d5d722d376f8d",amount:new o.default("100")},{name:"echo",wif:"L37qr7PWqWmgjUPfRC9mS78GjRxgGi4azySCsLUBMAa5hMka2JEm",publicKey:"02b29ac91eb8b50aec2195c125bddf6706e2813f9d586ec4209fcf7888cd7bd2bc",amount:new o.default("1000")},{name:"foxtrot",wif:"KwFf8gdSWxvC5Pp8AidNdF6mHqjH3CukyF3RnfwS5vzMQKLGTP13",publicKey:"02be1976e139e834de23012e3b9e209b72986341c644a5e05665238bdc8cd8e918",amount:new o.default("10000")},{name:"golf",wif:"Kyn2BN3QuHGYgkt9qJgvwzY8yH4xgTUAKwnGhvU1w8Nh3JnivrAr",publicKey:"03936152835e99aae441047688518a241187da4f752db4538970bcc32cde799bf9",amount:new o.default("100000")},{name:"hotel",wif:"L5UXfz1xyzDkghGwistNMCV8pbpU4fg14Ez9rfo1y4KgwiadnWX3",publicKey:"03d126072e62368c3933c073c147c45968ea7db1a3c9fee90ae1926dea1eab6bbe",amount:new o.default("1000000")},{name:"india",wif:"L5Yoq3X4ojx2FvZZxHbMcvT6var4LaXKHEpMYyyxw4jjhSUNJTRa",publicKey:"02afeb5b68738f2271a77ae47c9f7539559c0485bad1a14f8ae5910ec69744e5f7",amount:new o.default("5")},{name:"juliett",wif:"L1DWex8PtmQJH4GYK9YAuyzmotyL6anY937LxJF54iaALrTtxsD6",publicKey:"029c67f85d0ac0539e47ff92224be449332cab2cc38514b8e9cce7f9682ee270e2",amount:new o.default("20")}];t.setupWallets=async(e,r=a.constants.PRIVATE_NET_PRIVATE_KEY)=>{i.crypto.addPublicKey(i.common.stringToPrivateKey(a.constants.PRIVATE_NET_PRIVATE_KEY),i.common.stringToECPoint(a.constants.PRIVATE_NET_PUBLIC_KEY)),t.WALLETS.forEach(({wif:e,publicKey:t})=>{i.crypto.addPublicKey(i.common.stringToPrivateKey(i.wifToPrivateKey(e)),i.common.stringToECPoint(t))});const{client:s,developerClient:o,masterWallet:p}=await l.getClients(e,r),[c]=await Promise.all([s.getAccount({network:e.network,address:i.privateKeyToAddress(i.wifToPrivateKey(t.WALLETS[1].wif))}),Promise.all(t.WALLETS.map(async({wif:t})=>s.providers.memory.keystore.addUserAccount({network:e.network,privateKey:i.wifToPrivateKey(t)})))]);if(void 0===c.balances[n.Hash256.NEO]||c.balances[n.Hash256.NEO].isEqualTo(0)){const e=await s.transfer(t.WALLETS.reduce((e,t)=>{return e.concat((r=t,[{to:i.privateKeyToAddress(i.wifToPrivateKey(r.wif)),asset:n.Hash256.NEO,amount:r.amount},{to:i.privateKeyToAddress(i.wifToPrivateKey(r.wif)),asset:n.Hash256.GAS,amount:r.amount}]));var r},[]));await Promise.all([e.confirmed(),o.runConsensusNow()])}return{client:s,developerClient:o,masterWallet:p,wallets:t.WALLETS,accountIDs:t.WALLETS.map(({publicKey:t})=>({network:e.network,address:i.publicKeyToAddress(t)}))}}},function(e,t,r){"use strict";r.d(t,"a",(function(){return n}));var s=r(176),i=r(111);const n=async(e,t,r,n)=>{const a=Object(s.compileContract)(e,t,Object(i.a)({fs:n}),r),o=await a.sourceMap;return Object.assign(Object.assign({},a),{sourceMap:o,filePath:e,name:t})}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const s=r(18);s.__exportStar(r(888),t),s.__exportStar(r(904),t),s.__exportStar(r(915),t),s.__exportStar(r(916),t),s.__exportStar(r(163),t),s.__exportStar(r(162),t)},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.genFiles=void 0;const s=r(238),i=r(86),n=r(161),a=r(114);t.genFiles=({name:e,networksDefinition:t,sourceMapsPath:r,createContractPath:o,typesPath:l,abiPath:p,abi:c,browserify:u})=>({abi:n.formatFile(s.genABI(e,c),u),contract:n.formatFile(i.genContract({name:e,createContractPath:o,sourceMapsPath:r,typesPath:l,abiPath:
1p,networksDefinition:t}),u),types:n.formatFile(a.genSmartContractTypes(e,c),u)})},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.genABI=void 0;const s=r(18).__importDefault(r(71)),i=r(239);t.genABI=(e,t)=>({js:`export const ${i.getABIName(e)} = ${s.default(t,void 0,2)};`,ts:`import { ABI } from '@neo-one/client';\n\nexport const ${i.getABIName(e)}: ABI = ${s.default(t,void 0,2)};\n`})},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getRelativeImport=void 0;const s=r(18).__importStar(r(63)),i=r(240);t.getRelativeImport=(e,t)=>{return(e=>e.startsWith(".")?e:"./"+e)(i.normalizePath((r=s.relative(s.dirname(e),t),s.join(s.dirname(r),s.basename(r,r.endsWith(".jsx")?".jsx":r.endsWith(".tsx")?".tsx":r.endsWith(".js")?".js":r.endsWith(".d.ts")?".d.ts":".ts")))));var r}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.lowerCaseFirst=void 0;const s=r(25);t.lowerCaseFirst=s.camel},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.sanitizeName=void 0,t.sanitizeName=e=>e.replace(".","_")},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.toTypeScriptType=void 0;const s=r(25);t.toTypeScriptType=(e,{isParameter:r,includeOptional:i=!0,migration:n=!1})=>{const a=t=>(e=>n?`(${e} | Promise<${e}>)`:e)((t=>i&&e.optional?t+" | undefined":t)(t));switch(e.type){case"Signature":return a("SignatureString");case"Boolean":return a("boolean");case"Address":return a("AddressString");case"Hash256":return a("Hash256String");case"Buffer":return a("BufferString");case"PublicKey":return a("PublicKeyString");case"String":return a("string");case"Array":return a(`Array<${t.toTypeScriptType(e.value,{isParameter:r})}>`);case"Map":return a(`Map<${t.toTypeScriptType(e.key,{isParameter:r})}, ${t.toTypeScriptType(e.value,{isParameter:r})}>`);case"Object":return a(`{\n ${Object.entries(e.properties).reduce((e,[s,i])=>e.concat([`readonly '${s}': ${t.toTypeScriptType(i,{isParameter:r})}`]),[]).join("\n")}\n }`);case"Void":return"undefined";case"Integer":return a("BigNumber");case"ForwardValue":return a(r?"ForwardValue":"ContractParameter");default:throw s.utils.assertNever(e),new Error("Something went wrong")}}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.genContract=void 0;const s=r(18).__importDefault(r(71)),i=r(238),n=r(114),a=r(46),o=r(245);t.genContract=({name:e,createContractPath:t,typesPath:r,sourceMapsPath:l,abiPath:p,networksDefinition:c})=>{const u=a.getRelativeImport(t,r),d=n.getSmartContractName(e),m=a.getRelativeImport(t,p),h=a.getRelativeImport(t,l),f=i.getABIName(e);return{js:`import { ${f} } from '${m}';\nimport { sourceMaps } from '${h}';\n\nconst definition = {\n networks: ${s.default(c,void 0,2)},\n abi: ${f},\n sourceMaps,\n};\n\nexport const ${o.getCreateSmartContractName(e)} = (\n client,\n) => client.smartContract(definition);\n `,ts:`\nimport { Client } from '@neo-one/client';\nimport { ${d} } from '${u}';\nimport { ${f} } from '${m}';\nimport { sourceMaps } from '${h}';\n\nconst definition = {\n networks: ${s.default(c,void 0,2)},\n abi: ${f},\n sourceMaps,\n};\n\nexport const ${o.getCreateSmartContractName(e)} = <TClient extends Client>(\n client: TClient,\n): ${d}<TClient> => client.smartContract(definition);\n`}}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.genSmartContractTypes=void 0;const s=r(896),i=r(897),n=r(903),a=r(87),o=r(241);t.genSmartContractTypes=(e,t)=>{const r=void 0===t.events?[]:t.events,l=`export type ${a.getEventName(e)} = ${0===r.length?"never":r.map(t=>o.getSingleEventName(e,t.name)).join(" | ")}`,p=`\n${r.map(t=>s.genEvent(e,t)).join("\n")}\n${l}\n${n.genSmartContract(e,t)}\n${i.genMigrationSmartContract(e,t)}`,c=(e=>{const t=[];return e.includes("Client")&&t.push("Client"),e.includes("BufferString")&&t.push("BufferString"),e.includes("SignatureString")&&t.push("SignatureString"),e.includes("AddressString")&&t.push("AddressString"),e.includes("Hash256String")&&t.push("Hash256String"),e.includes("PublicKeyString")&&t.push("PublicKeyString"),e.includes("TransactionResult")&&t.push("TransactionResult"),e.includes("InvokeReceipt")&&t.push("InvokeReceipt"),e.includes("Event<")&&t.push("Event"),e.includes("InvokeSendUnsafeTransactionOptions")&&t.push("InvokeSendUnsafeTransactionOptions"),e.includes("InvokeReceiveTransactionOptions")&&t.push("InvokeReceiveTransactionOptions"),e.includes("InvokeSendUnsafeReceiveTransactionOptions")&&t.push("InvokeSendUnsafeReceiveTransactionOptions"),e.includes("TransactionReceipt")&&t.push("TransactionReceipt"),e.includes("ClaimTransaction")&&t.push("ClaimTransaction"),e.includes("InvocationTransaction")&&t.push("InvocationTransaction"),e.includes("TransactionOptions")&&t.push("TransactionOptions"),e.includes("GetOptions")&&t.push("GetOptions"),e.includes("ContractParameter")&&t.push("ContractParameter"),e.includes("ForwardValue")&&t.push("ForwardValue"),e.includes("SmartContract")&&t.push("SmartContract"),e.includes("Transfer,")&&t.push("Transfer"),e.includes("ForwardOptions")&&t.push("ForwardOptions"),t})(p);c.sort();const u=p.includes("BigNumber")?"\nimport BigNumber from 'bignumber.js';":"";return{ts:`${`import { ${c.join(", ")} } from '@neo-one/client';${u}`}\n\n${p}`}}},function(e,t,r){"use strict";
1Object.defineProperty(t,"__esModule",{value:!0}),t.genEvent=void 0;const s=r(46),i=r(241);t.genEvent=(e,t)=>{const r=i.getSingleEventName(e,t.name),n=r+"Parameters";return`export interface ${n} {\n ${t.parameters.map(e=>`readonly ${e.name}: ${s.toTypeScriptType(e,{isParameter:!0})};`).join("\n ")}\n}\nexport interface ${r} extends Event<'${t.name}', ${n}> {}`}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.genMigrationSmartContract=void 0;const s=r(242),i=r(243);t.genMigrationSmartContract=(e,t)=>s.genSmartContractBase(e,i.getMigrationSmartContractName(e),t,!0)},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.genConstantFunction=void 0;const s=r(46),i=r(160);t.genConstantFunction=(e,t)=>{const r=i.genFunctionParameters(e,void 0,t);return 1===r.length?`(${r[0]}) => Promise<${s.toTypeScriptType(e.returnType,{isParameter:!1})}>;`:`{\n ${r.map(t=>`(${t}): Promise<${s.toTypeScriptType(e.returnType,{isParameter:!1})}>;`).join(" \n")}\n}`}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.genForwardArgsFunction=void 0;const s=r(160),i=r(87);t.genForwardArgsFunction=(e,t,r,n)=>`(${s.genFunctionParameters(Object.assign(Object.assign({},t),{constant:!0}),r,n)[0]}) => [ForwardOptions<${i.getEventName(e)}>, ${r.map(()=>"ForwardValue").join(", ")}]`},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.genForwardReturnFunction=void 0;const s=r(46),i=r(87);t.genForwardReturnFunction=(e,t)=>{const r=s.toTypeScriptType(t.returnType,{isParameter:!1});return`{\n <T extends InvokeReceipt<ContractParameter>>(receipt: T): T extends InvokeReceipt<ContractParameter, infer E> ? InvokeReceipt<${r}, E | ${i.getEventName(e)}> : never;\n (result: ContractParameter): ${r}\n}`}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.genFunction=void 0;const s=r(46),i=r(160),n=r(87),a=r(902),o=(e,t)=>{if(t.claim)return"TransactionReceipt";const r=n.getEventName(e),i=a.hasForward(t)?`TForwardOptions extends ForwardOptions<infer T> ? ${r} | T : ${r}`:r;return`InvokeReceipt<${s.toTypeScriptType(t.returnType,{isParameter:!1})}, ${i}>`},l=e=>e.claim?"ClaimTransaction":"InvocationTransaction",p=e=>a.hasForward(e)?"<TForwardOptions extends ForwardOptions<any>>":"",c=(e,t,r=!1)=>i.genFunctionParameters(t,t.parameters,{migration:r}).map(r=>`${p(t)}(${r}): Promise<${((e,t)=>`TransactionResult<${o(e,t)}, ${l(t)}>`)(e,t)}>;`).join(" \n"),u=(e,t,r,s=!1)=>`${p(e)}(${t})${s?" =>":":"} Promise<${o(r,e)} & { readonly transaction: ${l(e)}}>;`,d=(e,t,r=!1)=>{const s=i.genFunctionParameters(t,t.parameters,{withConfirmedOptions:!0,migration:r});return 1===s.length?u(t,s[0],e,!0):`{\n ${s.map(r=>u(t,r,e)).join(" \n")}\n}`};t.genFunction=(e,t,r)=>r.migration?d(e,t,r.migration):`{\n ${c(e,t,r.migration)}\n readonly confirmed: ${d(e,t,r.migration)}\n}`},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.hasForward=void 0,t.hasForward=({parameters:e})=>void 0!==e&&e.length>0&&e[e.length-1].rest&&"ForwardValue"===e[e.length-1].type},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.genSmartContract=void 0;const s=r(242),i=r(244);t.genSmartContract=(e,t)=>s.genSmartContractBase(e,i.getSmartContractName(e),t)},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.genCommonBrowserFiles=void 0;const s=r(246),i=r(162),n=r(247),a=r(161),o=r(163),l=r(248),p=r(249),c=r(250),u=r(251);t.genCommonBrowserFiles=({contractsPaths:e,testPath:t,contractsPath:r,reactPath:d,angularPath:m,vuePath:h,clientPath:f,generatedPath:y,sourceMapsPath:g,localDevNetworkName:O,wallets:S,networks:b,sourceMaps:P,framework:v})=>({test:a.formatFile(c.genTest({contractsPaths:e,testPath:t,contractsPath:r,mod:"@neo-one/smart-contract-test-browser"}),!1),contracts:a.formatFile(n.genContracts({contractsPaths:e,contractsPath:r}),!1),sourceMaps:a.formatFile(p.genSourceMaps({sourceMapsPath:g,sourceMaps:P}),!1),react:a.formatFile(l.genReact({contractsPaths:e,reactPath:d,contractsPath:r,clientPath:f}),!1),angular:a.formatFile(s.genAngular({contractsPaths:e,angularPath:m,contractsPath:r,clientPath:f}),!1),vue:a.formatFile(u.genVue({contractsPaths:e,vuePath:h,contractsPath:r,clientPath:f}),!1),client:a.formatFile(i.genBrowserClient({localDevNetworkName:O,wallets:S,networks:b}),!1),generated:a.formatFile(o.genGenerated({contractsPaths:e,contractsPath:r,reactPath:d,angularPath:m,vuePath:h,clientPath:f,generatedPath:y,framework:v}),!1)})},function(e,t,r){"use strict";
1Object.defineProperty(t,"__esModule",{value:!0}),t.genAngular=void 0;const s=r(86),i=r(46);t.genAngular=({contractsPaths:e,angularPath:t,contractsPath:r,clientPath:n})=>{const a=i.getRelativeImport(t,n),o=e.map(({name:e,createContractPath:r})=>`import { ${s.getCreateSmartContractName(e)} } from '${i.getRelativeImport(t,r)}';`).join("\n"),l=e.map(({name:e})=>`this.${i.lowerCaseFirst(e)} = ${s.getCreateSmartContractName(e)}(this.client);`).join("\n "),p=e.map(({name:e})=>`public ${i.lowerCaseFirst(e)}: Contracts['${i.lowerCaseFirst(e)}'];`).join("\n "),c="@Injectable({\n providedIn: 'root'\n})",u=e=>`this.client = createClient(${e});\nthis.developerClients = createDeveloperClients(${e});\n${l}`,d=`constructor() {\n ${u("")}\n}`;return{js:`\nimport { Injectable } from '@angular/core';\nimport { createClient, createDeveloperClients } from '${a}';\n${o}\n\n${c}\nexport class ContractsService {\n ${d}\n\n setHost(host) {\n ${u("host")}\n }\n}\n `,ts:`\nimport { Injectable } from '@angular/core';\nimport { Client, DeveloperClients } from '@neo-one/client';\nimport { Contracts } from '${i.getRelativeImport(t,r)}';
1\nimport { createClient, createDeveloperClients } from '${a}';\n${o}\n\n${c}\nexport class ContractsService {\n public client: Client;\n public developerClients: DeveloperClients;\n ${p}\n\n ${d}\n\n public setHost(host?: string) {\n ${u("host")}\n }\n}\n `}}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.genBrowserClient=void 0,t.genBrowserClient=({localDevNetworkName:e,wallets:t,networks:r})=>{const s="({\n memory: new LocalUserAccountProvider({\n keystore: new LocalKeyStore(new LocalMemoryStore()),\n provider,\n }),\n });",i=` const providers = [\n ${r.filter(({name:t})=>t!==e).map(({name:e,rpcURL:t})=>`{ network: '${e}', rpcURL: '${t}' },`).join("\n ")}\n];\nif (process.env.NODE_ENV !== 'production' || process.env.NEO_ONE_DEV === 'true') {\n providers.push({ network: '${e}', rpcURL: getJSONRPCLocalProviderManager() });\n}\nconst provider = new NEOONEProvider(providers);\nconst userAccountProviders = getUserAccountProviders(provider);\nconst localUserAccountProviders = Object.values(userAccountProviders).filter(isLocalUserAccountProvider);\nconst localUserAccountProvider = localUserAccountProviders.find(\n (userAccountProvider) => userAccountProvider.keystore instanceof LocalKeyStore,\n);\nif (process.env.NODE_ENV !== 'production' || process.env.NEO_ONE_DEV === 'true') {\n if (localUserAccountProvider !== undefined) {\n const localKeyStore = localUserAccountProvider.keystore;\n if (localKeyStore instanceof LocalKeyStore) {\n Promise.all([\n ${t.map(({name:t,wif:r})=>`localKeyStore.addUserAccount({ network: '${e}', name: '${t}', privateKey: '${r}' }),`).join("\n ")}\n ]).catch(() => {\n // do nothing\n });\n }\n }\n}`,n=`({${r.filter(({name:t,dev:r})=>r&&t!==e).map(({name:e,rpcURL:t})=>`\n '${e}': new DeveloperClient(new NEOONEDataProvider({ network: '${e}', rpcURL: '${t}' })),`).join("")}\n'${e}': new DeveloperClient(new NEOONEDataProvider({ network: '${e}', rpcURL: getJSONRPCLocalProviderManager() })),\n});`;return{js:`\nimport {\n Client,\n DeveloperClient,\n LocalKeyStore,\n LocalMemoryStore,\n LocalUserAccountProvider,\n NEOONEProvider,\n NEOONEDataProvider,\n} from '@neo-one/client';\nimport { getJSONRPCLocalProviderManager } from '@neo-one/local-singleton';\n\nconst getDefaultUserAccountProviders = (provider) => ${s}\n\nconst isLocalUserAccountProvider = (userAccountProvider) =>\n userAccountProvider instanceof LocalUserAccountProvider;\n\nexport const createClient = (getUserAccountProviders = getDefaultUserAccountProviders) => {\n ${i}\n\n return new Client(userAccountProviders);\n};\n\nexport const createDeveloperClients = () => ${n}\n `,ts:`\nimport {\n Client,\n DeveloperClient,\n DeveloperClients,\n LocalKeyStore,\n LocalMemoryStore,\n LocalUserAccountProvider,\n NEOONEProvider,\n NEOONEDataProvider,\n UserAccountProviders,\n} from '@neo-one/client';\nimport { getJSONRPCLocalProviderManager } from '@neo-one/local-singleton';\n\nexport interface DefaultUserAccountProviders {\n readonly memory: LocalUserAccountProvider<LocalKeyStore, NEOONEProvider>,\n}\n\nconst getDefaultUserAccountProviders = (provider: NEOONEProvider) => ${s}\n\nconst isLocalUserAccountProvider = (userAccountProvider: any): userAccountProvider is LocalUserAccountProvider =>\n userAccountProvider instanceof LocalUserAccountProvider;\n\nexport const createClient = <TUserAccountProviders extends UserAccountProviders<any> = DefaultUserAccountProviders>(\n getUserAccountProviders: (provider: NEOONEProvider) => TUserAccountProviders = getDefaultUserAccountProviders,\n): Client<TUserAccountProviders extends UserAccountProviders<infer TUserAccountProvider> ? TUserAccountProvider : any, TUserAccountProviders> => {\n ${i}\n\n return new Client(userAccountProviders as any);\n}\n\nexport const createDeveloperClients = (): DeveloperClients => ${n}\n`}}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.genClient=void 0,t.genClient=({localDevNetworkName:e,localDevNetworkPort:t,wallets:r,networks:s})=>{const i=i=>`const providers = [\n ${s.filter(({name:t})=>t!==e).map(({name:e,rpcURL:t})=>`{ network: '${e}', rpcURL: '${t}' },`).join("\n ")}\n ];\n if (process.env.NODE_ENV !== 'production' || process.env.NEO_ONE_DEV === 'true') {\n providers.push({ network: '${e}', rpcURL: \`http://\${host}:${t}/rpc\` });\n }\n const provider = new NEOONEProvider(providers);\n const userAccountProviders = getUserAccountProviders(provider);\n const localUserAccountProviders = Object.values(userAccountProviders).filter(isLocalUserAccountProvider)${"ts"===i?" as LocalUserAccountProvider[]":""};\n const localUserAccountProvider = localUserAccountProviders.find(\n (userAccountProvider) => userAccountProvider.keystore instanceof LocalKeyStore,\n );\n if (process.env.NODE_ENV !== 'production' || process.env.NEO_ONE_DEV === 'true') {\n if (localUserAccountProvider !== undefined) {\n const localKeyStore = localUserAccountProvider.keystore;\n if (localKeyStore instanceof LocalKeyStore) {\n Promise.all([\n ${r.map(({name:t,wif:r})=>`localKeyStore.addUserAccount({ network: '${e}', name: '${t}', privateKey: '${r}' }),`).join("\n ")}\n ]).catch(() =>
1 {\n // do nothing\n });\n }\n }\n }`,n=`({${s.filter(({name:t,dev:r})=>r&&t!==e).map(({name:e,rpcURL:t})=>`\n '${e}': new DeveloperClient(new NEOONEDataProvider({ network: '${e}', rpcURL: '${t}' })),`).join("")}\n '${e}': new DeveloperClient(new NEOONEDataProvider({ network: '${e}', rpcURL: \`http://\${host}:${t}/rpc\` })),\n});`,a=e=>`{\n const localUserAccountProvider = {\n memory: new LocalUserAccountProvider({\n keystore: new LocalKeyStore(new LocalMemoryStore()),\n provider,\n })};\n\n const dapi = typeof globalThis === 'undefined' ? undefined : ${"ts"===e?"(globalThis as any)":"globalThis"}.neoDapi;\n if (dapi !== undefined) {\n return {...localUserAccountProvider, dapi: new DapiUserAccountProvider({ dapi, provider, onError: (error) => { throw error }})}\n }\n\n return localUserAccountProvider;\n };`;return{js:`\nimport {\n Client,\n DapiUserAccountProvider,\n DeveloperClient,\n LocalKeyStore,\n LocalMemoryStore,\n LocalUserAccountProvider,\n NEOONEProvider,\n NEOONEDataProvider,\n} from '@neo-one/client';\n\nconst getDefaultUserAccountProviders = (provider) => ${a("js")}\n\nconst isLocalUserAccountProvider = (userAccountProvider) =>\n userAccountProvider instanceof LocalUserAccountProvider;\n\nexport const createClient = (getUserAccountProvidersOrHost) => {\n let getUserAccountProviders = getDefaultUserAccountProviders;\n let host = 'localhost'\n if (typeof getUserAccountProvidersOrHost === 'string') {\n host = getUserAccountProvidersOrHost;\n } else if (getUserAccountProvidersOrHost != undefined) {\n getUserAccountProviders = getUserAccountProvidersOrHost;\n }\n\n ${i("js")}\n\n return new Client(userAccountProviders);\n};\n\nexport const createDeveloperClients = (host = 'localhost') => ${n}\n `,ts:`\nimport {\n Client,\n DapiUserAccountProvider,\n DeveloperClient,\n DeveloperClients,\n LocalKeyStore,\n LocalMemoryStore,\n LocalUserAccountProvider,\n NEOONEProvider,\n NEOONEDataProvider,\n UserAccountProviders,\n} from '@neo-one/client';\n\nexport interface DefaultUserAccountProviders {\n readonly memory: LocalUserAccountProvider<LocalKeyStore, NEOONEProvider>,\n}\n\nconst getDefaultUserAccountProviders = (provider: NEOONEProvider) => ${a("ts")}\n\nconst isLocalUserAccountProvider = (userAccountProvider: any): userAccountProvider is LocalUserAccountProvider =>\n userAccountProvider instanceof LocalUserAccountProvider;\n\nexport const createClient = <TUserAccountProviders extends UserAccountProviders<any> = DefaultUserAccountProviders>(\n getUserAccountProvidersOrHost: string | ((provider: NEOONEProvider) => TUserAccountProviders) = getDefaultUserAccountProviders as any,\n): Client<TUserAccountProviders extends UserAccountProviders<infer TUserAccountProvider> ? TUserAccountProvider : any, TUserAccountProviders> => {\n let getUserAccountProviders = getDefaultUserAccountProviders;\n let host = 'localhost'\n if (typeof getUserAccountProvidersOrHost === 'string') {\n host = getUserAccountProvidersOrHost;\n } else if (getUserAccountProvidersOrHost != undefined) {\n getUserAccountProviders = getUserAccountProvidersOrHost as any;\n }\n\n ${i("ts")}\n\n return new Client(userAccountProviders as any);\n}\n\nexport const createDeveloperClients = (host = 'localhost'): DeveloperClients => ${n}\n`}}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0})},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.genContracts=void 0;const s=r(18).__importDefault(r(29)),i=r(86),n=r(114),a=r(46);t.genContracts=({contractsPaths:e,contractsPath:t})=>{const r=s.default.sortBy(e,[({name:e})=>e]),o=r.map(({name:e,createContractPath:r})=>`import { ${i.getCreateSmartContractName(e)} } from '${a.getRelativeImport(t,r)}'`).join("\n"),l=`({\n ${r.map(({name:e})=>`${a.lowerCaseFirst(e)}: ${i.getCreateSmartContractName(e)}(client),`).join("\n ")}\n });`;return{js:`${o}\n\nexport const createContracts = (client) => ${l}\n `,ts:`import { Client } from '@neo-one/client';\n\n${r.map(({name:e,typesPath:r})=>`import { ${n.getSmartContractName(e)}, ${n.getMigrationSmartContractName(e)} } from '${a.getRelativeImport(t,r)}'`).join("\n")}\n\n${o}\n\nexport interface Contracts<TClient extends Client = Client> {\n ${r.map(({name:e})=>`readonly ${a.lowerCaseFirst(e)}: ${n.getSmartContractName(e)}<TClient>;`).join("\n ")}\n}\n// Refer to the MigrationSmartContract documentation at https://neo-one.io/docs/deployment for more information.\nexport interface MigrationContracts {\n ${r.map(({name:e})=>`readonly ${a.lowerCaseFirst(e)}: ${n.getMigrationSmartContractName(e)};`).join("\n ")}\n}\n\nexport const createContracts = <TClient extends Client>(client: TClient): Contracts<TClient> => ${l};\n`}}},function(e,t,r){"use strict";
1Object.defineProperty(t,"__esModule",{value:!0}),t.genGenerated=void 0;const s=r(18).__importDefault(r(29)),i=r(46),n=(e,t)=>`export * from '${i.getRelativeImport(e,t)}';`,a=(e,t)=>"\n"+n(e,t);t.genGenerated=({contractsPaths:e,contractsPath:t,reactPath:r,angularPath:i,vuePath:o,clientPath:l,generatedPath:p,framework:c})=>({ts:`\n${n(p,t)}${"react"===c?a(p,r):""}${"angular"===c?a(p,i):""}${"vue"===c?a(p,o):""}\n${n(p,l)}\n${s.default.flatMap(e,({createContractPath:e,typesPath:t,abiPath:r})=>[e,t,r]).map(e=>n(p,e)).join("\n")}\n`,js:`\n${"react"===c?a(p,r):""}${"angular"===c?a(p,i):""}${"vue"===c?a(p,o):""}\n${n(p,l)}\n${s.default.flatMap(e,({createContractPath:e,abiPath:t})=>[e,t]).map(e=>n(p,e)).join("\n")}\n`})},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.genReact=void 0;const s=r(86),i=r(46);t.genReact=({contractsPaths:e,reactPath:t,contractsPath:r,clientPath:n})=>{const a=`{\n const client = clientIn === undefined ? createClient(host) : clientIn;\n const developerClients = developerClientsIn === undefined ? createDeveloperClients(host) : developerClientsIn;\n DeveloperTools.enable({ client, developerClients });\n\n return (\n <Context.Provider\n value={{\n client,\n developerClients,\n ${e.map(({name:e})=>`${i.lowerCaseFirst(e)}: ${s.getCreateSmartContractName(e)}(client),`).join("\n ")}\n }}\n >\n {children}\n </Context.Provider>\n );\n};`,o=e.map(({name:e,createContractPath:r})=>`import { ${s.getCreateSmartContractName(e)} } from '${i.getRelativeImport(t,r)}';`).join("\n"),l="(\n <Context.Consumer>\n {children}\n </Context.Consumer>\n);";return{js:`\nimport { DeveloperTools } from '@neo-one/client';\nimport * as React from 'react';\nimport { createClient, createDeveloperClients } from '${i.getRelativeImport(t,n)}';\n${o}\n\nconst Context = React.createContext(undefined);\n\nexport const ContractsProvider = ({\n client: clientIn,\n developerClients: developerClientsIn,\n localClients: localClientsIn,\n host,\n children,\n}) => ${a}\n\nexport const WithContracts = ({ children }) => ${l}\n\nexport const useContracts = () => React.useContext(Context);\n`,ts:`\nimport { Client, DeveloperClients, DeveloperTools } from '@neo-one/client';\nimport * as React from 'react';\nimport { Contracts } from '${i.getRelativeImport(t,r)}';
1\nimport { createClient, createDeveloperClients } from '${i.getRelativeImport(t,n)}';\n${o}\n\nexport interface WithClients<TClient extends Client> {\n readonly client: TClient;\n readonly developerClients: DeveloperClients;\n readonly host?: string;\n}\nexport type ContractsWithClients<TClient extends Client> = Contracts & WithClients<TClient>;\n\nconst Context = React.createContext<ContractsWithClients<any>>(undefined as any);\n\nexport type ContractsProviderProps<TClient extends Client> = Partial<WithClients<TClient>> & {\n readonly children?: React.ReactNode;\n}\nexport const ContractsProvider = <TClient extends Client>({\n client: clientIn,\n developerClients: developerClientsIn,\n host,\n children,\n}: ContractsProviderProps<TClient>) => ${a}\n\nexport interface WithContractsProps<TClient extends Client> {\n readonly children: (contracts: ContractsWithClients<TClient>) => React.ReactNode;\n}\nexport const WithContracts = <TClient extends Client>({ children }: WithContractsProps<TClient>) => ${l}\n\nexport const useContracts = <TClient extends Client>(): ContractsWithClients<TClient> => React.useContext(Context);\n `}}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.genSourceMaps=void 0;const s=r(18),i=s.__importDefault(r(29)),n=s.__importStar(r(63)),a=s.__importDefault(r(71)),o=(e,t)=>i.default.fromPairs(Object.entries(t).map(([t,r])=>[t,Object.assign(Object.assign({},r),{sources:r.sources.map(t=>n.relative(n.dirname(e),t))})]));t.genSourceMaps=({sourceMapsPath:e,sourceMaps:t})=>({js:`\nlet sourceMapsIn = {};\n\nif (process.env.NODE_ENV !== 'production' || process.env.NEO_ONE_DEV === 'true') {\n sourceMapsIn = ${a.default(o(e,t))};\n}\n\nexport const sourceMaps = sourceMapsIn;\n`,ts:`\nimport { SourceMaps } from '@neo-one/client';\n\nlet sourceMapsIn: SourceMaps = {};\n\nif (process.env.NODE_ENV !== 'production' || process.env.NEO_ONE_DEV === 'true') {\n sourceMapsIn = ${a.default(o(e,t))} as any;\n}\n\nexport const sourceMaps: SourceMaps = sourceMapsIn;\n`})},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.genTest=void 0;const s=r(18).__importStar(r(63)),i=r(46);t.genTest=({contractsPaths:e,testPath:t,contractsPath:r,mod:n="@neo-one/smart-contract-test"})=>{const a=`createWithContracts([\n ${e.map(({name:e,contractPath:r})=>`{ name: '${e}', filePath: path.resolve(__dirname, '${i.normalizePath(s.relative(s.dirname(t),r))}') }`).join(", ")}\n]);`;return{js:`\nimport { createWithContracts } from '${n}';\nimport * as path from 'path';\n\nexport const withContracts = ${a}\n`,ts:`\nimport { createWithContracts, TestOptions, WithContractsOptions } from '${n}';\nimport { Contracts } from '${i.getRelativeImport(t,r)}';
1\nimport * as path from 'path';\n\nexport const withContracts: (\n test: (contracts: Contracts & TestOptions) => Promise<void>,\n options?: WithContractsOptions,\n) => Promise<void> = ${a}\n`}}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.genVue=void 0;const s=r(86),i=r(46);t.genVue=({contractsPaths:e,vuePath:t,contractsPath:r,clientPath:n})=>{const a=i.getRelativeImport(t,n),o=e.map(({name:e,createContractPath:r})=>`import { ${s.getCreateSmartContractName(e)} } from '${i.getRelativeImport(t,r)}';`).join("\n"),l=e.map(({name:e})=>`this.${i.lowerCaseFirst(e)} = ${s.getCreateSmartContractName(e)}(this.client);`).join("\n "),p=e.map(({name:e})=>`public ${i.lowerCaseFirst(e)}: Contracts['${i.lowerCaseFirst(e)}'];`).join("\n "),c=e=>`this.client = createClient(${e});\nthis.developerClients = createDeveloperClients(${e});\n${l}`,u=`constructor() {\n ${c("")}\n}`;return{js:`\nimport { createClient, createDeveloperClients } from '${a}';\n${o}\n\nexport class ContractsService {\n ${u}\n\n setHost(host) {\n ${c("host")}\n }\n}\n\nexport const contractsService = new ContractsService();\n `,ts:`\nimport { Client, DeveloperClients } from '@neo-one/client';\nimport { createClient, createDeveloperClients } from '${a}';\nimport { Contracts } from '${i.getRelativeImport(t,r)}';
1\n${o}\n\nexport class ContractsService {\n public client: Client;\n public developerClients: DeveloperClients;\n ${p}\n\n ${u}\n\n public setHost(host?: string) {\n ${c("host")}\n }\n}\n\nexport const contractsService = new ContractsService();\n `}}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.genCommonFiles=void 0;const s=r(246),i=r(162),n=r(247),a=r(161),o=r(163),l=r(248),p=r(249),c=r(250),u=r(251);t.genCommonFiles=({contractsPaths:e,testPath:t,contractsPath:r,reactPath:d,angularPath:m,vuePath:h,clientPath:f,generatedPath:y,sourceMapsPath:g,localDevNetworkName:O,localDevNetworkPort:S,wallets:b,networks:P,sourceMaps:v,framework:C,browserify:x})=>({test:a.formatFile(c.genTest({contractsPaths:e,testPath:t,contractsPath:r}),x),contracts:a.formatFile(n.genContracts({contractsPaths:e,contractsPath:r}),x),sourceMaps:a.formatFile(p.genSourceMaps({sourceMapsPath:g,sourceMaps:v}),x),react:a.formatFile(l.genReact({contractsPaths:e,reactPath:d,contractsPath:r,clientPath:f}),x),angular:a.formatFile(s.genAngular({contractsPaths:e,angularPath:m,contractsPath:r,clientPath:f}),x),vue:a.formatFile(u.genVue({contractsPaths:e,vuePath:h,contractsPath:r,clientPath:f}),x),client:a.formatFile(i.genClient({localDevNetworkName:O,localDevNetworkPort:S,wallets:b,networks:P}),x),generated:a.formatFile(o.genGenerated({contractsPaths:e,contractsPath:r,reactPath:d,angularPath:m,vuePath:h,clientPath:f,generatedPath:y,framework:C}),x)})},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0})},,,,,,,,,,,,,,,,,,,,,,,,,,,,function(e,t){},,,function(e,t){},function(e,t){},,,,function(e,t){},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(e,t){},function(e,t){},function(e,t){},function(e,t){},function(e,t){},function(e,t){},function(e,t){},function(e,t){function r(e){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}r.keys=function(){return[]},r.resolve=r,e.exports=r,r.id=1036},function(e,t){}]); 2//# sourceMappingURL=workers.15.bd61f188.js.map
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.