UNPKG

@neo-one/smart-contract-compiler

Version:

NEO•ONE TypeScript smart contract compiler.

66 lines (64 loc) 16.3 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var DiagnosticMessage; (function (DiagnosticMessage) { DiagnosticMessage["UnsupportedSyntax"] = "Unsupported syntax."; DiagnosticMessage["EfficiencyUnsupportedSyntax"] = "Unsupported syntax. This is not supported because it would result in inefficient smart contract code"; DiagnosticMessage["CouldNotInferType"] = "Could not infer type. Please add an explicit type annotation."; DiagnosticMessage["CouldNotInferTypeDeopt"] = "Could not infer type. Deoptimized implementation will be used. Add an explicit type annotation "; DiagnosticMessage["CouldNotInferSymbol"] = "Could not infer symbol."; DiagnosticMessage["CouldNotInferSymbolDeopt"] = "Could not infer symbol. Deoptimized implementation will be used."; DiagnosticMessage["CannotImplementBuiltin"] = "Built-ins cannot be implemented."; DiagnosticMessage["CannotReferenceBuiltinProperty"] = "Builtin properties cannot be referenced"; DiagnosticMessage["CannotModifyBuiltin"] = "Builtins cannot be modified"; DiagnosticMessage["CannotIndexBuiltin"] = "Builtin properties cannot be referenced"; DiagnosticMessage["CannotReferenceBuiltin"] = "Builtins cannot be referenced"; DiagnosticMessage["CannotInstanceofBuiltin"] = "Builtins cannot be checked with instanceof"; DiagnosticMessage["InvalidSyscall"] = "First argument to syscall must be a string literal corresponding to a NEO syscall."; DiagnosticMessage["DeployReserved"] = "The deploy method is reserved in SmartContract instances."; DiagnosticMessage["InvalidContractEventNameStringLiteral"] = "Invalid SmartContract event. Event name must be a string literal."; DiagnosticMessage["InvalidContractEventMissingType"] = "Invalid SmartContract event. Argument type must be explicitly defined."; DiagnosticMessage["InvalidContractType"] = "Invalid SmartContract type. See https://neo-one.io/docs/methods#Parameter-and-Return-Types for valid parameter and return types."; DiagnosticMessage["InvalidContractStorageType"] = "Invalid SmartContract storage type. See https://neo-one.io/docs/properties-and-storage#Storage-Types for valid storage types."; DiagnosticMessage["InvalidContractEventArgStringLiteral"] = "Invalid SmartContract event. Argument must be a string literal."; DiagnosticMessage["InvalidContractEventDeclaration"] = "Invalid SmartContract event. Event must be assigned to a variable."; DiagnosticMessage["InvalidContractPropertiesMissing"] = "Invalid SmartContract. Properties must be defined."; DiagnosticMessage["InvalidContractPropertiesInitializer"] = "Invalid SmartContract. Properties must be defined with an object literal of literal properties."; DiagnosticMessage["InvalidContractMethodMultipleSignatures"] = "Invalid SmartContract method. Method must have one call signature"; DiagnosticMessage["InvalidContractConstructor"] = "Expected a single constructor declaration"; DiagnosticMessage["InvalidContractExtends"] = "Expected a single class declaration"; DiagnosticMessage["InvalidContractMultipleInFile"] = "Multiple exported SmartContracts in one file is not supported."; DiagnosticMessage["InvalidContractPropertyReserved"] = "%s is a reserved property name in SmartContracts."; DiagnosticMessage["InvalidContractMethodReserved"] = "%s is a reserved method name in SmartContracts."; DiagnosticMessage["InvalidContractMethodConstantNative"] = "SmartContract methods marked with @send, @sendUnsafe, @receive or @claim cannot be @constant."; DiagnosticMessage["InvalidContractAbstract"] = "Cannot compile abstract SmartContract."; DiagnosticMessage["InvalidContractNew"] = "Cannot construct a SmartContract"; DiagnosticMessage["InvalidContractMethodNativeReturn"] = "SmartContract methods marked with @claim must return void."; DiagnosticMessage["InvalidContractTypeForwardNative"] = "Cannot use ForwardValue or ForwardedValue as parameters for methods marked with @send, @sendUnsafe, @receive or @claim."; DiagnosticMessage["SyscallReturnTypeExplicitCast"] = "Syscall return type must be explicitly casted to expected type."; DiagnosticMessage["UnknownReference"] = "Unknown reference %s"; DiagnosticMessage["UnknownModule"] = "Unknown module %s"; DiagnosticMessage["MultipleSignatures"] = "Found multiple call signatures for property. Only one call signature is allowed."; DiagnosticMessage["MissingParameterDeclaration"] = "Could not find param declaration for parameter %s."; DiagnosticMessage["ResolveOneType"] = "Expected type to resolve to one known type"; DiagnosticMessage["InvalidAddress"] = "Argument to Address.from must be a string literal address."; DiagnosticMessage["InvalidHash256"] = "Argument to Hash256.from must be a string literal hash256."; DiagnosticMessage["InvalidPublicKey"] = "Argument to PublicKey.from must be a string literal publicKey."; DiagnosticMessage["EventNotifierArguments"] = "The arguments to createEventNotifier must be string literals."; DiagnosticMessage["InvalidBuiltinCall"] = "Value is not callable."; DiagnosticMessage["InvalidBuiltinCallArgument"] = "Call parameter is ambiguous in relation to the provided argument."; DiagnosticMessage["InvalidBuiltinAssignment"] = "Assignment (%s => %s) is ambiguous in relation to the provided expression."; DiagnosticMessage["InvalidLinkedSmartContractDeclaration"] = "Expected a valid declaration for a linked smart contract."; DiagnosticMessage["InvalidLinkedSmartContractMissing"] = "Missing linked smart contract dependency %s"; DiagnosticMessage["InvalidCurrentTimeOffsetNumericLiteral"] = "Deploy.currentTime must have a numeric literal for the offset."; DiagnosticMessage["InvalidCurrentTimeParameterUsage"] = "Deploy.currentTime may only be used as the default value for a constructor parameter."; DiagnosticMessage["InvalidSenderAddressParameterUsage"] = "Deploy.senderAddress may only be used as the default value for a constructor parameter."; DiagnosticMessage["InvalidStructuredStorageForProperty"] = "Persistent storage classes may only be used as SmartContract private or protected readonly properties with a property initializer."; DiagnosticMessage["InvalidStructuredStorageForLength"] = "Could not statically analyze structured storage key length."; DiagnosticMessage["CompilationFailedPleaseReport"] = "Compilation failed for an unknown error, please report"; DiagnosticMessage["InvalidContractPropertyIdentifier"] = "SmartContracts cannot have computed methods or properties."; DiagnosticMessage["InvalidContractPropertyOrMethodStatic"] = "SmartContracts cannot have static methods or properties."; DiagnosticMessage["UnsupportedDecorator"] = "Custom decorators are not supported"; DiagnosticMessage["InvalidContractEventDuplicate"] = "Duplicate event. Only one event is allowed per name."; })(DiagnosticMessage = exports.DiagnosticMessage || (exports.DiagnosticMessage = {})); //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkRpYWdub3N0aWNNZXNzYWdlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsSUFBWSxpQkEyRFg7QUEzREQsV0FBWSxpQkFBaUI7SUFDM0IsOERBQXlDLENBQUE7SUFDekMseUpBQW9JLENBQUE7SUFDcEksd0dBQW1GLENBQUE7SUFDbkYsK0lBQTBILENBQUE7SUFDMUgsb0VBQStDLENBQUE7SUFDL0Msa0hBQTZGLENBQUE7SUFDN0YsZ0ZBQTJELENBQUE7SUFDM0QsK0ZBQTBFLENBQUE7SUFDMUUsd0VBQW1ELENBQUE7SUFDbkQsbUZBQThELENBQUE7SUFDOUQsNkVBQXdELENBQUE7SUFDeEQsMkZBQXNFLENBQUE7SUFDdEUsMEhBQXFHLENBQUE7SUFDckcsaUdBQTRFLENBQUE7SUFDNUUsZ0lBQTJHLENBQUE7SUFDM0csK0hBQTBHLENBQUE7SUFDMUcsNktBQXdKLENBQUE7SUFDeEosaUxBQTRKLENBQUE7SUFDNUosNkhBQXdHLENBQUE7SUFDeEcsMkhBQXNHLENBQUE7SUFDdEcsNEdBQXVGLENBQUE7SUFDdkYsNkpBQXdJLENBQUE7SUFDeEksa0lBQTZHLENBQUE7SUFDN0csNkZBQXdFLENBQUE7SUFDeEUsbUZBQThELENBQUE7SUFDOUQscUhBQWdHLENBQUE7SUFDaEcsMEdBQXFGLENBQUE7SUFDckYsc0dBQWlGLENBQUE7SUFDakYsMEpBQXFJLENBQUE7SUFDckksdUZBQWtFLENBQUE7SUFDbEUsNEVBQXVELENBQUE7SUFDdkQscUhBQWdHLENBQUE7SUFDaEcsaUxBQTRKLENBQUE7SUFDNUosc0hBQWlHLENBQUE7SUFDakcsOERBQXlDLENBQUE7SUFDekMsd0RBQW1DLENBQUE7SUFDbkMsNEhBQXVHLENBQUE7SUFDdkcsdUdBQWtGLENBQUE7SUFDbEYsa0ZBQTZELENBQUE7SUFDN0Qsa0dBQTZFLENBQUE7SUFDN0Usa0dBQTZFLENBQUE7SUFDN0Usd0dBQW1GLENBQUE7SUFDbkYsNkdBQXdGLENBQUE7SUFDeEYsa0VBQTZDLENBQUE7SUFDN0MscUhBQWdHLENBQUE7SUFDaEcsNEhBQXVHLENBQUE7SUFDdkcsd0hBQW1HLENBQUE7SUFDbkcsc0dBQWlGLENBQUE7SUFDakYsOEhBQXlHLENBQUE7SUFDekcsK0lBQTBILENBQUE7SUFDMUgsbUpBQThILENBQUE7SUFDOUgsK0xBQTBLLENBQUE7SUFDMUssc0hBQWlHLENBQUE7SUFDakcsNkdBQXdGLENBQUE7SUFDeEYscUhBQWdHLENBQUE7SUFDaEcsdUhBQWtHLENBQUE7SUFDbEcsaUZBQTRELENBQUE7SUFDNUQsMkdBQXNGLENBQUE7QUFDeEYsQ0FBQyxFQTNEVyxpQkFBaUIsR0FBakIseUJBQWlCLEtBQWpCLHlCQUFpQixRQTJENUIiLCJmaWxlIjoibmVvLW9uZS1zbWFydC1jb250cmFjdC1jb21waWxlci9zcmMvRGlhZ25vc3RpY01lc3NhZ2UuanMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZW51bSBEaWFnbm9zdGljTWVzc2FnZSB7XG4gIFVuc3VwcG9ydGVkU3ludGF4ID0gJ1Vuc3VwcG9ydGVkIHN5bnRheC4nLFxuICBFZmZpY2llbmN5VW5zdXBwb3J0ZWRTeW50YXggPSAnVW5zdXBwb3J0ZWQgc3ludGF4LiBUaGlzIGlzIG5vdCBzdXBwb3J0ZWQgYmVjYXVzZSBpdCB3b3VsZCByZXN1bHQgaW4gaW5lZmZpY2llbnQgc21hcnQgY29udHJhY3QgY29kZScsXG4gIENvdWxkTm90SW5mZXJUeXBlID0gJ0NvdWxkIG5vdCBpbmZlciB0eXBlLiBQbGVhc2UgYWRkIGFuIGV4cGxpY2l0IHR5cGUgYW5ub3RhdGlvbi4nLFxuICBDb3VsZE5vdEluZmVyVHlwZURlb3B0ID0gJ0NvdWxkIG5vdCBpbmZlciB0eXBlLiBEZW9wdGltaXplZCBpbXBsZW1lbnRhdGlvbiB3aWxsIGJlIHVzZWQuIEFkZCBhbiBleHBsaWNpdCB0eXBlIGFubm90YXRpb24gJyxcbiAgQ291bGROb3RJbmZlclN5bWJvbCA9ICdDb3VsZCBub3QgaW5mZXIgc3ltYm9sLicsXG4gIENvdWxkTm90SW5mZXJTeW1ib2xEZW9wdCA9ICdDb3VsZCBub3QgaW5mZXIgc3ltYm9sLiBEZW9wdGltaXplZCBpbXBsZW1lbnRhdGlvbiB3aWxsIGJlIHVzZWQuJyxcbiAgQ2Fubm90SW1wbGVtZW50QnVpbHRpbiA9ICdCdWlsdC1pbnMgY2Fubm90IGJlIGltcGxlbWVudGVkLicsXG4gIENhbm5vdFJlZmVyZW5jZUJ1aWx0aW5Qcm9wZXJ0eSA9ICdCdWlsdGluIHByb3BlcnRpZXMgY2Fubm90IGJlIHJlZmVyZW5jZWQnLFxuICBDYW5ub3RNb2RpZnlCdWlsdGluID0gJ0J1aWx0aW5zIGNhbm5vdCBiZSBtb2RpZmllZCcsXG4gIENhbm5vdEluZGV4QnVpbHRpbiA9ICdCdWlsdGluIHByb3BlcnRpZXMgY2Fubm90IGJlIHJlZmVyZW5jZWQnLFxuICBDYW5ub3RSZWZlcmVuY2VCdWlsdGluID0gJ0J1aWx0aW5zIGNhbm5vdCBiZSByZWZlcmVuY2VkJyxcbiAgQ2Fubm90SW5zdGFuY2VvZkJ1aWx0aW4gPSAnQnVpbHRpbnMgY2Fubm90IGJlIGNoZWNrZWQgd2l0aCBpbnN0YW5jZW9mJyxcbiAgSW52YWxpZFN5c2NhbGwgPSAnRmlyc3QgYXJndW1lbnQgdG8gc3lzY2FsbCBtdXN0IGJlIGEgc3RyaW5nIGxpdGVyYWwgY29ycmVzcG9uZGluZyB0byBhIE5FTyBzeXNjYWxsLicsXG4gIERlcGxveVJlc2VydmVkID0gJ1RoZSBkZXBsb3kgbWV0aG9kIGlzIHJlc2VydmVkIGluIFNtYXJ0Q29udHJhY3QgaW5zdGFuY2VzLicsXG4gIEludmFsaWRDb250cmFjdEV2ZW50TmFtZVN0cmluZ0xpdGVyYWwgPSAnSW52YWxpZCBTbWFydENvbnRyYWN0IGV2ZW50LiBFdmVudCBuYW1lIG11c3QgYmUgYSBzdHJpbmcgbGl0ZXJhbC4nLFxuICBJbnZhbGlkQ29udHJhY3RFdmVudE1pc3NpbmdUeXBlID0gJ0ludmFsaWQgU21hcnRDb250cmFjdCBldmVudC4gQXJndW1lbnQgdHlwZSBtdXN0IGJlIGV4cGxpY2l0bHkgZGVmaW5lZC4nLFxuICBJbnZhbGlkQ29udHJhY3RUeXBlID0gJ0ludmFsaWQgU21hcnRDb250cmFjdCB0eXBlLiBTZWUgaHR0cHM6Ly9uZW8tb25lLmlvL2RvY3MvbWV0aG9kcyNQYXJhbWV0ZXItYW5kLVJldHVybi1UeXBlcyBmb3IgdmFsaWQgcGFyYW1ldGVyIGFuZCByZXR1cm4gdHlwZXMuJyxcbiAgSW52YWxpZENvbnRyYWN0U3RvcmFnZVR5cGUgPSAnSW52YWxpZCBTbWFydENvbnRyYWN0IHN0b3JhZ2UgdHlwZS4gU2VlIGh0dHBzOi8vbmVvLW9uZS5pby9kb2NzL3Byb3BlcnRpZXMtYW5kLXN0b3JhZ2UjU3RvcmFnZS1UeXBlcyBmb3IgdmFsaWQgc3RvcmFnZSB0eXBlcy4nLFxuICBJbnZhbGlkQ29udHJhY3RFdmVudEFyZ1N0cmluZ0xpdGVyYWwgPSAnSW52YWxpZCBTbWFydENvbnRyYWN0IGV2ZW50LiBBcmd1bWVudCBtdXN0IGJlIGEgc3RyaW5nIGxpdGVyYWwuJyxcbiAgSW52YWxpZENvbnRyYWN0RXZlbnREZWNsYXJhdGlvbiA9ICdJbnZhbGlkIFNtYXJ0Q29udHJhY3QgZXZlbnQuIEV2ZW50IG11c3QgYmUgYXNzaWduZWQgdG8gYSB2YXJpYWJsZS4nLFxuICBJbnZhbGlkQ29udHJhY3RQcm9wZXJ0aWVzTWlzc2luZyA9ICdJbnZhbGlkIFNtYXJ0Q29udHJhY3QuIFByb3BlcnRpZXMgbXVzdCBiZSBkZWZpbmVkLicsXG4gIEludmFsaWRDb250cmFjdFByb3BlcnRpZXNJbml0aWFsaXplciA9ICdJbnZhbGlkIFNtYXJ0Q29udHJhY3QuIFByb3BlcnRpZXMgbXVzdCBiZSBkZWZpbmVkIHdpdGggYW4gb2JqZWN0IGxpdGVyYWwgb2YgbGl0ZXJhbCBwcm9wZXJ0aWVzLicsXG4gIEludmFsaWRDb250cmFjdE1ldGhvZE11bHRpcGxlU2lnbmF0dXJlcyA9ICdJbnZhbGlkIFNtYXJ0Q29udHJhY3QgbWV0aG9kLiBNZXRob2QgbXVzdCBoYXZlIG9uZSBjYWxsIHNpZ25hdHVyZScsXG4gIEludmFsaWRDb250cmFjdENvbnN0cnVjdG9yID0gJ0V4cGVjdGVkIGEgc2luZ2xlIGNvbnN0cnVjdG9yIGRlY2xhcmF0aW9uJyxcbiAgSW52YWxpZENvbnRyYWN0RXh0ZW5kcyA9ICdFeHBlY3RlZCBhIHNpbmdsZSBjbGFzcyBkZWNsYXJhdGlvbicsXG4gIEludmFsaWRDb250cmFjdE11bHRpcGxlSW5GaWxlID0gJ011bHRpcGxlIGV4cG9ydGVkIFNtYXJ0Q29udHJhY3RzIGluIG9uZSBmaWxlIGlzIG5vdCBzdXBwb3J0ZWQuJyxcbiAgSW52YWxpZENvbnRyYWN0UHJvcGVydHlSZXNlcnZlZCA9ICclcyBpcyBhIHJlc2VydmVkIHByb3BlcnR5IG5hbWUgaW4gU21hcnRDb250cmFjdHMuJyxcbiAgSW52YWxpZENvbnRyYWN0TWV0aG9kUmVzZXJ2ZWQgPSAnJXMgaXMgYSByZXNlcnZlZCBtZXRob2QgbmFtZSBpbiBTbWFydENvbnRyYWN0cy4nLFxuICBJbnZhbGlkQ29udHJhY3RNZXRob2RDb25zdGFudE5hdGl2ZSA9ICdTbWFydENvbnRyYWN0IG1ldGhvZHMgbWFya2VkIHdpdGggQHNlbmQsIEBzZW5kVW5zYWZlLCBAcmVjZWl2ZSBvciBAY2xhaW0gY2Fubm90IGJlIEBjb25zdGFudC4nLFxuICBJbnZhbGlkQ29udHJhY3RBYnN0cmFjdCA9ICdDYW5ub3QgY29tcGlsZSBhYnN0cmFjdCBTbWFydENvbnRyYWN0LicsXG4gIEludmFsaWRDb250cmFjdE5ldyA9ICdDYW5ub3QgY29uc3RydWN0IGEgU21hcnRDb250cmFjdCcsXG4gIEludmFsaWRDb250cmFjdE1ldGhvZE5hdGl2ZVJldHVybiA9ICdTbWFydENvbnRyYWN0IG1ldGhvZHMgbWFya2VkIHdpdGggQGNsYWltIG11c3QgcmV0dXJuIHZvaWQuJyxcbiAgSW52YWxpZENvbnRyYWN0VHlwZUZvcndhcmROYXRpdmUgPSAnQ2Fubm90IHVzZSBGb3J3YXJkVmFsdWUgb3IgRm9yd2FyZGVkVmFsdWUgYXMgcGFyYW1ldGVycyBmb3IgbWV0aG9kcyBtYXJrZWQgd2l0aCBAc2VuZCwgQHNlbmRVbnNhZmUsIEByZWNlaXZlIG9yIEBjbGFpbS4nLFxuICBTeXNjYWxsUmV0dXJuVHlwZUV4cGxpY2l0Q2FzdCA9ICdTeXNjYWxsIHJldHVybiB0eXBlIG11c3QgYmUgZXhwbGljaXRseSBjYXN0ZWQgdG8gZXhwZWN0ZWQgdHlwZS4nLFxuICBVbmtub3duUmVmZXJlbmNlID0gJ1Vua25vd24gcmVmZXJlbmNlICVzJyxcbiAgVW5rbm93bk1vZHVsZSA9ICdVbmtub3duIG1vZHVsZSAlcycsXG4gIE11bHRpcGxlU2lnbmF0dXJlcyA9ICdGb3VuZCBtdWx0aXBsZSBjYWxsIHNpZ25hdHVyZXMgZm9yIHByb3BlcnR5LiBPbmx5IG9uZSBjYWxsIHNpZ25hdHVyZSBpcyBhbGxvd2VkLicsXG4gIE1pc3NpbmdQYXJhbWV0ZXJEZWNsYXJhdGlvbiA9ICdDb3VsZCBub3QgZmluZCBwYXJhbSBkZWNsYXJhdGlvbiBmb3IgcGFyYW1ldGVyICVzLicsXG4gIFJlc29sdmVPbmVUeXBlID0gJ0V4cGVjdGVkIHR5cGUgdG8gcmVzb2x2ZSB0byBvbmUga25vd24gdHlwZScsXG4gIEludmFsaWRBZGRyZXNzID0gJ0FyZ3VtZW50IHRvIEFkZHJlc3MuZnJvbSBtdXN0IGJlIGEgc3RyaW5nIGxpdGVyYWwgYWRkcmVzcy4nLFxuICBJbnZhbGlkSGFzaDI1NiA9ICdBcmd1bWVudCB0byBIYXNoMjU2LmZyb20gbXVzdCBiZSBhIHN0cmluZyBsaXRlcmFsIGhhc2gyNTYuJyxcbiAgSW52YWxpZFB1YmxpY0tleSA9ICdBcmd1bWVudCB0byBQdWJsaWNLZXkuZnJvbSBtdXN0IGJlIGEgc3RyaW5nIGxpdGVyYWwgcHVibGljS2V5LicsXG4gIEV2ZW50Tm90aWZpZXJBcmd1bWVudHMgPSAnVGhlIGFyZ3VtZW50cyB0byBjcmVhdGVFdmVudE5vdGlmaWVyIG11c3QgYmUgc3RyaW5nIGxpdGVyYWxzLicsXG4gIEludmFsaWRCdWlsdGluQ2FsbCA9ICdWYWx1ZSBpcyBub3QgY2FsbGFibGUuJyxcbiAgSW52YWxpZEJ1aWx0aW5DYWxsQXJndW1lbnQgPSAnQ2FsbCBwYXJhbWV0ZXIgaXMgYW1iaWd1b3VzIGluIHJlbGF0aW9uIHRvIHRoZSBwcm92aWRlZCBhcmd1bWVudC4nLFxuICBJbnZhbGlkQnVpbHRpbkFzc2lnbm1lbnQgPSAnQXNzaWdubWVudCAoJXMgPT4gJXMpIGlzIGFtYmlndW91cyBpbiByZWxhdGlvbiB0byB0aGUgcHJvdmlkZWQgZXhwcmVzc2lvbi4nLFxuICBJbnZhbGlkTGlua2VkU21hcnRDb250cmFjdERlY2xhcmF0aW9uID0gJ0V4cGVjdGVkIGEgdmFsaWQgZGVjbGFyYXRpb24gZm9yIGEgbGlua2VkIHNtYXJ0IGNvbnRyYWN0LicsXG4gIEludmFsaWRMaW5rZWRTbWFydENvbnRyYWN0TWlzc2luZyA9ICdNaXNzaW5nIGxpbmtlZCBzbWFydCBjb250cmFjdCBkZXBlbmRlbmN5ICVzJyxcbiAgSW52YWxpZEN1cnJlbnRUaW1lT2Zmc2V0TnVtZXJpY0xpdGVyYWwgPSAnRGVwbG95LmN1cnJlbnRUaW1lIG11c3QgaGF2ZSBhIG51bWVyaWMgbGl0ZXJhbCBmb3IgdGhlIG9mZnNldC4nLFxuICBJbnZhbGlkQ3VycmVudFRpbWVQYXJhbWV0ZXJVc2FnZSA9ICdEZXBsb3kuY3VycmVudFRpbWUgbWF5IG9ubHkgYmUgdXNlZCBhcyB0aGUgZGVmYXVsdCB2YWx1ZSBmb3IgYSBjb25zdHJ1Y3RvciBwYXJhbWV0ZXIuJyxcbiAgSW52YWxpZFNlbmRlckFkZHJlc3NQYXJhbWV0ZXJVc2FnZSA9ICdEZXBsb3kuc2VuZGVyQWRkcmVzcyBtYXkgb25seSBiZSB1c2VkIGFzIHRoZSBkZWZhdWx0IHZhbHVlIGZvciBhIGNvbnN0cnVjdG9yIHBhcmFtZXRlci4nLFxuICBJbnZhbGlkU3RydWN0dXJlZFN0b3JhZ2VGb3JQcm9wZXJ0eSA9ICdQZXJzaXN0ZW50IHN0b3JhZ2UgY2xhc3NlcyBtYXkgb25seSBiZSB1c2VkIGFzIFNtYXJ0Q29udHJhY3QgcHJpdmF0ZSBvciBwcm90ZWN0ZWQgcmVhZG9ubHkgcHJvcGVydGllcyB3aXRoIGEgcHJvcGVydHkgaW5pdGlhbGl6ZXIuJyxcbiAgSW52YWxpZFN0cnVjdHVyZWRTdG9yYWdlRm9yTGVuZ3RoID0gJ0NvdWxkIG5vdCBzdGF0aWNhbGx5IGFuYWx5emUgc3RydWN0dXJlZCBzdG9yYWdlIGtleSBsZW5ndGguJyxcbiAgQ29tcGlsYXRpb25GYWlsZWRQbGVhc2VSZXBvcnQgPSAnQ29tcGlsYXRpb24gZmFpbGVkIGZvciBhbiB1bmtub3duIGVycm9yLCBwbGVhc2UgcmVwb3J0JyxcbiAgSW52YWxpZENvbnRyYWN0UHJvcGVydHlJZGVudGlmaWVyID0gJ1NtYXJ0Q29udHJhY3RzIGNhbm5vdCBoYXZlIGNvbXB1dGVkIG1ldGhvZHMgb3IgcHJvcGVydGllcy4nLFxuICBJbnZhbGlkQ29udHJhY3RQcm9wZXJ0eU9yTWV0aG9kU3RhdGljID0gJ1NtYXJ0Q29udHJhY3RzIGNhbm5vdCBoYXZlIHN0YXRpYyBtZXRob2RzIG9yIHByb3BlcnRpZXMuJyxcbiAgVW5zdXBwb3J0ZWREZWNvcmF0b3IgPSAnQ3VzdG9tIGRlY29yYXRvcnMgYXJlIG5vdCBzdXBwb3J0ZWQnLFxuICBJbnZhbGlkQ29udHJhY3RFdmVudER1cGxpY2F0ZSA9ICdEdXBsaWNhdGUgZXZlbnQuIE9ubHkgb25lIGV2ZW50IGlzIGFsbG93ZWQgcGVyIG5hbWUuJyxcbn1cbiJdfQ==