{ "name": "NFDRegistry", "desc": "", "methods": [ { "name": "updateApplication", "args": [], "returns": { "type": "void" }, "actions": { "create": [], "call": [ "UpdateApplication" ] } }, { "name": "gas", "args": [], "returns": { "type": "void" }, "actions": { "create": [], "call": [ "NoOp" ] } }, { "name": "getPrice", "desc": "Returns the price for a given NFD (single year), the max # of years allowed (Name for Display),\nand extra algo required to cover MBR when purchasing.", "args": [ { "name": "nfdName", "type": "string", "desc": "The NFD name for which to retrieve the price." }, { "name": "caller", "type": "address", "desc": "the address this request is on behalf of (since an nfd contract might call us it\nneeds to be able to pass on the request on behalf of ITS caller - ie: getting price for an expired nfd will be\ndifferent if its owner ir asking.\n PriceInfo Type containing the price, carry cost, etc." } ], "returns": { "type": "(uint64,uint64,bool,bool,bool)", "struct": "PriceInfo" }, "actions": { "create": [], "call": [ "NoOp" ] } }, { "name": "getConstraints", "args": [], "returns": { "type": "(uint64,uint64,uint64,address,uint64,uint64,uint64)", "struct": "Constraints" }, "actions": { "create": [], "call": [ "NoOp" ] } }, { "name": "getNfdMbrCost", "desc": "Returns the MBR amounts needed to MINT an nfd.\nThis value needs to be added to purchase price in mintNfd call.\ngetPrice() returns it though.", "args": [ { "name": "nfdName", "type": "string" } ], "returns": { "type": "uint64" }, "actions": { "create": [], "call": [ "NoOp" ] } }, { "name": "getNfdLinkOnMintExtraMbrCost", "args": [ { "name": "address", "type": "address" } ], "returns": { "type": "(uint64,uint64)", "struct": "LinkOnMintExtraMbrCosts" }, "actions": { "create": [], "call": [ "NoOp" ] } }, { "name": "mintNfd", "desc": "Mint an NFD (NFT) and create a new NFD instance.", "args": [ { "name": "purchaseTxn", "type": "pay", "desc": "The payment transaction covering the purchase amount of the nfd" }, { "name": "nfdName", "type": "string", "desc": "The name of the NFD to mint" }, { "name": "reservedFor", "type": "address", "desc": "The address that will own the NFD once minted (so you can buy for someone else)" }, { "name": "linkOnMint", "type": "bool", "desc": "whether to auto-link the address (reserved for MUST MATCH payer!) at mint\n uint64 - The ID of the newly created NFD instance." } ], "returns": { "type": "uint64" }, "events": [ { "name": "nfdRegistry_minted", "args": [ { "name": "appId", "type": "uint64" }, { "name": "name", "type": "string" }, { "name": "priceOneYear", "type": "uint64" }, { "name": "paidAmount", "type": "uint64" }, { "name": "carryCost", "type": "uint64" }, { "name": "seller", "type": "address" }, { "name": "buyer", "type": "address" }, { "name": "owner", "type": "address" }, { "name": "expTime", "type": "uint64" }, { "name": "amountToSeller", "type": "uint64" }, { "name": "commissionAddress", "type": "address" }, { "name": "amountToCommission", "type": "uint64" }, { "name": "segmentRootOwner", "type": "address" }, { "name": "amountToSegmentRoot", "type": "uint64" } ], "desc": "" } ], "actions": { "create": [], "call": [ "NoOp" ] } }, { "name": "linkNfdAddress", "args": [ { "name": "nfdName", "type": "string" }, { "name": "nfdAppId", "type": "uint64" }, { "name": "addrToVerify", "type": "address" } ], "returns": { "type": "void" }, "actions": { "create": [], "call": [ "NoOp" ] } }, { "name": "unlinkNfdAddress", "args": [ { "name": "nfdName", "type": "string" }, { "name": "nfdAppId", "type": "uint64" }, { "name": "addrToUnlink", "type": "address" } ], "returns": { "type": "void" }, "actions": { "create": [], "call": [ "NoOp" ] } }, { "name": "ownershipAssign", "args": [ { "name": "nfdName", "type": "string" }, { "name": "nfdAppId", "type": "uint64" } ], "returns": { "type": "void" }, "actions": { "create": [], "call": [ "NoOp" ] } }, { "name": "ownershipChanged", "desc": "This method is triggered when the ownership of an NFD (Non-Fungible Domain) changes.\nIt is called by the NFD via the purchase method. It can also be called by TxnLab admin for older 3.3\nNFDs when it detects purchased events for 3.3", "args": [ { "name": "nfdName", "type": "string", "desc": "The name of the NFD." }, { "name": "nfdAppId", "type": "uint64", "desc": "The unique application ID of the NFD." }, { "name": "seller", "type": "address", "desc": "The address of the prior owner (seller) of the nfd" }, { "name": "buyer", "type": "address", "desc": "The address of the new owner of the NFD." } ], "returns": { "type": "void" }, "actions": { "create": [], "call": [ "NoOp" ] } }, { "name": "setAddressPrimaryNfd", "desc": "Makes the specified NFD the 'first' NFD in the reverse-address set so its the primary NFD for this address.\nThe NFD must be valid, and the sender must be the address (or nfd owner if vault). The NFD wouldn't already be\nin the reverse-lookup set if it wasn't already valid.", "args": [ { "name": "nfdName", "type": "string" }, { "name": "nfdAppId", "type": "uint64" }, { "name": "addrBeingModified", "type": "address" } ], "returns": { "type": "void" }, "events": [ { "name": "nfdRegistry_addressPrimaryNfdChanged", "args": [ { "name": "appId", "type": "uint64" }, { "name": "name", "type": "string" }, { "name": "address", "type": "address" } ], "desc": "" } ], "actions": { "create": [], "call": [ "NoOp" ] } }, { "name": "upgradeNfd", "args": [ { "name": "nfdName", "type": "string" } ], "returns": { "type": "string" }, "actions": { "create": [], "call": [ "NoOp" ] } }, { "name": "isValidNfdAppId", "args": [ { "name": "nfdName", "type": "string" }, { "name": "nfdAppId", "type": "uint64" } ], "returns": { "type": "bool" }, "actions": { "create": [], "call": [ "NoOp" ] } }, { "name": "getNameAppId", "args": [ { "name": "nfdName", "type": "string" } ], "returns": { "type": "uint64" }, "actions": { "create": [], "call": [ "NoOp" ] } }, { "name": "getAddressAppIds", "args": [ { "name": "lookupAddress", "type": "address" } ], "returns": { "type": "uint64[]" }, "actions": { "create": [], "call": [ "NoOp" ] } }, { "name": "nfdContractInit", "desc": "Initializes the NFD contract bytecode into the registry", "args": [ { "name": "version", "type": "string", "desc": "The version of the contract." }, { "name": "size", "type": "uint64", "desc": "exact byte size of contract to load" }, { "name": "clearCode", "type": "byte[]", "desc": "bytes of clear code" } ], "returns": { "type": "void" }, "actions": { "create": [], "call": [ "NoOp" ] } }, { "name": "nfdContractLoad", "desc": "Loads contract data into the box at the specified offset.", "args": [ { "name": "version", "type": "string", "desc": "The version of the contract." }, { "name": "offset", "type": "uint64", "desc": "The offset at which to replace the contract data within the box." }, { "name": "data", "type": "byte[]", "desc": "The contract data to be loaded." } ], "returns": { "type": "void" }, "actions": { "create": [], "call": [ "NoOp" ] } }, { "name": "nfdContractCommit", "desc": "Commit a new version of the contract.", "args": [ { "name": "version", "type": "string", "desc": "The version number of the contract to be committed." } ], "returns": { "type": "void" }, "actions": { "create": [], "call": [ "NoOp" ] } }, { "name": "usdInMicroAlgo", "args": [ { "name": "usdCost", "type": "uint64" } ], "returns": { "type": "uint64" }, "actions": { "create": [], "call": [ "NoOp" ] } }, { "name": "costToAddToAddress", "desc": "Returns the cost to add an NFD to the reverse-lookup data", "args": [ { "name": "lookupAddress", "type": "address", "desc": "The address to add the NFD app id to" } ], "returns": { "type": "uint64" }, "actions": { "create": [], "call": [ "NoOp" ] } }, { "name": "calcFuturePrice", "desc": "Calculates the future price based on the current price and the number of years.", "args": [ { "name": "curPrice", "type": "uint64", "desc": "The current price in USD (in decimals). For example, if the current price is $2.00, the value should be 200." }, { "name": "forTime", "type": "uint64", "desc": "The timestamp to calc the future price based on - ie: 1 year past 'go live date' the price would have inflated by 1 year.\n\n\n uint64 The future price calculated based on the current price and the specified number of years." } ], "returns": { "type": "uint64" }, "actions": { "create": [], "call": [ "NoOp" ] } }, { "name": "createApplication", "args": [], "returns": { "type": "void" }, "actions": { "create": [ "NoOp" ], "call": [] } } ], "events": [ { "name": "nfdRegistry_minted", "args": [ { "name": "appId", "type": "uint64" }, { "name": "name", "type": "string" }, { "name": "priceOneYear", "type": "uint64" }, { "name": "paidAmount", "type": "uint64" }, { "name": "carryCost", "type": "uint64" }, { "name": "seller", "type": "address" }, { "name": "buyer", "type": "address" }, { "name": "owner", "type": "address" }, { "name": "expTime", "type": "uint64" }, { "name": "amountToSeller", "type": "uint64" }, { "name": "commissionAddress", "type": "address" }, { "name": "amountToCommission", "type": "uint64" }, { "name": "segmentRootOwner", "type": "address" }, { "name": "amountToSegmentRoot", "type": "uint64" } ], "desc": "" }, { "name": "nfdRegistry_addressPrimaryNfdChanged", "args": [ { "name": "appId", "type": "uint64" }, { "name": "name", "type": "string" }, { "name": "address", "type": "address" } ], "desc": "" } ], "arcs": [ 4, 56 ], "structs": { "PriceInfo": [ { "name": "oneYearPrice", "type": "uint64" }, { "name": "carryCost", "type": "uint64" }, { "name": "exists", "type": "bool" }, { "name": "isExpired", "type": "bool" }, { "name": "inAuction", "type": "bool" } ], "Constraints": [ { "name": "segmentPlatformCostInUsd", "type": "uint64" }, { "name": "segmentPlatformCostInAlgo", "type": "uint64" }, { "name": "maxYearsAllowed", "type": "uint64" }, { "name": "treasuryAddress", "type": "address" }, { "name": "expiredAuctionDuration", "type": "uint64" }, { "name": "expiredStartingPrice", "type": "uint64" }, { "name": "maxMintCarryCost", "type": "uint64" } ], "LinkOnMintExtraMbrCosts": [ { "name": "linkingNfdMbrCost", "type": "uint64" }, { "name": "linkingRegistryMbrCost", "type": "uint64" } ] }, "state": { "schema": { "global": { "bytes": 0, "ints": 0 }, "local": { "bytes": 16, "ints": 0 } }, "keys": { "global": {}, "local": {}, "box": {} }, "maps": { "global": {}, "local": { "localState": { "keyType": "AVMBytes", "valueType": "AVMBytes" } }, "box": { "boxes": { "keyType": "AVMBytes", "valueType": "AVMBytes" } } } }, "bareActions": { "create": [], "call": [] }, "sourceInfo": { "approval": { "sourceInfo": [ { "teal": 15, "source": "contracts/NFDRegistry.algo.ts:51", "pc": [ 1, 2 ] }, { "teal": 16, "source": "contracts/NFDRegistry.algo.ts:51", "pc": [ 3 ] }, { "teal": 17, "source": "contracts/NFDRegistry.algo.ts:51", "pc": [ 4 ] }, { "teal": 18, "source": "contracts/NFDRegistry.algo.ts:51", "pc": [ 5 ] }, { "teal": 19, "source": "contracts/NFDRegistry.algo.ts:51", "pc": [ 6, 7 ] }, { "teal": 20, "source": "contracts/NFDRegistry.algo.ts:51", "pc": [ 8 ] }, { "teal": 21, "source": "contracts/NFDRegistry.algo.ts:51", "pc": [ 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34 ] }, { "teal": 25, "source": "contracts/NFDRegistry.algo.ts:51", "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?", "pc": [ 35 ] }, { "teal": 30, "source": "contracts/NFDRegistry.algo.ts:69", "pc": [ 36, 37, 38 ] }, { "teal": 31, "source": "contracts/NFDRegistry.algo.ts:69", "pc": [ 39 ] }, { "teal": 32, "source": "contracts/NFDRegistry.algo.ts:69", "pc": [ 40 ] }, { "teal": 36, "source": "contracts/NFDRegistry.algo.ts:69", "pc": [ 41, 42, 43 ] }, { "teal": 40, "source": "contracts/NFDRegistry.algo.ts:70", "pc": [ 44, 45 ] }, { "teal": 41, "source": "contracts/NFDRegistry.algo.ts:70", "pc": [ 46, 47, 48 ] }, { "teal": 42, "source": "contracts/NFDRegistry.algo.ts:70", "pc": [ 49, 50 ] }, { "teal": 43, "source": "contracts/NFDRegistry.algo.ts:70", "pc": [ 51 ] }, { "teal": 44, "source": "contracts/NFDRegistry.algo.ts:70", "pc": [ 52 ] }, { "teal": 45, "source": "contracts/NFDRegistry.algo.ts:70", "pc": [ 53 ] }, { "teal": 46, "source": "contracts/NFDRegistry.algo.ts:69", "pc": [ 54 ] }, { "teal": 50, "source": "contracts/NFDRegistry.algo.ts:73", "pc": [ 55, 56, 57 ] }, { "teal": 53, "source": "contracts/NFDRegistry.algo.ts:73", "pc": [ 58 ] }, { "teal": 58, "source": "contracts/NFDRegistry.algo.ts:76", "pc": [ 59, 60 ] }, { "teal": 59, "source": "contracts/NFDRegistry.algo.ts:76", "pc": [ 61, 62 ] }, { "teal": 60, "source": "contracts/NFDRegistry.algo.ts:76", "pc": [ 63 ] }, { "teal": 61, "source": "contracts/NFDRegistry.algo.ts:76", "pc": [ 64, 65, 66 ] }, { "teal": 66, "source": "contracts/NFDRegistry.algo.ts:77", "pc": [ 67, 68, 69 ] }, { "teal": 70, "source": "contracts/NFDRegistry.algo.ts:78", "pc": [ 70 ] }, { "teal": 75, "source": "contracts/NFDRegistry.algo.ts:80", "pc": [ 71, 72 ] }, { "teal": 76, "source": "contracts/NFDRegistry.algo.ts:80", "pc": [ 73, 74 ] }, { "teal": 77, "source": "contracts/NFDRegistry.algo.ts:80", "pc": [ 75 ] }, { "teal": 78, "source": "contracts/NFDRegistry.algo.ts:80", "pc": [ 76 ] }, { "teal": 83, "source": "contracts/NFDRegistry.algo.ts:82", "pc": [ 77, 78, 79 ] }, { "teal": 84, "source": "contracts/NFDRegistry.algo.ts:82", "pc": [ 80, 81, 82, 83, 84 ] }, { "teal": 85, "source": "contracts/NFDRegistry.algo.ts:82", "pc": [ 85 ] }, { "teal": 86, "source": "contracts/NFDRegistry.algo.ts:82", "pc": [ 86, 87, 88 ] }, { "teal": 91, "source": "contracts/NFDRegistry.algo.ts:83", "pc": [ 89 ] }, { "teal": 97, "source": "contracts/NFDRegistry.algo.ts:86", "pc": [ 90, 91 ] }, { "teal": 98, "source": "contracts/NFDRegistry.algo.ts:86", "pc": [ 92, 93 ] }, { "teal": 99, "source": "contracts/NFDRegistry.algo.ts:86", "pc": [ 94 ] }, { "teal": 100, "source": "contracts/NFDRegistry.algo.ts:86", "pc": [ 95 ] }, { "teal": 101, "source": "contracts/NFDRegistry.algo.ts:86", "pc": [ 96, 97, 98 ] }, { "teal": 102, "source": "contracts/NFDRegistry.algo.ts:86", "pc": [ 99, 100, 101 ] }, { "teal": 103, "source": "contracts/NFDRegistry.algo.ts:86", "pc": [ 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121 ] }, { "teal": 104, "source": "contracts/NFDRegistry.algo.ts:86", "pc": [ 122 ] }, { "teal": 105, "source": "contracts/NFDRegistry.algo.ts:86", "pc": [ 123 ] }, { "teal": 108, "source": "contracts/NFDRegistry.algo.ts:86", "pc": [ 124, 125, 126 ] }, { "teal": 119, "source": "contracts/NFDRegistry.algo.ts:93", "pc": [ 127, 128, 129 ] }, { "teal": 120, "source": "contracts/NFDRegistry.algo.ts:93", "pc": [ 130 ] }, { "teal": 121, "source": "contracts/NFDRegistry.algo.ts:93", "pc": [ 131, 132, 133 ] }, { "teal": 122, "source": "contracts/NFDRegistry.algo.ts:93", "pc": [ 134, 135, 136 ] }, { "teal": 123, "source": "contracts/NFDRegistry.algo.ts:93", "pc": [ 137, 138, 139 ] }, { "teal": 124, "source": "contracts/NFDRegistry.algo.ts:94", "pc": [ 140 ] }, { "teal": 125, "source": "contracts/NFDRegistry.algo.ts:93", "pc": [ 141, 142, 143 ] }, { "teal": 128, "source": "contracts/NFDRegistry.algo.ts:95", "pc": [ 144 ] }, { "teal": 131, "source": "contracts/NFDRegistry.algo.ts:92", "pc": [ 145 ] }, { "teal": 132, "source": "contracts/NFDRegistry.algo.ts:91", "pc": [ 146 ] }, { "teal": 136, "source": "contracts/NFDRegistry.algo.ts:98", "pc": [ 147 ] }, { "teal": 142, "source": "contracts/NFDRegistry.algo.ts:105", "pc": [ 148, 149 ] }, { "teal": 143, "source": "contracts/NFDRegistry.algo.ts:105", "pc": [ 150, 151 ] }, { "teal": 144, "source": "contracts/NFDRegistry.algo.ts:105", "pc": [ 152 ] }, { "teal": 145, "source": "contracts/NFDRegistry.algo.ts:105", "pc": [ 153 ] }, { "teal": 146, "source": "contracts/NFDRegistry.algo.ts:105", "pc": [ 154, 155, 156 ] }, { "teal": 147, "source": "contracts/NFDRegistry.algo.ts:105", "pc": [ 157, 158, 159 ] }, { "teal": 148, "source": "contracts/NFDRegistry.algo.ts:105", "pc": [ 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176 ] }, { "teal": 149, "source": "contracts/NFDRegistry.algo.ts:105", "pc": [ 177 ] }, { "teal": 150, "source": "contracts/NFDRegistry.algo.ts:105", "pc": [ 178 ] }, { "teal": 153, "source": "contracts/NFDRegistry.algo.ts:105", "pc": [ 179, 180, 181 ] }, { "teal": 162, "source": "contracts/NFDRegistry.algo.ts:113", "pc": [ 182, 183, 184 ] }, { "teal": 163, "source": "contracts/NFDRegistry.algo.ts:112", "pc": [ 185, 186, 187 ] }, { "teal": 164, "source": "contracts/NFDRegistry.algo.ts:112", "pc": [ 188 ] }, { "teal": 165, "source": "contracts/NFDRegistry.algo.ts:111", "pc": [ 189, 190, 191 ] }, { "teal": 166, "source": "contracts/NFDRegistry.algo.ts:110", "pc": [ 192, 193, 194 ] }, { "teal": 170, "source": "contracts/NFDRegistry.algo.ts:115", "pc": [ 195 ] }, { "teal": 176, "source": "contracts/NFDRegistry.algo.ts:117", "pc": [ 196, 197 ] }, { "teal": 177, "source": "contracts/NFDRegistry.algo.ts:117", "pc": [ 198, 199 ] }, { "teal": 178, "source": "contracts/NFDRegistry.algo.ts:117", "pc": [ 200 ] }, { "teal": 179, "source": "contracts/NFDRegistry.algo.ts:117", "pc": [ 201 ] }, { "teal": 180, "source": "contracts/NFDRegistry.algo.ts:117", "pc": [ 202, 203, 204 ] }, { "teal": 181, "source": "contracts/NFDRegistry.algo.ts:117", "pc": [ 205, 206, 207 ] }, { "teal": 182, "source": "contracts/NFDRegistry.algo.ts:117", "pc": [ 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224 ] }, { "teal": 183, "source": "contracts/NFDRegistry.algo.ts:117", "pc": [ 225 ] }, { "teal": 184, "source": "contracts/NFDRegistry.algo.ts:117", "pc": [ 226 ] }, { "teal": 187, "source": "contracts/NFDRegistry.algo.ts:117", "pc": [ 227, 228, 229 ] }, { "teal": 196, "source": "contracts/NFDRegistry.algo.ts:125", "pc": [ 230, 231, 232 ] }, { "teal": 197, "source": "contracts/NFDRegistry.algo.ts:124", "pc": [ 233, 234, 235 ] }, { "teal": 198, "source": "contracts/NFDRegistry.algo.ts:124", "pc": [ 236 ] }, { "teal": 199, "source": "contracts/NFDRegistry.algo.ts:123", "pc": [ 237, 238, 239 ] }, { "teal": 200, "source": "contracts/NFDRegistry.algo.ts:122", "pc": [ 240, 241, 242 ] }, { "teal": 204, "source": "contracts/NFDRegistry.algo.ts:127", "pc": [ 243 ] }, { "teal": 210, "source": "contracts/NFDRegistry.algo.ts:130", "pc": [ 244, 245 ] }, { "teal": 211, "source": "contracts/NFDRegistry.algo.ts:130", "pc": [ 246, 247 ] }, { "teal": 212, "source": "contracts/NFDRegistry.algo.ts:130", "pc": [ 248 ] }, { "teal": 213, "source": "contracts/NFDRegistry.algo.ts:130", "pc": [ 249 ] }, { "teal": 214, "source": "contracts/NFDRegistry.algo.ts:130", "pc": [ 250, 251, 252 ] }, { "teal": 215, "source": "contracts/NFDRegistry.algo.ts:130", "pc": [ 253, 254, 255 ] }, { "teal": 216, "source": "contracts/NFDRegistry.algo.ts:130", "pc": [ 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277 ] }, { "teal": 217, "source": "contracts/NFDRegistry.algo.ts:130", "pc": [ 278 ] }, { "teal": 218, "source": "contracts/NFDRegistry.algo.ts:130", "pc": [ 279 ] }, { "teal": 221, "source": "contracts/NFDRegistry.algo.ts:130", "pc": [ 280, 281, 282 ] }, { "teal": 230, "source": "contracts/NFDRegistry.algo.ts:138", "pc": [ 283, 284, 285 ] }, { "teal": 231, "source": "contracts/NFDRegistry.algo.ts:137", "pc": [ 286, 287, 288 ] }, { "teal": 232, "source": "contracts/NFDRegistry.algo.ts:137", "pc": [ 289 ] }, { "teal": 233, "source": "contracts/NFDRegistry.algo.ts:136", "pc": [ 290, 291, 292 ] }, { "teal": 234, "source": "contracts/NFDRegistry.algo.ts:135", "pc": [ 293, 294, 295 ] }, { "teal": 238, "source": "contracts/NFDRegistry.algo.ts:140", "pc": [ 296 ] }, { "teal": 244, "source": "contracts/NFDRegistry.algo.ts:143", "pc": [ 297, 298 ] }, { "teal": 245, "source": "contracts/NFDRegistry.algo.ts:143", "pc": [ 299, 300 ] }, { "teal": 246, "source": "contracts/NFDRegistry.algo.ts:143", "pc": [ 301 ] }, { "teal": 247, "source": "contracts/NFDRegistry.algo.ts:143", "pc": [ 302 ] }, { "teal": 248, "source": "contracts/NFDRegistry.algo.ts:143", "pc": [ 303, 304, 305 ] }, { "teal": 249, "source": "contracts/NFDRegistry.algo.ts:143", "pc": [ 306, 307, 308 ] }, { "teal": 250, "source": "contracts/NFDRegistry.algo.ts:143", "pc": [ 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324 ] }, { "teal": 251, "source": "contracts/NFDRegistry.algo.ts:143", "pc": [ 325 ] }, { "teal": 252, "source": "contracts/NFDRegistry.algo.ts:143", "pc": [ 326 ] }, { "teal": 255, "source": "contracts/NFDRegistry.algo.ts:143", "pc": [ 327, 328, 329 ] }, { "teal": 260, "source": "contracts/NFDRegistry.algo.ts:144", "pc": [ 330, 331, 332 ] }, { "teal": 264, "source": "contracts/NFDRegistry.algo.ts:145", "pc": [ 333 ] }, { "teal": 270, "source": "contracts/NFDRegistry.algo.ts:147", "pc": [ 334, 335 ] }, { "teal": 271, "source": "contracts/NFDRegistry.algo.ts:147", "pc": [ 336, 337 ] }, { "teal": 272, "source": "contracts/NFDRegistry.algo.ts:147", "pc": [ 338 ] }, { "teal": 273, "source": "contracts/NFDRegistry.algo.ts:147", "pc": [ 339 ] }, { "teal": 274, "source": "contracts/NFDRegistry.algo.ts:147", "pc": [ 340, 341, 342 ] }, { "teal": 275, "source": "contracts/NFDRegistry.algo.ts:147", "pc": [ 343, 344, 345 ] }, { "teal": 276, "source": "contracts/NFDRegistry.algo.ts:147", "pc": [ 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365 ] }, { "teal": 277, "source": "contracts/NFDRegistry.algo.ts:147", "pc": [ 366 ] }, { "teal": 278, "source": "contracts/NFDRegistry.algo.ts:147", "pc": [ 367 ] }, { "teal": 281, "source": "contracts/NFDRegistry.algo.ts:147", "pc": [ 368, 369, 370 ] }, { "teal": 286, "source": "contracts/NFDRegistry.algo.ts:148", "pc": [ 371, 372, 373 ] }, { "teal": 290, "source": "contracts/NFDRegistry.algo.ts:149", "pc": [ 374 ] }, { "teal": 296, "source": "contracts/NFDRegistry.algo.ts:154", "pc": [ 375, 376 ] }, { "teal": 297, "source": "contracts/NFDRegistry.algo.ts:154", "pc": [ 377, 378 ] }, { "teal": 298, "source": "contracts/NFDRegistry.algo.ts:154", "pc": [ 379 ] }, { "teal": 299, "source": "contracts/NFDRegistry.algo.ts:154", "pc": [ 380, 381, 382 ] }, { "teal": 304, "source": "contracts/NFDRegistry.algo.ts:158", "pc": [ 383, 384 ] }, { "teal": 305, "source": "contracts/NFDRegistry.algo.ts:158", "pc": [ 385 ] }, { "teal": 306, "source": "contracts/NFDRegistry.algo.ts:158", "pc": [ 386 ] }, { "teal": 307, "source": "contracts/NFDRegistry.algo.ts:158", "pc": [ 387, 388 ] }, { "teal": 316, "source": "contracts/NFDRegistry.algo.ts:160", "pc": [ 389, 390 ] }, { "teal": 317, "source": "contracts/NFDRegistry.algo.ts:160", "pc": [ 391, 392 ] }, { "teal": 318, "source": "contracts/NFDRegistry.algo.ts:160", "pc": [ 393 ] }, { "teal": 319, "source": "contracts/NFDRegistry.algo.ts:160", "pc": [ 394 ] }, { "teal": 320, "source": "contracts/NFDRegistry.algo.ts:160", "pc": [ 395 ] }, { "teal": 321, "source": "contracts/NFDRegistry.algo.ts:160", "pc": [ 396, 397, 398 ] }, { "teal": 322, "source": "contracts/NFDRegistry.algo.ts:161", "pc": [ 399, 400 ] }, { "teal": 323, "source": "contracts/NFDRegistry.algo.ts:161", "pc": [ 401, 402 ] }, { "teal": 324, "source": "contracts/NFDRegistry.algo.ts:161", "pc": [ 403, 404 ] }, { "teal": 325, "source": "contracts/NFDRegistry.algo.ts:161", "pc": [ 405 ] }, { "teal": 326, "source": "contracts/NFDRegistry.algo.ts:160", "pc": [ 406 ] }, { "teal": 329, "source": "contracts/NFDRegistry.algo.ts:161", "pc": [ 407 ] }, { "teal": 330, "source": "contracts/NFDRegistry.algo.ts:161", "pc": [ 408, 409, 410 ] }, { "teal": 331, "source": "contracts/NFDRegistry.algo.ts:162", "pc": [ 411, 412 ] }, { "teal": 332, "source": "contracts/NFDRegistry.algo.ts:162", "pc": [ 413, 414 ] }, { "teal": 333, "source": "contracts/NFDRegistry.algo.ts:162", "pc": [ 415, 416 ] }, { "teal": 334, "source": "contracts/NFDRegistry.algo.ts:162", "pc": [ 417 ] }, { "teal": 335, "source": "contracts/NFDRegistry.algo.ts:161", "pc": [ 418 ] }, { "teal": 338, "source": "contracts/NFDRegistry.algo.ts:162", "pc": [ 419 ] }, { "teal": 339, "source": "contracts/NFDRegistry.algo.ts:162", "pc": [ 420, 421, 422 ] }, { "teal": 340, "source": "contracts/NFDRegistry.algo.ts:163", "pc": [ 423, 424 ] }, { "teal": 341, "source": "contracts/NFDRegistry.algo.ts:163", "pc": [ 425, 426 ] }, { "teal": 342, "source": "contracts/NFDRegistry.algo.ts:163", "pc": [ 427, 428 ] }, { "teal": 343, "source": "contracts/NFDRegistry.algo.ts:163", "pc": [ 429 ] }, { "teal": 344, "source": "contracts/NFDRegistry.algo.ts:163", "pc": [ 430 ] }, { "teal": 345, "source": "contracts/NFDRegistry.algo.ts:163", "pc": [ 431, 432, 433 ] }, { "teal": 346, "source": "contracts/NFDRegistry.algo.ts:163", "pc": [ 434, 435 ] }, { "teal": 347, "source": "contracts/NFDRegistry.algo.ts:163", "pc": [ 436, 437 ] }, { "teal": 348, "source": "contracts/NFDRegistry.algo.ts:163", "pc": [ 438, 439 ] }, { "teal": 349, "source": "contracts/NFDRegistry.algo.ts:163", "pc": [ 440 ] }, { "teal": 350, "source": "contracts/NFDRegistry.algo.ts:163", "pc": [ 441 ] }, { "teal": 353, "source": "contracts/NFDRegistry.algo.ts:162", "pc": [ 442 ] }, { "teal": 356, "source": "contracts/NFDRegistry.algo.ts:163", "pc": [ 443 ] }, { "teal": 357, "source": "contracts/NFDRegistry.algo.ts:163", "pc": [ 444, 445, 446 ] }, { "teal": 358, "source": "contracts/NFDRegistry.algo.ts:164", "pc": [ 447, 448 ] }, { "teal": 359, "source": "contracts/NFDRegistry.algo.ts:164", "pc": [ 449, 450, 451 ] }, { "teal": 360, "source": "contracts/NFDRegistry.algo.ts:163", "pc": [ 452 ] }, { "teal": 363, "source": "contracts/NFDRegistry.algo.ts:159", "pc": [ 453, 454, 455 ] }, { "teal": 372, "source": "contracts/NFDRegistry.algo.ts:168", "pc": [ 456, 457 ] }, { "teal": 373, "source": "contracts/NFDRegistry.algo.ts:168", "pc": [ 458, 459 ] }, { "teal": 374, "source": "contracts/NFDRegistry.algo.ts:168", "pc": [ 460 ] }, { "teal": 375, "source": "contracts/NFDRegistry.algo.ts:168", "pc": [ 461 ] }, { "teal": 376, "source": "contracts/NFDRegistry.algo.ts:168", "pc": [ 462, 463, 464 ] }, { "teal": 377, "source": "contracts/NFDRegistry.algo.ts:169", "pc": [ 465, 466, 467 ] }, { "teal": 378, "source": "contracts/NFDRegistry.algo.ts:169", "pc": [ 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480 ] }, { "teal": 379, "source": "contracts/NFDRegistry.algo.ts:169", "pc": [ 481 ] }, { "teal": 380, "source": "contracts/NFDRegistry.algo.ts:168", "pc": [ 482 ] }, { "teal": 383, "source": "contracts/NFDRegistry.algo.ts:169", "pc": [ 483 ] }, { "teal": 384, "source": "contracts/NFDRegistry.algo.ts:169", "pc": [ 484, 485, 486 ] }, { "teal": 385, "source": "contracts/NFDRegistry.algo.ts:171", "pc": [ 487, 488 ] }, { "teal": 386, "source": "contracts/NFDRegistry.algo.ts:171", "pc": [ 489 ] }, { "teal": 387, "source": "contracts/NFDRegistry.algo.ts:171", "pc": [ 490 ] }, { "teal": 388, "source": "contracts/NFDRegistry.algo.ts:171", "pc": [ 491, 492 ] }, { "teal": 389, "source": "contracts/NFDRegistry.algo.ts:171", "pc": [ 493, 494 ] }, { "teal": 390, "source": "contracts/NFDRegistry.algo.ts:171", "pc": [ 495 ] }, { "teal": 391, "source": "contracts/NFDRegistry.algo.ts:169", "pc": [ 496 ] }, { "teal": 394, "source": "contracts/NFDRegistry.algo.ts:167", "pc": [ 497, 498, 499 ] }, { "teal": 404, "source": "contracts/NFDRegistry.algo.ts:177", "pc": [ 500, 501, 502 ] }, { "teal": 405, "source": "contracts/NFDRegistry.algo.ts:177", "pc": [ 503 ] }, { "teal": 406, "source": "contracts/NFDRegistry.algo.ts:176", "pc": [ 504, 505 ] }, { "teal": 407, "source": "contracts/NFDRegistry.algo.ts:175", "pc": [ 506, 507 ] }, { "teal": 408, "source": "contracts/NFDRegistry.algo.ts:174", "pc": [ 508, 509 ] }, { "teal": 409, "source": "contracts/NFDRegistry.algo.ts:173", "pc": [ 510, 511, 512 ] }, { "teal": 410, "source": "contracts/NFDRegistry.algo.ts:167", "pc": [ 513, 514, 515 ] }, { "teal": 414, "source": "contracts/NFDRegistry.algo.ts:179", "errorMessage": "invalid", "pc": [ 516 ] }, { "teal": 424, "source": "contracts/NFDRegistry.algo.ts:185", "pc": [ 517, 518 ] }, { "teal": 425, "source": "contracts/NFDRegistry.algo.ts:185", "pc": [ 519, 520, 521 ] }, { "teal": 426, "source": "contracts/NFDRegistry.algo.ts:185", "pc": [ 522, 523, 524 ] }, { "teal": 432, "source": "contracts/NFDRegistry.algo.ts:186", "pc": [ 525, 526 ] }, { "teal": 433, "source": "contracts/NFDRegistry.algo.ts:186", "pc": [ 527, 528 ] }, { "teal": 434, "source": "contracts/NFDRegistry.algo.ts:186", "pc": [ 529 ] }, { "teal": 435, "source": "contracts/NFDRegistry.algo.ts:186", "pc": [ 530 ] }, { "teal": 436, "source": "contracts/NFDRegistry.algo.ts:186", "pc": [ 531, 532, 533 ] }, { "teal": 437, "source": "contracts/NFDRegistry.algo.ts:186", "pc": [ 534, 535, 536 ] }, { "teal": 438, "source": "contracts/NFDRegistry.algo.ts:186", "pc": [ 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550 ] }, { "teal": 439, "source": "contracts/NFDRegistry.algo.ts:186", "pc": [ 551 ] }, { "teal": 440, "source": "contracts/NFDRegistry.algo.ts:186", "pc": [ 552 ] }, { "teal": 443, "source": "contracts/NFDRegistry.algo.ts:186", "pc": [ 553, 554, 555 ] }, { "teal": 448, "source": "contracts/NFDRegistry.algo.ts:187", "pc": [ 556, 557, 558 ] }, { "teal": 452, "source": "contracts/NFDRegistry.algo.ts:188", "pc": [ 559 ] }, { "teal": 458, "source": "contracts/NFDRegistry.algo.ts:190", "pc": [ 560, 561 ] }, { "teal": 459, "source": "contracts/NFDRegistry.algo.ts:190", "pc": [ 562, 563 ] }, { "teal": 460, "source": "contracts/NFDRegistry.algo.ts:190", "pc": [ 564 ] }, { "teal": 461, "source": "contracts/NFDRegistry.algo.ts:190", "pc": [ 565 ] }, { "teal": 462, "source": "contracts/NFDRegistry.algo.ts:190", "pc": [ 566, 567, 568 ] }, { "teal": 463, "source": "contracts/NFDRegistry.algo.ts:190", "pc": [ 569, 570, 571 ] }, { "teal": 464, "source": "contracts/NFDRegistry.algo.ts:190", "pc": [ 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588 ] }, { "teal": 465, "source": "contracts/NFDRegistry.algo.ts:190", "pc": [ 589 ] }, { "teal": 466, "source": "contracts/NFDRegistry.algo.ts:190", "pc": [ 590 ] }, { "teal": 469, "source": "contracts/NFDRegistry.algo.ts:190", "pc": [ 591, 592, 593 ] }, { "teal": 474, "source": "contracts/NFDRegistry.algo.ts:191", "pc": [ 594, 595, 596 ] }, { "teal": 475, "source": "contracts/NFDRegistry.algo.ts:191", "pc": [ 597, 598, 599 ] }, { "teal": 476, "source": "contracts/NFDRegistry.algo.ts:191", "pc": [ 600, 601, 602 ] }, { "teal": 480, "source": "contracts/NFDRegistry.algo.ts:192", "pc": [ 603 ] }, { "teal": 486, "source": "contracts/NFDRegistry.algo.ts:194", "pc": [ 604, 605 ] }, { "teal": 487, "source": "contracts/NFDRegistry.algo.ts:194", "pc": [ 606, 607 ] }, { "teal": 488, "source": "contracts/NFDRegistry.algo.ts:194", "pc": [ 608 ] }, { "teal": 489, "source": "contracts/NFDRegistry.algo.ts:194", "pc": [ 609 ] }, { "teal": 490, "source": "contracts/NFDRegistry.algo.ts:194", "pc": [ 610, 611, 612 ] }, { "teal": 491, "source": "contracts/NFDRegistry.algo.ts:194", "pc": [ 613, 614, 615 ] }, { "teal": 492, "source": "contracts/NFDRegistry.algo.ts:194", "pc": [ 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627 ] }, { "teal": 493, "source": "contracts/NFDRegistry.algo.ts:194", "pc": [ 628 ] }, { "teal": 494, "source": "contracts/NFDRegistry.algo.ts:194", "pc": [ 629 ] }, { "teal": 497, "source": "contracts/NFDRegistry.algo.ts:194", "pc": [ 630, 631, 632 ] }, { "teal": 502, "source": "contracts/NFDRegistry.algo.ts:195", "pc": [ 633, 634, 635 ] }, { "teal": 506, "source": "contracts/NFDRegistry.algo.ts:196", "pc": [ 636 ] }, { "teal": 510, "source": "contracts/NFDRegistry.algo.ts:198", "errorMessage": "invalid method", "pc": [ 637 ] }, { "teal": 514, "source": "contracts/NFDRegistry.algo.ts:200", "errorMessage": "unknown method", "pc": [ 638 ] }, { "teal": 515, "source": "contracts/NFDRegistry.algo.ts:73", "pc": [ 639 ] }, { "teal": 520, "source": "contracts/NFDRegistry.algo.ts:204", "pc": [ 640, 641, 642 ] }, { "teal": 521, "source": "contracts/NFDRegistry.algo.ts:204", "pc": [ 643 ] }, { "teal": 522, "source": "contracts/NFDRegistry.algo.ts:204", "pc": [ 644 ] }, { "teal": 526, "source": "contracts/NFDRegistry.algo.ts:204", "pc": [ 645, 646, 647 ] }, { "teal": 527, "source": "contracts/NFDRegistry.algo.ts:204", "pc": [ 648 ] }, { "teal": 532, "source": "contracts/NFDRegistry.algo.ts:216", "pc": [ 649 ] }, { "teal": 535, "source": "contracts/NFDRegistry.algo.ts:216", "pc": [ 650, 651, 652 ] }, { "teal": 536, "source": "contracts/NFDRegistry.algo.ts:216", "pc": [ 653 ] }, { "teal": 537, "source": "contracts/NFDRegistry.algo.ts:216", "pc": [ 654 ] }, { "teal": 538, "source": "contracts/NFDRegistry.algo.ts:216", "pc": [ 655, 656 ] }, { "teal": 539, "source": "contracts/NFDRegistry.algo.ts:216", "pc": [ 657 ] }, { "teal": 542, "source": "contracts/NFDRegistry.algo.ts:216", "errorMessage": "argument 0 (caller) for getPrice must be a address", "pc": [ 658 ] }, { "teal": 545, "source": "contracts/NFDRegistry.algo.ts:216", "pc": [ 659, 660, 661 ] }, { "teal": 546, "source": "contracts/NFDRegistry.algo.ts:216", "pc": [ 662, 663, 664 ] }, { "teal": 549, "source": "contracts/NFDRegistry.algo.ts:216", "pc": [ 665, 666, 667 ] }, { "teal": 550, "source": "contracts/NFDRegistry.algo.ts:216", "pc": [ 668 ] }, { "teal": 551, "source": "contracts/NFDRegistry.algo.ts:216", "pc": [ 669 ] }, { "teal": 552, "source": "contracts/NFDRegistry.algo.ts:216", "pc": [ 670 ] }, { "teal": 553, "source": "contracts/NFDRegistry.algo.ts:216", "pc": [ 671 ] }, { "teal": 566, "source": "contracts/NFDRegistry.algo.ts:216", "pc": [ 672, 673, 674 ] }, { "teal": 570, "source": "contracts/NFDRegistry.algo.ts:217", "pc": [ 675, 676 ] }, { "teal": 571, "source": "contracts/NFDRegistry.algo.ts:217", "pc": [ 677, 678 ] }, { "teal": 572, "source": "contracts/NFDRegistry.algo.ts:217", "pc": [ 679, 680, 681 ] }, { "teal": 573, "source": "contracts/NFDRegistry.algo.ts:217", "pc": [ 682, 683 ] }, { "teal": 574, "source": "contracts/NFDRegistry.algo.ts:217", "pc": [ 684, 685, 686 ] }, { "teal": 575, "source": "contracts/NFDRegistry.algo.ts:216", "pc": [ 687 ] }, { "teal": 580, "source": "contracts/NFDRegistry.algo.ts:220", "pc": [ 688 ] }, { "teal": 583, "source": "contracts/NFDRegistry.algo.ts:220", "pc": [ 689, 690, 691 ] }, { "teal": 584, "source": "contracts/NFDRegistry.algo.ts:220", "pc": [ 692 ] }, { "teal": 585, "source": "contracts/NFDRegistry.algo.ts:220", "pc": [ 693 ] }, { "teal": 586, "source": "contracts/NFDRegistry.algo.ts:220", "pc": [ 694 ] }, { "teal": 587, "source": "contracts/NFDRegistry.algo.ts:220", "pc": [ 695 ] }, { "teal": 591, "source": "contracts/NFDRegistry.algo.ts:220", "pc": [ 696, 697, 698 ] }, { "teal": 594, "source": "contracts/NFDRegistry.algo.ts:220", "pc": [ 699 ] }, { "teal": 595, "source": "contracts/NFDRegistry.algo.ts:220", "pc": [ 700 ] }, { "teal": 599, "source": "contracts/NFDRegistry.algo.ts:221", "pc": [ 701, 702 ] }, { "teal": 600, "source": "contracts/NFDRegistry.algo.ts:221", "pc": [ 703, 704, 705 ] }, { "teal": 601, "source": "contracts/NFDRegistry.algo.ts:221", "pc": [ 706, 707, 708 ] }, { "teal": 602, "source": "contracts/NFDRegistry.algo.ts:221", "pc": [ 709, 710 ] }, { "teal": 606, "source": "contracts/NFDRegistry.algo.ts:222", "pc": [ 711, 712 ] }, { "teal": 607, "source": "contracts/NFDRegistry.algo.ts:222", "pc": [ 713 ] }, { "teal": 608, "source": "contracts/NFDRegistry.algo.ts:222", "pc": [ 714 ] }, { "teal": 609, "source": "contracts/NFDRegistry.algo.ts:222", "pc": [ 715, 716, 717 ] }, { "teal": 610, "source": "contracts/NFDRegistry.algo.ts:222", "pc": [ 718 ] }, { "teal": 611, "source": "contracts/NFDRegistry.algo.ts:222", "pc": [ 719, 720, 721 ] }, { "teal": 614, "source": "contracts/NFDRegistry.algo.ts:222", "pc": [ 722, 723 ] }, { "teal": 617, "source": "contracts/NFDRegistry.algo.ts:222", "pc": [ 724, 725 ] }, { "teal": 629, "source": "contracts/NFDRegistry.algo.ts:224", "pc": [ 726, 727 ] }, { "teal": 630, "source": "contracts/NFDRegistry.algo.ts:224", "pc": [ 728 ] }, { "teal": 631, "source": "contracts/NFDRegistry.algo.ts:225", "pc": [ 729, 730 ] }, { "teal": 632, "source": "contracts/NFDRegistry.algo.ts:225", "pc": [ 731, 732, 733 ] }, { "teal": 633, "source": "contracts/NFDRegistry.algo.ts:225", "pc": [ 734 ] }, { "teal": 634, "source": "contracts/NFDRegistry.algo.ts:225", "pc": [ 735 ] }, { "teal": 635, "source": "contracts/NFDRegistry.algo.ts:226", "pc": [ 736, 737, 738, 739, 740, 741, 742, 743, 744, 745 ] }, { "teal": 636, "source": "contracts/NFDRegistry.algo.ts:226", "pc": [ 746 ] }, { "teal": 637, "source": "contracts/NFDRegistry.algo.ts:227", "pc": [ 747, 748 ] }, { "teal": 638, "source": "contracts/NFDRegistry.algo.ts:227", "pc": [ 749 ] }, { "teal": 639, "source": "contracts/NFDRegistry.algo.ts:228", "pc": [ 750, 751 ] }, { "teal": 640, "source": "contracts/NFDRegistry.algo.ts:228", "pc": [ 752 ] }, { "teal": 641, "source": "contracts/NFDRegistry.algo.ts:228", "pc": [ 753 ] }, { "teal": 642, "source": "contracts/NFDRegistry.algo.ts:229", "pc": [ 754, 755, 756, 757, 758, 759, 760, 761, 762, 763 ] }, { "teal": 643, "source": "contracts/NFDRegistry.algo.ts:229", "pc": [ 764 ] }, { "teal": 644, "source": "contracts/NFDRegistry.algo.ts:230", "pc": [ 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, 777, 778, 779, 780, 781, 782, 783, 784, 785, 786, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826 ] }, { "teal": 645, "source": "contracts/NFDRegistry.algo.ts:230", "pc": [ 827, 828, 829 ] }, { "teal": 646, "source": "contracts/NFDRegistry.algo.ts:230", "pc": [ 830 ] }, { "teal": 647, "source": "contracts/NFDRegistry.algo.ts:230", "pc": [ 831 ] }, { "teal": 650, "source": "contracts/NFDRegistry.algo.ts:220", "pc": [ 832, 833 ] }, { "teal": 653, "source": "contracts/NFDRegistry.algo.ts:220", "pc": [ 834, 835 ] }, { "teal": 654, "source": "contracts/NFDRegistry.algo.ts:220", "pc": [ 836 ] }, { "teal": 659, "source": "contracts/NFDRegistry.algo.ts:239", "pc": [ 837 ] }, { "teal": 662, "source": "contracts/NFDRegistry.algo.ts:239", "pc": [ 838, 839, 840 ] }, { "teal": 663, "source": "contracts/NFDRegistry.algo.ts:239", "pc": [ 841, 842, 843 ] }, { "teal": 666, "source": "contracts/NFDRegistry.algo.ts:239", "pc": [ 844, 845, 846 ] }, { "teal": 667, "source": "contracts/NFDRegistry.algo.ts:239", "pc": [ 847 ] }, { "teal": 668, "source": "contracts/NFDRegistry.algo.ts:239", "pc": [ 848 ] }, { "teal": 669, "source": "contracts/NFDRegistry.algo.ts:239", "pc": [ 849 ] }, { "teal": 670, "source": "contracts/NFDRegistry.algo.ts:239", "pc": [ 850 ] }, { "teal": 671, "source": "contracts/NFDRegistry.algo.ts:239", "pc": [ 851 ] }, { "teal": 679, "source": "contracts/NFDRegistry.algo.ts:239", "pc": [ 852, 853, 854 ] }, { "teal": 682, "source": "contracts/NFDRegistry.algo.ts:239", "pc": [ 855 ] }, { "teal": 683, "source": "contracts/NFDRegistry.algo.ts:239", "pc": [ 856 ] }, { "teal": 688, "source": "contracts/NFDRegistry.algo.ts:245", "pc": [ 857, 858 ] }, { "teal": 689, "source": "contracts/NFDRegistry.algo.ts:245", "pc": [ 859 ] }, { "teal": 690, "source": "contracts/NFDRegistry.algo.ts:245", "pc": [ 860, 861 ] }, { "teal": 691, "source": "contracts/NFDRegistry.algo.ts:245", "pc": [ 862, 863 ] }, { "teal": 692, "source": "contracts/NFDRegistry.algo.ts:245", "pc": [ 864 ] }, { "teal": 693, "source": "contracts/NFDRegistry.algo.ts:245", "pc": [ 865, 866, 867 ] }, { "teal": 694, "source": "contracts/NFDRegistry.algo.ts:245", "pc": [ 868, 869 ] }, { "teal": 695, "source": "contracts/NFDRegistry.algo.ts:245", "pc": [ 870 ] }, { "teal": 696, "source": "contracts/NFDRegistry.algo.ts:244", "pc": [ 871, 872 ] }, { "teal": 700, "source": "contracts/NFDRegistry.algo.ts:251", "pc": [ 873, 874 ] }, { "teal": 701, "source": "contracts/NFDRegistry.algo.ts:251", "pc": [ 875, 876 ] }, { "teal": 702, "source": "contracts/NFDRegistry.algo.ts:251", "pc": [ 877 ] }, { "teal": 703, "source": "contracts/NFDRegistry.algo.ts:251", "pc": [ 878 ] }, { "teal": 704, "source": "contracts/NFDRegistry.algo.ts:251", "pc": [ 879, 880 ] }, { "teal": 705, "source": "contracts/NFDRegistry.algo.ts:251", "pc": [ 881, 882, 883 ] }, { "teal": 706, "source": "contracts/NFDRegistry.algo.ts:251", "pc": [ 884, 885 ] }, { "teal": 710, "source": "contracts/NFDRegistry.algo.ts:252", "pc": [ 886, 887 ] }, { "teal": 711, "source": "contracts/NFDRegistry.algo.ts:252", "pc": [ 888, 889 ] }, { "teal": 712, "source": "contracts/NFDRegistry.algo.ts:252", "pc": [ 890 ] }, { "teal": 713, "source": "contracts/NFDRegistry.algo.ts:252", "pc": [ 891, 892, 893 ] }, { "teal": 714, "source": "contracts/NFDRegistry.algo.ts:252", "pc": [ 894 ] }, { "teal": 717, "source": "contracts/NFDRegistry.algo.ts:239", "pc": [ 895, 896 ] }, { "teal": 720, "source": "contracts/NFDRegistry.algo.ts:239", "pc": [ 897, 898 ] }, { "teal": 721, "source": "contracts/NFDRegistry.algo.ts:239", "pc": [ 899 ] }, { "teal": 726, "source": "contracts/NFDRegistry.algo.ts:256", "pc": [ 900 ] }, { "teal": 729, "source": "contracts/NFDRegistry.algo.ts:256", "pc": [ 901, 902, 903 ] }, { "teal": 730, "source": "contracts/NFDRegistry.algo.ts:256", "pc": [ 904 ] }, { "teal": 731, "source": "contracts/NFDRegistry.algo.ts:256", "pc": [ 905 ] }, { "teal": 732, "source": "contracts/NFDRegistry.algo.ts:256", "pc": [ 906, 907 ] }, { "teal": 733, "source": "contracts/NFDRegistry.algo.ts:256", "pc": [ 908 ] }, { "teal": 736, "source": "contracts/NFDRegistry.algo.ts:256", "errorMessage": "argument 0 (address) for getNfdLinkOnMintExtraMbrCost must be a address", "pc": [ 909 ] }, { "teal": 739, "source": "contracts/NFDRegistry.algo.ts:256", "pc": [ 910, 911, 912 ] }, { "teal": 740, "source": "contracts/NFDRegistry.algo.ts:256", "pc": [ 913 ] }, { "teal": 741, "source": "contracts/NFDRegistry.algo.ts:256", "pc": [ 914 ] }, { "teal": 742, "source": "contracts/NFDRegistry.algo.ts:256", "pc": [ 915 ] }, { "teal": 743, "source": "contracts/NFDRegistry.algo.ts:256", "pc": [ 916 ] }, { "teal": 747, "source": "contracts/NFDRegistry.algo.ts:256", "pc": [ 917, 918, 919 ] }, { "teal": 754, "source": "contracts/NFDRegistry.algo.ts:258", "pc": [ 920, 921 ] }, { "teal": 755, "source": "contracts/NFDRegistry.algo.ts:258", "pc": [ 922 ] }, { "teal": 756, "source": "contracts/NFDRegistry.algo.ts:258", "pc": [ 923, 924 ] }, { "teal": 757, "source": "contracts/NFDRegistry.algo.ts:258", "pc": [ 925 ] }, { "teal": 758, "source": "contracts/NFDRegistry.algo.ts:258", "pc": [ 926 ] }, { "teal": 759, "source": "contracts/NFDRegistry.algo.ts:258", "pc": [ 927, 928, 929 ] }, { "teal": 760, "source": "contracts/NFDRegistry.algo.ts:258", "pc": [ 930 ] }, { "teal": 761, "source": "contracts/NFDRegistry.algo.ts:259", "pc": [ 931, 932 ] }, { "teal": 762, "source": "contracts/NFDRegistry.algo.ts:259", "pc": [ 933, 934, 935 ] }, { "teal": 763, "source": "contracts/NFDRegistry.algo.ts:259", "pc": [ 936 ] }, { "teal": 764, "source": "contracts/NFDRegistry.algo.ts:259", "pc": [ 937 ] }, { "teal": 765, "source": "contracts/NFDRegistry.algo.ts:256", "pc": [ 938 ] }, { "teal": 770, "source": "contracts/NFDRegistry.algo.ts:272", "pc": [ 939 ] }, { "teal": 773, "source": "contracts/NFDRegistry.algo.ts:272", "pc": [ 940, 941, 942 ] }, { "teal": 774, "source": "contracts/NFDRegistry.algo.ts:272", "pc": [ 943 ] }, { "teal": 775, "source": "contracts/NFDRegistry.algo.ts:272", "pc": [ 944 ] }, { "teal": 776, "source": "contracts/NFDRegistry.algo.ts:272", "pc": [ 945 ] }, { "teal": 777, "source": "contracts/NFDRegistry.algo.ts:272", "pc": [ 946 ] }, { "teal": 780, "source": "contracts/NFDRegistry.algo.ts:272", "errorMessage": "argument 0 (linkOnMint) for mintNfd must be a bool", "pc": [ 947 ] }, { "teal": 781, "source": "contracts/NFDRegistry.algo.ts:272", "pc": [ 948 ] }, { "teal": 782, "source": "contracts/NFDRegistry.algo.ts:272", "pc": [ 949 ] }, { "teal": 785, "source": "contracts/NFDRegistry.algo.ts:272", "pc": [ 950, 951, 952 ] }, { "teal": 786, "source": "contracts/NFDRegistry.algo.ts:272", "pc": [ 953 ] }, { "teal": 787, "source": "contracts/NFDRegistry.algo.ts:272", "pc": [ 954 ] }, { "teal": 788, "source": "contracts/NFDRegistry.algo.ts:272", "pc": [ 955, 956 ] }, { "teal": 789, "source": "contracts/NFDRegistry.algo.ts:272", "pc": [ 957 ] }, { "teal": 792, "source": "contracts/NFDRegistry.algo.ts:272", "errorMessage": "argument 1 (reservedFor) for mintNfd must be a address", "pc": [ 958 ] }, { "teal": 795, "source": "contracts/NFDRegistry.algo.ts:272", "pc": [ 959, 960, 961 ] }, { "teal": 796, "source": "contracts/NFDRegistry.algo.ts:272", "pc": [ 962, 963, 964 ] }, { "teal": 799, "source": "contracts/NFDRegistry.algo.ts:272", "pc": [ 965, 966 ] }, { "teal": 800, "source": "contracts/NFDRegistry.algo.ts:272", "pc": [ 967 ] }, { "teal": 801, "source": "contracts/NFDRegistry.algo.ts:272", "pc": [ 968 ] }, { "teal": 802, "source": "contracts/NFDRegistry.algo.ts:272", "pc": [ 969 ] }, { "teal": 803, "source": "contracts/NFDRegistry.algo.ts:272", "pc": [ 970, 971 ] }, { "teal": 804, "source": "contracts/NFDRegistry.algo.ts:272", "pc": [ 972 ] }, { "teal": 805, "source": "contracts/NFDRegistry.algo.ts:272", "pc": [ 973 ] }, { "teal": 808, "source": "contracts/NFDRegistry.algo.ts:272", "errorMessage": "argument 3 (purchaseTxn) for mintNfd must be a pay transaction", "pc": [ 974 ] }, { "teal": 811, "source": "contracts/NFDRegistry.algo.ts:272", "pc": [ 975, 976, 977 ] }, { "teal": 812, "source": "contracts/NFDRegistry.algo.ts:272", "pc": [ 978 ] }, { "teal": 813, "source": "contracts/NFDRegistry.algo.ts:272", "pc": [ 979 ] }, { "teal": 814, "source": "contracts/NFDRegistry.algo.ts:272", "pc": [ 980 ] }, { "teal": 815, "source": "contracts/NFDRegistry.algo.ts:272", "pc": [ 981 ] }, { "teal": 816, "source": "contracts/NFDRegistry.algo.ts:272", "pc": [ 982 ] }, { "teal": 828, "source": "contracts/NFDRegistry.algo.ts:272", "pc": [ 983, 984, 985 ] }, { "teal": 831, "source": "contracts/NFDRegistry.algo.ts:272", "pc": [ 986 ] }, { "teal": 832, "source": "contracts/NFDRegistry.algo.ts:272", "pc": [ 987, 988 ] }, { "teal": 837, "source": "contracts/NFDRegistry.algo.ts:273", "pc": [ 989, 990 ] }, { "teal": 838, "source": "contracts/NFDRegistry.algo.ts:273", "pc": [ 991, 992 ] }, { "teal": 839, "source": "contracts/NFDRegistry.algo.ts:273", "pc": [ 993, 994 ] }, { "teal": 840, "source": "contracts/NFDRegistry.algo.ts:273", "pc": [ 995 ] }, { "teal": 843, "source": "contracts/NFDRegistry.algo.ts:273", "errorMessage": "transaction verification failed: {\"txn\":\"purchaseTxn\",\"field\":\"receiver\",\"expected\":\"this.app.address\"}", "pc": [ 996 ] }, { "teal": 847, "source": "contracts/NFDRegistry.algo.ts:275", "pc": [ 997, 998 ] }, { "teal": 848, "source": "contracts/NFDRegistry.algo.ts:275", "pc": [ 999 ] }, { "teal": 849, "source": "contracts/NFDRegistry.algo.ts:275", "pc": [ 1000 ] }, { "teal": 850, "source": "contracts/NFDRegistry.algo.ts:275", "pc": [ 1001 ] }, { "teal": 854, "source": "contracts/NFDRegistry.algo.ts:276", "pc": [ 1002, 1003 ] }, { "teal": 855, "source": "contracts/NFDRegistry.algo.ts:276", "pc": [ 1004, 1005 ] }, { "teal": 856, "source": "contracts/NFDRegistry.algo.ts:276", "pc": [ 1006 ] }, { "teal": 857, "source": "contracts/NFDRegistry.algo.ts:276", "pc": [ 1007 ] }, { "teal": 861, "source": "contracts/NFDRegistry.algo.ts:278", "pc": [ 1008 ] }, { "teal": 862, "source": "contracts/NFDRegistry.algo.ts:278", "pc": [ 1009 ] }, { "teal": 863, "source": "contracts/NFDRegistry.algo.ts:278", "pc": [ 1010, 1011 ] }, { "teal": 864, "source": "contracts/NFDRegistry.algo.ts:278", "pc": [ 1012 ] }, { "teal": 865, "source": "contracts/NFDRegistry.algo.ts:278", "pc": [ 1013, 1014 ] }, { "teal": 866, "source": "contracts/NFDRegistry.algo.ts:278", "pc": [ 1015 ] }, { "teal": 867, "source": "contracts/NFDRegistry.algo.ts:278", "pc": [ 1016 ] }, { "teal": 868, "source": "contracts/NFDRegistry.algo.ts:278", "pc": [ 1017, 1018 ] }, { "teal": 869, "source": "contracts/NFDRegistry.algo.ts:278", "pc": [ 1019, 1020 ] }, { "teal": 870, "source": "contracts/NFDRegistry.algo.ts:278", "pc": [ 1021, 1022 ] }, { "teal": 871, "source": "contracts/NFDRegistry.algo.ts:278", "pc": [ 1023, 1024 ] }, { "teal": 872, "source": "contracts/NFDRegistry.algo.ts:278", "pc": [ 1025 ] }, { "teal": 876, "source": "contracts/NFDRegistry.algo.ts:281", "pc": [ 1026, 1027 ] }, { "teal": 877, "source": "contracts/NFDRegistry.algo.ts:281", "pc": [ 1028, 1029, 1030 ] }, { "teal": 878, "source": "contracts/NFDRegistry.algo.ts:281", "pc": [ 1031, 1032 ] }, { "teal": 882, "source": "contracts/NFDRegistry.algo.ts:283", "pc": [ 1033 ] }, { "teal": 883, "source": "contracts/NFDRegistry.algo.ts:283", "pc": [ 1034, 1035 ] }, { "teal": 887, "source": "contracts/NFDRegistry.algo.ts:284", "pc": [ 1036, 1037 ] }, { "teal": 888, "source": "contracts/NFDRegistry.algo.ts:284", "pc": [ 1038, 1039 ] }, { "teal": 893, "source": "contracts/NFDRegistry.algo.ts:286", "pc": [ 1040, 1041 ] }, { "teal": 894, "source": "contracts/NFDRegistry.algo.ts:286", "pc": [ 1042, 1043 ] }, { "teal": 895, "source": "contracts/NFDRegistry.algo.ts:286", "pc": [ 1044, 1045 ] }, { "teal": 896, "source": "contracts/NFDRegistry.algo.ts:286", "pc": [ 1046 ] }, { "teal": 897, "source": "contracts/NFDRegistry.algo.ts:286", "pc": [ 1047 ] }, { "teal": 898, "source": "contracts/NFDRegistry.algo.ts:286", "pc": [ 1048, 1049, 1050 ] }, { "teal": 903, "source": "contracts/NFDRegistry.algo.ts:287", "pc": [ 1051 ] }, { "teal": 904, "source": "contracts/NFDRegistry.algo.ts:287", "pc": [ 1052 ] }, { "teal": 905, "source": "contracts/NFDRegistry.algo.ts:287", "pc": [ 1053, 1054 ] }, { "teal": 906, "source": "contracts/NFDRegistry.algo.ts:287", "pc": [ 1055 ] }, { "teal": 907, "source": "contracts/NFDRegistry.algo.ts:287", "pc": [ 1056, 1057 ] }, { "teal": 908, "source": "contracts/NFDRegistry.algo.ts:287", "pc": [ 1058 ] }, { "teal": 909, "source": "contracts/NFDRegistry.algo.ts:287", "pc": [ 1059 ] }, { "teal": 910, "source": "contracts/NFDRegistry.algo.ts:287", "pc": [ 1060, 1061 ] }, { "teal": 911, "source": "contracts/NFDRegistry.algo.ts:287", "pc": [ 1062, 1063 ] }, { "teal": 912, "source": "contracts/NFDRegistry.algo.ts:287", "pc": [ 1064, 1065 ] }, { "teal": 913, "source": "contracts/NFDRegistry.algo.ts:287", "pc": [ 1066, 1067 ] }, { "teal": 914, "source": "contracts/NFDRegistry.algo.ts:287", "pc": [ 1068 ] }, { "teal": 918, "source": "contracts/NFDRegistry.algo.ts:289", "pc": [ 1069, 1070 ] }, { "teal": 919, "source": "contracts/NFDRegistry.algo.ts:289", "pc": [ 1071, 1072 ] }, { "teal": 920, "source": "contracts/NFDRegistry.algo.ts:289", "pc": [ 1073, 1074, 1075 ] }, { "teal": 921, "source": "contracts/NFDRegistry.algo.ts:289", "pc": [ 1076, 1077, 1078 ] }, { "teal": 922, "source": "contracts/NFDRegistry.algo.ts:289", "pc": [ 1079, 1080 ] }, { "teal": 926, "source": "contracts/NFDRegistry.algo.ts:290", "pc": [ 1081, 1082 ] }, { "teal": 927, "source": "contracts/NFDRegistry.algo.ts:290", "pc": [ 1083 ] }, { "teal": 928, "source": "contracts/NFDRegistry.algo.ts:290", "pc": [ 1084 ] }, { "teal": 931, "source": "contracts/NFDRegistry.algo.ts:290", "errorMessage": "parent nfd/id must be found", "pc": [ 1085 ] }, { "teal": 936, "source": "contracts/NFDRegistry.algo.ts:293", "pc": [ 1086, 1087 ] }, { "teal": 937, "source": "contracts/NFDRegistry.algo.ts:293", "pc": [ 1088, 1089 ] }, { "teal": 938, "source": "contracts/NFDRegistry.algo.ts:293", "pc": [ 1090, 1091, 1092 ] }, { "teal": 939, "source": "contracts/NFDRegistry.algo.ts:293", "pc": [ 1093, 1094 ] }, { "teal": 940, "source": "contracts/NFDRegistry.algo.ts:293", "pc": [ 1095 ] }, { "teal": 941, "source": "contracts/NFDRegistry.algo.ts:293", "pc": [ 1096, 1097, 1098 ] }, { "teal": 946, "source": "contracts/NFDRegistry.algo.ts:294", "pc": [ 1099, 1100 ] }, { "teal": 947, "source": "contracts/NFDRegistry.algo.ts:294", "pc": [ 1101, 1102, 1103, 1104, 1105, 1106, 1107, 1108, 1109, 1110, 1111, 1112 ] }, { "teal": 948, "source": "contracts/NFDRegistry.algo.ts:294", "pc": [ 1113 ] }, { "teal": 951, "source": "contracts/NFDRegistry.algo.ts:294", "errorMessage": "global state value does not exist: AppID.fromUint64(parentAppId).globalState(NFD_KEY_SELLER)", "pc": [ 1114 ] }, { "teal": 952, "source": "contracts/NFDRegistry.algo.ts:294", "pc": [ 1115, 1116 ] }, { "teal": 953, "source": "contracts/NFDRegistry.algo.ts:293", "pc": [ 1117, 1118, 1119 ] }, { "teal": 961, "source": "contracts/NFDRegistry.algo.ts:298", "pc": [ 1120, 1121 ] }, { "teal": 962, "source": "contracts/NFDRegistry.algo.ts:298", "pc": [ 1122, 1123 ] }, { "teal": 963, "source": "contracts/NFDRegistry.algo.ts:298", "pc": [ 1124, 1125 ] }, { "teal": 964, "source": "contracts/NFDRegistry.algo.ts:298", "pc": [ 1126 ] }, { "teal": 965, "source": "contracts/NFDRegistry.algo.ts:298", "pc": [ 1127 ] }, { "teal": 968, "source": "contracts/NFDRegistry.algo.ts:298", "errorMessage": "global state value does not exist: AppID.fromUint64(parentAppId).globalState(NFD_KEY_OWNER)", "pc": [ 1128 ] }, { "teal": 969, "source": "contracts/NFDRegistry.algo.ts:298", "pc": [ 1129 ] }, { "teal": 972, "source": "contracts/NFDRegistry.algo.ts:297", "errorMessage": "only owner of root can mint segments if segments are locked", "pc": [ 1130 ] }, { "teal": 979, "source": "contracts/NFDRegistry.algo.ts:305", "pc": [ 1131, 1132 ] }, { "teal": 980, "source": "contracts/NFDRegistry.algo.ts:305", "pc": [ 1133, 1134 ] }, { "teal": 981, "source": "contracts/NFDRegistry.algo.ts:305", "pc": [ 1135, 1136 ] }, { "teal": 982, "source": "contracts/NFDRegistry.algo.ts:305", "pc": [ 1137, 1138, 1139 ] }, { "teal": 983, "source": "contracts/NFDRegistry.algo.ts:305", "pc": [ 1140, 1141 ] }, { "teal": 984, "source": "contracts/NFDRegistry.algo.ts:305", "pc": [ 1142, 1143 ] }, { "teal": 985, "source": "contracts/NFDRegistry.algo.ts:305", "pc": [ 1144, 1145, 1146 ] }, { "teal": 986, "source": "contracts/NFDRegistry.algo.ts:305", "pc": [ 1147 ] }, { "teal": 987, "source": "contracts/NFDRegistry.algo.ts:305", "pc": [ 1148, 1149 ] }, { "teal": 991, "source": "contracts/NFDRegistry.algo.ts:306", "pc": [ 1150, 1151 ] }, { "teal": 992, "source": "contracts/NFDRegistry.algo.ts:306", "pc": [ 1152 ] }, { "teal": 993, "source": "contracts/NFDRegistry.algo.ts:306", "pc": [ 1153 ] }, { "teal": 996, "source": "contracts/NFDRegistry.algo.ts:306", "errorMessage": "price can never be 0", "pc": [ 1154 ] }, { "teal": 1000, "source": "contracts/NFDRegistry.algo.ts:309", "pc": [ 1155, 1156 ] }, { "teal": 1001, "source": "contracts/NFDRegistry.algo.ts:309", "pc": [ 1157, 1158, 1159 ] }, { "teal": 1002, "source": "contracts/NFDRegistry.algo.ts:309", "pc": [ 1160, 1161 ] }, { "teal": 1006, "source": "contracts/NFDRegistry.algo.ts:310", "pc": [ 1162 ] }, { "teal": 1007, "source": "contracts/NFDRegistry.algo.ts:310", "pc": [ 1163, 1164 ] }, { "teal": 1012, "source": "contracts/NFDRegistry.algo.ts:311", "pc": [ 1165, 1166 ] }, { "teal": 1013, "source": "contracts/NFDRegistry.algo.ts:311", "pc": [ 1167, 1168, 1169 ] }, { "teal": 1018, "source": "contracts/NFDRegistry.algo.ts:312", "pc": [ 1170, 1171 ] }, { "teal": 1019, "source": "contracts/NFDRegistry.algo.ts:312", "pc": [ 1172, 1173, 1174 ] }, { "teal": 1020, "source": "contracts/NFDRegistry.algo.ts:312", "pc": [ 1175, 1176 ] }, { "teal": 1024, "source": "contracts/NFDRegistry.algo.ts:313", "pc": [ 1177, 1178 ] }, { "teal": 1025, "source": "contracts/NFDRegistry.algo.ts:313", "pc": [ 1179, 1180, 1181 ] }, { "teal": 1026, "source": "contracts/NFDRegistry.algo.ts:313", "pc": [ 1182 ] }, { "teal": 1027, "source": "contracts/NFDRegistry.algo.ts:313", "pc": [ 1183, 1184 ] }, { "teal": 1031, "source": "contracts/NFDRegistry.algo.ts:314", "pc": [ 1185, 1186 ] }, { "teal": 1032, "source": "contracts/NFDRegistry.algo.ts:314", "pc": [ 1187, 1188 ] }, { "teal": 1033, "source": "contracts/NFDRegistry.algo.ts:314", "pc": [ 1189, 1190, 1191 ] }, { "teal": 1034, "source": "contracts/NFDRegistry.algo.ts:314", "pc": [ 1192 ] }, { "teal": 1035, "source": "contracts/NFDRegistry.algo.ts:314", "pc": [ 1193, 1194 ] }, { "teal": 1036, "source": "contracts/NFDRegistry.algo.ts:314", "pc": [ 1195, 1196, 1197 ] }, { "teal": 1037, "source": "contracts/NFDRegistry.algo.ts:314", "pc": [ 1198 ] }, { "teal": 1038, "source": "contracts/NFDRegistry.algo.ts:314", "pc": [ 1199 ] }, { "teal": 1039, "source": "contracts/NFDRegistry.algo.ts:314", "pc": [ 1200 ] }, { "teal": 1040, "source": "contracts/NFDRegistry.algo.ts:314", "pc": [ 1201, 1202 ] }, { "teal": 1047, "source": "contracts/NFDRegistry.algo.ts:316", "pc": [ 1203, 1204 ] }, { "teal": 1048, "source": "contracts/NFDRegistry.algo.ts:316", "pc": [ 1205, 1206 ] }, { "teal": 1049, "source": "contracts/NFDRegistry.algo.ts:316", "pc": [ 1207 ] }, { "teal": 1052, "source": "contracts/NFDRegistry.algo.ts:315", "errorMessage": "if linking on mint, the buyer MUST be who will be the owner (reservedFor)", "pc": [ 1208 ] }, { "teal": 1058, "source": "contracts/NFDRegistry.algo.ts:320", "pc": [ 1209, 1210 ] }, { "teal": 1059, "source": "contracts/NFDRegistry.algo.ts:320", "pc": [ 1211 ] }, { "teal": 1060, "source": "contracts/NFDRegistry.algo.ts:320", "pc": [ 1212 ] }, { "teal": 1061, "source": "contracts/NFDRegistry.algo.ts:320", "pc": [ 1213, 1214, 1215 ] }, { "teal": 1069, "source": "contracts/NFDRegistry.algo.ts:323", "pc": [ 1216, 1217 ] }, { "teal": 1070, "source": "contracts/NFDRegistry.algo.ts:323", "pc": [ 1218, 1219 ] }, { "teal": 1071, "source": "contracts/NFDRegistry.algo.ts:323", "pc": [ 1220, 1221 ] }, { "teal": 1072, "source": "contracts/NFDRegistry.algo.ts:323", "pc": [ 1222, 1223 ] }, { "teal": 1073, "source": "contracts/NFDRegistry.algo.ts:323", "pc": [ 1224 ] }, { "teal": 1074, "source": "contracts/NFDRegistry.algo.ts:323", "pc": [ 1225 ] }, { "teal": 1075, "source": "contracts/NFDRegistry.algo.ts:323", "pc": [ 1226, 1227 ] }, { "teal": 1076, "source": "contracts/NFDRegistry.algo.ts:323", "pc": [ 1228 ] }, { "teal": 1077, "source": "contracts/NFDRegistry.algo.ts:323", "pc": [ 1229, 1230 ] }, { "teal": 1078, "source": "contracts/NFDRegistry.algo.ts:323", "pc": [ 1231 ] }, { "teal": 1081, "source": "contracts/NFDRegistry.algo.ts:322", "errorMessage": "payment transaction must be at least enough to cover 30 days of nfd cost + carry cost", "pc": [ 1232 ] }, { "teal": 1086, "source": "contracts/NFDRegistry.algo.ts:330", "pc": [ 1233, 1234 ] }, { "teal": 1087, "source": "contracts/NFDRegistry.algo.ts:330", "pc": [ 1235 ] }, { "teal": 1090, "source": "contracts/NFDRegistry.algo.ts:330", "errorMessage": "box value does not exist: this.boxes(REGISTRY_CONTRACT_BOX_CURRENT_CONTRACT).value", "pc": [ 1236 ] }, { "teal": 1091, "source": "contracts/NFDRegistry.algo.ts:330", "pc": [ 1237, 1238 ] }, { "teal": 1098, "source": "contracts/NFDRegistry.algo.ts:332", "pc": [ 1239, 1240 ] }, { "teal": 1099, "source": "contracts/NFDRegistry.algo.ts:333", "pc": [ 1241, 1242 ] }, { "teal": 1100, "source": "contracts/NFDRegistry.algo.ts:333", "pc": [ 1243 ] }, { "teal": 1103, "source": "contracts/NFDRegistry.algo.ts:333", "errorMessage": "box value does not exist: this.boxes(REGISTRY_CONTRACT_BOX_CURRENT_CONTRACT).value", "pc": [ 1244 ] }, { "teal": 1104, "source": "contracts/NFDRegistry.algo.ts:331", "pc": [ 1245 ] }, { "teal": 1105, "source": "contracts/NFDRegistry.algo.ts:331", "pc": [ 1246, 1247 ] }, { "teal": 1109, "source": "contracts/NFDRegistry.algo.ts:335", "pc": [ 1248, 1249 ] }, { "teal": 1110, "source": "contracts/NFDRegistry.algo.ts:335", "pc": [ 1250, 1251 ] }, { "teal": 1111, "source": "contracts/NFDRegistry.algo.ts:335", "pc": [ 1252 ] }, { "teal": 1112, "source": "contracts/NFDRegistry.algo.ts:335", "pc": [ 1253 ] }, { "teal": 1115, "source": "contracts/NFDRegistry.algo.ts:335", "errorMessage": "box value does not exist: this.boxes(concat(REGISTRY_CONTRACT_BOX_CLEAR_NAMEPREFIX, currentContractVer)).value", "pc": [ 1254 ] }, { "teal": 1116, "source": "contracts/NFDRegistry.algo.ts:335", "pc": [ 1255, 1256 ] }, { "teal": 1120, "source": "contracts/NFDRegistry.algo.ts:336", "pc": [ 1257, 1258 ] }, { "teal": 1121, "source": "contracts/NFDRegistry.algo.ts:336", "pc": [ 1259 ] }, { "teal": 1124, "source": "contracts/NFDRegistry.algo.ts:336", "errorMessage": "box value does not exist: this.boxes(approvProgName).size", "pc": [ 1260 ] }, { "teal": 1125, "source": "contracts/NFDRegistry.algo.ts:336", "pc": [ 1261, 1262 ] }, { "teal": 1130, "source": "contracts/NFDRegistry.algo.ts:338", "pc": [ 1263, 1264 ] }, { "teal": 1131, "source": "contracts/NFDRegistry.algo.ts:338", "pc": [ 1265, 1266, 1267 ] }, { "teal": 1132, "source": "contracts/NFDRegistry.algo.ts:338", "pc": [ 1268 ] }, { "teal": 1133, "source": "contracts/NFDRegistry.algo.ts:338", "pc": [ 1269, 1270, 1271 ] }, { "teal": 1138, "source": "contracts/NFDRegistry.algo.ts:339", "pc": [ 1272 ] }, { "teal": 1139, "source": "contracts/NFDRegistry.algo.ts:339", "pc": [ 1273 ] }, { "teal": 1140, "source": "contracts/NFDRegistry.algo.ts:339", "pc": [ 1274, 1275 ] }, { "teal": 1141, "source": "contracts/NFDRegistry.algo.ts:339", "pc": [ 1276 ] }, { "teal": 1142, "source": "contracts/NFDRegistry.algo.ts:339", "pc": [ 1277, 1278 ] }, { "teal": 1143, "source": "contracts/NFDRegistry.algo.ts:339", "pc": [ 1279 ] }, { "teal": 1144, "source": "contracts/NFDRegistry.algo.ts:339", "pc": [ 1280 ] }, { "teal": 1145, "source": "contracts/NFDRegistry.algo.ts:339", "pc": [ 1281, 1282 ] }, { "teal": 1146, "source": "contracts/NFDRegistry.algo.ts:339", "pc": [ 1283, 1284 ] }, { "teal": 1147, "source": "contracts/NFDRegistry.algo.ts:339", "pc": [ 1285, 1286 ] }, { "teal": 1148, "source": "contracts/NFDRegistry.algo.ts:339", "pc": [ 1287, 1288 ] }, { "teal": 1149, "source": "contracts/NFDRegistry.algo.ts:339", "pc": [ 1289 ] }, { "teal": 1159, "source": "contracts/NFDRegistry.algo.ts:346", "pc": [ 1290, 1291 ] }, { "teal": 1160, "source": "contracts/NFDRegistry.algo.ts:345", "pc": [ 1292, 1293 ] }, { "teal": 1161, "source": "contracts/NFDRegistry.algo.ts:344", "pc": [ 1294, 1295 ] }, { "teal": 1162, "source": "contracts/NFDRegistry.algo.ts:344", "pc": [ 1296, 1297 ] }, { "teal": 1163, "source": "contracts/NFDRegistry.algo.ts:344", "pc": [ 1298, 1299 ] }, { "teal": 1164, "source": "contracts/NFDRegistry.algo.ts:344", "pc": [ 1300 ] }, { "teal": 1165, "source": "contracts/NFDRegistry.algo.ts:343", "pc": [ 1301, 1302 ] }, { "teal": 1166, "source": "contracts/NFDRegistry.algo.ts:342", "pc": [ 1303, 1304, 1305 ] }, { "teal": 1167, "source": "contracts/NFDRegistry.algo.ts:342", "pc": [ 1306, 1307 ] }, { "teal": 1212, "source": "contracts/NFDRegistry.algo.ts:348", "pc": [ 1308 ] }, { "teal": 1213, "source": "contracts/NFDRegistry.algo.ts:348", "pc": [ 1309 ] }, { "teal": 1214, "source": "contracts/NFDRegistry.algo.ts:348", "pc": [ 1310, 1311 ] }, { "teal": 1218, "source": "contracts/NFDRegistry.algo.ts:349", "pc": [ 1312 ] }, { "teal": 1219, "source": "contracts/NFDRegistry.algo.ts:349", "pc": [ 1313, 1314 ] }, { "teal": 1226, "source": "contracts/NFDRegistry.algo.ts:351", "pc": [ 1315, 1316 ] }, { "teal": 1227, "source": "contracts/NFDRegistry.algo.ts:351", "pc": [ 1317 ] }, { "teal": 1228, "source": "contracts/NFDRegistry.algo.ts:351", "pc": [ 1318, 1319 ] }, { "teal": 1229, "source": "contracts/NFDRegistry.algo.ts:351", "pc": [ 1320 ] }, { "teal": 1230, "source": "contracts/NFDRegistry.algo.ts:351", "pc": [ 1321, 1322 ] }, { "teal": 1231, "source": "contracts/NFDRegistry.algo.ts:352", "pc": [ 1323, 1324 ] }, { "teal": 1232, "source": "contracts/NFDRegistry.algo.ts:352", "pc": [ 1325, 1326 ] }, { "teal": 1233, "source": "contracts/NFDRegistry.algo.ts:352", "pc": [ 1327, 1328 ] }, { "teal": 1234, "source": "contracts/NFDRegistry.algo.ts:352", "pc": [ 1329, 1330 ] }, { "teal": 1235, "source": "contracts/NFDRegistry.algo.ts:352", "pc": [ 1331 ] }, { "teal": 1236, "source": "contracts/NFDRegistry.algo.ts:352", "pc": [ 1332 ] }, { "teal": 1237, "source": "contracts/NFDRegistry.algo.ts:352", "pc": [ 1333, 1334 ] }, { "teal": 1241, "source": "contracts/NFDRegistry.algo.ts:354", "pc": [ 1335, 1336 ] }, { "teal": 1242, "source": "contracts/NFDRegistry.algo.ts:354", "pc": [ 1337, 1338 ] }, { "teal": 1246, "source": "contracts/NFDRegistry.algo.ts:355", "pc": [ 1339 ] }, { "teal": 1247, "source": "contracts/NFDRegistry.algo.ts:355", "pc": [ 1340, 1341 ] }, { "teal": 1251, "source": "contracts/NFDRegistry.algo.ts:356", "pc": [ 1342, 1343 ] }, { "teal": 1252, "source": "contracts/NFDRegistry.algo.ts:356", "pc": [ 1344, 1345 ] }, { "teal": 1256, "source": "contracts/NFDRegistry.algo.ts:357", "pc": [ 1346, 1347 ] }, { "teal": 1257, "source": "contracts/NFDRegistry.algo.ts:357", "pc": [ 1348, 1349 ] }, { "teal": 1291, "source": "contracts/NFDRegistry.algo.ts:371", "pc": [ 1350, 1351, 1352, 1353, 1354, 1355 ] }, { "teal": 1292, "source": "contracts/NFDRegistry.algo.ts:370", "pc": [ 1356, 1357 ] }, { "teal": 1293, "source": "contracts/NFDRegistry.algo.ts:373", "pc": [ 1358, 1359 ] }, { "teal": 1294, "source": "contracts/NFDRegistry.algo.ts:373", "pc": [ 1360 ] }, { "teal": 1295, "source": "contracts/NFDRegistry.algo.ts:373", "pc": [ 1361 ] }, { "teal": 1296, "source": "contracts/NFDRegistry.algo.ts:373", "pc": [ 1362 ] }, { "teal": 1297, "source": "contracts/NFDRegistry.algo.ts:373", "pc": [ 1363, 1364, 1365 ] }, { "teal": 1298, "source": "contracts/NFDRegistry.algo.ts:373", "pc": [ 1366 ] }, { "teal": 1299, "source": "contracts/NFDRegistry.algo.ts:373", "pc": [ 1367 ] }, { "teal": 1300, "source": "contracts/NFDRegistry.algo.ts:373", "pc": [ 1368, 1369 ] }, { "teal": 1301, "source": "contracts/NFDRegistry.algo.ts:374", "pc": [ 1370, 1371 ] }, { "teal": 1302, "source": "contracts/NFDRegistry.algo.ts:374", "pc": [ 1372, 1373 ] }, { "teal": 1303, "source": "contracts/NFDRegistry.algo.ts:375", "pc": [ 1374, 1375 ] }, { "teal": 1304, "source": "contracts/NFDRegistry.algo.ts:375", "pc": [ 1376, 1377 ] }, { "teal": 1305, "source": "contracts/NFDRegistry.algo.ts:378", "pc": [ 1378, 1379 ] }, { "teal": 1306, "source": "contracts/NFDRegistry.algo.ts:378", "pc": [ 1380, 1381 ] }, { "teal": 1307, "source": "contracts/NFDRegistry.algo.ts:378", "pc": [ 1382, 1383 ] }, { "teal": 1308, "source": "contracts/NFDRegistry.algo.ts:378", "pc": [ 1384 ] }, { "teal": 1309, "source": "contracts/NFDRegistry.algo.ts:378", "pc": [ 1385 ] }, { "teal": 1310, "source": "contracts/NFDRegistry.algo.ts:378", "pc": [ 1386, 1387 ] }, { "teal": 1311, "source": "contracts/NFDRegistry.algo.ts:379", "pc": [ 1388, 1389 ] }, { "teal": 1312, "source": "contracts/NFDRegistry.algo.ts:379", "pc": [ 1390 ] }, { "teal": 1313, "source": "contracts/NFDRegistry.algo.ts:379", "pc": [ 1391, 1392 ] }, { "teal": 1314, "source": "contracts/NFDRegistry.algo.ts:380", "pc": [ 1393, 1394 ] }, { "teal": 1315, "source": "contracts/NFDRegistry.algo.ts:380", "pc": [ 1395, 1396 ] }, { "teal": 1316, "source": "contracts/NFDRegistry.algo.ts:381", "pc": [ 1397, 1398 ] }, { "teal": 1317, "source": "contracts/NFDRegistry.algo.ts:381", "pc": [ 1399 ] }, { "teal": 1318, "source": "contracts/NFDRegistry.algo.ts:381", "pc": [ 1400, 1401 ] }, { "teal": 1319, "source": "contracts/NFDRegistry.algo.ts:383", "pc": [ 1402, 1403 ] }, { "teal": 1320, "source": "contracts/NFDRegistry.algo.ts:383", "pc": [ 1404, 1405 ] }, { "teal": 1321, "source": "contracts/NFDRegistry.algo.ts:384", "pc": [ 1406, 1407 ] }, { "teal": 1322, "source": "contracts/NFDRegistry.algo.ts:384", "pc": [ 1408, 1409 ] }, { "teal": 1323, "source": "contracts/NFDRegistry.algo.ts:386", "pc": [ 1410, 1411 ] }, { "teal": 1324, "source": "contracts/NFDRegistry.algo.ts:386", "pc": [ 1412 ] }, { "teal": 1325, "source": "contracts/NFDRegistry.algo.ts:386", "pc": [ 1413, 1414 ] }, { "teal": 1326, "source": "contracts/NFDRegistry.algo.ts:387", "pc": [ 1415, 1416 ] }, { "teal": 1327, "source": "contracts/NFDRegistry.algo.ts:387", "pc": [ 1417, 1418 ] }, { "teal": 1330, "source": "contracts/NFDRegistry.algo.ts:348", "pc": [ 1419 ] }, { "teal": 1331, "source": "contracts/NFDRegistry.algo.ts:348", "pc": [ 1420, 1421 ] }, { "teal": 1334, "source": "contracts/NFDRegistry.algo.ts:348", "pc": [ 1422 ] }, { "teal": 1338, "source": "contracts/NFDRegistry.algo.ts:392", "pc": [ 1423, 1424 ] }, { "teal": 1339, "source": "contracts/NFDRegistry.algo.ts:392", "pc": [ 1425, 1426 ] }, { "teal": 1343, "source": "contracts/NFDRegistry.algo.ts:393", "pc": [ 1427, 1428 ] }, { "teal": 1344, "source": "contracts/NFDRegistry.algo.ts:393", "pc": [ 1429, 1430 ] }, { "teal": 1345, "source": "contracts/NFDRegistry.algo.ts:393", "pc": [ 1431 ] }, { "teal": 1346, "source": "contracts/NFDRegistry.algo.ts:393", "pc": [ 1432, 1433 ] }, { "teal": 1350, "source": "contracts/NFDRegistry.algo.ts:394", "pc": [ 1434, 1435, 1436 ] }, { "teal": 1351, "source": "contracts/NFDRegistry.algo.ts:394", "pc": [ 1437, 1438 ] }, { "teal": 1358, "source": "contracts/NFDRegistry.algo.ts:402", "pc": [ 1439 ] }, { "teal": 1359, "source": "contracts/NFDRegistry.algo.ts:402", "pc": [ 1440 ] }, { "teal": 1360, "source": "contracts/NFDRegistry.algo.ts:402", "pc": [ 1441, 1442 ] }, { "teal": 1364, "source": "contracts/NFDRegistry.algo.ts:403", "pc": [ 1443, 1444 ] }, { "teal": 1365, "source": "contracts/NFDRegistry.algo.ts:403", "pc": [ 1445, 1446 ] }, { "teal": 1366, "source": "contracts/NFDRegistry.algo.ts:403", "pc": [ 1447, 1448 ] }, { "teal": 1367, "source": "contracts/NFDRegistry.algo.ts:403", "pc": [ 1449 ] }, { "teal": 1368, "source": "contracts/NFDRegistry.algo.ts:403", "pc": [ 1450, 1451 ] }, { "teal": 1369, "source": "contracts/NFDRegistry.algo.ts:403", "pc": [ 1452 ] }, { "teal": 1370, "source": "contracts/NFDRegistry.algo.ts:403", "pc": [ 1453, 1454 ] }, { "teal": 1371, "source": "contracts/NFDRegistry.algo.ts:403", "pc": [ 1455 ] }, { "teal": 1372, "source": "contracts/NFDRegistry.algo.ts:403", "pc": [ 1456, 1457 ] }, { "teal": 1376, "source": "contracts/NFDRegistry.algo.ts:404", "pc": [ 1458, 1459 ] }, { "teal": 1377, "source": "contracts/NFDRegistry.algo.ts:404", "pc": [ 1460, 1461 ] }, { "teal": 1380, "source": "contracts/NFDRegistry.algo.ts:402", "pc": [ 1462 ] }, { "teal": 1381, "source": "contracts/NFDRegistry.algo.ts:402", "pc": [ 1463, 1464 ] }, { "teal": 1384, "source": "contracts/NFDRegistry.algo.ts:402", "pc": [ 1465 ] }, { "teal": 1394, "source": "contracts/NFDRegistry.algo.ts:407", "pc": [ 1466 ] }, { "teal": 1395, "source": "contracts/NFDRegistry.algo.ts:407", "pc": [ 1467 ] }, { "teal": 1396, "source": "contracts/NFDRegistry.algo.ts:407", "pc": [ 1468, 1469 ] }, { "teal": 1397, "source": "contracts/NFDRegistry.algo.ts:407", "pc": [ 1470, 1471, 1472, 1473, 1474, 1475 ] }, { "teal": 1398, "source": "contracts/NFDRegistry.algo.ts:407", "pc": [ 1476, 1477 ] }, { "teal": 1402, "source": "contracts/NFDRegistry.algo.ts:408", "pc": [ 1478, 1479 ] }, { "teal": 1403, "source": "contracts/NFDRegistry.algo.ts:408", "pc": [ 1480, 1481 ] }, { "teal": 1410, "source": "contracts/NFDRegistry.algo.ts:410", "pc": [ 1482, 1483 ] }, { "teal": 1411, "source": "contracts/NFDRegistry.algo.ts:410", "pc": [ 1484, 1485, 1486 ] }, { "teal": 1412, "source": "contracts/NFDRegistry.algo.ts:410", "pc": [ 1487 ] }, { "teal": 1413, "source": "contracts/NFDRegistry.algo.ts:410", "pc": [ 1488 ] }, { "teal": 1414, "source": "contracts/NFDRegistry.algo.ts:410", "pc": [ 1489 ] }, { "teal": 1415, "source": "contracts/NFDRegistry.algo.ts:410", "pc": [ 1490, 1491, 1492 ] }, { "teal": 1416, "source": "contracts/NFDRegistry.algo.ts:410", "pc": [ 1493 ] }, { "teal": 1417, "source": "contracts/NFDRegistry.algo.ts:410", "pc": [ 1494 ] }, { "teal": 1418, "source": "contracts/NFDRegistry.algo.ts:410", "pc": [ 1495, 1496 ] }, { "teal": 1419, "source": "contracts/NFDRegistry.algo.ts:411", "pc": [ 1497, 1498, 1499, 1500, 1501, 1502, 1503, 1504, 1505, 1506, 1507, 1508, 1509, 1510, 1511, 1512, 1513, 1514, 1515, 1516, 1517, 1518, 1519, 1520, 1521, 1522, 1523, 1524, 1525, 1526, 1527, 1528, 1529, 1530, 1531, 1532, 1533, 1534, 1535, 1536, 1537, 1538, 1539, 1540, 1541, 1542, 1543, 1544, 1545, 1546, 1547, 1548, 1549, 1550, 1551, 1552, 1553, 1554, 1555, 1556, 1557, 1558, 1559, 1560 ] }, { "teal": 1420, "source": "contracts/NFDRegistry.algo.ts:411", "pc": [ 1561, 1562 ] }, { "teal": 1423, "source": "contracts/NFDRegistry.algo.ts:407", "pc": [ 1563 ] }, { "teal": 1424, "source": "contracts/NFDRegistry.algo.ts:407", "pc": [ 1564, 1565 ] }, { "teal": 1427, "source": "contracts/NFDRegistry.algo.ts:407", "pc": [ 1566 ] }, { "teal": 1431, "source": "contracts/NFDRegistry.algo.ts:415", "pc": [ 1567, 1568 ] }, { "teal": 1432, "source": "contracts/NFDRegistry.algo.ts:415", "pc": [ 1569 ] }, { "teal": 1433, "source": "contracts/NFDRegistry.algo.ts:415", "pc": [ 1570, 1571 ] }, { "teal": 1437, "source": "contracts/NFDRegistry.algo.ts:418", "pc": [ 1572 ] }, { "teal": 1438, "source": "contracts/NFDRegistry.algo.ts:418", "pc": [ 1573, 1574 ] }, { "teal": 1439, "source": "contracts/NFDRegistry.algo.ts:418", "pc": [ 1575, 1576 ] }, { "teal": 1440, "source": "contracts/NFDRegistry.algo.ts:418", "pc": [ 1577, 1578 ] }, { "teal": 1441, "source": "contracts/NFDRegistry.algo.ts:418", "pc": [ 1579, 1580, 1581 ] }, { "teal": 1446, "source": "contracts/NFDRegistry.algo.ts:421", "pc": [ 1582, 1583 ] }, { "teal": 1447, "source": "contracts/NFDRegistry.algo.ts:421", "pc": [ 1584 ] }, { "teal": 1448, "source": "contracts/NFDRegistry.algo.ts:421", "pc": [ 1585 ] }, { "teal": 1449, "source": "contracts/NFDRegistry.algo.ts:421", "pc": [ 1586, 1587, 1588 ] }, { "teal": 1455, "source": "contracts/NFDRegistry.algo.ts:423", "pc": [ 1589, 1590 ] }, { "teal": 1456, "source": "contracts/NFDRegistry.algo.ts:423", "pc": [ 1591, 1592, 1593 ] }, { "teal": 1457, "source": "contracts/NFDRegistry.algo.ts:423", "pc": [ 1594, 1595, 1596 ] }, { "teal": 1465, "source": "contracts/NFDRegistry.algo.ts:425", "pc": [ 1597, 1598 ] }, { "teal": 1466, "source": "contracts/NFDRegistry.algo.ts:425", "pc": [ 1599, 1600 ] }, { "teal": 1467, "source": "contracts/NFDRegistry.algo.ts:425", "pc": [ 1601 ] }, { "teal": 1470, "source": "contracts/NFDRegistry.algo.ts:425", "errorMessage": "global state value does not exist: AppID.fromUint64(parentAppId).globalState(NFD_KEY_VERSION)", "pc": [ 1602 ] }, { "teal": 1471, "source": "contracts/NFDRegistry.algo.ts:425", "pc": [ 1603, 1604, 1605, 1606, 1607, 1608 ] }, { "teal": 1472, "source": "contracts/NFDRegistry.algo.ts:425", "pc": [ 1609 ] }, { "teal": 1475, "source": "contracts/NFDRegistry.algo.ts:424", "errorMessage": "nfd root not 3.x must be version 2.12 in order for segment minting to succeed", "pc": [ 1610 ] }, { "teal": 1483, "source": "contracts/NFDRegistry.algo.ts:428", "pc": [ 1611 ] }, { "teal": 1484, "source": "contracts/NFDRegistry.algo.ts:428", "pc": [ 1612 ] }, { "teal": 1485, "source": "contracts/NFDRegistry.algo.ts:428", "pc": [ 1613, 1614 ] }, { "teal": 1489, "source": "contracts/NFDRegistry.algo.ts:429", "pc": [ 1615 ] }, { "teal": 1490, "source": "contracts/NFDRegistry.algo.ts:429", "pc": [ 1616, 1617 ] }, { "teal": 1494, "source": "contracts/NFDRegistry.algo.ts:430", "pc": [ 1618, 1619 ] }, { "teal": 1495, "source": "contracts/NFDRegistry.algo.ts:430", "pc": [ 1620, 1621 ] }, { "teal": 1499, "source": "contracts/NFDRegistry.algo.ts:431", "pc": [ 1622, 1623, 1624, 1625, 1626, 1627, 1628, 1629, 1630, 1631, 1632, 1633, 1634, 1635, 1636, 1637, 1638, 1639, 1640, 1641, 1642, 1643 ] }, { "teal": 1500, "source": "contracts/NFDRegistry.algo.ts:431", "pc": [ 1644, 1645 ] }, { "teal": 1501, "source": "contracts/NFDRegistry.algo.ts:431", "pc": [ 1646, 1647 ] }, { "teal": 1502, "source": "contracts/NFDRegistry.algo.ts:431", "pc": [ 1648, 1649 ] }, { "teal": 1503, "source": "contracts/NFDRegistry.algo.ts:431", "pc": [ 1650, 1651 ] }, { "teal": 1504, "source": "contracts/NFDRegistry.algo.ts:431", "pc": [ 1652 ] }, { "teal": 1505, "source": "contracts/NFDRegistry.algo.ts:431", "pc": [ 1653, 1654 ] }, { "teal": 1508, "source": "contracts/NFDRegistry.algo.ts:428", "pc": [ 1655 ] }, { "teal": 1509, "source": "contracts/NFDRegistry.algo.ts:428", "pc": [ 1656, 1657 ] }, { "teal": 1512, "source": "contracts/NFDRegistry.algo.ts:428", "pc": [ 1658 ] }, { "teal": 1513, "source": "contracts/NFDRegistry.algo.ts:423", "pc": [ 1659, 1660, 1661 ] }, { "teal": 1521, "source": "contracts/NFDRegistry.algo.ts:434", "pc": [ 1662 ] }, { "teal": 1522, "source": "contracts/NFDRegistry.algo.ts:434", "pc": [ 1663 ] }, { "teal": 1523, "source": "contracts/NFDRegistry.algo.ts:434", "pc": [ 1664, 1665 ] }, { "teal": 1524, "source": "contracts/NFDRegistry.algo.ts:434", "pc": [ 1666, 1667, 1668, 1669, 1670, 1671 ] }, { "teal": 1525, "source": "contracts/NFDRegistry.algo.ts:434", "pc": [ 1672, 1673 ] }, { "teal": 1529, "source": "contracts/NFDRegistry.algo.ts:435", "pc": [ 1674, 1675 ] }, { "teal": 1530, "source": "contracts/NFDRegistry.algo.ts:435", "pc": [ 1676, 1677 ] }, { "teal": 1534, "source": "contracts/NFDRegistry.algo.ts:436", "pc": [ 1678, 1679 ] }, { "teal": 1535, "source": "contracts/NFDRegistry.algo.ts:436", "pc": [ 1680 ] }, { "teal": 1536, "source": "contracts/NFDRegistry.algo.ts:436", "pc": [ 1681 ] }, { "teal": 1537, "source": "contracts/NFDRegistry.algo.ts:436", "pc": [ 1682 ] }, { "teal": 1538, "source": "contracts/NFDRegistry.algo.ts:436", "pc": [ 1683, 1684, 1685 ] }, { "teal": 1539, "source": "contracts/NFDRegistry.algo.ts:436", "pc": [ 1686 ] }, { "teal": 1540, "source": "contracts/NFDRegistry.algo.ts:436", "pc": [ 1687 ] }, { "teal": 1541, "source": "contracts/NFDRegistry.algo.ts:436", "pc": [ 1688, 1689 ] }, { "teal": 1542, "source": "contracts/NFDRegistry.algo.ts:436", "pc": [ 1690, 1691 ] }, { "teal": 1543, "source": "contracts/NFDRegistry.algo.ts:436", "pc": [ 1692 ] }, { "teal": 1544, "source": "contracts/NFDRegistry.algo.ts:436", "pc": [ 1693, 1694 ] }, { "teal": 1547, "source": "contracts/NFDRegistry.algo.ts:434", "pc": [ 1695 ] }, { "teal": 1548, "source": "contracts/NFDRegistry.algo.ts:434", "pc": [ 1696, 1697 ] }, { "teal": 1551, "source": "contracts/NFDRegistry.algo.ts:434", "pc": [ 1698 ] }, { "teal": 1558, "source": "contracts/NFDRegistry.algo.ts:442", "pc": [ 1699, 1700, 1701 ] }, { "teal": 1559, "source": "contracts/NFDRegistry.algo.ts:442", "pc": [ 1702, 1703 ] }, { "teal": 1566, "source": "contracts/NFDRegistry.algo.ts:444", "pc": [ 1704 ] }, { "teal": 1567, "source": "contracts/NFDRegistry.algo.ts:444", "pc": [ 1705 ] }, { "teal": 1568, "source": "contracts/NFDRegistry.algo.ts:444", "pc": [ 1706, 1707 ] }, { "teal": 1569, "source": "contracts/NFDRegistry.algo.ts:444", "pc": [ 1708, 1709, 1710, 1711, 1712, 1713 ] }, { "teal": 1570, "source": "contracts/NFDRegistry.algo.ts:444", "pc": [ 1714, 1715 ] }, { "teal": 1574, "source": "contracts/NFDRegistry.algo.ts:445", "pc": [ 1716, 1717 ] }, { "teal": 1575, "source": "contracts/NFDRegistry.algo.ts:445", "pc": [ 1718, 1719 ] }, { "teal": 1579, "source": "contracts/NFDRegistry.algo.ts:446", "pc": [ 1720, 1721 ] }, { "teal": 1580, "source": "contracts/NFDRegistry.algo.ts:446", "pc": [ 1722 ] }, { "teal": 1581, "source": "contracts/NFDRegistry.algo.ts:446", "pc": [ 1723, 1724 ] }, { "teal": 1582, "source": "contracts/NFDRegistry.algo.ts:446", "pc": [ 1725, 1726 ] }, { "teal": 1583, "source": "contracts/NFDRegistry.algo.ts:446", "pc": [ 1727, 1728, 1729 ] }, { "teal": 1584, "source": "contracts/NFDRegistry.algo.ts:446", "pc": [ 1730 ] }, { "teal": 1585, "source": "contracts/NFDRegistry.algo.ts:446", "pc": [ 1731 ] }, { "teal": 1586, "source": "contracts/NFDRegistry.algo.ts:446", "pc": [ 1732, 1733 ] }, { "teal": 1589, "source": "contracts/NFDRegistry.algo.ts:444", "pc": [ 1734 ] }, { "teal": 1590, "source": "contracts/NFDRegistry.algo.ts:444", "pc": [ 1735, 1736 ] }, { "teal": 1593, "source": "contracts/NFDRegistry.algo.ts:444", "pc": [ 1737 ] }, { "teal": 1594, "source": "contracts/NFDRegistry.algo.ts:444", "pc": [ 1738, 1739 ] }, { "teal": 1595, "source": "contracts/NFDRegistry.algo.ts:444", "pc": [ 1740 ] }, { "teal": 1596, "source": "contracts/NFDRegistry.algo.ts:444", "pc": [ 1741 ] }, { "teal": 1597, "source": "contracts/NFDRegistry.algo.ts:444", "pc": [ 1742, 1743 ] }, { "teal": 1598, "source": "contracts/NFDRegistry.algo.ts:444", "pc": [ 1744, 1745, 1746 ] }, { "teal": 1599, "source": "contracts/NFDRegistry.algo.ts:444", "pc": [ 1747, 1748 ] }, { "teal": 1618, "source": "contracts/NFDRegistry.algo.ts:449", "pc": [ 1749, 1750, 1751, 1752, 1753, 1754 ] }, { "teal": 1619, "source": "contracts/NFDRegistry.algo.ts:449", "pc": [ 1755 ] }, { "teal": 1620, "source": "contracts/NFDRegistry.algo.ts:449", "pc": [ 1756 ] }, { "teal": 1621, "source": "contracts/NFDRegistry.algo.ts:449", "pc": [ 1757, 1758, 1759, 1760 ] }, { "teal": 1622, "source": "contracts/NFDRegistry.algo.ts:450", "pc": [ 1761, 1762 ] }, { "teal": 1623, "source": "contracts/NFDRegistry.algo.ts:450", "pc": [ 1763 ] }, { "teal": 1624, "source": "contracts/NFDRegistry.algo.ts:450", "pc": [ 1764, 1765, 1766 ] }, { "teal": 1625, "source": "contracts/NFDRegistry.algo.ts:451", "pc": [ 1767, 1768 ] }, { "teal": 1626, "source": "contracts/NFDRegistry.algo.ts:451", "pc": [ 1769 ] }, { "teal": 1627, "source": "contracts/NFDRegistry.algo.ts:451", "pc": [ 1770 ] }, { "teal": 1628, "source": "contracts/NFDRegistry.algo.ts:451", "pc": [ 1771 ] }, { "teal": 1629, "source": "contracts/NFDRegistry.algo.ts:451", "pc": [ 1772, 1773, 1774 ] }, { "teal": 1630, "source": "contracts/NFDRegistry.algo.ts:451", "pc": [ 1775 ] }, { "teal": 1631, "source": "contracts/NFDRegistry.algo.ts:451", "pc": [ 1776 ] }, { "teal": 1632, "source": "contracts/NFDRegistry.algo.ts:451", "pc": [ 1777, 1778, 1779 ] }, { "teal": 1633, "source": "contracts/NFDRegistry.algo.ts:452", "pc": [ 1780, 1781 ] }, { "teal": 1634, "source": "contracts/NFDRegistry.algo.ts:452", "pc": [ 1782 ] }, { "teal": 1635, "source": "contracts/NFDRegistry.algo.ts:452", "pc": [ 1783, 1784, 1785 ] }, { "teal": 1636, "source": "contracts/NFDRegistry.algo.ts:453", "pc": [ 1786, 1787 ] }, { "teal": 1637, "source": "contracts/NFDRegistry.algo.ts:453", "pc": [ 1788, 1789 ] }, { "teal": 1638, "source": "contracts/NFDRegistry.algo.ts:453", "pc": [ 1790, 1791 ] }, { "teal": 1639, "source": "contracts/NFDRegistry.algo.ts:453", "pc": [ 1792 ] }, { "teal": 1640, "source": "contracts/NFDRegistry.algo.ts:453", "pc": [ 1793 ] }, { "teal": 1641, "source": "contracts/NFDRegistry.algo.ts:453", "pc": [ 1794, 1795, 1796 ] }, { "teal": 1642, "source": "contracts/NFDRegistry.algo.ts:454", "pc": [ 1797, 1798 ] }, { "teal": 1643, "source": "contracts/NFDRegistry.algo.ts:454", "pc": [ 1799 ] }, { "teal": 1644, "source": "contracts/NFDRegistry.algo.ts:454", "pc": [ 1800, 1801, 1802 ] }, { "teal": 1645, "source": "contracts/NFDRegistry.algo.ts:455", "pc": [ 1803, 1804 ] }, { "teal": 1646, "source": "contracts/NFDRegistry.algo.ts:455", "pc": [ 1805, 1806, 1807 ] }, { "teal": 1647, "source": "contracts/NFDRegistry.algo.ts:456", "pc": [ 1808, 1809 ] }, { "teal": 1648, "source": "contracts/NFDRegistry.algo.ts:456", "pc": [ 1810, 1811 ] }, { "teal": 1649, "source": "contracts/NFDRegistry.algo.ts:456", "pc": [ 1812, 1813, 1814 ] }, { "teal": 1650, "source": "contracts/NFDRegistry.algo.ts:457", "pc": [ 1815, 1816 ] }, { "teal": 1651, "source": "contracts/NFDRegistry.algo.ts:457", "pc": [ 1817, 1818, 1819 ] }, { "teal": 1652, "source": "contracts/NFDRegistry.algo.ts:458", "pc": [ 1820, 1821 ] }, { "teal": 1653, "source": "contracts/NFDRegistry.algo.ts:458", "pc": [ 1822 ] }, { "teal": 1654, "source": "contracts/NFDRegistry.algo.ts:458", "pc": [ 1823, 1824, 1825 ] }, { "teal": 1655, "source": "contracts/NFDRegistry.algo.ts:459", "pc": [ 1826, 1827 ] }, { "teal": 1656, "source": "contracts/NFDRegistry.algo.ts:459", "pc": [ 1828, 1829, 1830 ] }, { "teal": 1657, "source": "contracts/NFDRegistry.algo.ts:459", "pc": [ 1831 ] }, { "teal": 1658, "source": "contracts/NFDRegistry.algo.ts:459", "pc": [ 1832 ] }, { "teal": 1659, "source": "contracts/NFDRegistry.algo.ts:459", "pc": [ 1833, 1834, 1835 ] }, { "teal": 1660, "source": "contracts/NFDRegistry.algo.ts:460", "pc": [ 1836, 1837 ] }, { "teal": 1661, "source": "contracts/NFDRegistry.algo.ts:460", "pc": [ 1838, 1839, 1840 ] }, { "teal": 1662, "source": "contracts/NFDRegistry.algo.ts:460", "pc": [ 1841, 1842, 1843 ] }, { "teal": 1663, "source": "contracts/NFDRegistry.algo.ts:461", "pc": [ 1844, 1845 ] }, { "teal": 1664, "source": "contracts/NFDRegistry.algo.ts:461", "pc": [ 1846, 1847, 1848 ] }, { "teal": 1665, "source": "contracts/NFDRegistry.algo.ts:461", "pc": [ 1849 ] }, { "teal": 1666, "source": "contracts/NFDRegistry.algo.ts:461", "pc": [ 1850 ] }, { "teal": 1667, "source": "contracts/NFDRegistry.algo.ts:461", "pc": [ 1851, 1852, 1853 ] }, { "teal": 1668, "source": "contracts/NFDRegistry.algo.ts:462", "pc": [ 1854, 1855 ] }, { "teal": 1669, "source": "contracts/NFDRegistry.algo.ts:462", "pc": [ 1856, 1857, 1858 ] }, { "teal": 1670, "source": "contracts/NFDRegistry.algo.ts:462", "pc": [ 1859, 1860, 1861 ] }, { "teal": 1671, "source": "contracts/NFDRegistry.algo.ts:463", "pc": [ 1862, 1863 ] }, { "teal": 1672, "source": "contracts/NFDRegistry.algo.ts:463", "pc": [ 1864, 1865, 1866 ] }, { "teal": 1673, "source": "contracts/NFDRegistry.algo.ts:463", "pc": [ 1867 ] }, { "teal": 1674, "source": "contracts/NFDRegistry.algo.ts:463", "pc": [ 1868 ] }, { "teal": 1675, "source": "contracts/NFDRegistry.algo.ts:463", "pc": [ 1869, 1870, 1871 ] }, { "teal": 1676, "source": "contracts/NFDRegistry.algo.ts:449", "pc": [ 1872 ] }, { "teal": 1677, "source": "contracts/NFDRegistry.algo.ts:449", "pc": [ 1873 ] }, { "teal": 1678, "source": "contracts/NFDRegistry.algo.ts:449", "pc": [ 1874 ] }, { "teal": 1679, "source": "contracts/NFDRegistry.algo.ts:449", "pc": [ 1875 ] }, { "teal": 1684, "source": "contracts/NFDRegistry.algo.ts:466", "pc": [ 1876, 1877 ] }, { "teal": 1685, "source": "contracts/NFDRegistry.algo.ts:466", "pc": [ 1878, 1879, 1880 ] }, { "teal": 1693, "source": "contracts/NFDRegistry.algo.ts:467", "pc": [ 1881 ] }, { "teal": 1694, "source": "contracts/NFDRegistry.algo.ts:467", "pc": [ 1882 ] }, { "teal": 1695, "source": "contracts/NFDRegistry.algo.ts:467", "pc": [ 1883, 1884 ] }, { "teal": 1696, "source": "contracts/NFDRegistry.algo.ts:467", "pc": [ 1885, 1886, 1887, 1888, 1889, 1890 ] }, { "teal": 1697, "source": "contracts/NFDRegistry.algo.ts:467", "pc": [ 1891, 1892 ] }, { "teal": 1701, "source": "contracts/NFDRegistry.algo.ts:468", "pc": [ 1893, 1894 ] }, { "teal": 1702, "source": "contracts/NFDRegistry.algo.ts:468", "pc": [ 1895, 1896 ] }, { "teal": 1706, "source": "contracts/NFDRegistry.algo.ts:469", "pc": [ 1897 ] }, { "teal": 1707, "source": "contracts/NFDRegistry.algo.ts:469", "pc": [ 1898 ] }, { "teal": 1708, "source": "contracts/NFDRegistry.algo.ts:469", "pc": [ 1899, 1900, 1901, 1902 ] }, { "teal": 1709, "source": "contracts/NFDRegistry.algo.ts:469", "pc": [ 1903, 1904 ] }, { "teal": 1710, "source": "contracts/NFDRegistry.algo.ts:469", "pc": [ 1905 ] }, { "teal": 1711, "source": "contracts/NFDRegistry.algo.ts:469", "pc": [ 1906 ] }, { "teal": 1712, "source": "contracts/NFDRegistry.algo.ts:469", "pc": [ 1907 ] }, { "teal": 1713, "source": "contracts/NFDRegistry.algo.ts:469", "pc": [ 1908, 1909, 1910 ] }, { "teal": 1714, "source": "contracts/NFDRegistry.algo.ts:469", "pc": [ 1911 ] }, { "teal": 1715, "source": "contracts/NFDRegistry.algo.ts:469", "pc": [ 1912 ] }, { "teal": 1716, "source": "contracts/NFDRegistry.algo.ts:469", "pc": [ 1913, 1914, 1915 ] }, { "teal": 1717, "source": "contracts/NFDRegistry.algo.ts:469", "pc": [ 1916, 1917 ] }, { "teal": 1718, "source": "contracts/NFDRegistry.algo.ts:469", "pc": [ 1918 ] }, { "teal": 1719, "source": "contracts/NFDRegistry.algo.ts:469", "pc": [ 1919 ] }, { "teal": 1720, "source": "contracts/NFDRegistry.algo.ts:469", "pc": [ 1920 ] }, { "teal": 1721, "source": "contracts/NFDRegistry.algo.ts:469", "pc": [ 1921, 1922, 1923 ] }, { "teal": 1722, "source": "contracts/NFDRegistry.algo.ts:469", "pc": [ 1924 ] }, { "teal": 1723, "source": "contracts/NFDRegistry.algo.ts:469", "pc": [ 1925 ] }, { "teal": 1724, "source": "contracts/NFDRegistry.algo.ts:469", "pc": [ 1926, 1927, 1928 ] }, { "teal": 1725, "source": "contracts/NFDRegistry.algo.ts:469", "pc": [ 1929 ] }, { "teal": 1726, "source": "contracts/NFDRegistry.algo.ts:469", "pc": [ 1930 ] }, { "teal": 1727, "source": "contracts/NFDRegistry.algo.ts:469", "pc": [ 1931, 1932, 1933, 1934 ] }, { "teal": 1728, "source": "contracts/NFDRegistry.algo.ts:469", "pc": [ 1935 ] }, { "teal": 1729, "source": "contracts/NFDRegistry.algo.ts:469", "pc": [ 1936 ] }, { "teal": 1730, "source": "contracts/NFDRegistry.algo.ts:469", "pc": [ 1937, 1938 ] }, { "teal": 1733, "source": "contracts/NFDRegistry.algo.ts:467", "pc": [ 1939 ] }, { "teal": 1734, "source": "contracts/NFDRegistry.algo.ts:467", "pc": [ 1940, 1941 ] }, { "teal": 1737, "source": "contracts/NFDRegistry.algo.ts:467", "pc": [ 1942 ] }, { "teal": 1741, "source": "contracts/NFDRegistry.algo.ts:471", "pc": [ 1943, 1944 ] }, { "teal": 1742, "source": "contracts/NFDRegistry.algo.ts:471", "pc": [ 1945, 1946 ] }, { "teal": 1743, "source": "contracts/NFDRegistry.algo.ts:471", "pc": [ 1947, 1948 ] }, { "teal": 1744, "source": "contracts/NFDRegistry.algo.ts:471", "pc": [ 1949, 1950, 1951 ] }, { "teal": 1749, "source": "contracts/NFDRegistry.algo.ts:473", "pc": [ 1952, 1953 ] }, { "teal": 1752, "source": "contracts/NFDRegistry.algo.ts:272", "pc": [ 1954, 1955 ] }, { "teal": 1755, "source": "contracts/NFDRegistry.algo.ts:272", "pc": [ 1956, 1957 ] }, { "teal": 1756, "source": "contracts/NFDRegistry.algo.ts:272", "pc": [ 1958 ] }, { "teal": 1761, "source": "contracts/NFDRegistry.algo.ts:479", "pc": [ 1959, 1960, 1961 ] }, { "teal": 1762, "source": "contracts/NFDRegistry.algo.ts:479", "pc": [ 1962 ] }, { "teal": 1763, "source": "contracts/NFDRegistry.algo.ts:479", "pc": [ 1963 ] }, { "teal": 1764, "source": "contracts/NFDRegistry.algo.ts:479", "pc": [ 1964, 1965 ] }, { "teal": 1765, "source": "contracts/NFDRegistry.algo.ts:479", "pc": [ 1966 ] }, { "teal": 1768, "source": "contracts/NFDRegistry.algo.ts:479", "errorMessage": "argument 0 (addrToVerify) for linkNfdAddress must be a address", "pc": [ 1967 ] }, { "teal": 1771, "source": "contracts/NFDRegistry.algo.ts:479", "pc": [ 1968, 1969, 1970 ] }, { "teal": 1772, "source": "contracts/NFDRegistry.algo.ts:479", "pc": [ 1971 ] }, { "teal": 1775, "source": "contracts/NFDRegistry.algo.ts:479", "pc": [ 1972, 1973, 1974 ] }, { "teal": 1776, "source": "contracts/NFDRegistry.algo.ts:479", "pc": [ 1975, 1976, 1977 ] }, { "teal": 1779, "source": "contracts/NFDRegistry.algo.ts:479", "pc": [ 1978, 1979, 1980 ] }, { "teal": 1780, "source": "contracts/NFDRegistry.algo.ts:479", "pc": [ 1981 ] }, { "teal": 1781, "source": "contracts/NFDRegistry.algo.ts:479", "pc": [ 1982 ] }, { "teal": 1785, "source": "contracts/NFDRegistry.algo.ts:479", "pc": [ 1983, 1984, 1985 ] }, { "teal": 1788, "source": "contracts/NFDRegistry.algo.ts:479", "pc": [ 1986 ] }, { "teal": 1789, "source": "contracts/NFDRegistry.algo.ts:479", "pc": [ 1987 ] }, { "teal": 1793, "source": "contracts/NFDRegistry.algo.ts:480", "pc": [ 1988, 1989 ] }, { "teal": 1794, "source": "contracts/NFDRegistry.algo.ts:480", "pc": [ 1990, 1991, 1992 ] }, { "teal": 1795, "source": "contracts/NFDRegistry.algo.ts:480", "pc": [ 1993, 1994 ] }, { "teal": 1799, "source": "contracts/NFDRegistry.algo.ts:481", "pc": [ 1995, 1996 ] }, { "teal": 1800, "source": "contracts/NFDRegistry.algo.ts:481", "pc": [ 1997 ] }, { "teal": 1801, "source": "contracts/NFDRegistry.algo.ts:481", "pc": [ 1998 ] }, { "teal": 1804, "source": "contracts/NFDRegistry.algo.ts:481", "errorMessage": "global state value does not exist: AppID.fromUint64(nfdAppId).globalState(NFD_KEY_OWNER)", "pc": [ 1999 ] }, { "teal": 1805, "source": "contracts/NFDRegistry.algo.ts:481", "pc": [ 2000, 2001 ] }, { "teal": 1809, "source": "contracts/NFDRegistry.algo.ts:483", "pc": [ 2002, 2003 ] }, { "teal": 1810, "source": "contracts/NFDRegistry.algo.ts:483", "pc": [ 2004, 2005 ] }, { "teal": 1811, "source": "contracts/NFDRegistry.algo.ts:483", "pc": [ 2006, 2007, 2008 ] }, { "teal": 1814, "source": "contracts/NFDRegistry.algo.ts:483", "errorMessage": "referenced NFD name/id must be valid", "pc": [ 2009 ] }, { "teal": 1819, "source": "contracts/NFDRegistry.algo.ts:488", "pc": [ 2010, 2011 ] }, { "teal": 1820, "source": "contracts/NFDRegistry.algo.ts:488", "pc": [ 2012, 2013 ] }, { "teal": 1821, "source": "contracts/NFDRegistry.algo.ts:488", "pc": [ 2014 ] }, { "teal": 1822, "source": "contracts/NFDRegistry.algo.ts:488", "pc": [ 2015, 2016 ] }, { "teal": 1823, "source": "contracts/NFDRegistry.algo.ts:488", "pc": [ 2017 ] }, { "teal": 1824, "source": "contracts/NFDRegistry.algo.ts:488", "pc": [ 2018, 2019, 2020 ] }, { "teal": 1829, "source": "contracts/NFDRegistry.algo.ts:489", "pc": [ 2021, 2022 ] }, { "teal": 1830, "source": "contracts/NFDRegistry.algo.ts:489", "pc": [ 2023, 2024 ] }, { "teal": 1831, "source": "contracts/NFDRegistry.algo.ts:489", "pc": [ 2025 ] }, { "teal": 1834, "source": "contracts/NFDRegistry.algo.ts:489", "errorMessage": "verifying vault account, sender must be NFD owner", "pc": [ 2026 ] }, { "teal": 1835, "source": "contracts/NFDRegistry.algo.ts:488", "pc": [ 2027, 2028, 2029 ] }, { "teal": 1840, "source": "contracts/NFDRegistry.algo.ts:492", "pc": [ 2030, 2031 ] }, { "teal": 1841, "source": "contracts/NFDRegistry.algo.ts:492", "pc": [ 2032, 2033 ] }, { "teal": 1842, "source": "contracts/NFDRegistry.algo.ts:492", "pc": [ 2034 ] }, { "teal": 1845, "source": "contracts/NFDRegistry.algo.ts:492", "errorMessage": "app call sender must match address being added/removed", "pc": [ 2035 ] }, { "teal": 1853, "source": "contracts/NFDRegistry.algo.ts:496", "pc": [ 2036, 2037 ] }, { "teal": 1854, "source": "contracts/NFDRegistry.algo.ts:496", "pc": [ 2038, 2039 ] }, { "teal": 1855, "source": "contracts/NFDRegistry.algo.ts:496", "pc": [ 2040, 2041 ] }, { "teal": 1856, "source": "contracts/NFDRegistry.algo.ts:496", "pc": [ 2042, 2043, 2044 ] }, { "teal": 1859, "source": "contracts/NFDRegistry.algo.ts:495", "errorMessage": "nfd verified caAlgo.0.as must contain address being added/removed", "pc": [ 2045 ] }, { "teal": 1864, "source": "contracts/NFDRegistry.algo.ts:507", "pc": [ 2046, 2047 ] }, { "teal": 1865, "source": "contracts/NFDRegistry.algo.ts:507", "pc": [ 2048, 2049 ] }, { "teal": 1866, "source": "contracts/NFDRegistry.algo.ts:507", "pc": [ 2050, 2051, 2052 ] }, { "teal": 1867, "source": "contracts/NFDRegistry.algo.ts:507", "pc": [ 2053 ] }, { "teal": 1868, "source": "contracts/NFDRegistry.algo.ts:507", "pc": [ 2054, 2055, 2056 ] }, { "teal": 1873, "source": "contracts/NFDRegistry.algo.ts:510", "pc": [ 2057, 2058 ] }, { "teal": 1874, "source": "contracts/NFDRegistry.algo.ts:510", "pc": [ 2059, 2060 ] }, { "teal": 1875, "source": "contracts/NFDRegistry.algo.ts:510", "pc": [ 2061, 2062, 2063 ] }, { "teal": 1878, "source": "contracts/NFDRegistry.algo.ts:510", "errorMessage": "should add nfd to reverse address", "pc": [ 2064 ] }, { "teal": 1883, "source": "contracts/NFDRegistry.algo.ts:514", "pc": [ 2065, 2066 ] }, { "teal": 1884, "source": "contracts/NFDRegistry.algo.ts:514", "pc": [ 2067, 2068 ] }, { "teal": 1885, "source": "contracts/NFDRegistry.algo.ts:514", "pc": [ 2069, 2070 ] }, { "teal": 1886, "source": "contracts/NFDRegistry.algo.ts:514", "pc": [ 2071, 2072, 2073 ] }, { "teal": 1887, "source": "contracts/NFDRegistry.algo.ts:479", "pc": [ 2074 ] }, { "teal": 1892, "source": "contracts/NFDRegistry.algo.ts:520", "pc": [ 2075, 2076, 2077 ] }, { "teal": 1893, "source": "contracts/NFDRegistry.algo.ts:520", "pc": [ 2078 ] }, { "teal": 1894, "source": "contracts/NFDRegistry.algo.ts:520", "pc": [ 2079 ] }, { "teal": 1895, "source": "contracts/NFDRegistry.algo.ts:520", "pc": [ 2080, 2081 ] }, { "teal": 1896, "source": "contracts/NFDRegistry.algo.ts:520", "pc": [ 2082 ] }, { "teal": 1899, "source": "contracts/NFDRegistry.algo.ts:520", "errorMessage": "argument 0 (addrToUnlink) for unlinkNfdAddress must be a address", "pc": [ 2083 ] }, { "teal": 1902, "source": "contracts/NFDRegistry.algo.ts:520", "pc": [ 2084, 2085, 2086 ] }, { "teal": 1903, "source": "contracts/NFDRegistry.algo.ts:520", "pc": [ 2087 ] }, { "teal": 1906, "source": "contracts/NFDRegistry.algo.ts:520", "pc": [ 2088, 2089, 2090 ] }, { "teal": 1907, "source": "contracts/NFDRegistry.algo.ts:520", "pc": [ 2091, 2092, 2093 ] }, { "teal": 1910, "source": "contracts/NFDRegistry.algo.ts:520", "pc": [ 2094, 2095, 2096 ] }, { "teal": 1911, "source": "contracts/NFDRegistry.algo.ts:520", "pc": [ 2097 ] }, { "teal": 1912, "source": "contracts/NFDRegistry.algo.ts:520", "pc": [ 2098 ] }, { "teal": 1916, "source": "contracts/NFDRegistry.algo.ts:520", "pc": [ 2099, 2100, 2101 ] }, { "teal": 1919, "source": "contracts/NFDRegistry.algo.ts:520", "pc": [ 2102 ] }, { "teal": 1920, "source": "contracts/NFDRegistry.algo.ts:520", "pc": [ 2103 ] }, { "teal": 1924, "source": "contracts/NFDRegistry.algo.ts:521", "pc": [ 2104, 2105 ] }, { "teal": 1925, "source": "contracts/NFDRegistry.algo.ts:521", "pc": [ 2106 ] }, { "teal": 1926, "source": "contracts/NFDRegistry.algo.ts:521", "pc": [ 2107 ] }, { "teal": 1929, "source": "contracts/NFDRegistry.algo.ts:521", "errorMessage": "global state value does not exist: AppID.fromUint64(nfdAppId).globalState(NFD_KEY_OWNER)", "pc": [ 2108 ] }, { "teal": 1930, "source": "contracts/NFDRegistry.algo.ts:521", "pc": [ 2109, 2110 ] }, { "teal": 1934, "source": "contracts/NFDRegistry.algo.ts:523", "pc": [ 2111, 2112 ] }, { "teal": 1935, "source": "contracts/NFDRegistry.algo.ts:523", "pc": [ 2113, 2114 ] }, { "teal": 1936, "source": "contracts/NFDRegistry.algo.ts:523", "pc": [ 2115, 2116, 2117 ] }, { "teal": 1939, "source": "contracts/NFDRegistry.algo.ts:523", "errorMessage": "referenced NFD name/id must be valid", "pc": [ 2118 ] }, { "teal": 1944, "source": "contracts/NFDRegistry.algo.ts:528", "pc": [ 2119, 2120 ] }, { "teal": 1945, "source": "contracts/NFDRegistry.algo.ts:528", "pc": [ 2121, 2122 ] }, { "teal": 1946, "source": "contracts/NFDRegistry.algo.ts:528", "pc": [ 2123, 2124, 2125 ] }, { "teal": 1947, "source": "contracts/NFDRegistry.algo.ts:528", "pc": [ 2126, 2127, 2128 ] }, { "teal": 1948, "source": "contracts/NFDRegistry.algo.ts:528", "pc": [ 2129 ] }, { "teal": 1949, "source": "contracts/NFDRegistry.algo.ts:528", "pc": [ 2130, 2131, 2132 ] }, { "teal": 1957, "source": "contracts/NFDRegistry.algo.ts:530", "pc": [ 2133, 2134 ] }, { "teal": 1958, "source": "contracts/NFDRegistry.algo.ts:530", "pc": [ 2135, 2136 ] }, { "teal": 1959, "source": "contracts/NFDRegistry.algo.ts:530", "pc": [ 2137 ] }, { "teal": 1960, "source": "contracts/NFDRegistry.algo.ts:530", "pc": [ 2138 ] }, { "teal": 1961, "source": "contracts/NFDRegistry.algo.ts:530", "pc": [ 2139, 2140, 2141 ] }, { "teal": 1962, "source": "contracts/NFDRegistry.algo.ts:530", "pc": [ 2142, 2143 ] }, { "teal": 1963, "source": "contracts/NFDRegistry.algo.ts:530", "pc": [ 2144, 2145 ] }, { "teal": 1964, "source": "contracts/NFDRegistry.algo.ts:530", "pc": [ 2146 ] }, { "teal": 1965, "source": "contracts/NFDRegistry.algo.ts:530", "pc": [ 2147 ] }, { "teal": 1969, "source": "contracts/NFDRegistry.algo.ts:529", "errorMessage": "Sender unlinking must be NFD owner OR address removing itself", "pc": [ 2148 ] }, { "teal": 1977, "source": "contracts/NFDRegistry.algo.ts:535", "pc": [ 2149, 2150 ] }, { "teal": 1978, "source": "contracts/NFDRegistry.algo.ts:535", "pc": [ 2151, 2152 ] }, { "teal": 1979, "source": "contracts/NFDRegistry.algo.ts:535", "pc": [ 2153, 2154 ] }, { "teal": 1980, "source": "contracts/NFDRegistry.algo.ts:535", "pc": [ 2155, 2156, 2157 ] }, { "teal": 1983, "source": "contracts/NFDRegistry.algo.ts:534", "errorMessage": "nfd verified caAlgo.0.as must contain address being removed", "pc": [ 2158 ] }, { "teal": 1987, "source": "contracts/NFDRegistry.algo.ts:539", "pc": [ 2159, 2160 ] }, { "teal": 1988, "source": "contracts/NFDRegistry.algo.ts:539", "pc": [ 2161, 2162, 2163 ] }, { "teal": 1989, "source": "contracts/NFDRegistry.algo.ts:539", "pc": [ 2164, 2165 ] }, { "teal": 1993, "source": "contracts/NFDRegistry.algo.ts:540", "pc": [ 2166, 2167 ] }, { "teal": 1994, "source": "contracts/NFDRegistry.algo.ts:540", "pc": [ 2168, 2169 ] }, { "teal": 1995, "source": "contracts/NFDRegistry.algo.ts:540", "pc": [ 2170, 2171, 2172 ] }, { "teal": 1996, "source": "contracts/NFDRegistry.algo.ts:540", "pc": [ 2173 ] }, { "teal": 2001, "source": "contracts/NFDRegistry.algo.ts:541", "pc": [ 2174, 2175 ] }, { "teal": 2002, "source": "contracts/NFDRegistry.algo.ts:541", "pc": [ 2176 ] }, { "teal": 2003, "source": "contracts/NFDRegistry.algo.ts:541", "pc": [ 2177 ] }, { "teal": 2004, "source": "contracts/NFDRegistry.algo.ts:541", "pc": [ 2178 ] }, { "teal": 2005, "source": "contracts/NFDRegistry.algo.ts:541", "pc": [ 2179 ] }, { "teal": 2006, "source": "contracts/NFDRegistry.algo.ts:541", "pc": [ 2180, 2181, 2182 ] }, { "teal": 2015, "source": "contracts/NFDRegistry.algo.ts:543", "pc": [ 2183 ] }, { "teal": 2016, "source": "contracts/NFDRegistry.algo.ts:543", "pc": [ 2184 ] }, { "teal": 2017, "source": "contracts/NFDRegistry.algo.ts:543", "pc": [ 2185, 2186 ] }, { "teal": 2021, "source": "contracts/NFDRegistry.algo.ts:544", "pc": [ 2187, 2188 ] }, { "teal": 2022, "source": "contracts/NFDRegistry.algo.ts:544", "pc": [ 2189 ] }, { "teal": 2023, "source": "contracts/NFDRegistry.algo.ts:544", "pc": [ 2190 ] }, { "teal": 2024, "source": "contracts/NFDRegistry.algo.ts:544", "pc": [ 2191 ] }, { "teal": 2025, "source": "contracts/NFDRegistry.algo.ts:544", "pc": [ 2192 ] }, { "teal": 2026, "source": "contracts/NFDRegistry.algo.ts:544", "pc": [ 2193, 2194, 2195 ] }, { "teal": 2027, "source": "contracts/NFDRegistry.algo.ts:544", "pc": [ 2196, 2197 ] }, { "teal": 2031, "source": "contracts/NFDRegistry.algo.ts:545", "pc": [ 2198, 2199 ] }, { "teal": 2032, "source": "contracts/NFDRegistry.algo.ts:545", "pc": [ 2200, 2201 ] }, { "teal": 2036, "source": "contracts/NFDRegistry.algo.ts:546", "pc": [ 2202, 2203, 2204, 2205, 2206, 2207, 2208, 2209, 2210, 2211, 2212 ] }, { "teal": 2037, "source": "contracts/NFDRegistry.algo.ts:546", "pc": [ 2213, 2214 ] }, { "teal": 2040, "source": "contracts/NFDRegistry.algo.ts:543", "pc": [ 2215 ] }, { "teal": 2041, "source": "contracts/NFDRegistry.algo.ts:543", "pc": [ 2216, 2217 ] }, { "teal": 2044, "source": "contracts/NFDRegistry.algo.ts:543", "pc": [ 2218 ] }, { "teal": 2049, "source": "contracts/NFDRegistry.algo.ts:551", "pc": [ 2219, 2220 ] }, { "teal": 2050, "source": "contracts/NFDRegistry.algo.ts:551", "pc": [ 2221, 2222 ] }, { "teal": 2051, "source": "contracts/NFDRegistry.algo.ts:551", "pc": [ 2223, 2224 ] }, { "teal": 2052, "source": "contracts/NFDRegistry.algo.ts:551", "pc": [ 2225, 2226 ] }, { "teal": 2053, "source": "contracts/NFDRegistry.algo.ts:551", "pc": [ 2227, 2228, 2229 ] }, { "teal": 2054, "source": "contracts/NFDRegistry.algo.ts:520", "pc": [ 2230 ] }, { "teal": 2059, "source": "contracts/NFDRegistry.algo.ts:557", "pc": [ 2231, 2232, 2233 ] }, { "teal": 2060, "source": "contracts/NFDRegistry.algo.ts:557", "pc": [ 2234 ] }, { "teal": 2063, "source": "contracts/NFDRegistry.algo.ts:557", "pc": [ 2235, 2236, 2237 ] }, { "teal": 2064, "source": "contracts/NFDRegistry.algo.ts:557", "pc": [ 2238, 2239, 2240 ] }, { "teal": 2067, "source": "contracts/NFDRegistry.algo.ts:557", "pc": [ 2241, 2242, 2243 ] }, { "teal": 2068, "source": "contracts/NFDRegistry.algo.ts:557", "pc": [ 2244 ] }, { "teal": 2069, "source": "contracts/NFDRegistry.algo.ts:557", "pc": [ 2245 ] }, { "teal": 2073, "source": "contracts/NFDRegistry.algo.ts:557", "pc": [ 2246, 2247, 2248 ] }, { "teal": 2076, "source": "contracts/NFDRegistry.algo.ts:557", "pc": [ 2249 ] }, { "teal": 2080, "source": "contracts/NFDRegistry.algo.ts:558", "pc": [ 2250, 2251 ] }, { "teal": 2081, "source": "contracts/NFDRegistry.algo.ts:558", "pc": [ 2252, 2253 ] }, { "teal": 2082, "source": "contracts/NFDRegistry.algo.ts:558", "pc": [ 2254, 2255, 2256 ] }, { "teal": 2085, "source": "contracts/NFDRegistry.algo.ts:558", "errorMessage": "referenced NFD name/id must be valid", "pc": [ 2257 ] }, { "teal": 2092, "source": "contracts/NFDRegistry.algo.ts:561", "pc": [ 2258, 2259 ] }, { "teal": 2093, "source": "contracts/NFDRegistry.algo.ts:560", "pc": [ 2260, 2261 ] }, { "teal": 2094, "source": "contracts/NFDRegistry.algo.ts:560", "pc": [ 2262 ] }, { "teal": 2095, "source": "contracts/NFDRegistry.algo.ts:560", "pc": [ 2263 ] }, { "teal": 2098, "source": "contracts/NFDRegistry.algo.ts:560", "errorMessage": "global state value does not exist: AppID.fromUint64(nfdAppId).globalState(NFD_KEY_OWNER)", "pc": [ 2264 ] }, { "teal": 2099, "source": "contracts/NFDRegistry.algo.ts:559", "pc": [ 2265, 2266, 2267 ] }, { "teal": 2100, "source": "contracts/NFDRegistry.algo.ts:559", "pc": [ 2268, 2269 ] }, { "teal": 2104, "source": "contracts/NFDRegistry.algo.ts:563", "pc": [ 2270, 2271 ] }, { "teal": 2105, "source": "contracts/NFDRegistry.algo.ts:563", "pc": [ 2272 ] }, { "teal": 2106, "source": "contracts/NFDRegistry.algo.ts:563", "pc": [ 2273 ] }, { "teal": 2107, "source": "contracts/NFDRegistry.algo.ts:563", "pc": [ 2274 ] }, { "teal": 2108, "source": "contracts/NFDRegistry.algo.ts:563", "pc": [ 2275 ] }, { "teal": 2109, "source": "contracts/NFDRegistry.algo.ts:563", "pc": [ 2276 ] }, { "teal": 2113, "source": "contracts/NFDRegistry.algo.ts:566", "pc": [ 2277, 2278 ] }, { "teal": 2114, "source": "contracts/NFDRegistry.algo.ts:566", "pc": [ 2279, 2280 ] }, { "teal": 2115, "source": "contracts/NFDRegistry.algo.ts:566", "pc": [ 2281 ] }, { "teal": 2116, "source": "contracts/NFDRegistry.algo.ts:557", "pc": [ 2282 ] }, { "teal": 2121, "source": "contracts/NFDRegistry.algo.ts:579", "pc": [ 2283, 2284, 2285 ] }, { "teal": 2122, "source": "contracts/NFDRegistry.algo.ts:579", "pc": [ 2286 ] }, { "teal": 2123, "source": "contracts/NFDRegistry.algo.ts:579", "pc": [ 2287 ] }, { "teal": 2124, "source": "contracts/NFDRegistry.algo.ts:579", "pc": [ 2288, 2289 ] }, { "teal": 2125, "source": "contracts/NFDRegistry.algo.ts:579", "pc": [ 2290 ] }, { "teal": 2128, "source": "contracts/NFDRegistry.algo.ts:579", "errorMessage": "argument 0 (buyer) for ownershipChanged must be a address", "pc": [ 2291 ] }, { "teal": 2131, "source": "contracts/NFDRegistry.algo.ts:579", "pc": [ 2292, 2293, 2294 ] }, { "teal": 2132, "source": "contracts/NFDRegistry.algo.ts:579", "pc": [ 2295 ] }, { "teal": 2133, "source": "contracts/NFDRegistry.algo.ts:579", "pc": [ 2296 ] }, { "teal": 2134, "source": "contracts/NFDRegistry.algo.ts:579", "pc": [ 2297, 2298 ] }, { "teal": 2135, "source": "contracts/NFDRegistry.algo.ts:579", "pc": [ 2299 ] }, { "teal": 2138, "source": "contracts/NFDRegistry.algo.ts:579", "errorMessage": "argument 1 (seller) for ownershipChanged must be a address", "pc": [ 2300 ] }, { "teal": 2141, "source": "contracts/NFDRegistry.algo.ts:579", "pc": [ 2301, 2302, 2303 ] }, { "teal": 2142, "source": "contracts/NFDRegistry.algo.ts:579", "pc": [ 2304 ] }, { "teal": 2145, "source": "contracts/NFDRegistry.algo.ts:579", "pc": [ 2305, 2306, 2307 ] }, { "teal": 2146, "source": "contracts/NFDRegistry.algo.ts:579", "pc": [ 2308, 2309, 2310 ] }, { "teal": 2149, "source": "contracts/NFDRegistry.algo.ts:579", "pc": [ 2311, 2312, 2313 ] }, { "teal": 2150, "source": "contracts/NFDRegistry.algo.ts:579", "pc": [ 2314 ] }, { "teal": 2151, "source": "contracts/NFDRegistry.algo.ts:579", "pc": [ 2315 ] }, { "teal": 2164, "source": "contracts/NFDRegistry.algo.ts:579", "pc": [ 2316, 2317, 2318 ] }, { "teal": 2167, "source": "contracts/NFDRegistry.algo.ts:579", "pc": [ 2319 ] }, { "teal": 2168, "source": "contracts/NFDRegistry.algo.ts:579", "pc": [ 2320 ] }, { "teal": 2173, "source": "contracts/NFDRegistry.algo.ts:580", "pc": [ 2321, 2322 ] }, { "teal": 2174, "source": "contracts/NFDRegistry.algo.ts:580", "pc": [ 2323, 2324 ] }, { "teal": 2175, "source": "contracts/NFDRegistry.algo.ts:580", "pc": [ 2325 ] }, { "teal": 2176, "source": "contracts/NFDRegistry.algo.ts:580", "pc": [ 2326, 2327, 2328 ] }, { "teal": 2181, "source": "contracts/NFDRegistry.algo.ts:581", "pc": [ 2329 ] }, { "teal": 2186, "source": "contracts/NFDRegistry.algo.ts:583", "pc": [ 2330, 2331 ] }, { "teal": 2187, "source": "contracts/NFDRegistry.algo.ts:583", "pc": [ 2332, 2333 ] }, { "teal": 2188, "source": "contracts/NFDRegistry.algo.ts:583", "pc": [ 2334, 2335, 2336 ] }, { "teal": 2191, "source": "contracts/NFDRegistry.algo.ts:583", "errorMessage": "referenced NFD name/id must be valid", "pc": [ 2337 ] }, { "teal": 2196, "source": "contracts/NFDRegistry.algo.ts:584", "pc": [ 2338, 2339 ] }, { "teal": 2197, "source": "contracts/NFDRegistry.algo.ts:584", "pc": [ 2340, 2341 ] }, { "teal": 2198, "source": "contracts/NFDRegistry.algo.ts:584", "pc": [ 2342 ] }, { "teal": 2201, "source": "contracts/NFDRegistry.algo.ts:584", "errorMessage": "global state value does not exist: AppID.fromUint64(nfdAppId).globalState(NFD_KEY_VERSION)", "pc": [ 2343 ] }, { "teal": 2202, "source": "contracts/NFDRegistry.algo.ts:584", "pc": [ 2344, 2345, 2346, 2347, 2348 ] }, { "teal": 2203, "source": "contracts/NFDRegistry.algo.ts:584", "pc": [ 2349 ] }, { "teal": 2204, "source": "contracts/NFDRegistry.algo.ts:584", "pc": [ 2350, 2351, 2352 ] }, { "teal": 2212, "source": "contracts/NFDRegistry.algo.ts:587", "pc": [ 2353, 2354 ] }, { "teal": 2213, "source": "contracts/NFDRegistry.algo.ts:587", "pc": [ 2355, 2356, 2357 ] }, { "teal": 2216, "source": "contracts/NFDRegistry.algo.ts:586", "errorMessage": "only txnlab can call this method to backfill ownership, 3.4+ handles it by calling from the nfd itself", "pc": [ 2358 ] }, { "teal": 2217, "source": "contracts/NFDRegistry.algo.ts:584", "pc": [ 2359, 2360, 2361 ] }, { "teal": 2222, "source": "contracts/NFDRegistry.algo.ts:592", "pc": [ 2362, 2363 ] }, { "teal": 2223, "source": "contracts/NFDRegistry.algo.ts:592", "pc": [ 2364, 2365 ] }, { "teal": 2224, "source": "contracts/NFDRegistry.algo.ts:592", "pc": [ 2366, 2367 ] }, { "teal": 2225, "source": "contracts/NFDRegistry.algo.ts:592", "pc": [ 2368 ] }, { "teal": 2226, "source": "contracts/NFDRegistry.algo.ts:592", "pc": [ 2369 ] }, { "teal": 2227, "source": "contracts/NFDRegistry.algo.ts:592", "pc": [ 2370 ] }, { "teal": 2232, "source": "contracts/NFDRegistry.algo.ts:595", "pc": [ 2371, 2372 ] }, { "teal": 2233, "source": "contracts/NFDRegistry.algo.ts:595", "pc": [ 2373, 2374 ] }, { "teal": 2234, "source": "contracts/NFDRegistry.algo.ts:595", "pc": [ 2375, 2376, 2377 ] }, { "teal": 2235, "source": "contracts/NFDRegistry.algo.ts:595", "pc": [ 2378, 2379 ] }, { "teal": 2239, "source": "contracts/NFDRegistry.algo.ts:596", "pc": [ 2380, 2381 ] }, { "teal": 2240, "source": "contracts/NFDRegistry.algo.ts:596", "pc": [ 2382, 2383 ] }, { "teal": 2241, "source": "contracts/NFDRegistry.algo.ts:596", "pc": [ 2384, 2385, 2386 ] }, { "teal": 2242, "source": "contracts/NFDRegistry.algo.ts:596", "pc": [ 2387, 2388 ] }, { "teal": 2246, "source": "contracts/NFDRegistry.algo.ts:597", "pc": [ 2389, 2390 ] }, { "teal": 2247, "source": "contracts/NFDRegistry.algo.ts:597", "pc": [ 2391 ] }, { "teal": 2251, "source": "contracts/NFDRegistry.algo.ts:598", "pc": [ 2392, 2393 ] }, { "teal": 2252, "source": "contracts/NFDRegistry.algo.ts:598", "pc": [ 2394, 2395 ] }, { "teal": 2253, "source": "contracts/NFDRegistry.algo.ts:598", "pc": [ 2396 ] }, { "teal": 2254, "source": "contracts/NFDRegistry.algo.ts:579", "pc": [ 2397 ] }, { "teal": 2259, "source": "contracts/NFDRegistry.algo.ts:609", "pc": [ 2398, 2399, 2400 ] }, { "teal": 2260, "source": "contracts/NFDRegistry.algo.ts:609", "pc": [ 2401 ] }, { "teal": 2261, "source": "contracts/NFDRegistry.algo.ts:609", "pc": [ 2402 ] }, { "teal": 2262, "source": "contracts/NFDRegistry.algo.ts:609", "pc": [ 2403, 2404 ] }, { "teal": 2263, "source": "contracts/NFDRegistry.algo.ts:609", "pc": [ 2405 ] }, { "teal": 2266, "source": "contracts/NFDRegistry.algo.ts:609", "errorMessage": "argument 0 (addrBeingModified) for setAddressPrimaryNfd must be a address", "pc": [ 2406 ] }, { "teal": 2269, "source": "contracts/NFDRegistry.algo.ts:609", "pc": [ 2407, 2408, 2409 ] }, { "teal": 2270, "source": "contracts/NFDRegistry.algo.ts:609", "pc": [ 2410 ] }, { "teal": 2273, "source": "contracts/NFDRegistry.algo.ts:609", "pc": [ 2411, 2412, 2413 ] }, { "teal": 2274, "source": "contracts/NFDRegistry.algo.ts:609", "pc": [ 2414, 2415, 2416 ] }, { "teal": 2277, "source": "contracts/NFDRegistry.algo.ts:609", "pc": [ 2417, 2418, 2419 ] }, { "teal": 2278, "source": "contracts/NFDRegistry.algo.ts:609", "pc": [ 2420 ] }, { "teal": 2279, "source": "contracts/NFDRegistry.algo.ts:609", "pc": [ 2421 ] }, { "teal": 2290, "source": "contracts/NFDRegistry.algo.ts:609", "pc": [ 2422, 2423, 2424 ] }, { "teal": 2293, "source": "contracts/NFDRegistry.algo.ts:609", "pc": [ 2425 ] }, { "teal": 2297, "source": "contracts/NFDRegistry.algo.ts:610", "pc": [ 2426, 2427 ] }, { "teal": 2298, "source": "contracts/NFDRegistry.algo.ts:610", "pc": [ 2428, 2429 ] }, { "teal": 2299, "source": "contracts/NFDRegistry.algo.ts:610", "pc": [ 2430, 2431, 2432 ] }, { "teal": 2302, "source": "contracts/NFDRegistry.algo.ts:610", "errorMessage": "referenced NFD name/id must be valid", "pc": [ 2433 ] }, { "teal": 2306, "source": "contracts/NFDRegistry.algo.ts:611", "pc": [ 2434, 2435 ] }, { "teal": 2307, "source": "contracts/NFDRegistry.algo.ts:611", "pc": [ 2436 ] }, { "teal": 2308, "source": "contracts/NFDRegistry.algo.ts:611", "pc": [ 2437 ] }, { "teal": 2311, "source": "contracts/NFDRegistry.algo.ts:611", "errorMessage": "global state value does not exist: AppID.fromUint64(nfdAppId).globalState(NFD_KEY_OWNER)", "pc": [ 2438 ] }, { "teal": 2312, "source": "contracts/NFDRegistry.algo.ts:611", "pc": [ 2439, 2440 ] }, { "teal": 2317, "source": "contracts/NFDRegistry.algo.ts:616", "pc": [ 2441, 2442 ] }, { "teal": 2318, "source": "contracts/NFDRegistry.algo.ts:616", "pc": [ 2443, 2444 ] }, { "teal": 2319, "source": "contracts/NFDRegistry.algo.ts:616", "pc": [ 2445 ] }, { "teal": 2320, "source": "contracts/NFDRegistry.algo.ts:616", "pc": [ 2446, 2447 ] }, { "teal": 2321, "source": "contracts/NFDRegistry.algo.ts:616", "pc": [ 2448 ] }, { "teal": 2322, "source": "contracts/NFDRegistry.algo.ts:616", "pc": [ 2449, 2450, 2451 ] }, { "teal": 2327, "source": "contracts/NFDRegistry.algo.ts:617", "pc": [ 2452, 2453 ] }, { "teal": 2328, "source": "contracts/NFDRegistry.algo.ts:617", "pc": [ 2454, 2455 ] }, { "teal": 2329, "source": "contracts/NFDRegistry.algo.ts:617", "pc": [ 2456 ] }, { "teal": 2332, "source": "contracts/NFDRegistry.algo.ts:617", "errorMessage": "if changing primary nfd for vault account, sender must be NFD owner", "pc": [ 2457 ] }, { "teal": 2333, "source": "contracts/NFDRegistry.algo.ts:616", "pc": [ 2458, 2459, 2460 ] }, { "teal": 2341, "source": "contracts/NFDRegistry.algo.ts:621", "pc": [ 2461, 2462 ] }, { "teal": 2342, "source": "contracts/NFDRegistry.algo.ts:621", "pc": [ 2463, 2464 ] }, { "teal": 2343, "source": "contracts/NFDRegistry.algo.ts:621", "pc": [ 2465 ] }, { "teal": 2346, "source": "contracts/NFDRegistry.algo.ts:620", "errorMessage": "app call sender must match address being updated to change primary NFD", "pc": [ 2466 ] }, { "teal": 2351, "source": "contracts/NFDRegistry.algo.ts:628", "pc": [ 2467, 2468 ] }, { "teal": 2352, "source": "contracts/NFDRegistry.algo.ts:628", "pc": [ 2469, 2470, 2471 ] }, { "teal": 2353, "source": "contracts/NFDRegistry.algo.ts:628", "pc": [ 2472, 2473, 2474 ] }, { "teal": 2354, "source": "contracts/NFDRegistry.algo.ts:628", "pc": [ 2475, 2476, 2477 ] }, { "teal": 2362, "source": "contracts/NFDRegistry.algo.ts:630", "pc": [ 2478, 2479, 2480, 2481, 2482, 2483 ] }, { "teal": 2363, "source": "contracts/NFDRegistry.algo.ts:630", "pc": [ 2484 ] }, { "teal": 2364, "source": "contracts/NFDRegistry.algo.ts:630", "pc": [ 2485 ] }, { "teal": 2365, "source": "contracts/NFDRegistry.algo.ts:630", "pc": [ 2486, 2487, 2488, 2489 ] }, { "teal": 2366, "source": "contracts/NFDRegistry.algo.ts:631", "pc": [ 2490, 2491 ] }, { "teal": 2367, "source": "contracts/NFDRegistry.algo.ts:631", "pc": [ 2492 ] }, { "teal": 2368, "source": "contracts/NFDRegistry.algo.ts:631", "pc": [ 2493, 2494, 2495 ] }, { "teal": 2369, "source": "contracts/NFDRegistry.algo.ts:632", "pc": [ 2496, 2497 ] }, { "teal": 2370, "source": "contracts/NFDRegistry.algo.ts:632", "pc": [ 2498 ] }, { "teal": 2371, "source": "contracts/NFDRegistry.algo.ts:632", "pc": [ 2499 ] }, { "teal": 2372, "source": "contracts/NFDRegistry.algo.ts:632", "pc": [ 2500 ] }, { "teal": 2373, "source": "contracts/NFDRegistry.algo.ts:632", "pc": [ 2501, 2502, 2503 ] }, { "teal": 2374, "source": "contracts/NFDRegistry.algo.ts:632", "pc": [ 2504 ] }, { "teal": 2375, "source": "contracts/NFDRegistry.algo.ts:632", "pc": [ 2505 ] }, { "teal": 2376, "source": "contracts/NFDRegistry.algo.ts:632", "pc": [ 2506, 2507, 2508 ] }, { "teal": 2377, "source": "contracts/NFDRegistry.algo.ts:633", "pc": [ 2509, 2510 ] }, { "teal": 2378, "source": "contracts/NFDRegistry.algo.ts:633", "pc": [ 2511, 2512, 2513 ] }, { "teal": 2379, "source": "contracts/NFDRegistry.algo.ts:630", "pc": [ 2514 ] }, { "teal": 2380, "source": "contracts/NFDRegistry.algo.ts:630", "pc": [ 2515 ] }, { "teal": 2381, "source": "contracts/NFDRegistry.algo.ts:630", "pc": [ 2516 ] }, { "teal": 2382, "source": "contracts/NFDRegistry.algo.ts:630", "pc": [ 2517 ] }, { "teal": 2383, "source": "contracts/NFDRegistry.algo.ts:609", "pc": [ 2518 ] }, { "teal": 2388, "source": "contracts/NFDRegistry.algo.ts:639", "pc": [ 2519 ] }, { "teal": 2391, "source": "contracts/NFDRegistry.algo.ts:639", "pc": [ 2520, 2521, 2522 ] }, { "teal": 2392, "source": "contracts/NFDRegistry.algo.ts:639", "pc": [ 2523, 2524, 2525 ] }, { "teal": 2395, "source": "contracts/NFDRegistry.algo.ts:639", "pc": [ 2526, 2527, 2528 ] }, { "teal": 2396, "source": "contracts/NFDRegistry.algo.ts:639", "pc": [ 2529 ] }, { "teal": 2397, "source": "contracts/NFDRegistry.algo.ts:639", "pc": [ 2530 ] }, { "teal": 2398, "source": "contracts/NFDRegistry.algo.ts:639", "pc": [ 2531 ] }, { "teal": 2399, "source": "contracts/NFDRegistry.algo.ts:639", "pc": [ 2532, 2533, 2534 ] }, { "teal": 2400, "source": "contracts/NFDRegistry.algo.ts:639", "pc": [ 2535 ] }, { "teal": 2401, "source": "contracts/NFDRegistry.algo.ts:639", "pc": [ 2536 ] }, { "teal": 2402, "source": "contracts/NFDRegistry.algo.ts:639", "pc": [ 2537 ] }, { "teal": 2403, "source": "contracts/NFDRegistry.algo.ts:639", "pc": [ 2538 ] }, { "teal": 2404, "source": "contracts/NFDRegistry.algo.ts:639", "pc": [ 2539 ] }, { "teal": 2405, "source": "contracts/NFDRegistry.algo.ts:639", "pc": [ 2540 ] }, { "teal": 2409, "source": "contracts/NFDRegistry.algo.ts:639", "pc": [ 2541, 2542, 2543 ] }, { "teal": 2412, "source": "contracts/NFDRegistry.algo.ts:639", "pc": [ 2544 ] }, { "teal": 2413, "source": "contracts/NFDRegistry.algo.ts:639", "pc": [ 2545, 2546 ] }, { "teal": 2417, "source": "contracts/NFDRegistry.algo.ts:640", "pc": [ 2547, 2548 ] }, { "teal": 2418, "source": "contracts/NFDRegistry.algo.ts:640", "pc": [ 2549, 2550, 2551 ] }, { "teal": 2419, "source": "contracts/NFDRegistry.algo.ts:640", "pc": [ 2552, 2553 ] }, { "teal": 2423, "source": "contracts/NFDRegistry.algo.ts:641", "pc": [ 2554, 2555 ] }, { "teal": 2424, "source": "contracts/NFDRegistry.algo.ts:641", "pc": [ 2556 ] }, { "teal": 2425, "source": "contracts/NFDRegistry.algo.ts:641", "pc": [ 2557 ] }, { "teal": 2428, "source": "contracts/NFDRegistry.algo.ts:641", "errorMessage": "global state value does not exist: AppID.fromUint64(nfdAppId).globalState(NFD_KEY_OWNER)", "pc": [ 2558 ] }, { "teal": 2429, "source": "contracts/NFDRegistry.algo.ts:641", "pc": [ 2559, 2560 ] }, { "teal": 2433, "source": "contracts/NFDRegistry.algo.ts:642", "pc": [ 2561, 2562 ] }, { "teal": 2434, "source": "contracts/NFDRegistry.algo.ts:642", "pc": [ 2563, 2564 ] }, { "teal": 2435, "source": "contracts/NFDRegistry.algo.ts:642", "pc": [ 2565 ] }, { "teal": 2438, "source": "contracts/NFDRegistry.algo.ts:642", "errorMessage": "global state value does not exist: AppID.fromUint64(nfdAppId).globalState(NFD_KEY_NAME)", "pc": [ 2566 ] }, { "teal": 2439, "source": "contracts/NFDRegistry.algo.ts:642", "pc": [ 2567, 2568 ] }, { "teal": 2440, "source": "contracts/NFDRegistry.algo.ts:642", "pc": [ 2569 ] }, { "teal": 2441, "source": "contracts/NFDRegistry.algo.ts:642", "pc": [ 2570 ] }, { "teal": 2448, "source": "contracts/NFDRegistry.algo.ts:644", "pc": [ 2571, 2572 ] }, { "teal": 2449, "source": "contracts/NFDRegistry.algo.ts:644", "pc": [ 2573, 2574 ] }, { "teal": 2450, "source": "contracts/NFDRegistry.algo.ts:644", "pc": [ 2575 ] }, { "teal": 2451, "source": "contracts/NFDRegistry.algo.ts:644", "pc": [ 2576 ] }, { "teal": 2452, "source": "contracts/NFDRegistry.algo.ts:644", "pc": [ 2577, 2578, 2579 ] }, { "teal": 2453, "source": "contracts/NFDRegistry.algo.ts:644", "pc": [ 2580, 2581 ] }, { "teal": 2454, "source": "contracts/NFDRegistry.algo.ts:644", "pc": [ 2582, 2583, 2584 ] }, { "teal": 2455, "source": "contracts/NFDRegistry.algo.ts:644", "pc": [ 2585 ] }, { "teal": 2459, "source": "contracts/NFDRegistry.algo.ts:643", "errorMessage": "only NFD owner or TxnLab can upgrade NFD", "pc": [ 2586 ] }, { "teal": 2463, "source": "contracts/NFDRegistry.algo.ts:649", "pc": [ 2587, 2588 ] }, { "teal": 2464, "source": "contracts/NFDRegistry.algo.ts:649", "pc": [ 2589, 2590 ] }, { "teal": 2465, "source": "contracts/NFDRegistry.algo.ts:649", "pc": [ 2591 ] }, { "teal": 2466, "source": "contracts/NFDRegistry.algo.ts:649", "pc": [ 2592 ] }, { "teal": 2467, "source": "contracts/NFDRegistry.algo.ts:649", "pc": [ 2593 ] }, { "teal": 2468, "source": "contracts/NFDRegistry.algo.ts:649", "pc": [ 2594 ] }, { "teal": 2472, "source": "contracts/NFDRegistry.algo.ts:652", "pc": [ 2595, 2596 ] }, { "teal": 2473, "source": "contracts/NFDRegistry.algo.ts:652", "pc": [ 2597 ] }, { "teal": 2476, "source": "contracts/NFDRegistry.algo.ts:652", "errorMessage": "box value does not exist: this.boxes(REGISTRY_CONTRACT_BOX_CURRENT_CONTRACT).value", "pc": [ 2598 ] }, { "teal": 2477, "source": "contracts/NFDRegistry.algo.ts:652", "pc": [ 2599, 2600 ] }, { "teal": 2484, "source": "contracts/NFDRegistry.algo.ts:654", "pc": [ 2601, 2602 ] }, { "teal": 2485, "source": "contracts/NFDRegistry.algo.ts:654", "pc": [ 2603, 2604 ] }, { "teal": 2486, "source": "contracts/NFDRegistry.algo.ts:654", "pc": [ 2605 ] }, { "teal": 2489, "source": "contracts/NFDRegistry.algo.ts:654", "errorMessage": "global state value does not exist: AppID.fromUint64(nfdAppId).globalState(NFD_KEY_VERSION)", "pc": [ 2606 ] }, { "teal": 2490, "source": "contracts/NFDRegistry.algo.ts:654", "pc": [ 2607, 2608 ] }, { "teal": 2491, "source": "contracts/NFDRegistry.algo.ts:654", "pc": [ 2609 ] }, { "teal": 2494, "source": "contracts/NFDRegistry.algo.ts:653", "errorMessage": "contract already at this version", "pc": [ 2610 ] }, { "teal": 2501, "source": "contracts/NFDRegistry.algo.ts:658", "pc": [ 2611, 2612 ] }, { "teal": 2502, "source": "contracts/NFDRegistry.algo.ts:659", "pc": [ 2613, 2614 ] }, { "teal": 2503, "source": "contracts/NFDRegistry.algo.ts:659", "pc": [ 2615 ] }, { "teal": 2506, "source": "contracts/NFDRegistry.algo.ts:659", "errorMessage": "box value does not exist: this.boxes(REGISTRY_CONTRACT_BOX_CURRENT_CONTRACT).value", "pc": [ 2616 ] }, { "teal": 2507, "source": "contracts/NFDRegistry.algo.ts:657", "pc": [ 2617 ] }, { "teal": 2508, "source": "contracts/NFDRegistry.algo.ts:657", "pc": [ 2618, 2619 ] }, { "teal": 2512, "source": "contracts/NFDRegistry.algo.ts:661", "pc": [ 2620, 2621 ] }, { "teal": 2513, "source": "contracts/NFDRegistry.algo.ts:661", "pc": [ 2622, 2623 ] }, { "teal": 2514, "source": "contracts/NFDRegistry.algo.ts:661", "pc": [ 2624 ] }, { "teal": 2515, "source": "contracts/NFDRegistry.algo.ts:661", "pc": [ 2625 ] }, { "teal": 2518, "source": "contracts/NFDRegistry.algo.ts:661", "errorMessage": "box value does not exist: this.boxes(concat(REGISTRY_CONTRACT_BOX_CLEAR_NAMEPREFIX, currentContractVer)).value", "pc": [ 2626 ] }, { "teal": 2519, "source": "contracts/NFDRegistry.algo.ts:661", "pc": [ 2627, 2628 ] }, { "teal": 2523, "source": "contracts/NFDRegistry.algo.ts:662", "pc": [ 2629, 2630 ] }, { "teal": 2524, "source": "contracts/NFDRegistry.algo.ts:662", "pc": [ 2631 ] }, { "teal": 2527, "source": "contracts/NFDRegistry.algo.ts:662", "errorMessage": "box value does not exist: this.boxes(approvProgName).size", "pc": [ 2632 ] }, { "teal": 2528, "source": "contracts/NFDRegistry.algo.ts:662", "pc": [ 2633, 2634 ] }, { "teal": 2541, "source": "contracts/NFDRegistry.algo.ts:664", "pc": [ 2635 ] }, { "teal": 2542, "source": "contracts/NFDRegistry.algo.ts:664", "pc": [ 2636 ] }, { "teal": 2543, "source": "contracts/NFDRegistry.algo.ts:664", "pc": [ 2637, 2638 ] }, { "teal": 2544, "source": "contracts/NFDRegistry.algo.ts:664", "pc": [ 2639, 2640, 2641, 2642, 2643, 2644 ] }, { "teal": 2545, "source": "contracts/NFDRegistry.algo.ts:664", "pc": [ 2645, 2646 ] }, { "teal": 2549, "source": "contracts/NFDRegistry.algo.ts:665", "pc": [ 2647, 2648 ] }, { "teal": 2550, "source": "contracts/NFDRegistry.algo.ts:665", "pc": [ 2649, 2650 ] }, { "teal": 2554, "source": "contracts/NFDRegistry.algo.ts:666", "pc": [ 2651, 2652 ] }, { "teal": 2555, "source": "contracts/NFDRegistry.algo.ts:666", "pc": [ 2653, 2654 ] }, { "teal": 2559, "source": "contracts/NFDRegistry.algo.ts:667", "pc": [ 2655, 2656 ] }, { "teal": 2560, "source": "contracts/NFDRegistry.algo.ts:667", "pc": [ 2657 ] }, { "teal": 2561, "source": "contracts/NFDRegistry.algo.ts:667", "pc": [ 2658 ] }, { "teal": 2562, "source": "contracts/NFDRegistry.algo.ts:667", "pc": [ 2659 ] }, { "teal": 2563, "source": "contracts/NFDRegistry.algo.ts:667", "pc": [ 2660, 2661, 2662 ] }, { "teal": 2564, "source": "contracts/NFDRegistry.algo.ts:667", "pc": [ 2663 ] }, { "teal": 2565, "source": "contracts/NFDRegistry.algo.ts:667", "pc": [ 2664 ] }, { "teal": 2566, "source": "contracts/NFDRegistry.algo.ts:667", "pc": [ 2665, 2666 ] }, { "teal": 2573, "source": "contracts/NFDRegistry.algo.ts:669", "pc": [ 2667, 2668 ] }, { "teal": 2574, "source": "contracts/NFDRegistry.algo.ts:669", "pc": [ 2669 ] }, { "teal": 2575, "source": "contracts/NFDRegistry.algo.ts:669", "pc": [ 2670, 2671 ] }, { "teal": 2576, "source": "contracts/NFDRegistry.algo.ts:669", "pc": [ 2672 ] }, { "teal": 2577, "source": "contracts/NFDRegistry.algo.ts:669", "pc": [ 2673, 2674 ] }, { "teal": 2578, "source": "contracts/NFDRegistry.algo.ts:670", "pc": [ 2675, 2676 ] }, { "teal": 2579, "source": "contracts/NFDRegistry.algo.ts:670", "pc": [ 2677, 2678 ] }, { "teal": 2580, "source": "contracts/NFDRegistry.algo.ts:670", "pc": [ 2679, 2680 ] }, { "teal": 2581, "source": "contracts/NFDRegistry.algo.ts:670", "pc": [ 2681, 2682 ] }, { "teal": 2582, "source": "contracts/NFDRegistry.algo.ts:670", "pc": [ 2683 ] }, { "teal": 2583, "source": "contracts/NFDRegistry.algo.ts:670", "pc": [ 2684 ] }, { "teal": 2584, "source": "contracts/NFDRegistry.algo.ts:670", "pc": [ 2685, 2686 ] }, { "teal": 2588, "source": "contracts/NFDRegistry.algo.ts:672", "pc": [ 2687, 2688 ] }, { "teal": 2589, "source": "contracts/NFDRegistry.algo.ts:672", "pc": [ 2689, 2690 ] }, { "teal": 2592, "source": "contracts/NFDRegistry.algo.ts:664", "pc": [ 2691 ] }, { "teal": 2593, "source": "contracts/NFDRegistry.algo.ts:664", "pc": [ 2692, 2693 ] }, { "teal": 2596, "source": "contracts/NFDRegistry.algo.ts:664", "pc": [ 2694 ] }, { "teal": 2600, "source": "contracts/NFDRegistry.algo.ts:674", "pc": [ 2695, 2696 ] }, { "teal": 2603, "source": "contracts/NFDRegistry.algo.ts:639", "pc": [ 2697, 2698 ] }, { "teal": 2606, "source": "contracts/NFDRegistry.algo.ts:639", "pc": [ 2699, 2700 ] }, { "teal": 2607, "source": "contracts/NFDRegistry.algo.ts:639", "pc": [ 2701 ] }, { "teal": 2612, "source": "contracts/NFDRegistry.algo.ts:681", "pc": [ 2702 ] }, { "teal": 2615, "source": "contracts/NFDRegistry.algo.ts:681", "pc": [ 2703, 2704, 2705 ] }, { "teal": 2616, "source": "contracts/NFDRegistry.algo.ts:681", "pc": [ 2706 ] }, { "teal": 2619, "source": "contracts/NFDRegistry.algo.ts:681", "pc": [ 2707, 2708, 2709 ] }, { "teal": 2620, "source": "contracts/NFDRegistry.algo.ts:681", "pc": [ 2710, 2711, 2712 ] }, { "teal": 2623, "source": "contracts/NFDRegistry.algo.ts:681", "pc": [ 2713, 2714, 2715 ] }, { "teal": 2624, "source": "contracts/NFDRegistry.algo.ts:681", "pc": [ 2716, 2717 ] }, { "teal": 2625, "source": "contracts/NFDRegistry.algo.ts:681", "pc": [ 2718 ] }, { "teal": 2626, "source": "contracts/NFDRegistry.algo.ts:681", "pc": [ 2719, 2720 ] }, { "teal": 2627, "source": "contracts/NFDRegistry.algo.ts:681", "pc": [ 2721 ] }, { "teal": 2628, "source": "contracts/NFDRegistry.algo.ts:681", "pc": [ 2722 ] }, { "teal": 2629, "source": "contracts/NFDRegistry.algo.ts:681", "pc": [ 2723 ] }, { "teal": 2630, "source": "contracts/NFDRegistry.algo.ts:681", "pc": [ 2724 ] }, { "teal": 2631, "source": "contracts/NFDRegistry.algo.ts:681", "pc": [ 2725 ] }, { "teal": 2635, "source": "contracts/NFDRegistry.algo.ts:681", "pc": [ 2726, 2727, 2728 ] }, { "teal": 2638, "source": "contracts/NFDRegistry.algo.ts:681", "pc": [ 2729 ] }, { "teal": 2642, "source": "contracts/NFDRegistry.algo.ts:682", "pc": [ 2730, 2731 ] }, { "teal": 2643, "source": "contracts/NFDRegistry.algo.ts:682", "pc": [ 2732, 2733, 2734 ] }, { "teal": 2644, "source": "contracts/NFDRegistry.algo.ts:682", "pc": [ 2735, 2736 ] }, { "teal": 2649, "source": "contracts/NFDRegistry.algo.ts:684", "pc": [ 2737, 2738 ] }, { "teal": 2650, "source": "contracts/NFDRegistry.algo.ts:684", "pc": [ 2739 ] }, { "teal": 2651, "source": "contracts/NFDRegistry.algo.ts:684", "pc": [ 2740 ] }, { "teal": 2652, "source": "contracts/NFDRegistry.algo.ts:684", "pc": [ 2741 ] }, { "teal": 2653, "source": "contracts/NFDRegistry.algo.ts:684", "pc": [ 2742 ] }, { "teal": 2654, "source": "contracts/NFDRegistry.algo.ts:684", "pc": [ 2743, 2744, 2745 ] }, { "teal": 2659, "source": "contracts/NFDRegistry.algo.ts:685", "pc": [ 2746, 2747 ] }, { "teal": 2660, "source": "contracts/NFDRegistry.algo.ts:685", "pc": [ 2748, 2749 ] }, { "teal": 2661, "source": "contracts/NFDRegistry.algo.ts:685", "pc": [ 2750, 2751, 2752 ] }, { "teal": 2662, "source": "contracts/NFDRegistry.algo.ts:685", "pc": [ 2753, 2754, 2755 ] }, { "teal": 2667, "source": "contracts/NFDRegistry.algo.ts:687", "pc": [ 2756, 2757 ] }, { "teal": 2668, "source": "contracts/NFDRegistry.algo.ts:687", "pc": [ 2758, 2759 ] }, { "teal": 2669, "source": "contracts/NFDRegistry.algo.ts:687", "pc": [ 2760, 2761, 2762 ] }, { "teal": 2673, "source": "contracts/NFDRegistry.algo.ts:681", "pc": [ 2763, 2764 ] }, { "teal": 2674, "source": "contracts/NFDRegistry.algo.ts:681", "pc": [ 2765 ] }, { "teal": 2679, "source": "contracts/NFDRegistry.algo.ts:691", "pc": [ 2766 ] }, { "teal": 2682, "source": "contracts/NFDRegistry.algo.ts:691", "pc": [ 2767, 2768, 2769 ] }, { "teal": 2683, "source": "contracts/NFDRegistry.algo.ts:691", "pc": [ 2770, 2771, 2772 ] }, { "teal": 2686, "source": "contracts/NFDRegistry.algo.ts:691", "pc": [ 2773, 2774, 2775 ] }, { "teal": 2687, "source": "contracts/NFDRegistry.algo.ts:691", "pc": [ 2776 ] }, { "teal": 2688, "source": "contracts/NFDRegistry.algo.ts:691", "pc": [ 2777 ] }, { "teal": 2689, "source": "contracts/NFDRegistry.algo.ts:691", "pc": [ 2778 ] }, { "teal": 2690, "source": "contracts/NFDRegistry.algo.ts:691", "pc": [ 2779 ] }, { "teal": 2691, "source": "contracts/NFDRegistry.algo.ts:691", "pc": [ 2780 ] }, { "teal": 2695, "source": "contracts/NFDRegistry.algo.ts:691", "pc": [ 2781, 2782, 2783 ] }, { "teal": 2698, "source": "contracts/NFDRegistry.algo.ts:691", "pc": [ 2784 ] }, { "teal": 2699, "source": "contracts/NFDRegistry.algo.ts:691", "pc": [ 2785 ] }, { "teal": 2703, "source": "contracts/NFDRegistry.algo.ts:692", "pc": [ 2786, 2787 ] }, { "teal": 2704, "source": "contracts/NFDRegistry.algo.ts:692", "pc": [ 2788, 2789, 2790 ] }, { "teal": 2705, "source": "contracts/NFDRegistry.algo.ts:692", "pc": [ 2791, 2792 ] }, { "teal": 2710, "source": "contracts/NFDRegistry.algo.ts:693", "pc": [ 2793, 2794 ] }, { "teal": 2711, "source": "contracts/NFDRegistry.algo.ts:693", "pc": [ 2795 ] }, { "teal": 2712, "source": "contracts/NFDRegistry.algo.ts:693", "pc": [ 2796 ] }, { "teal": 2713, "source": "contracts/NFDRegistry.algo.ts:693", "pc": [ 2797 ] }, { "teal": 2714, "source": "contracts/NFDRegistry.algo.ts:693", "pc": [ 2798 ] }, { "teal": 2715, "source": "contracts/NFDRegistry.algo.ts:693", "pc": [ 2799, 2800, 2801 ] }, { "teal": 2720, "source": "contracts/NFDRegistry.algo.ts:694", "pc": [ 2802 ] }, { "teal": 2721, "source": "contracts/NFDRegistry.algo.ts:694", "pc": [ 2803, 2804, 2805 ] }, { "teal": 2726, "source": "contracts/NFDRegistry.algo.ts:697", "pc": [ 2806, 2807 ] }, { "teal": 2727, "source": "contracts/NFDRegistry.algo.ts:697", "pc": [ 2808 ] }, { "teal": 2730, "source": "contracts/NFDRegistry.algo.ts:697", "errorMessage": "box value does not exist: this.boxes(boxName).value", "pc": [ 2809 ] }, { "teal": 2731, "source": "contracts/NFDRegistry.algo.ts:697", "pc": [ 2810, 2811 ] }, { "teal": 2735, "source": "contracts/NFDRegistry.algo.ts:698", "pc": [ 2812, 2813 ] }, { "teal": 2736, "source": "contracts/NFDRegistry.algo.ts:698", "pc": [ 2814 ] }, { "teal": 2737, "source": "contracts/NFDRegistry.algo.ts:698", "pc": [ 2815, 2816 ] }, { "teal": 2738, "source": "contracts/NFDRegistry.algo.ts:698", "pc": [ 2817 ] }, { "teal": 2739, "source": "contracts/NFDRegistry.algo.ts:698", "pc": [ 2818 ] }, { "teal": 2743, "source": "contracts/NFDRegistry.algo.ts:699", "pc": [ 2819, 2820 ] }, { "teal": 2744, "source": "contracts/NFDRegistry.algo.ts:699", "pc": [ 2821 ] }, { "teal": 2745, "source": "contracts/NFDRegistry.algo.ts:699", "pc": [ 2822 ] }, { "teal": 2749, "source": "contracts/NFDRegistry.algo.ts:691", "pc": [ 2823, 2824 ] }, { "teal": 2752, "source": "contracts/NFDRegistry.algo.ts:691", "pc": [ 2825, 2826 ] }, { "teal": 2753, "source": "contracts/NFDRegistry.algo.ts:691", "pc": [ 2827 ] }, { "teal": 2758, "source": "contracts/NFDRegistry.algo.ts:702", "pc": [ 2828 ] }, { "teal": 2761, "source": "contracts/NFDRegistry.algo.ts:702", "pc": [ 2829, 2830, 2831 ] }, { "teal": 2762, "source": "contracts/NFDRegistry.algo.ts:702", "pc": [ 2832 ] }, { "teal": 2763, "source": "contracts/NFDRegistry.algo.ts:702", "pc": [ 2833 ] }, { "teal": 2764, "source": "contracts/NFDRegistry.algo.ts:702", "pc": [ 2834, 2835 ] }, { "teal": 2765, "source": "contracts/NFDRegistry.algo.ts:702", "pc": [ 2836 ] }, { "teal": 2768, "source": "contracts/NFDRegistry.algo.ts:702", "errorMessage": "argument 0 (lookupAddress) for getAddressAppIds must be a address", "pc": [ 2837 ] }, { "teal": 2771, "source": "contracts/NFDRegistry.algo.ts:702", "pc": [ 2838, 2839, 2840 ] }, { "teal": 2772, "source": "contracts/NFDRegistry.algo.ts:702", "pc": [ 2841 ] }, { "teal": 2773, "source": "contracts/NFDRegistry.algo.ts:702", "pc": [ 2842 ] }, { "teal": 2774, "source": "contracts/NFDRegistry.algo.ts:702", "pc": [ 2843 ] }, { "teal": 2775, "source": "contracts/NFDRegistry.algo.ts:702", "pc": [ 2844 ] }, { "teal": 2776, "source": "contracts/NFDRegistry.algo.ts:702", "pc": [ 2845 ] }, { "teal": 2777, "source": "contracts/NFDRegistry.algo.ts:702", "pc": [ 2846, 2847, 2848 ] }, { "teal": 2778, "source": "contracts/NFDRegistry.algo.ts:702", "pc": [ 2849 ] }, { "teal": 2779, "source": "contracts/NFDRegistry.algo.ts:702", "pc": [ 2850 ] }, { "teal": 2780, "source": "contracts/NFDRegistry.algo.ts:702", "pc": [ 2851 ] }, { "teal": 2781, "source": "contracts/NFDRegistry.algo.ts:702", "pc": [ 2852 ] }, { "teal": 2782, "source": "contracts/NFDRegistry.algo.ts:702", "pc": [ 2853 ] }, { "teal": 2783, "source": "contracts/NFDRegistry.algo.ts:702", "pc": [ 2854 ] }, { "teal": 2787, "source": "contracts/NFDRegistry.algo.ts:702", "pc": [ 2855, 2856, 2857 ] }, { "teal": 2790, "source": "contracts/NFDRegistry.algo.ts:702", "pc": [ 2858 ] }, { "teal": 2791, "source": "contracts/NFDRegistry.algo.ts:702", "pc": [ 2859, 2860 ] }, { "teal": 2795, "source": "contracts/NFDRegistry.algo.ts:703", "pc": [ 2861 ] }, { "teal": 2796, "source": "contracts/NFDRegistry.algo.ts:703", "pc": [ 2862, 2863 ] }, { "teal": 2800, "source": "contracts/NFDRegistry.algo.ts:704", "pc": [ 2864, 2865 ] }, { "teal": 2801, "source": "contracts/NFDRegistry.algo.ts:704", "pc": [ 2866, 2867, 2868 ] }, { "teal": 2802, "source": "contracts/NFDRegistry.algo.ts:704", "pc": [ 2869, 2870 ] }, { "teal": 2807, "source": "contracts/NFDRegistry.algo.ts:705", "pc": [ 2871, 2872 ] }, { "teal": 2808, "source": "contracts/NFDRegistry.algo.ts:705", "pc": [ 2873 ] }, { "teal": 2809, "source": "contracts/NFDRegistry.algo.ts:705", "pc": [ 2874 ] }, { "teal": 2810, "source": "contracts/NFDRegistry.algo.ts:705", "pc": [ 2875 ] }, { "teal": 2811, "source": "contracts/NFDRegistry.algo.ts:705", "pc": [ 2876 ] }, { "teal": 2812, "source": "contracts/NFDRegistry.algo.ts:705", "pc": [ 2877, 2878, 2879 ] }, { "teal": 2817, "source": "contracts/NFDRegistry.algo.ts:706", "pc": [ 2880, 2881 ] }, { "teal": 2818, "source": "contracts/NFDRegistry.algo.ts:706", "pc": [ 2882, 2883, 2884 ] }, { "teal": 2823, "source": "contracts/NFDRegistry.algo.ts:708", "pc": [ 2885, 2886 ] }, { "teal": 2824, "source": "contracts/NFDRegistry.algo.ts:708", "pc": [ 2887 ] }, { "teal": 2827, "source": "contracts/NFDRegistry.algo.ts:708", "errorMessage": "box value does not exist: this.boxes(boxName).value", "pc": [ 2888 ] }, { "teal": 2828, "source": "contracts/NFDRegistry.algo.ts:708", "pc": [ 2889, 2890 ] }, { "teal": 2832, "source": "contracts/NFDRegistry.algo.ts:709", "pc": [ 2891 ] }, { "teal": 2833, "source": "contracts/NFDRegistry.algo.ts:709", "pc": [ 2892, 2893 ] }, { "teal": 2838, "source": "contracts/NFDRegistry.algo.ts:709", "pc": [ 2894, 2895 ] }, { "teal": 2839, "source": "contracts/NFDRegistry.algo.ts:709", "pc": [ 2896, 2897 ] }, { "teal": 2840, "source": "contracts/NFDRegistry.algo.ts:709", "pc": [ 2898 ] }, { "teal": 2841, "source": "contracts/NFDRegistry.algo.ts:709", "pc": [ 2899 ] }, { "teal": 2842, "source": "contracts/NFDRegistry.algo.ts:709", "pc": [ 2900, 2901, 2902 ] }, { "teal": 2846, "source": "contracts/NFDRegistry.algo.ts:710", "pc": [ 2903, 2904 ] }, { "teal": 2847, "source": "contracts/NFDRegistry.algo.ts:710", "pc": [ 2905, 2906 ] }, { "teal": 2848, "source": "contracts/NFDRegistry.algo.ts:710", "pc": [ 2907 ] }, { "teal": 2849, "source": "contracts/NFDRegistry.algo.ts:710", "pc": [ 2908 ] }, { "teal": 2850, "source": "contracts/NFDRegistry.algo.ts:710", "pc": [ 2909 ] }, { "teal": 2851, "source": "contracts/NFDRegistry.algo.ts:710", "pc": [ 2910, 2911 ] }, { "teal": 2856, "source": "contracts/NFDRegistry.algo.ts:711", "pc": [ 2912, 2913 ] }, { "teal": 2857, "source": "contracts/NFDRegistry.algo.ts:711", "pc": [ 2914 ] }, { "teal": 2858, "source": "contracts/NFDRegistry.algo.ts:711", "pc": [ 2915 ] }, { "teal": 2859, "source": "contracts/NFDRegistry.algo.ts:711", "pc": [ 2916, 2917, 2918 ] }, { "teal": 2864, "source": "contracts/NFDRegistry.algo.ts:712", "pc": [ 2919, 2920 ] }, { "teal": 2865, "source": "contracts/NFDRegistry.algo.ts:712", "pc": [ 2921, 2922 ] }, { "teal": 2866, "source": "contracts/NFDRegistry.algo.ts:712", "pc": [ 2923 ] }, { "teal": 2867, "source": "contracts/NFDRegistry.algo.ts:712", "pc": [ 2924 ] }, { "teal": 2868, "source": "contracts/NFDRegistry.algo.ts:712", "pc": [ 2925, 2926 ] }, { "teal": 2875, "source": "contracts/NFDRegistry.algo.ts:709", "pc": [ 2927, 2928 ] }, { "teal": 2876, "source": "contracts/NFDRegistry.algo.ts:709", "pc": [ 2929 ] }, { "teal": 2877, "source": "contracts/NFDRegistry.algo.ts:709", "pc": [ 2930 ] }, { "teal": 2878, "source": "contracts/NFDRegistry.algo.ts:709", "pc": [ 2931, 2932 ] }, { "teal": 2879, "source": "contracts/NFDRegistry.algo.ts:709", "pc": [ 2933, 2934, 2935 ] }, { "teal": 2884, "source": "contracts/NFDRegistry.algo.ts:715", "pc": [ 2936, 2937 ] }, { "teal": 2888, "source": "contracts/NFDRegistry.algo.ts:702", "pc": [ 2938, 2939 ] }, { "teal": 2891, "source": "contracts/NFDRegistry.algo.ts:702", "pc": [ 2940, 2941 ] }, { "teal": 2892, "source": "contracts/NFDRegistry.algo.ts:702", "pc": [ 2942 ] }, { "teal": 2897, "source": "contracts/NFDRegistry.algo.ts:725", "pc": [ 2943, 2944, 2945 ] }, { "teal": 2898, "source": "contracts/NFDRegistry.algo.ts:725", "pc": [ 2946, 2947, 2948 ] }, { "teal": 2901, "source": "contracts/NFDRegistry.algo.ts:725", "pc": [ 2949, 2950, 2951 ] }, { "teal": 2902, "source": "contracts/NFDRegistry.algo.ts:725", "pc": [ 2952 ] }, { "teal": 2905, "source": "contracts/NFDRegistry.algo.ts:725", "pc": [ 2953, 2954, 2955 ] }, { "teal": 2906, "source": "contracts/NFDRegistry.algo.ts:725", "pc": [ 2956, 2957, 2958 ] }, { "teal": 2909, "source": "contracts/NFDRegistry.algo.ts:725", "pc": [ 2959, 2960, 2961 ] }, { "teal": 2910, "source": "contracts/NFDRegistry.algo.ts:725", "pc": [ 2962 ] }, { "teal": 2911, "source": "contracts/NFDRegistry.algo.ts:725", "pc": [ 2963 ] }, { "teal": 2921, "source": "contracts/NFDRegistry.algo.ts:725", "pc": [ 2964, 2965, 2966 ] }, { "teal": 2925, "source": "contracts/NFDRegistry.algo.ts:726", "pc": [ 2967, 2968 ] }, { "teal": 2926, "source": "contracts/NFDRegistry.algo.ts:726", "pc": [ 2969, 2970, 2971 ] }, { "teal": 2927, "source": "contracts/NFDRegistry.algo.ts:726", "pc": [ 2972 ] }, { "teal": 2931, "source": "contracts/NFDRegistry.algo.ts:729", "pc": [ 2973, 2974 ] }, { "teal": 2932, "source": "contracts/NFDRegistry.algo.ts:729", "pc": [ 2975, 2976 ] }, { "teal": 2933, "source": "contracts/NFDRegistry.algo.ts:729", "pc": [ 2977 ] }, { "teal": 2934, "source": "contracts/NFDRegistry.algo.ts:729", "pc": [ 2978, 2979 ] }, { "teal": 2935, "source": "contracts/NFDRegistry.algo.ts:729", "pc": [ 2980 ] }, { "teal": 2936, "source": "contracts/NFDRegistry.algo.ts:729", "pc": [ 2981 ] }, { "teal": 2940, "source": "contracts/NFDRegistry.algo.ts:730", "pc": [ 2982, 2983 ] }, { "teal": 2941, "source": "contracts/NFDRegistry.algo.ts:730", "pc": [ 2984, 2985 ] }, { "teal": 2942, "source": "contracts/NFDRegistry.algo.ts:730", "pc": [ 2986 ] }, { "teal": 2943, "source": "contracts/NFDRegistry.algo.ts:730", "pc": [ 2987, 2988 ] }, { "teal": 2944, "source": "contracts/NFDRegistry.algo.ts:730", "pc": [ 2989 ] }, { "teal": 2945, "source": "contracts/NFDRegistry.algo.ts:725", "pc": [ 2990 ] }, { "teal": 2950, "source": "contracts/NFDRegistry.algo.ts:740", "pc": [ 2991, 2992, 2993 ] }, { "teal": 2951, "source": "contracts/NFDRegistry.algo.ts:740", "pc": [ 2994, 2995, 2996 ] }, { "teal": 2954, "source": "contracts/NFDRegistry.algo.ts:740", "pc": [ 2997, 2998, 2999 ] }, { "teal": 2955, "source": "contracts/NFDRegistry.algo.ts:740", "pc": [ 3000 ] }, { "teal": 2958, "source": "contracts/NFDRegistry.algo.ts:740", "pc": [ 3001, 3002, 3003 ] }, { "teal": 2959, "source": "contracts/NFDRegistry.algo.ts:740", "pc": [ 3004, 3005, 3006 ] }, { "teal": 2962, "source": "contracts/NFDRegistry.algo.ts:740", "pc": [ 3007, 3008, 3009 ] }, { "teal": 2963, "source": "contracts/NFDRegistry.algo.ts:740", "pc": [ 3010 ] }, { "teal": 2964, "source": "contracts/NFDRegistry.algo.ts:740", "pc": [ 3011 ] }, { "teal": 2974, "source": "contracts/NFDRegistry.algo.ts:740", "pc": [ 3012, 3013, 3014 ] }, { "teal": 2978, "source": "contracts/NFDRegistry.algo.ts:741", "pc": [ 3015, 3016 ] }, { "teal": 2979, "source": "contracts/NFDRegistry.algo.ts:741", "pc": [ 3017, 3018, 3019 ] }, { "teal": 2980, "source": "contracts/NFDRegistry.algo.ts:741", "pc": [ 3020 ] }, { "teal": 2984, "source": "contracts/NFDRegistry.algo.ts:742", "pc": [ 3021, 3022 ] }, { "teal": 2985, "source": "contracts/NFDRegistry.algo.ts:742", "pc": [ 3023, 3024 ] }, { "teal": 2986, "source": "contracts/NFDRegistry.algo.ts:742", "pc": [ 3025 ] }, { "teal": 2987, "source": "contracts/NFDRegistry.algo.ts:742", "pc": [ 3026, 3027 ] }, { "teal": 2988, "source": "contracts/NFDRegistry.algo.ts:742", "pc": [ 3028, 3029 ] }, { "teal": 2989, "source": "contracts/NFDRegistry.algo.ts:742", "pc": [ 3030 ] }, { "teal": 2990, "source": "contracts/NFDRegistry.algo.ts:740", "pc": [ 3031 ] }, { "teal": 2995, "source": "contracts/NFDRegistry.algo.ts:750", "pc": [ 3032, 3033, 3034 ] }, { "teal": 2996, "source": "contracts/NFDRegistry.algo.ts:750", "pc": [ 3035, 3036, 3037 ] }, { "teal": 2999, "source": "contracts/NFDRegistry.algo.ts:750", "pc": [ 3038, 3039, 3040 ] }, { "teal": 3000, "source": "contracts/NFDRegistry.algo.ts:750", "pc": [ 3041 ] }, { "teal": 3001, "source": "contracts/NFDRegistry.algo.ts:750", "pc": [ 3042 ] }, { "teal": 3009, "source": "contracts/NFDRegistry.algo.ts:750", "pc": [ 3043, 3044, 3045 ] }, { "teal": 3013, "source": "contracts/NFDRegistry.algo.ts:751", "pc": [ 3046, 3047 ] }, { "teal": 3014, "source": "contracts/NFDRegistry.algo.ts:751", "pc": [ 3048, 3049, 3050 ] }, { "teal": 3015, "source": "contracts/NFDRegistry.algo.ts:751", "pc": [ 3051 ] }, { "teal": 3019, "source": "contracts/NFDRegistry.algo.ts:752", "pc": [ 3052, 3053 ] }, { "teal": 3020, "source": "contracts/NFDRegistry.algo.ts:752", "pc": [ 3054, 3055 ] }, { "teal": 3021, "source": "contracts/NFDRegistry.algo.ts:752", "pc": [ 3056 ] }, { "teal": 3022, "source": "contracts/NFDRegistry.algo.ts:750", "pc": [ 3057 ] }, { "teal": 3027, "source": "contracts/NFDRegistry.algo.ts:757", "pc": [ 3058 ] }, { "teal": 3030, "source": "contracts/NFDRegistry.algo.ts:757", "pc": [ 3059, 3060, 3061 ] }, { "teal": 3031, "source": "contracts/NFDRegistry.algo.ts:757", "pc": [ 3062 ] }, { "teal": 3034, "source": "contracts/NFDRegistry.algo.ts:757", "pc": [ 3063, 3064, 3065 ] }, { "teal": 3035, "source": "contracts/NFDRegistry.algo.ts:757", "pc": [ 3066 ] }, { "teal": 3036, "source": "contracts/NFDRegistry.algo.ts:757", "pc": [ 3067 ] }, { "teal": 3037, "source": "contracts/NFDRegistry.algo.ts:757", "pc": [ 3068 ] }, { "teal": 3038, "source": "contracts/NFDRegistry.algo.ts:757", "pc": [ 3069 ] }, { "teal": 3039, "source": "contracts/NFDRegistry.algo.ts:757", "pc": [ 3070 ] }, { "teal": 3043, "source": "contracts/NFDRegistry.algo.ts:757", "pc": [ 3071, 3072, 3073 ] }, { "teal": 3046, "source": "contracts/NFDRegistry.algo.ts:757", "pc": [ 3074 ] }, { "teal": 3047, "source": "contracts/NFDRegistry.algo.ts:757", "pc": [ 3075, 3076 ] }, { "teal": 3051, "source": "contracts/NFDRegistry.algo.ts:758", "pc": [ 3077, 3078 ] }, { "teal": 3052, "source": "contracts/NFDRegistry.algo.ts:758", "pc": [ 3079, 3080, 3081, 3082 ] }, { "teal": 3053, "source": "contracts/NFDRegistry.algo.ts:758", "pc": [ 3083 ] }, { "teal": 3056, "source": "contracts/NFDRegistry.algo.ts:758", "errorMessage": "global state value does not exist: AppID.fromUint64(this.algoUsdOracleAppId).globalState('ts')", "pc": [ 3084 ] }, { "teal": 3057, "source": "contracts/NFDRegistry.algo.ts:758", "pc": [ 3085, 3086 ] }, { "teal": 3061, "source": "contracts/NFDRegistry.algo.ts:759", "pc": [ 3087, 3088 ] }, { "teal": 3062, "source": "contracts/NFDRegistry.algo.ts:759", "pc": [ 3089, 3090, 3091, 3092, 3093, 3094, 3095, 3096, 3097, 3098 ] }, { "teal": 3063, "source": "contracts/NFDRegistry.algo.ts:759", "pc": [ 3099 ] }, { "teal": 3066, "source": "contracts/NFDRegistry.algo.ts:759", "errorMessage": "global state value does not exist: AppID.fromUint64(this.algoUsdOracleAppId).globalState('decimals')", "pc": [ 3100 ] }, { "teal": 3067, "source": "contracts/NFDRegistry.algo.ts:759", "pc": [ 3101, 3102 ] }, { "teal": 3071, "source": "contracts/NFDRegistry.algo.ts:760", "pc": [ 3103, 3104 ] }, { "teal": 3072, "source": "contracts/NFDRegistry.algo.ts:760", "pc": [ 3105, 3106, 3107, 3108, 3109, 3110, 3111 ] }, { "teal": 3073, "source": "contracts/NFDRegistry.algo.ts:760", "pc": [ 3112 ] }, { "teal": 3076, "source": "contracts/NFDRegistry.algo.ts:760", "errorMessage": "global state value does not exist: AppID.fromUint64(this.algoUsdOracleAppId).globalState('price')", "pc": [ 3113 ] }, { "teal": 3077, "source": "contracts/NFDRegistry.algo.ts:760", "pc": [ 3114, 3115 ] }, { "teal": 3082, "source": "contracts/NFDRegistry.algo.ts:762", "pc": [ 3116, 3117 ] }, { "teal": 3083, "source": "contracts/NFDRegistry.algo.ts:762", "pc": [ 3118, 3119 ] }, { "teal": 3084, "source": "contracts/NFDRegistry.algo.ts:762", "pc": [ 3120 ] }, { "teal": 3085, "source": "contracts/NFDRegistry.algo.ts:762", "pc": [ 3121, 3122 ] }, { "teal": 3086, "source": "contracts/NFDRegistry.algo.ts:762", "pc": [ 3123 ] }, { "teal": 3087, "source": "contracts/NFDRegistry.algo.ts:762", "pc": [ 3124, 3125, 3126 ] }, { "teal": 3092, "source": "contracts/NFDRegistry.algo.ts:763", "pc": [ 3127, 3128 ] }, { "teal": 3093, "source": "contracts/NFDRegistry.algo.ts:763", "pc": [ 3129, 3130 ] }, { "teal": 3097, "source": "contracts/NFDRegistry.algo.ts:764", "pc": [ 3131, 3132 ] }, { "teal": 3098, "source": "contracts/NFDRegistry.algo.ts:764", "pc": [ 3133, 3134 ] }, { "teal": 3102, "source": "contracts/NFDRegistry.algo.ts:765", "pc": [ 3135, 3136, 3137, 3138, 3139, 3140, 3141, 3142, 3143, 3144, 3145, 3146, 3147, 3148, 3149, 3150, 3151, 3152, 3153, 3154, 3155, 3156, 3157, 3158, 3159 ] }, { "teal": 3103, "source": "contracts/NFDRegistry.algo.ts:765", "pc": [ 3160 ] }, { "teal": 3108, "source": "contracts/NFDRegistry.algo.ts:769", "pc": [ 3161, 3162 ] }, { "teal": 3109, "source": "contracts/NFDRegistry.algo.ts:769", "pc": [ 3163, 3164 ] }, { "teal": 3110, "source": "contracts/NFDRegistry.algo.ts:769", "pc": [ 3165 ] }, { "teal": 3111, "source": "contracts/NFDRegistry.algo.ts:769", "pc": [ 3166, 3167 ] }, { "teal": 3112, "source": "contracts/NFDRegistry.algo.ts:769", "pc": [ 3168, 3169, 3170 ] }, { "teal": 3113, "source": "contracts/NFDRegistry.algo.ts:769", "pc": [ 3171 ] }, { "teal": 3114, "source": "contracts/NFDRegistry.algo.ts:769", "pc": [ 3172, 3173 ] }, { "teal": 3115, "source": "contracts/NFDRegistry.algo.ts:769", "pc": [ 3174 ] }, { "teal": 3116, "source": "contracts/NFDRegistry.algo.ts:769", "pc": [ 3175, 3176 ] }, { "teal": 3117, "source": "contracts/NFDRegistry.algo.ts:769", "pc": [ 3177 ] }, { "teal": 3118, "source": "contracts/NFDRegistry.algo.ts:769", "pc": [ 3178, 3179 ] }, { "teal": 3119, "source": "contracts/NFDRegistry.algo.ts:769", "pc": [ 3180 ] }, { "teal": 3122, "source": "contracts/NFDRegistry.algo.ts:757", "pc": [ 3181, 3182 ] }, { "teal": 3125, "source": "contracts/NFDRegistry.algo.ts:757", "pc": [ 3183, 3184 ] }, { "teal": 3126, "source": "contracts/NFDRegistry.algo.ts:757", "pc": [ 3185 ] }, { "teal": 3131, "source": "contracts/NFDRegistry.algo.ts:777", "pc": [ 3186 ] }, { "teal": 3134, "source": "contracts/NFDRegistry.algo.ts:777", "pc": [ 3187, 3188, 3189 ] }, { "teal": 3135, "source": "contracts/NFDRegistry.algo.ts:777", "pc": [ 3190 ] }, { "teal": 3136, "source": "contracts/NFDRegistry.algo.ts:777", "pc": [ 3191 ] }, { "teal": 3137, "source": "contracts/NFDRegistry.algo.ts:777", "pc": [ 3192, 3193 ] }, { "teal": 3138, "source": "contracts/NFDRegistry.algo.ts:777", "pc": [ 3194 ] }, { "teal": 3141, "source": "contracts/NFDRegistry.algo.ts:777", "errorMessage": "argument 0 (lookupAddress) for costToAddToAddress must be a address", "pc": [ 3195 ] }, { "teal": 3144, "source": "contracts/NFDRegistry.algo.ts:777", "pc": [ 3196, 3197, 3198 ] }, { "teal": 3145, "source": "contracts/NFDRegistry.algo.ts:777", "pc": [ 3199 ] }, { "teal": 3146, "source": "contracts/NFDRegistry.algo.ts:777", "pc": [ 3200 ] }, { "teal": 3147, "source": "contracts/NFDRegistry.algo.ts:777", "pc": [ 3201 ] }, { "teal": 3148, "source": "contracts/NFDRegistry.algo.ts:777", "pc": [ 3202 ] }, { "teal": 3149, "source": "contracts/NFDRegistry.algo.ts:777", "pc": [ 3203 ] }, { "teal": 3157, "source": "contracts/NFDRegistry.algo.ts:777", "pc": [ 3204, 3205, 3206 ] }, { "teal": 3160, "source": "contracts/NFDRegistry.algo.ts:777", "pc": [ 3207 ] }, { "teal": 3164, "source": "contracts/NFDRegistry.algo.ts:778", "pc": [ 3208, 3209 ] }, { "teal": 3165, "source": "contracts/NFDRegistry.algo.ts:778", "pc": [ 3210, 3211, 3212 ] }, { "teal": 3166, "source": "contracts/NFDRegistry.algo.ts:778", "pc": [ 3213, 3214 ] }, { "teal": 3171, "source": "contracts/NFDRegistry.algo.ts:779", "pc": [ 3215, 3216 ] }, { "teal": 3172, "source": "contracts/NFDRegistry.algo.ts:779", "pc": [ 3217 ] }, { "teal": 3173, "source": "contracts/NFDRegistry.algo.ts:779", "pc": [ 3218 ] }, { "teal": 3174, "source": "contracts/NFDRegistry.algo.ts:779", "pc": [ 3219 ] }, { "teal": 3175, "source": "contracts/NFDRegistry.algo.ts:779", "pc": [ 3220 ] }, { "teal": 3176, "source": "contracts/NFDRegistry.algo.ts:779", "pc": [ 3221, 3222, 3223 ] }, { "teal": 3181, "source": "contracts/NFDRegistry.algo.ts:781", "pc": [ 3224, 3225 ] }, { "teal": 3182, "source": "contracts/NFDRegistry.algo.ts:781", "pc": [ 3226 ] }, { "teal": 3183, "source": "contracts/NFDRegistry.algo.ts:781", "pc": [ 3227 ] }, { "teal": 3184, "source": "contracts/NFDRegistry.algo.ts:781", "pc": [ 3228 ] }, { "teal": 3185, "source": "contracts/NFDRegistry.algo.ts:781", "pc": [ 3229 ] }, { "teal": 3186, "source": "contracts/NFDRegistry.algo.ts:781", "pc": [ 3230, 3231, 3232 ] }, { "teal": 3187, "source": "contracts/NFDRegistry.algo.ts:781", "pc": [ 3233, 3234, 3235 ] }, { "teal": 3192, "source": "contracts/NFDRegistry.algo.ts:784", "pc": [ 3236, 3237, 3238 ] }, { "teal": 3196, "source": "contracts/NFDRegistry.algo.ts:777", "pc": [ 3239, 3240 ] }, { "teal": 3197, "source": "contracts/NFDRegistry.algo.ts:777", "pc": [ 3241 ] }, { "teal": 3201, "source": "contracts/NFDRegistry.algo.ts:813", "pc": [ 3242, 3243, 3244 ] }, { "teal": 3209, "source": "contracts/NFDRegistry.algo.ts:815", "pc": [ 3245, 3246 ] }, { "teal": 3210, "source": "contracts/NFDRegistry.algo.ts:815", "pc": [ 3247, 3248 ] }, { "teal": 3211, "source": "contracts/NFDRegistry.algo.ts:815", "pc": [ 3249, 3250 ] }, { "teal": 3212, "source": "contracts/NFDRegistry.algo.ts:815", "pc": [ 3251, 3252 ] }, { "teal": 3213, "source": "contracts/NFDRegistry.algo.ts:815", "pc": [ 3253 ] }, { "teal": 3214, "source": "contracts/NFDRegistry.algo.ts:815", "pc": [ 3254 ] }, { "teal": 3215, "source": "contracts/NFDRegistry.algo.ts:815", "pc": [ 3255 ] }, { "teal": 3216, "source": "contracts/NFDRegistry.algo.ts:815", "pc": [ 3256 ] }, { "teal": 3217, "source": "contracts/NFDRegistry.algo.ts:815", "pc": [ 3257, 3258, 3259 ] }, { "teal": 3218, "source": "contracts/NFDRegistry.algo.ts:816", "pc": [ 3260, 3261 ] }, { "teal": 3219, "source": "contracts/NFDRegistry.algo.ts:816", "pc": [ 3262, 3263 ] }, { "teal": 3220, "source": "contracts/NFDRegistry.algo.ts:816", "pc": [ 3264, 3265 ] }, { "teal": 3221, "source": "contracts/NFDRegistry.algo.ts:816", "pc": [ 3266 ] }, { "teal": 3222, "source": "contracts/NFDRegistry.algo.ts:815", "pc": [ 3267 ] }, { "teal": 3225, "source": "contracts/NFDRegistry.algo.ts:816", "pc": [ 3268 ] }, { "teal": 3226, "source": "contracts/NFDRegistry.algo.ts:816", "pc": [ 3269, 3270, 3271 ] }, { "teal": 3227, "source": "contracts/NFDRegistry.algo.ts:817", "pc": [ 3272, 3273 ] }, { "teal": 3228, "source": "contracts/NFDRegistry.algo.ts:817", "pc": [ 3274, 3275 ] }, { "teal": 3229, "source": "contracts/NFDRegistry.algo.ts:817", "pc": [ 3276, 3277 ] }, { "teal": 3230, "source": "contracts/NFDRegistry.algo.ts:817", "pc": [ 3278 ] }, { "teal": 3231, "source": "contracts/NFDRegistry.algo.ts:816", "pc": [ 3279 ] }, { "teal": 3234, "source": "contracts/NFDRegistry.algo.ts:813", "pc": [ 3280 ] }, { "teal": 3238, "source": "contracts/NFDRegistry.algo.ts:821", "pc": [ 3281, 3282, 3283 ] }, { "teal": 3242, "source": "contracts/NFDRegistry.algo.ts:823", "pc": [ 3284 ] }, { "teal": 3243, "source": "contracts/NFDRegistry.algo.ts:823", "pc": [ 3285, 3286 ] }, { "teal": 3244, "source": "contracts/NFDRegistry.algo.ts:823", "pc": [ 3287 ] }, { "teal": 3245, "source": "contracts/NFDRegistry.algo.ts:823", "pc": [ 3288 ] }, { "teal": 3246, "source": "contracts/NFDRegistry.algo.ts:823", "pc": [ 3289 ] }, { "teal": 3247, "source": "contracts/NFDRegistry.algo.ts:823", "pc": [ 3290, 3291, 3292 ] }, { "teal": 3248, "source": "contracts/NFDRegistry.algo.ts:821", "pc": [ 3293 ] }, { "teal": 3252, "source": "contracts/NFDRegistry.algo.ts:826", "pc": [ 3294, 3295, 3296 ] }, { "teal": 3257, "source": "contracts/NFDRegistry.algo.ts:827", "pc": [ 3297, 3298 ] }, { "teal": 3258, "source": "contracts/NFDRegistry.algo.ts:827", "pc": [ 3299, 3300, 3301 ] }, { "teal": 3259, "source": "contracts/NFDRegistry.algo.ts:827", "pc": [ 3302, 3303, 3304 ] }, { "teal": 3267, "source": "contracts/NFDRegistry.algo.ts:829", "pc": [ 3305 ] }, { "teal": 3268, "source": "contracts/NFDRegistry.algo.ts:829", "pc": [ 3306 ] }, { "teal": 3269, "source": "contracts/NFDRegistry.algo.ts:829", "pc": [ 3307, 3308 ] }, { "teal": 3273, "source": "contracts/NFDRegistry.algo.ts:830", "pc": [ 3309, 3310 ] }, { "teal": 3274, "source": "contracts/NFDRegistry.algo.ts:830", "pc": [ 3311, 3312 ] }, { "teal": 3278, "source": "contracts/NFDRegistry.algo.ts:831", "pc": [ 3313, 3314, 3315, 3316, 3317, 3318, 3319, 3320, 3321, 3322, 3323, 3324, 3325, 3326, 3327, 3328, 3329, 3330, 3331, 3332, 3333 ] }, { "teal": 3279, "source": "contracts/NFDRegistry.algo.ts:831", "pc": [ 3334, 3335 ] }, { "teal": 3280, "source": "contracts/NFDRegistry.algo.ts:831", "pc": [ 3336, 3337 ] }, { "teal": 3281, "source": "contracts/NFDRegistry.algo.ts:831", "pc": [ 3338, 3339 ] }, { "teal": 3282, "source": "contracts/NFDRegistry.algo.ts:831", "pc": [ 3340, 3341 ] }, { "teal": 3283, "source": "contracts/NFDRegistry.algo.ts:831", "pc": [ 3342, 3343 ] }, { "teal": 3286, "source": "contracts/NFDRegistry.algo.ts:829", "pc": [ 3344 ] }, { "teal": 3287, "source": "contracts/NFDRegistry.algo.ts:829", "pc": [ 3345, 3346 ] }, { "teal": 3290, "source": "contracts/NFDRegistry.algo.ts:829", "pc": [ 3347 ] }, { "teal": 3294, "source": "contracts/NFDRegistry.algo.ts:833", "pc": [ 3348, 3349 ] }, { "teal": 3295, "source": "contracts/NFDRegistry.algo.ts:833", "pc": [ 3350 ] }, { "teal": 3296, "source": "contracts/NFDRegistry.algo.ts:833", "pc": [ 3351 ] }, { "teal": 3297, "source": "contracts/NFDRegistry.algo.ts:833", "pc": [ 3352 ] }, { "teal": 3298, "source": "contracts/NFDRegistry.algo.ts:833", "pc": [ 3353 ] }, { "teal": 3306, "source": "contracts/NFDRegistry.algo.ts:836", "pc": [ 3354 ] }, { "teal": 3307, "source": "contracts/NFDRegistry.algo.ts:836", "pc": [ 3355 ] }, { "teal": 3308, "source": "contracts/NFDRegistry.algo.ts:836", "pc": [ 3356, 3357 ] }, { "teal": 3309, "source": "contracts/NFDRegistry.algo.ts:836", "pc": [ 3358, 3359, 3360, 3361, 3362, 3363 ] }, { "teal": 3310, "source": "contracts/NFDRegistry.algo.ts:836", "pc": [ 3364, 3365 ] }, { "teal": 3314, "source": "contracts/NFDRegistry.algo.ts:837", "pc": [ 3366, 3367 ] }, { "teal": 3315, "source": "contracts/NFDRegistry.algo.ts:837", "pc": [ 3368, 3369 ] }, { "teal": 3319, "source": "contracts/NFDRegistry.algo.ts:838", "pc": [ 3370, 3371 ] }, { "teal": 3320, "source": "contracts/NFDRegistry.algo.ts:838", "pc": [ 3372 ] }, { "teal": 3321, "source": "contracts/NFDRegistry.algo.ts:838", "pc": [ 3373 ] }, { "teal": 3322, "source": "contracts/NFDRegistry.algo.ts:838", "pc": [ 3374 ] }, { "teal": 3323, "source": "contracts/NFDRegistry.algo.ts:838", "pc": [ 3375, 3376, 3377 ] }, { "teal": 3324, "source": "contracts/NFDRegistry.algo.ts:838", "pc": [ 3378 ] }, { "teal": 3325, "source": "contracts/NFDRegistry.algo.ts:838", "pc": [ 3379 ] }, { "teal": 3326, "source": "contracts/NFDRegistry.algo.ts:838", "pc": [ 3380, 3381 ] }, { "teal": 3327, "source": "contracts/NFDRegistry.algo.ts:838", "pc": [ 3382, 3383 ] }, { "teal": 3328, "source": "contracts/NFDRegistry.algo.ts:838", "pc": [ 3384, 3385 ] }, { "teal": 3331, "source": "contracts/NFDRegistry.algo.ts:836", "pc": [ 3386 ] }, { "teal": 3332, "source": "contracts/NFDRegistry.algo.ts:836", "pc": [ 3387, 3388 ] }, { "teal": 3335, "source": "contracts/NFDRegistry.algo.ts:836", "pc": [ 3389 ] }, { "teal": 3336, "source": "contracts/NFDRegistry.algo.ts:836", "pc": [ 3390, 3391 ] }, { "teal": 3337, "source": "contracts/NFDRegistry.algo.ts:836", "pc": [ 3392 ] }, { "teal": 3338, "source": "contracts/NFDRegistry.algo.ts:836", "pc": [ 3393 ] }, { "teal": 3339, "source": "contracts/NFDRegistry.algo.ts:836", "pc": [ 3394, 3395 ] }, { "teal": 3340, "source": "contracts/NFDRegistry.algo.ts:836", "pc": [ 3396, 3397, 3398 ] }, { "teal": 3341, "source": "contracts/NFDRegistry.algo.ts:836", "pc": [ 3399 ] }, { "teal": 3342, "source": "contracts/NFDRegistry.algo.ts:836", "pc": [ 3400 ] }, { "teal": 3343, "source": "contracts/NFDRegistry.algo.ts:826", "pc": [ 3401 ] }, { "teal": 3347, "source": "contracts/NFDRegistry.algo.ts:842", "pc": [ 3402, 3403, 3404 ] }, { "teal": 3350, "source": "contracts/NFDRegistry.algo.ts:842", "pc": [ 3405 ] }, { "teal": 3351, "source": "contracts/NFDRegistry.algo.ts:842", "pc": [ 3406, 3407 ] }, { "teal": 3355, "source": "contracts/NFDRegistry.algo.ts:843", "pc": [ 3408, 3409 ] }, { "teal": 3356, "source": "contracts/NFDRegistry.algo.ts:843", "pc": [ 3410 ] }, { "teal": 3357, "source": "contracts/NFDRegistry.algo.ts:843", "pc": [ 3411 ] }, { "teal": 3358, "source": "contracts/NFDRegistry.algo.ts:843", "pc": [ 3412 ] }, { "teal": 3363, "source": "contracts/NFDRegistry.algo.ts:844", "pc": [ 3413, 3414 ] }, { "teal": 3364, "source": "contracts/NFDRegistry.algo.ts:844", "pc": [ 3415 ] }, { "teal": 3365, "source": "contracts/NFDRegistry.algo.ts:844", "pc": [ 3416 ] }, { "teal": 3366, "source": "contracts/NFDRegistry.algo.ts:844", "pc": [ 3417 ] }, { "teal": 3367, "source": "contracts/NFDRegistry.algo.ts:844", "pc": [ 3418 ] }, { "teal": 3368, "source": "contracts/NFDRegistry.algo.ts:844", "pc": [ 3419, 3420, 3421 ] }, { "teal": 3373, "source": "contracts/NFDRegistry.algo.ts:845", "pc": [ 3422 ] }, { "teal": 3374, "source": "contracts/NFDRegistry.algo.ts:845", "pc": [ 3423, 3424, 3425 ] }, { "teal": 3379, "source": "contracts/NFDRegistry.algo.ts:847", "pc": [ 3426, 3427 ] }, { "teal": 3380, "source": "contracts/NFDRegistry.algo.ts:847", "pc": [ 3428 ] }, { "teal": 3383, "source": "contracts/NFDRegistry.algo.ts:847", "errorMessage": "box value does not exist: this.boxes(key).value", "pc": [ 3429 ] }, { "teal": 3384, "source": "contracts/NFDRegistry.algo.ts:847", "pc": [ 3430, 3431 ] }, { "teal": 3388, "source": "contracts/NFDRegistry.algo.ts:848", "pc": [ 3432, 3433 ] }, { "teal": 3389, "source": "contracts/NFDRegistry.algo.ts:848", "pc": [ 3434, 3435 ] }, { "teal": 3393, "source": "contracts/NFDRegistry.algo.ts:849", "pc": [ 3436, 3437 ] }, { "teal": 3394, "source": "contracts/NFDRegistry.algo.ts:849", "pc": [ 3438 ] }, { "teal": 3395, "source": "contracts/NFDRegistry.algo.ts:849", "pc": [ 3439 ] }, { "teal": 3396, "source": "contracts/NFDRegistry.algo.ts:849", "pc": [ 3440 ] }, { "teal": 3397, "source": "contracts/NFDRegistry.algo.ts:849", "pc": [ 3441, 3442 ] }, { "teal": 3401, "source": "contracts/NFDRegistry.algo.ts:851", "pc": [ 3443 ] }, { "teal": 3402, "source": "contracts/NFDRegistry.algo.ts:851", "pc": [ 3444, 3445 ] }, { "teal": 3407, "source": "contracts/NFDRegistry.algo.ts:851", "pc": [ 3446, 3447 ] }, { "teal": 3408, "source": "contracts/NFDRegistry.algo.ts:851", "pc": [ 3448, 3449 ] }, { "teal": 3409, "source": "contracts/NFDRegistry.algo.ts:851", "pc": [ 3450 ] }, { "teal": 3410, "source": "contracts/NFDRegistry.algo.ts:851", "pc": [ 3451, 3452, 3453 ] }, { "teal": 3415, "source": "contracts/NFDRegistry.algo.ts:852", "pc": [ 3454, 3455 ] }, { "teal": 3416, "source": "contracts/NFDRegistry.algo.ts:852", "pc": [ 3456, 3457 ] }, { "teal": 3417, "source": "contracts/NFDRegistry.algo.ts:852", "pc": [ 3458 ] }, { "teal": 3418, "source": "contracts/NFDRegistry.algo.ts:852", "pc": [ 3459 ] }, { "teal": 3419, "source": "contracts/NFDRegistry.algo.ts:852", "pc": [ 3460 ] }, { "teal": 3420, "source": "contracts/NFDRegistry.algo.ts:852", "pc": [ 3461 ] }, { "teal": 3421, "source": "contracts/NFDRegistry.algo.ts:852", "pc": [ 3462 ] }, { "teal": 3422, "source": "contracts/NFDRegistry.algo.ts:852", "pc": [ 3463, 3464 ] }, { "teal": 3423, "source": "contracts/NFDRegistry.algo.ts:852", "pc": [ 3465 ] }, { "teal": 3424, "source": "contracts/NFDRegistry.algo.ts:852", "pc": [ 3466, 3467, 3468 ] }, { "teal": 3429, "source": "contracts/NFDRegistry.algo.ts:852", "pc": [ 3469 ] }, { "teal": 3430, "source": "contracts/NFDRegistry.algo.ts:852", "pc": [ 3470, 3471, 3472 ] }, { "teal": 3437, "source": "contracts/NFDRegistry.algo.ts:851", "pc": [ 3473, 3474 ] }, { "teal": 3438, "source": "contracts/NFDRegistry.algo.ts:851", "pc": [ 3475 ] }, { "teal": 3439, "source": "contracts/NFDRegistry.algo.ts:851", "pc": [ 3476 ] }, { "teal": 3440, "source": "contracts/NFDRegistry.algo.ts:851", "pc": [ 3477, 3478 ] }, { "teal": 3441, "source": "contracts/NFDRegistry.algo.ts:851", "pc": [ 3479, 3480, 3481 ] }, { "teal": 3446, "source": "contracts/NFDRegistry.algo.ts:855", "pc": [ 3482 ] }, { "teal": 3450, "source": "contracts/NFDRegistry.algo.ts:842", "pc": [ 3483, 3484 ] }, { "teal": 3453, "source": "contracts/NFDRegistry.algo.ts:842", "pc": [ 3485, 3486 ] }, { "teal": 3454, "source": "contracts/NFDRegistry.algo.ts:842", "pc": [ 3487 ] }, { "teal": 3458, "source": "contracts/NFDRegistry.algo.ts:858", "pc": [ 3488, 3489, 3490 ] }, { "teal": 3461, "source": "contracts/NFDRegistry.algo.ts:858", "pc": [ 3491 ] }, { "teal": 3462, "source": "contracts/NFDRegistry.algo.ts:858", "pc": [ 3492, 3493 ] }, { "teal": 3467, "source": "contracts/NFDRegistry.algo.ts:859", "pc": [ 3494, 3495 ] }, { "teal": 3468, "source": "contracts/NFDRegistry.algo.ts:859", "pc": [ 3496 ] }, { "teal": 3469, "source": "contracts/NFDRegistry.algo.ts:859", "pc": [ 3497 ] }, { "teal": 3470, "source": "contracts/NFDRegistry.algo.ts:859", "pc": [ 3498 ] }, { "teal": 3471, "source": "contracts/NFDRegistry.algo.ts:859", "pc": [ 3499 ] }, { "teal": 3472, "source": "contracts/NFDRegistry.algo.ts:859", "pc": [ 3500, 3501, 3502 ] }, { "teal": 3477, "source": "contracts/NFDRegistry.algo.ts:861", "pc": [ 3503, 3504 ] }, { "teal": 3478, "source": "contracts/NFDRegistry.algo.ts:861", "pc": [ 3505, 3506 ] }, { "teal": 3479, "source": "contracts/NFDRegistry.algo.ts:861", "pc": [ 3507 ] }, { "teal": 3480, "source": "contracts/NFDRegistry.algo.ts:861", "pc": [ 3508 ] }, { "teal": 3484, "source": "contracts/NFDRegistry.algo.ts:862", "pc": [ 3509 ] }, { "teal": 3485, "source": "contracts/NFDRegistry.algo.ts:862", "pc": [ 3510, 3511, 3512 ] }, { "teal": 3490, "source": "contracts/NFDRegistry.algo.ts:864", "pc": [ 3513, 3514 ] }, { "teal": 3491, "source": "contracts/NFDRegistry.algo.ts:864", "pc": [ 3515 ] }, { "teal": 3494, "source": "contracts/NFDRegistry.algo.ts:864", "errorMessage": "box value does not exist: this.boxes(key).value", "pc": [ 3516 ] }, { "teal": 3495, "source": "contracts/NFDRegistry.algo.ts:864", "pc": [ 3517, 3518 ] }, { "teal": 3499, "source": "contracts/NFDRegistry.algo.ts:865", "pc": [ 3519, 3520 ] }, { "teal": 3500, "source": "contracts/NFDRegistry.algo.ts:865", "pc": [ 3521 ] }, { "teal": 3501, "source": "contracts/NFDRegistry.algo.ts:865", "pc": [ 3522 ] }, { "teal": 3502, "source": "contracts/NFDRegistry.algo.ts:865", "pc": [ 3523 ] }, { "teal": 3503, "source": "contracts/NFDRegistry.algo.ts:865", "pc": [ 3524, 3525 ] }, { "teal": 3507, "source": "contracts/NFDRegistry.algo.ts:867", "pc": [ 3526 ] }, { "teal": 3508, "source": "contracts/NFDRegistry.algo.ts:867", "pc": [ 3527, 3528 ] }, { "teal": 3513, "source": "contracts/NFDRegistry.algo.ts:867", "pc": [ 3529, 3530 ] }, { "teal": 3514, "source": "contracts/NFDRegistry.algo.ts:867", "pc": [ 3531, 3532 ] }, { "teal": 3515, "source": "contracts/NFDRegistry.algo.ts:867", "pc": [ 3533 ] }, { "teal": 3516, "source": "contracts/NFDRegistry.algo.ts:867", "pc": [ 3534, 3535, 3536 ] }, { "teal": 3520, "source": "contracts/NFDRegistry.algo.ts:868", "pc": [ 3537, 3538 ] }, { "teal": 3521, "source": "contracts/NFDRegistry.algo.ts:868", "pc": [ 3539, 3540 ] }, { "teal": 3522, "source": "contracts/NFDRegistry.algo.ts:868", "pc": [ 3541 ] }, { "teal": 3523, "source": "contracts/NFDRegistry.algo.ts:868", "pc": [ 3542 ] }, { "teal": 3524, "source": "contracts/NFDRegistry.algo.ts:868", "pc": [ 3543 ] }, { "teal": 3525, "source": "contracts/NFDRegistry.algo.ts:868", "pc": [ 3544, 3545 ] }, { "teal": 3530, "source": "contracts/NFDRegistry.algo.ts:870", "pc": [ 3546, 3547 ] }, { "teal": 3531, "source": "contracts/NFDRegistry.algo.ts:870", "pc": [ 3548 ] }, { "teal": 3532, "source": "contracts/NFDRegistry.algo.ts:870", "pc": [ 3549 ] }, { "teal": 3533, "source": "contracts/NFDRegistry.algo.ts:870", "pc": [ 3550, 3551, 3552 ] }, { "teal": 3538, "source": "contracts/NFDRegistry.algo.ts:872", "pc": [ 3553, 3554 ] }, { "teal": 3539, "source": "contracts/NFDRegistry.algo.ts:872", "pc": [ 3555, 3556 ] }, { "teal": 3540, "source": "contracts/NFDRegistry.algo.ts:872", "pc": [ 3557 ] }, { "teal": 3541, "source": "contracts/NFDRegistry.algo.ts:872", "pc": [ 3558 ] }, { "teal": 3542, "source": "contracts/NFDRegistry.algo.ts:872", "pc": [ 3559, 3560 ] }, { "teal": 3543, "source": "contracts/NFDRegistry.algo.ts:872", "pc": [ 3561 ] }, { "teal": 3544, "source": "contracts/NFDRegistry.algo.ts:872", "pc": [ 3562 ] }, { "teal": 3548, "source": "contracts/NFDRegistry.algo.ts:873", "pc": [ 3563 ] }, { "teal": 3549, "source": "contracts/NFDRegistry.algo.ts:873", "pc": [ 3564, 3565, 3566 ] }, { "teal": 3555, "source": "contracts/NFDRegistry.algo.ts:875", "pc": [ 3567, 3568 ] }, { "teal": 3556, "source": "contracts/NFDRegistry.algo.ts:875", "pc": [ 3569, 3570 ] }, { "teal": 3557, "source": "contracts/NFDRegistry.algo.ts:875", "pc": [ 3571 ] }, { "teal": 3558, "source": "contracts/NFDRegistry.algo.ts:875", "pc": [ 3572, 3573, 3574 ] }, { "teal": 3563, "source": "contracts/NFDRegistry.algo.ts:876", "pc": [ 3575 ] }, { "teal": 3564, "source": "contracts/NFDRegistry.algo.ts:876", "pc": [ 3576, 3577, 3578 ] }, { "teal": 3571, "source": "contracts/NFDRegistry.algo.ts:867", "pc": [ 3579, 3580 ] }, { "teal": 3572, "source": "contracts/NFDRegistry.algo.ts:867", "pc": [ 3581 ] }, { "teal": 3573, "source": "contracts/NFDRegistry.algo.ts:867", "pc": [ 3582 ] }, { "teal": 3574, "source": "contracts/NFDRegistry.algo.ts:867", "pc": [ 3583, 3584 ] }, { "teal": 3575, "source": "contracts/NFDRegistry.algo.ts:867", "pc": [ 3585, 3586, 3587 ] }, { "teal": 3581, "source": "contracts/NFDRegistry.algo.ts:880", "pc": [ 3588, 3589 ] }, { "teal": 3582, "source": "contracts/NFDRegistry.algo.ts:880", "pc": [ 3590 ] }, { "teal": 3583, "source": "contracts/NFDRegistry.algo.ts:880", "pc": [ 3591, 3592, 3593 ] }, { "teal": 3584, "source": "contracts/NFDRegistry.algo.ts:880", "pc": [ 3594 ] }, { "teal": 3585, "source": "contracts/NFDRegistry.algo.ts:880", "pc": [ 3595, 3596, 3597 ] }, { "teal": 3590, "source": "contracts/NFDRegistry.algo.ts:881", "pc": [ 3598, 3599 ] }, { "teal": 3591, "source": "contracts/NFDRegistry.algo.ts:881", "pc": [ 3600 ] }, { "teal": 3595, "source": "contracts/NFDRegistry.algo.ts:882", "pc": [ 3601, 3602 ] }, { "teal": 3596, "source": "contracts/NFDRegistry.algo.ts:882", "pc": [ 3603, 3604 ] }, { "teal": 3597, "source": "contracts/NFDRegistry.algo.ts:882", "pc": [ 3605, 3606 ] }, { "teal": 3598, "source": "contracts/NFDRegistry.algo.ts:882", "pc": [ 3607 ] }, { "teal": 3599, "source": "contracts/NFDRegistry.algo.ts:882", "pc": [ 3608 ] }, { "teal": 3600, "source": "contracts/NFDRegistry.algo.ts:882", "pc": [ 3609 ] }, { "teal": 3604, "source": "contracts/NFDRegistry.algo.ts:883", "pc": [ 3610 ] }, { "teal": 3605, "source": "contracts/NFDRegistry.algo.ts:883", "pc": [ 3611, 3612, 3613 ] }, { "teal": 3610, "source": "contracts/NFDRegistry.algo.ts:886", "pc": [ 3614 ] }, { "teal": 3614, "source": "contracts/NFDRegistry.algo.ts:858", "pc": [ 3615, 3616 ] }, { "teal": 3617, "source": "contracts/NFDRegistry.algo.ts:858", "pc": [ 3617, 3618 ] }, { "teal": 3618, "source": "contracts/NFDRegistry.algo.ts:858", "pc": [ 3619 ] }, { "teal": 3622, "source": "contracts/NFDRegistry.algo.ts:889", "pc": [ 3620, 3621, 3622 ] }, { "teal": 3627, "source": "contracts/NFDRegistry.algo.ts:894", "pc": [ 3623, 3624 ] }, { "teal": 3628, "source": "contracts/NFDRegistry.algo.ts:894", "pc": [ 3625, 3626, 3627 ] }, { "teal": 3629, "source": "contracts/NFDRegistry.algo.ts:894", "pc": [ 3628, 3629, 3630 ] }, { "teal": 3641, "source": "contracts/NFDRegistry.algo.ts:896", "pc": [ 3631 ] }, { "teal": 3642, "source": "contracts/NFDRegistry.algo.ts:896", "pc": [ 3632 ] }, { "teal": 3643, "source": "contracts/NFDRegistry.algo.ts:896", "pc": [ 3633, 3634 ] }, { "teal": 3647, "source": "contracts/NFDRegistry.algo.ts:901", "pc": [ 3635, 3636 ] }, { "teal": 3648, "source": "contracts/NFDRegistry.algo.ts:901", "pc": [ 3637, 3638 ] }, { "teal": 3652, "source": "contracts/NFDRegistry.algo.ts:902", "pc": [ 3639, 3640, 3641, 3642, 3643, 3644, 3645, 3646, 3647, 3648, 3649, 3650, 3651, 3652, 3653, 3654, 3655, 3656, 3657, 3658, 3659, 3660, 3661, 3662, 3663, 3664 ] }, { "teal": 3653, "source": "contracts/NFDRegistry.algo.ts:902", "pc": [ 3665, 3666 ] }, { "teal": 3654, "source": "contracts/NFDRegistry.algo.ts:902", "pc": [ 3667, 3668 ] }, { "teal": 3655, "source": "contracts/NFDRegistry.algo.ts:902", "pc": [ 3669, 3670 ] }, { "teal": 3656, "source": "contracts/NFDRegistry.algo.ts:902", "pc": [ 3671, 3672 ] }, { "teal": 3657, "source": "contracts/NFDRegistry.algo.ts:902", "pc": [ 3673, 3674 ] }, { "teal": 3660, "source": "contracts/NFDRegistry.algo.ts:896", "pc": [ 3675 ] }, { "teal": 3661, "source": "contracts/NFDRegistry.algo.ts:896", "pc": [ 3676, 3677 ] }, { "teal": 3664, "source": "contracts/NFDRegistry.algo.ts:896", "pc": [ 3678 ] }, { "teal": 3668, "source": "contracts/NFDRegistry.algo.ts:905", "pc": [ 3679, 3680 ] }, { "teal": 3669, "source": "contracts/NFDRegistry.algo.ts:905", "pc": [ 3681 ] }, { "teal": 3670, "source": "contracts/NFDRegistry.algo.ts:905", "pc": [ 3682 ] }, { "teal": 3671, "source": "contracts/NFDRegistry.algo.ts:905", "pc": [ 3683 ] }, { "teal": 3672, "source": "contracts/NFDRegistry.algo.ts:905", "pc": [ 3684 ] }, { "teal": 3680, "source": "contracts/NFDRegistry.algo.ts:908", "pc": [ 3685 ] }, { "teal": 3681, "source": "contracts/NFDRegistry.algo.ts:908", "pc": [ 3686 ] }, { "teal": 3682, "source": "contracts/NFDRegistry.algo.ts:908", "pc": [ 3687, 3688 ] }, { "teal": 3683, "source": "contracts/NFDRegistry.algo.ts:908", "pc": [ 3689, 3690, 3691, 3692, 3693, 3694 ] }, { "teal": 3684, "source": "contracts/NFDRegistry.algo.ts:908", "pc": [ 3695, 3696 ] }, { "teal": 3688, "source": "contracts/NFDRegistry.algo.ts:909", "pc": [ 3697, 3698 ] }, { "teal": 3689, "source": "contracts/NFDRegistry.algo.ts:909", "pc": [ 3699, 3700 ] }, { "teal": 3693, "source": "contracts/NFDRegistry.algo.ts:910", "pc": [ 3701, 3702 ] }, { "teal": 3694, "source": "contracts/NFDRegistry.algo.ts:910", "pc": [ 3703 ] }, { "teal": 3695, "source": "contracts/NFDRegistry.algo.ts:910", "pc": [ 3704 ] }, { "teal": 3696, "source": "contracts/NFDRegistry.algo.ts:910", "pc": [ 3705 ] }, { "teal": 3697, "source": "contracts/NFDRegistry.algo.ts:910", "pc": [ 3706, 3707, 3708 ] }, { "teal": 3698, "source": "contracts/NFDRegistry.algo.ts:910", "pc": [ 3709 ] }, { "teal": 3699, "source": "contracts/NFDRegistry.algo.ts:910", "pc": [ 3710 ] }, { "teal": 3700, "source": "contracts/NFDRegistry.algo.ts:910", "pc": [ 3711, 3712 ] }, { "teal": 3701, "source": "contracts/NFDRegistry.algo.ts:910", "pc": [ 3713, 3714 ] }, { "teal": 3702, "source": "contracts/NFDRegistry.algo.ts:910", "pc": [ 3715 ] }, { "teal": 3703, "source": "contracts/NFDRegistry.algo.ts:910", "pc": [ 3716 ] }, { "teal": 3704, "source": "contracts/NFDRegistry.algo.ts:910", "pc": [ 3717 ] }, { "teal": 3705, "source": "contracts/NFDRegistry.algo.ts:910", "pc": [ 3718, 3719, 3720 ] }, { "teal": 3706, "source": "contracts/NFDRegistry.algo.ts:910", "pc": [ 3721 ] }, { "teal": 3707, "source": "contracts/NFDRegistry.algo.ts:910", "pc": [ 3722 ] }, { "teal": 3708, "source": "contracts/NFDRegistry.algo.ts:910", "pc": [ 3723, 3724 ] }, { "teal": 3711, "source": "contracts/NFDRegistry.algo.ts:908", "pc": [ 3725 ] }, { "teal": 3712, "source": "contracts/NFDRegistry.algo.ts:908", "pc": [ 3726, 3727 ] }, { "teal": 3715, "source": "contracts/NFDRegistry.algo.ts:908", "pc": [ 3728 ] }, { "teal": 3716, "source": "contracts/NFDRegistry.algo.ts:908", "pc": [ 3729, 3730 ] }, { "teal": 3717, "source": "contracts/NFDRegistry.algo.ts:908", "pc": [ 3731 ] }, { "teal": 3718, "source": "contracts/NFDRegistry.algo.ts:908", "pc": [ 3732 ] }, { "teal": 3719, "source": "contracts/NFDRegistry.algo.ts:908", "pc": [ 3733, 3734 ] }, { "teal": 3720, "source": "contracts/NFDRegistry.algo.ts:908", "pc": [ 3735, 3736, 3737 ] }, { "teal": 3721, "source": "contracts/NFDRegistry.algo.ts:908", "pc": [ 3738 ] }, { "teal": 3722, "source": "contracts/NFDRegistry.algo.ts:908", "pc": [ 3739 ] }, { "teal": 3723, "source": "contracts/NFDRegistry.algo.ts:889", "pc": [ 3740 ] }, { "teal": 3727, "source": "contracts/NFDRegistry.algo.ts:914", "pc": [ 3741, 3742, 3743 ] }, { "teal": 3732, "source": "contracts/NFDRegistry.algo.ts:920", "pc": [ 3744, 3745 ] }, { "teal": 3733, "source": "contracts/NFDRegistry.algo.ts:920", "pc": [ 3746, 3747, 3748 ] }, { "teal": 3734, "source": "contracts/NFDRegistry.algo.ts:920", "pc": [ 3749, 3750, 3751 ] }, { "teal": 3742, "source": "contracts/NFDRegistry.algo.ts:926", "pc": [ 3752 ] }, { "teal": 3743, "source": "contracts/NFDRegistry.algo.ts:926", "pc": [ 3753 ] }, { "teal": 3744, "source": "contracts/NFDRegistry.algo.ts:926", "pc": [ 3754, 3755 ] }, { "teal": 3748, "source": "contracts/NFDRegistry.algo.ts:927", "pc": [ 3756, 3757 ] }, { "teal": 3749, "source": "contracts/NFDRegistry.algo.ts:927", "pc": [ 3758, 3759 ] }, { "teal": 3753, "source": "contracts/NFDRegistry.algo.ts:928", "pc": [ 3760, 3761, 3762, 3763, 3764, 3765, 3766, 3767, 3768, 3769, 3770, 3771, 3772, 3773, 3774, 3775, 3776, 3777, 3778, 3779, 3780, 3781, 3782, 3783, 3784, 3785, 3786, 3787, 3788 ] }, { "teal": 3754, "source": "contracts/NFDRegistry.algo.ts:928", "pc": [ 3789, 3790 ] }, { "teal": 3755, "source": "contracts/NFDRegistry.algo.ts:928", "pc": [ 3791, 3792 ] }, { "teal": 3756, "source": "contracts/NFDRegistry.algo.ts:928", "pc": [ 3793, 3794 ] }, { "teal": 3757, "source": "contracts/NFDRegistry.algo.ts:928", "pc": [ 3795, 3796 ] }, { "teal": 3758, "source": "contracts/NFDRegistry.algo.ts:928", "pc": [ 3797, 3798 ] }, { "teal": 3761, "source": "contracts/NFDRegistry.algo.ts:926", "pc": [ 3799 ] }, { "teal": 3762, "source": "contracts/NFDRegistry.algo.ts:926", "pc": [ 3800, 3801 ] }, { "teal": 3765, "source": "contracts/NFDRegistry.algo.ts:926", "pc": [ 3802 ] }, { "teal": 3769, "source": "contracts/NFDRegistry.algo.ts:930", "pc": [ 3803, 3804 ] }, { "teal": 3770, "source": "contracts/NFDRegistry.algo.ts:930", "pc": [ 3805 ] }, { "teal": 3771, "source": "contracts/NFDRegistry.algo.ts:930", "pc": [ 3806 ] }, { "teal": 3772, "source": "contracts/NFDRegistry.algo.ts:930", "pc": [ 3807 ] }, { "teal": 3773, "source": "contracts/NFDRegistry.algo.ts:930", "pc": [ 3808 ] }, { "teal": 3781, "source": "contracts/NFDRegistry.algo.ts:933", "pc": [ 3809 ] }, { "teal": 3782, "source": "contracts/NFDRegistry.algo.ts:933", "pc": [ 3810 ] }, { "teal": 3783, "source": "contracts/NFDRegistry.algo.ts:933", "pc": [ 3811, 3812 ] }, { "teal": 3784, "source": "contracts/NFDRegistry.algo.ts:933", "pc": [ 3813, 3814, 3815, 3816, 3817, 3818 ] }, { "teal": 3785, "source": "contracts/NFDRegistry.algo.ts:933", "pc": [ 3819, 3820 ] }, { "teal": 3789, "source": "contracts/NFDRegistry.algo.ts:934", "pc": [ 3821, 3822 ] }, { "teal": 3790, "source": "contracts/NFDRegistry.algo.ts:934", "pc": [ 3823, 3824 ] }, { "teal": 3794, "source": "contracts/NFDRegistry.algo.ts:935", "pc": [ 3825, 3826 ] }, { "teal": 3795, "source": "contracts/NFDRegistry.algo.ts:935", "pc": [ 3827 ] }, { "teal": 3796, "source": "contracts/NFDRegistry.algo.ts:935", "pc": [ 3828 ] }, { "teal": 3797, "source": "contracts/NFDRegistry.algo.ts:935", "pc": [ 3829 ] }, { "teal": 3798, "source": "contracts/NFDRegistry.algo.ts:935", "pc": [ 3830, 3831, 3832 ] }, { "teal": 3799, "source": "contracts/NFDRegistry.algo.ts:935", "pc": [ 3833 ] }, { "teal": 3800, "source": "contracts/NFDRegistry.algo.ts:935", "pc": [ 3834 ] }, { "teal": 3801, "source": "contracts/NFDRegistry.algo.ts:935", "pc": [ 3835, 3836 ] }, { "teal": 3802, "source": "contracts/NFDRegistry.algo.ts:935", "pc": [ 3837, 3838 ] }, { "teal": 3803, "source": "contracts/NFDRegistry.algo.ts:935", "pc": [ 3839, 3840 ] }, { "teal": 3804, "source": "contracts/NFDRegistry.algo.ts:935", "pc": [ 3841, 3842 ] }, { "teal": 3805, "source": "contracts/NFDRegistry.algo.ts:935", "pc": [ 3843, 3844 ] }, { "teal": 3808, "source": "contracts/NFDRegistry.algo.ts:933", "pc": [ 3845 ] }, { "teal": 3809, "source": "contracts/NFDRegistry.algo.ts:933", "pc": [ 3846, 3847 ] }, { "teal": 3812, "source": "contracts/NFDRegistry.algo.ts:933", "pc": [ 3848 ] }, { "teal": 3813, "source": "contracts/NFDRegistry.algo.ts:933", "pc": [ 3849, 3850 ] }, { "teal": 3814, "source": "contracts/NFDRegistry.algo.ts:933", "pc": [ 3851 ] }, { "teal": 3815, "source": "contracts/NFDRegistry.algo.ts:933", "pc": [ 3852 ] }, { "teal": 3816, "source": "contracts/NFDRegistry.algo.ts:933", "pc": [ 3853, 3854 ] }, { "teal": 3817, "source": "contracts/NFDRegistry.algo.ts:933", "pc": [ 3855, 3856, 3857 ] }, { "teal": 3818, "source": "contracts/NFDRegistry.algo.ts:933", "pc": [ 3858 ] }, { "teal": 3819, "source": "contracts/NFDRegistry.algo.ts:933", "pc": [ 3859 ] }, { "teal": 3820, "source": "contracts/NFDRegistry.algo.ts:914", "pc": [ 3860 ] }, { "teal": 3824, "source": "contracts/NFDRegistry.algo.ts:940", "pc": [ 3861, 3862, 3863 ] }, { "teal": 3829, "source": "contracts/NFDRegistry.algo.ts:941", "pc": [ 3864, 3865 ] }, { "teal": 3830, "source": "contracts/NFDRegistry.algo.ts:941", "pc": [ 3866 ] }, { "teal": 3831, "source": "contracts/NFDRegistry.algo.ts:941", "pc": [ 3867 ] }, { "teal": 3832, "source": "contracts/NFDRegistry.algo.ts:941", "pc": [ 3868, 3869, 3870 ] }, { "teal": 3837, "source": "contracts/NFDRegistry.algo.ts:942", "pc": [ 3871 ] }, { "teal": 3838, "source": "contracts/NFDRegistry.algo.ts:942", "pc": [ 3872 ] }, { "teal": 3843, "source": "contracts/NFDRegistry.algo.ts:944", "pc": [ 3873, 3874 ] }, { "teal": 3844, "source": "contracts/NFDRegistry.algo.ts:944", "pc": [ 3875, 3876 ] }, { "teal": 3845, "source": "contracts/NFDRegistry.algo.ts:944", "pc": [ 3877 ] }, { "teal": 3846, "source": "contracts/NFDRegistry.algo.ts:940", "pc": [ 3878 ] }, { "teal": 3850, "source": "contracts/NFDRegistry.algo.ts:950", "pc": [ 3879, 3880, 3881 ] }, { "teal": 3854, "source": "contracts/NFDRegistry.algo.ts:951", "pc": [ 3882, 3883, 3884 ] }, { "teal": 3855, "source": "contracts/NFDRegistry.algo.ts:951", "pc": [ 3885, 3886, 3887 ] }, { "teal": 3856, "source": "contracts/NFDRegistry.algo.ts:951", "pc": [ 3888 ] }, { "teal": 3857, "source": "contracts/NFDRegistry.algo.ts:951", "pc": [ 3889 ] }, { "teal": 3858, "source": "contracts/NFDRegistry.algo.ts:950", "pc": [ 3890 ] }, { "teal": 3862, "source": "contracts/NFDRegistry.algo.ts:958", "pc": [ 3891, 3892, 3893 ] }, { "teal": 3865, "source": "contracts/NFDRegistry.algo.ts:958", "pc": [ 3894 ] }, { "teal": 3869, "source": "contracts/NFDRegistry.algo.ts:959", "pc": [ 3895, 3896, 3897 ] }, { "teal": 3870, "source": "contracts/NFDRegistry.algo.ts:959", "pc": [ 3898, 3899, 3900 ] }, { "teal": 3871, "source": "contracts/NFDRegistry.algo.ts:959", "pc": [ 3901, 3902 ] }, { "teal": 3876, "source": "contracts/NFDRegistry.algo.ts:960", "pc": [ 3903, 3904 ] }, { "teal": 3877, "source": "contracts/NFDRegistry.algo.ts:960", "pc": [ 3905 ] }, { "teal": 3878, "source": "contracts/NFDRegistry.algo.ts:960", "pc": [ 3906 ] }, { "teal": 3879, "source": "contracts/NFDRegistry.algo.ts:960", "pc": [ 3907 ] }, { "teal": 3880, "source": "contracts/NFDRegistry.algo.ts:960", "pc": [ 3908 ] }, { "teal": 3881, "source": "contracts/NFDRegistry.algo.ts:960", "pc": [ 3909, 3910, 3911 ] }, { "teal": 3886, "source": "contracts/NFDRegistry.algo.ts:961", "pc": [ 3912 ] }, { "teal": 3887, "source": "contracts/NFDRegistry.algo.ts:961", "pc": [ 3913 ] }, { "teal": 3891, "source": "contracts/NFDRegistry.algo.ts:962", "pc": [ 3914 ] }, { "teal": 3896, "source": "contracts/NFDRegistry.algo.ts:965", "pc": [ 3915, 3916 ] }, { "teal": 3897, "source": "contracts/NFDRegistry.algo.ts:965", "pc": [ 3917 ] }, { "teal": 3900, "source": "contracts/NFDRegistry.algo.ts:965", "errorMessage": "box value does not exist: this.boxes(boxName).value", "pc": [ 3918 ] }, { "teal": 3901, "source": "contracts/NFDRegistry.algo.ts:965", "pc": [ 3919 ] }, { "teal": 3902, "source": "contracts/NFDRegistry.algo.ts:958", "pc": [ 3920 ] }, { "teal": 3906, "source": "contracts/NFDRegistry.algo.ts:973", "pc": [ 3921, 3922, 3923 ] }, { "teal": 3909, "source": "contracts/NFDRegistry.algo.ts:973", "pc": [ 3924 ] }, { "teal": 3916, "source": "contracts/NFDRegistry.algo.ts:975", "pc": [ 3925, 3926, 3927 ] }, { "teal": 3917, "source": "contracts/NFDRegistry.algo.ts:975", "pc": [ 3928 ] }, { "teal": 3918, "source": "contracts/NFDRegistry.algo.ts:975", "pc": [ 3929, 3930, 3931 ] }, { "teal": 3919, "source": "contracts/NFDRegistry.algo.ts:975", "pc": [ 3932, 3933, 3934 ] }, { "teal": 3922, "source": "contracts/NFDRegistry.algo.ts:974", "errorMessage": "must be existing v1 name", "pc": [ 3935 ] }, { "teal": 3926, "source": "contracts/NFDRegistry.algo.ts:979", "pc": [ 3936, 3937, 3938 ] }, { "teal": 3927, "source": "contracts/NFDRegistry.algo.ts:979", "pc": [ 3939 ] }, { "teal": 3928, "source": "contracts/NFDRegistry.algo.ts:979", "pc": [ 3940, 3941, 3942, 3943, 3944, 3945, 3946, 3947, 3948 ] }, { "teal": 3929, "source": "contracts/NFDRegistry.algo.ts:979", "pc": [ 3949 ] }, { "teal": 3932, "source": "contracts/NFDRegistry.algo.ts:979", "errorMessage": "global state value does not exist: AppID.fromUint64(btoi(this.txn.applicationArgs![2])).globalState(REGISTRY_KEY_ASAID)", "pc": [ 3950 ] }, { "teal": 3933, "source": "contracts/NFDRegistry.algo.ts:979", "pc": [ 3951, 3952 ] }, { "teal": 3937, "source": "contracts/NFDRegistry.algo.ts:980", "pc": [ 3953, 3954 ] }, { "teal": 3938, "source": "contracts/NFDRegistry.algo.ts:980", "pc": [ 3955 ] }, { "teal": 3939, "source": "contracts/NFDRegistry.algo.ts:980", "pc": [ 3956 ] }, { "teal": 3940, "source": "contracts/NFDRegistry.algo.ts:980", "pc": [ 3957 ] }, { "teal": 3949, "source": "contracts/NFDRegistry.algo.ts:985", "pc": [ 3958 ] }, { "teal": 3950, "source": "contracts/NFDRegistry.algo.ts:984", "pc": [ 3959, 3960, 3961 ] }, { "teal": 3951, "source": "contracts/NFDRegistry.algo.ts:984", "pc": [ 3962 ] }, { "teal": 3952, "source": "contracts/NFDRegistry.algo.ts:983", "pc": [ 3963, 3964 ] }, { "teal": 3953, "source": "contracts/NFDRegistry.algo.ts:983", "pc": [ 3965 ] }, { "teal": 3954, "source": "contracts/NFDRegistry.algo.ts:982", "pc": [ 3966, 3967, 3968 ] }, { "teal": 3955, "source": "contracts/NFDRegistry.algo.ts:981", "pc": [ 3969, 3970, 3971 ] }, { "teal": 3956, "source": "contracts/NFDRegistry.algo.ts:973", "pc": [ 3972 ] }, { "teal": 3960, "source": "contracts/NFDRegistry.algo.ts:994", "pc": [ 3973, 3974, 3975 ] }, { "teal": 3963, "source": "contracts/NFDRegistry.algo.ts:994", "pc": [ 3976 ] }, { "teal": 3964, "source": "contracts/NFDRegistry.algo.ts:994", "pc": [ 3977, 3978 ] }, { "teal": 3969, "source": "contracts/NFDRegistry.algo.ts:995", "pc": [ 3979, 3980 ] }, { "teal": 3970, "source": "contracts/NFDRegistry.algo.ts:995", "pc": [ 3981, 3982, 3983 ] }, { "teal": 3971, "source": "contracts/NFDRegistry.algo.ts:995", "pc": [ 3984 ] }, { "teal": 3972, "source": "contracts/NFDRegistry.algo.ts:995", "pc": [ 3985 ] }, { "teal": 3973, "source": "contracts/NFDRegistry.algo.ts:995", "pc": [ 3986 ] }, { "teal": 3974, "source": "contracts/NFDRegistry.algo.ts:995", "pc": [ 3987, 3988, 3989 ] }, { "teal": 3979, "source": "contracts/NFDRegistry.algo.ts:997", "pc": [ 3990 ] }, { "teal": 3984, "source": "contracts/NFDRegistry.algo.ts:1000", "pc": [ 3991, 3992, 3993, 3994, 3995, 3996, 3997, 3998, 3999, 4000 ] }, { "teal": 3985, "source": "contracts/NFDRegistry.algo.ts:1000", "pc": [ 4001, 4002 ] }, { "teal": 3986, "source": "contracts/NFDRegistry.algo.ts:1000", "pc": [ 4003 ] }, { "teal": 3987, "source": "contracts/NFDRegistry.algo.ts:1000", "pc": [ 4004, 4005, 4006 ] }, { "teal": 3988, "source": "contracts/NFDRegistry.algo.ts:1000", "pc": [ 4007, 4008 ] }, { "teal": 3992, "source": "contracts/NFDRegistry.algo.ts:1001", "pc": [ 4009 ] }, { "teal": 3993, "source": "contracts/NFDRegistry.algo.ts:1001", "pc": [ 4010, 4011 ] }, { "teal": 3997, "source": "contracts/NFDRegistry.algo.ts:1004", "pc": [ 4012 ] }, { "teal": 3998, "source": "contracts/NFDRegistry.algo.ts:1004", "pc": [ 4013, 4014 ] }, { "teal": 4003, "source": "contracts/NFDRegistry.algo.ts:1004", "pc": [ 4015, 4016 ] }, { "teal": 4004, "source": "contracts/NFDRegistry.algo.ts:1004", "pc": [ 4017, 4018 ] }, { "teal": 4005, "source": "contracts/NFDRegistry.algo.ts:1004", "pc": [ 4019 ] }, { "teal": 4006, "source": "contracts/NFDRegistry.algo.ts:1004", "pc": [ 4020, 4021, 4022 ] }, { "teal": 4010, "source": "contracts/NFDRegistry.algo.ts:1005", "pc": [ 4023, 4024 ] }, { "teal": 4011, "source": "contracts/NFDRegistry.algo.ts:1005", "pc": [ 4025, 4026 ] }, { "teal": 4012, "source": "contracts/NFDRegistry.algo.ts:1005", "pc": [ 4027, 4028, 4029 ] }, { "teal": 4013, "source": "contracts/NFDRegistry.algo.ts:1005", "pc": [ 4030 ] }, { "teal": 4014, "source": "contracts/NFDRegistry.algo.ts:1005", "pc": [ 4031, 4032 ] }, { "teal": 4019, "source": "contracts/NFDRegistry.algo.ts:1007", "pc": [ 4033, 4034 ] }, { "teal": 4020, "source": "contracts/NFDRegistry.algo.ts:1007", "pc": [ 4035, 4036, 4037 ] }, { "teal": 4021, "source": "contracts/NFDRegistry.algo.ts:1007", "pc": [ 4038, 4039 ] }, { "teal": 4022, "source": "contracts/NFDRegistry.algo.ts:1007", "pc": [ 4040 ] }, { "teal": 4023, "source": "contracts/NFDRegistry.algo.ts:1007", "pc": [ 4041 ] }, { "teal": 4024, "source": "contracts/NFDRegistry.algo.ts:1007", "pc": [ 4042 ] }, { "teal": 4025, "source": "contracts/NFDRegistry.algo.ts:1007", "pc": [ 4043, 4044, 4045 ] }, { "teal": 4030, "source": "contracts/NFDRegistry.algo.ts:1008", "pc": [ 4046, 4047 ] }, { "teal": 4031, "source": "contracts/NFDRegistry.algo.ts:1008", "pc": [ 4048, 4049 ] }, { "teal": 4032, "source": "contracts/NFDRegistry.algo.ts:1008", "pc": [ 4050, 4051 ] }, { "teal": 4033, "source": "contracts/NFDRegistry.algo.ts:1008", "pc": [ 4052 ] }, { "teal": 4034, "source": "contracts/NFDRegistry.algo.ts:1008", "pc": [ 4053 ] }, { "teal": 4035, "source": "contracts/NFDRegistry.algo.ts:1008", "pc": [ 4054, 4055 ] }, { "teal": 4036, "source": "contracts/NFDRegistry.algo.ts:1007", "pc": [ 4056, 4057, 4058 ] }, { "teal": 4042, "source": "contracts/NFDRegistry.algo.ts:1011", "pc": [ 4059, 4060 ] }, { "teal": 4043, "source": "contracts/NFDRegistry.algo.ts:1011", "pc": [ 4061 ] }, { "teal": 4044, "source": "contracts/NFDRegistry.algo.ts:1011", "pc": [ 4062 ] }, { "teal": 4045, "source": "contracts/NFDRegistry.algo.ts:1011", "pc": [ 4063 ] }, { "teal": 4046, "source": "contracts/NFDRegistry.algo.ts:1011", "pc": [ 4064, 4065, 4066 ] }, { "teal": 4051, "source": "contracts/NFDRegistry.algo.ts:1012", "pc": [ 4067, 4068 ] }, { "teal": 4052, "source": "contracts/NFDRegistry.algo.ts:1012", "pc": [ 4069, 4070, 4071 ] }, { "teal": 4053, "source": "contracts/NFDRegistry.algo.ts:1012", "pc": [ 4072, 4073 ] }, { "teal": 4054, "source": "contracts/NFDRegistry.algo.ts:1012", "pc": [ 4074 ] }, { "teal": 4059, "source": "contracts/NFDRegistry.algo.ts:1014", "pc": [ 4075 ] }, { "teal": 4066, "source": "contracts/NFDRegistry.algo.ts:1004", "pc": [ 4076, 4077 ] }, { "teal": 4067, "source": "contracts/NFDRegistry.algo.ts:1004", "pc": [ 4078 ] }, { "teal": 4068, "source": "contracts/NFDRegistry.algo.ts:1004", "pc": [ 4079 ] }, { "teal": 4069, "source": "contracts/NFDRegistry.algo.ts:1004", "pc": [ 4080, 4081 ] }, { "teal": 4070, "source": "contracts/NFDRegistry.algo.ts:1004", "pc": [ 4082, 4083, 4084 ] }, { "teal": 4073, "source": "contracts/NFDRegistry.algo.ts:994", "pc": [ 4085 ] }, { "teal": 4086, "source": "contracts/NFDRegistry.algo.ts:1029", "pc": [ 4086, 4087, 4088 ] }, { "teal": 4089, "source": "contracts/NFDRegistry.algo.ts:1029", "pc": [ 4089 ] }, { "teal": 4094, "source": "contracts/NFDRegistry.algo.ts:1030", "pc": [ 4090, 4091 ] }, { "teal": 4095, "source": "contracts/NFDRegistry.algo.ts:1030", "pc": [ 4092 ] }, { "teal": 4096, "source": "contracts/NFDRegistry.algo.ts:1030", "pc": [ 4093, 4094, 4095 ] }, { "teal": 4101, "source": "contracts/NFDRegistry.algo.ts:1032", "pc": [ 4096, 4097 ] }, { "teal": 4102, "source": "contracts/NFDRegistry.algo.ts:1032", "pc": [ 4098, 4099, 4100 ] }, { "teal": 4103, "source": "contracts/NFDRegistry.algo.ts:1032", "pc": [ 4101 ] }, { "teal": 4106, "source": "contracts/NFDRegistry.algo.ts:1032", "errorMessage": "NFD already exists with this name", "pc": [ 4102 ] }, { "teal": 4111, "source": "contracts/NFDRegistry.algo.ts:1035", "pc": [ 4103, 4104 ] }, { "teal": 4112, "source": "contracts/NFDRegistry.algo.ts:1035", "pc": [ 4105, 4106, 4107 ] }, { "teal": 4113, "source": "contracts/NFDRegistry.algo.ts:1035", "pc": [ 4108, 4109 ] }, { "teal": 4117, "source": "contracts/NFDRegistry.algo.ts:1036", "pc": [ 4110, 4111 ] }, { "teal": 4118, "source": "contracts/NFDRegistry.algo.ts:1036", "pc": [ 4112 ] }, { "teal": 4122, "source": "contracts/NFDRegistry.algo.ts:1037", "pc": [ 4113, 4114 ] }, { "teal": 4123, "source": "contracts/NFDRegistry.algo.ts:1037", "pc": [ 4115 ] }, { "teal": 4127, "source": "contracts/NFDRegistry.algo.ts:1038", "pc": [ 4116, 4117 ] }, { "teal": 4128, "source": "contracts/NFDRegistry.algo.ts:1038", "pc": [ 4118 ] }, { "teal": 4129, "source": "contracts/NFDRegistry.algo.ts:1038", "pc": [ 4119 ] }, { "teal": 4130, "source": "contracts/NFDRegistry.algo.ts:1038", "pc": [ 4120 ] }, { "teal": 4131, "source": "contracts/NFDRegistry.algo.ts:1038", "pc": [ 4121 ] }, { "teal": 4134, "source": "contracts/NFDRegistry.algo.ts:1038", "errorMessage": "NFD has already been minted!", "pc": [ 4122 ] }, { "teal": 4138, "source": "contracts/NFDRegistry.algo.ts:1039", "pc": [ 4123, 4124 ] }, { "teal": 4139, "source": "contracts/NFDRegistry.algo.ts:1039", "pc": [ 4125, 4126 ] }, { "teal": 4140, "source": "contracts/NFDRegistry.algo.ts:1039", "pc": [ 4127 ] }, { "teal": 4141, "source": "contracts/NFDRegistry.algo.ts:1039", "pc": [ 4128, 4129 ] }, { "teal": 4142, "source": "contracts/NFDRegistry.algo.ts:1039", "pc": [ 4130 ] }, { "teal": 4143, "source": "contracts/NFDRegistry.algo.ts:1039", "pc": [ 4131 ] }, { "teal": 4144, "source": "contracts/NFDRegistry.algo.ts:1039", "pc": [ 4132 ] }, { "teal": 4145, "source": "contracts/NFDRegistry.algo.ts:1029", "pc": [ 4133 ] }, { "teal": 4149, "source": "contracts/NFDRegistry.algo.ts:1045", "pc": [ 4134, 4135, 4136 ] }, { "teal": 4152, "source": "contracts/NFDRegistry.algo.ts:1045", "pc": [ 4137 ] }, { "teal": 4156, "source": "contracts/NFDRegistry.algo.ts:1046", "pc": [ 4138, 4139 ] }, { "teal": 4157, "source": "contracts/NFDRegistry.algo.ts:1046", "pc": [ 4140, 4141 ] }, { "teal": 4158, "source": "contracts/NFDRegistry.algo.ts:1046", "pc": [ 4142 ] }, { "teal": 4159, "source": "contracts/NFDRegistry.algo.ts:1046", "pc": [ 4143, 4144, 4145 ] }, { "teal": 4160, "source": "contracts/NFDRegistry.algo.ts:1046", "pc": [ 4146, 4147 ] }, { "teal": 4165, "source": "contracts/NFDRegistry.algo.ts:1047", "pc": [ 4148, 4149 ] }, { "teal": 4166, "source": "contracts/NFDRegistry.algo.ts:1047", "pc": [ 4150, 4151, 4152 ] }, { "teal": 4167, "source": "contracts/NFDRegistry.algo.ts:1047", "pc": [ 4153 ] }, { "teal": 4168, "source": "contracts/NFDRegistry.algo.ts:1047", "pc": [ 4154 ] }, { "teal": 4169, "source": "contracts/NFDRegistry.algo.ts:1047", "pc": [ 4155, 4156, 4157 ] }, { "teal": 4174, "source": "contracts/NFDRegistry.algo.ts:1048", "pc": [ 4158 ] }, { "teal": 4175, "source": "contracts/NFDRegistry.algo.ts:1048", "pc": [ 4159, 4160, 4161 ] }, { "teal": 4180, "source": "contracts/NFDRegistry.algo.ts:1050", "pc": [ 4162, 4163 ] }, { "teal": 4181, "source": "contracts/NFDRegistry.algo.ts:1050", "pc": [ 4164, 4165, 4166 ] }, { "teal": 4182, "source": "contracts/NFDRegistry.algo.ts:1050", "pc": [ 4167, 4168 ] }, { "teal": 4183, "source": "contracts/NFDRegistry.algo.ts:1050", "pc": [ 4169 ] }, { "teal": 4184, "source": "contracts/NFDRegistry.algo.ts:1050", "pc": [ 4170 ] }, { "teal": 4185, "source": "contracts/NFDRegistry.algo.ts:1050", "pc": [ 4171 ] }, { "teal": 4189, "source": "contracts/NFDRegistry.algo.ts:1045", "pc": [ 4172, 4173 ] }, { "teal": 4190, "source": "contracts/NFDRegistry.algo.ts:1045", "pc": [ 4174 ] }, { "teal": 4194, "source": "contracts/NFDRegistry.algo.ts:1054", "pc": [ 4175, 4176, 4177 ] }, { "teal": 4197, "source": "contracts/NFDRegistry.algo.ts:1054", "pc": [ 4178 ] }, { "teal": 4198, "source": "contracts/NFDRegistry.algo.ts:1054", "pc": [ 4179, 4180 ] }, { "teal": 4202, "source": "contracts/NFDRegistry.algo.ts:1055", "pc": [ 4181, 4182 ] }, { "teal": 4203, "source": "contracts/NFDRegistry.algo.ts:1055", "pc": [ 4183 ] }, { "teal": 4206, "source": "contracts/NFDRegistry.algo.ts:1055", "errorMessage": "box value does not exist: this.boxes(key).value", "pc": [ 4184 ] }, { "teal": 4207, "source": "contracts/NFDRegistry.algo.ts:1055", "pc": [ 4185, 4186 ] }, { "teal": 4211, "source": "contracts/NFDRegistry.algo.ts:1057", "pc": [ 4187, 4188 ] }, { "teal": 4212, "source": "contracts/NFDRegistry.algo.ts:1057", "pc": [ 4189 ] }, { "teal": 4213, "source": "contracts/NFDRegistry.algo.ts:1057", "pc": [ 4190 ] }, { "teal": 4214, "source": "contracts/NFDRegistry.algo.ts:1057", "pc": [ 4191 ] }, { "teal": 4218, "source": "contracts/NFDRegistry.algo.ts:1059", "pc": [ 4192, 4193 ] }, { "teal": 4219, "source": "contracts/NFDRegistry.algo.ts:1059", "pc": [ 4194 ] }, { "teal": 4220, "source": "contracts/NFDRegistry.algo.ts:1059", "pc": [ 4195, 4196 ] }, { "teal": 4221, "source": "contracts/NFDRegistry.algo.ts:1059", "pc": [ 4197 ] }, { "teal": 4224, "source": "contracts/NFDRegistry.algo.ts:1059", "errorMessage": "int (appid) 'set' should already have at least two values", "pc": [ 4198 ] }, { "teal": 4229, "source": "contracts/NFDRegistry.algo.ts:1062", "pc": [ 4199, 4200 ] }, { "teal": 4230, "source": "contracts/NFDRegistry.algo.ts:1062", "pc": [ 4201 ] }, { "teal": 4231, "source": "contracts/NFDRegistry.algo.ts:1062", "pc": [ 4202 ] }, { "teal": 4232, "source": "contracts/NFDRegistry.algo.ts:1062", "pc": [ 4203, 4204 ] }, { "teal": 4233, "source": "contracts/NFDRegistry.algo.ts:1062", "pc": [ 4205 ] }, { "teal": 4234, "source": "contracts/NFDRegistry.algo.ts:1062", "pc": [ 4206, 4207, 4208 ] }, { "teal": 4239, "source": "contracts/NFDRegistry.algo.ts:1062", "pc": [ 4209 ] }, { "teal": 4240, "source": "contracts/NFDRegistry.algo.ts:1062", "pc": [ 4210, 4211, 4212 ] }, { "teal": 4245, "source": "contracts/NFDRegistry.algo.ts:1064", "pc": [ 4213, 4214 ] }, { "teal": 4246, "source": "contracts/NFDRegistry.algo.ts:1064", "pc": [ 4215 ] }, { "teal": 4247, "source": "contracts/NFDRegistry.algo.ts:1064", "pc": [ 4216 ] }, { "teal": 4248, "source": "contracts/NFDRegistry.algo.ts:1064", "pc": [ 4217 ] }, { "teal": 4249, "source": "contracts/NFDRegistry.algo.ts:1064", "pc": [ 4218, 4219 ] }, { "teal": 4253, "source": "contracts/NFDRegistry.algo.ts:1065", "pc": [ 4220 ] }, { "teal": 4254, "source": "contracts/NFDRegistry.algo.ts:1065", "pc": [ 4221, 4222 ] }, { "teal": 4258, "source": "contracts/NFDRegistry.algo.ts:1067", "pc": [ 4223 ] }, { "teal": 4259, "source": "contracts/NFDRegistry.algo.ts:1067", "pc": [ 4224, 4225 ] }, { "teal": 4264, "source": "contracts/NFDRegistry.algo.ts:1067", "pc": [ 4226, 4227 ] }, { "teal": 4265, "source": "contracts/NFDRegistry.algo.ts:1067", "pc": [ 4228, 4229 ] }, { "teal": 4266, "source": "contracts/NFDRegistry.algo.ts:1067", "pc": [ 4230 ] }, { "teal": 4267, "source": "contracts/NFDRegistry.algo.ts:1067", "pc": [ 4231, 4232, 4233 ] }, { "teal": 4272, "source": "contracts/NFDRegistry.algo.ts:1068", "pc": [ 4234, 4235 ] }, { "teal": 4273, "source": "contracts/NFDRegistry.algo.ts:1068", "pc": [ 4236, 4237 ] }, { "teal": 4274, "source": "contracts/NFDRegistry.algo.ts:1068", "pc": [ 4238 ] }, { "teal": 4275, "source": "contracts/NFDRegistry.algo.ts:1068", "pc": [ 4239 ] }, { "teal": 4276, "source": "contracts/NFDRegistry.algo.ts:1068", "pc": [ 4240 ] }, { "teal": 4277, "source": "contracts/NFDRegistry.algo.ts:1068", "pc": [ 4241, 4242 ] }, { "teal": 4278, "source": "contracts/NFDRegistry.algo.ts:1068", "pc": [ 4243 ] }, { "teal": 4279, "source": "contracts/NFDRegistry.algo.ts:1068", "pc": [ 4244, 4245, 4246 ] }, { "teal": 4284, "source": "contracts/NFDRegistry.algo.ts:1069", "pc": [ 4247, 4248 ] }, { "teal": 4285, "source": "contracts/NFDRegistry.algo.ts:1069", "pc": [ 4249, 4250 ] }, { "teal": 4286, "source": "contracts/NFDRegistry.algo.ts:1070", "pc": [ 4251, 4252, 4253 ] }, { "teal": 4293, "source": "contracts/NFDRegistry.algo.ts:1067", "pc": [ 4254, 4255 ] }, { "teal": 4294, "source": "contracts/NFDRegistry.algo.ts:1067", "pc": [ 4256 ] }, { "teal": 4295, "source": "contracts/NFDRegistry.algo.ts:1067", "pc": [ 4257 ] }, { "teal": 4296, "source": "contracts/NFDRegistry.algo.ts:1067", "pc": [ 4258, 4259 ] }, { "teal": 4297, "source": "contracts/NFDRegistry.algo.ts:1067", "pc": [ 4260, 4261, 4262 ] }, { "teal": 4302, "source": "contracts/NFDRegistry.algo.ts:1073", "pc": [ 4263, 4264 ] }, { "teal": 4303, "source": "contracts/NFDRegistry.algo.ts:1073", "pc": [ 4265 ] }, { "teal": 4304, "source": "contracts/NFDRegistry.algo.ts:1073", "pc": [ 4266 ] }, { "teal": 4307, "source": "contracts/NFDRegistry.algo.ts:1073", "errorMessage": "int (app id) must be found in set in order to move it", "pc": [ 4267 ] }, { "teal": 4311, "source": "contracts/NFDRegistry.algo.ts:1075", "pc": [ 4268, 4269 ] }, { "teal": 4312, "source": "contracts/NFDRegistry.algo.ts:1075", "pc": [ 4270 ] }, { "teal": 4313, "source": "contracts/NFDRegistry.algo.ts:1075", "pc": [ 4271 ] }, { "teal": 4314, "source": "contracts/NFDRegistry.algo.ts:1075", "pc": [ 4272, 4273 ] }, { "teal": 4318, "source": "contracts/NFDRegistry.algo.ts:1077", "pc": [ 4274, 4275 ] }, { "teal": 4319, "source": "contracts/NFDRegistry.algo.ts:1077", "pc": [ 4276 ] }, { "teal": 4320, "source": "contracts/NFDRegistry.algo.ts:1077", "pc": [ 4277, 4278 ] }, { "teal": 4321, "source": "contracts/NFDRegistry.algo.ts:1077", "pc": [ 4279 ] }, { "teal": 4322, "source": "contracts/NFDRegistry.algo.ts:1077", "pc": [ 4280 ] }, { "teal": 4323, "source": "contracts/NFDRegistry.algo.ts:1077", "pc": [ 4281, 4282 ] }, { "teal": 4327, "source": "contracts/NFDRegistry.algo.ts:1079", "pc": [ 4283, 4284 ] }, { "teal": 4328, "source": "contracts/NFDRegistry.algo.ts:1079", "pc": [ 4285, 4286 ] }, { "teal": 4329, "source": "contracts/NFDRegistry.algo.ts:1079", "pc": [ 4287, 4288 ] }, { "teal": 4330, "source": "contracts/NFDRegistry.algo.ts:1079", "pc": [ 4289 ] }, { "teal": 4331, "source": "contracts/NFDRegistry.algo.ts:1079", "pc": [ 4290 ] }, { "teal": 4332, "source": "contracts/NFDRegistry.algo.ts:1079", "pc": [ 4291, 4292 ] }, { "teal": 4333, "source": "contracts/NFDRegistry.algo.ts:1079", "pc": [ 4293 ] }, { "teal": 4334, "source": "contracts/NFDRegistry.algo.ts:1079", "pc": [ 4294 ] }, { "teal": 4335, "source": "contracts/NFDRegistry.algo.ts:1079", "pc": [ 4295 ] }, { "teal": 4339, "source": "contracts/NFDRegistry.algo.ts:1080", "pc": [ 4296 ] }, { "teal": 4343, "source": "contracts/NFDRegistry.algo.ts:1054", "pc": [ 4297, 4298 ] }, { "teal": 4346, "source": "contracts/NFDRegistry.algo.ts:1054", "pc": [ 4299, 4300 ] }, { "teal": 4347, "source": "contracts/NFDRegistry.algo.ts:1054", "pc": [ 4301 ] }, { "teal": 4351, "source": "contracts/NFDRegistry.algo.ts:1083", "pc": [ 4302, 4303, 4304 ] }, { "teal": 4354, "source": "contracts/NFDRegistry.algo.ts:1083", "pc": [ 4305 ] }, { "teal": 4355, "source": "contracts/NFDRegistry.algo.ts:1083", "pc": [ 4306, 4307 ] }, { "teal": 4359, "source": "contracts/NFDRegistry.algo.ts:1084", "pc": [ 4308, 4309 ] }, { "teal": 4360, "source": "contracts/NFDRegistry.algo.ts:1084", "pc": [ 4310 ] }, { "teal": 4363, "source": "contracts/NFDRegistry.algo.ts:1084", "errorMessage": "box value does not exist: this.boxes(key).value", "pc": [ 4311 ] }, { "teal": 4364, "source": "contracts/NFDRegistry.algo.ts:1084", "pc": [ 4312, 4313 ] }, { "teal": 4368, "source": "contracts/NFDRegistry.algo.ts:1085", "pc": [ 4314, 4315 ] }, { "teal": 4369, "source": "contracts/NFDRegistry.algo.ts:1085", "pc": [ 4316 ] }, { "teal": 4370, "source": "contracts/NFDRegistry.algo.ts:1085", "pc": [ 4317 ] }, { "teal": 4371, "source": "contracts/NFDRegistry.algo.ts:1085", "pc": [ 4318 ] }, { "teal": 4372, "source": "contracts/NFDRegistry.algo.ts:1085", "pc": [ 4319, 4320 ] }, { "teal": 4376, "source": "contracts/NFDRegistry.algo.ts:1087", "pc": [ 4321 ] }, { "teal": 4377, "source": "contracts/NFDRegistry.algo.ts:1087", "pc": [ 4322, 4323 ] }, { "teal": 4382, "source": "contracts/NFDRegistry.algo.ts:1087", "pc": [ 4324, 4325 ] }, { "teal": 4383, "source": "contracts/NFDRegistry.algo.ts:1087", "pc": [ 4326, 4327 ] }, { "teal": 4384, "source": "contracts/NFDRegistry.algo.ts:1087", "pc": [ 4328 ] }, { "teal": 4385, "source": "contracts/NFDRegistry.algo.ts:1087", "pc": [ 4329, 4330, 4331 ] }, { "teal": 4390, "source": "contracts/NFDRegistry.algo.ts:1088", "pc": [ 4332, 4333 ] }, { "teal": 4391, "source": "contracts/NFDRegistry.algo.ts:1088", "pc": [ 4334, 4335 ] }, { "teal": 4392, "source": "contracts/NFDRegistry.algo.ts:1088", "pc": [ 4336 ] }, { "teal": 4393, "source": "contracts/NFDRegistry.algo.ts:1088", "pc": [ 4337 ] }, { "teal": 4394, "source": "contracts/NFDRegistry.algo.ts:1088", "pc": [ 4338 ] }, { "teal": 4395, "source": "contracts/NFDRegistry.algo.ts:1088", "pc": [ 4339, 4340 ] }, { "teal": 4396, "source": "contracts/NFDRegistry.algo.ts:1088", "pc": [ 4341 ] }, { "teal": 4397, "source": "contracts/NFDRegistry.algo.ts:1088", "pc": [ 4342, 4343, 4344 ] }, { "teal": 4403, "source": "contracts/NFDRegistry.algo.ts:1089", "pc": [ 4345, 4346 ] }, { "teal": 4404, "source": "contracts/NFDRegistry.algo.ts:1089", "pc": [ 4347, 4348 ] }, { "teal": 4405, "source": "contracts/NFDRegistry.algo.ts:1089", "pc": [ 4349 ] }, { "teal": 4406, "source": "contracts/NFDRegistry.algo.ts:1089", "pc": [ 4350 ] }, { "teal": 4407, "source": "contracts/NFDRegistry.algo.ts:1089", "pc": [ 4351 ] }, { "teal": 4408, "source": "contracts/NFDRegistry.algo.ts:1089", "pc": [ 4352, 4353, 4354 ] }, { "teal": 4413, "source": "contracts/NFDRegistry.algo.ts:1092", "pc": [ 4355, 4356 ] }, { "teal": 4414, "source": "contracts/NFDRegistry.algo.ts:1092", "pc": [ 4357 ] }, { "teal": 4419, "source": "contracts/NFDRegistry.algo.ts:1093", "pc": [ 4358, 4359 ] }, { "teal": 4420, "source": "contracts/NFDRegistry.algo.ts:1093", "pc": [ 4360 ] }, { "teal": 4421, "source": "contracts/NFDRegistry.algo.ts:1093", "pc": [ 4361 ] }, { "teal": 4422, "source": "contracts/NFDRegistry.algo.ts:1093", "pc": [ 4362, 4363, 4364 ] }, { "teal": 4427, "source": "contracts/NFDRegistry.algo.ts:1095", "pc": [ 4365, 4366 ] }, { "teal": 4428, "source": "contracts/NFDRegistry.algo.ts:1095", "pc": [ 4367, 4368 ] }, { "teal": 4429, "source": "contracts/NFDRegistry.algo.ts:1095", "pc": [ 4369 ] }, { "teal": 4430, "source": "contracts/NFDRegistry.algo.ts:1095", "pc": [ 4370, 4371 ] }, { "teal": 4431, "source": "contracts/NFDRegistry.algo.ts:1095", "pc": [ 4372 ] }, { "teal": 4432, "source": "contracts/NFDRegistry.algo.ts:1095", "pc": [ 4373 ] }, { "teal": 4433, "source": "contracts/NFDRegistry.algo.ts:1095", "pc": [ 4374 ] }, { "teal": 4434, "source": "contracts/NFDRegistry.algo.ts:1095", "pc": [ 4375 ] }, { "teal": 4439, "source": "contracts/NFDRegistry.algo.ts:1097", "pc": [ 4376 ] }, { "teal": 4440, "source": "contracts/NFDRegistry.algo.ts:1097", "pc": [ 4377, 4378, 4379 ] }, { "teal": 4445, "source": "contracts/NFDRegistry.algo.ts:1100", "pc": [ 4380, 4381 ] }, { "teal": 4446, "source": "contracts/NFDRegistry.algo.ts:1100", "pc": [ 4382, 4383 ] }, { "teal": 4447, "source": "contracts/NFDRegistry.algo.ts:1100", "pc": [ 4384 ] }, { "teal": 4448, "source": "contracts/NFDRegistry.algo.ts:1100", "pc": [ 4385 ] }, { "teal": 4449, "source": "contracts/NFDRegistry.algo.ts:1100", "pc": [ 4386, 4387 ] }, { "teal": 4450, "source": "contracts/NFDRegistry.algo.ts:1100", "pc": [ 4388 ] }, { "teal": 4454, "source": "contracts/NFDRegistry.algo.ts:1101", "pc": [ 4389 ] }, { "teal": 4455, "source": "contracts/NFDRegistry.algo.ts:1101", "pc": [ 4390, 4391, 4392 ] }, { "teal": 4462, "source": "contracts/NFDRegistry.algo.ts:1087", "pc": [ 4393, 4394 ] }, { "teal": 4463, "source": "contracts/NFDRegistry.algo.ts:1087", "pc": [ 4395 ] }, { "teal": 4464, "source": "contracts/NFDRegistry.algo.ts:1087", "pc": [ 4396 ] }, { "teal": 4465, "source": "contracts/NFDRegistry.algo.ts:1087", "pc": [ 4397, 4398 ] }, { "teal": 4466, "source": "contracts/NFDRegistry.algo.ts:1087", "pc": [ 4399, 4400, 4401 ] }, { "teal": 4471, "source": "contracts/NFDRegistry.algo.ts:1105", "pc": [ 4402 ] }, { "teal": 4475, "source": "contracts/NFDRegistry.algo.ts:1083", "pc": [ 4403, 4404 ] }, { "teal": 4478, "source": "contracts/NFDRegistry.algo.ts:1083", "pc": [ 4405, 4406 ] }, { "teal": 4479, "source": "contracts/NFDRegistry.algo.ts:1083", "pc": [ 4407 ] }, { "teal": 4483, "source": "contracts/NFDRegistry.algo.ts:1108", "pc": [ 4408, 4409, 4410 ] }, { "teal": 4487, "source": "contracts/NFDRegistry.algo.ts:1109", "pc": [ 4411, 4412 ] }, { "teal": 4488, "source": "contracts/NFDRegistry.algo.ts:1109", "pc": [ 4413 ] }, { "teal": 4489, "source": "contracts/NFDRegistry.algo.ts:1109", "pc": [ 4414, 4415 ] }, { "teal": 4490, "source": "contracts/NFDRegistry.algo.ts:1109", "pc": [ 4416 ] }, { "teal": 4491, "source": "contracts/NFDRegistry.algo.ts:1109", "pc": [ 4417, 4418 ] }, { "teal": 4492, "source": "contracts/NFDRegistry.algo.ts:1109", "pc": [ 4419 ] }, { "teal": 4493, "source": "contracts/NFDRegistry.algo.ts:1109", "pc": [ 4420 ] }, { "teal": 4494, "source": "contracts/NFDRegistry.algo.ts:1109", "pc": [ 4421, 4422 ] }, { "teal": 4495, "source": "contracts/NFDRegistry.algo.ts:1109", "pc": [ 4423, 4424 ] }, { "teal": 4496, "source": "contracts/NFDRegistry.algo.ts:1109", "pc": [ 4425 ] }, { "teal": 4497, "source": "contracts/NFDRegistry.algo.ts:1109", "pc": [ 4426 ] }, { "teal": 4498, "source": "contracts/NFDRegistry.algo.ts:1109", "pc": [ 4427, 4428 ] }, { "teal": 4499, "source": "contracts/NFDRegistry.algo.ts:1109", "pc": [ 4429 ] }, { "teal": 4500, "source": "contracts/NFDRegistry.algo.ts:1109", "pc": [ 4430 ] }, { "teal": 4501, "source": "contracts/NFDRegistry.algo.ts:1109", "pc": [ 4431 ] }, { "teal": 4502, "source": "contracts/NFDRegistry.algo.ts:1108", "pc": [ 4432 ] }, { "teal": 4506, "source": "contracts/NFDRegistry.algo.ts:1112", "pc": [ 4433, 4434, 4435 ] }, { "teal": 4509, "source": "contracts/NFDRegistry.algo.ts:1112", "pc": [ 4436 ] }, { "teal": 4510, "source": "contracts/NFDRegistry.algo.ts:1112", "pc": [ 4437, 4438 ] }, { "teal": 4514, "source": "contracts/NFDRegistry.algo.ts:1113", "pc": [ 4439, 4440 ] }, { "teal": 4515, "source": "contracts/NFDRegistry.algo.ts:1113", "pc": [ 4441, 4442 ] }, { "teal": 4516, "source": "contracts/NFDRegistry.algo.ts:1113", "pc": [ 4443 ] }, { "teal": 4517, "source": "contracts/NFDRegistry.algo.ts:1113", "pc": [ 4444, 4445 ] }, { "teal": 4521, "source": "contracts/NFDRegistry.algo.ts:1114", "pc": [ 4446, 4447 ] }, { "teal": 4522, "source": "contracts/NFDRegistry.algo.ts:1114", "pc": [ 4448 ] }, { "teal": 4523, "source": "contracts/NFDRegistry.algo.ts:1114", "pc": [ 4449 ] }, { "teal": 4524, "source": "contracts/NFDRegistry.algo.ts:1114", "pc": [ 4450 ] }, { "teal": 4525, "source": "contracts/NFDRegistry.algo.ts:1114", "pc": [ 4451, 4452 ] }, { "teal": 4529, "source": "contracts/NFDRegistry.algo.ts:1116", "pc": [ 4453 ] }, { "teal": 4530, "source": "contracts/NFDRegistry.algo.ts:1116", "pc": [ 4454, 4455 ] }, { "teal": 4535, "source": "contracts/NFDRegistry.algo.ts:1116", "pc": [ 4456, 4457 ] }, { "teal": 4536, "source": "contracts/NFDRegistry.algo.ts:1116", "pc": [ 4458, 4459 ] }, { "teal": 4537, "source": "contracts/NFDRegistry.algo.ts:1116", "pc": [ 4460 ] }, { "teal": 4538, "source": "contracts/NFDRegistry.algo.ts:1116", "pc": [ 4461, 4462, 4463 ] }, { "teal": 4543, "source": "contracts/NFDRegistry.algo.ts:1117", "pc": [ 4464, 4465 ] }, { "teal": 4544, "source": "contracts/NFDRegistry.algo.ts:1117", "pc": [ 4466, 4467 ] }, { "teal": 4545, "source": "contracts/NFDRegistry.algo.ts:1117", "pc": [ 4468 ] }, { "teal": 4546, "source": "contracts/NFDRegistry.algo.ts:1117", "pc": [ 4469 ] }, { "teal": 4547, "source": "contracts/NFDRegistry.algo.ts:1117", "pc": [ 4470 ] }, { "teal": 4548, "source": "contracts/NFDRegistry.algo.ts:1117", "pc": [ 4471, 4472 ] }, { "teal": 4549, "source": "contracts/NFDRegistry.algo.ts:1117", "pc": [ 4473 ] }, { "teal": 4550, "source": "contracts/NFDRegistry.algo.ts:1117", "pc": [ 4474, 4475, 4476 ] }, { "teal": 4555, "source": "contracts/NFDRegistry.algo.ts:1118", "pc": [ 4477, 4478 ] }, { "teal": 4556, "source": "contracts/NFDRegistry.algo.ts:1118", "pc": [ 4479, 4480 ] }, { "teal": 4557, "source": "contracts/NFDRegistry.algo.ts:1118", "pc": [ 4481, 4482 ] }, { "teal": 4558, "source": "contracts/NFDRegistry.algo.ts:1118", "pc": [ 4483 ] }, { "teal": 4559, "source": "contracts/NFDRegistry.algo.ts:1118", "pc": [ 4484 ] }, { "teal": 4560, "source": "contracts/NFDRegistry.algo.ts:1118", "pc": [ 4485, 4486 ] }, { "teal": 4561, "source": "contracts/NFDRegistry.algo.ts:1118", "pc": [ 4487 ] }, { "teal": 4562, "source": "contracts/NFDRegistry.algo.ts:1118", "pc": [ 4488, 4489, 4490 ] }, { "teal": 4563, "source": "contracts/NFDRegistry.algo.ts:1118", "pc": [ 4491 ] }, { "teal": 4567, "source": "contracts/NFDRegistry.algo.ts:1119", "pc": [ 4492 ] }, { "teal": 4568, "source": "contracts/NFDRegistry.algo.ts:1119", "pc": [ 4493, 4494, 4495 ] }, { "teal": 4575, "source": "contracts/NFDRegistry.algo.ts:1116", "pc": [ 4496, 4497 ] }, { "teal": 4576, "source": "contracts/NFDRegistry.algo.ts:1116", "pc": [ 4498 ] }, { "teal": 4577, "source": "contracts/NFDRegistry.algo.ts:1116", "pc": [ 4499 ] }, { "teal": 4578, "source": "contracts/NFDRegistry.algo.ts:1116", "pc": [ 4500, 4501 ] }, { "teal": 4579, "source": "contracts/NFDRegistry.algo.ts:1116", "pc": [ 4502, 4503, 4504 ] }, { "teal": 4584, "source": "contracts/NFDRegistry.algo.ts:1123", "pc": [ 4505 ] }, { "teal": 4588, "source": "contracts/NFDRegistry.algo.ts:1112", "pc": [ 4506, 4507 ] }, { "teal": 4591, "source": "contracts/NFDRegistry.algo.ts:1112", "pc": [ 4508, 4509 ] }, { "teal": 4592, "source": "contracts/NFDRegistry.algo.ts:1112", "pc": [ 4510 ] }, { "teal": 4596, "source": "contracts/NFDRegistry.algo.ts:1126", "pc": [ 4511, 4512, 4513 ] }, { "teal": 4599, "source": "contracts/NFDRegistry.algo.ts:1126", "pc": [ 4514 ] }, { "teal": 4603, "source": "contracts/NFDRegistry.algo.ts:1127", "pc": [ 4515 ] }, { "teal": 4604, "source": "contracts/NFDRegistry.algo.ts:1127", "pc": [ 4516, 4517 ] }, { "teal": 4609, "source": "contracts/NFDRegistry.algo.ts:1127", "pc": [ 4518, 4519 ] }, { "teal": 4610, "source": "contracts/NFDRegistry.algo.ts:1127", "pc": [ 4520, 4521 ] }, { "teal": 4611, "source": "contracts/NFDRegistry.algo.ts:1127", "pc": [ 4522 ] }, { "teal": 4612, "source": "contracts/NFDRegistry.algo.ts:1127", "pc": [ 4523, 4524, 4525 ] }, { "teal": 4617, "source": "contracts/NFDRegistry.algo.ts:1128", "pc": [ 4526, 4527 ] }, { "teal": 4618, "source": "contracts/NFDRegistry.algo.ts:1128", "pc": [ 4528, 4529 ] }, { "teal": 4619, "source": "contracts/NFDRegistry.algo.ts:1128", "pc": [ 4530, 4531 ] }, { "teal": 4620, "source": "contracts/NFDRegistry.algo.ts:1128", "pc": [ 4532, 4533, 4534 ] }, { "teal": 4621, "source": "contracts/NFDRegistry.algo.ts:1128", "pc": [ 4535 ] }, { "teal": 4622, "source": "contracts/NFDRegistry.algo.ts:1128", "pc": [ 4536, 4537 ] }, { "teal": 4623, "source": "contracts/NFDRegistry.algo.ts:1128", "pc": [ 4538, 4539, 4540 ] }, { "teal": 4624, "source": "contracts/NFDRegistry.algo.ts:1128", "pc": [ 4541, 4542, 4543 ] }, { "teal": 4629, "source": "contracts/NFDRegistry.algo.ts:1128", "pc": [ 4544 ] }, { "teal": 4630, "source": "contracts/NFDRegistry.algo.ts:1128", "pc": [ 4545, 4546, 4547 ] }, { "teal": 4637, "source": "contracts/NFDRegistry.algo.ts:1127", "pc": [ 4548, 4549 ] }, { "teal": 4638, "source": "contracts/NFDRegistry.algo.ts:1127", "pc": [ 4550 ] }, { "teal": 4639, "source": "contracts/NFDRegistry.algo.ts:1127", "pc": [ 4551 ] }, { "teal": 4640, "source": "contracts/NFDRegistry.algo.ts:1127", "pc": [ 4552, 4553 ] }, { "teal": 4641, "source": "contracts/NFDRegistry.algo.ts:1127", "pc": [ 4554, 4555, 4556 ] }, { "teal": 4646, "source": "contracts/NFDRegistry.algo.ts:1131", "pc": [ 4557 ] }, { "teal": 4650, "source": "contracts/NFDRegistry.algo.ts:1126", "pc": [ 4558, 4559 ] }, { "teal": 4651, "source": "contracts/NFDRegistry.algo.ts:1126", "pc": [ 4560 ] }, { "teal": 4655, "source": "contracts/NFDRegistry.algo.ts:1139", "pc": [ 4561, 4562, 4563 ] }, { "teal": 4658, "source": "contracts/NFDRegistry.algo.ts:1139", "pc": [ 4564 ] }, { "teal": 4659, "source": "contracts/NFDRegistry.algo.ts:1139", "pc": [ 4565 ] }, { "teal": 4663, "source": "contracts/NFDRegistry.algo.ts:1140", "pc": [ 4566, 4567 ] }, { "teal": 4664, "source": "contracts/NFDRegistry.algo.ts:1140", "pc": [ 4568, 4569 ] }, { "teal": 4665, "source": "contracts/NFDRegistry.algo.ts:1140", "pc": [ 4570 ] }, { "teal": 4666, "source": "contracts/NFDRegistry.algo.ts:1140", "pc": [ 4571, 4572 ] }, { "teal": 4670, "source": "contracts/NFDRegistry.algo.ts:1141", "pc": [ 4573, 4574 ] }, { "teal": 4671, "source": "contracts/NFDRegistry.algo.ts:1141", "pc": [ 4575, 4576 ] }, { "teal": 4672, "source": "contracts/NFDRegistry.algo.ts:1141", "pc": [ 4577 ] }, { "teal": 4673, "source": "contracts/NFDRegistry.algo.ts:1141", "pc": [ 4578, 4579 ] }, { "teal": 4678, "source": "contracts/NFDRegistry.algo.ts:1142", "pc": [ 4580, 4581 ] }, { "teal": 4679, "source": "contracts/NFDRegistry.algo.ts:1142", "pc": [ 4582, 4583 ] }, { "teal": 4680, "source": "contracts/NFDRegistry.algo.ts:1142", "pc": [ 4584 ] }, { "teal": 4681, "source": "contracts/NFDRegistry.algo.ts:1142", "pc": [ 4585, 4586, 4587 ] }, { "teal": 4690, "source": "contracts/NFDRegistry.algo.ts:1143", "pc": [ 4588 ] }, { "teal": 4691, "source": "contracts/NFDRegistry.algo.ts:1143", "pc": [ 4589 ] }, { "teal": 4692, "source": "contracts/NFDRegistry.algo.ts:1143", "pc": [ 4590, 4591 ] }, { "teal": 4696, "source": "contracts/NFDRegistry.algo.ts:1144", "pc": [ 4592, 4593 ] }, { "teal": 4697, "source": "contracts/NFDRegistry.algo.ts:1144", "pc": [ 4594, 4595 ] }, { "teal": 4698, "source": "contracts/NFDRegistry.algo.ts:1144", "pc": [ 4596 ] }, { "teal": 4699, "source": "contracts/NFDRegistry.algo.ts:1144", "pc": [ 4597, 4598 ] }, { "teal": 4703, "source": "contracts/NFDRegistry.algo.ts:1145", "pc": [ 4599, 4600, 4601 ] }, { "teal": 4704, "source": "contracts/NFDRegistry.algo.ts:1145", "pc": [ 4602, 4603 ] }, { "teal": 4708, "source": "contracts/NFDRegistry.algo.ts:1146", "pc": [ 4604, 4605, 4606, 4607, 4608, 4609, 4610, 4611, 4612, 4613, 4614 ] }, { "teal": 4709, "source": "contracts/NFDRegistry.algo.ts:1146", "pc": [ 4615, 4616 ] }, { "teal": 4712, "source": "contracts/NFDRegistry.algo.ts:1143", "pc": [ 4617 ] }, { "teal": 4713, "source": "contracts/NFDRegistry.algo.ts:1143", "pc": [ 4618, 4619 ] }, { "teal": 4716, "source": "contracts/NFDRegistry.algo.ts:1143", "pc": [ 4620 ] }, { "teal": 4719, "source": "contracts/NFDRegistry.algo.ts:1139", "pc": [ 4621 ] }, { "teal": 4723, "source": "contracts/NFDRegistry.algo.ts:1151", "pc": [ 4622, 4623, 4624 ] }, { "teal": 4726, "source": "contracts/NFDRegistry.algo.ts:1151", "pc": [ 4625 ] }, { "teal": 4727, "source": "contracts/NFDRegistry.algo.ts:1151", "pc": [ 4626, 4627 ] }, { "teal": 4731, "source": "contracts/NFDRegistry.algo.ts:1164", "pc": [ 4628, 4629 ] }, { "teal": 4732, "source": "contracts/NFDRegistry.algo.ts:1164", "pc": [ 4630 ] }, { "teal": 4733, "source": "contracts/NFDRegistry.algo.ts:1164", "pc": [ 4631, 4632 ] }, { "teal": 4737, "source": "contracts/NFDRegistry.algo.ts:1166", "pc": [ 4633, 4634 ] }, { "teal": 4738, "source": "contracts/NFDRegistry.algo.ts:1166", "pc": [ 4635 ] }, { "teal": 4739, "source": "contracts/NFDRegistry.algo.ts:1166", "pc": [ 4636 ] }, { "teal": 4742, "source": "contracts/NFDRegistry.algo.ts:1166", "errorMessage": "if not at least 6 chars can't be valid - minimum length to have .algo", "pc": [ 4637 ] }, { "teal": 4746, "source": "contracts/NFDRegistry.algo.ts:1167", "pc": [ 4638, 4639 ] }, { "teal": 4747, "source": "contracts/NFDRegistry.algo.ts:1167", "pc": [ 4640, 4641 ] }, { "teal": 4748, "source": "contracts/NFDRegistry.algo.ts:1167", "pc": [ 4642, 4643 ] }, { "teal": 4749, "source": "contracts/NFDRegistry.algo.ts:1167", "pc": [ 4644 ] }, { "teal": 4750, "source": "contracts/NFDRegistry.algo.ts:1167", "pc": [ 4645, 4646 ] }, { "teal": 4751, "source": "contracts/NFDRegistry.algo.ts:1167", "pc": [ 4647 ] }, { "teal": 4752, "source": "contracts/NFDRegistry.algo.ts:1167", "pc": [ 4648, 4649, 4650, 4651, 4652, 4653, 4654 ] }, { "teal": 4753, "source": "contracts/NFDRegistry.algo.ts:1167", "pc": [ 4655 ] }, { "teal": 4756, "source": "contracts/NFDRegistry.algo.ts:1167", "errorMessage": "string must end w/ .algo", "pc": [ 4656 ] }, { "teal": 4760, "source": "contracts/NFDRegistry.algo.ts:1169", "pc": [ 4657, 4658 ] }, { "teal": 4761, "source": "contracts/NFDRegistry.algo.ts:1169", "pc": [ 4659 ] }, { "teal": 4762, "source": "contracts/NFDRegistry.algo.ts:1169", "pc": [ 4660 ] }, { "teal": 4763, "source": "contracts/NFDRegistry.algo.ts:1169", "pc": [ 4661 ] }, { "teal": 4764, "source": "contracts/NFDRegistry.algo.ts:1169", "pc": [ 4662, 4663 ] }, { "teal": 4765, "source": "contracts/NFDRegistry.algo.ts:1169", "pc": [ 4664 ] }, { "teal": 4766, "source": "contracts/NFDRegistry.algo.ts:1169", "pc": [ 4665, 4666 ] }, { "teal": 4767, "source": "contracts/NFDRegistry.algo.ts:1169", "pc": [ 4667 ] }, { "teal": 4768, "source": "contracts/NFDRegistry.algo.ts:1169", "pc": [ 4668, 4669 ] }, { "teal": 4772, "source": "contracts/NFDRegistry.algo.ts:1170", "pc": [ 4670 ] }, { "teal": 4773, "source": "contracts/NFDRegistry.algo.ts:1170", "pc": [ 4671, 4672 ] }, { "teal": 4777, "source": "contracts/NFDRegistry.algo.ts:1171", "pc": [ 4673 ] }, { "teal": 4778, "source": "contracts/NFDRegistry.algo.ts:1171", "pc": [ 4674, 4675 ] }, { "teal": 4782, "source": "contracts/NFDRegistry.algo.ts:1172", "pc": [ 4676 ] }, { "teal": 4783, "source": "contracts/NFDRegistry.algo.ts:1172", "pc": [ 4677, 4678 ] }, { "teal": 4787, "source": "contracts/NFDRegistry.algo.ts:1174", "pc": [ 4679 ] }, { "teal": 4788, "source": "contracts/NFDRegistry.algo.ts:1174", "pc": [ 4680, 4681 ] }, { "teal": 4793, "source": "contracts/NFDRegistry.algo.ts:1174", "pc": [ 4682, 4683 ] }, { "teal": 4794, "source": "contracts/NFDRegistry.algo.ts:1174", "pc": [ 4684, 4685 ] }, { "teal": 4795, "source": "contracts/NFDRegistry.algo.ts:1174", "pc": [ 4686, 4687 ] }, { "teal": 4796, "source": "contracts/NFDRegistry.algo.ts:1174", "pc": [ 4688 ] }, { "teal": 4797, "source": "contracts/NFDRegistry.algo.ts:1174", "pc": [ 4689 ] }, { "teal": 4798, "source": "contracts/NFDRegistry.algo.ts:1174", "pc": [ 4690, 4691, 4692 ] }, { "teal": 4802, "source": "contracts/NFDRegistry.algo.ts:1175", "pc": [ 4693, 4694 ] }, { "teal": 4803, "source": "contracts/NFDRegistry.algo.ts:1175", "pc": [ 4695, 4696 ] }, { "teal": 4804, "source": "contracts/NFDRegistry.algo.ts:1175", "pc": [ 4697 ] }, { "teal": 4805, "source": "contracts/NFDRegistry.algo.ts:1175", "pc": [ 4698, 4699 ] }, { "teal": 4810, "source": "contracts/NFDRegistry.algo.ts:1177", "pc": [ 4700, 4701 ] }, { "teal": 4811, "source": "contracts/NFDRegistry.algo.ts:1177", "pc": [ 4702, 4703 ] }, { "teal": 4812, "source": "contracts/NFDRegistry.algo.ts:1177", "pc": [ 4704 ] }, { "teal": 4813, "source": "contracts/NFDRegistry.algo.ts:1177", "pc": [ 4705, 4706, 4707 ] }, { "teal": 4818, "source": "contracts/NFDRegistry.algo.ts:1178", "pc": [ 4708, 4709 ] }, { "teal": 4819, "source": "contracts/NFDRegistry.algo.ts:1178", "pc": [ 4710 ] }, { "teal": 4820, "source": "contracts/NFDRegistry.algo.ts:1178", "pc": [ 4711 ] }, { "teal": 4821, "source": "contracts/NFDRegistry.algo.ts:1178", "pc": [ 4712, 4713 ] }, { "teal": 4826, "source": "contracts/NFDRegistry.algo.ts:1180", "pc": [ 4714, 4715 ] }, { "teal": 4827, "source": "contracts/NFDRegistry.algo.ts:1180", "pc": [ 4716 ] }, { "teal": 4828, "source": "contracts/NFDRegistry.algo.ts:1180", "pc": [ 4717 ] }, { "teal": 4829, "source": "contracts/NFDRegistry.algo.ts:1180", "pc": [ 4718, 4719, 4720 ] }, { "teal": 4834, "source": "contracts/NFDRegistry.algo.ts:1181", "pc": [ 4721, 4722 ] }, { "teal": 4835, "source": "contracts/NFDRegistry.algo.ts:1181", "pc": [ 4723, 4724 ] }, { "teal": 4839, "source": "contracts/NFDRegistry.algo.ts:1182", "pc": [ 4725, 4726 ] }, { "teal": 4840, "source": "contracts/NFDRegistry.algo.ts:1182", "pc": [ 4727 ] }, { "teal": 4841, "source": "contracts/NFDRegistry.algo.ts:1182", "pc": [ 4728 ] }, { "teal": 4842, "source": "contracts/NFDRegistry.algo.ts:1182", "pc": [ 4729 ] }, { "teal": 4843, "source": "contracts/NFDRegistry.algo.ts:1182", "pc": [ 4730, 4731, 4732 ] }, { "teal": 4844, "source": "contracts/NFDRegistry.algo.ts:1182", "pc": [ 4733, 4734 ] }, { "teal": 4845, "source": "contracts/NFDRegistry.algo.ts:1182", "pc": [ 4735, 4736 ] }, { "teal": 4846, "source": "contracts/NFDRegistry.algo.ts:1182", "pc": [ 4737 ] }, { "teal": 4847, "source": "contracts/NFDRegistry.algo.ts:1182", "pc": [ 4738 ] }, { "teal": 4851, "source": "contracts/NFDRegistry.algo.ts:1182", "errorMessage": "must be 1-27 chars in nfd root or segment name", "pc": [ 4739 ] }, { "teal": 4855, "source": "contracts/NFDRegistry.algo.ts:1183", "pc": [ 4740 ] }, { "teal": 4856, "source": "contracts/NFDRegistry.algo.ts:1183", "pc": [ 4741, 4742 ] }, { "teal": 4857, "source": "contracts/NFDRegistry.algo.ts:1180", "pc": [ 4743, 4744, 4745 ] }, { "teal": 4862, "source": "contracts/NFDRegistry.algo.ts:1184", "pc": [ 4746, 4747 ] }, { "teal": 4863, "source": "contracts/NFDRegistry.algo.ts:1184", "pc": [ 4748, 4749 ] }, { "teal": 4864, "source": "contracts/NFDRegistry.algo.ts:1184", "pc": [ 4750 ] }, { "teal": 4865, "source": "contracts/NFDRegistry.algo.ts:1184", "pc": [ 4751, 4752, 4753 ] }, { "teal": 4873, "source": "contracts/NFDRegistry.algo.ts:1186", "pc": [ 4754, 4755 ] }, { "teal": 4874, "source": "contracts/NFDRegistry.algo.ts:1186", "pc": [ 4756 ] }, { "teal": 4875, "source": "contracts/NFDRegistry.algo.ts:1186", "pc": [ 4757 ] }, { "teal": 4876, "source": "contracts/NFDRegistry.algo.ts:1186", "pc": [ 4758 ] }, { "teal": 4877, "source": "contracts/NFDRegistry.algo.ts:1186", "pc": [ 4759, 4760, 4761 ] }, { "teal": 4878, "source": "contracts/NFDRegistry.algo.ts:1186", "pc": [ 4762, 4763 ] }, { "teal": 4879, "source": "contracts/NFDRegistry.algo.ts:1186", "pc": [ 4764, 4765 ] }, { "teal": 4880, "source": "contracts/NFDRegistry.algo.ts:1186", "pc": [ 4766 ] }, { "teal": 4881, "source": "contracts/NFDRegistry.algo.ts:1186", "pc": [ 4767 ] }, { "teal": 4884, "source": "contracts/NFDRegistry.algo.ts:1186", "pc": [ 4768 ] }, { "teal": 4885, "source": "contracts/NFDRegistry.algo.ts:1186", "pc": [ 4769, 4770, 4771 ] }, { "teal": 4886, "source": "contracts/NFDRegistry.algo.ts:1186", "pc": [ 4772, 4773 ] }, { "teal": 4887, "source": "contracts/NFDRegistry.algo.ts:1186", "pc": [ 4774, 4775 ] }, { "teal": 4888, "source": "contracts/NFDRegistry.algo.ts:1186", "pc": [ 4776, 4777 ] }, { "teal": 4889, "source": "contracts/NFDRegistry.algo.ts:1186", "pc": [ 4778 ] }, { "teal": 4890, "source": "contracts/NFDRegistry.algo.ts:1186", "pc": [ 4779 ] }, { "teal": 4891, "source": "contracts/NFDRegistry.algo.ts:1186", "pc": [ 4780 ] }, { "teal": 4895, "source": "contracts/NFDRegistry.algo.ts:1185", "errorMessage": "must be 1-27 chars and at end of string", "pc": [ 4781 ] }, { "teal": 4896, "source": "contracts/NFDRegistry.algo.ts:1184", "pc": [ 4782, 4783, 4784 ] }, { "teal": 4900, "source": "contracts/NFDRegistry.algo.ts:1190", "errorMessage": "too many '.' chars in name", "pc": [ 4785 ] }, { "teal": 4903, "source": "contracts/NFDRegistry.algo.ts:1177", "pc": [ 4786, 4787, 4788 ] }, { "teal": 4909, "source": "contracts/NFDRegistry.algo.ts:1193", "pc": [ 4789, 4790 ] }, { "teal": 4910, "source": "contracts/NFDRegistry.algo.ts:1193", "pc": [ 4791, 4792 ] }, { "teal": 4911, "source": "contracts/NFDRegistry.algo.ts:1193", "pc": [ 4793 ] }, { "teal": 4912, "source": "contracts/NFDRegistry.algo.ts:1193", "pc": [ 4794 ] }, { "teal": 4913, "source": "contracts/NFDRegistry.algo.ts:1193", "pc": [ 4795, 4796, 4797 ] }, { "teal": 4914, "source": "contracts/NFDRegistry.algo.ts:1193", "pc": [ 4798, 4799 ] }, { "teal": 4915, "source": "contracts/NFDRegistry.algo.ts:1193", "pc": [ 4800, 4801 ] }, { "teal": 4916, "source": "contracts/NFDRegistry.algo.ts:1193", "pc": [ 4802 ] }, { "teal": 4917, "source": "contracts/NFDRegistry.algo.ts:1193", "pc": [ 4803 ] }, { "teal": 4920, "source": "contracts/NFDRegistry.algo.ts:1193", "pc": [ 4804 ] }, { "teal": 4921, "source": "contracts/NFDRegistry.algo.ts:1193", "pc": [ 4805, 4806, 4807 ] }, { "teal": 4922, "source": "contracts/NFDRegistry.algo.ts:1194", "pc": [ 4808, 4809 ] }, { "teal": 4923, "source": "contracts/NFDRegistry.algo.ts:1194", "pc": [ 4810, 4811 ] }, { "teal": 4924, "source": "contracts/NFDRegistry.algo.ts:1194", "pc": [ 4812 ] }, { "teal": 4925, "source": "contracts/NFDRegistry.algo.ts:1194", "pc": [ 4813 ] }, { "teal": 4926, "source": "contracts/NFDRegistry.algo.ts:1194", "pc": [ 4814, 4815, 4816 ] }, { "teal": 4927, "source": "contracts/NFDRegistry.algo.ts:1194", "pc": [ 4817, 4818 ] }, { "teal": 4928, "source": "contracts/NFDRegistry.algo.ts:1194", "pc": [ 4819, 4820 ] }, { "teal": 4929, "source": "contracts/NFDRegistry.algo.ts:1194", "pc": [ 4821 ] }, { "teal": 4930, "source": "contracts/NFDRegistry.algo.ts:1194", "pc": [ 4822 ] }, { "teal": 4933, "source": "contracts/NFDRegistry.algo.ts:1193", "pc": [ 4823 ] }, { "teal": 4936, "source": "contracts/NFDRegistry.algo.ts:1192", "pc": [ 4824, 4825, 4826 ] }, { "teal": 4941, "source": "contracts/NFDRegistry.algo.ts:1196", "pc": [ 4827, 4828 ] }, { "teal": 4942, "source": "contracts/NFDRegistry.algo.ts:1196", "pc": [ 4829 ] }, { "teal": 4943, "source": "contracts/NFDRegistry.algo.ts:1196", "pc": [ 4830 ] }, { "teal": 4944, "source": "contracts/NFDRegistry.algo.ts:1196", "pc": [ 4831, 4832 ] }, { "teal": 4945, "source": "contracts/NFDRegistry.algo.ts:1192", "pc": [ 4833, 4834, 4835 ] }, { "teal": 4949, "source": "contracts/NFDRegistry.algo.ts:1198", "errorMessage": "invalid character in name", "pc": [ 4836 ] }, { "teal": 4956, "source": "contracts/NFDRegistry.algo.ts:1174", "pc": [ 4837, 4838 ] }, { "teal": 4957, "source": "contracts/NFDRegistry.algo.ts:1174", "pc": [ 4839 ] }, { "teal": 4958, "source": "contracts/NFDRegistry.algo.ts:1174", "pc": [ 4840 ] }, { "teal": 4959, "source": "contracts/NFDRegistry.algo.ts:1174", "pc": [ 4841, 4842 ] }, { "teal": 4960, "source": "contracts/NFDRegistry.algo.ts:1174", "pc": [ 4843, 4844, 4845 ] }, { "teal": 4966, "source": "contracts/NFDRegistry.algo.ts:1201", "pc": [ 4846, 4847 ] }, { "teal": 4967, "source": "contracts/NFDRegistry.algo.ts:1201", "pc": [ 4848 ] }, { "teal": 4968, "source": "contracts/NFDRegistry.algo.ts:1201", "pc": [ 4849 ] }, { "teal": 4969, "source": "contracts/NFDRegistry.algo.ts:1201", "pc": [ 4850, 4851, 4852 ] }, { "teal": 4974, "source": "contracts/NFDRegistry.algo.ts:1202", "pc": [ 4853, 4854 ] }, { "teal": 4975, "source": "contracts/NFDRegistry.algo.ts:1202", "pc": [ 4855, 4856 ] }, { "teal": 4976, "source": "contracts/NFDRegistry.algo.ts:1202", "pc": [ 4857, 4858 ] }, { "teal": 4977, "source": "contracts/NFDRegistry.algo.ts:1202", "pc": [ 4859 ] }, { "teal": 4978, "source": "contracts/NFDRegistry.algo.ts:1202", "pc": [ 4860 ] }, { "teal": 4979, "source": "contracts/NFDRegistry.algo.ts:1202", "pc": [ 4861 ] }, { "teal": 4980, "source": "contracts/NFDRegistry.algo.ts:1202", "pc": [ 4862, 4863 ] }, { "teal": 4984, "source": "contracts/NFDRegistry.algo.ts:1203", "pc": [ 4864, 4865 ] }, { "teal": 4985, "source": "contracts/NFDRegistry.algo.ts:1203", "pc": [ 4866, 4867 ] }, { "teal": 4986, "source": "contracts/NFDRegistry.algo.ts:1203", "pc": [ 4868, 4869 ] }, { "teal": 4987, "source": "contracts/NFDRegistry.algo.ts:1203", "pc": [ 4870 ] }, { "teal": 4988, "source": "contracts/NFDRegistry.algo.ts:1203", "pc": [ 4871, 4872 ] }, { "teal": 4989, "source": "contracts/NFDRegistry.algo.ts:1203", "pc": [ 4873 ] }, { "teal": 4990, "source": "contracts/NFDRegistry.algo.ts:1203", "pc": [ 4874 ] }, { "teal": 4991, "source": "contracts/NFDRegistry.algo.ts:1203", "pc": [ 4875, 4876 ] }, { "teal": 4995, "source": "contracts/NFDRegistry.algo.ts:1204", "pc": [ 4877, 4878 ] }, { "teal": 4996, "source": "contracts/NFDRegistry.algo.ts:1204", "pc": [ 4879, 4880 ] }, { "teal": 4997, "source": "contracts/NFDRegistry.algo.ts:1204", "pc": [ 4881, 4882 ] }, { "teal": 4998, "source": "contracts/NFDRegistry.algo.ts:1204", "pc": [ 4883, 4884 ] }, { "teal": 4999, "source": "contracts/NFDRegistry.algo.ts:1204", "pc": [ 4885, 4886 ] }, { "teal": 5000, "source": "contracts/NFDRegistry.algo.ts:1204", "pc": [ 4887, 4888 ] }, { "teal": 5001, "source": "contracts/NFDRegistry.algo.ts:1201", "pc": [ 4889, 4890, 4891 ] }, { "teal": 5006, "source": "contracts/NFDRegistry.algo.ts:1206", "pc": [ 4892, 4893 ] }, { "teal": 5007, "source": "contracts/NFDRegistry.algo.ts:1206", "pc": [ 4894, 4895 ] }, { "teal": 5008, "source": "contracts/NFDRegistry.algo.ts:1206", "pc": [ 4896, 4897 ] }, { "teal": 5009, "source": "contracts/NFDRegistry.algo.ts:1206", "pc": [ 4898 ] }, { "teal": 5010, "source": "contracts/NFDRegistry.algo.ts:1206", "pc": [ 4899 ] }, { "teal": 5011, "source": "contracts/NFDRegistry.algo.ts:1206", "pc": [ 4900 ] }, { "teal": 5012, "source": "contracts/NFDRegistry.algo.ts:1206", "pc": [ 4901, 4902 ] }, { "teal": 5016, "source": "contracts/NFDRegistry.algo.ts:1207", "pc": [ 4903, 4904 ] }, { "teal": 5017, "source": "contracts/NFDRegistry.algo.ts:1207", "pc": [ 4905, 4906 ] }, { "teal": 5018, "source": "contracts/NFDRegistry.algo.ts:1207", "pc": [ 4907, 4908 ] }, { "teal": 5019, "source": "contracts/NFDRegistry.algo.ts:1207", "pc": [ 4909 ] }, { "teal": 5020, "source": "contracts/NFDRegistry.algo.ts:1207", "pc": [ 4910, 4911 ] }, { "teal": 5021, "source": "contracts/NFDRegistry.algo.ts:1207", "pc": [ 4912 ] }, { "teal": 5022, "source": "contracts/NFDRegistry.algo.ts:1207", "pc": [ 4913 ] }, { "teal": 5023, "source": "contracts/NFDRegistry.algo.ts:1207", "pc": [ 4914, 4915 ] }, { "teal": 5027, "source": "contracts/NFDRegistry.algo.ts:1208", "pc": [ 4916, 4917 ] }, { "teal": 5028, "source": "contracts/NFDRegistry.algo.ts:1208", "pc": [ 4918, 4919 ] }, { "teal": 5029, "source": "contracts/NFDRegistry.algo.ts:1208", "pc": [ 4920, 4921 ] }, { "teal": 5030, "source": "contracts/NFDRegistry.algo.ts:1208", "pc": [ 4922, 4923 ] }, { "teal": 5031, "source": "contracts/NFDRegistry.algo.ts:1208", "pc": [ 4924, 4925 ] }, { "teal": 5032, "source": "contracts/NFDRegistry.algo.ts:1208", "pc": [ 4926, 4927 ] }, { "teal": 5033, "source": "contracts/NFDRegistry.algo.ts:1208", "pc": [ 4928 ] }, { "teal": 5034, "source": "contracts/NFDRegistry.algo.ts:1208", "pc": [ 4929, 4930 ] }, { "teal": 5035, "source": "contracts/NFDRegistry.algo.ts:1208", "pc": [ 4931 ] }, { "teal": 5036, "source": "contracts/NFDRegistry.algo.ts:1208", "pc": [ 4932 ] }, { "teal": 5037, "source": "contracts/NFDRegistry.algo.ts:1208", "pc": [ 4933 ] }, { "teal": 5038, "source": "contracts/NFDRegistry.algo.ts:1208", "pc": [ 4934, 4935 ] }, { "teal": 5043, "source": "contracts/NFDRegistry.algo.ts:1211", "pc": [ 4936, 4937 ] }, { "teal": 5046, "source": "contracts/NFDRegistry.algo.ts:1151", "pc": [ 4938, 4939 ] }, { "teal": 5049, "source": "contracts/NFDRegistry.algo.ts:1151", "pc": [ 4940, 4941 ] }, { "teal": 5050, "source": "contracts/NFDRegistry.algo.ts:1151", "pc": [ 4942 ] }, { "teal": 5054, "source": "contracts/NFDRegistry.algo.ts:1214", "pc": [ 4943, 4944, 4945 ] }, { "teal": 5057, "source": "contracts/NFDRegistry.algo.ts:1214", "pc": [ 4946 ] }, { "teal": 5058, "source": "contracts/NFDRegistry.algo.ts:1214", "pc": [ 4947 ] }, { "teal": 5062, "source": "contracts/NFDRegistry.algo.ts:1215", "pc": [ 4948, 4949 ] }, { "teal": 5063, "source": "contracts/NFDRegistry.algo.ts:1215", "pc": [ 4950, 4951, 4952 ] }, { "teal": 5064, "source": "contracts/NFDRegistry.algo.ts:1215", "pc": [ 4953, 4954 ] }, { "teal": 5069, "source": "contracts/NFDRegistry.algo.ts:1216", "pc": [ 4955, 4956 ] }, { "teal": 5070, "source": "contracts/NFDRegistry.algo.ts:1216", "pc": [ 4957 ] }, { "teal": 5071, "source": "contracts/NFDRegistry.algo.ts:1216", "pc": [ 4958 ] }, { "teal": 5072, "source": "contracts/NFDRegistry.algo.ts:1216", "pc": [ 4959 ] }, { "teal": 5073, "source": "contracts/NFDRegistry.algo.ts:1216", "pc": [ 4960 ] }, { "teal": 5074, "source": "contracts/NFDRegistry.algo.ts:1216", "pc": [ 4961, 4962, 4963 ] }, { "teal": 5079, "source": "contracts/NFDRegistry.algo.ts:1217", "pc": [ 4964 ] }, { "teal": 5080, "source": "contracts/NFDRegistry.algo.ts:1217", "pc": [ 4965, 4966, 4967 ] }, { "teal": 5085, "source": "contracts/NFDRegistry.algo.ts:1219", "pc": [ 4968, 4969 ] }, { "teal": 5086, "source": "contracts/NFDRegistry.algo.ts:1219", "pc": [ 4970 ] }, { "teal": 5089, "source": "contracts/NFDRegistry.algo.ts:1219", "errorMessage": "box value does not exist: this.boxes(boxName).value", "pc": [ 4971 ] }, { "teal": 5090, "source": "contracts/NFDRegistry.algo.ts:1219", "pc": [ 4972, 4973 ] }, { "teal": 5094, "source": "contracts/NFDRegistry.algo.ts:1220", "pc": [ 4974, 4975 ] }, { "teal": 5095, "source": "contracts/NFDRegistry.algo.ts:1220", "pc": [ 4976 ] }, { "teal": 5096, "source": "contracts/NFDRegistry.algo.ts:1220", "pc": [ 4977, 4978 ] }, { "teal": 5097, "source": "contracts/NFDRegistry.algo.ts:1220", "pc": [ 4979 ] }, { "teal": 5098, "source": "contracts/NFDRegistry.algo.ts:1220", "pc": [ 4980 ] }, { "teal": 5102, "source": "contracts/NFDRegistry.algo.ts:1221", "pc": [ 4981, 4982 ] }, { "teal": 5103, "source": "contracts/NFDRegistry.algo.ts:1221", "pc": [ 4983 ] }, { "teal": 5104, "source": "contracts/NFDRegistry.algo.ts:1221", "pc": [ 4984 ] }, { "teal": 5108, "source": "contracts/NFDRegistry.algo.ts:1214", "pc": [ 4985, 4986 ] }, { "teal": 5111, "source": "contracts/NFDRegistry.algo.ts:1214", "pc": [ 4987, 4988 ] }, { "teal": 5112, "source": "contracts/NFDRegistry.algo.ts:1214", "pc": [ 4989 ] }, { "teal": 5116, "source": "contracts/NFDRegistry.algo.ts:1224", "pc": [ 4990, 4991, 4992 ] }, { "teal": 5120, "source": "contracts/NFDRegistry.algo.ts:1225", "pc": [ 4993, 4994 ] }, { "teal": 5121, "source": "contracts/NFDRegistry.algo.ts:1225", "pc": [ 4995, 4996 ] }, { "teal": 5122, "source": "contracts/NFDRegistry.algo.ts:1225", "pc": [ 4997, 4998 ] }, { "teal": 5123, "source": "contracts/NFDRegistry.algo.ts:1225", "pc": [ 4999, 5000 ] }, { "teal": 5124, "source": "contracts/NFDRegistry.algo.ts:1225", "pc": [ 5001, 5002, 5003 ] }, { "teal": 5125, "source": "contracts/NFDRegistry.algo.ts:1225", "pc": [ 5004 ] }, { "teal": 5126, "source": "contracts/NFDRegistry.algo.ts:1225", "pc": [ 5005, 5006 ] }, { "teal": 5127, "source": "contracts/NFDRegistry.algo.ts:1225", "pc": [ 5007 ] }, { "teal": 5128, "source": "contracts/NFDRegistry.algo.ts:1225", "pc": [ 5008 ] }, { "teal": 5129, "source": "contracts/NFDRegistry.algo.ts:1224", "pc": [ 5009 ] }, { "teal": 5133, "source": "contracts/NFDRegistry.algo.ts:1228", "pc": [ 5010, 5011, 5012 ] }, { "teal": 5138, "source": "contracts/NFDRegistry.algo.ts:1229", "pc": [ 5013, 5014 ] }, { "teal": 5139, "source": "contracts/NFDRegistry.algo.ts:1229", "pc": [ 5015, 5016 ] }, { "teal": 5140, "source": "contracts/NFDRegistry.algo.ts:1229", "pc": [ 5017 ] }, { "teal": 5141, "source": "contracts/NFDRegistry.algo.ts:1229", "pc": [ 5018 ] }, { "teal": 5142, "source": "contracts/NFDRegistry.algo.ts:1229", "pc": [ 5019 ] }, { "teal": 5143, "source": "contracts/NFDRegistry.algo.ts:1229", "pc": [ 5020 ] }, { "teal": 5144, "source": "contracts/NFDRegistry.algo.ts:1229", "pc": [ 5021, 5022, 5023 ] }, { "teal": 5149, "source": "contracts/NFDRegistry.algo.ts:1230", "pc": [ 5024 ] }, { "teal": 5150, "source": "contracts/NFDRegistry.algo.ts:1230", "pc": [ 5025 ] }, { "teal": 5155, "source": "contracts/NFDRegistry.algo.ts:1232", "pc": [ 5026, 5027 ] }, { "teal": 5156, "source": "contracts/NFDRegistry.algo.ts:1232", "pc": [ 5028, 5029 ] }, { "teal": 5157, "source": "contracts/NFDRegistry.algo.ts:1232", "pc": [ 5030 ] }, { "teal": 5160, "source": "contracts/NFDRegistry.algo.ts:1232", "errorMessage": "global state value does not exist: AppID.fromUint64(appId).globalState(key)", "pc": [ 5031 ] }, { "teal": 5161, "source": "contracts/NFDRegistry.algo.ts:1228", "pc": [ 5032 ] }, { "teal": 5165, "source": "contracts/NFDRegistry.algo.ts:1235", "pc": [ 5033, 5034, 5035 ] }, { "teal": 5170, "source": "contracts/NFDRegistry.algo.ts:1236", "pc": [ 5036, 5037 ] }, { "teal": 5171, "source": "contracts/NFDRegistry.algo.ts:1236", "pc": [ 5038, 5039 ] }, { "teal": 5172, "source": "contracts/NFDRegistry.algo.ts:1236", "pc": [ 5040 ] }, { "teal": 5173, "source": "contracts/NFDRegistry.algo.ts:1236", "pc": [ 5041 ] }, { "teal": 5174, "source": "contracts/NFDRegistry.algo.ts:1236", "pc": [ 5042 ] }, { "teal": 5175, "source": "contracts/NFDRegistry.algo.ts:1236", "pc": [ 5043 ] }, { "teal": 5176, "source": "contracts/NFDRegistry.algo.ts:1236", "pc": [ 5044, 5045, 5046 ] }, { "teal": 5181, "source": "contracts/NFDRegistry.algo.ts:1237", "pc": [ 5047 ] }, { "teal": 5182, "source": "contracts/NFDRegistry.algo.ts:1237", "pc": [ 5048 ] }, { "teal": 5187, "source": "contracts/NFDRegistry.algo.ts:1239", "pc": [ 5049, 5050 ] }, { "teal": 5188, "source": "contracts/NFDRegistry.algo.ts:1239", "pc": [ 5051, 5052 ] }, { "teal": 5189, "source": "contracts/NFDRegistry.algo.ts:1239", "pc": [ 5053 ] }, { "teal": 5192, "source": "contracts/NFDRegistry.algo.ts:1239", "errorMessage": "global state value does not exist: AppID.fromUint64(appId).globalState(key)", "pc": [ 5054 ] }, { "teal": 5193, "source": "contracts/NFDRegistry.algo.ts:1239", "pc": [ 5055 ] }, { "teal": 5194, "source": "contracts/NFDRegistry.algo.ts:1235", "pc": [ 5056 ] }, { "teal": 5221, "source": "contracts/NFDRegistry.algo.ts:1266", "pc": [ 5057, 5058, 5059 ] }, { "teal": 5224, "source": "contracts/NFDRegistry.algo.ts:1266", "pc": [ 5060 ] }, { "teal": 5225, "source": "contracts/NFDRegistry.algo.ts:1266", "pc": [ 5061, 5062 ] }, { "teal": 5229, "source": "contracts/NFDRegistry.algo.ts:1267", "pc": [ 5063, 5064, 5065 ] }, { "teal": 5230, "source": "contracts/NFDRegistry.algo.ts:1267", "pc": [ 5066, 5067 ] }, { "teal": 5235, "source": "contracts/NFDRegistry.algo.ts:1269", "pc": [ 5068, 5069 ] }, { "teal": 5236, "source": "contracts/NFDRegistry.algo.ts:1269", "pc": [ 5070, 5071 ] }, { "teal": 5237, "source": "contracts/NFDRegistry.algo.ts:1269", "pc": [ 5072, 5073 ] }, { "teal": 5238, "source": "contracts/NFDRegistry.algo.ts:1269", "pc": [ 5074 ] }, { "teal": 5239, "source": "contracts/NFDRegistry.algo.ts:1269", "pc": [ 5075 ] }, { "teal": 5240, "source": "contracts/NFDRegistry.algo.ts:1269", "pc": [ 5076, 5077, 5078 ] }, { "teal": 5245, "source": "contracts/NFDRegistry.algo.ts:1271", "pc": [ 5079, 5080 ] }, { "teal": 5246, "source": "contracts/NFDRegistry.algo.ts:1271", "pc": [ 5081, 5082 ] }, { "teal": 5247, "source": "contracts/NFDRegistry.algo.ts:1271", "pc": [ 5083, 5084, 5085 ] }, { "teal": 5248, "source": "contracts/NFDRegistry.algo.ts:1271", "pc": [ 5086, 5087, 5088 ] }, { "teal": 5249, "source": "contracts/NFDRegistry.algo.ts:1271", "pc": [ 5089, 5090 ] }, { "teal": 5253, "source": "contracts/NFDRegistry.algo.ts:1272", "pc": [ 5091, 5092 ] }, { "teal": 5254, "source": "contracts/NFDRegistry.algo.ts:1272", "pc": [ 5093 ] }, { "teal": 5255, "source": "contracts/NFDRegistry.algo.ts:1272", "pc": [ 5094 ] }, { "teal": 5258, "source": "contracts/NFDRegistry.algo.ts:1272", "errorMessage": "parent nfd/id must be found", "pc": [ 5095 ] }, { "teal": 5262, "source": "contracts/NFDRegistry.algo.ts:1274", "pc": [ 5096 ] }, { "teal": 5263, "source": "contracts/NFDRegistry.algo.ts:1274", "pc": [ 5097, 5098 ] }, { "teal": 5268, "source": "contracts/NFDRegistry.algo.ts:1276", "pc": [ 5099, 5100 ] }, { "teal": 5269, "source": "contracts/NFDRegistry.algo.ts:1276", "pc": [ 5101, 5102 ] }, { "teal": 5270, "source": "contracts/NFDRegistry.algo.ts:1276", "pc": [ 5103, 5104, 5105 ] }, { "teal": 5271, "source": "contracts/NFDRegistry.algo.ts:1276", "pc": [ 5106, 5107 ] }, { "teal": 5272, "source": "contracts/NFDRegistry.algo.ts:1276", "pc": [ 5108 ] }, { "teal": 5273, "source": "contracts/NFDRegistry.algo.ts:1276", "pc": [ 5109, 5110, 5111 ] }, { "teal": 5278, "source": "contracts/NFDRegistry.algo.ts:1278", "pc": [ 5112, 5113, 5114, 5115, 5116, 5117, 5118, 5119, 5120, 5121, 5122, 5123, 5124, 5125, 5126, 5127, 5128, 5129, 5130 ] }, { "teal": 5279, "source": "contracts/NFDRegistry.algo.ts:1278", "pc": [ 5131, 5132 ] }, { "teal": 5280, "source": "contracts/NFDRegistry.algo.ts:1278", "pc": [ 5133, 5134, 5135 ] }, { "teal": 5281, "source": "contracts/NFDRegistry.algo.ts:1278", "pc": [ 5136, 5137 ] }, { "teal": 5286, "source": "contracts/NFDRegistry.algo.ts:1279", "pc": [ 5138, 5139 ] }, { "teal": 5287, "source": "contracts/NFDRegistry.algo.ts:1279", "pc": [ 5140, 5141 ] }, { "teal": 5288, "source": "contracts/NFDRegistry.algo.ts:1279", "pc": [ 5142, 5143, 5144 ] }, { "teal": 5289, "source": "contracts/NFDRegistry.algo.ts:1279", "pc": [ 5145 ] }, { "teal": 5290, "source": "contracts/NFDRegistry.algo.ts:1279", "pc": [ 5146 ] }, { "teal": 5291, "source": "contracts/NFDRegistry.algo.ts:1279", "pc": [ 5147, 5148, 5149 ] }, { "teal": 5296, "source": "contracts/NFDRegistry.algo.ts:1280", "pc": [ 5150, 5151 ] }, { "teal": 5297, "source": "contracts/NFDRegistry.algo.ts:1280", "pc": [ 5152, 5153, 5154 ] }, { "teal": 5298, "source": "contracts/NFDRegistry.algo.ts:1280", "pc": [ 5155 ] }, { "teal": 5299, "source": "contracts/NFDRegistry.algo.ts:1280", "pc": [ 5156, 5157 ] }, { "teal": 5302, "source": "contracts/NFDRegistry.algo.ts:1276", "pc": [ 5158, 5159, 5160 ] }, { "teal": 5307, "source": "contracts/NFDRegistry.algo.ts:1284", "pc": [ 5161, 5162 ] }, { "teal": 5308, "source": "contracts/NFDRegistry.algo.ts:1284", "pc": [ 5163, 5164, 5165 ] }, { "teal": 5309, "source": "contracts/NFDRegistry.algo.ts:1284", "pc": [ 5166 ] }, { "teal": 5310, "source": "contracts/NFDRegistry.algo.ts:1284", "pc": [ 5167, 5168 ] }, { "teal": 5318, "source": "contracts/NFDRegistry.algo.ts:1288", "pc": [ 5169, 5170 ] }, { "teal": 5319, "source": "contracts/NFDRegistry.algo.ts:1288", "pc": [ 5171, 5172 ] }, { "teal": 5320, "source": "contracts/NFDRegistry.algo.ts:1288", "pc": [ 5173, 5174, 5175 ] }, { "teal": 5321, "source": "contracts/NFDRegistry.algo.ts:1288", "pc": [ 5176 ] }, { "teal": 5322, "source": "contracts/NFDRegistry.algo.ts:1288", "pc": [ 5177 ] }, { "teal": 5325, "source": "contracts/NFDRegistry.algo.ts:1287", "errorMessage": "segment mint cost must be at least NFD_MIN_SEGMENT_USD", "pc": [ 5178 ] }, { "teal": 5329, "source": "contracts/NFDRegistry.algo.ts:1293", "pc": [ 5179, 5180 ] }, { "teal": 5330, "source": "contracts/NFDRegistry.algo.ts:1293", "pc": [ 5181, 5182, 5183 ] }, { "teal": 5331, "source": "contracts/NFDRegistry.algo.ts:1293", "pc": [ 5184, 5185 ] }, { "teal": 5332, "source": "contracts/NFDRegistry.algo.ts:1269", "pc": [ 5186, 5187, 5188 ] }, { "teal": 5337, "source": "contracts/NFDRegistry.algo.ts:1296", "pc": [ 5189, 5190 ] }, { "teal": 5338, "source": "contracts/NFDRegistry.algo.ts:1296", "pc": [ 5191, 5192 ] }, { "teal": 5339, "source": "contracts/NFDRegistry.algo.ts:1296", "pc": [ 5193, 5194 ] }, { "teal": 5340, "source": "contracts/NFDRegistry.algo.ts:1296", "pc": [ 5195, 5196, 5197 ] }, { "teal": 5341, "source": "contracts/NFDRegistry.algo.ts:1296", "pc": [ 5198 ] }, { "teal": 5342, "source": "contracts/NFDRegistry.algo.ts:1296", "pc": [ 5199, 5200 ] }, { "teal": 5346, "source": "contracts/NFDRegistry.algo.ts:1297", "pc": [ 5201 ] }, { "teal": 5347, "source": "contracts/NFDRegistry.algo.ts:1297", "pc": [ 5202, 5203 ] }, { "teal": 5352, "source": "contracts/NFDRegistry.algo.ts:1298", "pc": [ 5204, 5205 ] }, { "teal": 5353, "source": "contracts/NFDRegistry.algo.ts:1298", "pc": [ 5206, 5207 ] }, { "teal": 5354, "source": "contracts/NFDRegistry.algo.ts:1298", "pc": [ 5208 ] }, { "teal": 5355, "source": "contracts/NFDRegistry.algo.ts:1298", "pc": [ 5209, 5210, 5211 ] }, { "teal": 5360, "source": "contracts/NFDRegistry.algo.ts:1299", "pc": [ 5212, 5213, 5214 ] }, { "teal": 5361, "source": "contracts/NFDRegistry.algo.ts:1299", "pc": [ 5215, 5216 ] }, { "teal": 5362, "source": "contracts/NFDRegistry.algo.ts:1298", "pc": [ 5217, 5218, 5219 ] }, { "teal": 5367, "source": "contracts/NFDRegistry.algo.ts:1300", "pc": [ 5220, 5221 ] }, { "teal": 5368, "source": "contracts/NFDRegistry.algo.ts:1300", "pc": [ 5222, 5223 ] }, { "teal": 5369, "source": "contracts/NFDRegistry.algo.ts:1300", "pc": [ 5224 ] }, { "teal": 5370, "source": "contracts/NFDRegistry.algo.ts:1300", "pc": [ 5225, 5226, 5227 ] }, { "teal": 5375, "source": "contracts/NFDRegistry.algo.ts:1301", "pc": [ 5228, 5229, 5230 ] }, { "teal": 5376, "source": "contracts/NFDRegistry.algo.ts:1301", "pc": [ 5231, 5232 ] }, { "teal": 5377, "source": "contracts/NFDRegistry.algo.ts:1300", "pc": [ 5233, 5234, 5235 ] }, { "teal": 5382, "source": "contracts/NFDRegistry.algo.ts:1302", "pc": [ 5236, 5237 ] }, { "teal": 5383, "source": "contracts/NFDRegistry.algo.ts:1302", "pc": [ 5238, 5239 ] }, { "teal": 5384, "source": "contracts/NFDRegistry.algo.ts:1302", "pc": [ 5240 ] }, { "teal": 5385, "source": "contracts/NFDRegistry.algo.ts:1302", "pc": [ 5241, 5242, 5243 ] }, { "teal": 5390, "source": "contracts/NFDRegistry.algo.ts:1303", "pc": [ 5244, 5245, 5246 ] }, { "teal": 5391, "source": "contracts/NFDRegistry.algo.ts:1303", "pc": [ 5247, 5248 ] }, { "teal": 5392, "source": "contracts/NFDRegistry.algo.ts:1302", "pc": [ 5249, 5250, 5251 ] }, { "teal": 5397, "source": "contracts/NFDRegistry.algo.ts:1304", "pc": [ 5252, 5253 ] }, { "teal": 5398, "source": "contracts/NFDRegistry.algo.ts:1304", "pc": [ 5254, 5255 ] }, { "teal": 5399, "source": "contracts/NFDRegistry.algo.ts:1304", "pc": [ 5256 ] }, { "teal": 5400, "source": "contracts/NFDRegistry.algo.ts:1304", "pc": [ 5257, 5258, 5259 ] }, { "teal": 5405, "source": "contracts/NFDRegistry.algo.ts:1305", "pc": [ 5260, 5261, 5262 ] }, { "teal": 5406, "source": "contracts/NFDRegistry.algo.ts:1305", "pc": [ 5263, 5264 ] }, { "teal": 5407, "source": "contracts/NFDRegistry.algo.ts:1304", "pc": [ 5265, 5266, 5267 ] }, { "teal": 5412, "source": "contracts/NFDRegistry.algo.ts:1306", "pc": [ 5268, 5269 ] }, { "teal": 5413, "source": "contracts/NFDRegistry.algo.ts:1306", "pc": [ 5270 ] }, { "teal": 5414, "source": "contracts/NFDRegistry.algo.ts:1306", "pc": [ 5271 ] }, { "teal": 5415, "source": "contracts/NFDRegistry.algo.ts:1306", "pc": [ 5272, 5273, 5274 ] }, { "teal": 5420, "source": "contracts/NFDRegistry.algo.ts:1307", "pc": [ 5275, 5276, 5277, 5278 ] }, { "teal": 5421, "source": "contracts/NFDRegistry.algo.ts:1307", "pc": [ 5279, 5280 ] }, { "teal": 5422, "source": "contracts/NFDRegistry.algo.ts:1306", "pc": [ 5281, 5282, 5283 ] }, { "teal": 5426, "source": "contracts/NFDRegistry.algo.ts:1309", "errorMessage": "invalid cost calc", "pc": [ 5284 ] }, { "teal": 5431, "source": "contracts/NFDRegistry.algo.ts:1311", "pc": [ 5285, 5286 ] }, { "teal": 5432, "source": "contracts/NFDRegistry.algo.ts:1311", "pc": [ 5287, 5288 ] }, { "teal": 5433, "source": "contracts/NFDRegistry.algo.ts:1311", "pc": [ 5289, 5290, 5291 ] }, { "teal": 5434, "source": "contracts/NFDRegistry.algo.ts:1311", "pc": [ 5292, 5293 ] }, { "teal": 5438, "source": "contracts/NFDRegistry.algo.ts:1312", "pc": [ 5294, 5295 ] }, { "teal": 5439, "source": "contracts/NFDRegistry.algo.ts:1312", "pc": [ 5296, 5297, 5298 ] }, { "teal": 5440, "source": "contracts/NFDRegistry.algo.ts:1312", "pc": [ 5299, 5300 ] }, { "teal": 5445, "source": "contracts/NFDRegistry.algo.ts:1316", "pc": [ 5301, 5302 ] }, { "teal": 5446, "source": "contracts/NFDRegistry.algo.ts:1316", "pc": [ 5303, 5304, 5305 ] }, { "teal": 5447, "source": "contracts/NFDRegistry.algo.ts:1316", "pc": [ 5306, 5307 ] }, { "teal": 5451, "source": "contracts/NFDRegistry.algo.ts:1317", "pc": [ 5308 ] }, { "teal": 5452, "source": "contracts/NFDRegistry.algo.ts:1317", "pc": [ 5309, 5310 ] }, { "teal": 5456, "source": "contracts/NFDRegistry.algo.ts:1318", "pc": [ 5311 ] }, { "teal": 5457, "source": "contracts/NFDRegistry.algo.ts:1318", "pc": [ 5312, 5313 ] }, { "teal": 5462, "source": "contracts/NFDRegistry.algo.ts:1319", "pc": [ 5314, 5315 ] }, { "teal": 5463, "source": "contracts/NFDRegistry.algo.ts:1319", "pc": [ 5316 ] }, { "teal": 5464, "source": "contracts/NFDRegistry.algo.ts:1319", "pc": [ 5317 ] }, { "teal": 5465, "source": "contracts/NFDRegistry.algo.ts:1319", "pc": [ 5318, 5319, 5320 ] }, { "teal": 5470, "source": "contracts/NFDRegistry.algo.ts:1320", "pc": [ 5321, 5322 ] }, { "teal": 5471, "source": "contracts/NFDRegistry.algo.ts:1320", "pc": [ 5323, 5324 ] }, { "teal": 5472, "source": "contracts/NFDRegistry.algo.ts:1320", "pc": [ 5325 ] }, { "teal": 5473, "source": "contracts/NFDRegistry.algo.ts:1320", "pc": [ 5326 ] }, { "teal": 5476, "source": "contracts/NFDRegistry.algo.ts:1320", "errorMessage": "global state value does not exist: AppID.fromUint64(nfdAppId).globalState(NFD_KEY_OWNER)", "pc": [ 5327 ] }, { "teal": 5477, "source": "contracts/NFDRegistry.algo.ts:1320", "pc": [ 5328 ] }, { "teal": 5478, "source": "contracts/NFDRegistry.algo.ts:1320", "pc": [ 5329, 5330 ] }, { "teal": 5482, "source": "contracts/NFDRegistry.algo.ts:1321", "pc": [ 5331, 5332 ] }, { "teal": 5483, "source": "contracts/NFDRegistry.algo.ts:1321", "pc": [ 5333, 5334 ] }, { "teal": 5484, "source": "contracts/NFDRegistry.algo.ts:1321", "pc": [ 5335, 5336, 5337 ] }, { "teal": 5485, "source": "contracts/NFDRegistry.algo.ts:1321", "pc": [ 5338, 5339 ] }, { "teal": 5489, "source": "contracts/NFDRegistry.algo.ts:1322", "pc": [ 5340, 5341 ] }, { "teal": 5490, "source": "contracts/NFDRegistry.algo.ts:1322", "pc": [ 5342, 5343, 5344 ] }, { "teal": 5491, "source": "contracts/NFDRegistry.algo.ts:1322", "pc": [ 5345, 5346 ] }, { "teal": 5496, "source": "contracts/NFDRegistry.algo.ts:1323", "pc": [ 5347, 5348 ] }, { "teal": 5497, "source": "contracts/NFDRegistry.algo.ts:1323", "pc": [ 5349 ] }, { "teal": 5498, "source": "contracts/NFDRegistry.algo.ts:1323", "pc": [ 5350, 5351, 5352 ] }, { "teal": 5499, "source": "contracts/NFDRegistry.algo.ts:1323", "pc": [ 5353, 5354 ] }, { "teal": 5500, "source": "contracts/NFDRegistry.algo.ts:1323", "pc": [ 5355 ] }, { "teal": 5501, "source": "contracts/NFDRegistry.algo.ts:1323", "pc": [ 5356 ] }, { "teal": 5504, "source": "contracts/NFDRegistry.algo.ts:1323", "pc": [ 5357, 5358, 5359 ] }, { "teal": 5509, "source": "contracts/NFDRegistry.algo.ts:1324", "pc": [ 5360 ] }, { "teal": 5510, "source": "contracts/NFDRegistry.algo.ts:1324", "pc": [ 5361, 5362 ] }, { "teal": 5514, "source": "contracts/NFDRegistry.algo.ts:1327", "pc": [ 5363, 5364 ] }, { "teal": 5515, "source": "contracts/NFDRegistry.algo.ts:1327", "pc": [ 5365, 5366, 5367 ] }, { "teal": 5516, "source": "contracts/NFDRegistry.algo.ts:1327", "pc": [ 5368 ] }, { "teal": 5517, "source": "contracts/NFDRegistry.algo.ts:1327", "pc": [ 5369, 5370, 5371 ] }, { "teal": 5518, "source": "contracts/NFDRegistry.algo.ts:1327", "pc": [ 5372, 5373 ] }, { "teal": 5522, "source": "contracts/NFDRegistry.algo.ts:1328", "pc": [ 5374, 5375 ] }, { "teal": 5523, "source": "contracts/NFDRegistry.algo.ts:1328", "pc": [ 5376, 5377 ] }, { "teal": 5527, "source": "contracts/NFDRegistry.algo.ts:1329", "pc": [ 5378, 5379 ] }, { "teal": 5528, "source": "contracts/NFDRegistry.algo.ts:1329", "pc": [ 5380, 5381 ] }, { "teal": 5532, "source": "contracts/NFDRegistry.algo.ts:1330", "pc": [ 5382, 5383 ] }, { "teal": 5533, "source": "contracts/NFDRegistry.algo.ts:1330", "pc": [ 5384, 5385 ] }, { "teal": 5534, "source": "contracts/NFDRegistry.algo.ts:1330", "pc": [ 5386, 5387, 5388 ] }, { "teal": 5535, "source": "contracts/NFDRegistry.algo.ts:1330", "pc": [ 5389 ] }, { "teal": 5536, "source": "contracts/NFDRegistry.algo.ts:1330", "pc": [ 5390, 5391 ] }, { "teal": 5537, "source": "contracts/NFDRegistry.algo.ts:1330", "pc": [ 5392 ] }, { "teal": 5538, "source": "contracts/NFDRegistry.algo.ts:1330", "pc": [ 5393, 5394 ] }, { "teal": 5539, "source": "contracts/NFDRegistry.algo.ts:1330", "pc": [ 5395 ] }, { "teal": 5540, "source": "contracts/NFDRegistry.algo.ts:1330", "pc": [ 5396, 5397 ] }, { "teal": 5541, "source": "contracts/NFDRegistry.algo.ts:1330", "pc": [ 5398 ] }, { "teal": 5542, "source": "contracts/NFDRegistry.algo.ts:1330", "pc": [ 5399 ] }, { "teal": 5543, "source": "contracts/NFDRegistry.algo.ts:1330", "pc": [ 5400, 5401 ] }, { "teal": 5547, "source": "contracts/NFDRegistry.algo.ts:1335", "pc": [ 5402, 5403 ] }, { "teal": 5548, "source": "contracts/NFDRegistry.algo.ts:1335", "pc": [ 5404, 5405 ] }, { "teal": 5549, "source": "contracts/NFDRegistry.algo.ts:1335", "pc": [ 5406 ] }, { "teal": 5550, "source": "contracts/NFDRegistry.algo.ts:1335", "pc": [ 5407 ] }, { "teal": 5555, "source": "contracts/NFDRegistry.algo.ts:1336", "pc": [ 5408, 5409 ] }, { "teal": 5556, "source": "contracts/NFDRegistry.algo.ts:1336", "pc": [ 5410, 5411 ] }, { "teal": 5557, "source": "contracts/NFDRegistry.algo.ts:1336", "pc": [ 5412 ] }, { "teal": 5558, "source": "contracts/NFDRegistry.algo.ts:1336", "pc": [ 5413, 5414, 5415 ] }, { "teal": 5563, "source": "contracts/NFDRegistry.algo.ts:1337", "pc": [ 5416, 5417 ] }, { "teal": 5564, "source": "contracts/NFDRegistry.algo.ts:1337", "pc": [ 5418, 5419 ] }, { "teal": 5565, "source": "contracts/NFDRegistry.algo.ts:1336", "pc": [ 5420, 5421, 5422 ] }, { "teal": 5570, "source": "contracts/NFDRegistry.algo.ts:1339", "pc": [ 5423, 5424 ] }, { "teal": 5571, "source": "contracts/NFDRegistry.algo.ts:1339", "pc": [ 5425, 5426 ] }, { "teal": 5572, "source": "contracts/NFDRegistry.algo.ts:1339", "pc": [ 5427 ] }, { "teal": 5573, "source": "contracts/NFDRegistry.algo.ts:1339", "pc": [ 5428, 5429 ] }, { "teal": 5577, "source": "contracts/NFDRegistry.algo.ts:1340", "pc": [ 5430, 5431 ] }, { "teal": 5578, "source": "contracts/NFDRegistry.algo.ts:1340", "pc": [ 5432, 5433 ] }, { "teal": 5579, "source": "contracts/NFDRegistry.algo.ts:1340", "pc": [ 5434 ] }, { "teal": 5580, "source": "contracts/NFDRegistry.algo.ts:1340", "pc": [ 5435, 5436 ] }, { "teal": 5584, "source": "contracts/NFDRegistry.algo.ts:1341", "pc": [ 5437, 5438 ] }, { "teal": 5585, "source": "contracts/NFDRegistry.algo.ts:1341", "pc": [ 5439, 5440 ] }, { "teal": 5586, "source": "contracts/NFDRegistry.algo.ts:1341", "pc": [ 5441 ] }, { "teal": 5587, "source": "contracts/NFDRegistry.algo.ts:1341", "pc": [ 5442, 5443 ] }, { "teal": 5591, "source": "contracts/NFDRegistry.algo.ts:1342", "pc": [ 5444, 5445 ] }, { "teal": 5592, "source": "contracts/NFDRegistry.algo.ts:1342", "pc": [ 5446, 5447 ] }, { "teal": 5593, "source": "contracts/NFDRegistry.algo.ts:1342", "pc": [ 5448 ] }, { "teal": 5594, "source": "contracts/NFDRegistry.algo.ts:1342", "pc": [ 5449, 5450 ] }, { "teal": 5595, "source": "contracts/NFDRegistry.algo.ts:1342", "pc": [ 5451 ] }, { "teal": 5596, "source": "contracts/NFDRegistry.algo.ts:1342", "pc": [ 5452, 5453 ] }, { "teal": 5600, "source": "contracts/NFDRegistry.algo.ts:1343", "pc": [ 5454, 5455 ] }, { "teal": 5601, "source": "contracts/NFDRegistry.algo.ts:1343", "pc": [ 5456, 5457 ] }, { "teal": 5602, "source": "contracts/NFDRegistry.algo.ts:1343", "pc": [ 5458 ] }, { "teal": 5603, "source": "contracts/NFDRegistry.algo.ts:1343", "pc": [ 5459, 5460 ] }, { "teal": 5608, "source": "contracts/NFDRegistry.algo.ts:1345", "pc": [ 5461, 5462 ] }, { "teal": 5609, "source": "contracts/NFDRegistry.algo.ts:1345", "pc": [ 5463, 5464 ] }, { "teal": 5610, "source": "contracts/NFDRegistry.algo.ts:1345", "pc": [ 5465 ] }, { "teal": 5611, "source": "contracts/NFDRegistry.algo.ts:1345", "pc": [ 5466, 5467, 5468 ] }, { "teal": 5616, "source": "contracts/NFDRegistry.algo.ts:1346", "pc": [ 5469, 5470 ] }, { "teal": 5617, "source": "contracts/NFDRegistry.algo.ts:1346", "pc": [ 5471, 5472 ] }, { "teal": 5628, "source": "contracts/NFDRegistry.algo.ts:1351", "pc": [ 5473, 5474 ] }, { "teal": 5629, "source": "contracts/NFDRegistry.algo.ts:1351", "pc": [ 5475, 5476, 5477, 5478 ] }, { "teal": 5630, "source": "contracts/NFDRegistry.algo.ts:1351", "pc": [ 5479 ] }, { "teal": 5633, "source": "contracts/NFDRegistry.algo.ts:1351", "errorMessage": "price always needs to be at least 1 algo", "pc": [ 5480 ] }, { "teal": 5643, "source": "contracts/NFDRegistry.algo.ts:1353", "pc": [ 5481, 5482 ] }, { "teal": 5644, "source": "contracts/NFDRegistry.algo.ts:1353", "pc": [ 5483 ] }, { "teal": 5645, "source": "contracts/NFDRegistry.algo.ts:1354", "pc": [ 5484, 5485 ] }, { "teal": 5646, "source": "contracts/NFDRegistry.algo.ts:1354", "pc": [ 5486 ] }, { "teal": 5647, "source": "contracts/NFDRegistry.algo.ts:1354", "pc": [ 5487 ] }, { "teal": 5648, "source": "contracts/NFDRegistry.algo.ts:1354", "pc": [ 5488, 5489, 5490 ] }, { "teal": 5649, "source": "contracts/NFDRegistry.algo.ts:1354", "pc": [ 5491, 5492 ] }, { "teal": 5650, "source": "contracts/NFDRegistry.algo.ts:1354", "pc": [ 5493, 5494, 5495 ] }, { "teal": 5651, "source": "contracts/NFDRegistry.algo.ts:1354", "pc": [ 5496, 5497, 5498 ] }, { "teal": 5654, "source": "contracts/NFDRegistry.algo.ts:1354", "pc": [ 5499 ] }, { "teal": 5657, "source": "contracts/NFDRegistry.algo.ts:1354", "pc": [ 5500 ] }, { "teal": 5658, "source": "contracts/NFDRegistry.algo.ts:1354", "pc": [ 5501 ] }, { "teal": 5659, "source": "contracts/NFDRegistry.algo.ts:1355", "pc": [ 5502, 5503 ] }, { "teal": 5660, "source": "contracts/NFDRegistry.algo.ts:1355", "pc": [ 5504 ] }, { "teal": 5661, "source": "contracts/NFDRegistry.algo.ts:1355", "pc": [ 5505, 5506 ] }, { "teal": 5662, "source": "contracts/NFDRegistry.algo.ts:1355", "pc": [ 5507 ] }, { "teal": 5663, "source": "contracts/NFDRegistry.algo.ts:1355", "pc": [ 5508 ] }, { "teal": 5664, "source": "contracts/NFDRegistry.algo.ts:1355", "pc": [ 5509 ] }, { "teal": 5665, "source": "contracts/NFDRegistry.algo.ts:1357", "pc": [ 5510 ] }, { "teal": 5666, "source": "contracts/NFDRegistry.algo.ts:1357", "pc": [ 5511, 5512 ] }, { "teal": 5667, "source": "contracts/NFDRegistry.algo.ts:1357", "pc": [ 5513 ] }, { "teal": 5668, "source": "contracts/NFDRegistry.algo.ts:1356", "pc": [ 5514, 5515 ] }, { "teal": 5669, "source": "contracts/NFDRegistry.algo.ts:1356", "pc": [ 5516, 5517 ] }, { "teal": 5670, "source": "contracts/NFDRegistry.algo.ts:1356", "pc": [ 5518 ] }, { "teal": 5671, "source": "contracts/NFDRegistry.algo.ts:1352", "pc": [ 5519 ] }, { "teal": 5674, "source": "contracts/NFDRegistry.algo.ts:1266", "pc": [ 5520, 5521 ] }, { "teal": 5677, "source": "contracts/NFDRegistry.algo.ts:1266", "pc": [ 5522, 5523 ] }, { "teal": 5678, "source": "contracts/NFDRegistry.algo.ts:1266", "pc": [ 5524 ] }, { "teal": 5683, "source": "contracts/NFDRegistry.algo.ts:1369", "pc": [ 5525 ] }, { "teal": 5686, "source": "contracts/NFDRegistry.algo.ts:1369", "pc": [ 5526, 5527, 5528 ] }, { "teal": 5687, "source": "contracts/NFDRegistry.algo.ts:1369", "pc": [ 5529 ] }, { "teal": 5690, "source": "contracts/NFDRegistry.algo.ts:1369", "pc": [ 5530, 5531, 5532 ] }, { "teal": 5691, "source": "contracts/NFDRegistry.algo.ts:1369", "pc": [ 5533 ] }, { "teal": 5694, "source": "contracts/NFDRegistry.algo.ts:1369", "pc": [ 5534, 5535, 5536 ] }, { "teal": 5695, "source": "contracts/NFDRegistry.algo.ts:1369", "pc": [ 5537 ] }, { "teal": 5696, "source": "contracts/NFDRegistry.algo.ts:1369", "pc": [ 5538 ] }, { "teal": 5697, "source": "contracts/NFDRegistry.algo.ts:1369", "pc": [ 5539 ] }, { "teal": 5698, "source": "contracts/NFDRegistry.algo.ts:1369", "pc": [ 5540 ] }, { "teal": 5699, "source": "contracts/NFDRegistry.algo.ts:1369", "pc": [ 5541 ] }, { "teal": 5710, "source": "contracts/NFDRegistry.algo.ts:1369", "pc": [ 5542, 5543, 5544 ] }, { "teal": 5713, "source": "contracts/NFDRegistry.algo.ts:1369", "pc": [ 5545 ] }, { "teal": 5714, "source": "contracts/NFDRegistry.algo.ts:1369", "pc": [ 5546, 5547 ] }, { "teal": 5719, "source": "contracts/NFDRegistry.algo.ts:1372", "pc": [ 5548, 5549 ] }, { "teal": 5720, "source": "contracts/NFDRegistry.algo.ts:1372", "pc": [ 5550, 5551 ] }, { "teal": 5721, "source": "contracts/NFDRegistry.algo.ts:1372", "pc": [ 5552 ] }, { "teal": 5722, "source": "contracts/NFDRegistry.algo.ts:1372", "pc": [ 5553, 5554, 5555 ] }, { "teal": 5727, "source": "contracts/NFDRegistry.algo.ts:1374", "pc": [ 5556, 5557 ] }, { "teal": 5728, "source": "contracts/NFDRegistry.algo.ts:1374", "pc": [ 5558, 5559, 5560 ] }, { "teal": 5733, "source": "contracts/NFDRegistry.algo.ts:1376", "pc": [ 5561, 5562 ] }, { "teal": 5734, "source": "contracts/NFDRegistry.algo.ts:1376", "pc": [ 5563, 5564 ] }, { "teal": 5735, "source": "contracts/NFDRegistry.algo.ts:1376", "pc": [ 5565 ] }, { "teal": 5736, "source": "contracts/NFDRegistry.algo.ts:1376", "pc": [ 5566, 5567 ] }, { "teal": 5740, "source": "contracts/NFDRegistry.algo.ts:1379", "pc": [ 5568, 5569 ] }, { "teal": 5741, "source": "contracts/NFDRegistry.algo.ts:1379", "pc": [ 5570, 5571, 5572, 5573, 5574 ] }, { "teal": 5742, "source": "contracts/NFDRegistry.algo.ts:1379", "pc": [ 5575 ] }, { "teal": 5743, "source": "contracts/NFDRegistry.algo.ts:1379", "pc": [ 5576, 5577 ] }, { "teal": 5748, "source": "contracts/NFDRegistry.algo.ts:1380", "pc": [ 5578, 5579 ] }, { "teal": 5749, "source": "contracts/NFDRegistry.algo.ts:1380", "pc": [ 5580 ] }, { "teal": 5750, "source": "contracts/NFDRegistry.algo.ts:1380", "pc": [ 5581 ] }, { "teal": 5751, "source": "contracts/NFDRegistry.algo.ts:1380", "pc": [ 5582, 5583, 5584 ] }, { "teal": 5756, "source": "contracts/NFDRegistry.algo.ts:1381", "pc": [ 5585, 5586 ] }, { "teal": 5757, "source": "contracts/NFDRegistry.algo.ts:1381", "pc": [ 5587, 5588, 5589 ] }, { "teal": 5762, "source": "contracts/NFDRegistry.algo.ts:1387", "pc": [ 5590, 5591 ] }, { "teal": 5763, "source": "contracts/NFDRegistry.algo.ts:1387", "pc": [ 5592, 5593 ] }, { "teal": 5764, "source": "contracts/NFDRegistry.algo.ts:1387", "pc": [ 5594 ] }, { "teal": 5765, "source": "contracts/NFDRegistry.algo.ts:1387", "pc": [ 5595, 5596 ] }, { "teal": 5766, "source": "contracts/NFDRegistry.algo.ts:1387", "pc": [ 5597, 5598 ] }, { "teal": 5770, "source": "contracts/NFDRegistry.algo.ts:1388", "pc": [ 5599, 5600 ] }, { "teal": 5771, "source": "contracts/NFDRegistry.algo.ts:1388", "pc": [ 5601, 5602 ] }, { "teal": 5772, "source": "contracts/NFDRegistry.algo.ts:1388", "pc": [ 5603 ] }, { "teal": 5773, "source": "contracts/NFDRegistry.algo.ts:1388", "pc": [ 5604, 5605 ] }, { "teal": 5774, "source": "contracts/NFDRegistry.algo.ts:1388", "pc": [ 5606 ] }, { "teal": 5778, "source": "contracts/NFDRegistry.algo.ts:1369", "pc": [ 5607, 5608 ] }, { "teal": 5781, "source": "contracts/NFDRegistry.algo.ts:1369", "pc": [ 5609, 5610 ] }, { "teal": 5782, "source": "contracts/NFDRegistry.algo.ts:1369", "pc": [ 5611 ] }, { "teal": 5786, "source": "contracts/NFDRegistry.algo.ts:1391", "pc": [ 5612, 5613, 5614 ] }, { "teal": 5789, "source": "contracts/NFDRegistry.algo.ts:1391", "pc": [ 5615 ] }, { "teal": 5790, "source": "contracts/NFDRegistry.algo.ts:1391", "pc": [ 5616 ] }, { "teal": 5794, "source": "contracts/NFDRegistry.algo.ts:1392", "pc": [ 5617, 5618 ] }, { "teal": 5795, "source": "contracts/NFDRegistry.algo.ts:1392", "pc": [ 5619, 5620 ] }, { "teal": 5796, "source": "contracts/NFDRegistry.algo.ts:1392", "pc": [ 5621 ] }, { "teal": 5797, "source": "contracts/NFDRegistry.algo.ts:1392", "pc": [ 5622, 5623 ] }, { "teal": 5798, "source": "contracts/NFDRegistry.algo.ts:1392", "pc": [ 5624, 5625 ] }, { "teal": 5802, "source": "contracts/NFDRegistry.algo.ts:1393", "pc": [ 5626, 5627 ] }, { "teal": 5805, "source": "contracts/NFDRegistry.algo.ts:1391", "pc": [ 5628, 5629 ] }, { "teal": 5808, "source": "contracts/NFDRegistry.algo.ts:1391", "pc": [ 5630, 5631 ] }, { "teal": 5809, "source": "contracts/NFDRegistry.algo.ts:1391", "pc": [ 5632 ] }, { "teal": 5813, "source": "contracts/NFDRegistry.algo.ts:1396", "pc": [ 5633, 5634, 5635 ] }, { "teal": 5816, "source": "contracts/NFDRegistry.algo.ts:1396", "pc": [ 5636 ] }, { "teal": 5820, "source": "contracts/NFDRegistry.algo.ts:1405", "pc": [ 5637, 5638 ] }, { "teal": 5821, "source": "contracts/NFDRegistry.algo.ts:1405", "pc": [ 5639, 5640 ] }, { "teal": 5825, "source": "contracts/NFDRegistry.algo.ts:1406", "pc": [ 5641, 5642 ] }, { "teal": 5826, "source": "contracts/NFDRegistry.algo.ts:1406", "pc": [ 5643, 5644 ] }, { "teal": 5827, "source": "contracts/NFDRegistry.algo.ts:1406", "pc": [ 5645, 5646 ] }, { "teal": 5828, "source": "contracts/NFDRegistry.algo.ts:1406", "pc": [ 5647 ] }, { "teal": 5829, "source": "contracts/NFDRegistry.algo.ts:1406", "pc": [ 5648 ] }, { "teal": 5830, "source": "contracts/NFDRegistry.algo.ts:1406", "pc": [ 5649, 5650 ] }, { "teal": 5834, "source": "contracts/NFDRegistry.algo.ts:1407", "pc": [ 5651, 5652 ] }, { "teal": 5835, "source": "contracts/NFDRegistry.algo.ts:1407", "pc": [ 5653, 5654 ] }, { "teal": 5836, "source": "contracts/NFDRegistry.algo.ts:1407", "pc": [ 5655, 5656 ] }, { "teal": 5837, "source": "contracts/NFDRegistry.algo.ts:1407", "pc": [ 5657 ] }, { "teal": 5838, "source": "contracts/NFDRegistry.algo.ts:1407", "pc": [ 5658 ] }, { "teal": 5839, "source": "contracts/NFDRegistry.algo.ts:1407", "pc": [ 5659, 5660 ] }, { "teal": 5843, "source": "contracts/NFDRegistry.algo.ts:1408", "pc": [ 5661, 5662 ] }, { "teal": 5844, "source": "contracts/NFDRegistry.algo.ts:1408", "pc": [ 5663, 5664 ] }, { "teal": 5845, "source": "contracts/NFDRegistry.algo.ts:1408", "pc": [ 5665, 5666 ] }, { "teal": 5846, "source": "contracts/NFDRegistry.algo.ts:1408", "pc": [ 5667 ] }, { "teal": 5847, "source": "contracts/NFDRegistry.algo.ts:1408", "pc": [ 5668 ] }, { "teal": 5848, "source": "contracts/NFDRegistry.algo.ts:1408", "pc": [ 5669, 5670 ] }, { "teal": 5852, "source": "contracts/NFDRegistry.algo.ts:1409", "pc": [ 5671, 5672 ] }, { "teal": 5853, "source": "contracts/NFDRegistry.algo.ts:1409", "pc": [ 5673, 5674 ] }, { "teal": 5854, "source": "contracts/NFDRegistry.algo.ts:1409", "pc": [ 5675, 5676 ] }, { "teal": 5855, "source": "contracts/NFDRegistry.algo.ts:1409", "pc": [ 5677 ] }, { "teal": 5856, "source": "contracts/NFDRegistry.algo.ts:1409", "pc": [ 5678 ] }, { "teal": 5857, "source": "contracts/NFDRegistry.algo.ts:1409", "pc": [ 5679, 5680 ] }, { "teal": 5861, "source": "contracts/NFDRegistry.algo.ts:1410", "pc": [ 5681, 5682 ] }, { "teal": 5862, "source": "contracts/NFDRegistry.algo.ts:1410", "pc": [ 5683, 5684 ] }, { "teal": 5863, "source": "contracts/NFDRegistry.algo.ts:1410", "pc": [ 5685, 5686 ] }, { "teal": 5864, "source": "contracts/NFDRegistry.algo.ts:1410", "pc": [ 5687 ] }, { "teal": 5865, "source": "contracts/NFDRegistry.algo.ts:1410", "pc": [ 5688 ] }, { "teal": 5866, "source": "contracts/NFDRegistry.algo.ts:1410", "pc": [ 5689, 5690 ] }, { "teal": 5870, "source": "contracts/NFDRegistry.algo.ts:1411", "pc": [ 5691, 5692 ] }, { "teal": 5871, "source": "contracts/NFDRegistry.algo.ts:1411", "pc": [ 5693, 5694 ] }, { "teal": 5872, "source": "contracts/NFDRegistry.algo.ts:1411", "pc": [ 5695, 5696 ] }, { "teal": 5873, "source": "contracts/NFDRegistry.algo.ts:1411", "pc": [ 5697 ] }, { "teal": 5874, "source": "contracts/NFDRegistry.algo.ts:1411", "pc": [ 5698 ] }, { "teal": 5875, "source": "contracts/NFDRegistry.algo.ts:1411", "pc": [ 5699, 5700 ] }, { "teal": 5879, "source": "contracts/NFDRegistry.algo.ts:1412", "pc": [ 5701, 5702 ] }, { "teal": 5880, "source": "contracts/NFDRegistry.algo.ts:1412", "pc": [ 5703, 5704 ] }, { "teal": 5881, "source": "contracts/NFDRegistry.algo.ts:1412", "pc": [ 5705, 5706 ] }, { "teal": 5882, "source": "contracts/NFDRegistry.algo.ts:1412", "pc": [ 5707 ] }, { "teal": 5883, "source": "contracts/NFDRegistry.algo.ts:1412", "pc": [ 5708 ] }, { "teal": 5884, "source": "contracts/NFDRegistry.algo.ts:1412", "pc": [ 5709, 5710 ] }, { "teal": 5888, "source": "contracts/NFDRegistry.algo.ts:1413", "pc": [ 5711, 5712 ] }, { "teal": 5891, "source": "contracts/NFDRegistry.algo.ts:1396", "pc": [ 5713, 5714 ] }, { "teal": 5892, "source": "contracts/NFDRegistry.algo.ts:1396", "pc": [ 5715 ] }, { "teal": 5896, "source": "contracts/NFDRegistry.algo.ts:1416", "pc": [ 5716, 5717, 5718 ] }, { "teal": 5900, "source": "contracts/NFDRegistry.algo.ts:1417", "pc": [ 5719, 5720, 5721 ] }, { "teal": 5901, "source": "contracts/NFDRegistry.algo.ts:1417", "pc": [ 5722, 5723 ] }, { "teal": 5902, "source": "contracts/NFDRegistry.algo.ts:1417", "pc": [ 5724 ] }, { "teal": 5903, "source": "contracts/NFDRegistry.algo.ts:1417", "pc": [ 5725, 5726 ] }, { "teal": 5904, "source": "contracts/NFDRegistry.algo.ts:1417", "pc": [ 5727, 5728, 5729 ] }, { "teal": 5905, "source": "contracts/NFDRegistry.algo.ts:1417", "pc": [ 5730 ] }, { "teal": 5906, "source": "contracts/NFDRegistry.algo.ts:1417", "pc": [ 5731 ] }, { "teal": 5907, "source": "contracts/NFDRegistry.algo.ts:1416", "pc": [ 5732 ] }, { "teal": 5911, "source": "contracts/NFDRegistry.algo.ts:1421", "pc": [ 5733, 5734, 5735 ] }, { "teal": 5916, "source": "contracts/NFDRegistry.algo.ts:1422", "pc": [ 5736, 5737 ] }, { "teal": 5917, "source": "contracts/NFDRegistry.algo.ts:1422", "pc": [ 5738 ] }, { "teal": 5918, "source": "contracts/NFDRegistry.algo.ts:1422", "pc": [ 5739, 5740 ] }, { "teal": 5919, "source": "contracts/NFDRegistry.algo.ts:1422", "pc": [ 5741 ] }, { "teal": 5920, "source": "contracts/NFDRegistry.algo.ts:1422", "pc": [ 5742, 5743, 5744 ] }, { "teal": 5925, "source": "contracts/NFDRegistry.algo.ts:1423", "pc": [ 5745, 5746 ] }, { "teal": 5926, "source": "contracts/NFDRegistry.algo.ts:1423", "pc": [ 5747 ] }, { "teal": 5931, "source": "contracts/NFDRegistry.algo.ts:1426", "pc": [ 5748, 5749 ] }, { "teal": 5932, "source": "contracts/NFDRegistry.algo.ts:1426", "pc": [ 5750 ] }, { "teal": 5933, "source": "contracts/NFDRegistry.algo.ts:1426", "pc": [ 5751, 5752 ] }, { "teal": 5934, "source": "contracts/NFDRegistry.algo.ts:1426", "pc": [ 5753, 5754 ] }, { "teal": 5935, "source": "contracts/NFDRegistry.algo.ts:1426", "pc": [ 5755 ] }, { "teal": 5936, "source": "contracts/NFDRegistry.algo.ts:1426", "pc": [ 5756 ] }, { "teal": 5937, "source": "contracts/NFDRegistry.algo.ts:1426", "pc": [ 5757 ] }, { "teal": 5938, "source": "contracts/NFDRegistry.algo.ts:1426", "pc": [ 5758, 5759 ] }, { "teal": 5939, "source": "contracts/NFDRegistry.algo.ts:1426", "pc": [ 5760 ] }, { "teal": 5940, "source": "contracts/NFDRegistry.algo.ts:1421", "pc": [ 5761 ] }, { "teal": 5944, "source": "contracts/NFDRegistry.algo.ts:1429", "pc": [ 5762, 5763, 5764 ] }, { "teal": 5947, "source": "contracts/NFDRegistry.algo.ts:1429", "pc": [ 5765 ] }, { "teal": 5951, "source": "contracts/NFDRegistry.algo.ts:1430", "pc": [ 5766, 5767 ] }, { "teal": 5952, "source": "contracts/NFDRegistry.algo.ts:1430", "pc": [ 5768, 5769 ] }, { "teal": 5957, "source": "contracts/NFDRegistry.algo.ts:1431", "pc": [ 5770, 5771 ] }, { "teal": 5958, "source": "contracts/NFDRegistry.algo.ts:1431", "pc": [ 5772, 5773 ] }, { "teal": 5959, "source": "contracts/NFDRegistry.algo.ts:1431", "pc": [ 5774 ] }, { "teal": 5960, "source": "contracts/NFDRegistry.algo.ts:1431", "pc": [ 5775, 5776, 5777 ] }, { "teal": 5965, "source": "contracts/NFDRegistry.algo.ts:1432", "pc": [ 5778, 5779 ] }, { "teal": 5966, "source": "contracts/NFDRegistry.algo.ts:1432", "pc": [ 5780, 5781 ] }, { "teal": 5967, "source": "contracts/NFDRegistry.algo.ts:1432", "pc": [ 5782 ] }, { "teal": 5968, "source": "contracts/NFDRegistry.algo.ts:1432", "pc": [ 5783, 5784 ] }, { "teal": 5969, "source": "contracts/NFDRegistry.algo.ts:1432", "pc": [ 5785 ] }, { "teal": 5970, "source": "contracts/NFDRegistry.algo.ts:1432", "pc": [ 5786 ] }, { "teal": 5971, "source": "contracts/NFDRegistry.algo.ts:1432", "pc": [ 5787, 5788, 5789 ] }, { "teal": 5972, "source": "contracts/NFDRegistry.algo.ts:1432", "pc": [ 5790, 5791 ] }, { "teal": 5973, "source": "contracts/NFDRegistry.algo.ts:1432", "pc": [ 5792, 5793 ] }, { "teal": 5974, "source": "contracts/NFDRegistry.algo.ts:1432", "pc": [ 5794 ] }, { "teal": 5975, "source": "contracts/NFDRegistry.algo.ts:1432", "pc": [ 5795, 5796, 5797 ] }, { "teal": 5976, "source": "contracts/NFDRegistry.algo.ts:1432", "pc": [ 5798, 5799 ] }, { "teal": 5977, "source": "contracts/NFDRegistry.algo.ts:1431", "pc": [ 5800, 5801, 5802 ] }, { "teal": 5982, "source": "contracts/NFDRegistry.algo.ts:1433", "pc": [ 5803, 5804 ] }, { "teal": 5983, "source": "contracts/NFDRegistry.algo.ts:1433", "pc": [ 5805, 5806 ] }, { "teal": 5984, "source": "contracts/NFDRegistry.algo.ts:1433", "pc": [ 5807 ] }, { "teal": 5985, "source": "contracts/NFDRegistry.algo.ts:1433", "pc": [ 5808 ] }, { "teal": 5986, "source": "contracts/NFDRegistry.algo.ts:1433", "pc": [ 5809, 5810, 5811 ] }, { "teal": 5987, "source": "contracts/NFDRegistry.algo.ts:1433", "pc": [ 5812, 5813 ] }, { "teal": 5992, "source": "contracts/NFDRegistry.algo.ts:1435", "pc": [ 5814, 5815 ] }, { "teal": 5993, "source": "contracts/NFDRegistry.algo.ts:1435", "pc": [ 5816, 5817 ] }, { "teal": 5994, "source": "contracts/NFDRegistry.algo.ts:1435", "pc": [ 5818 ] }, { "teal": 5997, "source": "contracts/NFDRegistry.algo.ts:1429", "pc": [ 5819, 5820 ] }, { "teal": 5998, "source": "contracts/NFDRegistry.algo.ts:1429", "pc": [ 5821 ] }, { "teal": 6002, "source": "contracts/NFDRegistry.algo.ts:1438", "pc": [ 5822, 5823, 5824 ] }, { "teal": 6006, "source": "contracts/NFDRegistry.algo.ts:1439", "pc": [ 5825 ] }, { "teal": 6007, "source": "contracts/NFDRegistry.algo.ts:1439", "pc": [ 5826, 5827 ] }, { "teal": 6008, "source": "contracts/NFDRegistry.algo.ts:1439", "pc": [ 5828, 5829, 5830 ] }, { "teal": 6009, "source": "contracts/NFDRegistry.algo.ts:1438", "pc": [ 5831 ] }, { "teal": 6013, "source": "contracts/NFDRegistry.algo.ts:1442", "pc": [ 5832, 5833, 5834 ] }, { "teal": 6016, "source": "contracts/NFDRegistry.algo.ts:1442", "pc": [ 5835 ] }, { "teal": 6024, "source": "contracts/NFDRegistry.algo.ts:1446", "pc": [ 5836, 5837, 5838, 5839, 5840, 5841, 5842, 5843, 5844, 5845, 5846, 5847, 5848, 5849, 5850, 5851, 5852, 5853, 5854, 5855, 5856, 5857, 5858, 5859, 5860, 5861, 5862, 5863, 5864, 5865, 5866, 5867, 5868, 5869, 5870, 5871, 5872, 5873, 5874, 5875, 5876, 5877, 5878, 5879, 5880, 5881, 5882, 5883, 5884 ] }, { "teal": 6025, "source": "contracts/NFDRegistry.algo.ts:1443", "pc": [ 5885, 5886 ] }, { "teal": 6029, "source": "contracts/NFDRegistry.algo.ts:1448", "pc": [ 5887, 5888 ] }, { "teal": 6030, "source": "contracts/NFDRegistry.algo.ts:1448", "pc": [ 5889 ] }, { "teal": 6031, "source": "contracts/NFDRegistry.algo.ts:1448", "pc": [ 5890, 5891, 5892 ] }, { "teal": 6032, "source": "contracts/NFDRegistry.algo.ts:1448", "pc": [ 5893 ] }, { "teal": 6033, "source": "contracts/NFDRegistry.algo.ts:1448", "pc": [ 5894 ] }, { "teal": 6034, "source": "contracts/NFDRegistry.algo.ts:1448", "pc": [ 5895, 5896 ] }, { "teal": 6038, "source": "contracts/NFDRegistry.algo.ts:1449", "pc": [ 5897, 5898 ] }, { "teal": 6039, "source": "contracts/NFDRegistry.algo.ts:1449", "pc": [ 5899, 5900 ] }, { "teal": 6040, "source": "contracts/NFDRegistry.algo.ts:1449", "pc": [ 5901 ] }, { "teal": 6041, "source": "contracts/NFDRegistry.algo.ts:1449", "pc": [ 5902, 5903, 5904 ] }, { "teal": 6042, "source": "contracts/NFDRegistry.algo.ts:1449", "pc": [ 5905 ] }, { "teal": 6043, "source": "contracts/NFDRegistry.algo.ts:1449", "pc": [ 5906, 5907 ] }, { "teal": 6044, "source": "contracts/NFDRegistry.algo.ts:1449", "pc": [ 5908 ] }, { "teal": 6045, "source": "contracts/NFDRegistry.algo.ts:1449", "pc": [ 5909, 5910 ] }, { "teal": 6049, "source": "contracts/NFDRegistry.algo.ts:1450", "pc": [ 5911, 5912, 5913, 5914, 5915, 5916, 5917, 5918, 5919 ] }, { "teal": 6050, "source": "contracts/NFDRegistry.algo.ts:1450", "pc": [ 5920, 5921 ] }, { "teal": 6051, "source": "contracts/NFDRegistry.algo.ts:1450", "pc": [ 5922 ] }, { "teal": 6052, "source": "contracts/NFDRegistry.algo.ts:1450", "pc": [ 5923 ] }, { "teal": 6055, "source": "contracts/NFDRegistry.algo.ts:1442", "pc": [ 5924, 5925 ] }, { "teal": 6056, "source": "contracts/NFDRegistry.algo.ts:1442", "pc": [ 5926 ] }, { "teal": 6060, "source": "contracts/NFDRegistry.algo.ts:1453", "pc": [ 5927, 5928, 5929 ] }, { "teal": 6063, "source": "contracts/NFDRegistry.algo.ts:1453", "pc": [ 5930 ] }, { "teal": 6067, "source": "contracts/NFDRegistry.algo.ts:1454", "pc": [ 5931, 5932 ] }, { "teal": 6068, "source": "contracts/NFDRegistry.algo.ts:1454", "pc": [ 5933, 5934 ] }, { "teal": 6069, "source": "contracts/NFDRegistry.algo.ts:1454", "pc": [ 5935 ] }, { "teal": 6070, "source": "contracts/NFDRegistry.algo.ts:1454", "pc": [ 5936, 5937, 5938 ] }, { "teal": 6071, "source": "contracts/NFDRegistry.algo.ts:1454", "pc": [ 5939, 5940 ] }, { "teal": 6078, "source": "contracts/NFDRegistry.algo.ts:1457", "pc": [ 5941, 5942 ] }, { "teal": 6079, "source": "contracts/NFDRegistry.algo.ts:1457", "pc": [ 5943, 5944, 5945 ] }, { "teal": 6080, "source": "contracts/NFDRegistry.algo.ts:1457", "pc": [ 5946, 5947 ] }, { "teal": 6081, "source": "contracts/NFDRegistry.algo.ts:1457", "pc": [ 5948 ] }, { "teal": 6082, "source": "contracts/NFDRegistry.algo.ts:1457", "pc": [ 5949 ] }, { "teal": 6083, "source": "contracts/NFDRegistry.algo.ts:1457", "pc": [ 5950 ] }, { "teal": 6086, "source": "contracts/NFDRegistry.algo.ts:1456", "errorMessage": "lsig has to have i.appid localstate", "pc": [ 5951 ] }, { "teal": 6090, "source": "contracts/NFDRegistry.algo.ts:1460", "pc": [ 5952, 5953 ] }, { "teal": 6091, "source": "contracts/NFDRegistry.algo.ts:1460", "pc": [ 5954, 5955 ] }, { "teal": 6092, "source": "contracts/NFDRegistry.algo.ts:1460", "pc": [ 5956 ] }, { "teal": 6093, "source": "contracts/NFDRegistry.algo.ts:1460", "pc": [ 5957, 5958 ] }, { "teal": 6094, "source": "contracts/NFDRegistry.algo.ts:1460", "pc": [ 5959 ] }, { "teal": 6095, "source": "contracts/NFDRegistry.algo.ts:1460", "pc": [ 5960 ] }, { "teal": 6098, "source": "contracts/NFDRegistry.algo.ts:1453", "pc": [ 5961, 5962 ] }, { "teal": 6099, "source": "contracts/NFDRegistry.algo.ts:1453", "pc": [ 5963 ] }, { "teal": 6103, "source": "contracts/NFDRegistry.algo.ts:1463", "pc": [ 5964, 5965, 5966 ] }, { "teal": 6107, "source": "contracts/NFDRegistry.algo.ts:1464", "pc": [ 5967, 5968 ] }, { "teal": 6108, "source": "contracts/NFDRegistry.algo.ts:1464", "pc": [ 5969, 5970 ] }, { "teal": 6109, "source": "contracts/NFDRegistry.algo.ts:1464", "pc": [ 5971 ] }, { "teal": 6110, "source": "contracts/NFDRegistry.algo.ts:1464", "pc": [ 5972 ] }, { "teal": 6111, "source": "contracts/NFDRegistry.algo.ts:1463", "pc": [ 5973 ] }, { "teal": 6115, "source": "contracts/NFDRegistry.algo.ts:1467", "pc": [ 5974, 5975, 5976 ] }, { "teal": 6119, "source": "contracts/NFDRegistry.algo.ts:1468", "pc": [ 5977, 5978, 5979, 5980, 5981, 5982, 5983, 5984, 5985, 5986, 5987, 5988 ] }, { "teal": 6120, "source": "contracts/NFDRegistry.algo.ts:1468", "pc": [ 5989, 5990 ] }, { "teal": 6121, "source": "contracts/NFDRegistry.algo.ts:1468", "pc": [ 5991 ] }, { "teal": 6122, "source": "contracts/NFDRegistry.algo.ts:1468", "pc": [ 5992 ] }, { "teal": 6123, "source": "contracts/NFDRegistry.algo.ts:1467", "pc": [ 5993 ] }, { "teal": 6127, "source": "contracts/NFDRegistry.algo.ts:1473", "pc": [ 5994, 5995, 5996 ] }, { "teal": 6131, "source": "contracts/NFDRegistry.algo.ts:1474", "pc": [ 5997, 5998, 5999 ] }, { "teal": 6132, "source": "contracts/NFDRegistry.algo.ts:1474", "pc": [ 6000, 6001 ] }, { "teal": 6133, "source": "contracts/NFDRegistry.algo.ts:1474", "pc": [ 6002, 6003 ] }, { "teal": 6134, "source": "contracts/NFDRegistry.algo.ts:1474", "pc": [ 6004 ] }, { "teal": 6135, "source": "contracts/NFDRegistry.algo.ts:1474", "pc": [ 6005 ] }, { "teal": 6136, "source": "contracts/NFDRegistry.algo.ts:1474", "pc": [ 6006 ] }, { "teal": 6137, "source": "contracts/NFDRegistry.algo.ts:1473", "pc": [ 6007 ] }, { "teal": 6141, "source": "contracts/NFDRegistry.algo.ts:1477", "pc": [ 6008, 6009, 6010 ] }, { "teal": 6144, "source": "contracts/NFDRegistry.algo.ts:1477", "pc": [ 6011 ] }, { "teal": 6145, "source": "contracts/NFDRegistry.algo.ts:1477", "pc": [ 6012, 6013 ] }, { "teal": 6149, "source": "contracts/NFDRegistry.algo.ts:1478", "pc": [ 6014, 6015 ] }, { "teal": 6150, "source": "contracts/NFDRegistry.algo.ts:1478", "pc": [ 6016, 6017, 6018 ] }, { "teal": 6151, "source": "contracts/NFDRegistry.algo.ts:1478", "pc": [ 6019, 6020 ] }, { "teal": 6155, "source": "contracts/NFDRegistry.algo.ts:1479", "pc": [ 6021, 6022 ] }, { "teal": 6156, "source": "contracts/NFDRegistry.algo.ts:1479", "pc": [ 6023 ] }, { "teal": 6159, "source": "contracts/NFDRegistry.algo.ts:1479", "errorMessage": "box value does not exist: this.boxes(boxName).value", "pc": [ 6024 ] }, { "teal": 6160, "source": "contracts/NFDRegistry.algo.ts:1479", "pc": [ 6025, 6026 ] }, { "teal": 6164, "source": "contracts/NFDRegistry.algo.ts:1480", "pc": [ 6027, 6028 ] }, { "teal": 6165, "source": "contracts/NFDRegistry.algo.ts:1480", "pc": [ 6029 ] }, { "teal": 6168, "source": "contracts/NFDRegistry.algo.ts:1480", "errorMessage": "box value does not exist: this.boxes(boxName).size", "pc": [ 6030 ] }, { "teal": 6169, "source": "contracts/NFDRegistry.algo.ts:1480", "pc": [ 6031, 6032 ] }, { "teal": 6174, "source": "contracts/NFDRegistry.algo.ts:1483", "pc": [ 6033, 6034 ] }, { "teal": 6175, "source": "contracts/NFDRegistry.algo.ts:1483", "pc": [ 6035 ] }, { "teal": 6176, "source": "contracts/NFDRegistry.algo.ts:1483", "pc": [ 6036 ] }, { "teal": 6177, "source": "contracts/NFDRegistry.algo.ts:1483", "pc": [ 6037 ] }, { "teal": 6178, "source": "contracts/NFDRegistry.algo.ts:1483", "pc": [ 6038 ] }, { "teal": 6179, "source": "contracts/NFDRegistry.algo.ts:1483", "pc": [ 6039, 6040, 6041 ] }, { "teal": 6184, "source": "contracts/NFDRegistry.algo.ts:1483", "pc": [ 6042 ] }, { "teal": 6185, "source": "contracts/NFDRegistry.algo.ts:1483", "pc": [ 6043, 6044, 6045 ] }, { "teal": 6191, "source": "contracts/NFDRegistry.algo.ts:1485", "pc": [ 6046, 6047 ] }, { "teal": 6192, "source": "contracts/NFDRegistry.algo.ts:1485", "pc": [ 6048, 6049 ] }, { "teal": 6193, "source": "contracts/NFDRegistry.algo.ts:1485", "pc": [ 6050 ] }, { "teal": 6194, "source": "contracts/NFDRegistry.algo.ts:1485", "pc": [ 6051, 6052, 6053 ] }, { "teal": 6199, "source": "contracts/NFDRegistry.algo.ts:1485", "pc": [ 6054 ] }, { "teal": 6200, "source": "contracts/NFDRegistry.algo.ts:1485", "pc": [ 6055, 6056, 6057 ] }, { "teal": 6206, "source": "contracts/NFDRegistry.algo.ts:1486", "pc": [ 6058, 6059 ] }, { "teal": 6207, "source": "contracts/NFDRegistry.algo.ts:1486", "pc": [ 6060 ] }, { "teal": 6208, "source": "contracts/NFDRegistry.algo.ts:1486", "pc": [ 6061, 6062 ] }, { "teal": 6209, "source": "contracts/NFDRegistry.algo.ts:1486", "pc": [ 6063 ] }, { "teal": 6210, "source": "contracts/NFDRegistry.algo.ts:1486", "pc": [ 6064, 6065, 6066 ] }, { "teal": 6215, "source": "contracts/NFDRegistry.algo.ts:1486", "pc": [ 6067 ] }, { "teal": 6216, "source": "contracts/NFDRegistry.algo.ts:1486", "pc": [ 6068, 6069, 6070 ] }, { "teal": 6222, "source": "contracts/NFDRegistry.algo.ts:1487", "pc": [ 6071, 6072 ] }, { "teal": 6223, "source": "contracts/NFDRegistry.algo.ts:1487", "pc": [ 6073, 6074 ] }, { "teal": 6224, "source": "contracts/NFDRegistry.algo.ts:1487", "pc": [ 6075 ] }, { "teal": 6227, "source": "contracts/NFDRegistry.algo.ts:1487", "errorMessage": "global state value does not exist: AppID.fromUint64(nfdAppId).globalState(NFD_KEY_NAME)", "pc": [ 6076 ] }, { "teal": 6228, "source": "contracts/NFDRegistry.algo.ts:1487", "pc": [ 6077, 6078 ] }, { "teal": 6229, "source": "contracts/NFDRegistry.algo.ts:1487", "pc": [ 6079 ] }, { "teal": 6230, "source": "contracts/NFDRegistry.algo.ts:1487", "pc": [ 6080, 6081, 6082 ] }, { "teal": 6235, "source": "contracts/NFDRegistry.algo.ts:1487", "pc": [ 6083 ] }, { "teal": 6236, "source": "contracts/NFDRegistry.algo.ts:1487", "pc": [ 6084, 6085, 6086 ] }, { "teal": 6241, "source": "contracts/NFDRegistry.algo.ts:1488", "pc": [ 6087, 6088 ] }, { "teal": 6242, "source": "contracts/NFDRegistry.algo.ts:1488", "pc": [ 6089 ] }, { "teal": 6243, "source": "contracts/NFDRegistry.algo.ts:1488", "pc": [ 6090 ] }, { "teal": 6244, "source": "contracts/NFDRegistry.algo.ts:1488", "pc": [ 6091, 6092 ] }, { "teal": 6245, "source": "contracts/NFDRegistry.algo.ts:1488", "pc": [ 6093 ] }, { "teal": 6249, "source": "contracts/NFDRegistry.algo.ts:1477", "pc": [ 6094, 6095 ] }, { "teal": 6252, "source": "contracts/NFDRegistry.algo.ts:1477", "pc": [ 6096, 6097 ] }, { "teal": 6253, "source": "contracts/NFDRegistry.algo.ts:1477", "pc": [ 6098 ] }, { "teal": 6266, "source": "contracts/NFDRegistry.algo.ts:1501", "pc": [ 6099, 6100, 6101 ] }, { "teal": 6269, "source": "contracts/NFDRegistry.algo.ts:1501", "pc": [ 6102 ] }, { "teal": 6270, "source": "contracts/NFDRegistry.algo.ts:1501", "pc": [ 6103 ] }, { "teal": 6274, "source": "contracts/NFDRegistry.algo.ts:1502", "pc": [ 6104, 6105 ] }, { "teal": 6275, "source": "contracts/NFDRegistry.algo.ts:1502", "pc": [ 6106, 6107 ] }, { "teal": 6276, "source": "contracts/NFDRegistry.algo.ts:1502", "pc": [ 6108 ] }, { "teal": 6277, "source": "contracts/config.algo.ts:5", "pc": [ 6109, 6110 ] }, { "teal": 6278, "source": "contracts/NFDRegistry.algo.ts:1502", "pc": [ 6111 ] }, { "teal": 6279, "source": "contracts/NFDRegistry.algo.ts:1502", "pc": [ 6112, 6113 ] }, { "teal": 6280, "source": "contracts/NFDRegistry.algo.ts:1502", "pc": [ 6114 ] }, { "teal": 6281, "source": "contracts/NFDRegistry.algo.ts:1502", "pc": [ 6115, 6116 ] }, { "teal": 6285, "source": "contracts/NFDRegistry.algo.ts:1503", "pc": [ 6117, 6118 ] }, { "teal": 6286, "source": "contracts/NFDRegistry.algo.ts:1503", "pc": [ 6119, 6120 ] }, { "teal": 6287, "source": "contracts/NFDRegistry.algo.ts:1503", "pc": [ 6121 ] }, { "teal": 6288, "source": "contracts/NFDRegistry.algo.ts:1503", "pc": [ 6122, 6123 ] }, { "teal": 6295, "source": "contracts/NFDRegistry.algo.ts:1506", "pc": [ 6124, 6125 ] }, { "teal": 6296, "source": "contracts/NFDRegistry.algo.ts:1506", "pc": [ 6126, 6127 ] }, { "teal": 6297, "source": "contracts/NFDRegistry.algo.ts:1506", "pc": [ 6128, 6129 ] }, { "teal": 6298, "source": "contracts/NFDRegistry.algo.ts:1506", "pc": [ 6130, 6131 ] }, { "teal": 6299, "source": "contracts/NFDRegistry.algo.ts:1506", "pc": [ 6132 ] }, { "teal": 6300, "source": "contracts/config.algo.ts:5", "pc": [ 6133, 6134 ] }, { "teal": 6301, "source": "contracts/NFDRegistry.algo.ts:1506", "pc": [ 6135 ] }, { "teal": 6302, "source": "contracts/NFDRegistry.algo.ts:1506", "pc": [ 6136 ] }, { "teal": 6303, "source": "contracts/NFDRegistry.algo.ts:1506", "pc": [ 6137 ] }, { "teal": 6306, "source": "contracts/NFDRegistry.algo.ts:1505", "errorMessage": "max expiration exceeded parameters defined by registry", "pc": [ 6138 ] }, { "teal": 6310, "source": "contracts/NFDRegistry.algo.ts:1509", "pc": [ 6139, 6140 ] }, { "teal": 6313, "source": "contracts/NFDRegistry.algo.ts:1501", "pc": [ 6141, 6142 ] }, { "teal": 6316, "source": "contracts/NFDRegistry.algo.ts:1501", "pc": [ 6143, 6144 ] }, { "teal": 6317, "source": "contracts/NFDRegistry.algo.ts:1501", "pc": [ 6145 ] }, { "teal": 6321, "source": "contracts/NFDRegistry.algo.ts:1512", "pc": [ 6146, 6147, 6148 ] }, { "teal": 6324, "source": "contracts/NFDRegistry.algo.ts:1512", "pc": [ 6149 ] }, { "teal": 6328, "source": "contracts/NFDRegistry.algo.ts:1513", "pc": [ 6150, 6151 ] }, { "teal": 6329, "source": "contracts/NFDRegistry.algo.ts:1513", "pc": [ 6152, 6153 ] }, { "teal": 6330, "source": "contracts/NFDRegistry.algo.ts:1513", "pc": [ 6154 ] }, { "teal": 6333, "source": "contracts/NFDRegistry.algo.ts:1513", "errorMessage": "global state value does not exist: AppID.fromUint64(appId).globalState(NFD_KEY_VERSION)", "pc": [ 6155 ] }, { "teal": 6334, "source": "contracts/NFDRegistry.algo.ts:1513", "pc": [ 6156, 6157, 6158 ] }, { "teal": 6335, "source": "contracts/NFDRegistry.algo.ts:1513", "pc": [ 6159, 6160 ] }, { "teal": 6339, "source": "contracts/NFDRegistry.algo.ts:1514", "pc": [ 6161, 6162 ] }, { "teal": 6340, "source": "contracts/NFDRegistry.algo.ts:1514", "pc": [ 6163, 6164, 6165, 6166 ] }, { "teal": 6341, "source": "contracts/NFDRegistry.algo.ts:1514", "pc": [ 6167 ] }, { "teal": 6342, "source": "contracts/NFDRegistry.algo.ts:1514", "pc": [ 6168 ] }, { "teal": 6343, "source": "contracts/NFDRegistry.algo.ts:1514", "pc": [ 6169, 6170, 6171 ] }, { "teal": 6344, "source": "contracts/NFDRegistry.algo.ts:1514", "pc": [ 6172, 6173 ] }, { "teal": 6345, "source": "contracts/NFDRegistry.algo.ts:1514", "pc": [ 6174, 6175, 6176, 6177 ] }, { "teal": 6346, "source": "contracts/NFDRegistry.algo.ts:1514", "pc": [ 6178 ] }, { "teal": 6347, "source": "contracts/NFDRegistry.algo.ts:1514", "pc": [ 6179 ] }, { "teal": 6351, "source": "contracts/NFDRegistry.algo.ts:1512", "pc": [ 6180, 6181 ] }, { "teal": 6352, "source": "contracts/NFDRegistry.algo.ts:1512", "pc": [ 6182 ] }, { "teal": 6355, "source": "contracts/NFDRegistry.algo.ts:51", "pc": [ 6183 ] }, { "teal": 6356, "source": "contracts/NFDRegistry.algo.ts:51", "pc": [ 6184 ] }, { "teal": 6359, "source": "contracts/NFDRegistry.algo.ts:51", "pc": [ 6185, 6186, 6187, 6188, 6189, 6190 ] }, { "teal": 6360, "source": "contracts/NFDRegistry.algo.ts:51", "pc": [ 6191, 6192, 6193 ] }, { "teal": 6361, "source": "contracts/NFDRegistry.algo.ts:51", "pc": [ 6194, 6195, 6196, 6197 ] }, { "teal": 6364, "source": "contracts/NFDRegistry.algo.ts:51", "errorMessage": "this contract does not implement the given ABI method for create NoOp", "pc": [ 6198 ] }, { "teal": 6367, "source": "contracts/NFDRegistry.algo.ts:51", "pc": [ 6199, 6200, 6201, 6202, 6203, 6204 ] }, { "teal": 6368, "source": "contracts/NFDRegistry.algo.ts:51", "pc": [ 6205, 6206, 6207, 6208, 6209, 6210 ] }, { "teal": 6369, "source": "contracts/NFDRegistry.algo.ts:51", "pc": [ 6211, 6212, 6213, 6214, 6215, 6216 ] }, { "teal": 6370, "source": "contracts/NFDRegistry.algo.ts:51", "pc": [ 6217, 6218, 6219, 6220, 6221, 6222 ] }, { "teal": 6371, "source": "contracts/NFDRegistry.algo.ts:51", "pc": [ 6223, 6224, 6225, 6226, 6227, 6228 ] }, { "teal": 6372, "source": "contracts/NFDRegistry.algo.ts:51", "pc": [ 6229, 6230, 6231, 6232, 6233, 6234 ] }, { "teal": 6373, "source": "contracts/NFDRegistry.algo.ts:51", "pc": [ 6235, 6236, 6237, 6238, 6239, 6240 ] }, { "teal": 6374, "source": "contracts/NFDRegistry.algo.ts:51", "pc": [ 6241, 6242, 6243, 6244, 6245, 6246 ] }, { "teal": 6375, "source": "contracts/NFDRegistry.algo.ts:51", "pc": [ 6247, 6248, 6249, 6250, 6251, 6252 ] }, { "teal": 6376, "source": "contracts/NFDRegistry.algo.ts:51", "pc": [ 6253, 6254, 6255, 6256, 6257, 6258 ] }, { "teal": 6377, "source": "contracts/NFDRegistry.algo.ts:51", "pc": [ 6259, 6260, 6261, 6262, 6263, 6264 ] }, { "teal": 6378, "source": "contracts/NFDRegistry.algo.ts:51", "pc": [ 6265, 6266, 6267, 6268, 6269, 6270 ] }, { "teal": 6379, "source": "contracts/NFDRegistry.algo.ts:51", "pc": [ 6271, 6272, 6273, 6274, 6275, 6276 ] }, { "teal": 6380, "source": "contracts/NFDRegistry.algo.ts:51", "pc": [ 6277, 6278, 6279, 6280, 6281, 6282 ] }, { "teal": 6381, "source": "contracts/NFDRegistry.algo.ts:51", "pc": [ 6283, 6284, 6285, 6286, 6287, 6288 ] }, { "teal": 6382, "source": "contracts/NFDRegistry.algo.ts:51", "pc": [ 6289, 6290, 6291, 6292, 6293, 6294 ] }, { "teal": 6383, "source": "contracts/NFDRegistry.algo.ts:51", "pc": [ 6295, 6296, 6297, 6298, 6299, 6300 ] }, { "teal": 6384, "source": "contracts/NFDRegistry.algo.ts:51", "pc": [ 6301, 6302, 6303, 6304, 6305, 6306 ] }, { "teal": 6385, "source": "contracts/NFDRegistry.algo.ts:51", "pc": [ 6307, 6308, 6309, 6310, 6311, 6312 ] }, { "teal": 6386, "source": "contracts/NFDRegistry.algo.ts:51", "pc": [ 6313, 6314, 6315, 6316, 6317, 6318 ] }, { "teal": 6387, "source": "contracts/NFDRegistry.algo.ts:51", "pc": [ 6319, 6320, 6321, 6322, 6323, 6324 ] }, { "teal": 6388, "source": "contracts/NFDRegistry.algo.ts:51", "pc": [ 6325, 6326, 6327 ] }, { "teal": 6389, "source": "contracts/NFDRegistry.algo.ts:51", "pc": [ 6328, 6329, 6330, 6331, 6332, 6333, 6334, 6335, 6336, 6337, 6338, 6339, 6340, 6341, 6342, 6343, 6344, 6345, 6346, 6347, 6348, 6349, 6350, 6351, 6352, 6353, 6354, 6355, 6356, 6357, 6358, 6359, 6360, 6361, 6362, 6363, 6364, 6365, 6366, 6367, 6368, 6369, 6370, 6371 ] }, { "teal": 6392, "source": "contracts/NFDRegistry.algo.ts:51", "pc": [ 6372, 6373, 6374 ] }, { "teal": 6393, "source": "contracts/NFDRegistry.algo.ts:51", "pc": [ 6375 ] }, { "teal": 6394, "source": "contracts/NFDRegistry.algo.ts:51", "pc": [ 6376 ] }, { "teal": 6397, "source": "contracts/NFDRegistry.algo.ts:51", "pc": [ 6377, 6378, 6379, 6380, 6381, 6382 ] }, { "teal": 6398, "source": "contracts/NFDRegistry.algo.ts:51", "pc": [ 6383, 6384, 6385 ] }, { "teal": 6399, "source": "contracts/NFDRegistry.algo.ts:51", "pc": [ 6386, 6387, 6388, 6389 ] }, { "teal": 6402, "source": "contracts/NFDRegistry.algo.ts:51", "pc": [ 6390, 6391, 6392 ] }, { "teal": 6403, "source": "contracts/NFDRegistry.algo.ts:51", "pc": [ 6393 ] }, { "teal": 6404, "source": "contracts/NFDRegistry.algo.ts:51", "pc": [ 6394 ] }, { "teal": 6407, "source": "contracts/NFDRegistry.algo.ts:51", "pc": [ 6395, 6396, 6397 ] }, { "teal": 6408, "source": "contracts/NFDRegistry.algo.ts:51", "pc": [ 6398, 6399, 6400, 6401, 6402, 6403, 6404, 6405, 6406, 6407, 6408, 6409 ] }, { "teal": 6409, "source": "contracts/NFDRegistry.algo.ts:51", "pc": [ 6410, 6411 ] }, { "teal": 6410, "source": "contracts/NFDRegistry.algo.ts:51", "pc": [ 6412 ] }, { "teal": 6411, "source": "contracts/NFDRegistry.algo.ts:51", "pc": [ 6413 ] }, { "teal": 6412, "source": "contracts/NFDRegistry.algo.ts:51", "pc": [ 6414 ] }, { "teal": 6416, "source": "contracts/NFDRegistry.algo.ts:51", "pc": [ 6415, 6416, 6417 ] }, { "teal": 6417, "source": "contracts/NFDRegistry.algo.ts:51", "pc": [ 6418, 6419 ] }, { "teal": 6418, "source": "contracts/NFDRegistry.algo.ts:51", "pc": [ 6420 ] }, { "teal": 6419, "source": "contracts/NFDRegistry.algo.ts:51", "pc": [ 6421 ] }, { "teal": 6420, "source": "contracts/NFDRegistry.algo.ts:51", "pc": [ 6422, 6423, 6424 ] }, { "teal": 6421, "source": "contracts/NFDRegistry.algo.ts:51", "pc": [ 6425, 6426, 6427 ] }, { "teal": 6422, "source": "contracts/NFDRegistry.algo.ts:51", "pc": [ 6428 ] }, { "teal": 6425, "source": "contracts/NFDRegistry.algo.ts:51", "pc": [ 6429, 6430 ] }, { "teal": 6426, "source": "contracts/NFDRegistry.algo.ts:51", "pc": [ 6431, 6432 ] }, { "teal": 6427, "source": "contracts/NFDRegistry.algo.ts:51", "pc": [ 6433 ] }, { "teal": 6428, "source": "contracts/NFDRegistry.algo.ts:51", "pc": [ 6434 ] }, { "teal": 6429, "source": "contracts/NFDRegistry.algo.ts:51", "pc": [ 6435 ] }, { "teal": 6430, "source": "contracts/NFDRegistry.algo.ts:51", "pc": [ 6436, 6437, 6438 ] }, { "teal": 6431, "source": "contracts/NFDRegistry.algo.ts:51", "pc": [ 6439, 6440 ] }, { "teal": 6432, "source": "contracts/NFDRegistry.algo.ts:51", "pc": [ 6441, 6442 ] }, { "teal": 6433, "source": "contracts/NFDRegistry.algo.ts:51", "pc": [ 6443 ] }, { "teal": 6434, "source": "contracts/NFDRegistry.algo.ts:51", "pc": [ 6444, 6445, 6446 ] }, { "teal": 6435, "source": "contracts/NFDRegistry.algo.ts:51", "pc": [ 6447, 6448, 6449 ] }, { "teal": 6438, "source": "contracts/NFDRegistry.algo.ts:51", "pc": [ 6450 ] }, { "teal": 6441, "source": "contracts/NFDRegistry.algo.ts:51", "pc": [ 6451, 6452 ] }, { "teal": 6442, "source": "contracts/NFDRegistry.algo.ts:51", "pc": [ 6453, 6454 ] }, { "teal": 6443, "source": "contracts/NFDRegistry.algo.ts:51", "pc": [ 6455 ] }, { "teal": 6444, "source": "contracts/NFDRegistry.algo.ts:51", "pc": [ 6456, 6457, 6458 ] }, { "teal": 6445, "source": "contracts/NFDRegistry.algo.ts:51", "pc": [ 6459 ] }, { "teal": 6446, "source": "contracts/NFDRegistry.algo.ts:51", "pc": [ 6460 ] }, { "teal": 6449, "source": "contracts/NFDRegistry.algo.ts:51", "pc": [ 6461, 6462, 6463 ] }, { "teal": 6450, "source": "contracts/NFDRegistry.algo.ts:51", "pc": [ 6464, 6465 ] }, { "teal": 6451, "source": "contracts/NFDRegistry.algo.ts:51", "pc": [ 6466, 6467 ] }, { "teal": 6452, "source": "contracts/NFDRegistry.algo.ts:51", "pc": [ 6468 ] }, { "teal": 6453, "source": "contracts/NFDRegistry.algo.ts:51", "pc": [ 6469, 6470 ] }, { "teal": 6454, "source": "contracts/NFDRegistry.algo.ts:51", "pc": [ 6471, 6472 ] }, { "teal": 6455, "source": "contracts/NFDRegistry.algo.ts:51", "pc": [ 6473 ] }, { "teal": 6458, "source": "contracts/NFDRegistry.algo.ts:51", "pc": [ 6474, 6475, 6476 ] }, { "teal": 6459, "source": "contracts/NFDRegistry.algo.ts:51", "pc": [ 6477, 6478 ] }, { "teal": 6460, "source": "contracts/NFDRegistry.algo.ts:51", "pc": [ 6479, 6480 ] }, { "teal": 6461, "source": "contracts/NFDRegistry.algo.ts:51", "pc": [ 6481 ] }, { "teal": 6462, "source": "contracts/NFDRegistry.algo.ts:51", "pc": [ 6482, 6483 ] }, { "teal": 6463, "source": "contracts/NFDRegistry.algo.ts:51", "pc": [ 6484, 6485 ] }, { "teal": 6464, "source": "contracts/NFDRegistry.algo.ts:51", "pc": [ 6486 ] }, { "teal": 6465, "source": "contracts/NFDRegistry.algo.ts:51", "pc": [ 6487 ] }, { "teal": 6466, "source": "contracts/NFDRegistry.algo.ts:51", "pc": [ 6488, 6489 ] }, { "teal": 6467, "source": "contracts/NFDRegistry.algo.ts:51", "pc": [ 6490 ] }, { "teal": 6468, "source": "contracts/NFDRegistry.algo.ts:51", "pc": [ 6491 ] }, { "teal": 6469, "source": "contracts/NFDRegistry.algo.ts:51", "pc": [ 6492 ] }, { "teal": 6470, "source": "contracts/NFDRegistry.algo.ts:51", "pc": [ 6493, 6494, 6495 ] }, { "teal": 6471, "source": "contracts/NFDRegistry.algo.ts:51", "pc": [ 6496, 6497 ] }, { "teal": 6472, "source": "contracts/NFDRegistry.algo.ts:51", "pc": [ 6498, 6499 ] }, { "teal": 6473, "source": "contracts/NFDRegistry.algo.ts:51", "pc": [ 6500 ] }, { "teal": 6474, "source": "contracts/NFDRegistry.algo.ts:51", "pc": [ 6501 ] }, { "teal": 6475, "source": "contracts/NFDRegistry.algo.ts:51", "pc": [ 6502, 6503 ] }, { "teal": 6476, "source": "contracts/NFDRegistry.algo.ts:51", "pc": [ 6504, 6505 ] }, { "teal": 6477, "source": "contracts/NFDRegistry.algo.ts:51", "pc": [ 6506, 6507 ] }, { "teal": 6478, "source": "contracts/NFDRegistry.algo.ts:51", "pc": [ 6508, 6509 ] }, { "teal": 6479, "source": "contracts/NFDRegistry.algo.ts:51", "pc": [ 6510 ] } ], "pcOffsetMethod": "cblocks" }, "clear": { "sourceInfo": [], "pcOffsetMethod": "none" } }, "source": { "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAwIDEgOCA2IDMyIDIgNSAzIDQgNDA5NiAxNiAxMDAwMDAgMTAgVE1QTF9hbGdvVXNkT3JhY2xlQXBwSWQgODY0MDAgMzY1IDEwXzAwMCAzMCBUTVBMX2RldmVsb3BtZW50QWxsb3dTaG9ydE1pbnRzIDU2OTc1MDI4NDgwMCAyODUwMCA1MDAwMCAyNyA2MCAxMjggMjU1IFRNUExfbmZkQ29tbWlzc2lvbjFSYXRlIFRNUExfYWRtaW5Bc2FJZApieXRlY2Jsb2NrIDB4IDB4MTUxZjdjNzUgImkub3duZXIuYSIgMHgwYTgxMDEgMHgwMDAwMDAwMDAwMDAwMDAwICJjdXJyZW50IiAidi5jYUFsZ28uMC5hcyIgInUuY2F2LmFsZ28uYSIgImNvbnRyYWN0OkE6IiAiaS52ZXIiIFRNUExfbmZkVHJlYXN1cnlBZGRyICJpLmV4cGlyYXRpb25UaW1lIiAiY29udHJhY3Q6QzoiIDB4NmU2MTZkNjUyZiAiaS5hcHBpZCIgMHgwMCAiaS5zZWdtZW50TG9ja2VkIiAiLi4uYWxnbyIgImkuYXBwcyIgImkubmFtZSIgIjAiIFRNUExfbmZkQ29tbWlzc2lvbjFBZGRyCgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNi4xCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gISEhISBXQVJOSU5HOiBUaGlzIGNvbnRyYWN0IGlzICpOT1QqIEFSQzQgY29tcGxpYW50LiBJdCBtYXkgY29udGFpbiBBQkkgbWV0aG9kcywgYnV0IGl0IGFsc28gYWxsb3dzIGFwcCBjYWxscyB3aGVyZSB0aGUgZmlyc3QgYXJndW1lbnQgZG9lcyBOT1QgbWF0Y2ggYW4gQUJJIHNlbGVjdG9yCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnRjIDMgLy8gNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqY2FsbF9VcGRhdGVBcHBsaWNhdGlvbiAqTk9UX0lNUExFTUVOVEVEICpjcmVhdGVfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQKCipOT1RfSU1QTEVNRU5URUQ6CgkvLyBUaGUgcmVxdWVzdGVkIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhpcyBjb250cmFjdC4gQXJlIHlvdSB1c2luZyB0aGUgY29ycmVjdCBPbkNvbXBsZXRlPyBEaWQgeW91IHNldCB5b3VyIGFwcCBJRD8KCWVycgoKLy8gdXBkYXRlQXBwbGljYXRpb24oKXZvaWQKKmFiaV9yb3V0ZV91cGRhdGVBcHBsaWNhdGlvbjoKCS8vIGV4ZWN1dGUgdXBkYXRlQXBwbGljYXRpb24oKXZvaWQKCWNhbGxzdWIgdXBkYXRlQXBwbGljYXRpb24KCWludGMgMSAvLyAxCglyZXR1cm4KCi8vIHVwZGF0ZUFwcGxpY2F0aW9uKCk6IHZvaWQKdXBkYXRlQXBwbGljYXRpb246Cglwcm90byAwIDAKCgkvLyBjb250cmFjdHMvTkZEUmVnaXN0cnkuYWxnby50czo3MAoJLy8gYXNzZXJ0KHRoaXMudHhuLnNlbmRlciA9PT0gdGhpcy5hcHAuY3JlYXRvcikKCXR4biBTZW5kZXIKCXR4bmEgQXBwbGljYXRpb25zIDAKCWFwcF9wYXJhbXNfZ2V0IEFwcENyZWF0b3IKCXBvcAoJPT0KCWFzc2VydAoJcmV0c3ViCgovLyBvbkNhbGwoKTogdm9pZApvbkNhbGw6Cglwcm90byAwIDAKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMCAvLyAweAoKCS8vICppZjBfY29uZGl0aW9uCgkvLyBjb250cmFjdHMvTkZEUmVnaXN0cnkuYWxnby50czo3NgoJLy8gdGhpcy50eG4ub25Db21wbGV0aW9uID09PSA0Cgl0eG4gT25Db21wbGV0aW9uCglpbnRjIDggLy8gNAoJPT0KCWJ6ICppZjBfZW5kCgoJLy8gKmlmMF9jb25zZXF1ZW50CgkvLyBjb250cmFjdHMvTkZEUmVnaXN0cnkuYWxnby50czo3NwoJLy8gdGhpcy51cGRhdGVBcHBsaWNhdGlvbigpCgljYWxsc3ViIHVwZGF0ZUFwcGxpY2F0aW9uCgoJLy8gY29udHJhY3RzL05GRFJlZ2lzdHJ5LmFsZ28udHM6NzgKCS8vIHJldHVybgoJcmV0c3ViCgoqaWYwX2VuZDoKCS8vIGNvbnRyYWN0cy9ORkRSZWdpc3RyeS5hbGdvLnRzOjgwCgkvLyBhc3NlcnQodGhpcy50eG4ucmVrZXlUbyA9PT0gZ2xvYmFscy56ZXJvQWRkcmVzcykKCXR4biBSZWtleVRvCglnbG9iYWwgWmVyb0FkZHJlc3MKCT09Cglhc3NlcnQKCgkvLyAqaWYxX2NvbmRpdGlvbgoJLy8gY29udHJhY3RzL05GRFJlZ2lzdHJ5LmFsZ28udHM6ODIKCS8vIHRoaXMudHhuLmFwcGxpY2F0aW9uQXJncyFbMF0gPT09ICdnYXMnCgl0eG4gQXBwbGljYXRpb25BcmdzIDAKCXB1c2hieXRlcyAweDY3NjE3MyAvLyAiZ2FzIgoJPT0KCWJ6ICppZjFfZW5kCgoJLy8gKmlmMV9jb25zZXF1ZW50CgkvLyBjb250cmFjdHMvTkZEUmVnaXN0cnkuYWxnby50czo4MwoJLy8gcmV0dXJuCglyZXRzdWIKCippZjFfZW5kOgoJLy8gKmlmMl9jb25kaXRpb24KCS8vIGNvbnRyYWN0cy9ORkRSZWdpc3RyeS5hbGdvLnRzOjg2CgkvLyB0aGlzLnR4bi5udW1BcHBBcmdzID09PSAzICYmIHRoaXMudHhuLmFwcGxpY2F0aW9uQXJncyFbMF0gPT09IFJFR0lTVFJZX0NBTExfSVNfVkFMSURfTkZEQVBQSUQKCXR4biBOdW1BcHBBcmdzCglpbnRjIDcgLy8gMwoJPT0KCWR1cAoJYnogKnNraXBfYW5kMAoJdHhuIEFwcGxpY2F0aW9uQXJncyAwCglwdXNoYnl0ZXMgImlzX3ZhbGlkX25mZF9hcHBpZCIKCT09CgkmJgoKKnNraXBfYW5kMDoKCWJ6ICppZjJfZW5kCgoJLy8gKmlmMl9jb25zZXF1ZW50CgkvLyBjb250cmFjdHMvTkZEUmVnaXN0cnkuYWxnby50czo5MQoJLy8gbG9nKAoJLy8gICAgICAgICAgICAgICAgIGl0b2IoCgkvLyAgICAgICAgICAgICAgICAgICAgIHRoaXMuaXNWYWxpZE5mZEFwcElkKHRoaXMudHhuLmFwcGxpY2F0aW9uQXJncyFbMV0gYXMgYnl0ZXMsIGJ0b2kodGhpcy50eG4uYXBwbGljYXRpb25BcmdzIVsyXSkpCgkvLyAgICAgICAgICAgICAgICAgICAgICAgICA/IDEKCS8vICAgICAgICAgICAgICAgICAgICAgICAgIDogMCwKCS8vICAgICAgICAgICAgICAgICApLAoJLy8gICAgICAgICAgICAgKQoJdHhuIEFwcGxpY2F0aW9uQXJncyAyCglidG9pCgl0eG4gQXBwbGljYXRpb25BcmdzIDEKCWNhbGxzdWIgaXNWYWxpZE5mZEFwcElkCglieiAqdGVybmFyeTBfZmFsc2UKCWludGMgMSAvLyAxCgliICp0ZXJuYXJ5MF9lbmQKCip0ZXJuYXJ5MF9mYWxzZToKCWludGMgMCAvLyAwCgoqdGVybmFyeTBfZW5kOgoJaXRvYgoJbG9nCgoJLy8gY29udHJhY3RzL05GRFJlZ2lzdHJ5LmFsZ28udHM6OTgKCS8vIHJldHVybgoJcmV0c3ViCgoqaWYyX2VuZDoKCS8vICppZjNfY29uZGl0aW9uCgkvLyBjb250cmFjdHMvTkZEUmVnaXN0cnkuYWxnby50czoxMDUKCS8vIHRoaXMudHhuLm51bUFwcEFyZ3MgPT09IDQgJiYgdGhpcy50eG4uYXBwbGljYXRpb25BcmdzIVswXSA9PT0gUkVHSVNUUllfQ0FMTF9WRVJJRllfTkZEX0FERFJFU1MKCXR4biBOdW1BcHBBcmdzCglpbnRjIDggLy8gNAoJPT0KCWR1cAoJYnogKnNraXBfYW5kMQoJdHhuIEFwcGxpY2F0aW9uQXJncyAwCglwdXNoYnl0ZXMgInZlcmlmeV9uZmRfYWRkciIKCT09CgkmJgoKKnNraXBfYW5kMToKCWJ6ICppZjNfZW5kCgoJLy8gKmlmM19jb25zZXF1ZW50CgkvLyBjb250cmFjdHMvTkZEUmVnaXN0cnkuYWxnby50czoxMTAKCS8vIHRoaXMubGlua05mZEFkZHJlc3MoCgkvLyAgICAgICAgICAgICAgICAgdGhpcy50eG4uYXBwbGljYXRpb25BcmdzIVsxXSBhcyBieXRlcywKCS8vICAgICAgICAgICAgICAgICBidG9pKHRoaXMudHhuLmFwcGxpY2F0aW9uQXJncyFbMl0pLAoJLy8gICAgICAgICAgICAgICAgIEFkZHJlc3MuZnJvbUJ5dGVzKHRoaXMudHhuLmFwcGxpY2F0aW9uQXJncyFbM10pLAoJLy8gICAgICAgICAgICAgKQoJdHhuIEFwcGxpY2F0aW9uQXJncyAzCgl0eG4gQXBwbGljYXRpb25BcmdzIDIKCWJ0b2kKCXR4biBBcHBsaWNhdGlvbkFyZ3MgMQoJY2FsbHN1YiBsaW5rTmZkQWRkcmVzcwoKCS8vIGNvbnRyYWN0cy9ORkRSZWdpc3RyeS5hbGdvLnRzOjExNQoJLy8gcmV0dXJuCglyZXRzdWIKCippZjNfZW5kOgoJLy8gKmlmNF9jb25kaXRpb24KCS8vIGNvbnRyYWN0cy9ORkRSZWdpc3RyeS5hbGdvLnRzOjExNwoJLy8gdGhpcy50eG4ubnVtQXBwQXJncyA9PT0gNCAmJiB0aGlzLnR4bi5hcHBsaWNhdGlvbkFyZ3MhWzBdID09PSBSRUdJU1RSWV9DQUxMX1VOTElOS19ORkRfQUREUkVTUwoJdHhuIE51bUFwcEFyZ3MKCWludGMgOCAvLyA0Cgk9PQoJZHVwCglieiAqc2tpcF9hbmQyCgl0eG4gQXBwbGljYXRpb25BcmdzIDAKCXB1c2hieXRlcyAidW5saW5rX25mZF9hZGRyIgoJPT0KCSYmCgoqc2tpcF9hbmQyOgoJYnogKmlmNF9lbmQKCgkvLyAqaWY0X2NvbnNlcXVlbnQKCS8vIGNvbnRyYWN0cy9ORkRSZWdpc3RyeS5hbGdvLnRzOjEyMgoJLy8gdGhpcy51bmxpbmtOZmRBZGRyZXNzKAoJLy8gICAgICAgICAgICAgICAgIHRoaXMudHhuLmFwcGxpY2F0aW9uQXJncyFbMV0gYXMgYnl0ZXMsCgkvLyAgICAgICAgICAgICAgICAgYnRvaSh0aGlzLnR4bi5hcHBsaWNhdGlvbkFyZ3MhWzJdKSwKCS8vICAgICAgICAgICAgICAgICBBZGRyZXNzLmZyb21CeXRlcyh0aGlzLnR4bi5hcHBsaWNhdGlvbkFyZ3MhWzNdKSwKCS8vICAgICAgICAgICAgICkKCXR4biBBcHBsaWNhdGlvbkFyZ3MgMwoJdHhuIEFwcGxpY2F0aW9uQXJncyAyCglidG9pCgl0eG4gQXBwbGljYXRpb25BcmdzIDEKCWNhbGxzdWIgdW5saW5rTmZkQWRkcmVzcwoKCS8vIGNvbnRyYWN0cy9ORkRSZWdpc3RyeS5hbGdvLnRzOjEyNwoJLy8gcmV0dXJuCglyZXRzdWIKCippZjRfZW5kOgoJLy8gKmlmNV9jb25kaXRpb24KCS8vIGNvbnRyYWN0cy9ORkRSZWdpc3RyeS5hbGdvLnRzOjEzMAoJLy8gdGhpcy50eG4ubnVtQXBwQXJncyA9PT0gNCAmJiB0aGlzLnR4bi5hcHBsaWNhdGlvbkFyZ3MhWzBdID09PSBSRUdJU1RSWV9DQUxMX1NFVF9BRERSX1BSSU1BUllfTkZECgl0eG4gTnVtQXBwQXJncwoJaW50YyA4IC8vIDQKCT09CglkdXAKCWJ6ICpza2lwX2FuZDMKCXR4biBBcHBsaWNhdGlvbkFyZ3MgMAoJcHVzaGJ5dGVzICJzZXRfYWRkcl9wcmltYXJ5X25mZCIKCT09CgkmJgoKKnNraXBfYW5kMzoKCWJ6ICppZjVfZW5kCgoJLy8gKmlmNV9jb25zZXF1ZW50CgkvLyBjb250cmFjdHMvTkZEUmVnaXN0cnkuYWxnby50czoxMzUKCS8vIHRoaXMuc2V0QWRkcmVzc1ByaW1hcnlOZmQoCgkvLyAgICAgICAgICAgICAgICAgdGhpcy50eG4uYXBwbGljYXRpb25BcmdzIVsxXSBhcyBieXRlcywKCS8vICAgICAgICAgICAgICAgICBidG9pKHRoaXMudHhuLmFwcGxpY2F0aW9uQXJncyFbMl0pLAoJLy8gICAgICAgICAgICAgICAgIEFkZHJlc3MuZnJvbUJ5dGVzKHRoaXMudHhuLmFwcGxpY2F0aW9uQXJncyFbM10pLAoJLy8gICAgICAgICAgICAgKQoJdHhuIEFwcGxpY2F0aW9uQXJncyAzCgl0eG4gQXBwbGljYXRpb25BcmdzIDIKCWJ0b2kKCXR4biBBcHBsaWNhdGlvbkFyZ3MgMQoJY2FsbHN1YiBzZXRBZGRyZXNzUHJpbWFyeU5mZAoKCS8vIGNvbnRyYWN0cy9ORkRSZWdpc3RyeS5hbGdvLnRzOjE0MAoJLy8gcmV0dXJuCglyZXRzdWIKCippZjVfZW5kOgoJLy8gKmlmNl9jb25kaXRpb24KCS8vIGNvbnRyYWN0cy9ORkRSZWdpc3RyeS5hbGdvLnRzOjE0MwoJLy8gdGhpcy50eG4ubnVtQXBwQXJncyA9PT0gMiAmJiB0aGlzLnR4bi5hcHBsaWNhdGlvbkFyZ3MhWzBdID09PSBSRUdJU1RSWV9DQUxMX0dFVF9OQU1FX0FQUElECgl0eG4gTnVtQXBwQXJncwoJaW50YyA1IC8vIDIKCT09CglkdXAKCWJ6ICpza2lwX2FuZDQKCXR4biBBcHBsaWNhdGlvbkFyZ3MgMAoJcHVzaGJ5dGVzICJnZXRfbmFtZV9hcHBpZCIKCT09CgkmJgoKKnNraXBfYW5kNDoKCWJ6ICppZjZfZW5kCgoJLy8gKmlmNl9jb25zZXF1ZW50CgkvLyBjb250cmFjdHMvTkZEUmVnaXN0cnkuYWxnby50czoxNDQKCS8vIHRoaXMuZ2V0Tm9uQWJpTmFtZUFwcElkKCkKCWNhbGxzdWIgZ2V0Tm9uQWJpTmFtZUFwcElkCgoJLy8gY29udHJhY3RzL05GRFJlZ2lzdHJ5LmFsZ28udHM6MTQ1CgkvLyByZXR1cm4KCXJldHN1YgoKKmlmNl9lbmQ6CgkvLyAqaWY3X2NvbmRpdGlvbgoJLy8gY29udHJhY3RzL05GRFJlZ2lzdHJ5LmFsZ28udHM6MTQ3CgkvLyB0aGlzLnR4bi5udW1BcHBBcmdzID09PSAzICYmIHRoaXMudHhuLmFwcGxpY2F0aW9uQXJncyFbMF0gPT09IFJFR0lTVFJZX0NBTExfR0VUX0FERFJFU1NfQVBQSURTCgl0eG4gTnVtQXBwQXJncwoJaW50YyA3IC8vIDMKCT09CglkdXAKCWJ6ICpza2lwX2FuZDUKCXR4biBBcHBsaWNhdGlvbkFyZ3MgMAoJcHVzaGJ5dGVzICJnZXRfYWRkcmVzc19hcHBpZHMiCgk9PQoJJiYKCipza2lwX2FuZDU6CglieiAqaWY3X2VuZAoKCS8vICppZjdfY29uc2VxdWVudAoJLy8gY29udHJhY3RzL05GRFJlZ2lzdHJ5LmFsZ28udHM6MTQ4CgkvLyB0aGlzLm5vbkFiaWdldEFkZHJlc3NBcHBJZHMoKQoJY2FsbHN1YiBub25BYmlnZXRBZGRyZXNzQXBwSWRzCgoJLy8gY29udHJhY3RzL05GRFJlZ2lzdHJ5LmFsZ28udHM6MTQ5CgkvLyByZXR1cm4KCXJldHN1YgoKKmlmN19lbmQ6CgkvLyAqaWY4X2NvbmRpdGlvbgoJLy8gY29udHJhY3RzL05GRFJlZ2lzdHJ5LmFsZ28udHM6MTU0CgkvLyBnbG9iYWxzLmdyb3VwU2l6ZSA+PSAyCglnbG9iYWwgR3JvdXBTaXplCglpbnRjIDUgLy8gMgoJPj0KCWJ6ICppZjhfZW5kCgoJLy8gKmlmOF9jb25zZXF1ZW50CgkvLyBjb250cmFjdHMvTkZEUmVnaXN0cnkuYWxnby50czoxNTgKCS8vIHByaW9yVHJhbnNhY3Rpb24gPSB0aGlzLnR4bkdyb3VwW3RoaXMudHhuLmdyb3VwSW5kZXggLSAxXQoJdHhuIEdyb3VwSW5kZXgKCWludGMgMSAvLyAxCgktCglmcmFtZV9idXJ5IDAgLy8gcHJpb3JUcmFuc2FjdGlvbjogdHhuCgoJLy8gKmlmOV9jb25kaXRpb24KCS8vIGNvbnRyYWN0cy9ORkRSZWdpc3RyeS5hbGdvLnRzOjE2MAoJLy8gcHJpb3JUcmFuc2FjdGlvbi50eXBlRW51bSA9PT0gVHJhbnNhY3Rpb25UeXBlLlBheW1lbnQgJiYKCS8vICAgICAgICAgICAgICAgICBwcmlvclRyYW5zYWN0aW9uLnJla2V5VG8gPT09IGdsb2JhbHMuemVyb0FkZHJlc3MgJiYKCS8vICAgICAgICAgICAgICAgICBwcmlvclRyYW5zYWN0aW9uLmNsb3NlUmVtYWluZGVyVG8gPT09IGdsb2JhbHMuemVyb0FkZHJlc3MgJiYKCS8vICAgICAgICAgICAgICAgICAocHJpb3JUcmFuc2FjdGlvbi5hbW91bnQgPj0gZ2xvYmFscy5taW5UeG5GZWUgfHwgcHJpb3JUcmFuc2FjdGlvbi5mZWUgPiBnbG9iYWxzLm1pblR4bkZlZSkgJiYKCS8vICAgICAgICAgICAgICAgICB0aGlzLmlzVHhuTGFiKHByaW9yVHJhbnNhY3Rpb24pCglmcmFtZV9kaWcgMCAvLyBwcmlvclRyYW5zYWN0aW9uOiB0eG4KCWd0eG5zIFR5cGVFbnVtCglpbnRjIDEgLy8gIHBheQoJPT0KCWR1cAoJYnogKnNraXBfYW5kNgoJZnJhbWVfZGlnIDAgLy8gcHJpb3JUcmFuc2FjdGlvbjogdHhuCglndHhucyBSZWtleVRvCglnbG9iYWwgWmVyb0FkZHJlc3MKCT09CgkmJgoKKnNraXBfYW5kNjoKCWR1cAoJYnogKnNraXBfYW5kNwoJZnJhbWVfZGlnIDAgLy8gcHJpb3JUcmFuc2FjdGlvbjogdHhuCglndHhucyBDbG9zZVJlbWFpbmRlclRvCglnbG9iYWwgWmVyb0FkZHJlc3MKCT09CgkmJgoKKnNraXBfYW5kNzoKCWR1cAoJYnogKnNraXBfYW5kOAoJZnJhbWVfZGlnIDAgLy8gcHJpb3JUcmFuc2FjdGlvbjogdHhuCglndHhucyBBbW91bnQKCWdsb2JhbCBNaW5UeG5GZWUKCT49CglkdXAKCWJueiAqc2tpcF9vcjAKCWZyYW1lX2RpZyAwIC8vIHByaW9yVHJhbnNhY3Rpb246IHR4bgoJZ3R4bnMgRmVlCglnbG9iYWwgTWluVHhuRmVlCgk+Cgl8fAoKKnNraXBfb3IwOgoJJiYKCipza2lwX2FuZDg6CglkdXAKCWJ6ICpza2lwX2FuZDkKCWZyYW1lX2RpZyAwIC8vIHByaW9yVHJhbnNhY3Rpb246IHR4bgoJY2FsbHN1YiBpc1R4bkxhYgoJJiYKCipza2lwX2FuZDk6CglieiAqaWY5X2VuZAoKCS8vICppZjlfY29uc2VxdWVudAoJLy8gKmlmMTBfY29uZGl0aW9uCgkvLyBjb250cmFjdHMvTkZEUmVnaXN0cnkuYWxnby50czoxNjgKCS8vIHRoaXMudHhuLm51bUFwcEFyZ3MgPT09IDIgJiYKCS8vICAgICAgICAgICAgICAgICAgICAgdGhpcy50eG4uYXBwbGljYXRpb25BcmdzIVswXSA9PT0gUkVHSVNUUllfQ0FMTF9SRU1PVkVfQUREUkVTUyAmJgoJLy8gICAgICAgICAgICAgICAgICAgICAvLyBWZXJpZnkgVHhuTGFiIEZ1bmRlZCBhY2N0IGluIHByaW9yIGNoZWNrcyBhbmQgVEhBVCB3YXMgdGhlbiBvdXIgY2FsbGVyCgkvLyAgICAgICAgICAgICAgICAgICAgIHRoaXMudHhuR3JvdXBbdGhpcy50eG4uZ3JvdXBJbmRleCAtIDFdLnJlY2VpdmVyID09PSB0aGlzLnR4bi5zZW5kZXIKCXR4biBOdW1BcHBBcmdzCglpbnRjIDUgLy8gMgoJPT0KCWR1cAoJYnogKnNraXBfYW5kMTAKCXR4biBBcHBsaWNhdGlvbkFyZ3MgMAoJcHVzaGJ5dGVzICJyZW1vdmVfYWRkciIKCT09CgkmJgoKKnNraXBfYW5kMTA6CglkdXAKCWJ6ICpza2lwX2FuZDExCgl0eG4gR3JvdXBJbmRleAoJaW50YyAxIC8vIDEKCS0KCWd0eG5zIFJlY2VpdmVyCgl0eG4gU2VuZGVyCgk9PQoJJiYKCipza2lwX2FuZDExOgoJYnogKmlmMTBfZWxzZQoKCS8vICppZjEwX2NvbnNlcXVlbnQKCS8vIGNvbnRyYWN0cy9ORkRSZWdpc3RyeS5hbGdvLnRzOjE3MwoJLy8gdGhpcy5yZW1vdmVJbnRGcm9tVjFNdWx0aXNldCgKCS8vICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudHhuLnNlbmRlciwKCS8vICAgICAgICAgICAgICAgICAgICAgICAgIFJFR0lTVFJZX0tFWV9BUFBJRFNFVFBSRUZJWCwKCS8vICAgICAgICAgICAgICAgICAgICAgICAgIDE2LAoJLy8gICAgICAgICAgICAgICAgICAgICAgICAgYnRvaSh0aGlzLnR4bi5hcHBsaWNhdGlvbkFyZ3MhWzFdKSwKCS8vICAgICAgICAgICAgICAgICAgICAgKQoJdHhuIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCglpbnRjIDEwIC8vIDE2CglieXRlYyAxOCAvLyAiaS5hcHBzIgoJdHhuIFNlbmRlcgoJY2FsbHN1YiByZW1vdmVJbnRGcm9tVjFNdWx0aXNldAoJYiAqaWYxMF9lbmQKCippZjEwX2Vsc2U6CgkvLyBpbnZhbGlkCgllcnIKCippZjEwX2VuZDoKCippZjlfZW5kOgoKKmlmOF9lbmQ6CgkvLyAqaWYxMV9jb25kaXRpb24KCS8vIGNvbnRyYWN0cy9ORkRSZWdpc3RyeS5hbGdvLnRzOjE4NQoJLy8gdGhpcy5pc1R4bkxhYih0aGlzLnR4bkdyb3VwW3RoaXMudHhuLmdyb3VwSW5kZXhdKQoJdHhuIEdyb3VwSW5kZXgKCWNhbGxzdWIgaXNUeG5MYWIKCWJ6ICppZjExX2VuZAoKCS8vICppZjExX2NvbnNlcXVlbnQKCS8vICppZjEyX2NvbmRpdGlvbgoJLy8gY29udHJhY3RzL05GRFJlZ2lzdHJ5LmFsZ28udHM6MTg2CgkvLyB0aGlzLnR4bi5udW1BcHBBcmdzID09PSAzICYmIHRoaXMudHhuLmFwcGxpY2F0aW9uQXJncyFbMF0gPT09IFJFR0lTVFJZX0NBTExfTUlHUkFURV9OQU1FCgl0eG4gTnVtQXBwQXJncwoJaW50YyA3IC8vIDMKCT09CglkdXAKCWJ6ICpza2lwX2FuZDEyCgl0eG4gQXBwbGljYXRpb25BcmdzIDAKCXB1c2hieXRlcyAibWlncmF0ZV9uYW1lIgoJPT0KCSYmCgoqc2tpcF9hbmQxMjoKCWJ6ICppZjEyX2VuZAoKCS8vICppZjEyX2NvbnNlcXVlbnQKCS8vIGNvbnRyYWN0cy9ORkRSZWdpc3RyeS5hbGdvLnRzOjE4NwoJLy8gdGhpcy5taWdyYXRlVjFOYW1lKCkKCWNhbGxzdWIgbWlncmF0ZVYxTmFtZQoKCS8vIGNvbnRyYWN0cy9ORkRSZWdpc3RyeS5hbGdvLnRzOjE4OAoJLy8gcmV0dXJuCglyZXRzdWIKCippZjEyX2VuZDoKCS8vICppZjEzX2NvbmRpdGlvbgoJLy8gY29udHJhY3RzL05GRFJlZ2lzdHJ5LmFsZ28udHM6MTkwCgkvLyB0aGlzLnR4bi5udW1BcHBBcmdzID09PSAzICYmIHRoaXMudHhuLmFwcGxpY2F0aW9uQXJncyFbMF0gPT09IFJFR0lTVFJZX0NBTExfTUlHUkFURV9BRERSRVNTCgl0eG4gTnVtQXBwQXJncwoJaW50YyA3IC8vIDMKCT09CglkdXAKCWJ6ICpza2lwX2FuZDEzCgl0eG4gQXBwbGljYXRpb25BcmdzIDAKCXB1c2hieXRlcyAibWlncmF0ZV9hZGRyZXNzIgoJPT0KCSYmCgoqc2tpcF9hbmQxMzoKCWJ6ICppZjEzX2VuZAoKCS8vICppZjEzX2NvbnNlcXVlbnQKCS8vIGNvbnRyYWN0cy9ORkRSZWdpc3RyeS5hbGdvLnRzOjE5MQoJLy8gdGhpcy5taWdyYXRlVjFBZGRyZXNzS2V5cyh0aGlzLnR4bi5hcHBsaWNhdGlvbkFyZ3MhWzFdIGFzIGJ5dGVzLCB0aGlzLnR4bi5hcHBsaWNhdGlvbkFyZ3MhWzJdIGFzIGJ5dGVzKQoJdHhuIEFwcGxpY2F0aW9uQXJncyAyCgl0eG4gQXBwbGljYXRpb25BcmdzIDEKCWNhbGxzdWIgbWlncmF0ZVYxQWRkcmVzc0tleXMKCgkvLyBjb250cmFjdHMvTkZEUmVnaXN0cnkuYWxnby50czoxOTIKCS8vIHJldHVybgoJcmV0c3ViCgoqaWYxM19lbmQ6CgkvLyAqaWYxNF9jb25kaXRpb24KCS8vIGNvbnRyYWN0cy9ORkRSZWdpc3RyeS5hbGdvLnRzOjE5NAoJLy8gdGhpcy50eG4ubnVtQXBwQXJncyA9PT0gMiAmJiB0aGlzLnR4bi5hcHBsaWNhdGlvbkFyZ3MhWzBdID09PSBSRUdJU1RSWV9DQUxMX1NXRUVQX0RVU1QKCXR4biBOdW1BcHBBcmdzCglpbnRjIDUgLy8gMgoJPT0KCWR1cAoJYnogKnNraXBfYW5kMTQKCXR4biBBcHBsaWNhdGlvbkFyZ3MgMAoJcHVzaGJ5dGVzICJzd2VlcF9kdXN0IgoJPT0KCSYmCgoqc2tpcF9hbmQxNDoKCWJ6ICppZjE0X2VuZAoKCS8vICppZjE0X2NvbnNlcXVlbnQKCS8vIGNvbnRyYWN0cy9ORkRSZWdpc3RyeS5hbGdvLnRzOjE5NQoJLy8gdGhpcy5zd2VlcER1c3QoKQoJY2FsbHN1YiBzd2VlcER1c3QKCgkvLyBjb250cmFjdHMvTkZEUmVnaXN0cnkuYWxnby50czoxOTYKCS8vIHJldHVybgoJcmV0c3ViCgoqaWYxNF9lbmQ6CgkvLyBpbnZhbGlkIG1ldGhvZAoJZXJyCgoqaWYxMV9lbmQ6CgkvLyB1bmtub3duIG1ldGhvZAoJZXJyCglyZXRzdWIKCi8vIGdhcygpdm9pZAoqYWJpX3JvdXRlX2dhczoKCS8vIGV4ZWN1dGUgZ2FzKCl2b2lkCgljYWxsc3ViIGdhcwoJaW50YyAxIC8vIDEKCXJldHVybgoKLy8gZ2FzKCk6IHZvaWQKZ2FzOgoJcHJvdG8gMCAwCglyZXRzdWIKCi8vIGdldFByaWNlKHN0cmluZyxhZGRyZXNzKSh1aW50NjQsdWludDY0LGJvb2wsYm9vbCxib29sKQoqYWJpX3JvdXRlX2dldFByaWNlOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlYyAxIC8vIDB4MTUxZjdjNzUKCgkvLyBjYWxsZXI6IGFkZHJlc3MKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWR1cAoJbGVuCglpbnRjIDQgLy8gMzIKCT09CgoJLy8gYXJndW1lbnQgMCAoY2FsbGVyKSBmb3IgZ2V0UHJpY2UgbXVzdCBiZSBhIGFkZHJlc3MKCWFzc2VydAoKCS8vIG5mZE5hbWU6IHN0cmluZwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZXh0cmFjdCAyIDAKCgkvLyBleGVjdXRlIGdldFByaWNlKHN0cmluZyxhZGRyZXNzKSh1aW50NjQsdWludDY0LGJvb2wsYm9vbCxib29sKQoJY2FsbHN1YiBnZXRQcmljZQoJY29uY2F0Cglsb2cKCWludGMgMSAvLyAxCglyZXR1cm4KCi8vIGdldFByaWNlKG5mZE5hbWU6IHN0cmluZywgY2FsbGVyOiBBZGRyZXNzKTogUHJpY2VJbmZvCi8vCi8vIFJldHVybnMgdGhlIHByaWNlIGZvciBhIGdpdmVuIE5GRCAoc2luZ2xlIHllYXIpLCB0aGUgbWF4ICMgb2YgeWVhcnMgYWxsb3dlZCAoTmFtZSBmb3IgRGlzcGxheSksCi8vIGFuZCBleHRyYSBhbGdvIHJlcXVpcmVkIHRvIGNvdmVyIE1CUiB3aGVuIHB1cmNoYXNpbmcuCi8vCi8vIEBwYXJhbSB7c3RyaW5nfSBuZmROYW1lIC0gVGhlIE5GRCBuYW1lIGZvciB3aGljaCB0byByZXRyaWV2ZSB0aGUgcHJpY2UuCi8vIEBwYXJhbSB7QWRkcmVzc30gY2FsbGVyIC0gdGhlIGFkZHJlc3MgdGhpcyByZXF1ZXN0IGlzIG9uIGJlaGFsZiBvZiAoc2luY2UgYW4gbmZkIGNvbnRyYWN0IG1pZ2h0IGNhbGwgdXMgaXQKLy8gbmVlZHMgdG8gYmUgYWJsZSB0byBwYXNzIG9uIHRoZSByZXF1ZXN0IG9uIGJlaGFsZiBvZiBJVFMgY2FsbGVyIC0gaWU6IGdldHRpbmcgcHJpY2UgZm9yIGFuIGV4cGlyZWQgbmZkIHdpbGwgYmUKLy8gZGlmZmVyZW50IGlmIGl0cyBvd25lciBpciBhc2tpbmcuCi8vIEByZXR1cm4ge1ByaWNlSW5mb30gVHlwZSBjb250YWluaW5nIHRoZSBwcmljZSwgY2FycnkgY29zdCwgZXRjLgpnZXRQcmljZToKCXByb3RvIDIgMQoKCS8vIGNvbnRyYWN0cy9ORkRSZWdpc3RyeS5hbGdvLnRzOjIxNwoJLy8gcmV0dXJuIHRoaXMuZ2V0UHJpY2VGb3JOYW1lKG5mZE5hbWUsIHRoaXMubnVtTGV0dGVyc0luTmZkKG5mZE5hbWUpLCBjYWxsZXIpCglmcmFtZV9kaWcgLTIgLy8gY2FsbGVyOiBBZGRyZXNzCglmcmFtZV9kaWcgLTEgLy8gbmZkTmFtZTogc3RyaW5nCgljYWxsc3ViIG51bUxldHRlcnNJbk5mZAoJZnJhbWVfZGlnIC0xIC8vIG5mZE5hbWU6IHN0cmluZwoJY2FsbHN1YiBnZXRQcmljZUZvck5hbWUKCXJldHN1YgoKLy8gZ2V0Q29uc3RyYWludHMoKSh1aW50NjQsdWludDY0LHVpbnQ2NCxhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0KQoqYWJpX3JvdXRlX2dldENvbnN0cmFpbnRzOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlYyAxIC8vIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIGdldENvbnN0cmFpbnRzKCkodWludDY0LHVpbnQ2NCx1aW50NjQsYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCkKCWNhbGxzdWIgZ2V0Q29uc3RyYWludHMKCWNvbmNhdAoJbG9nCglpbnRjIDEgLy8gMQoJcmV0dXJuCgovLyBnZXRDb25zdHJhaW50cygpOiBDb25zdHJhaW50cwpnZXRDb25zdHJhaW50czoKCXByb3RvIDAgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlYyAwIC8vIDB4CglkdXAKCgkvLyBjb250cmFjdHMvTkZEUmVnaXN0cnkuYWxnby50czoyMjEKCS8vIHBsYXRmb3JtUHJpY2UgPSB0aGlzLmNhbGNGdXR1cmVQcmljZShORkRfTUlOX1NFR01FTlRfVVNELCBnbG9iYWxzLmxhdGVzdFRpbWVzdGFtcCkKCWdsb2JhbCBMYXRlc3RUaW1lc3RhbXAKCXB1c2hpbnQgNTAwCgljYWxsc3ViIGNhbGNGdXR1cmVQcmljZQoJZnJhbWVfYnVyeSAwIC8vIHBsYXRmb3JtUHJpY2U6IHVpbnQ2NAoKCS8vIGNvbnRyYWN0cy9ORkRSZWdpc3RyeS5hbGdvLnRzOjIyMgoJLy8gZHVyYXRpb24gPSB0aGlzLmRldmVsb3BtZW50QWxsb3dTaG9ydE1pbnRzID09PSAxID8gTkZEX0FVQ1RJT05fREVWX0RVUkFUSU9OIDogTkZEX0FVQ1RJT05fRFVSQVRJT04KCWludGMgMTggLy8gVE1QTF9kZXZlbG9wbWVudEFsbG93U2hvcnRNaW50cwoJaW50YyAxIC8vIDEKCT09CglieiAqdGVybmFyeTFfZmFsc2UKCWludGMgMSAvLyAxCgliICp0ZXJuYXJ5MV9lbmQKCip0ZXJuYXJ5MV9mYWxzZToKCXB1c2hpbnQgMjgKCip0ZXJuYXJ5MV9lbmQ6CglmcmFtZV9idXJ5IDEgLy8gZHVyYXRpb246IHVpbnQ2NAoKCS8vIGNvbnRyYWN0cy9ORkRSZWdpc3RyeS5hbGdvLnRzOjIyMwoJLy8gcmV0dXJuIHsKCS8vICAgICAgICAgICAgIHNlZ21lbnRQbGF0Zm9ybUNvc3RJblVzZDogcGxhdGZvcm1QcmljZSwKCS8vICAgICAgICAgICAgIHNlZ21lbnRQbGF0Zm9ybUNvc3RJbkFsZ286IHRoaXMudXNkSW5NaWNyb0FsZ28ocGxhdGZvcm1QcmljZSksCgkvLyAgICAgICAgICAgICBtYXhZZWFyc0FsbG93ZWQ6IE5GRF9NQVhfRVhQSVJBVElPTl9ZRUFSUywKCS8vICAgICAgICAgICAgIHRyZWFzdXJ5QWRkcmVzczogdGhpcy5uZmRUcmVhc3VyeUFkZHIsCgkvLyAgICAgICAgICAgICBleHBpcmVkQXVjdGlvbkR1cmF0aW9uOiBkdXJhdGlvbiwKCS8vICAgICAgICAgICAgIGV4cGlyZWRTdGFydGluZ1ByaWNlOiBORkRfQVVDVElPTl9TVEFSVFBSSUNFLAoJLy8gICAgICAgICAgICAgbWF4TWludENhcnJ5Q29zdDogdGhpcy5nZXROZmRNYnJDb3N0KCcwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLmFsZ28nKSwgLy8gbWF4IGxlbmd0aCBuZmQKCS8vICAgICAgICAgfQoJZnJhbWVfZGlnIDAgLy8gcGxhdGZvcm1QcmljZTogdWludDY0CglpdG9iCglmcmFtZV9kaWcgMCAvLyBwbGF0Zm9ybVByaWNlOiB1aW50NjQKCWNhbGxzdWIgdXNkSW5NaWNyb0FsZ28KCWl0b2IKCWNvbmNhdAoJcHVzaGJ5dGVzIDB4MDAwMDAwMDAwMDAwMDAxNAoJY29uY2F0CglieXRlYyAxMCAvLyBUTVBMX25mZFRyZWFzdXJ5QWRkcgoJY29uY2F0CglmcmFtZV9kaWcgMSAvLyBkdXJhdGlvbjogdWludDY0CglpdG9iCgljb25jYXQKCXB1c2hieXRlcyAweDAwMDAwMDAwMDA5ODk2ODAKCWNvbmNhdAoJcHVzaGJ5dGVzIDB4MzAzMDMwMzAzMDMwMzAzMDMwMzAzMDMwMzAzMDMwMzAzMDMwMzAzMDMwMzAzMDMwMzAzMDMwMmUzMDMwMzAzMDMwMzAzMDMwMzAzMDMwMzAzMDMwMzAzMDMwMzAzMDMwMzAzMDMwMzAzMDMwMzAyZTYxNmM2NzZmIC8vICIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLmFsZ28iCgljYWxsc3ViIGdldE5mZE1ickNvc3QKCWl0b2IKCWNvbmNhdAoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoKCS8vIHBvcCBhbGwgbG9jYWwgdmFyaWFibGVzIGZyb20gdGhlIHN0YWNrCglwb3BuIDEKCXJldHN1YgoKLy8gZ2V0TmZkTWJyQ29zdChzdHJpbmcpdWludDY0CiphYmlfcm91dGVfZ2V0TmZkTWJyQ29zdDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZWMgMSAvLyAweDE1MWY3Yzc1CgoJLy8gbmZkTmFtZTogc3RyaW5nCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglleHRyYWN0IDIgMAoKCS8vIGV4ZWN1dGUgZ2V0TmZkTWJyQ29zdChzdHJpbmcpdWludDY0CgljYWxsc3ViIGdldE5mZE1ickNvc3QKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnRjIDEgLy8gMQoJcmV0dXJuCgovLyBnZXROZmRNYnJDb3N0KG5mZE5hbWU6IHN0cmluZyk6IHVpbnQ2NAovLwovLyBSZXR1cm5zIHRoZSBNQlIgYW1vdW50cyBuZWVkZWQgdG8gTUlOVCBhbiBuZmQuCi8vIFRoaXMgdmFsdWUgbmVlZHMgdG8gYmUgYWRkZWQgdG8gcHVyY2hhc2UgcHJpY2UgaW4gbWludE5mZCBjYWxsLgovLyBnZXRQcmljZSgpIHJldHVybnMgaXQgdGhvdWdoLgpnZXROZmRNYnJDb3N0OgoJcHJvdG8gMSAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDAgLy8gMHgKCWR1cAoKCS8vIGNvbnRyYWN0cy9ORkRSZWdpc3RyeS5hbGdvLnRzOjI0NAoJLy8gcmVnaXN0cnlDYXJyeUNvc3QgPQoJLy8gICAgICAgICAgICAgdGhpcy5taW5CYWxhbmNlRm9yQWNjb3VudCgxLCBudW1FeHRyYVBhZ2VzLCAwLCAwLCAwLCAwLCBudW1HbG9iYWxCeXRlcykgLSBBTEdPUkFORF9BQ0NPVU5UX01JTl9CQUxBTkNFCglpbnRjIDE3IC8vIDMwCglpbnRjIDAgLy8gMAoJZHVwbiAzCglpbnRjIDcgLy8gMwoJaW50YyAxIC8vIDEKCWNhbGxzdWIgbWluQmFsYW5jZUZvckFjY291bnQKCWludGMgMTEgLy8gMTAwMDAwCgktCglmcmFtZV9idXJ5IDAgLy8gcmVnaXN0cnlDYXJyeUNvc3Q6IHVpbnQ2NAoKCS8vIGNvbnRyYWN0cy9ORkRSZWdpc3RyeS5hbGdvLnRzOjI1MQoJLy8gYm94U3RvcmFnZUNvc3QgPSB0aGlzLmNvc3RGb3JCb3hTdG9yYWdlKDIsIDMyICsgMTYgKyAzMyArIDggKyBuZmROYW1lLmxlbmd0aCkKCXB1c2hpbnQgODkKCWZyYW1lX2RpZyAtMSAvLyBuZmROYW1lOiBzdHJpbmcKCWxlbgoJKwoJaW50YyA1IC8vIDIKCWNhbGxzdWIgY29zdEZvckJveFN0b3JhZ2UKCWZyYW1lX2J1cnkgMSAvLyBib3hTdG9yYWdlQ29zdDogdWludDY0CgoJLy8gY29udHJhY3RzL05GRFJlZ2lzdHJ5LmFsZ28udHM6MjUyCgkvLyByZXR1cm4gcmVnaXN0cnlDYXJyeUNvc3QgKyBib3hTdG9yYWdlQ29zdCArIHRoaXMuZ2V0TmZkSW5zdGFuY2VNYnIoKQoJZnJhbWVfZGlnIDAgLy8gcmVnaXN0cnlDYXJyeUNvc3Q6IHVpbnQ2NAoJZnJhbWVfZGlnIDEgLy8gYm94U3RvcmFnZUNvc3Q6IHVpbnQ2NAoJKwoJY2FsbHN1YiBnZXROZmRJbnN0YW5jZU1icgoJKwoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoKCS8vIHBvcCBhbGwgbG9jYWwgdmFyaWFibGVzIGZyb20gdGhlIHN0YWNrCglwb3BuIDEKCXJldHN1YgoKLy8gZ2V0TmZkTGlua09uTWludEV4dHJhTWJyQ29zdChhZGRyZXNzKSh1aW50NjQsdWludDY0KQoqYWJpX3JvdXRlX2dldE5mZExpbmtPbk1pbnRFeHRyYU1ickNvc3Q6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGVjIDEgLy8gMHgxNTFmN2M3NQoKCS8vIGFkZHJlc3M6IGFkZHJlc3MKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWR1cAoJbGVuCglpbnRjIDQgLy8gMzIKCT09CgoJLy8gYXJndW1lbnQgMCAoYWRkcmVzcykgZm9yIGdldE5mZExpbmtPbk1pbnRFeHRyYU1ickNvc3QgbXVzdCBiZSBhIGFkZHJlc3MKCWFzc2VydAoKCS8vIGV4ZWN1dGUgZ2V0TmZkTGlua09uTWludEV4dHJhTWJyQ29zdChhZGRyZXNzKSh1aW50NjQsdWludDY0KQoJY2FsbHN1YiBnZXROZmRMaW5rT25NaW50RXh0cmFNYnJDb3N0Cgljb25jYXQKCWxvZwoJaW50YyAxIC8vIDEKCXJldHVybgoKLy8gZ2V0TmZkTGlua09uTWludEV4dHJhTWJyQ29zdChhZGRyZXNzOiBBZGRyZXNzKTogTGlua09uTWludEV4dHJhTWJyQ29zdHMKZ2V0TmZkTGlua09uTWludEV4dHJhTWJyQ29zdDoKCXByb3RvIDEgMQoKCS8vIGNvbnRyYWN0cy9ORkRSZWdpc3RyeS5hbGdvLnRzOjI1NwoJLy8gcmV0dXJuIHsKCS8vICAgICAgICAgICAgIGxpbmtpbmdOZmRNYnJDb3N0OiB0aGlzLmNvc3RGb3JCb3hTdG9yYWdlKDEsIE5GRF9GSUVMRF9DQV9WRVJJRklFRF9TRVQubGVuZ3RoICsgMzIpLAoJLy8gICAgICAgICAgICAgbGlua2luZ1JlZ2lzdHJ5TWJyQ29zdDogdGhpcy5jb3N0VG9BZGRUb0FkZHJlc3MoYWRkcmVzcyksCgkvLyAgICAgICAgIH0KCWJ5dGVjIDYgLy8gInYuY2FBbGdvLjAuYXMiCglsZW4KCWludGMgNCAvLyAzMgoJKwoJaW50YyAxIC8vIDEKCWNhbGxzdWIgY29zdEZvckJveFN0b3JhZ2UKCWl0b2IKCWZyYW1lX2RpZyAtMSAvLyBhZGRyZXNzOiBBZGRyZXNzCgljYWxsc3ViIGNvc3RUb0FkZFRvQWRkcmVzcwoJaXRvYgoJY29uY2F0CglyZXRzdWIKCi8vIG1pbnROZmQocGF5LHN0cmluZyxhZGRyZXNzLGJvb2wpdWludDY0CiphYmlfcm91dGVfbWludE5mZDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZWMgMSAvLyAweDE1MWY3Yzc1CgoJLy8gbGlua09uTWludDogYm9vbAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMwoJZHVwCglsZW4KCWludGMgMSAvLyAxCgk9PQoKCS8vIGFyZ3VtZW50IDAgKGxpbmtPbk1pbnQpIGZvciBtaW50TmZkIG11c3QgYmUgYSBib29sCglhc3NlcnQKCWludGMgMCAvLyAwCglnZXRiaXQKCgkvLyByZXNlcnZlZEZvcjogYWRkcmVzcwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJZHVwCglsZW4KCWludGMgNCAvLyAzMgoJPT0KCgkvLyBhcmd1bWVudCAxIChyZXNlcnZlZEZvcikgZm9yIG1pbnROZmQgbXVzdCBiZSBhIGFkZHJlc3MKCWFzc2VydAoKCS8vIG5mZE5hbWU6IHN0cmluZwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZXh0cmFjdCAyIDAKCgkvLyBwdXJjaGFzZVR4bjogcGF5Cgl0eG4gR3JvdXBJbmRleAoJaW50YyAxIC8vIDEKCS0KCWR1cAoJZ3R4bnMgVHlwZUVudW0KCWludGMgMSAvLyAgcGF5Cgk9PQoKCS8vIGFyZ3VtZW50IDMgKHB1cmNoYXNlVHhuKSBmb3IgbWludE5mZCBtdXN0IGJlIGEgcGF5IHRyYW5zYWN0aW9uCglhc3NlcnQKCgkvLyBleGVjdXRlIG1pbnROZmQocGF5LHN0cmluZyxhZGRyZXNzLGJvb2wpdWludDY0CgljYWxsc3ViIG1pbnROZmQKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnRjIDEgLy8gMQoJcmV0dXJuCgovLyBtaW50TmZkKHB1cmNoYXNlVHhuOiBQYXlUeG4sIG5mZE5hbWU6IHN0cmluZywgcmVzZXJ2ZWRGb3I6IEFkZHJlc3MsIGxpbmtPbk1pbnQ6IGJvb2xlYW4pOiB1aW50NjQKLy8KLy8gTWludCBhbiBORkQgKE5GVCkgYW5kIGNyZWF0ZSBhIG5ldyBORkQgaW5zdGFuY2UuCi8vCi8vIEBwYXJhbSB7UGF5VHhufSBwdXJjaGFzZVR4biAtIFRoZSBwYXltZW50IHRyYW5zYWN0aW9uIGNvdmVyaW5nIHRoZSBwdXJjaGFzZSBhbW91bnQgb2YgdGhlIG5mZAovLyBAcGFyYW0ge3N0cmluZ30gbmZkTmFtZSAtIFRoZSBuYW1lIG9mIHRoZSBORkQgdG8gbWludAovLyBAcGFyYW0ge0FkZHJlc3N9IHJlc2VydmVkRm9yIC0gVGhlIGFkZHJlc3MgdGhhdCB3aWxsIG93biB0aGUgTkZEIG9uY2UgbWludGVkIChzbyB5b3UgY2FuIGJ1eSBmb3Igc29tZW9uZSBlbHNlKQovLyBAcGFyYW0ge2Jvb2xlYW59IGxpbmtPbk1pbnQgLSB3aGV0aGVyIHRvIGF1dG8tbGluayB0aGUgYWRkcmVzcyAocmVzZXJ2ZWQgZm9yIE1VU1QgTUFUQ0ggcGF5ZXIhKSBhdCBtaW50Ci8vIEByZXR1cm4ge3VpbnQ2NH0gLSBUaGUgSUQgb2YgdGhlIG5ld2x5IGNyZWF0ZWQgTkZEIGluc3RhbmNlLgptaW50TmZkOgoJcHJvdG8gNCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDAgLy8gMHgKCWR1cG4gMTcKCgkvLyBjb250cmFjdHMvTkZEUmVnaXN0cnkuYWxnby50czoyNzMKCS8vIHZlcmlmeVBheVR4bihwdXJjaGFzZVR4biwgeyByZWNlaXZlcjogdGhpcy5hcHAuYWRkcmVzcyB9KQoJLy8gdmVyaWZ5IHJlY2VpdmVyCglmcmFtZV9kaWcgLTEgLy8gcHVyY2hhc2VUeG46IFBheVR4bgoJZ3R4bnMgUmVjZWl2ZXIKCWdsb2JhbCBDdXJyZW50QXBwbGljYXRpb25BZGRyZXNzCgk9PQoKCS8vIHRyYW5zYWN0aW9uIHZlcmlmaWNhdGlvbiBmYWlsZWQ6IHsidHhuIjoicHVyY2hhc2VUeG4iLCJmaWVsZCI6InJlY2VpdmVyIiwiZXhwZWN0ZWQiOiJ0aGlzLmFwcC5hZGRyZXNzIn0KCWFzc2VydAoKCS8vIGNvbnRyYWN0cy9ORkRSZWdpc3RyeS5hbGdvLnRzOjI3NQoJLy8gYXNzZXJ0KGxlbihyZXNlcnZlZEZvcikgPT09IDMyKQoJaW50YyA0IC8vIDMyCglkdXAKCT09Cglhc3NlcnQKCgkvLyBjb250cmFjdHMvTkZEUmVnaXN0cnkuYWxnby50czoyNzYKCS8vIGFzc2VydChyZXNlcnZlZEZvciAhPT0gZ2xvYmFscy56ZXJvQWRkcmVzcykKCWZyYW1lX2RpZyAtMyAvLyByZXNlcnZlZEZvcjogQWRkcmVzcwoJZ2xvYmFsIFplcm9BZGRyZXNzCgkhPQoJYXNzZXJ0CgoJLy8gY29udHJhY3RzL05GRFJlZ2lzdHJ5LmFsZ28udHM6Mjc4CgkvLyBpbmNyZWFzZU9wY29kZUJ1ZGdldCgpCglpdHhuX2JlZ2luCglpbnRjIDMgLy8gIGFwcGwKCWl0eG5fZmllbGQgVHlwZUVudW0KCWludGMgMCAvLyAwCglpdHhuX2ZpZWxkIEZlZQoJYnl0ZWMgMyAvLyAgI3ByYWdtYSB2ZXJzaW9uIDEwOyBpbnQgMQoJZHVwCglpdHhuX2ZpZWxkIEFwcHJvdmFsUHJvZ3JhbQoJaXR4bl9maWVsZCBDbGVhclN0YXRlUHJvZ3JhbQoJaW50YyA2IC8vICBEZWxldGVBcHBsaWNhdGlvbgoJaXR4bl9maWVsZCBPbkNvbXBsZXRpb24KCWl0eG5fc3VibWl0CgoJLy8gY29udHJhY3RzL05GRFJlZ2lzdHJ5LmFsZ28udHM6MjgxCgkvLyBuZmROYW1lSW5mbyA9IHRoaXMubnVtTGV0dGVyc0luTmZkKG5mZE5hbWUpCglmcmFtZV9kaWcgLTIgLy8gbmZkTmFtZTogc3RyaW5nCgljYWxsc3ViIG51bUxldHRlcnNJbk5mZAoJZnJhbWVfYnVyeSAwIC8vIG5mZE5hbWVJbmZvOiAoYm9vbCx1aW50NjQsdWludDY0KQoKCS8vIGNvbnRyYWN0cy9ORkRSZWdpc3RyeS5hbGdvLnRzOjI4MwoJLy8gcGFyZW50QXBwSWQgPSAwCglpbnRjIDAgLy8gMAoJZnJhbWVfYnVyeSAxIC8vIHBhcmVudEFwcElkOiB1aW50NjQKCgkvLyBjb250cmFjdHMvTkZEUmVnaXN0cnkuYWxnby50czoyODQKCS8vIHBhcmVudFBheW91dEFkZHJlc3MgPSBnbG9iYWxzLnplcm9BZGRyZXNzCglnbG9iYWwgWmVyb0FkZHJlc3MKCWZyYW1lX2J1cnkgMiAvLyBwYXJlbnRQYXlvdXRBZGRyZXNzOiBhZGRyZXNzCgoJLy8gKmlmMTVfY29uZGl0aW9uCgkvLyBjb250cmFjdHMvTkZEUmVnaXN0cnkuYWxnby50czoyODYKCS8vIG5mZE5hbWVJbmZvLmlzU2VnbWVudAoJZnJhbWVfZGlnIDAgLy8gbmZkTmFtZUluZm86IChib29sLHVpbnQ2NCx1aW50NjQpCglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJaW50YyAwIC8vIDAKCWdldGJpdAoJYnogKmlmMTVfZW5kCgoJLy8gKmlmMTVfY29uc2VxdWVudAoJLy8gY29udHJhY3RzL05GRFJlZ2lzdHJ5LmFsZ28udHM6Mjg3CgkvLyBpbmNyZWFzZU9wY29kZUJ1ZGdldCgpCglpdHhuX2JlZ2luCglpbnRjIDMgLy8gIGFwcGwKCWl0eG5fZmllbGQgVHlwZUVudW0KCWludGMgMCAvLyAwCglpdHhuX2ZpZWxkIEZlZQoJYnl0ZWMgMyAvLyAgI3ByYWdtYSB2ZXJzaW9uIDEwOyBpbnQgMQoJZHVwCglpdHhuX2ZpZWxkIEFwcHJvdmFsUHJvZ3JhbQoJaXR4bl9maWVsZCBDbGVhclN0YXRlUHJvZ3JhbQoJaW50YyA2IC8vICBEZWxldGVBcHBsaWNhdGlvbgoJaXR4bl9maWVsZCBPbkNvbXBsZXRpb24KCWl0eG5fc3VibWl0CgoJLy8gY29udHJhY3RzL05GRFJlZ2lzdHJ5LmFsZ28udHM6Mjg5CgkvLyBwYXJlbnRBcHBJZCA9IHRoaXMuZmV0Y2hBcHBJZEZvck5hbWUodGhpcy5mcm9tTmFtZUluZm9HZXRQYXJlbnROYW1lKG5mZE5hbWUsIG5mZE5hbWVJbmZvKSkKCWZyYW1lX2RpZyAwIC8vIG5mZE5hbWVJbmZvOiAoYm9vbCx1aW50NjQsdWludDY0KQoJZnJhbWVfZGlnIC0yIC8vIG5mZE5hbWU6IHN0cmluZwoJY2FsbHN1YiBmcm9tTmFtZUluZm9HZXRQYXJlbnROYW1lCgljYWxsc3ViIGZldGNoQXBwSWRGb3JOYW1lCglmcmFtZV9idXJ5IDEgLy8gcGFyZW50QXBwSWQ6IHVpbnQ2NAoKCS8vIGNvbnRyYWN0cy9ORkRSZWdpc3RyeS5hbGdvLnRzOjI5MAoJLy8gYXNzZXJ0KHBhcmVudEFwcElkICE9PSAwLCAncGFyZW50IG5mZC9pZCBtdXN0IGJlIGZvdW5kJykKCWZyYW1lX2RpZyAxIC8vIHBhcmVudEFwcElkOiB1aW50NjQKCWludGMgMCAvLyAwCgkhPQoKCS8vIHBhcmVudCBuZmQvaWQgbXVzdCBiZSBmb3VuZAoJYXNzZXJ0CgoJLy8gKmlmMTZfY29uZGl0aW9uCgkvLyBjb250cmFjdHMvTkZEUmVnaXN0cnkuYWxnby50czoyOTMKCS8vIHRoaXMuc2FmZUdsb2JhbEJ5dGVHZXRFeChwYXJlbnRBcHBJZCwgTkZEX0tFWV9JU1NFR01FTlRMT0NLRUQpID09PSBORkRfTE9DS0VEX1ZBTF9GQUxTRQoJYnl0ZWMgMTYgLy8gImkuc2VnbWVudExvY2tlZCIKCWZyYW1lX2RpZyAxIC8vIHBhcmVudEFwcElkOiB1aW50NjQKCWNhbGxzdWIgc2FmZUdsb2JhbEJ5dGVHZXRFeAoJYnl0ZWMgMjAgLy8gIjAiCgk9PQoJYnogKmlmMTZfZWxzZQoKCS8vICppZjE2X2NvbnNlcXVlbnQKCS8vIGNvbnRyYWN0cy9ORkRSZWdpc3RyeS5hbGdvLnRzOjI5NAoJLy8gcGFyZW50UGF5b3V0QWRkcmVzcyA9IEFwcElELmZyb21VaW50NjQocGFyZW50QXBwSWQpLmdsb2JhbFN0YXRlKE5GRF9LRVlfU0VMTEVSKSBhcyBBZGRyZXNzCglmcmFtZV9kaWcgMSAvLyBwYXJlbnRBcHBJZDogdWludDY0CglwdXNoYnl0ZXMgImkuc2VsbGVyLmEiCglhcHBfZ2xvYmFsX2dldF9leAoKCS8vIGdsb2JhbCBzdGF0ZSB2YWx1ZSBkb2VzIG5vdCBleGlzdDogQXBwSUQuZnJvbVVpbnQ2NChwYXJlbnRBcHBJZCkuZ2xvYmFsU3RhdGUoTkZEX0tFWV9TRUxMRVIpCglhc3NlcnQKCWZyYW1lX2J1cnkgMiAvLyBwYXJlbnRQYXlvdXRBZGRyZXNzOiBhZGRyZXNzCgliICppZjE2X2VuZAoKKmlmMTZfZWxzZToKCS8vIGNvbnRyYWN0cy9ORkRSZWdpc3RyeS5hbGdvLnRzOjI5NwoJLy8gYXNzZXJ0KAoJLy8gICAgICAgICAgICAgICAgICAgICBwdXJjaGFzZVR4bi5zZW5kZXIgPT09IEFwcElELmZyb21VaW50NjQocGFyZW50QXBwSWQpLmdsb2JhbFN0YXRlKE5GRF9LRVlfT1dORVIpLAoJLy8gICAgICAgICAgICAgICAgICAgICAnb25seSBvd25lciBvZiByb290IGNhbiBtaW50IHNlZ21lbnRzIGlmIHNlZ21lbnRzIGFyZSBsb2NrZWQnLAoJLy8gICAgICAgICAgICAgICAgICkKCWZyYW1lX2RpZyAtMSAvLyBwdXJjaGFzZVR4bjogUGF5VHhuCglndHhucyBTZW5kZXIKCWZyYW1lX2RpZyAxIC8vIHBhcmVudEFwcElkOiB1aW50NjQKCWJ5dGVjIDIgLy8gImkub3duZXIuYSIKCWFwcF9nbG9iYWxfZ2V0X2V4CgoJLy8gZ2xvYmFsIHN0YXRlIHZhbHVlIGRvZXMgbm90IGV4aXN0OiBBcHBJRC5mcm9tVWludDY0KHBhcmVudEFwcElkKS5nbG9iYWxTdGF0ZShORkRfS0VZX09XTkVSKQoJYXNzZXJ0Cgk9PQoKCS8vIG9ubHkgb3duZXIgb2Ygcm9vdCBjYW4gbWludCBzZWdtZW50cyBpZiBzZWdtZW50cyBhcmUgbG9ja2VkCglhc3NlcnQKCippZjE2X2VuZDoKCippZjE1X2VuZDoKCS8vIGNvbnRyYWN0cy9ORkRSZWdpc3RyeS5hbGdvLnRzOjMwNQoJLy8gb25lWWVhclByaWNlID0gdGhpcy5nZXRQcmljZUZvck5hbWUobmZkTmFtZSwgbmZkTmFtZUluZm8sIHRoaXMudHhuLnNlbmRlcikub25lWWVhclByaWNlCgl0eG4gU2VuZGVyCglmcmFtZV9kaWcgMCAvLyBuZmROYW1lSW5mbzogKGJvb2wsdWludDY0LHVpbnQ2NCkKCWZyYW1lX2RpZyAtMiAvLyBuZmROYW1lOiBzdHJpbmcKCWNhbGxzdWIgZ2V0UHJpY2VGb3JOYW1lCglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJZXh0cmFjdCAwIDgKCWJ0b2kKCWZyYW1lX2J1cnkgMyAvLyBvbmVZZWFyUHJpY2U6IHVpbnQ2NAoKCS8vIGNvbnRyYWN0cy9ORkRSZWdpc3RyeS5hbGdvLnRzOjMwNgoJLy8gYXNzZXJ0KG9uZVllYXJQcmljZSA+IDAsICdwcmljZSBjYW4gbmV2ZXIgYmUgMCcpCglmcmFtZV9kaWcgMyAvLyBvbmVZZWFyUHJpY2U6IHVpbnQ2NAoJaW50YyAwIC8vIDAKCT4KCgkvLyBwcmljZSBjYW4gbmV2ZXIgYmUgMAoJYXNzZXJ0CgoJLy8gY29udHJhY3RzL05GRFJlZ2lzdHJ5LmFsZ28udHM6MzA5CgkvLyBuZmRNYnJDb3N0ID0gdGhpcy5nZXROZmRNYnJDb3N0KG5mZE5hbWUpCglmcmFtZV9kaWcgLTIgLy8gbmZkTmFtZTogc3RyaW5nCgljYWxsc3ViIGdldE5mZE1ickNvc3QKCWZyYW1lX2J1cnkgNCAvLyBuZmRNYnJDb3N0OiB1aW50NjQKCgkvLyBjb250cmFjdHMvTkZEUmVnaXN0cnkuYWxnby50czozMTAKCS8vIGxpbmtpbmdOZmRNYnJDb3N0ID0gMAoJaW50YyAwIC8vIDAKCWZyYW1lX2J1cnkgNSAvLyBsaW5raW5nTmZkTWJyQ29zdDogdWludDY0CgoJLy8gKmlmMTdfY29uZGl0aW9uCgkvLyBjb250cmFjdHMvTkZEUmVnaXN0cnkuYWxnby50czozMTEKCS8vIGxpbmtPbk1pbnQKCWZyYW1lX2RpZyAtNCAvLyBsaW5rT25NaW50OiBib29sZWFuCglieiAqaWYxN19lbmQKCgkvLyAqaWYxN19jb25zZXF1ZW50CgkvLyBjb250cmFjdHMvTkZEUmVnaXN0cnkuYWxnby50czozMTIKCS8vIGV4dHJhTWJyQ29zdHMgPSB0aGlzLmdldE5mZExpbmtPbk1pbnRFeHRyYU1ickNvc3QodGhpcy50eG4uc2VuZGVyKQoJdHhuIFNlbmRlcgoJY2FsbHN1YiBnZXROZmRMaW5rT25NaW50RXh0cmFNYnJDb3N0CglmcmFtZV9idXJ5IDYgLy8gZXh0cmFNYnJDb3N0czogKHVpbnQ2NCx1aW50NjQpCgoJLy8gY29udHJhY3RzL05GRFJlZ2lzdHJ5LmFsZ28udHM6MzEzCgkvLyBsaW5raW5nTmZkTWJyQ29zdCA9IGV4dHJhTWJyQ29zdHMubGlua2luZ05mZE1ickNvc3QKCWZyYW1lX2RpZyA2IC8vIGV4dHJhTWJyQ29zdHM6ICh1aW50NjQsdWludDY0KQoJZXh0cmFjdCAwIDgKCWJ0b2kKCWZyYW1lX2J1cnkgNSAvLyBsaW5raW5nTmZkTWJyQ29zdDogdWludDY0CgoJLy8gY29udHJhY3RzL05GRFJlZ2lzdHJ5LmFsZ28udHM6MzE0CgkvLyBuZmRNYnJDb3N0ICs9IGV4dHJhTWJyQ29zdHMubGlua2luZ05mZE1ickNvc3QgKyBleHRyYU1ickNvc3RzLmxpbmtpbmdSZWdpc3RyeU1ickNvc3QKCWZyYW1lX2RpZyA0IC8vIG5mZE1ickNvc3Q6IHVpbnQ2NAoJZnJhbWVfZGlnIDYgLy8gZXh0cmFNYnJDb3N0czogKHVpbnQ2NCx1aW50NjQpCglleHRyYWN0IDAgOAoJYnRvaQoJZnJhbWVfZGlnIDYgLy8gZXh0cmFNYnJDb3N0czogKHVpbnQ2NCx1aW50NjQpCglleHRyYWN0IDggOAoJYnRvaQoJKwoJKwoJZnJhbWVfYnVyeSA0IC8vIG5mZE1ickNvc3Q6IHVpbnQ2NAoKCS8vIGNvbnRyYWN0cy9ORkRSZWdpc3RyeS5hbGdvLnRzOjMxNQoJLy8gYXNzZXJ0KAoJLy8gICAgICAgICAgICAgICAgIHRoaXMudHhuLnNlbmRlciA9PT0gcmVzZXJ2ZWRGb3IsCgkvLyAgICAgICAgICAgICAgICAgJ2lmIGxpbmtpbmcgb24gbWludCwgdGhlIGJ1eWVyIE1VU1QgYmUgd2hvIHdpbGwgYmUgdGhlIG93bmVyIChyZXNlcnZlZEZvciknLAoJLy8gICAgICAgICAgICAgKQoJdHhuIFNlbmRlcgoJZnJhbWVfZGlnIC0zIC8vIHJlc2VydmVkRm9yOiBBZGRyZXNzCgk9PQoKCS8vIGlmIGxpbmtpbmcgb24gbWludCwgdGhlIGJ1eWVyIE1VU1QgYmUgd2hvIHdpbGwgYmUgdGhlIG93bmVyIChyZXNlcnZlZEZvcikKCWFzc2VydAoKKmlmMTdfZW5kOgoJLy8gKmlmMThfY29uZGl0aW9uCgkvLyBjb250cmFjdHMvTkZEUmVnaXN0cnkuYWxnby50czozMjAKCS8vIHRoaXMuZGV2ZWxvcG1lbnRBbGxvd1Nob3J0TWludHMgPT09IDAKCWludGMgMTggLy8gVE1QTF9kZXZlbG9wbWVudEFsbG93U2hvcnRNaW50cwoJaW50YyAwIC8vIDAKCT09CglieiAqaWYxOF9lbmQKCgkvLyAqaWYxOF9jb25zZXF1ZW50CgkvLyBjb250cmFjdHMvTkZEUmVnaXN0cnkuYWxnby50czozMjIKCS8vIGFzc2VydCgKCS8vICAgICAgICAgICAgICAgICAoMzY1ICogKHB1cmNoYXNlVHhuLmFtb3VudCAtIG5mZE1ickNvc3QpKSAvIG9uZVllYXJQcmljZSA+PSAzMCwKCS8vICAgICAgICAgICAgICAgICAncGF5bWVudCB0cmFuc2FjdGlvbiBtdXN0IGJlIGF0IGxlYXN0IGVub3VnaCB0byBjb3ZlciAzMCBkYXlzIG9mIG5mZCBjb3N0ICsgY2FycnkgY29zdCcsCgkvLyAgICAgICAgICAgICApCglpbnRjIDE1IC8vIDM2NQoJZnJhbWVfZGlnIC0xIC8vIHB1cmNoYXNlVHhuOiBQYXlUeG4KCWd0eG5zIEFtb3VudAoJZnJhbWVfZGlnIDQgLy8gbmZkTWJyQ29zdDogdWludDY0CgktCgkqCglmcmFtZV9kaWcgMyAvLyBvbmVZZWFyUHJpY2U6IHVpbnQ2NAoJLwoJaW50YyAxNyAvLyAzMAoJPj0KCgkvLyBwYXltZW50IHRyYW5zYWN0aW9uIG11c3QgYmUgYXQgbGVhc3QgZW5vdWdoIHRvIGNvdmVyIDMwIGRheXMgb2YgbmZkIGNvc3QgKyBjYXJyeSBjb3N0Cglhc3NlcnQKCippZjE4X2VuZDoKCS8vIGNvbnRyYWN0cy9ORkRSZWdpc3RyeS5hbGdvLnRzOjMzMAoJLy8gY3VycmVudENvbnRyYWN0VmVyID0gdGhpcy5ib3hlcyhSRUdJU1RSWV9DT05UUkFDVF9CT1hfQ1VSUkVOVF9DT05UUkFDVCkudmFsdWUgYXMgYnl0ZXMKCWJ5dGVjIDUgLy8gImN1cnJlbnQiCglib3hfZ2V0CgoJLy8gYm94IHZhbHVlIGRvZXMgbm90IGV4aXN0OiB0aGlzLmJveGVzKFJFR0lTVFJZX0NPTlRSQUNUX0JPWF9DVVJSRU5UX0NPTlRSQUNUKS52YWx1ZQoJYXNzZXJ0CglmcmFtZV9idXJ5IDcgLy8gY3VycmVudENvbnRyYWN0VmVyOiBieXRlW10KCgkvLyBjb250cmFjdHMvTkZEUmVnaXN0cnkuYWxnby50czozMzEKCS8vIGFwcHJvdlByb2dOYW1lID0gY29uY2F0KAoJLy8gICAgICAgICAgICAgUkVHSVNUUllfQ09OVFJBQ1RfQk9YX0FQUFJPVkFMX05BTUVQUkVGSVgsCgkvLyAgICAgICAgICAgICB0aGlzLmJveGVzKFJFR0lTVFJZX0NPTlRSQUNUX0JPWF9DVVJSRU5UX0NPTlRSQUNUKS52YWx1ZSBhcyBieXRlcywKCS8vICAgICAgICAgKQoJYnl0ZWMgOCAvLyAiY29udHJhY3Q6QToiCglieXRlYyA1IC8vICJjdXJyZW50IgoJYm94X2dldAoKCS8vIGJveCB2YWx1ZSBkb2VzIG5vdCBleGlzdDogdGhpcy5ib3hlcyhSRUdJU1RSWV9DT05UUkFDVF9CT1hfQ1VSUkVOVF9DT05UUkFDVCkudmFsdWUKCWFzc2VydAoJY29uY2F0CglmcmFtZV9idXJ5IDggLy8gYXBwcm92UHJvZ05hbWU6IGJ5dGVbXQoKCS8vIGNvbnRyYWN0cy9ORkRSZWdpc3RyeS5hbGdvLnRzOjMzNQoJLy8gY2xlYXJQcm9nID0gdGhpcy5ib3hlcyhjb25jYXQoUkVHSVNUUllfQ09OVFJBQ1RfQk9YX0NMRUFSX05BTUVQUkVGSVgsIGN1cnJlbnRDb250cmFjdFZlcikpLnZhbHVlIGFzIGJ5dGVzCglieXRlYyAxMiAvLyAiY29udHJhY3Q6QzoiCglmcmFtZV9kaWcgNyAvLyBjdXJyZW50Q29udHJhY3RWZXI6IGJ5dGVbXQoJY29uY2F0Cglib3hfZ2V0CgoJLy8gYm94IHZhbHVlIGRvZXMgbm90IGV4aXN0OiB0aGlzLmJveGVzKGNvbmNhdChSRUdJU1RSWV9DT05UUkFDVF9CT1hfQ0xFQVJfTkFNRVBSRUZJWCwgY3VycmVudENvbnRyYWN0VmVyKSkudmFsdWUKCWFzc2VydAoJZnJhbWVfYnVyeSA5IC8vIGNsZWFyUHJvZzogYnl0ZVtdCgoJLy8gY29udHJhY3RzL05GRFJlZ2lzdHJ5LmFsZ28udHM6MzM2CgkvLyBhcHByb3ZQcm9nTGVuZ3RoID0gdGhpcy5ib3hlcyhhcHByb3ZQcm9nTmFtZSkuc2l6ZQoJZnJhbWVfZGlnIDggLy8gYXBwcm92UHJvZ05hbWU6IGJ5dGVbXQoJYm94X2xlbgoKCS8vIGJveCB2YWx1ZSBkb2VzIG5vdCBleGlzdDogdGhpcy5ib3hlcyhhcHByb3ZQcm9nTmFtZSkuc2l6ZQoJYXNzZXJ0CglmcmFtZV9idXJ5IDEwIC8vIGFwcHJvdlByb2dMZW5ndGg6IHVpbnQ2NAoKCS8vICppZjE5X2NvbmRpdGlvbgoJLy8gY29udHJhY3RzL05GRFJlZ2lzdHJ5LmFsZ28udHM6MzM4CgkvLyBnbG9iYWxzLm9wY29kZUJ1ZGdldCA8IDIwMAoJZ2xvYmFsIE9wY29kZUJ1ZGdldAoJcHVzaGludCAyMDAKCTwKCWJ6ICppZjE5X2VuZAoKCS8vICppZjE5X2NvbnNlcXVlbnQKCS8vIGNvbnRyYWN0cy9ORkRSZWdpc3RyeS5hbGdvLnRzOjMzOQoJLy8gaW5jcmVhc2VPcGNvZGVCdWRnZXQoKQoJaXR4bl9iZWdpbgoJaW50YyAzIC8vICBhcHBsCglpdHhuX2ZpZWxkIFR5cGVFbnVtCglpbnRjIDAgLy8gMAoJaXR4bl9maWVsZCBGZWUKCWJ5dGVjIDMgLy8gICNwcmFnbWEgdmVyc2lvbiAxMDsgaW50IDEKCWR1cAoJaXR4bl9maWVsZCBBcHByb3ZhbFByb2dyYW0KCWl0eG5fZmllbGQgQ2xlYXJTdGF0ZVByb2dyYW0KCWludGMgNiAvLyAgRGVsZXRlQXBwbGljYXRpb24KCWl0eG5fZmllbGQgT25Db21wbGV0aW9uCglpdHhuX3N1Ym1pdAoKKmlmMTlfZW5kOgoJLy8gY29udHJhY3RzL05GRFJlZ2lzdHJ5LmFsZ28udHM6MzQyCgkvLyBleHBUaW1lID0gdGhpcy5jYWxjRXhwaXJhdGlvbigKCS8vICAgICAgICAgICAgIG9uZVllYXJQcmljZSwKCS8vICAgICAgICAgICAgIHB1cmNoYXNlVHhuLmFtb3VudCAtIG5mZE1ickNvc3QsCgkvLyAgICAgICAgICAgICBnbG9iYWxzLmxhdGVzdFRpbWVzdGFtcCwKCS8vICAgICAgICAgICAgIE5GRF9NQVhfRVhQSVJBVElPTl9ZRUFSUywKCS8vICAgICAgICAgKQoJcHVzaGludCAyMAoJZ2xvYmFsIExhdGVzdFRpbWVzdGFtcAoJZnJhbWVfZGlnIC0xIC8vIHB1cmNoYXNlVHhuOiBQYXlUeG4KCWd0eG5zIEFtb3VudAoJZnJhbWVfZGlnIDQgLy8gbmZkTWJyQ29zdDogdWludDY0CgktCglmcmFtZV9kaWcgMyAvLyBvbmVZZWFyUHJpY2U6IHVpbnQ2NAoJY2FsbHN1YiBjYWxjRXhwaXJhdGlvbgoJZnJhbWVfYnVyeSAxMSAvLyBleHBUaW1lOiB1aW50NjQKCgkvLyBjb250cmFjdHMvTkZEUmVnaXN0cnkuYWxnby50czozNDgKCS8vIHNlbmRBcHBDYWxsKHsKCS8vICAgICAgICAgICAgIG9uQ29tcGxldGlvbjogT25Db21wbGV0aW9uLk5vT3AsCgkvLyAgICAgICAgICAgICBhcHByb3ZhbFByb2dyYW06IFsKCS8vICAgICAgICAgICAgICAgICB0aGlzLmJveGVzKGFwcHJvdlByb2dOYW1lKS5leHRyYWN0KDAsIDQwOTYpLAoJLy8gICAgICAgICAgICAgICAgIHRoaXMuYm94ZXMoYXBwcm92UHJvZ05hbWUpLmV4dHJhY3QoNDA5NiwgYXBwcm92UHJvZ0xlbmd0aCAtIDQwOTYpLAoJLy8gICAgICAgICAgICAgXSwKCS8vICAgICAgICAgICAgIGNsZWFyU3RhdGVQcm9ncmFtOiBjbGVhclByb2csCgkvLyAgICAgICAgICAgICBnbG9iYWxOdW1VaW50OiBORkRJbnN0YW5jZS5zY2hlbWEuZ2xvYmFsLm51bVVpbnQsCgkvLyAgICAgICAgICAgICBnbG9iYWxOdW1CeXRlU2xpY2U6IE5GREluc3RhbmNlLnNjaGVtYS5nbG9iYWwubnVtQnl0ZVNsaWNlLAoJLy8gICAgICAgICAgICAgZXh0cmFQcm9ncmFtUGFnZXM6IDMsCgkvLyAgICAgICAgICAgICBhcHBsaWNhdGlvbkFyZ3M6IFsKCS8vICAgICAgICAgICAgICAgICAvLyBuZmROYW1lOiBzdHJpbmcsCgkvLyAgICAgICAgICAgICAgICAgLy8gc2VsbGVyOiBBZGRyZXNzLCAvLyB0cmVhc3VyeSBhZGRyZXNzCgkvLyAgICAgICAgICAgICAgICAgLy8gYnV5ZXI6IEFkZHJlc3MsIC8vIChidXllciAvIHJlc2VydmVkLWZvciBhZGRyZXNzCgkvLyAgICAgICAgICAgICAgICAgLy8ga2lja29mZkFtb3VudDogdWludDY0LCAvLyBwYXNzIHdoYXQgdGhleSBQQUlEIG1pbnVzIE1CUiBhbW91bnRzICEhCgkvLyAgICAgICAgICAgICAgICAgLy8gZXhwVGltZTogdWludDY0LCAvLyBleHBpcmF0aW9uIHRpbWUgdG8gc2V0IGludG8gY29udHJhY3QKCS8vICAgICAgICAgICAgICAgICAvLyBjb21taXNzaW9uMUFkZHI6IEFkZHJlc3MsIC8vIGNvbW1pc3Npb24gYWdlbnQgcHJpbWFyeQoJLy8gICAgICAgICAgICAgICAgIC8vIGNvbW1pc3Npb24xUGN0OiB1aW50NjQsIC8vIGNvbW1pc3Npb24gJSAtIHNpbmdsZSBkZWNpbWFsIC0gaWU6IDI1IGlzIDIuNSUKCS8vICAgICAgICAgICAgICAgICAvLyBjb21taXNzaW9uMkFkZHI6IEFkZHJlc3MsIC8vIGNvbW1pc3Npb24gYWdlbnQgc2Vjb25kYXJ5CgkvLyAgICAgICAgICAgICAgICAgLy8gY29tbWlzc2lvbjJQY3Q6IHVpbnQ2NCwgLy8gY29tbWlzc2lvbiAlIC0gc2luZ2xlIGRlY2ltYWwgLSBpZTogMjUgaXMgMi41JQoJLy8gICAgICAgICAgICAgICAgIC8vIHNlZ21lbnRSb290QXBwSWQ6IHVpbnQ2NCwgLy8gcGFyZW50IGFwcCBpZCBvZiBzZWdtZW50IG9yIDAgLSBjb21taXNzaW9uIG9uIHNlZ21lbnQgaXMgb25seSBpZiBvcGVuIHNlZ21lbnQKCS8vICAgICAgICAgICAgICAgICAvLyBzZWdtZW50Um9vdENvbW1pc3Npb25BZGRyOiBBZGRyZXNzLCAvLyBvcGVuIHNlZ21lbnQgcGFyZW50IGNvbW1pc3Npb24gYWdlbnQgb3IgWkVSTyBBRERSRVNTIElGIE5PVCBVU0VECgkvLyAgICAgICAgICAgICAgICAgbWV0aG9kKAoJLy8gICAgICAgICAgICAgICAgICAgICAnY3JlYXRlQXBwbGljYXRpb24oc3RyaW5nLGFkZHJlc3MsYWRkcmVzcyx1aW50NjQsdWludDY0LGFkZHJlc3MsdWludDY0LGFkZHJlc3MsdWludDY0LHVpbnQ2NCxhZGRyZXNzKXZvaWQnLAoJLy8gICAgICAgICAgICAgICAgICksCgkvLyAgICAgICAgICAgICAgICAgcmF3Qnl0ZXMobmZkTmFtZSksCgkvLyAgICAgICAgICAgICAgICAgcmF3Qnl0ZXModGhpcy5uZmRUcmVhc3VyeUFkZHIpLAoJLy8gICAgICAgICAgICAgICAgIHJhd0J5dGVzKHJlc2VydmVkRm9yKSwKCS8vICAgICAgICAgICAgICAgICAvLyB0aGlzIG5leHQgdmFsdWUgd2lsbCBiZSB3aGF0IHRoZSBORkQgd2lsbCBiZSAnb24gc2FsZSBmb3InIGF0IGNyZWF0ZSAhIGFuZCBpcyB1c2VkIGFzIHBhcnQgb2YgbGF0ZXIKCS8vICAgICAgICAgICAgICAgICAvLyBwYXlvdXRzIGluIG1pbnRQYXlvdXQgY2FsbAoJLy8gICAgICAgICAgICAgICAgIGl0b2IocHVyY2hhc2VUeG4uYW1vdW50IC0gbmZkTWJyQ29zdCksCgkvLyAgICAgICAgICAgICAgICAgaXRvYihleHBUaW1lKSwKCS8vICAgICAgICAgICAgICAgICByYXdCeXRlcyh0aGlzLm5mZENvbW1pc3Npb24xQWRkciksCgkvLyAgICAgICAgICAgICAgICAgaXRvYih0aGlzLm5mZENvbW1pc3Npb24xUmF0ZSksCgkvLyAgICAgICAgICAgICAgICAgLy8gbm8gc2Vjb25kYXJ5IGNvbW1pc3Npb25zICEKCS8vICAgICAgICAgICAgICAgICByYXdCeXRlcyhnbG9iYWxzLnplcm9BZGRyZXNzKSwKCS8vICAgICAgICAgICAgICAgICBpdG9iKDApLAoJLy8gICAgICAgICAgICAgICAgIC8vCgkvLyAgICAgICAgICAgICAgICAgaXRvYihwYXJlbnRBcHBJZCksCgkvLyAgICAgICAgICAgICAgICAgcmF3Qnl0ZXMocGFyZW50UGF5b3V0QWRkcmVzcyksCgkvLyAgICAgICAgICAgICBdLAoJLy8gICAgICAgICB9KQoJaXR4bl9iZWdpbgoJaW50YyAzIC8vICBhcHBsCglpdHhuX2ZpZWxkIFR5cGVFbnVtCgoJLy8gY29udHJhY3RzL05GRFJlZ2lzdHJ5LmFsZ28udHM6MzQ5CgkvLyBvbkNvbXBsZXRpb246IE9uQ29tcGxldGlvbi5Ob09wCglpbnRjIDAgLy8gIE5vT3AKCWl0eG5fZmllbGQgT25Db21wbGV0aW9uCgoJLy8gY29udHJhY3RzL05GRFJlZ2lzdHJ5LmFsZ28udHM6MzUwCgkvLyBhcHByb3ZhbFByb2dyYW06IFsKCS8vICAgICAgICAgICAgICAgICB0aGlzLmJveGVzKGFwcHJvdlByb2dOYW1lKS5leHRyYWN0KDAsIDQwOTYpLAoJLy8gICAgICAgICAgICAgICAgIHRoaXMuYm94ZXMoYXBwcm92UHJvZ05hbWUpLmV4dHJhY3QoNDA5NiwgYXBwcm92UHJvZ0xlbmd0aCAtIDQwOTYpLAoJLy8gICAgICAgICAgICAgXQoJZnJhbWVfZGlnIDggLy8gYXBwcm92UHJvZ05hbWU6IGJ5dGVbXQoJaW50YyAwIC8vIDAKCWludGMgOSAvLyA0MDk2Cglib3hfZXh0cmFjdAoJaXR4bl9maWVsZCBBcHByb3ZhbFByb2dyYW1QYWdlcwoJZnJhbWVfZGlnIDggLy8gYXBwcm92UHJvZ05hbWU6IGJ5dGVbXQoJaW50YyA5IC8vIDQwOTYKCWZyYW1lX2RpZyAxMCAvLyBhcHByb3ZQcm9nTGVuZ3RoOiB1aW50NjQKCWludGMgOSAvLyA0MDk2CgktCglib3hfZXh0cmFjdAoJaXR4bl9maWVsZCBBcHByb3ZhbFByb2dyYW1QYWdlcwoKCS8vIGNvbnRyYWN0cy9ORkRSZWdpc3RyeS5hbGdvLnRzOjM1NAoJLy8gY2xlYXJTdGF0ZVByb2dyYW06IGNsZWFyUHJvZwoJZnJhbWVfZGlnIDkgLy8gY2xlYXJQcm9nOiBieXRlW10KCWl0eG5fZmllbGQgQ2xlYXJTdGF0ZVByb2dyYW0KCgkvLyBjb250cmFjdHMvTkZEUmVnaXN0cnkuYWxnby50czozNTUKCS8vIGdsb2JhbE51bVVpbnQ6IE5GREluc3RhbmNlLnNjaGVtYS5nbG9iYWwubnVtVWludAoJaW50YyAwIC8vIDAKCWl0eG5fZmllbGQgR2xvYmFsTnVtVWludAoKCS8vIGNvbnRyYWN0cy9ORkRSZWdpc3RyeS5hbGdvLnRzOjM1NgoJLy8gZ2xvYmFsTnVtQnl0ZVNsaWNlOiBORkRJbnN0YW5jZS5zY2hlbWEuZ2xvYmFsLm51bUJ5dGVTbGljZQoJaW50YyAxNyAvLyAzMAoJaXR4bl9maWVsZCBHbG9iYWxOdW1CeXRlU2xpY2UKCgkvLyBjb250cmFjdHMvTkZEUmVnaXN0cnkuYWxnby50czozNTcKCS8vIGV4dHJhUHJvZ3JhbVBhZ2VzOiAzCglpbnRjIDcgLy8gMwoJaXR4bl9maWVsZCBFeHRyYVByb2dyYW1QYWdlcwoKCS8vIGNvbnRyYWN0cy9ORkRSZWdpc3RyeS5hbGdvLnRzOjM1OAoJLy8gYXBwbGljYXRpb25BcmdzOiBbCgkvLyAgICAgICAgICAgICAgICAgLy8gbmZkTmFtZTogc3RyaW5nLAoJLy8gICAgICAgICAgICAgICAgIC8vIHNlbGxlcjogQWRkcmVzcywgLy8gdHJlYXN1cnkgYWRkcmVzcwoJLy8gICAgICAgICAgICAgICAgIC8vIGJ1eWVyOiBBZGRyZXNzLCAvLyAoYnV5ZXIgLyByZXNlcnZlZC1mb3IgYWRkcmVzcwoJLy8gICAgICAgICAgICAgICAgIC8vIGtpY2tvZmZBbW91bnQ6IHVpbnQ2NCwgLy8gcGFzcyB3aGF0IHRoZXkgUEFJRCBtaW51cyBNQlIgYW1vdW50cyAhIQoJLy8gICAgICAgICAgICAgICAgIC8vIGV4cFRpbWU6IHVpbnQ2NCwgLy8gZXhwaXJhdGlvbiB0aW1lIHRvIHNldCBpbnRvIGNvbnRyYWN0CgkvLyAgICAgICAgICAgICAgICAgLy8gY29tbWlzc2lvbjFBZGRyOiBBZGRyZXNzLCAvLyBjb21taXNzaW9uIGFnZW50IHByaW1hcnkKCS8vICAgICAgICAgICAgICAgICAvLyBjb21taXNzaW9uMVBjdDogdWludDY0LCAvLyBjb21taXNzaW9uICUgLSBzaW5nbGUgZGVjaW1hbCAtIGllOiAyNSBpcyAyLjUlCgkvLyAgICAgICAgICAgICAgICAgLy8gY29tbWlzc2lvbjJBZGRyOiBBZGRyZXNzLCAvLyBjb21taXNzaW9uIGFnZW50IHNlY29uZGFyeQoJLy8gICAgICAgICAgICAgICAgIC8vIGNvbW1pc3Npb24yUGN0OiB1aW50NjQsIC8vIGNvbW1pc3Npb24gJSAtIHNpbmdsZSBkZWNpbWFsIC0gaWU6IDI1IGlzIDIuNSUKCS8vICAgICAgICAgICAgICAgICAvLyBzZWdtZW50Um9vdEFwcElkOiB1aW50NjQsIC8vIHBhcmVudCBhcHAgaWQgb2Ygc2VnbWVudCBvciAwIC0gY29tbWlzc2lvbiBvbiBzZWdtZW50IGlzIG9ubHkgaWYgb3BlbiBzZWdtZW50CgkvLyAgICAgICAgICAgICAgICAgLy8gc2VnbWVudFJvb3RDb21taXNzaW9uQWRkcjogQWRkcmVzcywgLy8gb3BlbiBzZWdtZW50IHBhcmVudCBjb21taXNzaW9uIGFnZW50IG9yIFpFUk8gQUREUkVTUyBJRiBOT1QgVVNFRAoJLy8gICAgICAgICAgICAgICAgIG1ldGhvZCgKCS8vICAgICAgICAgICAgICAgICAgICAgJ2NyZWF0ZUFwcGxpY2F0aW9uKHN0cmluZyxhZGRyZXNzLGFkZHJlc3MsdWludDY0LHVpbnQ2NCxhZGRyZXNzLHVpbnQ2NCxhZGRyZXNzLHVpbnQ2NCx1aW50NjQsYWRkcmVzcyl2b2lkJywKCS8vICAgICAgICAgICAgICAgICApLAoJLy8gICAgICAgICAgICAgICAgIHJhd0J5dGVzKG5mZE5hbWUpLAoJLy8gICAgICAgICAgICAgICAgIHJhd0J5dGVzKHRoaXMubmZkVHJlYXN1cnlBZGRyKSwKCS8vICAgICAgICAgICAgICAgICByYXdCeXRlcyhyZXNlcnZlZEZvciksCgkvLyAgICAgICAgICAgICAgICAgLy8gdGhpcyBuZXh0IHZhbHVlIHdpbGwgYmUgd2hhdCB0aGUgTkZEIHdpbGwgYmUgJ29uIHNhbGUgZm9yJyBhdCBjcmVhdGUgISBhbmQgaXMgdXNlZCBhcyBwYXJ0IG9mIGxhdGVyCgkvLyAgICAgICAgICAgICAgICAgLy8gcGF5b3V0cyBpbiBtaW50UGF5b3V0IGNhbGwKCS8vICAgICAgICAgICAgICAgICBpdG9iKHB1cmNoYXNlVHhuLmFtb3VudCAtIG5mZE1ickNvc3QpLAoJLy8gICAgICAgICAgICAgICAgIGl0b2IoZXhwVGltZSksCgkvLyAgICAgICAgICAgICAgICAgcmF3Qnl0ZXModGhpcy5uZmRDb21taXNzaW9uMUFkZHIpLAoJLy8gICAgICAgICAgICAgICAgIGl0b2IodGhpcy5uZmRDb21taXNzaW9uMVJhdGUpLAoJLy8gICAgICAgICAgICAgICAgIC8vIG5vIHNlY29uZGFyeSBjb21taXNzaW9ucyAhCgkvLyAgICAgICAgICAgICAgICAgcmF3Qnl0ZXMoZ2xvYmFscy56ZXJvQWRkcmVzcyksCgkvLyAgICAgICAgICAgICAgICAgaXRvYigwKSwKCS8vICAgICAgICAgICAgICAgICAvLwoJLy8gICAgICAgICAgICAgICAgIGl0b2IocGFyZW50QXBwSWQpLAoJLy8gICAgICAgICAgICAgICAgIHJhd0J5dGVzKHBhcmVudFBheW91dEFkZHJlc3MpLAoJLy8gICAgICAgICAgICAgXQoJcHVzaGJ5dGVzIDB4MGRjYTUyYzEgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbihzdHJpbmcsYWRkcmVzcyxhZGRyZXNzLHVpbnQ2NCx1aW50NjQsYWRkcmVzcyx1aW50NjQsYWRkcmVzcyx1aW50NjQsdWludDY0LGFkZHJlc3Mpdm9pZCIKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCglmcmFtZV9kaWcgLTIgLy8gbmZkTmFtZTogc3RyaW5nCglkdXAKCWxlbgoJaXRvYgoJZXh0cmFjdCA2IDIKCXN3YXAKCWNvbmNhdAoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCWJ5dGVjIDEwIC8vIFRNUExfbmZkVHJlYXN1cnlBZGRyCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoJZnJhbWVfZGlnIC0zIC8vIHJlc2VydmVkRm9yOiBBZGRyZXNzCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoJZnJhbWVfZGlnIC0xIC8vIHB1cmNoYXNlVHhuOiBQYXlUeG4KCWd0eG5zIEFtb3VudAoJZnJhbWVfZGlnIDQgLy8gbmZkTWJyQ29zdDogdWludDY0CgktCglpdG9iCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoJZnJhbWVfZGlnIDExIC8vIGV4cFRpbWU6IHVpbnQ2NAoJaXRvYgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCWJ5dGVjIDIxIC8vIFRNUExfbmZkQ29tbWlzc2lvbjFBZGRyCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoJaW50YyAyNiAvLyBUTVBMX25mZENvbW1pc3Npb24xUmF0ZQoJaXRvYgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCWdsb2JhbCBaZXJvQWRkcmVzcwoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCWJ5dGVjIDQgLy8gMHgwMDAwMDAwMDAwMDAwMDAwCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoJZnJhbWVfZGlnIDEgLy8gcGFyZW50QXBwSWQ6IHVpbnQ2NAoJaXRvYgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCWZyYW1lX2RpZyAyIC8vIHBhcmVudFBheW91dEFkZHJlc3M6IGFkZHJlc3MKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50YyAwIC8vIDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gU3VibWl0IGlubmVyIHRyYW5zYWN0aW9uCglpdHhuX3N1Ym1pdAoKCS8vIGNvbnRyYWN0cy9ORkRSZWdpc3RyeS5hbGdvLnRzOjM5MgoJLy8gbmZkQXBwSWQgPSB0aGlzLml0eG4uY3JlYXRlZEFwcGxpY2F0aW9uSUQuaWQKCWl0eG4gQ3JlYXRlZEFwcGxpY2F0aW9uSUQKCWZyYW1lX2J1cnkgMTIgLy8gbmZkQXBwSWQ6IHVpbnQ2NAoKCS8vIGNvbnRyYWN0cy9ORkRSZWdpc3RyeS5hbGdvLnRzOjM5MwoJLy8gbmZkU0NBZGRyZXNzID0gdGhpcy5pdHhuLmNyZWF0ZWRBcHBsaWNhdGlvbklELmFkZHJlc3MKCWl0eG4gQ3JlYXRlZEFwcGxpY2F0aW9uSUQKCWFwcF9wYXJhbXNfZ2V0IEFwcEFkZHJlc3MKCXBvcAoJZnJhbWVfYnVyeSAxMyAvLyBuZmRTQ0FkZHJlc3M6IGFkZHJlc3MKCgkvLyBjb250cmFjdHMvTkZEUmVnaXN0cnkuYWxnby50czozOTQKCS8vIG5mZEluc3RhbmNlTWJyID0gdGhpcy5nZXROZmRJbnN0YW5jZU1icigpCgljYWxsc3ViIGdldE5mZEluc3RhbmNlTWJyCglmcmFtZV9idXJ5IDE0IC8vIG5mZEluc3RhbmNlTWJyOiB1aW50NjQKCgkvLyBjb250cmFjdHMvTkZEUmVnaXN0cnkuYWxnby50czo0MDIKCS8vIHNlbmRQYXltZW50KHsKCS8vICAgICAgICAgICAgIGFtb3VudDogcHVyY2hhc2VUeG4uYW1vdW50IC0gbmZkTWJyQ29zdCArIG5mZEluc3RhbmNlTWJyICsgbGlua2luZ05mZE1ickNvc3QsCgkvLyAgICAgICAgICAgICByZWNlaXZlcjogbmZkU0NBZGRyZXNzLAoJLy8gICAgICAgICB9KQoJaXR4bl9iZWdpbgoJaW50YyAxIC8vICBwYXkKCWl0eG5fZmllbGQgVHlwZUVudW0KCgkvLyBjb250cmFjdHMvTkZEUmVnaXN0cnkuYWxnby50czo0MDMKCS8vIGFtb3VudDogcHVyY2hhc2VUeG4uYW1vdW50IC0gbmZkTWJyQ29zdCArIG5mZEluc3RhbmNlTWJyICsgbGlua2luZ05mZE1ickNvc3QKCWZyYW1lX2RpZyAtMSAvLyBwdXJjaGFzZVR4bjogUGF5VHhuCglndHhucyBBbW91bnQKCWZyYW1lX2RpZyA0IC8vIG5mZE1ickNvc3Q6IHVpbnQ2NAoJLQoJZnJhbWVfZGlnIDE0IC8vIG5mZEluc3RhbmNlTWJyOiB1aW50NjQKCSsKCWZyYW1lX2RpZyA1IC8vIGxpbmtpbmdOZmRNYnJDb3N0OiB1aW50NjQKCSsKCWl0eG5fZmllbGQgQW1vdW50CgoJLy8gY29udHJhY3RzL05GRFJlZ2lzdHJ5LmFsZ28udHM6NDA0CgkvLyByZWNlaXZlcjogbmZkU0NBZGRyZXNzCglmcmFtZV9kaWcgMTMgLy8gbmZkU0NBZGRyZXNzOiBhZGRyZXNzCglpdHhuX2ZpZWxkIFJlY2VpdmVyCgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50YyAwIC8vIDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gU3VibWl0IGlubmVyIHRyYW5zYWN0aW9uCglpdHhuX3N1Ym1pdAoKCS8vIGNvbnRyYWN0cy9ORkRSZWdpc3RyeS5hbGdvLnRzOjQwNwoJLy8gc2VuZE1ldGhvZENhbGw8dHlwZW9mIE5GREluc3RhbmNlLnByb3RvdHlwZS5taW50QXNhPih7CgkvLyAgICAgICAgICAgICBhcHBsaWNhdGlvbklEOiBBcHBJRC5mcm9tVWludDY0KG5mZEFwcElkKSwKCS8vICAgICAgICAgICAgIG1ldGhvZEFyZ3M6IFsKCS8vICAgICAgICAgICAgICAgICB0aGlzLmNvbmRlbnNlZEFzYU5hbWUobmZkTmFtZSksIC8vIDw9MzIgY2hhcnMgKGlmIGxvbmdlciBlbmRzIGxpa2UgbG9uZ25hbWUuLi5hbGdvKQoJLy8gICAgICAgICAgICAgICAgICd0ZW1wbGF0ZS1pcGZzOi8ve2lwZnNjaWQ6MTpkYWctcGI6cmVzZXJ2ZTpzaGEyLTI1Nn0vbmZkLmpzb24nLAoJLy8gICAgICAgICAgICAgXSwKCS8vICAgICAgICAgfSkKCWl0eG5fYmVnaW4KCWludGMgMyAvLyAgYXBwbAoJaXR4bl9maWVsZCBUeXBlRW51bQoJcHVzaGJ5dGVzIDB4MDZkZjJlNWIgLy8gbWV0aG9kICJtaW50QXNhKHN0cmluZyxzdHJpbmcpdm9pZCIKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCgoJLy8gY29udHJhY3RzL05GRFJlZ2lzdHJ5LmFsZ28udHM6NDA4CgkvLyBhcHBsaWNhdGlvbklEOiBBcHBJRC5mcm9tVWludDY0KG5mZEFwcElkKQoJZnJhbWVfZGlnIDEyIC8vIG5mZEFwcElkOiB1aW50NjQKCWl0eG5fZmllbGQgQXBwbGljYXRpb25JRAoKCS8vIGNvbnRyYWN0cy9ORkRSZWdpc3RyeS5hbGdvLnRzOjQwOQoJLy8gbWV0aG9kQXJnczogWwoJLy8gICAgICAgICAgICAgICAgIHRoaXMuY29uZGVuc2VkQXNhTmFtZShuZmROYW1lKSwgLy8gPD0zMiBjaGFycyAoaWYgbG9uZ2VyIGVuZHMgbGlrZSBsb25nbmFtZS4uLmFsZ28pCgkvLyAgICAgICAgICAgICAgICAgJ3RlbXBsYXRlLWlwZnM6Ly97aXBmc2NpZDoxOmRhZy1wYjpyZXNlcnZlOnNoYTItMjU2fS9uZmQuanNvbicsCgkvLyAgICAgICAgICAgICBdCglmcmFtZV9kaWcgLTIgLy8gbmZkTmFtZTogc3RyaW5nCgljYWxsc3ViIGNvbmRlbnNlZEFzYU5hbWUKCWR1cAoJbGVuCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0CglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoJcHVzaGJ5dGVzIDB4MDAzYzc0NjU2ZDcwNmM2MTc0NjUyZDY5NzA2NjczM2EyZjJmN2I2OTcwNjY3MzYzNjk2NDNhMzEzYTY0NjE2NzJkNzA2MjNhNzI2NTczNjU3Mjc2NjUzYTczNjg2MTMyMmQzMjM1MzY3ZDJmNmU2NjY0MmU2YTczNmY2ZQoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCgkvLyBGZWUgZmllbGQgbm90IHNldCwgZGVmYXVsdGluZyB0byAwCglpbnRjIDAgLy8gMAoJaXR4bl9maWVsZCBGZWUKCgkvLyBTdWJtaXQgaW5uZXIgdHJhbnNhY3Rpb24KCWl0eG5fc3VibWl0CgoJLy8gY29udHJhY3RzL05GRFJlZ2lzdHJ5LmFsZ28udHM6NDE1CgkvLyBuZmRBc2FJZCA9IGJ0b2kodGhpcy5pdHhuLmxhc3RMb2cpCglpdHhuIExhc3RMb2cKCWJ0b2kKCWZyYW1lX2J1cnkgMTUgLy8gbmZkQXNhSWQ6IHVpbnQ2NAoKCS8vIGNvbnRyYWN0cy9ORkRSZWdpc3RyeS5hbGdvLnRzOjQxOAoJLy8gdGhpcy5hc3NpZ25OYW1lVG9SZWdpc3RyeShuZmROYW1lLCBuZmRBc2FJZCwgbmZkQXBwSWQsIGZhbHNlKQoJaW50YyAwIC8vIDAKCWZyYW1lX2RpZyAxMiAvLyBuZmRBcHBJZDogdWludDY0CglmcmFtZV9kaWcgMTUgLy8gbmZkQXNhSWQ6IHVpbnQ2NAoJZnJhbWVfZGlnIC0yIC8vIG5mZE5hbWU6IHN0cmluZwoJY2FsbHN1YiBhc3NpZ25OYW1lVG9SZWdpc3RyeQoKCS8vICppZjIwX2NvbmRpdGlvbgoJLy8gY29udHJhY3RzL05GRFJlZ2lzdHJ5LmFsZ28udHM6NDIxCgkvLyBwYXJlbnRBcHBJZCAhPT0gMAoJZnJhbWVfZGlnIDEgLy8gcGFyZW50QXBwSWQ6IHVpbnQ2NAoJaW50YyAwIC8vIDAKCSE9CglieiAqaWYyMF9lbmQKCgkvLyAqaWYyMF9jb25zZXF1ZW50CgkvLyAqaWYyMV9jb25kaXRpb24KCS8vIGNvbnRyYWN0cy9ORkRSZWdpc3RyeS5hbGdvLnRzOjQyMwoJLy8gdGhpcy5pc1ByZVYzKHBhcmVudEFwcElkKQoJZnJhbWVfZGlnIDEgLy8gcGFyZW50QXBwSWQ6IHVpbnQ2NAoJY2FsbHN1YiBpc1ByZVYzCglieiAqaWYyMV9lbHNlCgoJLy8gKmlmMjFfY29uc2VxdWVudAoJLy8gY29udHJhY3RzL05GRFJlZ2lzdHJ5LmFsZ28udHM6NDI0CgkvLyBhc3NlcnQoCgkvLyAgICAgICAgICAgICAgICAgICAgIChBcHBJRC5mcm9tVWludDY0KHBhcmVudEFwcElkKS5nbG9iYWxTdGF0ZShORkRfS0VZX1ZFUlNJT04pIGFzIGJ5dGVzKSA9PT0gJzIuMTInLAoJLy8gICAgICAgICAgICAgICAgICAgICAnbmZkIHJvb3Qgbm90IDMueCBtdXN0IGJlIHZlcnNpb24gMi4xMiBpbiBvcmRlciBmb3Igc2VnbWVudCBtaW50aW5nIHRvIHN1Y2NlZWQnLAoJLy8gICAgICAgICAgICAgICAgICkKCWZyYW1lX2RpZyAxIC8vIHBhcmVudEFwcElkOiB1aW50NjQKCWJ5dGVjIDkgLy8gImkudmVyIgoJYXBwX2dsb2JhbF9nZXRfZXgKCgkvLyBnbG9iYWwgc3RhdGUgdmFsdWUgZG9lcyBub3QgZXhpc3Q6IEFwcElELmZyb21VaW50NjQocGFyZW50QXBwSWQpLmdsb2JhbFN0YXRlKE5GRF9LRVlfVkVSU0lPTikKCWFzc2VydAoJcHVzaGJ5dGVzIDB4MzIyZTMxMzIgLy8gIjIuMTIiCgk9PQoKCS8vIG5mZCByb290IG5vdCAzLnggbXVzdCBiZSB2ZXJzaW9uIDIuMTIgaW4gb3JkZXIgZm9yIHNlZ21lbnQgbWludGluZyB0byBzdWNjZWVkCglhc3NlcnQKCgkvLyBjb250cmFjdHMvTkZEUmVnaXN0cnkuYWxnby50czo0MjgKCS8vIHNlbmRBcHBDYWxsKHsKCS8vICAgICAgICAgICAgICAgICAgICAgb25Db21wbGV0aW9uOiBPbkNvbXBsZXRpb24uTm9PcCwKCS8vICAgICAgICAgICAgICAgICAgICAgYXBwbGljYXRpb25JRDogQXBwSUQuZnJvbVVpbnQ2NChwYXJlbnRBcHBJZCksCgkvLyAgICAgICAgICAgICAgICAgICAgIGFwcGxpY2F0aW9uQXJnczogWyd1cGRhdGVfc2VnbWVudF9jb3VudCcsIG5mZE5hbWUsIGl0b2IobmZkQXBwSWQpXSwKCS8vICAgICAgICAgICAgICAgICB9KQoJaXR4bl9iZWdpbgoJaW50YyAzIC8vICBhcHBsCglpdHhuX2ZpZWxkIFR5cGVFbnVtCgoJLy8gY29udHJhY3RzL05GRFJlZ2lzdHJ5LmFsZ28udHM6NDI5CgkvLyBvbkNvbXBsZXRpb246IE9uQ29tcGxldGlvbi5Ob09wCglpbnRjIDAgLy8gIE5vT3AKCWl0eG5fZmllbGQgT25Db21wbGV0aW9uCgoJLy8gY29udHJhY3RzL05GRFJlZ2lzdHJ5LmFsZ28udHM6NDMwCgkvLyBhcHBsaWNhdGlvbklEOiBBcHBJRC5mcm9tVWludDY0KHBhcmVudEFwcElkKQoJZnJhbWVfZGlnIDEgLy8gcGFyZW50QXBwSWQ6IHVpbnQ2NAoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbklECgoJLy8gY29udHJhY3RzL05GRFJlZ2lzdHJ5LmFsZ28udHM6NDMxCgkvLyBhcHBsaWNhdGlvbkFyZ3M6IFsndXBkYXRlX3NlZ21lbnRfY291bnQnLCBuZmROYW1lLCBpdG9iKG5mZEFwcElkKV0KCXB1c2hieXRlcyAweDc1NzA2NDYxNzQ2NTVmNzM2NTY3NmQ2NTZlNzQ1ZjYzNmY3NTZlNzQgLy8gInVwZGF0ZV9zZWdtZW50X2NvdW50IgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCWZyYW1lX2RpZyAtMiAvLyBuZmROYW1lOiBzdHJpbmcKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCglmcmFtZV9kaWcgMTIgLy8gbmZkQXBwSWQ6IHVpbnQ2NAoJaXRvYgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCgkvLyBGZWUgZmllbGQgbm90IHNldCwgZGVmYXVsdGluZyB0byAwCglpbnRjIDAgLy8gMAoJaXR4bl9maWVsZCBGZWUKCgkvLyBTdWJtaXQgaW5uZXIgdHJhbnNhY3Rpb24KCWl0eG5fc3VibWl0CgliICppZjIxX2VuZAoKKmlmMjFfZWxzZToKCS8vIGNvbnRyYWN0cy9ORkRSZWdpc3RyeS5hbGdvLnRzOjQzNAoJLy8gc2VuZE1ldGhvZENhbGw8dHlwZW9mIE5GREluc3RhbmNlLnByb3RvdHlwZS51cGRhdGVTZWdtZW50Q291bnQ+KHsKCS8vICAgICAgICAgICAgICAgICAgICAgYXBwbGljYXRpb25JRDogQXBwSUQuZnJvbVVpbnQ2NChwYXJlbnRBcHBJZCksCgkvLyAgICAgICAgICAgICAgICAgICAgIG1ldGhvZEFyZ3M6IFtuZmROYW1lLCBuZmRBcHBJZF0sCgkvLyAgICAgICAgICAgICAgICAgfSkKCWl0eG5fYmVnaW4KCWludGMgMyAvLyAgYXBwbAoJaXR4bl9maWVsZCBUeXBlRW51bQoJcHVzaGJ5dGVzIDB4MGQyNmM1OTEgLy8gbWV0aG9kICJ1cGRhdGVTZWdtZW50Q291bnQoc3RyaW5nLHVpbnQ2NCl2b2lkIgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCgkvLyBjb250cmFjdHMvTkZEUmVnaXN0cnkuYWxnby50czo0MzUKCS8vIGFwcGxpY2F0aW9uSUQ6IEFwcElELmZyb21VaW50NjQocGFyZW50QXBwSWQpCglmcmFtZV9kaWcgMSAvLyBwYXJlbnRBcHBJZDogdWludDY0CglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uSUQKCgkvLyBjb250cmFjdHMvTkZEUmVnaXN0cnkuYWxnby50czo0MzYKCS8vIG1ldGhvZEFyZ3M6IFtuZmROYW1lLCBuZmRBcHBJZF0KCWZyYW1lX2RpZyAtMiAvLyBuZmROYW1lOiBzdHJpbmcKCWR1cAoJbGVuCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0CglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoJZnJhbWVfZGlnIDEyIC8vIG5mZEFwcElkOiB1aW50NjQKCWl0b2IKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50YyAwIC8vIDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gU3VibWl0IGlubmVyIHRyYW5zYWN0aW9uCglpdHhuX3N1Ym1pdAoKKmlmMjFfZW5kOgoKKmlmMjBfZW5kOgoJLy8gY29udHJhY3RzL05GRFJlZ2lzdHJ5LmFsZ28udHM6NDQyCgkvLyBjb25zdHJhaW50RGF0YSA9IHRoaXMuZ2V0Q29uc3RyYWludHMoKQoJY2FsbHN1YiBnZXRDb25zdHJhaW50cwoJZnJhbWVfYnVyeSAxNiAvLyBjb25zdHJhaW50RGF0YTogKHVpbnQ2NCx1aW50NjQsdWludDY0LGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQpCgoJLy8gY29udHJhY3RzL05GRFJlZ2lzdHJ5LmFsZ28udHM6NDQ0CgkvLyBwYXlvdXRJbmZvID0gc2VuZE1ldGhvZENhbGw8dHlwZW9mIE5GREluc3RhbmNlLnByb3RvdHlwZS5taW50UGF5b3V0Pih7CgkvLyAgICAgICAgICAgICBhcHBsaWNhdGlvbklEOiBBcHBJRC5mcm9tVWludDY0KG5mZEFwcElkKSwKCS8vICAgICAgICAgICAgIG1ldGhvZEFyZ3M6IFtvbmVZZWFyUHJpY2UsIGNvbnN0cmFpbnREYXRhLnNlZ21lbnRQbGF0Zm9ybUNvc3RJbkFsZ29dLAoJLy8gICAgICAgICB9KQoJaXR4bl9iZWdpbgoJaW50YyAzIC8vICBhcHBsCglpdHhuX2ZpZWxkIFR5cGVFbnVtCglwdXNoYnl0ZXMgMHhkODUzMzdjNCAvLyBtZXRob2QgIm1pbnRQYXlvdXQodWludDY0LHVpbnQ2NCkodWludDY0LGFkZHJlc3MsdWludDY0LGFkZHJlc3MsdWludDY0KSIKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCgoJLy8gY29udHJhY3RzL05GRFJlZ2lzdHJ5LmFsZ28udHM6NDQ1CgkvLyBhcHBsaWNhdGlvbklEOiBBcHBJRC5mcm9tVWludDY0KG5mZEFwcElkKQoJZnJhbWVfZGlnIDEyIC8vIG5mZEFwcElkOiB1aW50NjQKCWl0eG5fZmllbGQgQXBwbGljYXRpb25JRAoKCS8vIGNvbnRyYWN0cy9ORkRSZWdpc3RyeS5hbGdvLnRzOjQ0NgoJLy8gbWV0aG9kQXJnczogW29uZVllYXJQcmljZSwgY29uc3RyYWludERhdGEuc2VnbWVudFBsYXRmb3JtQ29zdEluQWxnb10KCWZyYW1lX2RpZyAzIC8vIG9uZVllYXJQcmljZTogdWludDY0CglpdG9iCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoJZnJhbWVfZGlnIDE2IC8vIGNvbnN0cmFpbnREYXRhOiAodWludDY0LHVpbnQ2NCx1aW50NjQsYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCkKCWV4dHJhY3QgOCA4CglidG9pCglpdG9iCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoKCS8vIEZlZSBmaWVsZCBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIDAKCWludGMgMCAvLyAwCglpdHhuX2ZpZWxkIEZlZQoKCS8vIFN1Ym1pdCBpbm5lciB0cmFuc2FjdGlvbgoJaXR4bl9zdWJtaXQKCWl0eG4gTnVtTG9ncwoJaW50YyAxIC8vIDEKCS0KCWl0eG5hcyBMb2dzCglleHRyYWN0IDQgMAoJZnJhbWVfYnVyeSAxNyAvLyBwYXlvdXRJbmZvOiAodWludDY0LGFkZHJlc3MsdWludDY0LGFkZHJlc3MsdWludDY0KQoKCS8vIGNvbnRyYWN0cy9ORkRSZWdpc3RyeS5hbGdvLnRzOjQ0OQoJLy8gdGhpcy5uZmRSZWdpc3RyeV9taW50ZWQubG9nKHsKCS8vICAgICAgICAgICAgIGFwcElkOiBuZmRBcHBJZCwKCS8vICAgICAgICAgICAgIG5hbWU6IG5mZE5hbWUsCgkvLyAgICAgICAgICAgICBwcmljZU9uZVllYXI6IG9uZVllYXJQcmljZSwKCS8vICAgICAgICAgICAgIHBhaWRBbW91bnQ6IHB1cmNoYXNlVHhuLmFtb3VudCAtIG5mZE1ickNvc3QsCgkvLyAgICAgICAgICAgICBjYXJyeUNvc3Q6IG5mZE1ickNvc3QsCgkvLyAgICAgICAgICAgICBzZWxsZXI6IHRoaXMubmZkVHJlYXN1cnlBZGRyLAoJLy8gICAgICAgICAgICAgYnV5ZXI6IHB1cmNoYXNlVHhuLnNlbmRlciwKCS8vICAgICAgICAgICAgIG93bmVyOiByZXNlcnZlZEZvciwKCS8vICAgICAgICAgICAgIGV4cFRpbWU6IGV4cFRpbWUsCgkvLyAgICAgICAgICAgICBhbW91bnRUb1NlbGxlcjogcGF5b3V0SW5mby5hbW91bnRUb1NlbGxlciwKCS8vICAgICAgICAgICAgIGNvbW1pc3Npb25BZGRyZXNzOiBwYXlvdXRJbmZvLmNvbW1pc3Npb25BZGRyZXNzLAoJLy8gICAgICAgICAgICAgYW1vdW50VG9Db21taXNzaW9uOiBwYXlvdXRJbmZvLmFtb3VudFRvQ29tbWlzc2lvbiwKCS8vICAgICAgICAgICAgIHNlZ21lbnRSb290T3duZXI6IHBheW91dEluZm8uc2VnbWVudFJvb3RPd25lciwKCS8vICAgICAgICAgICAgIGFtb3VudFRvU2VnbWVudFJvb3Q6IHBheW91dEluZm8uYW1vdW50VG9TZWdtZW50Um9vdCwKCS8vICAgICAgICAgfSkKCXB1c2hieXRlcyAweDM1YzU5NDE4IC8vIG5mZFJlZ2lzdHJ5X21pbnRlZCh1aW50NjQsc3RyaW5nLHVpbnQ2NCx1aW50NjQsdWludDY0LGFkZHJlc3MsYWRkcmVzcyxhZGRyZXNzLHVpbnQ2NCx1aW50NjQsYWRkcmVzcyx1aW50NjQsYWRkcmVzcyx1aW50NjQpCglieXRlYyAwIC8vICBpbml0aWFsIGhlYWQKCWJ5dGVjIDAgLy8gIGluaXRpYWwgdGFpbAoJcHVzaGJ5dGVzIDB4MDBlMiAvLyBpbml0aWFsIGhlYWQgb2Zmc2V0CglmcmFtZV9kaWcgMTIgLy8gbmZkQXBwSWQ6IHVpbnQ2NAoJaXRvYgoJY2FsbHN1YiAqcHJvY2Vzc19zdGF0aWNfdHVwbGVfZWxlbWVudAoJZnJhbWVfZGlnIC0yIC8vIG5mZE5hbWU6IHN0cmluZwoJZHVwCglsZW4KCWl0b2IKCWV4dHJhY3QgNiAyCglzd2FwCgljb25jYXQKCWNhbGxzdWIgKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50CglmcmFtZV9kaWcgMyAvLyBvbmVZZWFyUHJpY2U6IHVpbnQ2NAoJaXRvYgoJY2FsbHN1YiAqcHJvY2Vzc19zdGF0aWNfdHVwbGVfZWxlbWVudAoJZnJhbWVfZGlnIC0xIC8vIHB1cmNoYXNlVHhuOiBQYXlUeG4KCWd0eG5zIEFtb3VudAoJZnJhbWVfZGlnIDQgLy8gbmZkTWJyQ29zdDogdWludDY0CgktCglpdG9iCgljYWxsc3ViICpwcm9jZXNzX3N0YXRpY190dXBsZV9lbGVtZW50CglmcmFtZV9kaWcgNCAvLyBuZmRNYnJDb3N0OiB1aW50NjQKCWl0b2IKCWNhbGxzdWIgKnByb2Nlc3Nfc3RhdGljX3R1cGxlX2VsZW1lbnQKCWJ5dGVjIDEwIC8vIFRNUExfbmZkVHJlYXN1cnlBZGRyCgljYWxsc3ViICpwcm9jZXNzX3N0YXRpY190dXBsZV9lbGVtZW50CglmcmFtZV9kaWcgLTEgLy8gcHVyY2hhc2VUeG46IFBheVR4bgoJZ3R4bnMgU2VuZGVyCgljYWxsc3ViICpwcm9jZXNzX3N0YXRpY190dXBsZV9lbGVtZW50CglmcmFtZV9kaWcgLTMgLy8gcmVzZXJ2ZWRGb3I6IEFkZHJlc3MKCWNhbGxzdWIgKnByb2Nlc3Nfc3RhdGljX3R1cGxlX2VsZW1lbnQKCWZyYW1lX2RpZyAxMSAvLyBleHBUaW1lOiB1aW50NjQKCWl0b2IKCWNhbGxzdWIgKnByb2Nlc3Nfc3RhdGljX3R1cGxlX2VsZW1lbnQKCWZyYW1lX2RpZyAxNyAvLyBwYXlvdXRJbmZvOiAodWludDY0LGFkZHJlc3MsdWludDY0LGFkZHJlc3MsdWludDY0KQoJZXh0cmFjdCAwIDgKCWJ0b2kKCWl0b2IKCWNhbGxzdWIgKnByb2Nlc3Nfc3RhdGljX3R1cGxlX2VsZW1lbnQKCWZyYW1lX2RpZyAxNyAvLyBwYXlvdXRJbmZvOiAodWludDY0LGFkZHJlc3MsdWludDY0LGFkZHJlc3MsdWludDY0KQoJZXh0cmFjdCA4IDMyCgljYWxsc3ViICpwcm9jZXNzX3N0YXRpY190dXBsZV9lbGVtZW50CglmcmFtZV9kaWcgMTcgLy8gcGF5b3V0SW5mbzogKHVpbnQ2NCxhZGRyZXNzLHVpbnQ2NCxhZGRyZXNzLHVpbnQ2NCkKCWV4dHJhY3QgNDAgOAoJYnRvaQoJaXRvYgoJY2FsbHN1YiAqcHJvY2Vzc19zdGF0aWNfdHVwbGVfZWxlbWVudAoJZnJhbWVfZGlnIDE3IC8vIHBheW91dEluZm86ICh1aW50NjQsYWRkcmVzcyx1aW50NjQsYWRkcmVzcyx1aW50NjQpCglleHRyYWN0IDQ4IDMyCgljYWxsc3ViICpwcm9jZXNzX3N0YXRpY190dXBsZV9lbGVtZW50CglmcmFtZV9kaWcgMTcgLy8gcGF5b3V0SW5mbzogKHVpbnQ2NCxhZGRyZXNzLHVpbnQ2NCxhZGRyZXNzLHVpbnQ2NCkKCWV4dHJhY3QgODAgOAoJYnRvaQoJaXRvYgoJY2FsbHN1YiAqcHJvY2Vzc19zdGF0aWNfdHVwbGVfZWxlbWVudAoJcG9wIC8vIHBvcCBoZWFkIG9mZnNldAoJY29uY2F0IC8vIGNvbmNhdCBoZWFkIGFuZCB0YWlsCgljb25jYXQKCWxvZwoKCS8vICppZjIyX2NvbmRpdGlvbgoJLy8gY29udHJhY3RzL05GRFJlZ2lzdHJ5LmFsZ28udHM6NDY2CgkvLyBsaW5rT25NaW50CglmcmFtZV9kaWcgLTQgLy8gbGlua09uTWludDogYm9vbGVhbgoJYnogKmlmMjJfZW5kCgoJLy8gKmlmMjJfY29uc2VxdWVudAoJLy8gY29udHJhY3RzL05GRFJlZ2lzdHJ5LmFsZ28udHM6NDY3CgkvLyBzZW5kTWV0aG9kQ2FsbDx0eXBlb2YgTkZESW5zdGFuY2UucHJvdG90eXBlLnVwZGF0ZUZpZWxkcz4oewoJLy8gICAgICAgICAgICAgICAgIGFwcGxpY2F0aW9uSUQ6IEFwcElELmZyb21VaW50NjQobmZkQXBwSWQpLAoJLy8gICAgICAgICAgICAgICAgIG1ldGhvZEFyZ3M6IFtbTkZEX0ZJRUxEX0NBX1RPX1ZFUklGWSwgcmF3Qnl0ZXModGhpcy50eG4uc2VuZGVyKV1dLAoJLy8gICAgICAgICAgICAgfSkKCWl0eG5fYmVnaW4KCWludGMgMyAvLyAgYXBwbAoJaXR4bl9maWVsZCBUeXBlRW51bQoJcHVzaGJ5dGVzIDB4NzhmNDI3MTEgLy8gbWV0aG9kICJ1cGRhdGVGaWVsZHMoYnl0ZVtdW10pdm9pZCIKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCgoJLy8gY29udHJhY3RzL05GRFJlZ2lzdHJ5LmFsZ28udHM6NDY4CgkvLyBhcHBsaWNhdGlvbklEOiBBcHBJRC5mcm9tVWludDY0KG5mZEFwcElkKQoJZnJhbWVfZGlnIDEyIC8vIG5mZEFwcElkOiB1aW50NjQKCWl0eG5fZmllbGQgQXBwbGljYXRpb25JRAoKCS8vIGNvbnRyYWN0cy9ORkRSZWdpc3RyeS5hbGdvLnRzOjQ2OQoJLy8gbWV0aG9kQXJnczogW1tORkRfRklFTERfQ0FfVE9fVkVSSUZZLCByYXdCeXRlcyh0aGlzLnR4bi5zZW5kZXIpXV0KCWJ5dGVjIDAgLy8gIGluaXRpYWwgaGVhZAoJYnl0ZWMgMCAvLyAgaW5pdGlhbCB0YWlsCglwdXNoYnl0ZXMgMHgwMDA0IC8vIGluaXRpYWwgaGVhZCBvZmZzZXQKCWJ5dGVjIDcgLy8gInUuY2F2LmFsZ28uYSIKCWR1cAoJbGVuCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0CgljYWxsc3ViICpwcm9jZXNzX2R5bmFtaWNfdHVwbGVfZWxlbWVudAoJdHhuIFNlbmRlcgoJZHVwCglsZW4KCWl0b2IKCWV4dHJhY3QgNiAyCglzd2FwCgljb25jYXQKCWNhbGxzdWIgKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50Cglwb3AgLy8gcG9wIGhlYWQgb2Zmc2V0Cgljb25jYXQgLy8gY29uY2F0IGhlYWQgYW5kIHRhaWwKCXB1c2hieXRlcyAweDAwMDIKCXN3YXAKCWNvbmNhdAoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCgkvLyBGZWUgZmllbGQgbm90IHNldCwgZGVmYXVsdGluZyB0byAwCglpbnRjIDAgLy8gMAoJaXR4bl9maWVsZCBGZWUKCgkvLyBTdWJtaXQgaW5uZXIgdHJhbnNhY3Rpb24KCWl0eG5fc3VibWl0CgoJLy8gY29udHJhY3RzL05GRFJlZ2lzdHJ5LmFsZ28udHM6NDcxCgkvLyB0aGlzLmxpbmtOZmRBZGRyZXNzKG5mZE5hbWUsIG5mZEFwcElkLCB0aGlzLnR4bi5zZW5kZXIpCgl0eG4gU2VuZGVyCglmcmFtZV9kaWcgMTIgLy8gbmZkQXBwSWQ6IHVpbnQ2NAoJZnJhbWVfZGlnIC0yIC8vIG5mZE5hbWU6IHN0cmluZwoJY2FsbHN1YiBsaW5rTmZkQWRkcmVzcwoKKmlmMjJfZW5kOgoJLy8gY29udHJhY3RzL05GRFJlZ2lzdHJ5LmFsZ28udHM6NDczCgkvLyByZXR1cm4gbmZkQXBwSWQKCWZyYW1lX2RpZyAxMiAvLyBuZmRBcHBJZDogdWludDY0CgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCgoJLy8gcG9wIGFsbCBsb2NhbCB2YXJpYWJsZXMgZnJvbSB0aGUgc3RhY2sKCXBvcG4gMTcKCXJldHN1YgoKLy8gbGlua05mZEFkZHJlc3Moc3RyaW5nLHVpbnQ2NCxhZGRyZXNzKXZvaWQKKmFiaV9yb3V0ZV9saW5rTmZkQWRkcmVzczoKCS8vIGFkZHJUb1ZlcmlmeTogYWRkcmVzcwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMwoJZHVwCglsZW4KCWludGMgNCAvLyAzMgoJPT0KCgkvLyBhcmd1bWVudCAwIChhZGRyVG9WZXJpZnkpIGZvciBsaW5rTmZkQWRkcmVzcyBtdXN0IGJlIGEgYWRkcmVzcwoJYXNzZXJ0CgoJLy8gbmZkQXBwSWQ6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJYnRvaQoKCS8vIG5mZE5hbWU6IHN0cmluZwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZXh0cmFjdCAyIDAKCgkvLyBleGVjdXRlIGxpbmtOZmRBZGRyZXNzKHN0cmluZyx1aW50NjQsYWRkcmVzcyl2b2lkCgljYWxsc3ViIGxpbmtOZmRBZGRyZXNzCglpbnRjIDEgLy8gMQoJcmV0dXJuCgovLyBsaW5rTmZkQWRkcmVzcyhuZmROYW1lOiBzdHJpbmcsIG5mZEFwcElkOiB1aW50NjQsIGFkZHJUb1ZlcmlmeTogQWRkcmVzcyk6IHZvaWQKbGlua05mZEFkZHJlc3M6Cglwcm90byAzIDAKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMCAvLyAweAoJZHVwCgoJLy8gY29udHJhY3RzL05GRFJlZ2lzdHJ5LmFsZ28udHM6NDgwCgkvLyBhZGRyQm94TmFtZSA9IHRoaXMuZ2V0QWxnb0FkZHJlc3NCb3hOYW1lKHJhd0J5dGVzKGFkZHJUb1ZlcmlmeSkpCglmcmFtZV9kaWcgLTMgLy8gYWRkclRvVmVyaWZ5OiBBZGRyZXNzCgljYWxsc3ViIGdldEFsZ29BZGRyZXNzQm94TmFtZQoJZnJhbWVfYnVyeSAwIC8vIGFkZHJCb3hOYW1lOiBieXRlW10KCgkvLyBjb250cmFjdHMvTkZEUmVnaXN0cnkuYWxnby50czo0ODEKCS8vIG5mZE93bmVyID0gQXBwSUQuZnJvbVVpbnQ2NChuZmRBcHBJZCkuZ2xvYmFsU3RhdGUoTkZEX0tFWV9PV05FUikgYXMgQWRkcmVzcwoJZnJhbWVfZGlnIC0yIC8vIG5mZEFwcElkOiB1aW50NjQKCWJ5dGVjIDIgLy8gImkub3duZXIuYSIKCWFwcF9nbG9iYWxfZ2V0X2V4CgoJLy8gZ2xvYmFsIHN0YXRlIHZhbHVlIGRvZXMgbm90IGV4aXN0OiBBcHBJRC5mcm9tVWludDY0KG5mZEFwcElkKS5nbG9iYWxTdGF0ZShORkRfS0VZX09XTkVSKQoJYXNzZXJ0CglmcmFtZV9idXJ5IDEgLy8gbmZkT3duZXI6IGFkZHJlc3MKCgkvLyBjb250cmFjdHMvTkZEUmVnaXN0cnkuYWxnby50czo0ODMKCS8vIGFzc2VydCh0aGlzLmlzVjJOZmRBcHBJZEF1dGhlbnRpYyhuZmROYW1lLCBuZmRBcHBJZCksICdyZWZlcmVuY2VkIE5GRCBuYW1lL2lkIG11c3QgYmUgdmFsaWQnKQoJZnJhbWVfZGlnIC0yIC8vIG5mZEFwcElkOiB1aW50NjQKCWZyYW1lX2RpZyAtMSAvLyBuZmROYW1lOiBzdHJpbmcKCWNhbGxzdWIgaXNWMk5mZEFwcElkQXV0aGVudGljCgoJLy8gcmVmZXJlbmNlZCBORkQgbmFtZS9pZCBtdXN0IGJlIHZhbGlkCglhc3NlcnQKCgkvLyAqaWYyM19jb25kaXRpb24KCS8vIGNvbnRyYWN0cy9ORkRSZWdpc3RyeS5hbGdvLnRzOjQ4OAoJLy8gQXBwSUQuZnJvbVVpbnQ2NChuZmRBcHBJZCkuYWRkcmVzcyA9PT0gYWRkclRvVmVyaWZ5CglmcmFtZV9kaWcgLTIgLy8gbmZkQXBwSWQ6IHVpbnQ2NAoJYXBwX3BhcmFtc19nZXQgQXBwQWRkcmVzcwoJcG9wCglmcmFtZV9kaWcgLTMgLy8gYWRkclRvVmVyaWZ5OiBBZGRyZXNzCgk9PQoJYnogKmlmMjNfZWxzZQoKCS8vICppZjIzX2NvbnNlcXVlbnQKCS8vIGNvbnRyYWN0cy9ORkRSZWdpc3RyeS5hbGdvLnRzOjQ4OQoJLy8gYXNzZXJ0KHRoaXMudHhuLnNlbmRlciA9PT0gbmZkT3duZXIsICd2ZXJpZnlpbmcgdmF1bHQgYWNjb3VudCwgc2VuZGVyIG11c3QgYmUgTkZEIG93bmVyJykKCXR4biBTZW5kZXIKCWZyYW1lX2RpZyAxIC8vIG5mZE93bmVyOiBhZGRyZXNzCgk9PQoKCS8vIHZlcmlmeWluZyB2YXVsdCBhY2NvdW50LCBzZW5kZXIgbXVzdCBiZSBORkQgb3duZXIKCWFzc2VydAoJYiAqaWYyM19lbmQKCippZjIzX2Vsc2U6CgkvLyBjb250cmFjdHMvTkZEUmVnaXN0cnkuYWxnby50czo0OTIKCS8vIGFzc2VydCh0aGlzLnR4bi5zZW5kZXIgPT09IGFkZHJUb1ZlcmlmeSwgJ2FwcCBjYWxsIHNlbmRlciBtdXN0IG1hdGNoIGFkZHJlc3MgYmVpbmcgYWRkZWQvcmVtb3ZlZCcpCgl0eG4gU2VuZGVyCglmcmFtZV9kaWcgLTMgLy8gYWRkclRvVmVyaWZ5OiBBZGRyZXNzCgk9PQoKCS8vIGFwcCBjYWxsIHNlbmRlciBtdXN0IG1hdGNoIGFkZHJlc3MgYmVpbmcgYWRkZWQvcmVtb3ZlZAoJYXNzZXJ0CgoqaWYyM19lbmQ6CgkvLyBjb250cmFjdHMvTkZEUmVnaXN0cnkuYWxnby50czo0OTUKCS8vIGFzc2VydCgKCS8vICAgICAgICAgICAgIHRoaXMuY2FsbE5GRElzQWRkcmVzc0luRmllbGQobmZkQXBwSWQsIE5GRF9GSUVMRF9DQV9UT19WRVJJRlksIGFkZHJUb1ZlcmlmeSksCgkvLyAgICAgICAgICAgICAnbmZkIHZlcmlmaWVkIGNhQWxnby4wLmFzIG11c3QgY29udGFpbiBhZGRyZXNzIGJlaW5nIGFkZGVkL3JlbW92ZWQnLAoJLy8gICAgICAgICApCglmcmFtZV9kaWcgLTMgLy8gYWRkclRvVmVyaWZ5OiBBZGRyZXNzCglieXRlYyA3IC8vICJ1LmNhdi5hbGdvLmEiCglmcmFtZV9kaWcgLTIgLy8gbmZkQXBwSWQ6IHVpbnQ2NAoJY2FsbHN1YiBjYWxsTkZESXNBZGRyZXNzSW5GaWVsZAoKCS8vIG5mZCB2ZXJpZmllZCBjYUFsZ28uMC5hcyBtdXN0IGNvbnRhaW4gYWRkcmVzcyBiZWluZyBhZGRlZC9yZW1vdmVkCglhc3NlcnQKCgkvLyAqaWYyNF9jb25kaXRpb24KCS8vIGNvbnRyYWN0cy9ORkRSZWdpc3RyeS5hbGdvLnRzOjUwNwoJLy8gIXRoaXMuZmluZEludEluU2V0KGFkZHJCb3hOYW1lLCBuZmRBcHBJZCkKCWZyYW1lX2RpZyAtMiAvLyBuZmRBcHBJZDogdWludDY0CglmcmFtZV9kaWcgMCAvLyBhZGRyQm94TmFtZTogYnl0ZVtdCgljYWxsc3ViIGZpbmRJbnRJblNldAoJIQoJYnogKmlmMjRfZW5kCgoJLy8gKmlmMjRfY29uc2VxdWVudAoJLy8gY29udHJhY3RzL05GRFJlZ2lzdHJ5LmFsZ28udHM6NTEwCgkvLyBhc3NlcnQodGhpcy5hZGRJbnRUb1NldChhZGRyQm94TmFtZSwgbmZkQXBwSWQpLCAnc2hvdWxkIGFkZCBuZmQgdG8gcmV2ZXJzZSBhZGRyZXNzJykKCWZyYW1lX2RpZyAtMiAvLyBuZmRBcHBJZDogdWludDY0CglmcmFtZV9kaWcgMCAvLyBhZGRyQm94TmFtZTogYnl0ZVtdCgljYWxsc3ViIGFkZEludFRvU2V0CgoJLy8gc2hvdWxkIGFkZCBuZmQgdG8gcmV2ZXJzZSBhZGRyZXNzCglhc3NlcnQKCippZjI0X2VuZDoKCS8vIGNvbnRyYWN0cy9ORkRSZWdpc3RyeS5hbGdvLnRzOjUxNAoJLy8gdGhpcy5jYWxsTkZEUmVnaXN0cnlBcHByb3ZlZEFkZHJlc3NBZGQobmZkQXBwSWQsIE5GRF9GSUVMRF9DQV9UT19WRVJJRlksIE5GRF9GSUVMRF9DQV9WRVJJRklFRF9TRVQpCglieXRlYyA2IC8vICJ2LmNhQWxnby4wLmFzIgoJYnl0ZWMgNyAvLyAidS5jYXYuYWxnby5hIgoJZnJhbWVfZGlnIC0yIC8vIG5mZEFwcElkOiB1aW50NjQKCWNhbGxzdWIgY2FsbE5GRFJlZ2lzdHJ5QXBwcm92ZWRBZGRyZXNzQWRkCglyZXRzdWIKCi8vIHVubGlua05mZEFkZHJlc3Moc3RyaW5nLHVpbnQ2NCxhZGRyZXNzKXZvaWQKKmFiaV9yb3V0ZV91bmxpbmtOZmRBZGRyZXNzOgoJLy8gYWRkclRvVW5saW5rOiBhZGRyZXNzCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAzCglkdXAKCWxlbgoJaW50YyA0IC8vIDMyCgk9PQoKCS8vIGFyZ3VtZW50IDAgKGFkZHJUb1VubGluaykgZm9yIHVubGlua05mZEFkZHJlc3MgbXVzdCBiZSBhIGFkZHJlc3MKCWFzc2VydAoKCS8vIG5mZEFwcElkOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWJ0b2kKCgkvLyBuZmROYW1lOiBzdHJpbmcKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWV4dHJhY3QgMiAwCgoJLy8gZXhlY3V0ZSB1bmxpbmtOZmRBZGRyZXNzKHN0cmluZyx1aW50NjQsYWRkcmVzcyl2b2lkCgljYWxsc3ViIHVubGlua05mZEFkZHJlc3MKCWludGMgMSAvLyAxCglyZXR1cm4KCi8vIHVubGlua05mZEFkZHJlc3MobmZkTmFtZTogc3RyaW5nLCBuZmRBcHBJZDogdWludDY0LCBhZGRyVG9Vbmxpbms6IEFkZHJlc3MpOiB2b2lkCnVubGlua05mZEFkZHJlc3M6Cglwcm90byAzIDAKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMCAvLyAweAoJZHVwCgoJLy8gY29udHJhY3RzL05GRFJlZ2lzdHJ5LmFsZ28udHM6NTIxCgkvLyBuZmRPd25lciA9IEFwcElELmZyb21VaW50NjQobmZkQXBwSWQpLmdsb2JhbFN0YXRlKE5GRF9LRVlfT1dORVIpIGFzIEFkZHJlc3MKCWZyYW1lX2RpZyAtMiAvLyBuZmRBcHBJZDogdWludDY0CglieXRlYyAyIC8vICJpLm93bmVyLmEiCglhcHBfZ2xvYmFsX2dldF9leAoKCS8vIGdsb2JhbCBzdGF0ZSB2YWx1ZSBkb2VzIG5vdCBleGlzdDogQXBwSUQuZnJvbVVpbnQ2NChuZmRBcHBJZCkuZ2xvYmFsU3RhdGUoTkZEX0tFWV9PV05FUikKCWFzc2VydAoJZnJhbWVfYnVyeSAwIC8vIG5mZE93bmVyOiBhZGRyZXNzCgoJLy8gY29udHJhY3RzL05GRFJlZ2lzdHJ5LmFsZ28udHM6NTIzCgkvLyBhc3NlcnQodGhpcy5pc1YyTmZkQXBwSWRBdXRoZW50aWMobmZkTmFtZSwgbmZkQXBwSWQpLCAncmVmZXJlbmNlZCBORkQgbmFtZS9pZCBtdXN0IGJlIHZhbGlkJykKCWZyYW1lX2RpZyAtMiAvLyBuZmRBcHBJZDogdWludDY0CglmcmFtZV9kaWcgLTEgLy8gbmZkTmFtZTogc3RyaW5nCgljYWxsc3ViIGlzVjJOZmRBcHBJZEF1dGhlbnRpYwoKCS8vIHJlZmVyZW5jZWQgTkZEIG5hbWUvaWQgbXVzdCBiZSB2YWxpZAoJYXNzZXJ0CgoJLy8gKmlmMjVfY29uZGl0aW9uCgkvLyBjb250cmFjdHMvTkZEUmVnaXN0cnkuYWxnby50czo1MjgKCS8vICF0aGlzLmlzRXhwaXJlZCh0aGlzLnNhZmVHbG9iYWxJbnRHZXRFeChuZmRBcHBJZCwgTkZEX0tFWV9FWFBJUkFUSU9OVElNRSkpCglieXRlYyAxMSAvLyAiaS5leHBpcmF0aW9uVGltZSIKCWZyYW1lX2RpZyAtMiAvLyBuZmRBcHBJZDogdWludDY0CgljYWxsc3ViIHNhZmVHbG9iYWxJbnRHZXRFeAoJY2FsbHN1YiBpc0V4cGlyZWQKCSEKCWJ6ICppZjI1X2VuZAoKCS8vICppZjI1X2NvbnNlcXVlbnQKCS8vIGNvbnRyYWN0cy9ORkRSZWdpc3RyeS5hbGdvLnRzOjUyOQoJLy8gYXNzZXJ0KAoJLy8gICAgICAgICAgICAgICAgIHRoaXMudHhuLnNlbmRlciA9PT0gbmZkT3duZXIgfHwgdGhpcy50eG4uc2VuZGVyID09PSBhZGRyVG9VbmxpbmssCgkvLyAgICAgICAgICAgICAgICAgJ1NlbmRlciB1bmxpbmtpbmcgbXVzdCBiZSBORkQgb3duZXIgT1IgYWRkcmVzcyByZW1vdmluZyBpdHNlbGYnLAoJLy8gICAgICAgICAgICAgKQoJdHhuIFNlbmRlcgoJZnJhbWVfZGlnIDAgLy8gbmZkT3duZXI6IGFkZHJlc3MKCT09CglkdXAKCWJueiAqc2tpcF9vcjEKCXR4biBTZW5kZXIKCWZyYW1lX2RpZyAtMyAvLyBhZGRyVG9Vbmxpbms6IEFkZHJlc3MKCT09Cgl8fAoKKnNraXBfb3IxOgoJLy8gU2VuZGVyIHVubGlua2luZyBtdXN0IGJlIE5GRCBvd25lciBPUiBhZGRyZXNzIHJlbW92aW5nIGl0c2VsZgoJYXNzZXJ0CgoqaWYyNV9lbmQ6CgkvLyBjb250cmFjdHMvTkZEUmVnaXN0cnkuYWxnby50czo1MzQKCS8vIGFzc2VydCgKCS8vICAgICAgICAgICAgIHRoaXMuY2FsbE5GRElzQWRkcmVzc0luRmllbGQobmZkQXBwSWQsIE5GRF9GSUVMRF9DQV9WRVJJRklFRF9TRVQsIGFkZHJUb1VubGluayksCgkvLyAgICAgICAgICAgICAnbmZkIHZlcmlmaWVkIGNhQWxnby4wLmFzIG11c3QgY29udGFpbiBhZGRyZXNzIGJlaW5nIHJlbW92ZWQnLAoJLy8gICAgICAgICApCglmcmFtZV9kaWcgLTMgLy8gYWRkclRvVW5saW5rOiBBZGRyZXNzCglieXRlYyA2IC8vICJ2LmNhQWxnby4wLmFzIgoJZnJhbWVfZGlnIC0yIC8vIG5mZEFwcElkOiB1aW50NjQKCWNhbGxzdWIgY2FsbE5GRElzQWRkcmVzc0luRmllbGQKCgkvLyBuZmQgdmVyaWZpZWQgY2FBbGdvLjAuYXMgbXVzdCBjb250YWluIGFkZHJlc3MgYmVpbmcgcmVtb3ZlZAoJYXNzZXJ0CgoJLy8gY29udHJhY3RzL05GRFJlZ2lzdHJ5LmFsZ28udHM6NTM5CgkvLyBhZGRyQm94TmFtZSA9IHRoaXMuZ2V0QWxnb0FkZHJlc3NCb3hOYW1lKHJhd0J5dGVzKGFkZHJUb1VubGluaykpCglmcmFtZV9kaWcgLTMgLy8gYWRkclRvVW5saW5rOiBBZGRyZXNzCgljYWxsc3ViIGdldEFsZ29BZGRyZXNzQm94TmFtZQoJZnJhbWVfYnVyeSAxIC8vIGFkZHJCb3hOYW1lOiBieXRlW10KCgkvLyBjb250cmFjdHMvTkZEUmVnaXN0cnkuYWxnby50czo1NDAKCS8vIGFzc2VydCh0aGlzLnJlbW92ZUludEZyb21TZXQoYWRkckJveE5hbWUsIG5mZEFwcElkKSkKCWZyYW1lX2RpZyAtMiAvLyBuZmRBcHBJZDogdWludDY0CglmcmFtZV9kaWcgMSAvLyBhZGRyQm94TmFtZTogYnl0ZVtdCgljYWxsc3ViIHJlbW92ZUludEZyb21TZXQKCWFzc2VydAoKCS8vICppZjI2X2NvbmRpdGlvbgoJLy8gY29udHJhY3RzL05GRFJlZ2lzdHJ5LmFsZ28udHM6NTQxCgkvLyAhdGhpcy5ib3hlcyhhZGRyQm94TmFtZSkuZXhpc3RzCglmcmFtZV9kaWcgMSAvLyBhZGRyQm94TmFtZTogYnl0ZVtdCglib3hfbGVuCglzd2FwCglwb3AKCSEKCWJ6ICppZjI2X2VuZAoKCS8vICppZjI2X2NvbnNlcXVlbnQKCS8vIGNvbnRyYWN0cy9ORkRSZWdpc3RyeS5hbGdvLnRzOjU0MwoJLy8gc2VuZFBheW1lbnQoewoJLy8gICAgICAgICAgICAgICAgIGFtb3VudDogdGhpcy5jb3N0Rm9yQm94U3RvcmFnZSgxLCBhZGRyQm94TmFtZS5sZW5ndGggKyA4KSwKCS8vICAgICAgICAgICAgICAgICByZWNlaXZlcjogdGhpcy50eG4uc2VuZGVyLAoJLy8gICAgICAgICAgICAgICAgIG5vdGU6ICdib3hSZWZ1bmQnLAoJLy8gICAgICAgICAgICAgfSkKCWl0eG5fYmVnaW4KCWludGMgMSAvLyAgcGF5CglpdHhuX2ZpZWxkIFR5cGVFbnVtCgoJLy8gY29udHJhY3RzL05GRFJlZ2lzdHJ5LmFsZ28udHM6NTQ0CgkvLyBhbW91bnQ6IHRoaXMuY29zdEZvckJveFN0b3JhZ2UoMSwgYWRkckJveE5hbWUubGVuZ3RoICsgOCkKCWZyYW1lX2RpZyAxIC8vIGFkZHJCb3hOYW1lOiBieXRlW10KCWxlbgoJaW50YyAyIC8vIDgKCSsKCWludGMgMSAvLyAxCgljYWxsc3ViIGNvc3RGb3JCb3hTdG9yYWdlCglpdHhuX2ZpZWxkIEFtb3VudAoKCS8vIGNvbnRyYWN0cy9ORkRSZWdpc3RyeS5hbGdvLnRzOjU0NQoJLy8gcmVjZWl2ZXI6IHRoaXMudHhuLnNlbmRlcgoJdHhuIFNlbmRlcgoJaXR4bl9maWVsZCBSZWNlaXZlcgoKCS8vIGNvbnRyYWN0cy9ORkRSZWdpc3RyeS5hbGdvLnRzOjU0NgoJLy8gbm90ZTogJ2JveFJlZnVuZCcKCXB1c2hieXRlcyAweDYyNmY3ODUyNjU2Njc1NmU2NCAvLyAiYm94UmVmdW5kIgoJaXR4bl9maWVsZCBOb3RlCgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50YyAwIC8vIDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gU3VibWl0IGlubmVyIHRyYW5zYWN0aW9uCglpdHhuX3N1Ym1pdAoKKmlmMjZfZW5kOgoJLy8gY29udHJhY3RzL05GRFJlZ2lzdHJ5LmFsZ28udHM6NTUxCgkvLyB0aGlzLmNhbGxORkRSZWdpc3RyeUFwcHJvdmVkQWRkcmVzc1JlbW92ZShuZmRBcHBJZCwgTkZEX0ZJRUxEX0NBX1ZFUklGSUVEX1NFVCwgYWRkclRvVW5saW5rLCB0aGlzLnR4bi5zZW5kZXIpCgl0eG4gU2VuZGVyCglmcmFtZV9kaWcgLTMgLy8gYWRkclRvVW5saW5rOiBBZGRyZXNzCglieXRlYyA2IC8vICJ2LmNhQWxnby4wLmFzIgoJZnJhbWVfZGlnIC0yIC8vIG5mZEFwcElkOiB1aW50NjQKCWNhbGxzdWIgY2FsbE5GRFJlZ2lzdHJ5QXBwcm92ZWRBZGRyZXNzUmVtb3ZlCglyZXRzdWIKCi8vIG93bmVyc2hpcEFzc2lnbihzdHJpbmcsdWludDY0KXZvaWQKKmFiaV9yb3V0ZV9vd25lcnNoaXBBc3NpZ246CgkvLyBuZmRBcHBJZDogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAyCglidG9pCgoJLy8gbmZkTmFtZTogc3RyaW5nCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglleHRyYWN0IDIgMAoKCS8vIGV4ZWN1dGUgb3duZXJzaGlwQXNzaWduKHN0cmluZyx1aW50NjQpdm9pZAoJY2FsbHN1YiBvd25lcnNoaXBBc3NpZ24KCWludGMgMSAvLyAxCglyZXR1cm4KCi8vIG93bmVyc2hpcEFzc2lnbihuZmROYW1lOiBzdHJpbmcsIG5mZEFwcElkOiB1aW50NjQpOiB2b2lkCm93bmVyc2hpcEFzc2lnbjoKCXByb3RvIDIgMAoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlYyAwIC8vIDB4CgoJLy8gY29udHJhY3RzL05GRFJlZ2lzdHJ5LmFsZ28udHM6NTU4CgkvLyBhc3NlcnQodGhpcy5pc1ZhbGlkTmZkQXBwSWQobmZkTmFtZSwgbmZkQXBwSWQpLCAncmVmZXJlbmNlZCBORkQgbmFtZS9pZCBtdXN0IGJlIHZhbGlkJykKCWZyYW1lX2RpZyAtMiAvLyBuZmRBcHBJZDogdWludDY0CglmcmFtZV9kaWcgLTEgLy8gbmZkTmFtZTogc3RyaW5nCgljYWxsc3ViIGlzVmFsaWROZmRBcHBJZAoKCS8vIHJlZmVyZW5jZWQgTkZEIG5hbWUvaWQgbXVzdCBiZSB2YWxpZAoJYXNzZXJ0CgoJLy8gY29udHJhY3RzL05GRFJlZ2lzdHJ5LmFsZ28udHM6NTU5CgkvLyBib3hOYW1lID0gdGhpcy5nZXRBY2NvdW50T3duc05mZEJveE5hbWUoCgkvLyAgICAgICAgICAgICBBcHBJRC5mcm9tVWludDY0KG5mZEFwcElkKS5nbG9iYWxTdGF0ZShORkRfS0VZX09XTkVSKSBhcyBBZGRyZXNzLAoJLy8gICAgICAgICAgICAgbmZkQXBwSWQsCgkvLyAgICAgICAgICkKCWZyYW1lX2RpZyAtMiAvLyBuZmRBcHBJZDogdWludDY0CglmcmFtZV9kaWcgLTIgLy8gbmZkQXBwSWQ6IHVpbnQ2NAoJYnl0ZWMgMiAvLyAiaS5vd25lci5hIgoJYXBwX2dsb2JhbF9nZXRfZXgKCgkvLyBnbG9iYWwgc3RhdGUgdmFsdWUgZG9lcyBub3QgZXhpc3Q6IEFwcElELmZyb21VaW50NjQobmZkQXBwSWQpLmdsb2JhbFN0YXRlKE5GRF9LRVlfT1dORVIpCglhc3NlcnQKCWNhbGxzdWIgZ2V0QWNjb3VudE93bnNOZmRCb3hOYW1lCglmcmFtZV9idXJ5IDAgLy8gYm94TmFtZTogYnl0ZVtdCgoJLy8gY29udHJhY3RzL05GRFJlZ2lzdHJ5LmFsZ28udHM6NTYzCgkvLyBhc3NlcnQoIXRoaXMuYm94ZXMoYm94TmFtZSkuZXhpc3RzKQoJZnJhbWVfZGlnIDAgLy8gYm94TmFtZTogYnl0ZVtdCglib3hfbGVuCglzd2FwCglwb3AKCSEKCWFzc2VydAoKCS8vIGNvbnRyYWN0cy9ORkRSZWdpc3RyeS5hbGdvLnRzOjU2NgoJLy8gdGhpcy5ib3hlcyhib3hOYW1lKS52YWx1ZSA9IG5mZE5hbWUKCWZyYW1lX2RpZyAwIC8vIGJveE5hbWU6IGJ5dGVbXQoJZnJhbWVfZGlnIC0xIC8vIG5mZE5hbWU6IHN0cmluZwoJYm94X3B1dAoJcmV0c3ViCgovLyBvd25lcnNoaXBDaGFuZ2VkKHN0cmluZyx1aW50NjQsYWRkcmVzcyxhZGRyZXNzKXZvaWQKKmFiaV9yb3V0ZV9vd25lcnNoaXBDaGFuZ2VkOgoJLy8gYnV5ZXI6IGFkZHJlc3MKCXR4bmEgQXBwbGljYXRpb25BcmdzIDQKCWR1cAoJbGVuCglpbnRjIDQgLy8gMzIKCT09CgoJLy8gYXJndW1lbnQgMCAoYnV5ZXIpIGZvciBvd25lcnNoaXBDaGFuZ2VkIG11c3QgYmUgYSBhZGRyZXNzCglhc3NlcnQKCgkvLyBzZWxsZXI6IGFkZHJlc3MKCXR4bmEgQXBwbGljYXRpb25BcmdzIDMKCWR1cAoJbGVuCglpbnRjIDQgLy8gMzIKCT09CgoJLy8gYXJndW1lbnQgMSAoc2VsbGVyKSBmb3Igb3duZXJzaGlwQ2hhbmdlZCBtdXN0IGJlIGEgYWRkcmVzcwoJYXNzZXJ0CgoJLy8gbmZkQXBwSWQ6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJYnRvaQoKCS8vIG5mZE5hbWU6IHN0cmluZwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZXh0cmFjdCAyIDAKCgkvLyBleGVjdXRlIG93bmVyc2hpcENoYW5nZWQoc3RyaW5nLHVpbnQ2NCxhZGRyZXNzLGFkZHJlc3Mpdm9pZAoJY2FsbHN1YiBvd25lcnNoaXBDaGFuZ2VkCglpbnRjIDEgLy8gMQoJcmV0dXJuCgovLyBvd25lcnNoaXBDaGFuZ2VkKG5mZE5hbWU6IHN0cmluZywgbmZkQXBwSWQ6IHVpbnQ2NCwgc2VsbGVyOiBBZGRyZXNzLCBidXllcjogQWRkcmVzcyk6IHZvaWQKLy8KLy8gVGhpcyBtZXRob2QgaXMgdHJpZ2dlcmVkIHdoZW4gdGhlIG93bmVyc2hpcCBvZiBhbiBORkQgKE5vbi1GdW5naWJsZSBEb21haW4pIGNoYW5nZXMuCi8vIEl0IGlzIGNhbGxlZCBieSB0aGUgTkZEIHZpYSB0aGUgcHVyY2hhc2UgbWV0aG9kLiAgSXQgY2FuIGFsc28gYmUgY2FsbGVkIGJ5IFR4bkxhYiBhZG1pbiBmb3Igb2xkZXIgMy4zCi8vIE5GRHMgd2hlbiBpdCBkZXRlY3RzIHB1cmNoYXNlZCBldmVudHMgZm9yIDMuMwovLwovLyBAcGFyYW0ge3N0cmluZ30gbmZkTmFtZSAtIFRoZSBuYW1lIG9mIHRoZSBORkQuCi8vIEBwYXJhbSB7dWludDY0fSBuZmRBcHBJZCAtIFRoZSB1bmlxdWUgYXBwbGljYXRpb24gSUQgb2YgdGhlIE5GRC4KLy8gQHBhcmFtIHtBZGRyZXNzfSBzZWxsZXIgLSBUaGUgYWRkcmVzcyBvZiB0aGUgcHJpb3Igb3duZXIgKHNlbGxlcikgb2YgdGhlIG5mZAovLyBAcGFyYW0ge0FkZHJlc3N9IGJ1eWVyIC0gVGhlIGFkZHJlc3Mgb2YgdGhlIG5ldyBvd25lciBvZiB0aGUgTkZELgpvd25lcnNoaXBDaGFuZ2VkOgoJcHJvdG8gNCAwCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDAgLy8gMHgKCWR1cAoKCS8vICppZjI3X2NvbmRpdGlvbgoJLy8gY29udHJhY3RzL05GRFJlZ2lzdHJ5LmFsZ28udHM6NTgwCgkvLyBzZWxsZXIgPT09IGJ1eWVyCglmcmFtZV9kaWcgLTMgLy8gc2VsbGVyOiBBZGRyZXNzCglmcmFtZV9kaWcgLTQgLy8gYnV5ZXI6IEFkZHJlc3MKCT09CglieiAqaWYyN19lbmQKCgkvLyAqaWYyN19jb25zZXF1ZW50CgkvLyBjb250cmFjdHMvTkZEUmVnaXN0cnkuYWxnby50czo1ODEKCS8vIHJldHVybgoJcmV0c3ViCgoqaWYyN19lbmQ6CgkvLyBjb250cmFjdHMvTkZEUmVnaXN0cnkuYWxnby50czo1ODMKCS8vIGFzc2VydCh0aGlzLmlzVjJOZmRBcHBJZEF1dGhlbnRpYyhuZmROYW1lLCBuZmRBcHBJZCksICdyZWZlcmVuY2VkIE5GRCBuYW1lL2lkIG11c3QgYmUgdmFsaWQnKQoJZnJhbWVfZGlnIC0yIC8vIG5mZEFwcElkOiB1aW50NjQKCWZyYW1lX2RpZyAtMSAvLyBuZmROYW1lOiBzdHJpbmcKCWNhbGxzdWIgaXNWMk5mZEFwcElkQXV0aGVudGljCgoJLy8gcmVmZXJlbmNlZCBORkQgbmFtZS9pZCBtdXN0IGJlIHZhbGlkCglhc3NlcnQKCgkvLyAqaWYyOF9jb25kaXRpb24KCS8vIGNvbnRyYWN0cy9ORkRSZWdpc3RyeS5hbGdvLnRzOjU4NAoJLy8gKEFwcElELmZyb21VaW50NjQobmZkQXBwSWQpLmdsb2JhbFN0YXRlKE5GRF9LRVlfVkVSU0lPTikgYXMgYnl0ZXMpID09PSAnMy4zJwoJZnJhbWVfZGlnIC0yIC8vIG5mZEFwcElkOiB1aW50NjQKCWJ5dGVjIDkgLy8gImkudmVyIgoJYXBwX2dsb2JhbF9nZXRfZXgKCgkvLyBnbG9iYWwgc3RhdGUgdmFsdWUgZG9lcyBub3QgZXhpc3Q6IEFwcElELmZyb21VaW50NjQobmZkQXBwSWQpLmdsb2JhbFN0YXRlKE5GRF9LRVlfVkVSU0lPTikKCWFzc2VydAoJcHVzaGJ5dGVzIDB4MzMyZTMzIC8vICIzLjMiCgk9PQoJYnogKmlmMjhfZWxzZQoKCS8vICppZjI4X2NvbnNlcXVlbnQKCS8vIGNvbnRyYWN0cy9ORkRSZWdpc3RyeS5hbGdvLnRzOjU4NgoJLy8gYXNzZXJ0KAoJLy8gICAgICAgICAgICAgICAgIHRoaXMuaXNUeG5MYWIodGhpcy50eG5Hcm91cFt0aGlzLnR4bi5ncm91cEluZGV4XSksCgkvLyAgICAgICAgICAgICAgICAgJ29ubHkgdHhubGFiIGNhbiBjYWxsIHRoaXMgbWV0aG9kIHRvIGJhY2tmaWxsIG93bmVyc2hpcCwgMy40KyBoYW5kbGVzIGl0IGJ5IGNhbGxpbmcgZnJvbSB0aGUgbmZkIGl0c2VsZicsCgkvLyAgICAgICAgICAgICApCgl0eG4gR3JvdXBJbmRleAoJY2FsbHN1YiBpc1R4bkxhYgoKCS8vIG9ubHkgdHhubGFiIGNhbiBjYWxsIHRoaXMgbWV0aG9kIHRvIGJhY2tmaWxsIG93bmVyc2hpcCwgMy40KyBoYW5kbGVzIGl0IGJ5IGNhbGxpbmcgZnJvbSB0aGUgbmZkIGl0c2VsZgoJYXNzZXJ0CgliICppZjI4X2VuZAoKKmlmMjhfZWxzZToKCS8vIGNvbnRyYWN0cy9ORkRSZWdpc3RyeS5hbGdvLnRzOjU5MgoJLy8gYXNzZXJ0KHRoaXMudHhuLnNlbmRlciA9PT0gQXBwSUQuZnJvbVVpbnQ2NChuZmRBcHBJZCkuYWRkcmVzcykKCXR4biBTZW5kZXIKCWZyYW1lX2RpZyAtMiAvLyBuZmRBcHBJZDogdWludDY0CglhcHBfcGFyYW1zX2dldCBBcHBBZGRyZXNzCglwb3AKCT09Cglhc3NlcnQKCippZjI4X2VuZDoKCS8vIGNvbnRyYWN0cy9ORkRSZWdpc3RyeS5hbGdvLnRzOjU5NQoJLy8gc2VsbGVyQm94TmFtZSA9IHRoaXMuZ2V0QWNjb3VudE93bnNOZmRCb3hOYW1lKHNlbGxlciwgbmZkQXBwSWQpCglmcmFtZV9kaWcgLTIgLy8gbmZkQXBwSWQ6IHVpbnQ2NAoJZnJhbWVfZGlnIC0zIC8vIHNlbGxlcjogQWRkcmVzcwoJY2FsbHN1YiBnZXRBY2NvdW50T3duc05mZEJveE5hbWUKCWZyYW1lX2J1cnkgMCAvLyBzZWxsZXJCb3hOYW1lOiBieXRlW10KCgkvLyBjb250cmFjdHMvTkZEUmVnaXN0cnkuYWxnby50czo1OTYKCS8vIGJ1eWVyQm94TmFtZSA9IHRoaXMuZ2V0QWNjb3VudE93bnNOZmRCb3hOYW1lKGJ1eWVyLCBuZmRBcHBJZCkKCWZyYW1lX2RpZyAtMiAvLyBuZmRBcHBJZDogdWludDY0CglmcmFtZV9kaWcgLTQgLy8gYnV5ZXI6IEFkZHJlc3MKCWNhbGxzdWIgZ2V0QWNjb3VudE93bnNOZmRCb3hOYW1lCglmcmFtZV9idXJ5IDEgLy8gYnV5ZXJCb3hOYW1lOiBieXRlW10KCgkvLyBjb250cmFjdHMvTkZEUmVnaXN0cnkuYWxnby50czo1OTcKCS8vIHRoaXMuYm94ZXMoc2VsbGVyQm94TmFtZSkuZGVsZXRlKCkKCWZyYW1lX2RpZyAwIC8vIHNlbGxlckJveE5hbWU6IGJ5dGVbXQoJYm94X2RlbAoKCS8vIGNvbnRyYWN0cy9ORkRSZWdpc3RyeS5hbGdvLnRzOjU5OAoJLy8gdGhpcy5ib3hlcyhidXllckJveE5hbWUpLnZhbHVlID0gbmZkTmFtZQoJZnJhbWVfZGlnIDEgLy8gYnV5ZXJCb3hOYW1lOiBieXRlW10KCWZyYW1lX2RpZyAtMSAvLyBuZmROYW1lOiBzdHJpbmcKCWJveF9wdXQKCXJldHN1YgoKLy8gc2V0QWRkcmVzc1ByaW1hcnlOZmQoc3RyaW5nLHVpbnQ2NCxhZGRyZXNzKXZvaWQKKmFiaV9yb3V0ZV9zZXRBZGRyZXNzUHJpbWFyeU5mZDoKCS8vIGFkZHJCZWluZ01vZGlmaWVkOiBhZGRyZXNzCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAzCglkdXAKCWxlbgoJaW50YyA0IC8vIDMyCgk9PQoKCS8vIGFyZ3VtZW50IDAgKGFkZHJCZWluZ01vZGlmaWVkKSBmb3Igc2V0QWRkcmVzc1ByaW1hcnlOZmQgbXVzdCBiZSBhIGFkZHJlc3MKCWFzc2VydAoKCS8vIG5mZEFwcElkOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWJ0b2kKCgkvLyBuZmROYW1lOiBzdHJpbmcKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWV4dHJhY3QgMiAwCgoJLy8gZXhlY3V0ZSBzZXRBZGRyZXNzUHJpbWFyeU5mZChzdHJpbmcsdWludDY0LGFkZHJlc3Mpdm9pZAoJY2FsbHN1YiBzZXRBZGRyZXNzUHJpbWFyeU5mZAoJaW50YyAxIC8vIDEKCXJldHVybgoKLy8gc2V0QWRkcmVzc1ByaW1hcnlOZmQobmZkTmFtZTogc3RyaW5nLCBuZmRBcHBJZDogdWludDY0LCBhZGRyQmVpbmdNb2RpZmllZDogQWRkcmVzcyk6IHZvaWQKLy8KLy8gTWFrZXMgdGhlIHNwZWNpZmllZCBORkQgdGhlICdmaXJzdCcgTkZEIGluIHRoZSByZXZlcnNlLWFkZHJlc3Mgc2V0IHNvIGl0cyB0aGUgcHJpbWFyeSBORkQgZm9yIHRoaXMgYWRkcmVzcy4KLy8gVGhlIE5GRCBtdXN0IGJlIHZhbGlkLCBhbmQgdGhlIHNlbmRlciBtdXN0IGJlIHRoZSBhZGRyZXNzIChvciBuZmQgb3duZXIgaWYgdmF1bHQpLiAgVGhlIE5GRCB3b3VsZG4ndCBhbHJlYWR5IGJlCi8vIGluIHRoZSByZXZlcnNlLWxvb2t1cCBzZXQgaWYgaXQgd2Fzbid0IGFscmVhZHkgdmFsaWQuCi8vIEBwYXJhbSBuZmROYW1lCi8vIEBwYXJhbSBuZmRBcHBJZAovLyBAcGFyYW0gYWRkckJlaW5nTW9kaWZpZWQKc2V0QWRkcmVzc1ByaW1hcnlOZmQ6Cglwcm90byAzIDAKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMCAvLyAweAoKCS8vIGNvbnRyYWN0cy9ORkRSZWdpc3RyeS5hbGdvLnRzOjYxMAoJLy8gYXNzZXJ0KHRoaXMuaXNWMk5mZEFwcElkQXV0aGVudGljKG5mZE5hbWUsIG5mZEFwcElkKSwgJ3JlZmVyZW5jZWQgTkZEIG5hbWUvaWQgbXVzdCBiZSB2YWxpZCcpCglmcmFtZV9kaWcgLTIgLy8gbmZkQXBwSWQ6IHVpbnQ2NAoJZnJhbWVfZGlnIC0xIC8vIG5mZE5hbWU6IHN0cmluZwoJY2FsbHN1YiBpc1YyTmZkQXBwSWRBdXRoZW50aWMKCgkvLyByZWZlcmVuY2VkIE5GRCBuYW1lL2lkIG11c3QgYmUgdmFsaWQKCWFzc2VydAoKCS8vIGNvbnRyYWN0cy9ORkRSZWdpc3RyeS5hbGdvLnRzOjYxMQoJLy8gbmZkT3duZXIgPSBBcHBJRC5mcm9tVWludDY0KG5mZEFwcElkKS5nbG9iYWxTdGF0ZShORkRfS0VZX09XTkVSKSBhcyBBZGRyZXNzCglmcmFtZV9kaWcgLTIgLy8gbmZkQXBwSWQ6IHVpbnQ2NAoJYnl0ZWMgMiAvLyAiaS5vd25lci5hIgoJYXBwX2dsb2JhbF9nZXRfZXgKCgkvLyBnbG9iYWwgc3RhdGUgdmFsdWUgZG9lcyBub3QgZXhpc3Q6IEFwcElELmZyb21VaW50NjQobmZkQXBwSWQpLmdsb2JhbFN0YXRlKE5GRF9LRVlfT1dORVIpCglhc3NlcnQKCWZyYW1lX2J1cnkgMCAvLyBuZmRPd25lcjogYWRkcmVzcwoKCS8vICppZjI5X2NvbmRpdGlvbgoJLy8gY29udHJhY3RzL05GRFJlZ2lzdHJ5LmFsZ28udHM6NjE2CgkvLyBBcHBJRC5mcm9tVWludDY0KG5mZEFwcElkKS5hZGRyZXNzID09PSBhZGRyQmVpbmdNb2RpZmllZAoJZnJhbWVfZGlnIC0yIC8vIG5mZEFwcElkOiB1aW50NjQKCWFwcF9wYXJhbXNfZ2V0IEFwcEFkZHJlc3MKCXBvcAoJZnJhbWVfZGlnIC0zIC8vIGFkZHJCZWluZ01vZGlmaWVkOiBBZGRyZXNzCgk9PQoJYnogKmlmMjlfZWxzZQoKCS8vICppZjI5X2NvbnNlcXVlbnQKCS8vIGNvbnRyYWN0cy9ORkRSZWdpc3RyeS5hbGdvLnRzOjYxNwoJLy8gYXNzZXJ0KHRoaXMudHhuLnNlbmRlciA9PT0gbmZkT3duZXIsICdpZiBjaGFuZ2luZyBwcmltYXJ5IG5mZCBmb3IgdmF1bHQgYWNjb3VudCwgc2VuZGVyIG11c3QgYmUgTkZEIG93bmVyJykKCXR4biBTZW5kZXIKCWZyYW1lX2RpZyAwIC8vIG5mZE93bmVyOiBhZGRyZXNzCgk9PQoKCS8vIGlmIGNoYW5naW5nIHByaW1hcnkgbmZkIGZvciB2YXVsdCBhY2NvdW50LCBzZW5kZXIgbXVzdCBiZSBORkQgb3duZXIKCWFzc2VydAoJYiAqaWYyOV9lbmQKCippZjI5X2Vsc2U6CgkvLyBjb250cmFjdHMvTkZEUmVnaXN0cnkuYWxnby50czo2MjAKCS8vIGFzc2VydCgKCS8vICAgICAgICAgICAgICAgICB0aGlzLnR4bi5zZW5kZXIgPT09IGFkZHJCZWluZ01vZGlmaWVkLAoJLy8gICAgICAgICAgICAgICAgICdhcHAgY2FsbCBzZW5kZXIgbXVzdCBtYXRjaCBhZGRyZXNzIGJlaW5nIHVwZGF0ZWQgdG8gY2hhbmdlIHByaW1hcnkgTkZEJywKCS8vICAgICAgICAgICAgICkKCXR4biBTZW5kZXIKCWZyYW1lX2RpZyAtMyAvLyBhZGRyQmVpbmdNb2RpZmllZDogQWRkcmVzcwoJPT0KCgkvLyBhcHAgY2FsbCBzZW5kZXIgbXVzdCBtYXRjaCBhZGRyZXNzIGJlaW5nIHVwZGF0ZWQgdG8gY2hhbmdlIHByaW1hcnkgTkZECglhc3NlcnQKCippZjI5X2VuZDoKCS8vIGNvbnRyYWN0cy9ORkRSZWdpc3RyeS5hbGdvLnRzOjYyOAoJLy8gdGhpcy5maW5kSW50QW5kU2V0Rmlyc3QodGhpcy5nZXRBbGdvQWRkcmVzc0JveE5hbWUodGhpcy50eG4uYXBwbGljYXRpb25BcmdzIVszXSBhcyBieXRlcyksIG5mZEFwcElkKQoJZnJhbWVfZGlnIC0yIC8vIG5mZEFwcElkOiB1aW50NjQKCXR4biBBcHBsaWNhdGlvbkFyZ3MgMwoJY2FsbHN1YiBnZXRBbGdvQWRkcmVzc0JveE5hbWUKCWNhbGxzdWIgZmluZEludEFuZFNldEZpcnN0CgoJLy8gY29udHJhY3RzL05GRFJlZ2lzdHJ5LmFsZ28udHM6NjMwCgkvLyB0aGlzLm5mZFJlZ2lzdHJ5X2FkZHJlc3NQcmltYXJ5TmZkQ2hhbmdlZC5sb2coewoJLy8gICAgICAgICAgICAgYXBwSWQ6IG5mZEFwcElkLAoJLy8gICAgICAgICAgICAgbmFtZTogbmZkTmFtZSwKCS8vICAgICAgICAgICAgIGFkZHJlc3M6IGFkZHJCZWluZ01vZGlmaWVkLAoJLy8gICAgICAgICB9KQoJcHVzaGJ5dGVzIDB4NTE3MmNmMDEgLy8gbmZkUmVnaXN0cnlfYWRkcmVzc1ByaW1hcnlOZmRDaGFuZ2VkKHVpbnQ2NCxzdHJpbmcsYWRkcmVzcykKCWJ5dGVjIDAgLy8gIGluaXRpYWwgaGVhZAoJYnl0ZWMgMCAvLyAgaW5pdGlhbCB0YWlsCglwdXNoYnl0ZXMgMHgwMDJhIC8vIGluaXRpYWwgaGVhZCBvZmZzZXQKCWZyYW1lX2RpZyAtMiAvLyBuZmRBcHBJZDogdWludDY0CglpdG9iCgljYWxsc3ViICpwcm9jZXNzX3N0YXRpY190dXBsZV9lbGVtZW50CglmcmFtZV9kaWcgLTEgLy8gbmZkTmFtZTogc3RyaW5nCglkdXAKCWxlbgoJaXRvYgoJZXh0cmFjdCA2IDIKCXN3YXAKCWNvbmNhdAoJY2FsbHN1YiAqcHJvY2Vzc19keW5hbWljX3R1cGxlX2VsZW1lbnQKCWZyYW1lX2RpZyAtMyAvLyBhZGRyQmVpbmdNb2RpZmllZDogQWRkcmVzcwoJY2FsbHN1YiAqcHJvY2Vzc19zdGF0aWNfdHVwbGVfZWxlbWVudAoJcG9wIC8vIHBvcCBoZWFkIG9mZnNldAoJY29uY2F0IC8vIGNvbmNhdCBoZWFkIGFuZCB0YWlsCgljb25jYXQKCWxvZwoJcmV0c3ViCgovLyB1cGdyYWRlTmZkKHN0cmluZylzdHJpbmcKKmFiaV9yb3V0ZV91cGdyYWRlTmZkOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlYyAxIC8vIDB4MTUxZjdjNzUKCgkvLyBuZmROYW1lOiBzdHJpbmcKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWV4dHJhY3QgMiAwCgoJLy8gZXhlY3V0ZSB1cGdyYWRlTmZkKHN0cmluZylzdHJpbmcKCWNhbGxzdWIgdXBncmFkZU5mZAoJZHVwCglsZW4KCWl0b2IKCWV4dHJhY3QgNiAyCglzd2FwCgljb25jYXQKCWNvbmNhdAoJbG9nCglpbnRjIDEgLy8gMQoJcmV0dXJuCgovLyB1cGdyYWRlTmZkKG5mZE5hbWU6IHN0cmluZyk6IHN0cmluZwp1cGdyYWRlTmZkOgoJcHJvdG8gMSAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDAgLy8gMHgKCWR1cG4gNQoKCS8vIGNvbnRyYWN0cy9ORkRSZWdpc3RyeS5hbGdvLnRzOjY0MAoJLy8gbmZkQXBwSWQgPSB0aGlzLmdldE5hbWVBcHBJZChuZmROYW1lKQoJZnJhbWVfZGlnIC0xIC8vIG5mZE5hbWU6IHN0cmluZwoJY2FsbHN1YiBnZXROYW1lQXBwSWQKCWZyYW1lX2J1cnkgMCAvLyBuZmRBcHBJZDogdWludDY0CgoJLy8gY29udHJhY3RzL05GRFJlZ2lzdHJ5LmFsZ28udHM6NjQxCgkvLyBuZmRPd25lciA9IEFwcElELmZyb21VaW50NjQobmZkQXBwSWQpLmdsb2JhbFN0YXRlKE5GRF9LRVlfT1dORVIpIGFzIEFkZHJlc3MKCWZyYW1lX2RpZyAwIC8vIG5mZEFwcElkOiB1aW50NjQKCWJ5dGVjIDIgLy8gImkub3duZXIuYSIKCWFwcF9nbG9iYWxfZ2V0X2V4CgoJLy8gZ2xvYmFsIHN0YXRlIHZhbHVlIGRvZXMgbm90IGV4aXN0OiBBcHBJRC5mcm9tVWludDY0KG5mZEFwcElkKS5nbG9iYWxTdGF0ZShORkRfS0VZX09XTkVSKQoJYXNzZXJ0CglmcmFtZV9idXJ5IDEgLy8gbmZkT3duZXI6IGFkZHJlc3MKCgkvLyBjb250cmFjdHMvTkZEUmVnaXN0cnkuYWxnby50czo2NDIKCS8vIGFzc2VydCgoQXBwSUQuZnJvbVVpbnQ2NChuZmRBcHBJZCkuZ2xvYmFsU3RhdGUoTkZEX0tFWV9OQU1FKSBhcyBieXRlcykgPT09IG5mZE5hbWUpCglmcmFtZV9kaWcgMCAvLyBuZmRBcHBJZDogdWludDY0CglieXRlYyAxOSAvLyAiaS5uYW1lIgoJYXBwX2dsb2JhbF9nZXRfZXgKCgkvLyBnbG9iYWwgc3RhdGUgdmFsdWUgZG9lcyBub3QgZXhpc3Q6IEFwcElELmZyb21VaW50NjQobmZkQXBwSWQpLmdsb2JhbFN0YXRlKE5GRF9LRVlfTkFNRSkKCWFzc2VydAoJZnJhbWVfZGlnIC0xIC8vIG5mZE5hbWU6IHN0cmluZwoJPT0KCWFzc2VydAoKCS8vIGNvbnRyYWN0cy9ORkRSZWdpc3RyeS5hbGdvLnRzOjY0MwoJLy8gYXNzZXJ0KAoJLy8gICAgICAgICAgICAgdGhpcy50eG4uc2VuZGVyID09PSBuZmRPd25lciB8fCB0aGlzLmlzVHhuTGFiKHRoaXMudHhuR3JvdXBbdGhpcy50eG4uZ3JvdXBJbmRleF0pLAoJLy8gICAgICAgICAgICAgJ29ubHkgTkZEIG93bmVyIG9yIFR4bkxhYiBjYW4gdXBncmFkZSBORkQnLAoJLy8gICAgICAgICApCgl0eG4gU2VuZGVyCglmcmFtZV9kaWcgMSAvLyBuZmRPd25lcjogYWRkcmVzcwoJPT0KCWR1cAoJYm56ICpza2lwX29yMgoJdHhuIEdyb3VwSW5kZXgKCWNhbGxzdWIgaXNUeG5MYWIKCXx8Cgoqc2tpcF9vcjI6CgkvLyBvbmx5IE5GRCBvd25lciBvciBUeG5MYWIgY2FuIHVwZ3JhZGUgTkZECglhc3NlcnQKCgkvLyBjb250cmFjdHMvTkZEUmVnaXN0cnkuYWxnby50czo2NDkKCS8vIGFzc2VydChBcHBJRC5mcm9tVWludDY0KG5mZEFwcElkKS5nbG9iYWxTdGF0ZUV4aXN0cyhORkRfS0VZX0VYUElSQVRJT05USU1FKSkKCWZyYW1lX2RpZyAwIC8vIG5mZEFwcElkOiB1aW50NjQKCWJ5dGVjIDExIC8vICJpLmV4cGlyYXRpb25UaW1lIgoJYXBwX2dsb2JhbF9nZXRfZXgKCXN3YXAKCXBvcAoJYXNzZXJ0CgoJLy8gY29udHJhY3RzL05GRFJlZ2lzdHJ5LmFsZ28udHM6NjUyCgkvLyBjdXJyZW50Q29udHJhY3RWZXIgPSB0aGlzLmJveGVzKFJFR0lTVFJZX0NPTlRSQUNUX0JPWF9DVVJSRU5UX0NPTlRSQUNUKS52YWx1ZSBhcyBieXRlcwoJYnl0ZWMgNSAvLyAiY3VycmVudCIKCWJveF9nZXQKCgkvLyBib3ggdmFsdWUgZG9lcyBub3QgZXhpc3Q6IHRoaXMuYm94ZXMoUkVHSVNUUllfQ09OVFJBQ1RfQk9YX0NVUlJFTlRfQ09OVFJBQ1QpLnZhbHVlCglhc3NlcnQKCWZyYW1lX2J1cnkgMiAvLyBjdXJyZW50Q29udHJhY3RWZXI6IGJ5dGVbXQoKCS8vIGNvbnRyYWN0cy9ORkRSZWdpc3RyeS5hbGdvLnRzOjY1MwoJLy8gYXNzZXJ0KAoJLy8gICAgICAgICAgICAgKEFwcElELmZyb21VaW50NjQobmZkQXBwSWQpLmdsb2JhbFN0YXRlKE5GRF9LRVlfVkVSU0lPTikgYXMgYnl0ZXMpICE9PSBjdXJyZW50Q29udHJhY3RWZXIsCgkvLyAgICAgICAgICAgICAnY29udHJhY3QgYWxyZWFkeSBhdCB0aGlzIHZlcnNpb24nLAoJLy8gICAgICAgICApCglmcmFtZV9kaWcgMCAvLyBuZmRBcHBJZDogdWludDY0CglieXRlYyA5IC8vICJpLnZlciIKCWFwcF9nbG9iYWxfZ2V0X2V4CgoJLy8gZ2xvYmFsIHN0YXRlIHZhbHVlIGRvZXMgbm90IGV4aXN0OiBBcHBJRC5mcm9tVWludDY0KG5mZEFwcElkKS5nbG9iYWxTdGF0ZShORkRfS0VZX1ZFUlNJT04pCglhc3NlcnQKCWZyYW1lX2RpZyAyIC8vIGN1cnJlbnRDb250cmFjdFZlcjogYnl0ZVtdCgkhPQoKCS8vIGNvbnRyYWN0IGFscmVhZHkgYXQgdGhpcyB2ZXJzaW9uCglhc3NlcnQKCgkvLyBjb250cmFjdHMvTkZEUmVnaXN0cnkuYWxnby50czo2NTcKCS8vIGFwcHJvdlByb2dOYW1lID0gY29uY2F0KAoJLy8gICAgICAgICAgICAgUkVHSVNUUllfQ09OVFJBQ1RfQk9YX0FQUFJPVkFMX05BTUVQUkVGSVgsCgkvLyAgICAgICAgICAgICB0aGlzLmJveGVzKFJFR0lTVFJZX0NPTlRSQUNUX0JPWF9DVVJSRU5UX0NPTlRSQUNUKS52YWx1ZSBhcyBieXRlcywKCS8vICAgICAgICAgKQoJYnl0ZWMgOCAvLyAiY29udHJhY3Q6QToiCglieXRlYyA1IC8vICJjdXJyZW50IgoJYm94X2dldAoKCS8vIGJveCB2YWx1ZSBkb2VzIG5vdCBleGlzdDogdGhpcy5ib3hlcyhSRUdJU1RSWV9DT05UUkFDVF9CT1hfQ1VSUkVOVF9DT05UUkFDVCkudmFsdWUKCWFzc2VydAoJY29uY2F0CglmcmFtZV9idXJ5IDMgLy8gYXBwcm92UHJvZ05hbWU6IGJ5dGVbXQoKCS8vIGNvbnRyYWN0cy9ORkRSZWdpc3RyeS5hbGdvLnRzOjY2MQoJLy8gY2xlYXJQcm9nID0gdGhpcy5ib3hlcyhjb25jYXQoUkVHSVNUUllfQ09OVFJBQ1RfQk9YX0NMRUFSX05BTUVQUkVGSVgsIGN1cnJlbnRDb250cmFjdFZlcikpLnZhbHVlIGFzIGJ5dGVzCglieXRlYyAxMiAvLyAiY29udHJhY3Q6QzoiCglmcmFtZV9kaWcgMiAvLyBjdXJyZW50Q29udHJhY3RWZXI6IGJ5dGVbXQoJY29uY2F0Cglib3hfZ2V0CgoJLy8gYm94IHZhbHVlIGRvZXMgbm90IGV4aXN0OiB0aGlzLmJveGVzKGNvbmNhdChSRUdJU1RSWV9DT05UUkFDVF9CT1hfQ0xFQVJfTkFNRVBSRUZJWCwgY3VycmVudENvbnRyYWN0VmVyKSkudmFsdWUKCWFzc2VydAoJZnJhbWVfYnVyeSA0IC8vIGNsZWFyUHJvZzogYnl0ZVtdCgoJLy8gY29udHJhY3RzL05GRFJlZ2lzdHJ5LmFsZ28udHM6NjYyCgkvLyBhcHByb3ZQcm9nTGVuZ3RoID0gdGhpcy5ib3hlcyhhcHByb3ZQcm9nTmFtZSkuc2l6ZQoJZnJhbWVfZGlnIDMgLy8gYXBwcm92UHJvZ05hbWU6IGJ5dGVbXQoJYm94X2xlbgoKCS8vIGJveCB2YWx1ZSBkb2VzIG5vdCBleGlzdDogdGhpcy5ib3hlcyhhcHByb3ZQcm9nTmFtZSkuc2l6ZQoJYXNzZXJ0CglmcmFtZV9idXJ5IDUgLy8gYXBwcm92UHJvZ0xlbmd0aDogdWludDY0CgoJLy8gY29udHJhY3RzL05GRFJlZ2lzdHJ5LmFsZ28udHM6NjY0CgkvLyBzZW5kTWV0aG9kQ2FsbDx0eXBlb2YgTkZESW5zdGFuY2UucHJvdG90eXBlLnVwZGF0ZUFwcGxpY2F0aW9uPih7CgkvLyAgICAgICAgICAgICBvbkNvbXBsZXRpb246IE9uQ29tcGxldGlvbi5VcGRhdGVBcHBsaWNhdGlvbiwKCS8vICAgICAgICAgICAgIGFwcGxpY2F0aW9uSUQ6IEFwcElELmZyb21VaW50NjQobmZkQXBwSWQpLAoJLy8gICAgICAgICAgICAgbWV0aG9kQXJnczogW2N1cnJlbnRDb250cmFjdFZlcl0sCgkvLyAgICAgICAgICAgICBhcHByb3ZhbFByb2dyYW06IFsKCS8vICAgICAgICAgICAgICAgICB0aGlzLmJveGVzKGFwcHJvdlByb2dOYW1lKS5leHRyYWN0KDAsIDQwOTYpLAoJLy8gICAgICAgICAgICAgICAgIHRoaXMuYm94ZXMoYXBwcm92UHJvZ05hbWUpLmV4dHJhY3QoNDA5NiwgYXBwcm92UHJvZ0xlbmd0aCAtIDQwOTYpLAoJLy8gICAgICAgICAgICAgXSwKCS8vICAgICAgICAgICAgIGNsZWFyU3RhdGVQcm9ncmFtOiBjbGVhclByb2csCgkvLyAgICAgICAgIH0pCglpdHhuX2JlZ2luCglpbnRjIDMgLy8gIGFwcGwKCWl0eG5fZmllbGQgVHlwZUVudW0KCXB1c2hieXRlcyAweDE3NDc0MDViIC8vIG1ldGhvZCAidXBkYXRlQXBwbGljYXRpb24oc3RyaW5nKXZvaWQiCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoKCS8vIGNvbnRyYWN0cy9ORkRSZWdpc3RyeS5hbGdvLnRzOjY2NQoJLy8gb25Db21wbGV0aW9uOiBPbkNvbXBsZXRpb24uVXBkYXRlQXBwbGljYXRpb24KCWludGMgOCAvLyAgVXBkYXRlQXBwbGljYXRpb24KCWl0eG5fZmllbGQgT25Db21wbGV0aW9uCgoJLy8gY29udHJhY3RzL05GRFJlZ2lzdHJ5LmFsZ28udHM6NjY2CgkvLyBhcHBsaWNhdGlvbklEOiBBcHBJRC5mcm9tVWludDY0KG5mZEFwcElkKQoJZnJhbWVfZGlnIDAgLy8gbmZkQXBwSWQ6IHVpbnQ2NAoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbklECgoJLy8gY29udHJhY3RzL05GRFJlZ2lzdHJ5LmFsZ28udHM6NjY3CgkvLyBtZXRob2RBcmdzOiBbY3VycmVudENvbnRyYWN0VmVyXQoJZnJhbWVfZGlnIDIgLy8gY3VycmVudENvbnRyYWN0VmVyOiBieXRlW10KCWR1cAoJbGVuCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0CglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoKCS8vIGNvbnRyYWN0cy9ORkRSZWdpc3RyeS5hbGdvLnRzOjY2OAoJLy8gYXBwcm92YWxQcm9ncmFtOiBbCgkvLyAgICAgICAgICAgICAgICAgdGhpcy5ib3hlcyhhcHByb3ZQcm9nTmFtZSkuZXh0cmFjdCgwLCA0MDk2KSwKCS8vICAgICAgICAgICAgICAgICB0aGlzLmJveGVzKGFwcHJvdlByb2dOYW1lKS5leHRyYWN0KDQwOTYsIGFwcHJvdlByb2dMZW5ndGggLSA0MDk2KSwKCS8vICAgICAgICAgICAgIF0KCWZyYW1lX2RpZyAzIC8vIGFwcHJvdlByb2dOYW1lOiBieXRlW10KCWludGMgMCAvLyAwCglpbnRjIDkgLy8gNDA5NgoJYm94X2V4dHJhY3QKCWl0eG5fZmllbGQgQXBwcm92YWxQcm9ncmFtUGFnZXMKCWZyYW1lX2RpZyAzIC8vIGFwcHJvdlByb2dOYW1lOiBieXRlW10KCWludGMgOSAvLyA0MDk2CglmcmFtZV9kaWcgNSAvLyBhcHByb3ZQcm9nTGVuZ3RoOiB1aW50NjQKCWludGMgOSAvLyA0MDk2CgktCglib3hfZXh0cmFjdAoJaXR4bl9maWVsZCBBcHByb3ZhbFByb2dyYW1QYWdlcwoKCS8vIGNvbnRyYWN0cy9ORkRSZWdpc3RyeS5hbGdvLnRzOjY3MgoJLy8gY2xlYXJTdGF0ZVByb2dyYW06IGNsZWFyUHJvZwoJZnJhbWVfZGlnIDQgLy8gY2xlYXJQcm9nOiBieXRlW10KCWl0eG5fZmllbGQgQ2xlYXJTdGF0ZVByb2dyYW0KCgkvLyBGZWUgZmllbGQgbm90IHNldCwgZGVmYXVsdGluZyB0byAwCglpbnRjIDAgLy8gMAoJaXR4bl9maWVsZCBGZWUKCgkvLyBTdWJtaXQgaW5uZXIgdHJhbnNhY3Rpb24KCWl0eG5fc3VibWl0CgoJLy8gY29udHJhY3RzL05GRFJlZ2lzdHJ5LmFsZ28udHM6Njc0CgkvLyByZXR1cm4gY3VycmVudENvbnRyYWN0VmVyCglmcmFtZV9kaWcgMiAvLyBjdXJyZW50Q29udHJhY3RWZXI6IGJ5dGVbXQoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoKCS8vIHBvcCBhbGwgbG9jYWwgdmFyaWFibGVzIGZyb20gdGhlIHN0YWNrCglwb3BuIDUKCXJldHN1YgoKLy8gaXNWYWxpZE5mZEFwcElkKHN0cmluZyx1aW50NjQpYm9vbAoqYWJpX3JvdXRlX2lzVmFsaWROZmRBcHBJZDoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZWMgMSAvLyAweDE1MWY3Yzc1CgoJLy8gbmZkQXBwSWQ6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJYnRvaQoKCS8vIG5mZE5hbWU6IHN0cmluZwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZXh0cmFjdCAyIDAKCgkvLyBleGVjdXRlIGlzVmFsaWROZmRBcHBJZChzdHJpbmcsdWludDY0KWJvb2wKCWNhbGxzdWIgaXNWYWxpZE5mZEFwcElkCglieXRlYyAxNSAvLyAweDAwCglpbnRjIDAgLy8gMAoJdW5jb3ZlciAyCglzZXRiaXQKCWNvbmNhdAoJbG9nCglpbnRjIDEgLy8gMQoJcmV0dXJuCgovLyBpc1ZhbGlkTmZkQXBwSWQobmZkTmFtZTogc3RyaW5nLCBuZmRBcHBJZDogdWludDY0KTogYm9vbGVhbgppc1ZhbGlkTmZkQXBwSWQ6Cglwcm90byAyIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMCAvLyAweAoKCS8vIGNvbnRyYWN0cy9ORkRSZWdpc3RyeS5hbGdvLnRzOjY4MgoJLy8gYm94TmFtZSA9IHRoaXMuZ2V0Qm94TmFtZShuZmROYW1lKQoJZnJhbWVfZGlnIC0xIC8vIG5mZE5hbWU6IHN0cmluZwoJY2FsbHN1YiBnZXRCb3hOYW1lCglmcmFtZV9idXJ5IDAgLy8gYm94TmFtZTogYnl0ZVtdCgoJLy8gKmlmMzBfY29uZGl0aW9uCgkvLyBjb250cmFjdHMvTkZEUmVnaXN0cnkuYWxnby50czo2ODQKCS8vICF0aGlzLmJveGVzKGJveE5hbWUpLmV4aXN0cwoJZnJhbWVfZGlnIDAgLy8gYm94TmFtZTogYnl0ZVtdCglib3hfbGVuCglzd2FwCglwb3AKCSEKCWJ6ICppZjMwX2VuZAoKCS8vICppZjMwX2NvbnNlcXVlbnQKCS8vIGNvbnRyYWN0cy9ORkRSZWdpc3RyeS5hbGdvLnRzOjY4NQoJLy8gcmV0dXJuIHRoaXMuaXNWMU5GRElEQXV0aGVudGljKG5mZE5hbWUsIG5mZEFwcElkKQoJZnJhbWVfZGlnIC0yIC8vIG5mZEFwcElkOiB1aW50NjQKCWZyYW1lX2RpZyAtMSAvLyBuZmROYW1lOiBzdHJpbmcKCWNhbGxzdWIgaXNWMU5GRElEQXV0aGVudGljCgliICppc1ZhbGlkTmZkQXBwSWQqcmV0dXJuCgoqaWYzMF9lbmQ6CgkvLyBjb250cmFjdHMvTkZEUmVnaXN0cnkuYWxnby50czo2ODcKCS8vIHJldHVybiB0aGlzLmlzVjJOZmRBcHBJZEF1dGhlbnRpYyhuZmROYW1lLCBuZmRBcHBJZCkKCWZyYW1lX2RpZyAtMiAvLyBuZmRBcHBJZDogdWludDY0CglmcmFtZV9kaWcgLTEgLy8gbmZkTmFtZTogc3RyaW5nCgljYWxsc3ViIGlzVjJOZmRBcHBJZEF1dGhlbnRpYwoKKmlzVmFsaWROZmRBcHBJZCpyZXR1cm46CgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKLy8gZ2V0TmFtZUFwcElkKHN0cmluZyl1aW50NjQKKmFiaV9yb3V0ZV9nZXROYW1lQXBwSWQ6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGVjIDEgLy8gMHgxNTFmN2M3NQoKCS8vIG5mZE5hbWU6IHN0cmluZwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZXh0cmFjdCAyIDAKCgkvLyBleGVjdXRlIGdldE5hbWVBcHBJZChzdHJpbmcpdWludDY0CgljYWxsc3ViIGdldE5hbWVBcHBJZAoJaXRvYgoJY29uY2F0Cglsb2cKCWludGMgMSAvLyAxCglyZXR1cm4KCi8vIGdldE5hbWVBcHBJZChuZmROYW1lOiBzdHJpbmcpOiB1aW50NjQKZ2V0TmFtZUFwcElkOgoJcHJvdG8gMSAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDAgLy8gMHgKCWR1cAoKCS8vIGNvbnRyYWN0cy9ORkRSZWdpc3RyeS5hbGdvLnRzOjY5MgoJLy8gYm94TmFtZSA9IHRoaXMuZ2V0Qm94TmFtZShuZmROYW1lKQoJZnJhbWVfZGlnIC0xIC8vIG5mZE5hbWU6IHN0cmluZwoJY2FsbHN1YiBnZXRCb3hOYW1lCglmcmFtZV9idXJ5IDAgLy8gYm94TmFtZTogYnl0ZVtdCgoJLy8gKmlmMzFfY29uZGl0aW9uCgkvLyBjb250cmFjdHMvTkZEUmVnaXN0cnkuYWxnby50czo2OTMKCS8vICF0aGlzLmJveGVzKGJveE5hbWUpLmV4aXN0cwoJZnJhbWVfZGlnIDAgLy8gYm94TmFtZTogYnl0ZVtdCglib3hfbGVuCglzd2FwCglwb3AKCSEKCWJ6ICppZjMxX2VuZAoKCS8vICppZjMxX2NvbnNlcXVlbnQKCS8vIGNvbnRyYWN0cy9ORkRSZWdpc3RyeS5hbGdvLnRzOjY5NAoJLy8gcmV0dXJuIDAKCWludGMgMCAvLyAwCgliICpnZXROYW1lQXBwSWQqcmV0dXJuCgoqaWYzMV9lbmQ6CgkvLyBjb250cmFjdHMvTkZEUmVnaXN0cnkuYWxnby50czo2OTcKCS8vIGJveERhdGEgPSB0aGlzLmJveGVzKGJveE5hbWUpLnZhbHVlCglmcmFtZV9kaWcgMCAvLyBib3hOYW1lOiBieXRlW10KCWJveF9nZXQKCgkvLyBib3ggdmFsdWUgZG9lcyBub3QgZXhpc3Q6IHRoaXMuYm94ZXMoYm94TmFtZSkudmFsdWUKCWFzc2VydAoJZnJhbWVfYnVyeSAxIC8vIGJveERhdGE6IGJ5dGVbXQoKCS8vIGNvbnRyYWN0cy9ORkRSZWdpc3RyeS5hbGdvLnRzOjY5OAoJLy8gYXNzZXJ0KGJveERhdGEubGVuZ3RoID09PSAxNikKCWZyYW1lX2RpZyAxIC8vIGJveERhdGE6IGJ5dGVbXQoJbGVuCglpbnRjIDEwIC8vIDE2Cgk9PQoJYXNzZXJ0CgoJLy8gY29udHJhY3RzL05GRFJlZ2lzdHJ5LmFsZ28udHM6Njk5CgkvLyByZXR1cm4gZXh0cmFjdFVpbnQ2NChib3hEYXRhLCA4KQoJZnJhbWVfZGlnIDEgLy8gYm94RGF0YTogYnl0ZVtdCglpbnRjIDIgLy8gOAoJZXh0cmFjdF91aW50NjQKCipnZXROYW1lQXBwSWQqcmV0dXJuOgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCgoJLy8gcG9wIGFsbCBsb2NhbCB2YXJpYWJsZXMgZnJvbSB0aGUgc3RhY2sKCXBvcG4gMQoJcmV0c3ViCgovLyBnZXRBZGRyZXNzQXBwSWRzKGFkZHJlc3MpdWludDY0W10KKmFiaV9yb3V0ZV9nZXRBZGRyZXNzQXBwSWRzOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlYyAxIC8vIDB4MTUxZjdjNzUKCgkvLyBsb29rdXBBZGRyZXNzOiBhZGRyZXNzCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglkdXAKCWxlbgoJaW50YyA0IC8vIDMyCgk9PQoKCS8vIGFyZ3VtZW50IDAgKGxvb2t1cEFkZHJlc3MpIGZvciBnZXRBZGRyZXNzQXBwSWRzIG11c3QgYmUgYSBhZGRyZXNzCglhc3NlcnQKCgkvLyBleGVjdXRlIGdldEFkZHJlc3NBcHBJZHMoYWRkcmVzcyl1aW50NjRbXQoJY2FsbHN1YiBnZXRBZGRyZXNzQXBwSWRzCglkdXAKCWxlbgoJaW50YyAyIC8vIDgKCS8KCWl0b2IKCWV4dHJhY3QgNiAyCglzd2FwCgljb25jYXQKCWNvbmNhdAoJbG9nCglpbnRjIDEgLy8gMQoJcmV0dXJuCgovLyBnZXRBZGRyZXNzQXBwSWRzKGxvb2t1cEFkZHJlc3M6IEFkZHJlc3MpOiB1aW50NjRbXQpnZXRBZGRyZXNzQXBwSWRzOgoJcHJvdG8gMSAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDAgLy8gMHgKCWR1cG4gNAoKCS8vIGNvbnRyYWN0cy9ORkRSZWdpc3RyeS5hbGdvLnRzOjcwMwoJLy8gcmV0RGF0YTogdWludDY0W10gPSBbXQoJYnl0ZWMgMCAvLyAweAoJZnJhbWVfYnVyeSAwIC8vIHJldERhdGE6IHVpbnQ2NFtdCgoJLy8gY29udHJhY3RzL05GRFJlZ2lzdHJ5LmFsZ28udHM6NzA0CgkvLyBib3hOYW1lID0gdGhpcy5nZXRBbGdvQWRkcmVzc0JveE5hbWUocmF3Qnl0ZXMobG9va3VwQWRkcmVzcykpCglmcmFtZV9kaWcgLTEgLy8gbG9va3VwQWRkcmVzczogQWRkcmVzcwoJY2FsbHN1YiBnZXRBbGdvQWRkcmVzc0JveE5hbWUKCWZyYW1lX2J1cnkgMSAvLyBib3hOYW1lOiBieXRlW10KCgkvLyAqaWYzMl9jb25kaXRpb24KCS8vIGNvbnRyYWN0cy9ORkRSZWdpc3RyeS5hbGdvLnRzOjcwNQoJLy8gIXRoaXMuYm94ZXMoYm94TmFtZSkuZXhpc3RzCglmcmFtZV9kaWcgMSAvLyBib3hOYW1lOiBieXRlW10KCWJveF9sZW4KCXN3YXAKCXBvcAoJIQoJYnogKmlmMzJfZW5kCgoJLy8gKmlmMzJfY29uc2VxdWVudAoJLy8gY29udHJhY3RzL05GRFJlZ2lzdHJ5LmFsZ28udHM6NzA2CgkvLyByZXR1cm4gcmV0RGF0YQoJZnJhbWVfZGlnIDAgLy8gcmV0RGF0YTogdWludDY0W10KCWIgKmdldEFkZHJlc3NBcHBJZHMqcmV0dXJuCgoqaWYzMl9lbmQ6CgkvLyBjb250cmFjdHMvTkZEUmVnaXN0cnkuYWxnby50czo3MDgKCS8vIGJveERhdGEgPSB0aGlzLmJveGVzKGJveE5hbWUpLnZhbHVlCglmcmFtZV9kaWcgMSAvLyBib3hOYW1lOiBieXRlW10KCWJveF9nZXQKCgkvLyBib3ggdmFsdWUgZG9lcyBub3QgZXhpc3Q6IHRoaXMuYm94ZXMoYm94TmFtZSkudmFsdWUKCWFzc2VydAoJZnJhbWVfYnVyeSAyIC8vIGJveERhdGE6IGJ5dGVbXQoKCS8vIGNvbnRyYWN0cy9ORkRSZWdpc3RyeS5hbGdvLnRzOjcwOQoJLy8gZm9yIChsZXQgaSA9IDA7IGkgPCBsZW4oYm94RGF0YSk7IGkgKz0gOCkKCWludGMgMCAvLyAwCglmcmFtZV9idXJ5IDMgLy8gaTogdWludDY0CgoqZm9yXzA6CgkvLyBjb250cmFjdHMvTkZEUmVnaXN0cnkuYWxnby50czo3MDkKCS8vIGkgPCBsZW4oYm94RGF0YSkKCWZyYW1lX2RpZyAzIC8vIGk6IHVpbnQ2NAoJZnJhbWVfZGlnIDIgLy8gYm94RGF0YTogYnl0ZVtdCglsZW4KCTwKCWJ6ICpmb3JfMF9lbmQKCgkvLyBjb250cmFjdHMvTkZEUmVnaXN0cnkuYWxnby50czo3MTAKCS8vIHZhbCA9IGJ0b2koZXh0cmFjdDMoYm94RGF0YSwgaSwgOCkpCglmcmFtZV9kaWcgMiAvLyBib3hEYXRhOiBieXRlW10KCWZyYW1lX2RpZyAzIC8vIGk6IHVpbnQ2NAoJaW50YyAyIC8vIDgKCWV4dHJhY3QzCglidG9pCglmcmFtZV9idXJ5IDQgLy8gdmFsOiB1aW50NjQKCgkvLyAqaWYzM19jb25kaXRpb24KCS8vIGNvbnRyYWN0cy9ORkRSZWdpc3RyeS5hbGdvLnRzOjcxMQoJLy8gdmFsICE9PSAwCglmcmFtZV9kaWcgNCAvLyB2YWw6IHVpbnQ2NAoJaW50YyAwIC8vIDAKCSE9CglieiAqaWYzM19lbmQKCgkvLyAqaWYzM19jb25zZXF1ZW50CgkvLyBjb250cmFjdHMvTkZEUmVnaXN0cnkuYWxnby50czo3MTIKCS8vIHJldERhdGEucHVzaCh2YWwpCglmcmFtZV9kaWcgMCAvLyByZXREYXRhOiB1aW50NjRbXQoJZnJhbWVfZGlnIDQgLy8gdmFsOiB1aW50NjQKCWl0b2IKCWNvbmNhdAoJZnJhbWVfYnVyeSAwIC8vIHJldERhdGE6IHVpbnQ2NFtdCgoqaWYzM19lbmQ6CgoqZm9yXzBfY29udGludWU6CgkvLyBjb250cmFjdHMvTkZEUmVnaXN0cnkuYWxnby50czo3MDkKCS8vIGkgKz0gOAoJZnJhbWVfZGlnIDMgLy8gaTogdWludDY0CglpbnRjIDIgLy8gOAoJKwoJZnJhbWVfYnVyeSAzIC8vIGk6IHVpbnQ2NAoJYiAqZm9yXzAKCipmb3JfMF9lbmQ6CgkvLyBjb250cmFjdHMvTkZEUmVnaXN0cnkuYWxnby50czo3MTUKCS8vIHJldHVybiByZXREYXRhCglmcmFtZV9kaWcgMCAvLyByZXREYXRhOiB1aW50NjRbXQoKKmdldEFkZHJlc3NBcHBJZHMqcmV0dXJuOgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCgoJLy8gcG9wIGFsbCBsb2NhbCB2YXJpYWJsZXMgZnJvbSB0aGUgc3RhY2sKCXBvcG4gNAoJcmV0c3ViCgovLyBuZmRDb250cmFjdEluaXQoc3RyaW5nLHVpbnQ2NCxieXRlW10pdm9pZAoqYWJpX3JvdXRlX25mZENvbnRyYWN0SW5pdDoKCS8vIGNsZWFyQ29kZTogYnl0ZVtdCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAzCglleHRyYWN0IDIgMAoKCS8vIHNpemU6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJYnRvaQoKCS8vIHZlcnNpb246IHN0cmluZwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZXh0cmFjdCAyIDAKCgkvLyBleGVjdXRlIG5mZENvbnRyYWN0SW5pdChzdHJpbmcsdWludDY0LGJ5dGVbXSl2b2lkCgljYWxsc3ViIG5mZENvbnRyYWN0SW5pdAoJaW50YyAxIC8vIDEKCXJldHVybgoKLy8gbmZkQ29udHJhY3RJbml0KHZlcnNpb246IHN0cmluZywgc2l6ZTogdWludDY0LCBjbGVhckNvZGU6IGJ5dGVzKTogdm9pZAovLwovLyBJbml0aWFsaXplcyB0aGUgTkZEIGNvbnRyYWN0IGJ5dGVjb2RlIGludG8gdGhlIHJlZ2lzdHJ5Ci8vCi8vIEBwYXJhbSB7c3RyaW5nfSB2ZXJzaW9uIC0gVGhlIHZlcnNpb24gb2YgdGhlIGNvbnRyYWN0LgovLyBAcGFyYW0ge3VpbnQ2NH0gc2l6ZSAtIGV4YWN0IGJ5dGUgc2l6ZSBvZiBjb250cmFjdCB0byBsb2FkCi8vIEBwYXJhbSB7dWludDY0fSBjbGVhckNvZGUgLSBieXRlcyBvZiBjbGVhciBjb2RlCm5mZENvbnRyYWN0SW5pdDoKCXByb3RvIDMgMAoKCS8vIGNvbnRyYWN0cy9ORkRSZWdpc3RyeS5hbGdvLnRzOjcyNgoJLy8gYXNzZXJ0KHRoaXMuaXNUeG5MYWIodGhpcy50eG5Hcm91cFt0aGlzLnR4bi5ncm91cEluZGV4XSkpCgl0eG4gR3JvdXBJbmRleAoJY2FsbHN1YiBpc1R4bkxhYgoJYXNzZXJ0CgoJLy8gY29udHJhY3RzL05GRFJlZ2lzdHJ5LmFsZ28udHM6NzI5CgkvLyB0aGlzLmJveGVzKFJFR0lTVFJZX0NPTlRSQUNUX0JPWF9BUFBST1ZBTF9OQU1FUFJFRklYICsgdmVyc2lvbikuY3JlYXRlKHNpemUpCglieXRlYyA4IC8vICJjb250cmFjdDpBOiIKCWZyYW1lX2RpZyAtMSAvLyB2ZXJzaW9uOiBzdHJpbmcKCWNvbmNhdAoJZnJhbWVfZGlnIC0yIC8vIHNpemU6IHVpbnQ2NAoJYm94X2NyZWF0ZQoJcG9wCgoJLy8gY29udHJhY3RzL05GRFJlZ2lzdHJ5LmFsZ28udHM6NzMwCgkvLyB0aGlzLmJveGVzKFJFR0lTVFJZX0NPTlRSQUNUX0JPWF9DTEVBUl9OQU1FUFJFRklYICsgdmVyc2lvbikudmFsdWUgPSBjbGVhckNvZGUKCWJ5dGVjIDEyIC8vICJjb250cmFjdDpDOiIKCWZyYW1lX2RpZyAtMSAvLyB2ZXJzaW9uOiBzdHJpbmcKCWNvbmNhdAoJZnJhbWVfZGlnIC0zIC8vIGNsZWFyQ29kZTogYnl0ZXMKCWJveF9wdXQKCXJldHN1YgoKLy8gbmZkQ29udHJhY3RMb2FkKHN0cmluZyx1aW50NjQsYnl0ZVtdKXZvaWQKKmFiaV9yb3V0ZV9uZmRDb250cmFjdExvYWQ6CgkvLyBkYXRhOiBieXRlW10KCXR4bmEgQXBwbGljYXRpb25BcmdzIDMKCWV4dHJhY3QgMiAwCgoJLy8gb2Zmc2V0OiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDIKCWJ0b2kKCgkvLyB2ZXJzaW9uOiBzdHJpbmcKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWV4dHJhY3QgMiAwCgoJLy8gZXhlY3V0ZSBuZmRDb250cmFjdExvYWQoc3RyaW5nLHVpbnQ2NCxieXRlW10pdm9pZAoJY2FsbHN1YiBuZmRDb250cmFjdExvYWQKCWludGMgMSAvLyAxCglyZXR1cm4KCi8vIG5mZENvbnRyYWN0TG9hZCh2ZXJzaW9uOiBzdHJpbmcsIG9mZnNldDogdWludDY0LCBkYXRhOiBieXRlcyk6IHZvaWQKLy8KLy8gTG9hZHMgY29udHJhY3QgZGF0YSBpbnRvIHRoZSBgUkVHSVNUUllfQ09OVFJBQ1RfQk9YX0FQUFJPVkFMX05BTUVQUkVGSVggKyB2ZXJzaW9uYCBib3ggYXQgdGhlIHNwZWNpZmllZCBvZmZzZXQuCi8vCi8vIEBwYXJhbSB7c3RyaW5nfSB2ZXJzaW9uIC0gVGhlIHZlcnNpb24gb2YgdGhlIGNvbnRyYWN0LgovLyBAcGFyYW0ge3VpbnQ2NH0gb2Zmc2V0IC0gVGhlIG9mZnNldCBhdCB3aGljaCB0byByZXBsYWNlIHRoZSBjb250cmFjdCBkYXRhIHdpdGhpbiB0aGUgYm94LgovLyBAcGFyYW0ge2J5dGVzfSBkYXRhIC0gVGhlIGNvbnRyYWN0IGRhdGEgdG8gYmUgbG9hZGVkLgpuZmRDb250cmFjdExvYWQ6Cglwcm90byAzIDAKCgkvLyBjb250cmFjdHMvTkZEUmVnaXN0cnkuYWxnby50czo3NDEKCS8vIGFzc2VydCh0aGlzLmlzVHhuTGFiKHRoaXMudHhuR3JvdXBbdGhpcy50eG4uZ3JvdXBJbmRleF0pKQoJdHhuIEdyb3VwSW5kZXgKCWNhbGxzdWIgaXNUeG5MYWIKCWFzc2VydAoKCS8vIGNvbnRyYWN0cy9ORkRSZWdpc3RyeS5hbGdvLnRzOjc0MgoJLy8gdGhpcy5ib3hlcyhSRUdJU1RSWV9DT05UUkFDVF9CT1hfQVBQUk9WQUxfTkFNRVBSRUZJWCArIHZlcnNpb24pLnJlcGxhY2Uob2Zmc2V0LCBkYXRhKQoJYnl0ZWMgOCAvLyAiY29udHJhY3Q6QToiCglmcmFtZV9kaWcgLTEgLy8gdmVyc2lvbjogc3RyaW5nCgljb25jYXQKCWZyYW1lX2RpZyAtMiAvLyBvZmZzZXQ6IHVpbnQ2NAoJZnJhbWVfZGlnIC0zIC8vIGRhdGE6IGJ5dGVzCglib3hfcmVwbGFjZQoJcmV0c3ViCgovLyBuZmRDb250cmFjdENvbW1pdChzdHJpbmcpdm9pZAoqYWJpX3JvdXRlX25mZENvbnRyYWN0Q29tbWl0OgoJLy8gdmVyc2lvbjogc3RyaW5nCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglleHRyYWN0IDIgMAoKCS8vIGV4ZWN1dGUgbmZkQ29udHJhY3RDb21taXQoc3RyaW5nKXZvaWQKCWNhbGxzdWIgbmZkQ29udHJhY3RDb21taXQKCWludGMgMSAvLyAxCglyZXR1cm4KCi8vIG5mZENvbnRyYWN0Q29tbWl0KHZlcnNpb246IHN0cmluZyk6IHZvaWQKLy8KLy8gQ29tbWl0IGEgbmV3IHZlcnNpb24gb2YgdGhlIGNvbnRyYWN0LgovLwovLyBAcGFyYW0ge3N0cmluZ30gdmVyc2lvbiAtIFRoZSB2ZXJzaW9uIG51bWJlciBvZiB0aGUgY29udHJhY3QgdG8gYmUgY29tbWl0dGVkLgpuZmRDb250cmFjdENvbW1pdDoKCXByb3RvIDEgMAoKCS8vIGNvbnRyYWN0cy9ORkRSZWdpc3RyeS5hbGdvLnRzOjc1MQoJLy8gYXNzZXJ0KHRoaXMuaXNUeG5MYWIodGhpcy50eG5Hcm91cFt0aGlzLnR4bi5ncm91cEluZGV4XSkpCgl0eG4gR3JvdXBJbmRleAoJY2FsbHN1YiBpc1R4bkxhYgoJYXNzZXJ0CgoJLy8gY29udHJhY3RzL05GRFJlZ2lzdHJ5LmFsZ28udHM6NzUyCgkvLyB0aGlzLmJveGVzKFJFR0lTVFJZX0NPTlRSQUNUX0JPWF9DVVJSRU5UX0NPTlRSQUNUKS52YWx1ZSA9IHZlcnNpb24KCWJ5dGVjIDUgLy8gImN1cnJlbnQiCglmcmFtZV9kaWcgLTEgLy8gdmVyc2lvbjogc3RyaW5nCglib3hfcHV0CglyZXRzdWIKCi8vIHVzZEluTWljcm9BbGdvKHVpbnQ2NCl1aW50NjQKKmFiaV9yb3V0ZV91c2RJbk1pY3JvQWxnbzoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZWMgMSAvLyAweDE1MWY3Yzc1CgoJLy8gdXNkQ29zdDogdWludDY0Cgl0eG5hIEFwcGxpY2F0aW9uQXJncyAxCglidG9pCgoJLy8gZXhlY3V0ZSB1c2RJbk1pY3JvQWxnbyh1aW50NjQpdWludDY0CgljYWxsc3ViIHVzZEluTWljcm9BbGdvCglpdG9iCgljb25jYXQKCWxvZwoJaW50YyAxIC8vIDEKCXJldHVybgoKLy8gdXNkSW5NaWNyb0FsZ28odXNkQ29zdDogdWludDY0KTogdWludDY0CnVzZEluTWljcm9BbGdvOgoJcHJvdG8gMSAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDAgLy8gMHgKCWR1cG4gMgoKCS8vIGNvbnRyYWN0cy9ORkRSZWdpc3RyeS5hbGdvLnRzOjc1OAoJLy8gdHMgPSBBcHBJRC5mcm9tVWludDY0KHRoaXMuYWxnb1VzZE9yYWNsZUFwcElkKS5nbG9iYWxTdGF0ZSgndHMnKSBhcyB1aW50NjQKCWludGMgMTMgLy8gVE1QTF9hbGdvVXNkT3JhY2xlQXBwSWQKCXB1c2hieXRlcyAweDc0NzMgLy8gInRzIgoJYXBwX2dsb2JhbF9nZXRfZXgKCgkvLyBnbG9iYWwgc3RhdGUgdmFsdWUgZG9lcyBub3QgZXhpc3Q6IEFwcElELmZyb21VaW50NjQodGhpcy5hbGdvVXNkT3JhY2xlQXBwSWQpLmdsb2JhbFN0YXRlKCd0cycpCglhc3NlcnQKCWZyYW1lX2J1cnkgMCAvLyB0czogdWludDY0CgoJLy8gY29udHJhY3RzL05GRFJlZ2lzdHJ5LmFsZ28udHM6NzU5CgkvLyBkZWNpbWFscyA9IEFwcElELmZyb21VaW50NjQodGhpcy5hbGdvVXNkT3JhY2xlQXBwSWQpLmdsb2JhbFN0YXRlKCdkZWNpbWFscycpIGFzIHVpbnQ2NAoJaW50YyAxMyAvLyBUTVBMX2FsZ29Vc2RPcmFjbGVBcHBJZAoJcHVzaGJ5dGVzIDB4NjQ2NTYzNjk2ZDYxNmM3MyAvLyAiZGVjaW1hbHMiCglhcHBfZ2xvYmFsX2dldF9leAoKCS8vIGdsb2JhbCBzdGF0ZSB2YWx1ZSBkb2VzIG5vdCBleGlzdDogQXBwSUQuZnJvbVVpbnQ2NCh0aGlzLmFsZ29Vc2RPcmFjbGVBcHBJZCkuZ2xvYmFsU3RhdGUoJ2RlY2ltYWxzJykKCWFzc2VydAoJZnJhbWVfYnVyeSAxIC8vIGRlY2ltYWxzOiB1aW50NjQKCgkvLyBjb250cmFjdHMvTkZEUmVnaXN0cnkuYWxnby50czo3NjAKCS8vIHByaWNlID0gQXBwSUQuZnJvbVVpbnQ2NCh0aGlzLmFsZ29Vc2RPcmFjbGVBcHBJZCkuZ2xvYmFsU3RhdGUoJ3ByaWNlJykgYXMgdWludDY0CglpbnRjIDEzIC8vIFRNUExfYWxnb1VzZE9yYWNsZUFwcElkCglwdXNoYnl0ZXMgMHg3MDcyNjk2MzY1IC8vICJwcmljZSIKCWFwcF9nbG9iYWxfZ2V0X2V4CgoJLy8gZ2xvYmFsIHN0YXRlIHZhbHVlIGRvZXMgbm90IGV4aXN0OiBBcHBJRC5mcm9tVWludDY0KHRoaXMuYWxnb1VzZE9yYWNsZUFwcElkKS5nbG9iYWxTdGF0ZSgncHJpY2UnKQoJYXNzZXJ0CglmcmFtZV9idXJ5IDIgLy8gcHJpY2U6IHVpbnQ2NAoKCS8vICppZjM0X2NvbmRpdGlvbgoJLy8gY29udHJhY3RzL05GRFJlZ2lzdHJ5LmFsZ28udHM6NzYyCgkvLyBnbG9iYWxzLmxhdGVzdFRpbWVzdGFtcCAtIHRzID4gODY0MDAKCWdsb2JhbCBMYXRlc3RUaW1lc3RhbXAKCWZyYW1lX2RpZyAwIC8vIHRzOiB1aW50NjQKCS0KCWludGMgMTQgLy8gODY0MDAKCT4KCWJ6ICppZjM0X2VuZAoKCS8vICppZjM0X2NvbnNlcXVlbnQKCS8vIGNvbnRyYWN0cy9ORkRSZWdpc3RyeS5hbGdvLnRzOjc2MwoJLy8gZGVjaW1hbHMgPSAyCglpbnRjIDUgLy8gMgoJZnJhbWVfYnVyeSAxIC8vIGRlY2ltYWxzOiB1aW50NjQKCgkvLyBjb250cmFjdHMvTkZEUmVnaXN0cnkuYWxnby50czo3NjQKCS8vIHByaWNlID0gMzMKCXB1c2hpbnQgMzMKCWZyYW1lX2J1cnkgMiAvLyBwcmljZTogdWludDY0CgoJLy8gY29udHJhY3RzL05GRFJlZ2lzdHJ5LmFsZ28udHM6NzY1CgkvLyBsb2coJ29yYWNsZSA+MjRociB1c2luZyAuMzNjJykKCXB1c2hieXRlcyAweDZmNzI2MTYzNmM2NTIwM2UzMjM0Njg3MjIwNzU3MzY5NmU2NzIwMmUzMzMzNjMgLy8gIm9yYWNsZSA+MjRociB1c2luZyAuMzNjIgoJbG9nCgoqaWYzNF9lbmQ6CgkvLyBjb250cmFjdHMvTkZEUmVnaXN0cnkuYWxnby50czo3NjkKCS8vIHJldHVybiAoKHVzZENvc3QgKiAxMF8wMDAgKiB0aGlzLnBvdzEwKGRlY2ltYWxzKSkgLyBwcmljZSAvIDEwXzAwMCkgKiAxMF8wMDAKCWZyYW1lX2RpZyAtMSAvLyB1c2RDb3N0OiB1aW50NjQKCWludGMgMTYgLy8gMTBfMDAwCgkqCglmcmFtZV9kaWcgMSAvLyBkZWNpbWFsczogdWludDY0CgljYWxsc3ViIHBvdzEwCgkqCglmcmFtZV9kaWcgMiAvLyBwcmljZTogdWludDY0CgkvCglpbnRjIDE2IC8vIDEwXzAwMAoJLwoJaW50YyAxNiAvLyAxMF8wMDAKCSoKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCgkvLyBwb3AgYWxsIGxvY2FsIHZhcmlhYmxlcyBmcm9tIHRoZSBzdGFjawoJcG9wbiAyCglyZXRzdWIKCi8vIGNvc3RUb0FkZFRvQWRkcmVzcyhhZGRyZXNzKXVpbnQ2NAoqYWJpX3JvdXRlX2Nvc3RUb0FkZFRvQWRkcmVzczoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZWMgMSAvLyAweDE1MWY3Yzc1CgoJLy8gbG9va3VwQWRkcmVzczogYWRkcmVzcwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCWludGMgNCAvLyAzMgoJPT0KCgkvLyBhcmd1bWVudCAwIChsb29rdXBBZGRyZXNzKSBmb3IgY29zdFRvQWRkVG9BZGRyZXNzIG11c3QgYmUgYSBhZGRyZXNzCglhc3NlcnQKCgkvLyBleGVjdXRlIGNvc3RUb0FkZFRvQWRkcmVzcyhhZGRyZXNzKXVpbnQ2NAoJY2FsbHN1YiBjb3N0VG9BZGRUb0FkZHJlc3MKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnRjIDEgLy8gMQoJcmV0dXJuCgovLyBjb3N0VG9BZGRUb0FkZHJlc3MobG9va3VwQWRkcmVzczogQWRkcmVzcyk6IHVpbnQ2NAovLwovLyBSZXR1cm5zIHRoZSBjb3N0IHRvIGFkZCBhbiBORkQgdG8gdGhlIHJldmVyc2UtbG9va3VwIGRhdGEKLy8KLy8gQHBhcmFtIHtBZGRyZXNzfSBsb29rdXBBZGRyZXNzIC0gVGhlIGFkZHJlc3MgdG8gYWRkIHRoZSBORkQgYXBwIGlkIHRvCmNvc3RUb0FkZFRvQWRkcmVzczoKCXByb3RvIDEgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlYyAwIC8vIDB4CgoJLy8gY29udHJhY3RzL05GRFJlZ2lzdHJ5LmFsZ28udHM6Nzc4CgkvLyBib3hOYW1lID0gdGhpcy5nZXRBbGdvQWRkcmVzc0JveE5hbWUocmF3Qnl0ZXMobG9va3VwQWRkcmVzcykpCglmcmFtZV9kaWcgLTEgLy8gbG9va3VwQWRkcmVzczogQWRkcmVzcwoJY2FsbHN1YiBnZXRBbGdvQWRkcmVzc0JveE5hbWUKCWZyYW1lX2J1cnkgMCAvLyBib3hOYW1lOiBieXRlW10KCgkvLyAqaWYzNV9jb25kaXRpb24KCS8vIGNvbnRyYWN0cy9ORkRSZWdpc3RyeS5hbGdvLnRzOjc3OQoJLy8gIXRoaXMuYm94ZXMoYm94TmFtZSkuZXhpc3RzCglmcmFtZV9kaWcgMCAvLyBib3hOYW1lOiBieXRlW10KCWJveF9sZW4KCXN3YXAKCXBvcAoJIQoJYnogKmlmMzVfZW5kCgoJLy8gKmlmMzVfY29uc2VxdWVudAoJLy8gY29udHJhY3RzL05GRFJlZ2lzdHJ5LmFsZ28udHM6NzgxCgkvLyByZXR1cm4gdGhpcy5jb3N0Rm9yQm94U3RvcmFnZSgxLCBib3hOYW1lLmxlbmd0aCArIDgpCglmcmFtZV9kaWcgMCAvLyBib3hOYW1lOiBieXRlW10KCWxlbgoJaW50YyAyIC8vIDgKCSsKCWludGMgMSAvLyAxCgljYWxsc3ViIGNvc3RGb3JCb3hTdG9yYWdlCgliICpjb3N0VG9BZGRUb0FkZHJlc3MqcmV0dXJuCgoqaWYzNV9lbmQ6CgkvLyBjb250cmFjdHMvTkZEUmVnaXN0cnkuYWxnby50czo3ODQKCS8vIHJldHVybiBTQ0JPWF9QRVJCWVRFICogOAoJcHVzaGludCAzMjAwCgoqY29zdFRvQWRkVG9BZGRyZXNzKnJldHVybjoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgovLyBpc1R4bkxhYih0eG46IFR4bik6IGJvb2xlYW4KaXNUeG5MYWI6Cglwcm90byAxIDEKCgkvLyBjb250cmFjdHMvTkZEUmVnaXN0cnkuYWxnby50czo4MTQKCS8vIHJldHVybiAoCgkvLyAgICAgICAgICAgICB0eG4uc2VuZGVyLmFzc2V0QmFsYW5jZShBc3NldElELmZyb21VaW50NjQodGhpcy5hZG1pbkFzYUlkKSkgPT09IDEgJiYKCS8vICAgICAgICAgICAgIHR4bi5jbG9zZVJlbWFpbmRlclRvID09PSBnbG9iYWxzLnplcm9BZGRyZXNzICYmCgkvLyAgICAgICAgICAgICB0eG4ucmVrZXlUbyA9PT0gZ2xvYmFscy56ZXJvQWRkcmVzcwoJLy8gICAgICAgICApCglmcmFtZV9kaWcgLTEgLy8gdHhuOiBUeG4KCWd0eG5zIFNlbmRlcgoJaW50YyAyNyAvLyBUTVBMX2FkbWluQXNhSWQKCWFzc2V0X2hvbGRpbmdfZ2V0IEFzc2V0QmFsYW5jZQoJcG9wCglpbnRjIDEgLy8gMQoJPT0KCWR1cAoJYnogKnNraXBfYW5kMTUKCWZyYW1lX2RpZyAtMSAvLyB0eG46IFR4bgoJZ3R4bnMgQ2xvc2VSZW1haW5kZXJUbwoJZ2xvYmFsIFplcm9BZGRyZXNzCgk9PQoJJiYKCipza2lwX2FuZDE1OgoJZHVwCglieiAqc2tpcF9hbmQxNgoJZnJhbWVfZGlnIC0xIC8vIHR4bjogVHhuCglndHhucyBSZWtleVRvCglnbG9iYWwgWmVyb0FkZHJlc3MKCT09CgkmJgoKKnNraXBfYW5kMTY6CglyZXRzdWIKCi8vIGdldE5mZEluc3RhbmNlTWJyKCk6IHVpbnQ2NApnZXROZmRJbnN0YW5jZU1icjoKCXByb3RvIDAgMQoKCS8vIGNvbnRyYWN0cy9ORkRSZWdpc3RyeS5hbGdvLnRzOjgyMwoJLy8gcmV0dXJuIHRoaXMubWluQmFsYW5jZUZvckFjY291bnQoMCwgMCwgMSwgMCwgMCwgMCwgMCkKCWludGMgMCAvLyAwCglkdXBuIDMKCWludGMgMSAvLyAxCglpbnRjIDAgLy8gMAoJZHVwCgljYWxsc3ViIG1pbkJhbGFuY2VGb3JBY2NvdW50CglyZXRzdWIKCi8vIGNhbGxORkRJc0FkZHJlc3NJbkZpZWxkKG5mZEFwcElkOiB1aW50NjQsIGZpZWxkTmFtZTogc3RyaW5nLCBhZGRyZXNzOiBBZGRyZXNzKTogYm9vbGVhbgpjYWxsTkZESXNBZGRyZXNzSW5GaWVsZDoKCXByb3RvIDMgMQoKCS8vICppZjM2X2NvbmRpdGlvbgoJLy8gY29udHJhY3RzL05GRFJlZ2lzdHJ5LmFsZ28udHM6ODI3CgkvLyB0aGlzLmlzUHJlVjMobmZkQXBwSWQpCglmcmFtZV9kaWcgLTEgLy8gbmZkQXBwSWQ6IHVpbnQ2NAoJY2FsbHN1YiBpc1ByZVYzCglieiAqaWYzNl9lbmQKCgkvLyAqaWYzNl9jb25zZXF1ZW50CgkvLyBjb250cmFjdHMvTkZEUmVnaXN0cnkuYWxnby50czo4MjkKCS8vIHNlbmRBcHBDYWxsKHsKCS8vICAgICAgICAgICAgICAgICBhcHBsaWNhdGlvbklEOiBBcHBJRC5mcm9tVWludDY0KG5mZEFwcElkKSwKCS8vICAgICAgICAgICAgICAgICBhcHBsaWNhdGlvbkFyZ3M6IFtORkRfQ0FMTF9JU19BRERSRVNTX0lOX0ZJRUxELCBmaWVsZE5hbWUsIHJhd0J5dGVzKGFkZHJlc3MpXSwKCS8vICAgICAgICAgICAgIH0pCglpdHhuX2JlZ2luCglpbnRjIDMgLy8gIGFwcGwKCWl0eG5fZmllbGQgVHlwZUVudW0KCgkvLyBjb250cmFjdHMvTkZEUmVnaXN0cnkuYWxnby50czo4MzAKCS8vIGFwcGxpY2F0aW9uSUQ6IEFwcElELmZyb21VaW50NjQobmZkQXBwSWQpCglmcmFtZV9kaWcgLTEgLy8gbmZkQXBwSWQ6IHVpbnQ2NAoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbklECgoJLy8gY29udHJhY3RzL05GRFJlZ2lzdHJ5LmFsZ28udHM6ODMxCgkvLyBhcHBsaWNhdGlvbkFyZ3M6IFtORkRfQ0FMTF9JU19BRERSRVNTX0lOX0ZJRUxELCBmaWVsZE5hbWUsIHJhd0J5dGVzKGFkZHJlc3MpXQoJcHVzaGJ5dGVzICJpc19hZGRyZXNzX2luX2ZpZWxkIgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCWZyYW1lX2RpZyAtMiAvLyBmaWVsZE5hbWU6IHN0cmluZwoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCWZyYW1lX2RpZyAtMyAvLyBhZGRyZXNzOiBBZGRyZXNzCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoKCS8vIEZlZSBmaWVsZCBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIDAKCWludGMgMCAvLyAwCglpdHhuX2ZpZWxkIEZlZQoKCS8vIFN1Ym1pdCBpbm5lciB0cmFuc2FjdGlvbgoJaXR4bl9zdWJtaXQKCgkvLyBjb250cmFjdHMvTkZEUmVnaXN0cnkuYWxnby50czo4MzMKCS8vIHJldHVybiBidG9pKHRoaXMuaXR4bi5sYXN0TG9nKSA9PT0gMQoJaXR4biBMYXN0TG9nCglidG9pCglpbnRjIDEgLy8gMQoJPT0KCXJldHN1YgoKKmlmMzZfZW5kOgoJLy8gY29udHJhY3RzL05GRFJlZ2lzdHJ5LmFsZ28udHM6ODM2CgkvLyByZXR1cm4gc2VuZE1ldGhvZENhbGw8dHlwZW9mIE5GREluc3RhbmNlLnByb3RvdHlwZS5pc0FkZHJlc3NJbkZpZWxkPih7CgkvLyAgICAgICAgICAgICBhcHBsaWNhdGlvbklEOiBBcHBJRC5mcm9tVWludDY0KG5mZEFwcElkKSwKCS8vICAgICAgICAgICAgIG1ldGhvZEFyZ3M6IFtmaWVsZE5hbWUsIGFkZHJlc3NdLAoJLy8gICAgICAgICB9KQoJaXR4bl9iZWdpbgoJaW50YyAzIC8vICBhcHBsCglpdHhuX2ZpZWxkIFR5cGVFbnVtCglwdXNoYnl0ZXMgMHhkNDQzOTUyYSAvLyBtZXRob2QgImlzQWRkcmVzc0luRmllbGQoc3RyaW5nLGFkZHJlc3MpYm9vbCIKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCgoJLy8gY29udHJhY3RzL05GRFJlZ2lzdHJ5LmFsZ28udHM6ODM3CgkvLyBhcHBsaWNhdGlvbklEOiBBcHBJRC5mcm9tVWludDY0KG5mZEFwcElkKQoJZnJhbWVfZGlnIC0xIC8vIG5mZEFwcElkOiB1aW50NjQKCWl0eG5fZmllbGQgQXBwbGljYXRpb25JRAoKCS8vIGNvbnRyYWN0cy9ORkRSZWdpc3RyeS5hbGdvLnRzOjgzOAoJLy8gbWV0aG9kQXJnczogW2ZpZWxkTmFtZSwgYWRkcmVzc10KCWZyYW1lX2RpZyAtMiAvLyBmaWVsZE5hbWU6IHN0cmluZwoJZHVwCglsZW4KCWl0b2IKCWV4dHJhY3QgNiAyCglzd2FwCgljb25jYXQKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCglmcmFtZV9kaWcgLTMgLy8gYWRkcmVzczogQWRkcmVzcwoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCgkvLyBGZWUgZmllbGQgbm90IHNldCwgZGVmYXVsdGluZyB0byAwCglpbnRjIDAgLy8gMAoJaXR4bl9maWVsZCBGZWUKCgkvLyBTdWJtaXQgaW5uZXIgdHJhbnNhY3Rpb24KCWl0eG5fc3VibWl0CglpdHhuIE51bUxvZ3MKCWludGMgMSAvLyAxCgktCglpdHhuYXMgTG9ncwoJZXh0cmFjdCA0IDAKCWludGMgMCAvLyAwCglnZXRiaXQKCXJldHN1YgoKLy8gZmluZEludEluU2V0KGtleTogYnl0ZXMsIGludFZhbDogdWludDY0KTogYm9vbGVhbgpmaW5kSW50SW5TZXQ6Cglwcm90byAyIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMCAvLyAweAoJZHVwbiAzCgoJLy8gY29udHJhY3RzL05GRFJlZ2lzdHJ5LmFsZ28udHM6ODQzCgkvLyBhc3NlcnQoaW50VmFsICE9PSAwKQoJZnJhbWVfZGlnIC0yIC8vIGludFZhbDogdWludDY0CglpbnRjIDAgLy8gMAoJIT0KCWFzc2VydAoKCS8vICppZjM3X2NvbmRpdGlvbgoJLy8gY29udHJhY3RzL05GRFJlZ2lzdHJ5LmFsZ28udHM6ODQ0CgkvLyAhdGhpcy5ib3hlcyhrZXkpLmV4aXN0cwoJZnJhbWVfZGlnIC0xIC8vIGtleTogYnl0ZXMKCWJveF9sZW4KCXN3YXAKCXBvcAoJIQoJYnogKmlmMzdfZW5kCgoJLy8gKmlmMzdfY29uc2VxdWVudAoJLy8gY29udHJhY3RzL05GRFJlZ2lzdHJ5LmFsZ28udHM6ODQ1CgkvLyByZXR1cm4gZmFsc2UKCWludGMgMCAvLyAwCgliICpmaW5kSW50SW5TZXQqcmV0dXJuCgoqaWYzN19lbmQ6CgkvLyBjb250cmFjdHMvTkZEUmVnaXN0cnkuYWxnby50czo4NDcKCS8vIGJveERhdGEgPSB0aGlzLmJveGVzKGtleSkudmFsdWUKCWZyYW1lX2RpZyAtMSAvLyBrZXk6IGJ5dGVzCglib3hfZ2V0CgoJLy8gYm94IHZhbHVlIGRvZXMgbm90IGV4aXN0OiB0aGlzLmJveGVzKGtleSkudmFsdWUKCWFzc2VydAoJZnJhbWVfYnVyeSAwIC8vIGJveERhdGE6IGJ5dGVbXQoKCS8vIGNvbnRyYWN0cy9ORkRSZWdpc3RyeS5hbGdvLnRzOjg0OAoJLy8gYnl0ZXNPZlNldCA9IGJveERhdGEKCWZyYW1lX2RpZyAwIC8vIGJveERhdGE6IGJ5dGVbXQoJZnJhbWVfYnVyeSAxIC8vIGJ5dGVzT2ZTZXQ6IGJ5dGVbXQoKCS8vIGNvbnRyYWN0cy9ORkRSZWdpc3RyeS5hbGdvLnRzOjg0OQoJLy8gbGltaXQgPSBib3hEYXRhLmxlbmd0aCAvIDgKCWZyYW1lX2RpZyAwIC8vIGJveERhdGE6IGJ5dGVbXQoJbGVuCglpbnRjIDIgLy8gOAoJLwoJZnJhbWVfYnVyeSAyIC8vIGxpbWl0OiB1aW50NjQKCgkvLyBjb250cmFjdHMvTkZEUmVnaXN0cnkuYWxnby50czo4NTEKCS8vIGZvciAobGV0IGkgPSAwOyBpIDwgbGltaXQ7IGkgKz0gMSkKCWludGMgMCAvLyAwCglmcmFtZV9idXJ5IDMgLy8gaTogdWludDY0CgoqZm9yXzE6CgkvLyBjb250cmFjdHMvTkZEUmVnaXN0cnkuYWxnby50czo4NTEKCS8vIGkgPCBsaW1pdAoJZnJhbWVfZGlnIDMgLy8gaTogdWludDY0CglmcmFtZV9kaWcgMiAvLyBsaW1pdDogdWludDY0Cgk8CglieiAqZm9yXzFfZW5kCgoJLy8gKmlmMzhfY29uZGl0aW9uCgkvLyBjb250cmFjdHMvTkZEUmVnaXN0cnkuYWxnby50czo4NTIKCS8vIGJ0b2koZXh0cmFjdDMoYnl0ZXNPZlNldCwgaSAqIDgsIDgpKSA9PT0gaW50VmFsCglmcmFtZV9kaWcgMSAvLyBieXRlc09mU2V0OiBieXRlW10KCWZyYW1lX2RpZyAzIC8vIGk6IHVpbnQ2NAoJaW50YyAyIC8vIDgKCSoKCWludGMgMiAvLyA4CglleHRyYWN0MwoJYnRvaQoJZnJhbWVfZGlnIC0yIC8vIGludFZhbDogdWludDY0Cgk9PQoJYnogKmlmMzhfZW5kCgoJLy8gKmlmMzhfY29uc2VxdWVudAoJLy8gY29udHJhY3RzL05GRFJlZ2lzdHJ5LmFsZ28udHM6ODUyCgkvLyByZXR1cm4gdHJ1ZQoJaW50YyAxIC8vIDEKCWIgKmZpbmRJbnRJblNldCpyZXR1cm4KCippZjM4X2VuZDoKCipmb3JfMV9jb250aW51ZToKCS8vIGNvbnRyYWN0cy9ORkRSZWdpc3RyeS5hbGdvLnRzOjg1MQoJLy8gaSArPSAxCglmcmFtZV9kaWcgMyAvLyBpOiB1aW50NjQKCWludGMgMSAvLyAxCgkrCglmcmFtZV9idXJ5IDMgLy8gaTogdWludDY0CgliICpmb3JfMQoKKmZvcl8xX2VuZDoKCS8vIGNvbnRyYWN0cy9ORkRSZWdpc3RyeS5hbGdvLnRzOjg1NQoJLy8gcmV0dXJuIGZhbHNlCglpbnRjIDAgLy8gMAoKKmZpbmRJbnRJblNldCpyZXR1cm46CgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCgkvLyBwb3AgYWxsIGxvY2FsIHZhcmlhYmxlcyBmcm9tIHRoZSBzdGFjawoJcG9wbiAzCglyZXRzdWIKCi8vIGFkZEludFRvU2V0KGtleTogYnl0ZXMsIGludFZhbDogdWludDY0KTogYm9vbGVhbgphZGRJbnRUb1NldDoKCXByb3RvIDIgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlYyAwIC8vIDB4CglkdXBuIDMKCgkvLyAqaWYzOV9jb25kaXRpb24KCS8vIGNvbnRyYWN0cy9ORkRSZWdpc3RyeS5hbGdvLnRzOjg1OQoJLy8gIXRoaXMuYm94ZXMoa2V5KS5leGlzdHMKCWZyYW1lX2RpZyAtMSAvLyBrZXk6IGJ5dGVzCglib3hfbGVuCglzd2FwCglwb3AKCSEKCWJ6ICppZjM5X2VuZAoKCS8vICppZjM5X2NvbnNlcXVlbnQKCS8vIGNvbnRyYWN0cy9ORkRSZWdpc3RyeS5hbGdvLnRzOjg2MQoJLy8gdGhpcy5ib3hlcyhrZXkpLnZhbHVlID0gaXRvYihpbnRWYWwpCglmcmFtZV9kaWcgLTEgLy8ga2V5OiBieXRlcwoJZnJhbWVfZGlnIC0yIC8vIGludFZhbDogdWludDY0CglpdG9iCglib3hfcHV0CgoJLy8gY29udHJhY3RzL05GRFJlZ2lzdHJ5LmFsZ28udHM6ODYyCgkvLyByZXR1cm4gdHJ1ZQoJaW50YyAxIC8vIDEKCWIgKmFkZEludFRvU2V0KnJldHVybgoKKmlmMzlfZW5kOgoJLy8gY29udHJhY3RzL05GRFJlZ2lzdHJ5LmFsZ28udHM6ODY0CgkvLyBpZExpc3QgPSB0aGlzLmJveGVzKGtleSkudmFsdWUKCWZyYW1lX2RpZyAtMSAvLyBrZXk6IGJ5dGVzCglib3hfZ2V0CgoJLy8gYm94IHZhbHVlIGRvZXMgbm90IGV4aXN0OiB0aGlzLmJveGVzKGtleSkudmFsdWUKCWFzc2VydAoJZnJhbWVfYnVyeSAwIC8vIGlkTGlzdDogYnl0ZVtdCgoJLy8gY29udHJhY3RzL05GRFJlZ2lzdHJ5LmFsZ28udHM6ODY1CgkvLyBsaW1pdCA9IGlkTGlzdC5sZW5ndGggLyA4CglmcmFtZV9kaWcgMCAvLyBpZExpc3Q6IGJ5dGVbXQoJbGVuCglpbnRjIDIgLy8gOAoJLwoJZnJhbWVfYnVyeSAxIC8vIGxpbWl0OiB1aW50NjQKCgkvLyBjb250cmFjdHMvTkZEUmVnaXN0cnkuYWxnby50czo4NjcKCS8vIGZvciAobGV0IGkgPSAwOyBpIDwgbGltaXQ7IGkgKz0gMSkKCWludGMgMCAvLyAwCglmcmFtZV9idXJ5IDIgLy8gaTogdWludDY0CgoqZm9yXzI6CgkvLyBjb250cmFjdHMvTkZEUmVnaXN0cnkuYWxnby50czo4NjcKCS8vIGkgPCBsaW1pdAoJZnJhbWVfZGlnIDIgLy8gaTogdWludDY0CglmcmFtZV9kaWcgMSAvLyBsaW1pdDogdWludDY0Cgk8CglieiAqZm9yXzJfZW5kCgoJLy8gY29udHJhY3RzL05GRFJlZ2lzdHJ5LmFsZ28udHM6ODY4CgkvLyBjdXJyZW50VmFsSW5TbG90ID0gZXh0cmFjdFVpbnQ2NChpZExpc3QsIGkgKiA4KQoJZnJhbWVfZGlnIDAgLy8gaWRMaXN0OiBieXRlW10KCWZyYW1lX2RpZyAyIC8vIGk6IHVpbnQ2NAoJaW50YyAyIC8vIDgKCSoKCWV4dHJhY3RfdWludDY0CglmcmFtZV9idXJ5IDMgLy8gY3VycmVudFZhbEluU2xvdDogdWludDY0CgoJLy8gKmlmNDBfY29uZGl0aW9uCgkvLyBjb250cmFjdHMvTkZEUmVnaXN0cnkuYWxnby50czo4NzAKCS8vIGN1cnJlbnRWYWxJblNsb3QgPT09IDAKCWZyYW1lX2RpZyAzIC8vIGN1cnJlbnRWYWxJblNsb3Q6IHVpbnQ2NAoJaW50YyAwIC8vIDAKCT09CglieiAqaWY0MF9lbmQKCgkvLyAqaWY0MF9jb25zZXF1ZW50CgkvLyBjb250cmFjdHMvTkZEUmVnaXN0cnkuYWxnby50czo4NzIKCS8vIHRoaXMuYm94ZXMoa2V5KS5yZXBsYWNlKGkgKiA4LCBpdG9iKGludFZhbCkpCglmcmFtZV9kaWcgLTEgLy8ga2V5OiBieXRlcwoJZnJhbWVfZGlnIDIgLy8gaTogdWludDY0CglpbnRjIDIgLy8gOAoJKgoJZnJhbWVfZGlnIC0yIC8vIGludFZhbDogdWludDY0CglpdG9iCglib3hfcmVwbGFjZQoKCS8vIGNvbnRyYWN0cy9ORkRSZWdpc3RyeS5hbGdvLnRzOjg3MwoJLy8gcmV0dXJuIHRydWUKCWludGMgMSAvLyAxCgliICphZGRJbnRUb1NldCpyZXR1cm4KCippZjQwX2VuZDoKCS8vICppZjQxX2NvbmRpdGlvbgoJLy8gY29udHJhY3RzL05GRFJlZ2lzdHJ5LmFsZ28udHM6ODc1CgkvLyBjdXJyZW50VmFsSW5TbG90ID09PSBpbnRWYWwKCWZyYW1lX2RpZyAzIC8vIGN1cnJlbnRWYWxJblNsb3Q6IHVpbnQ2NAoJZnJhbWVfZGlnIC0yIC8vIGludFZhbDogdWludDY0Cgk9PQoJYnogKmlmNDFfZW5kCgoJLy8gKmlmNDFfY29uc2VxdWVudAoJLy8gY29udHJhY3RzL05GRFJlZ2lzdHJ5LmFsZ28udHM6ODc2CgkvLyByZXR1cm4gdHJ1ZQoJaW50YyAxIC8vIDEKCWIgKmFkZEludFRvU2V0KnJldHVybgoKKmlmNDFfZW5kOgoKKmZvcl8yX2NvbnRpbnVlOgoJLy8gY29udHJhY3RzL05GRFJlZ2lzdHJ5LmFsZ28udHM6ODY3CgkvLyBpICs9IDEKCWZyYW1lX2RpZyAyIC8vIGk6IHVpbnQ2NAoJaW50YyAxIC8vIDEKCSsKCWZyYW1lX2J1cnkgMiAvLyBpOiB1aW50NjQKCWIgKmZvcl8yCgoqZm9yXzJfZW5kOgoJLy8gKmlmNDJfY29uZGl0aW9uCgkvLyBjb250cmFjdHMvTkZEUmVnaXN0cnkuYWxnby50czo4ODAKCS8vIGlkTGlzdC5sZW5ndGggPCA4ICogMTI2CglmcmFtZV9kaWcgMCAvLyBpZExpc3Q6IGJ5dGVbXQoJbGVuCglwdXNoaW50IDEwMDgKCTwKCWJ6ICppZjQyX2VuZAoKCS8vICppZjQyX2NvbnNlcXVlbnQKCS8vIGNvbnRyYWN0cy9ORkRSZWdpc3RyeS5hbGdvLnRzOjg4MQoJLy8gdGhpcy5ib3hlcyhrZXkpLmRlbGV0ZSgpCglmcmFtZV9kaWcgLTEgLy8ga2V5OiBieXRlcwoJYm94X2RlbAoKCS8vIGNvbnRyYWN0cy9ORkRSZWdpc3RyeS5hbGdvLnRzOjg4MgoJLy8gdGhpcy5ib3hlcyhrZXkpLnZhbHVlID0gaWRMaXN0ICsgaXRvYihpbnRWYWwpCglmcmFtZV9kaWcgLTEgLy8ga2V5OiBieXRlcwoJZnJhbWVfZGlnIDAgLy8gaWRMaXN0OiBieXRlW10KCWZyYW1lX2RpZyAtMiAvLyBpbnRWYWw6IHVpbnQ2NAoJaXRvYgoJY29uY2F0Cglib3hfcHV0CgoJLy8gY29udHJhY3RzL05GRFJlZ2lzdHJ5LmFsZ28udHM6ODgzCgkvLyByZXR1cm4gdHJ1ZQoJaW50YyAxIC8vIDEKCWIgKmFkZEludFRvU2V0KnJldHVybgoKKmlmNDJfZW5kOgoJLy8gY29udHJhY3RzL05GRFJlZ2lzdHJ5LmFsZ28udHM6ODg2CgkvLyByZXR1cm4gZmFsc2UKCWludGMgMCAvLyAwCgoqYWRkSW50VG9TZXQqcmV0dXJuOgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCgoJLy8gcG9wIGFsbCBsb2NhbCB2YXJpYWJsZXMgZnJvbSB0aGUgc3RhY2sKCXBvcG4gMwoJcmV0c3ViCgovLyBjYWxsTkZEUmVnaXN0cnlBcHByb3ZlZEFkZHJlc3NBZGQobmZkQXBwSWQ6IHVpbnQ2NCwgZmllbGRUb01vdmU6IHN0cmluZywgZGVzdGluYXRpb25GaWVsZDogc3RyaW5nKTogYm9vbGVhbgpjYWxsTkZEUmVnaXN0cnlBcHByb3ZlZEFkZHJlc3NBZGQ6Cglwcm90byAzIDEKCgkvLyAqaWY0M19jb25kaXRpb24KCS8vIGNvbnRyYWN0cy9ORkRSZWdpc3RyeS5hbGdvLnRzOjg5NAoJLy8gdGhpcy5pc1ByZVYzKG5mZEFwcElkKQoJZnJhbWVfZGlnIC0xIC8vIG5mZEFwcElkOiB1aW50NjQKCWNhbGxzdWIgaXNQcmVWMwoJYnogKmlmNDNfZW5kCgoJLy8gKmlmNDNfY29uc2VxdWVudAoJLy8gY29udHJhY3RzL05GRFJlZ2lzdHJ5LmFsZ28udHM6ODk2CgkvLyBzZW5kQXBwQ2FsbCh7CgkvLyAgICAgICAgICAgICAgICAgLy8gQ2FsbCB0aGUgcmVnX2FkZF92ZXJpZmllZF9hZGRyZXNzIG1ldGhvZCB3aXRoaW4gdGhlIE5GRCwgYXJnczoKCS8vICAgICAgICAgICAgICAgICAvLyBzdHI6IHJlZ19hZGRfdmVyaWZpZWRfYWRkcmVzcwoJLy8gICAgICAgICAgICAgICAgIC8vIHN0cjogZmllbGQgYmVpbmcgJ3ZlcmlmaWVkJyAod2hpY2ggd2UgYWxyZWFkeSBkaWQpIC0gYmFzaWNhbGx5IGZpZWxkIHZhbHVlIHRvIG1vdmUgLyBhZGQgdG8gc2V0CgkvLyAgICAgICAgICAgICAgICAgLy8gc3RyOiBmaWVsZCBuYW1lIG9mIHNldCB3aGljaCB2YWx1ZSBpbiBmaWVsZCB0byB2ZXJpZnkgaXMgYWRkZWQgdG8uCgkvLyAgICAgICAgICAgICAgICAgYXBwbGljYXRpb25JRDogQXBwSUQuZnJvbVVpbnQ2NChuZmRBcHBJZCksCgkvLyAgICAgICAgICAgICAgICAgYXBwbGljYXRpb25BcmdzOiBbTkZEX0NBTExfUkVHX0FERF9WRVJJRklFRF9BRERSRVNTLCBmaWVsZFRvTW92ZSwgZGVzdGluYXRpb25GaWVsZF0sCgkvLyAgICAgICAgICAgICB9KQoJaXR4bl9iZWdpbgoJaW50YyAzIC8vICBhcHBsCglpdHhuX2ZpZWxkIFR5cGVFbnVtCgoJLy8gY29udHJhY3RzL05GRFJlZ2lzdHJ5LmFsZ28udHM6OTAxCgkvLyBhcHBsaWNhdGlvbklEOiBBcHBJRC5mcm9tVWludDY0KG5mZEFwcElkKQoJZnJhbWVfZGlnIC0xIC8vIG5mZEFwcElkOiB1aW50NjQKCWl0eG5fZmllbGQgQXBwbGljYXRpb25JRAoKCS8vIGNvbnRyYWN0cy9ORkRSZWdpc3RyeS5hbGdvLnRzOjkwMgoJLy8gYXBwbGljYXRpb25BcmdzOiBbTkZEX0NBTExfUkVHX0FERF9WRVJJRklFRF9BRERSRVNTLCBmaWVsZFRvTW92ZSwgZGVzdGluYXRpb25GaWVsZF0KCXB1c2hieXRlcyAicmVnX2FkZF92ZXJpZmllZF9hZGRyZXNzIgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCWZyYW1lX2RpZyAtMiAvLyBmaWVsZFRvTW92ZTogc3RyaW5nCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoJZnJhbWVfZGlnIC0zIC8vIGRlc3RpbmF0aW9uRmllbGQ6IHN0cmluZwoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCgkvLyBGZWUgZmllbGQgbm90IHNldCwgZGVmYXVsdGluZyB0byAwCglpbnRjIDAgLy8gMAoJaXR4bl9maWVsZCBGZWUKCgkvLyBTdWJtaXQgaW5uZXIgdHJhbnNhY3Rpb24KCWl0eG5fc3VibWl0CgoJLy8gY29udHJhY3RzL05GRFJlZ2lzdHJ5LmFsZ28udHM6OTA1CgkvLyByZXR1cm4gYnRvaSh0aGlzLml0eG4ubGFzdExvZykgPT09IDEKCWl0eG4gTGFzdExvZwoJYnRvaQoJaW50YyAxIC8vIDEKCT09CglyZXRzdWIKCippZjQzX2VuZDoKCS8vIGNvbnRyYWN0cy9ORkRSZWdpc3RyeS5hbGdvLnRzOjkwOAoJLy8gcmV0dXJuIHNlbmRNZXRob2RDYWxsPHR5cGVvZiBORkRJbnN0YW5jZS5wcm90b3R5cGUucmVnaXN0cnlBZGRpbmdWZXJpZmllZEFkZHJlc3M+KHsKCS8vICAgICAgICAgICAgIGFwcGxpY2F0aW9uSUQ6IEFwcElELmZyb21VaW50NjQobmZkQXBwSWQpLAoJLy8gICAgICAgICAgICAgbWV0aG9kQXJnczogW2ZpZWxkVG9Nb3ZlLCBkZXN0aW5hdGlvbkZpZWxkXSwKCS8vICAgICAgICAgfSkKCWl0eG5fYmVnaW4KCWludGMgMyAvLyAgYXBwbAoJaXR4bl9maWVsZCBUeXBlRW51bQoJcHVzaGJ5dGVzIDB4ODVjY2VkNTcgLy8gbWV0aG9kICJyZWdpc3RyeUFkZGluZ1ZlcmlmaWVkQWRkcmVzcyhzdHJpbmcsc3RyaW5nKWJvb2wiCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoKCS8vIGNvbnRyYWN0cy9ORkRSZWdpc3RyeS5hbGdvLnRzOjkwOQoJLy8gYXBwbGljYXRpb25JRDogQXBwSUQuZnJvbVVpbnQ2NChuZmRBcHBJZCkKCWZyYW1lX2RpZyAtMSAvLyBuZmRBcHBJZDogdWludDY0CglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uSUQKCgkvLyBjb250cmFjdHMvTkZEUmVnaXN0cnkuYWxnby50czo5MTAKCS8vIG1ldGhvZEFyZ3M6IFtmaWVsZFRvTW92ZSwgZGVzdGluYXRpb25GaWVsZF0KCWZyYW1lX2RpZyAtMiAvLyBmaWVsZFRvTW92ZTogc3RyaW5nCglkdXAKCWxlbgoJaXRvYgoJZXh0cmFjdCA2IDIKCXN3YXAKCWNvbmNhdAoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCWZyYW1lX2RpZyAtMyAvLyBkZXN0aW5hdGlvbkZpZWxkOiBzdHJpbmcKCWR1cAoJbGVuCglpdG9iCglleHRyYWN0IDYgMgoJc3dhcAoJY29uY2F0CglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoKCS8vIEZlZSBmaWVsZCBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIDAKCWludGMgMCAvLyAwCglpdHhuX2ZpZWxkIEZlZQoKCS8vIFN1Ym1pdCBpbm5lciB0cmFuc2FjdGlvbgoJaXR4bl9zdWJtaXQKCWl0eG4gTnVtTG9ncwoJaW50YyAxIC8vIDEKCS0KCWl0eG5hcyBMb2dzCglleHRyYWN0IDQgMAoJaW50YyAwIC8vIDAKCWdldGJpdAoJcmV0c3ViCgovLyBjYWxsTkZEUmVnaXN0cnlBcHByb3ZlZEFkZHJlc3NSZW1vdmUobmZkQXBwSWQ6IHVpbnQ2NCwgZmllbGRUb0NoYW5nZTogc3RyaW5nLCBhZGRyZXNzOiBBZGRyZXNzLCBtYnJSZWZ1bmREZXN0OiBBZGRyZXNzKTogYm9vbGVhbgpjYWxsTkZEUmVnaXN0cnlBcHByb3ZlZEFkZHJlc3NSZW1vdmU6Cglwcm90byA0IDEKCgkvLyAqaWY0NF9jb25kaXRpb24KCS8vIGNvbnRyYWN0cy9ORkRSZWdpc3RyeS5hbGdvLnRzOjkyMAoJLy8gdGhpcy5pc1ByZVYzKG5mZEFwcElkKQoJZnJhbWVfZGlnIC0xIC8vIG5mZEFwcElkOiB1aW50NjQKCWNhbGxzdWIgaXNQcmVWMwoJYnogKmlmNDRfZW5kCgoJLy8gKmlmNDRfY29uc2VxdWVudAoJLy8gY29udHJhY3RzL05GRFJlZ2lzdHJ5LmFsZ28udHM6OTI2CgkvLyBzZW5kQXBwQ2FsbCh7CgkvLyAgICAgICAgICAgICAgICAgYXBwbGljYXRpb25JRDogQXBwSUQuZnJvbVVpbnQ2NChuZmRBcHBJZCksCgkvLyAgICAgICAgICAgICAgICAgYXBwbGljYXRpb25BcmdzOiBbTkZEX0NBTExfUkVHX1JFTU9WRV9WRVJJRklFRF9BRERSRVNTLCBmaWVsZFRvQ2hhbmdlLCByYXdCeXRlcyhhZGRyZXNzKV0sCgkvLyAgICAgICAgICAgICB9KQoJaXR4bl9iZWdpbgoJaW50YyAzIC8vICBhcHBsCglpdHhuX2ZpZWxkIFR5cGVFbnVtCgoJLy8gY29udHJhY3RzL05GRFJlZ2lzdHJ5LmFsZ28udHM6OTI3CgkvLyBhcHBsaWNhdGlvbklEOiBBcHBJRC5mcm9tVWludDY0KG5mZEFwcElkKQoJZnJhbWVfZGlnIC0xIC8vIG5mZEFwcElkOiB1aW50NjQKCWl0eG5fZmllbGQgQXBwbGljYXRpb25JRAoKCS8vIGNvbnRyYWN0cy9ORkRSZWdpc3RyeS5hbGdvLnRzOjkyOAoJLy8gYXBwbGljYXRpb25BcmdzOiBbTkZEX0NBTExfUkVHX1JFTU9WRV9WRVJJRklFRF9BRERSRVNTLCBmaWVsZFRvQ2hhbmdlLCByYXdCeXRlcyhhZGRyZXNzKV0KCXB1c2hieXRlcyAicmVnX3JlbW92ZV92ZXJpZmllZF9hZGRyZXNzIgoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCWZyYW1lX2RpZyAtMiAvLyBmaWVsZFRvQ2hhbmdlOiBzdHJpbmcKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCglmcmFtZV9kaWcgLTMgLy8gYWRkcmVzczogQWRkcmVzcwoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCgkvLyBGZWUgZmllbGQgbm90IHNldCwgZGVmYXVsdGluZyB0byAwCglpbnRjIDAgLy8gMAoJaXR4bl9maWVsZCBGZWUKCgkvLyBTdWJtaXQgaW5uZXIgdHJhbnNhY3Rpb24KCWl0eG5fc3VibWl0CgoJLy8gY29udHJhY3RzL05GRFJlZ2lzdHJ5LmFsZ28udHM6OTMwCgkvLyByZXR1cm4gYnRvaSh0aGlzLml0eG4ubGFzdExvZykgPT09IDEKCWl0eG4gTGFzdExvZwoJYnRvaQoJaW50YyAxIC8vIDEKCT09CglyZXRzdWIKCippZjQ0X2VuZDoKCS8vIGNvbnRyYWN0cy9ORkRSZWdpc3RyeS5hbGdvLnRzOjkzMwoJLy8gcmV0dXJuIHNlbmRNZXRob2RDYWxsPHR5cGVvZiBORkRJbnN0YW5jZS5wcm90b3R5cGUucmVnaXN0cnlSZW1vdmluZ1ZlcmlmaWVkQWRkcmVzcz4oewoJLy8gICAgICAgICAgICAgYXBwbGljYXRpb25JRDogQXBwSUQuZnJvbVVpbnQ2NChuZmRBcHBJZCksCgkvLyAgICAgICAgICAgICBtZXRob2RBcmdzOiBbZmllbGRUb0NoYW5nZSwgYWRkcmVzcywgbWJyUmVmdW5kRGVzdF0sCgkvLyAgICAgICAgIH0pCglpdHhuX2JlZ2luCglpbnRjIDMgLy8gIGFwcGwKCWl0eG5fZmllbGQgVHlwZUVudW0KCXB1c2hieXRlcyAweGIxODkwYTc1IC8vIG1ldGhvZCAicmVnaXN0cnlSZW1vdmluZ1ZlcmlmaWVkQWRkcmVzcyhzdHJpbmcsYWRkcmVzcyxhZGRyZXNzKWJvb2wiCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoKCS8vIGNvbnRyYWN0cy9ORkRSZWdpc3RyeS5hbGdvLnRzOjkzNAoJLy8gYXBwbGljYXRpb25JRDogQXBwSUQuZnJvbVVpbnQ2NChuZmRBcHBJZCkKCWZyYW1lX2RpZyAtMSAvLyBuZmRBcHBJZDogdWludDY0CglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uSUQKCgkvLyBjb250cmFjdHMvTkZEUmVnaXN0cnkuYWxnby50czo5MzUKCS8vIG1ldGhvZEFyZ3M6IFtmaWVsZFRvQ2hhbmdlLCBhZGRyZXNzLCBtYnJSZWZ1bmREZXN0XQoJZnJhbWVfZGlnIC0yIC8vIGZpZWxkVG9DaGFuZ2U6IHN0cmluZwoJZHVwCglsZW4KCWl0b2IKCWV4dHJhY3QgNiAyCglzd2FwCgljb25jYXQKCWl0eG5fZmllbGQgQXBwbGljYXRpb25BcmdzCglmcmFtZV9kaWcgLTMgLy8gYWRkcmVzczogQWRkcmVzcwoJaXR4bl9maWVsZCBBcHBsaWNhdGlvbkFyZ3MKCWZyYW1lX2RpZyAtNCAvLyBtYnJSZWZ1bmREZXN0OiBBZGRyZXNzCglpdHhuX2ZpZWxkIEFwcGxpY2F0aW9uQXJncwoKCS8vIEZlZSBmaWVsZCBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIDAKCWludGMgMCAvLyAwCglpdHhuX2ZpZWxkIEZlZQoKCS8vIFN1Ym1pdCBpbm5lciB0cmFuc2FjdGlvbgoJaXR4bl9zdWJtaXQKCWl0eG4gTnVtTG9ncwoJaW50YyAxIC8vIDEKCS0KCWl0eG5hcyBMb2dzCglleHRyYWN0IDQgMAoJaW50YyAwIC8vIDAKCWdldGJpdAoJcmV0c3ViCgovLyBpc0V4cGlyZWQoZXhwVGltZTogdWludDY0KTogYm9vbGVhbgppc0V4cGlyZWQ6Cglwcm90byAxIDEKCgkvLyAqaWY0NV9jb25kaXRpb24KCS8vIGNvbnRyYWN0cy9ORkRSZWdpc3RyeS5hbGdvLnRzOjk0MQoJLy8gZXhwVGltZSA9PT0gMAoJZnJhbWVfZGlnIC0xIC8vIGV4cFRpbWU6IHVpbnQ2NAoJaW50YyAwIC8vIDAKCT09CglieiAqaWY0NV9lbmQKCgkvLyAqaWY0NV9jb25zZXF1ZW50CgkvLyBjb250cmFjdHMvTkZEUmVnaXN0cnkuYWxnby50czo5NDIKCS8vIHJldHVybiBmYWxzZQoJaW50YyAwIC8vIDAKCXJldHN1YgoKKmlmNDVfZW5kOgoJLy8gY29udHJhY3RzL05GRFJlZ2lzdHJ5LmFsZ28udHM6OTQ0CgkvLyByZXR1cm4gZ2xvYmFscy5sYXRlc3RUaW1lc3RhbXAgPiBleHBUaW1lCglnbG9iYWwgTGF0ZXN0VGltZXN0YW1wCglmcmFtZV9kaWcgLTEgLy8gZXhwVGltZTogdWludDY0Cgk+CglyZXRzdWIKCi8vIGdldE5vbkFiaU5hbWVBcHBJZCgpOiB2b2lkCmdldE5vbkFiaU5hbWVBcHBJZDoKCXByb3RvIDAgMAoKCS8vIGNvbnRyYWN0cy9ORkRSZWdpc3RyeS5hbGdvLnRzOjk1MQoJLy8gbG9nKGl0b2IodGhpcy5nZXROYW1lQXBwSWQodGhpcy50eG4uYXBwbGljYXRpb25BcmdzIVsxXSBhcyBieXRlcykpKQoJdHhuIEFwcGxpY2F0aW9uQXJncyAxCgljYWxsc3ViIGdldE5hbWVBcHBJZAoJaXRvYgoJbG9nCglyZXRzdWIKCi8vIG5vbkFiaWdldEFkZHJlc3NBcHBJZHMoKTogdm9pZApub25BYmlnZXRBZGRyZXNzQXBwSWRzOgoJcHJvdG8gMCAwCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDAgLy8gMHgKCgkvLyBjb250cmFjdHMvTkZEUmVnaXN0cnkuYWxnby50czo5NTkKCS8vIGJveE5hbWUgPSB0aGlzLmdldEFsZ29BZGRyZXNzQm94TmFtZSh0aGlzLnR4bi5hcHBsaWNhdGlvbkFyZ3MhWzJdIGFzIGJ5dGVzKQoJdHhuIEFwcGxpY2F0aW9uQXJncyAyCgljYWxsc3ViIGdldEFsZ29BZGRyZXNzQm94TmFtZQoJZnJhbWVfYnVyeSAwIC8vIGJveE5hbWU6IGJ5dGVbXQoKCS8vICppZjQ2X2NvbmRpdGlvbgoJLy8gY29udHJhY3RzL05GRFJlZ2lzdHJ5LmFsZ28udHM6OTYwCgkvLyAhdGhpcy5ib3hlcyhib3hOYW1lKS5leGlzdHMKCWZyYW1lX2RpZyAwIC8vIGJveE5hbWU6IGJ5dGVbXQoJYm94X2xlbgoJc3dhcAoJcG9wCgkhCglieiAqaWY0Nl9lbmQKCgkvLyAqaWY0Nl9jb25zZXF1ZW50CgkvLyBjb250cmFjdHMvTkZEUmVnaXN0cnkuYWxnby50czo5NjEKCS8vIGxvZygnJykKCWJ5dGVjIDAgLy8gICIiCglsb2cKCgkvLyBjb250cmFjdHMvTkZEUmVnaXN0cnkuYWxnby50czo5NjIKCS8vIHJldHVybgoJcmV0c3ViCgoqaWY0Nl9lbmQ6CgkvLyBjb250cmFjdHMvTkZEUmVnaXN0cnkuYWxnby50czo5NjUKCS8vIGxvZyh0aGlzLmJveGVzKGJveE5hbWUpLnZhbHVlKQoJZnJhbWVfZGlnIDAgLy8gYm94TmFtZTogYnl0ZVtdCglib3hfZ2V0CgoJLy8gYm94IHZhbHVlIGRvZXMgbm90IGV4aXN0OiB0aGlzLmJveGVzKGJveE5hbWUpLnZhbHVlCglhc3NlcnQKCWxvZwoJcmV0c3ViCgovLyBtaWdyYXRlVjFOYW1lKCk6IHZvaWQKbWlncmF0ZVYxTmFtZToKCXByb3RvIDAgMAoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlYyAwIC8vIDB4CgoJLy8gY29udHJhY3RzL05GRFJlZ2lzdHJ5LmFsZ28udHM6OTc0CgkvLyBhc3NlcnQoCgkvLyAgICAgICAgICAgICB0aGlzLmlzVjFORkRJREF1dGhlbnRpYyh0aGlzLnR4bi5hcHBsaWNhdGlvbkFyZ3MhWzFdIGFzIGJ5dGVzLCBidG9pKHRoaXMudHhuLmFwcGxpY2F0aW9uQXJncyFbMl0pKSwKCS8vICAgICAgICAgICAgICdtdXN0IGJlIGV4aXN0aW5nIHYxIG5hbWUnLAoJLy8gICAgICAgICApCgl0eG4gQXBwbGljYXRpb25BcmdzIDIKCWJ0b2kKCXR4biBBcHBsaWNhdGlvbkFyZ3MgMQoJY2FsbHN1YiBpc1YxTkZESURBdXRoZW50aWMKCgkvLyBtdXN0IGJlIGV4aXN0aW5nIHYxIG5hbWUKCWFzc2VydAoKCS8vIGNvbnRyYWN0cy9ORkRSZWdpc3RyeS5hbGdvLnRzOjk3OQoJLy8gbmZkQXNhSUQgPSBBcHBJRC5mcm9tVWludDY0KGJ0b2kodGhpcy50eG4uYXBwbGljYXRpb25BcmdzIVsyXSkpLmdsb2JhbFN0YXRlKFJFR0lTVFJZX0tFWV9BU0FJRCkgYXMgYnl0ZXMKCXR4biBBcHBsaWNhdGlvbkFyZ3MgMgoJYnRvaQoJcHVzaGJ5dGVzICJpLmFzYWlkIgoJYXBwX2dsb2JhbF9nZXRfZXgKCgkvLyBnbG9iYWwgc3RhdGUgdmFsdWUgZG9lcyBub3QgZXhpc3Q6IEFwcElELmZyb21VaW50NjQoYnRvaSh0aGlzLnR4bi5hcHBsaWNhdGlvbkFyZ3MhWzJdKSkuZ2xvYmFsU3RhdGUoUkVHSVNUUllfS0VZX0FTQUlEKQoJYXNzZXJ0CglmcmFtZV9idXJ5IDAgLy8gbmZkQXNhSUQ6IGJ5dGVbXQoKCS8vIGNvbnRyYWN0cy9ORkRSZWdpc3RyeS5hbGdvLnRzOjk4MAoJLy8gYXNzZXJ0KG5mZEFzYUlEICE9PSAnJykKCWZyYW1lX2RpZyAwIC8vIG5mZEFzYUlEOiBieXRlW10KCWJ5dGVjIDAgLy8gICIiCgkhPQoJYXNzZXJ0CgoJLy8gY29udHJhY3RzL05GRFJlZ2lzdHJ5LmFsZ28udHM6OTgxCgkvLyB0aGlzLmFzc2lnbk5hbWVUb1JlZ2lzdHJ5KAoJLy8gICAgICAgICAgICAgdGhpcy50eG4uYXBwbGljYXRpb25BcmdzIVsxXSBhcyBieXRlcywKCS8vICAgICAgICAgICAgIGJ0b2kobmZkQXNhSUQpLAoJLy8gICAgICAgICAgICAgYnRvaSh0aGlzLnR4bi5hcHBsaWNhdGlvbkFyZ3MhWzJdKSwKCS8vICAgICAgICAgICAgIHRydWUsIC8vIHdlJ3JlIG1pZ3JhdGluZwoJLy8gICAgICAgICApCglpbnRjIDEgLy8gMQoJdHhuIEFwcGxpY2F0aW9uQXJncyAyCglidG9pCglmcmFtZV9kaWcgMCAvLyBuZmRBc2FJRDogYnl0ZVtdCglidG9pCgl0eG4gQXBwbGljYXRpb25BcmdzIDEKCWNhbGxzdWIgYXNzaWduTmFtZVRvUmVnaXN0cnkKCXJldHN1YgoKLy8gbWlncmF0ZVYxQWRkcmVzc0tleXMoYWRkcmVzczogYnl0ZXMsIHN0ckFkZHJlc3M6IHN0cmluZyk6IHZvaWQKbWlncmF0ZVYxQWRkcmVzc0tleXM6Cglwcm90byAyIDAKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMCAvLyAweAoJZHVwbiAzCgoJLy8gKmlmNDdfY29uZGl0aW9uCgkvLyBjb250cmFjdHMvTkZEUmVnaXN0cnkuYWxnby50czo5OTUKCS8vIHRoaXMuYm94ZXModGhpcy5nZXRBbGdvQWRkcmVzc0JveE5hbWUoYWRkcmVzcykpLmV4aXN0cwoJZnJhbWVfZGlnIC0xIC8vIGFkZHJlc3M6IGJ5dGVzCgljYWxsc3ViIGdldEFsZ29BZGRyZXNzQm94TmFtZQoJYm94X2xlbgoJc3dhcAoJcG9wCglieiAqaWY0N19lbmQKCgkvLyAqaWY0N19jb25zZXF1ZW50CgkvLyBjb250cmFjdHMvTkZEUmVnaXN0cnkuYWxnby50czo5OTcKCS8vIHJldHVybgoJcmV0c3ViCgoqaWY0N19lbmQ6CgkvLyBjb250cmFjdHMvTkZEUmVnaXN0cnkuYWxnby50czoxMDAwCgkvLyBwcm9nSGFzaCA9IHRoaXMuZ2V0THNpZ0FkZHJlc3MoJ2FkZHJlc3MvJyArIHN0ckFkZHJlc3MpCglwdXNoYnl0ZXMgMHg2MTY0NjQ3MjY1NzM3MzJmIC8vICJhZGRyZXNzLyIKCWZyYW1lX2RpZyAtMiAvLyBzdHJBZGRyZXNzOiBzdHJpbmcKCWNvbmNhdAoJY2FsbHN1YiBnZXRMc2lnQWRkcmVzcwoJZnJhbWVfYnVyeSAwIC8vIHByb2dIYXNoOiBieXRlW10KCgkvLyBjb250cmFjdHMvTkZEUmVnaXN0cnkuYWxnby50czoxMDAxCgkvLyBib3hEYXRhVG9TdG9yZSA9ICcnCglieXRlYyAwIC8vICAiIgoJZnJhbWVfYnVyeSAxIC8vIGJveERhdGFUb1N0b3JlOiBieXRlW10KCgkvLyBjb250cmFjdHMvTkZEUmVnaXN0cnkuYWxnby50czoxMDA0CgkvLyBmb3IgKGxldCBpID0gMDsgaSA8IDE2OyBpICs9IDEpCglpbnRjIDAgLy8gMAoJZnJhbWVfYnVyeSAyIC8vIGk6IHVpbnQ2NAoKKmZvcl8zOgoJLy8gY29udHJhY3RzL05GRFJlZ2lzdHJ5LmFsZ28udHM6MTAwNAoJLy8gaSA8IDE2CglmcmFtZV9kaWcgMiAvLyBpOiB1aW50NjQKCWludGMgMTAgLy8gMTYKCTwKCWJ6ICpmb3JfM19lbmQKCgkvLyBjb250cmFjdHMvTkZEUmVnaXN0cnkuYWxnby50czoxMDA1CgkvLyBrZXlOYW1lID0gUkVHSVNUUllfS0VZX0FQUElEU0VUUFJFRklYICsgaS50b1N0cmluZygpCglieXRlYyAxOCAvLyAiaS5hcHBzIgoJZnJhbWVfZGlnIDIgLy8gaTogdWludDY0CgljYWxsc3ViICppdG9hCgljb25jYXQKCWZyYW1lX2J1cnkgMyAvLyBrZXlOYW1lOiBieXRlW10KCgkvLyAqaWY0OF9jb25kaXRpb24KCS8vIGNvbnRyYWN0cy9ORkRSZWdpc3RyeS5hbGdvLnRzOjEwMDcKCS8vIHRoaXMubG9jYWxTdGF0ZShBZGRyZXNzLmZyb21CeXRlcyhwcm9nSGFzaCksIGtleU5hbWUpLmV4aXN0cwoJZnJhbWVfZGlnIDAgLy8gcHJvZ0hhc2g6IGJ5dGVbXQoJdHhuYSBBcHBsaWNhdGlvbnMgMAoJZnJhbWVfZGlnIDMgLy8ga2V5TmFtZTogYnl0ZVtdCglhcHBfbG9jYWxfZ2V0X2V4Cglzd2FwCglwb3AKCWJ6ICppZjQ4X2Vsc2UKCgkvLyAqaWY0OF9jb25zZXF1ZW50CgkvLyBjb250cmFjdHMvTkZEUmVnaXN0cnkuYWxnby50czoxMDA4CgkvLyBib3hEYXRhVG9TdG9yZSA9IGJveERhdGFUb1N0b3JlICsgdGhpcy5sb2NhbFN0YXRlKEFkZHJlc3MuZnJvbUJ5dGVzKHByb2dIYXNoKSwga2V5TmFtZSkudmFsdWUKCWZyYW1lX2RpZyAxIC8vIGJveERhdGFUb1N0b3JlOiBieXRlW10KCWZyYW1lX2RpZyAwIC8vIHByb2dIYXNoOiBieXRlW10KCWZyYW1lX2RpZyAzIC8vIGtleU5hbWU6IGJ5dGVbXQoJYXBwX2xvY2FsX2dldAoJY29uY2F0CglmcmFtZV9idXJ5IDEgLy8gYm94RGF0YVRvU3RvcmU6IGJ5dGVbXQoJYiAqaWY0OF9lbmQKCippZjQ4X2Vsc2U6CgkvLyAqaWY0OV9jb25kaXRpb24KCS8vIGNvbnRyYWN0cy9ORkRSZWdpc3RyeS5hbGdvLnRzOjEwMTEKCS8vIGJveERhdGFUb1N0b3JlLmxlbmd0aCA+IDAKCWZyYW1lX2RpZyAxIC8vIGJveERhdGFUb1N0b3JlOiBieXRlW10KCWxlbgoJaW50YyAwIC8vIDAKCT4KCWJ6ICppZjQ5X2VuZAoKCS8vICppZjQ5X2NvbnNlcXVlbnQKCS8vIGNvbnRyYWN0cy9ORkRSZWdpc3RyeS5hbGdvLnRzOjEwMTIKCS8vIHRoaXMuYm94ZXModGhpcy5nZXRBbGdvQWRkcmVzc0JveE5hbWUoYWRkcmVzcykpLnZhbHVlID0gYm94RGF0YVRvU3RvcmUKCWZyYW1lX2RpZyAtMSAvLyBhZGRyZXNzOiBieXRlcwoJY2FsbHN1YiBnZXRBbGdvQWRkcmVzc0JveE5hbWUKCWZyYW1lX2RpZyAxIC8vIGJveERhdGFUb1N0b3JlOiBieXRlW10KCWJveF9wdXQKCippZjQ5X2VuZDoKCS8vIGNvbnRyYWN0cy9ORkRSZWdpc3RyeS5hbGdvLnRzOjEwMTQKCS8vIHJldHVybgoJcmV0c3ViCgoqaWY0OF9lbmQ6CgoqZm9yXzNfY29udGludWU6CgkvLyBjb250cmFjdHMvTkZEUmVnaXN0cnkuYWxnby50czoxMDA0CgkvLyBpICs9IDEKCWZyYW1lX2RpZyAyIC8vIGk6IHVpbnQ2NAoJaW50YyAxIC8vIDEKCSsKCWZyYW1lX2J1cnkgMiAvLyBpOiB1aW50NjQKCWIgKmZvcl8zCgoqZm9yXzNfZW5kOgoJcmV0c3ViCgovLyBhc3NpZ25OYW1lVG9SZWdpc3RyeShuZmROYW1lOiBieXRlcywgbmZkQXNhSWQ6IHVpbnQ2NCwgbmZkQXBwSWQ6IHVpbnQ2NCwgaXNNaWdyYXRpbmc6IGJvb2xlYW4pOiB2b2lkCi8vCi8vIEFzc2lnbnMgYSBuYW1lIHRvIHRoZSByZWdpc3RyeSAoaWYgbm90IGFscmVhZHkgbWludGVkKS4KLy8gTXVzdCBvbmx5IGJlIGNhbGxlZCBhcyBwYXJ0IG9mIG1pbnRpbmcsIG9yIG1pZ3JhdGluZyBmcm9tIG9sZCB2MSBzdG9yYWdlCi8vCi8vIEBwYXJhbSB7Ynl0ZXN9IG5mZE5hbWUgLSBUaGUgbmFtZSB0byBiZSBhc3NpZ25lZCB0byB0aGUgcmVnaXN0cnkuCi8vIEBwYXJhbSB7dWludDY0fSBuZmRBc2FJZCAtIFRoZSBBU0EgSUQgdG8gYmUgYXNzb2NpYXRlZCB3aXRoIHRoZSByZWdpc3RyeS4KLy8gQHBhcmFtIHt1aW50NjR9IG5mZEFwcElkIC0gVGhlIEFwcCBJRCB0byBiZSBhc3NvY2lhdGVkIHdpdGggdGhlIHJlZ2lzdHJ5LgovLyBAcGFyYW0ge2Jvb2xlYW59IGlzTWlncmF0aW5nIC0gd2hldGhlciB0aGlzIGlzIHBhcnQgb2YgdjEtPnYyIG1pZ3JhdGlvbiBvciBtaW50aW5nLgovLyBAcmV0dXJuIHt2b2lkfQphc3NpZ25OYW1lVG9SZWdpc3RyeToKCXByb3RvIDQgMAoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlYyAwIC8vIDB4CgoJLy8gKmlmNTBfY29uZGl0aW9uCgkvLyBjb250cmFjdHMvTkZEUmVnaXN0cnkuYWxnby50czoxMDMwCgkvLyAhaXNNaWdyYXRpbmcKCWZyYW1lX2RpZyAtNCAvLyBpc01pZ3JhdGluZzogYm9vbGVhbgoJIQoJYnogKmlmNTBfZW5kCgoJLy8gKmlmNTBfY29uc2VxdWVudAoJLy8gY29udHJhY3RzL05GRFJlZ2lzdHJ5LmFsZ28udHM6MTAzMgoJLy8gYXNzZXJ0KCF0aGlzLmRvZXNWMU5GREV4aXN0KG5mZE5hbWUpLCAnTkZEIGFscmVhZHkgZXhpc3RzIHdpdGggdGhpcyBuYW1lJykKCWZyYW1lX2RpZyAtMSAvLyBuZmROYW1lOiBieXRlcwoJY2FsbHN1YiBkb2VzVjFORkRFeGlzdAoJIQoKCS8vIE5GRCBhbHJlYWR5IGV4aXN0cyB3aXRoIHRoaXMgbmFtZQoJYXNzZXJ0CgoqaWY1MF9lbmQ6CgkvLyBjb250cmFjdHMvTkZEUmVnaXN0cnkuYWxnby50czoxMDM1CgkvLyBib3hOYW1lID0gdGhpcy5nZXRCb3hOYW1lKG5mZE5hbWUpCglmcmFtZV9kaWcgLTEgLy8gbmZkTmFtZTogYnl0ZXMKCWNhbGxzdWIgZ2V0Qm94TmFtZQoJZnJhbWVfYnVyeSAwIC8vIGJveE5hbWU6IGJ5dGVbXQoKCS8vIGNvbnRyYWN0cy9ORkRSZWdpc3RyeS5hbGdvLnRzOjEwMzYKCS8vIGFzc2VydChuZmRBc2FJZCkKCWZyYW1lX2RpZyAtMiAvLyBuZmRBc2FJZDogdWludDY0Cglhc3NlcnQKCgkvLyBjb250cmFjdHMvTkZEUmVnaXN0cnkuYWxnby50czoxMDM3CgkvLyBhc3NlcnQobmZkQXBwSWQpCglmcmFtZV9kaWcgLTMgLy8gbmZkQXBwSWQ6IHVpbnQ2NAoJYXNzZXJ0CgoJLy8gY29udHJhY3RzL05GRFJlZ2lzdHJ5LmFsZ28udHM6MTAzOAoJLy8gYXNzZXJ0KCF0aGlzLmJveGVzKGJveE5hbWUpLmV4aXN0cywgJ05GRCBoYXMgYWxyZWFkeSBiZWVuIG1pbnRlZCEnKQoJZnJhbWVfZGlnIDAgLy8gYm94TmFtZTogYnl0ZVtdCglib3hfbGVuCglzd2FwCglwb3AKCSEKCgkvLyBORkQgaGFzIGFscmVhZHkgYmVlbiBtaW50ZWQhCglhc3NlcnQKCgkvLyBjb250cmFjdHMvTkZEUmVnaXN0cnkuYWxnby50czoxMDM5CgkvLyB0aGlzLmJveGVzKGJveE5hbWUpLnZhbHVlID0gY29uY2F0KGl0b2IobmZkQXNhSWQpLCBpdG9iKG5mZEFwcElkKSkKCWZyYW1lX2RpZyAwIC8vIGJveE5hbWU6IGJ5dGVbXQoJZnJhbWVfZGlnIC0yIC8vIG5mZEFzYUlkOiB1aW50NjQKCWl0b2IKCWZyYW1lX2RpZyAtMyAvLyBuZmRBcHBJZDogdWludDY0CglpdG9iCgljb25jYXQKCWJveF9wdXQKCXJldHN1YgoKLy8gZG9lc1YxTkZERXhpc3QobmZkTmFtZTogYnl0ZXMpOiBib29sZWFuCmRvZXNWMU5GREV4aXN0OgoJcHJvdG8gMSAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDAgLy8gMHgKCgkvLyBjb250cmFjdHMvTkZEUmVnaXN0cnkuYWxnby50czoxMDQ2CgkvLyBwcm9nSGFzaCA9IEFkZHJlc3MuZnJvbUJ5dGVzKHRoaXMuZ2V0THNpZ0FkZHJlc3MoJ25hbWUvJyArIG5mZE5hbWUpKQoJYnl0ZWMgMTMgLy8gICJuYW1lLyIKCWZyYW1lX2RpZyAtMSAvLyBuZmROYW1lOiBieXRlcwoJY29uY2F0CgljYWxsc3ViIGdldExzaWdBZGRyZXNzCglmcmFtZV9idXJ5IDAgLy8gcHJvZ0hhc2g6IGFkZHJlc3MKCgkvLyAqaWY1MV9jb25kaXRpb24KCS8vIGNvbnRyYWN0cy9ORkRSZWdpc3RyeS5hbGdvLnRzOjEwNDcKCS8vICFwcm9nSGFzaC5pc09wdGVkSW5Ub0FwcCh0aGlzLmFwcCkKCWZyYW1lX2RpZyAwIC8vIHByb2dIYXNoOiBhZGRyZXNzCgl0eG5hIEFwcGxpY2F0aW9ucyAwCglhcHBfb3B0ZWRfaW4KCSEKCWJ6ICppZjUxX2VuZAoKCS8vICppZjUxX2NvbnNlcXVlbnQKCS8vIGNvbnRyYWN0cy9ORkRSZWdpc3RyeS5hbGdvLnRzOjEwNDgKCS8vIHJldHVybiBmYWxzZQoJaW50YyAwIC8vIDAKCWIgKmRvZXNWMU5GREV4aXN0KnJldHVybgoKKmlmNTFfZW5kOgoJLy8gY29udHJhY3RzL05GRFJlZ2lzdHJ5LmFsZ28udHM6MTA1MAoJLy8gcmV0dXJuIHRoaXMubG9jYWxTdGF0ZShwcm9nSGFzaCwgUkVHSVNUUllfS0VZX0FQUElEKS5leGlzdHMKCWZyYW1lX2RpZyAwIC8vIHByb2dIYXNoOiBhZGRyZXNzCgl0eG5hIEFwcGxpY2F0aW9ucyAwCglieXRlYyAxNCAvLyAiaS5hcHBpZCIKCWFwcF9sb2NhbF9nZXRfZXgKCXN3YXAKCXBvcAoKKmRvZXNWMU5GREV4aXN0KnJldHVybjoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgovLyBmaW5kSW50QW5kU2V0Rmlyc3Qoa2V5OiBieXRlcywgaW50VmFsOiB1aW50NjQpOiBib29sZWFuCmZpbmRJbnRBbmRTZXRGaXJzdDoKCXByb3RvIDIgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlYyAwIC8vIDB4CglkdXBuIDQKCgkvLyBjb250cmFjdHMvTkZEUmVnaXN0cnkuYWxnby50czoxMDU1CgkvLyBieXRlc09mU2V0ID0gdGhpcy5ib3hlcyhrZXkpLnZhbHVlCglmcmFtZV9kaWcgLTEgLy8ga2V5OiBieXRlcwoJYm94X2dldAoKCS8vIGJveCB2YWx1ZSBkb2VzIG5vdCBleGlzdDogdGhpcy5ib3hlcyhrZXkpLnZhbHVlCglhc3NlcnQKCWZyYW1lX2J1cnkgMCAvLyBieXRlc09mU2V0OiBieXRlW10KCgkvLyBjb250cmFjdHMvTkZEUmVnaXN0cnkuYWxnby50czoxMDU3CgkvLyBhc3NlcnQoaW50VmFsICE9PSAwKQoJZnJhbWVfZGlnIC0yIC8vIGludFZhbDogdWludDY0CglpbnRjIDAgLy8gMAoJIT0KCWFzc2VydAoKCS8vIGNvbnRyYWN0cy9ORkRSZWdpc3RyeS5hbGdvLnRzOjEwNTkKCS8vIGFzc2VydChieXRlc09mU2V0Lmxlbmd0aCA+PSAxNiwgImludCAoYXBwaWQpICdzZXQnIHNob3VsZCBhbHJlYWR5IGhhdmUgYXQgbGVhc3QgdHdvIHZhbHVlcyIpCglmcmFtZV9kaWcgMCAvLyBieXRlc09mU2V0OiBieXRlW10KCWxlbgoJaW50YyAxMCAvLyAxNgoJPj0KCgkvLyBpbnQgKGFwcGlkKSAnc2V0JyBzaG91bGQgYWxyZWFkeSBoYXZlIGF0IGxlYXN0IHR3byB2YWx1ZXMKCWFzc2VydAoKCS8vICppZjUyX2NvbmRpdGlvbgoJLy8gY29udHJhY3RzL05GRFJlZ2lzdHJ5LmFsZ28udHM6MTA2MgoJLy8gZXh0cmFjdFVpbnQ2NChieXRlc09mU2V0LCAwKSA9PT0gaW50VmFsCglmcmFtZV9kaWcgMCAvLyBieXRlc09mU2V0OiBieXRlW10KCWludGMgMCAvLyAwCglleHRyYWN0X3VpbnQ2NAoJZnJhbWVfZGlnIC0yIC8vIGludFZhbDogdWludDY0Cgk9PQoJYnogKmlmNTJfZW5kCgoJLy8gKmlmNTJfY29uc2VxdWVudAoJLy8gY29udHJhY3RzL05GRFJlZ2lzdHJ5LmFsZ28udHM6MTA2MgoJLy8gcmV0dXJuIHRydWUKCWludGMgMSAvLyAxCgliICpmaW5kSW50QW5kU2V0Rmlyc3QqcmV0dXJuCgoqaWY1Ml9lbmQ6CgkvLyBjb250cmFjdHMvTkZEUmVnaXN0cnkuYWxnby50czoxMDY0CgkvLyBsaW1pdCA9IGJ5dGVzT2ZTZXQubGVuZ3RoIC8gOAoJZnJhbWVfZGlnIDAgLy8gYnl0ZXNPZlNldDogYnl0ZVtdCglsZW4KCWludGMgMiAvLyA4CgkvCglmcmFtZV9idXJ5IDEgLy8gbGltaXQ6IHVpbnQ2NAoKCS8vIGNvbnRyYWN0cy9ORkRSZWdpc3RyeS5hbGdvLnRzOjEwNjUKCS8vIGZvdW5kU2xvdCA9IDAKCWludGMgMCAvLyAwCglmcmFtZV9idXJ5IDIgLy8gZm91bmRTbG90OiB1aW50NjQKCgkvLyBjb250cmFjdHMvTkZEUmVnaXN0cnkuYWxnby50czoxMDY3CgkvLyBmb3IgKGxldCBpID0gMDsgaSA8IGxpbWl0OyBpICs9IDEpCglpbnRjIDAgLy8gMAoJZnJhbWVfYnVyeSAzIC8vIGk6IHVpbnQ2NAoKKmZvcl80OgoJLy8gY29udHJhY3RzL05GRFJlZ2lzdHJ5LmFsZ28udHM6MTA2NwoJLy8gaSA8IGxpbWl0CglmcmFtZV9kaWcgMyAvLyBpOiB1aW50NjQKCWZyYW1lX2RpZyAxIC8vIGxpbWl0OiB1aW50NjQKCTwKCWJ6ICpmb3JfNF9lbmQKCgkvLyAqaWY1M19jb25kaXRpb24KCS8vIGNvbnRyYWN0cy9ORkRSZWdpc3RyeS5hbGdvLnRzOjEwNjgKCS8vIGV4dHJhY3RVaW50NjQoYnl0ZXNPZlNldCwgaSAqIDgpID09PSBpbnRWYWwKCWZyYW1lX2RpZyAwIC8vIGJ5dGVzT2ZTZXQ6IGJ5dGVbXQoJZnJhbWVfZGlnIDMgLy8gaTogdWludDY0CglpbnRjIDIgLy8gOAoJKgoJZXh0cmFjdF91aW50NjQKCWZyYW1lX2RpZyAtMiAvLyBpbnRWYWw6IHVpbnQ2NAoJPT0KCWJ6ICppZjUzX2VuZAoKCS8vICppZjUzX2NvbnNlcXVlbnQKCS8vIGNvbnRyYWN0cy9ORkRSZWdpc3RyeS5hbGdvLnRzOjEwNjkKCS8vIGZvdW5kU2xvdCA9IGkKCWZyYW1lX2RpZyAzIC8vIGk6IHVpbnQ2NAoJZnJhbWVfYnVyeSAyIC8vIGZvdW5kU2xvdDogdWludDY0CgliICpmb3JfNF9lbmQKCippZjUzX2VuZDoKCipmb3JfNF9jb250aW51ZToKCS8vIGNvbnRyYWN0cy9ORkRSZWdpc3RyeS5hbGdvLnRzOjEwNjcKCS8vIGkgKz0gMQoJZnJhbWVfZGlnIDMgLy8gaTogdWludDY0CglpbnRjIDEgLy8gMQoJKwoJZnJhbWVfYnVyeSAzIC8vIGk6IHVpbnQ2NAoJYiAqZm9yXzQKCipmb3JfNF9lbmQ6CgkvLyBjb250cmFjdHMvTkZEUmVnaXN0cnkuYWxnby50czoxMDczCgkvLyBhc3NlcnQoZm91bmRTbG90ICE9PSAwLCAnaW50IChhcHAgaWQpIG11c3QgYmUgZm91bmQgaW4gc2V0IGluIG9yZGVyIHRvIG1vdmUgaXQnKQoJZnJhbWVfZGlnIDIgLy8gZm91bmRTbG90OiB1aW50NjQKCWludGMgMCAvLyAwCgkhPQoKCS8vIGludCAoYXBwIGlkKSBtdXN0IGJlIGZvdW5kIGluIHNldCBpbiBvcmRlciB0byBtb3ZlIGl0Cglhc3NlcnQKCgkvLyBjb250cmFjdHMvTkZEUmVnaXN0cnkuYWxnby50czoxMDc1CgkvLyBpbnRBdEZyb250ID0gZXh0cmFjdFVpbnQ2NChieXRlc09mU2V0LCAwKQoJZnJhbWVfZGlnIDAgLy8gYnl0ZXNPZlNldDogYnl0ZVtdCglpbnRjIDAgLy8gMAoJZXh0cmFjdF91aW50NjQKCWZyYW1lX2J1cnkgNCAvLyBpbnRBdEZyb250OiB1aW50NjQKCgkvLyBjb250cmFjdHMvTkZEUmVnaXN0cnkuYWxnby50czoxMDc3CgkvLyBieXRlc09mU2V0ID0gcmVwbGFjZTMoYnl0ZXNPZlNldCwgMCwgaXRvYihpbnRWYWwpKQoJZnJhbWVfZGlnIDAgLy8gYnl0ZXNPZlNldDogYnl0ZVtdCglpbnRjIDAgLy8gMAoJZnJhbWVfZGlnIC0yIC8vIGludFZhbDogdWludDY0CglpdG9iCglyZXBsYWNlMwoJZnJhbWVfYnVyeSAwIC8vIGJ5dGVzT2ZTZXQ6IGJ5dGVbXQoKCS8vIGNvbnRyYWN0cy9ORkRSZWdpc3RyeS5hbGdvLnRzOjEwNzkKCS8vIHRoaXMuYm94ZXMoa2V5KS52YWx1ZSA9IHJlcGxhY2UzKGJ5dGVzT2ZTZXQsIGZvdW5kU2xvdCAqIDgsIGl0b2IoaW50QXRGcm9udCkpCglmcmFtZV9kaWcgLTEgLy8ga2V5OiBieXRlcwoJZnJhbWVfZGlnIDAgLy8gYnl0ZXNPZlNldDogYnl0ZVtdCglmcmFtZV9kaWcgMiAvLyBmb3VuZFNsb3Q6IHVpbnQ2NAoJaW50YyAyIC8vIDgKCSoKCWZyYW1lX2RpZyA0IC8vIGludEF0RnJvbnQ6IHVpbnQ2NAoJaXRvYgoJcmVwbGFjZTMKCWJveF9wdXQKCgkvLyBjb250cmFjdHMvTkZEUmVnaXN0cnkuYWxnby50czoxMDgwCgkvLyByZXR1cm4gdHJ1ZQoJaW50YyAxIC8vIDEKCipmaW5kSW50QW5kU2V0Rmlyc3QqcmV0dXJuOgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCgoJLy8gcG9wIGFsbCBsb2NhbCB2YXJpYWJsZXMgZnJvbSB0aGUgc3RhY2sKCXBvcG4gNAoJcmV0c3ViCgovLyByZW1vdmVJbnRGcm9tU2V0KGtleTogYnl0ZXMsIGludFZhbDogdWludDY0KTogYm9vbGVhbgpyZW1vdmVJbnRGcm9tU2V0OgoJcHJvdG8gMiAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDAgLy8gMHgKCWR1cG4gMgoKCS8vIGNvbnRyYWN0cy9ORkRSZWdpc3RyeS5hbGdvLnRzOjEwODQKCS8vIGJveERhdGEgPSB0aGlzLmJveGVzKGtleSkudmFsdWUKCWZyYW1lX2RpZyAtMSAvLyBrZXk6IGJ5dGVzCglib3hfZ2V0CgoJLy8gYm94IHZhbHVlIGRvZXMgbm90IGV4aXN0OiB0aGlzLmJveGVzKGtleSkudmFsdWUKCWFzc2VydAoJZnJhbWVfYnVyeSAwIC8vIGJveERhdGE6IGJ5dGVbXQoKCS8vIGNvbnRyYWN0cy9ORkRSZWdpc3RyeS5hbGdvLnRzOjEwODUKCS8vIGxpbWl0ID0gYm94RGF0YS5sZW5ndGggLyA4CglmcmFtZV9kaWcgMCAvLyBib3hEYXRhOiBieXRlW10KCWxlbgoJaW50YyAyIC8vIDgKCS8KCWZyYW1lX2J1cnkgMSAvLyBsaW1pdDogdWludDY0CgoJLy8gY29udHJhY3RzL05GRFJlZ2lzdHJ5LmFsZ28udHM6MTA4NwoJLy8gZm9yIChsZXQgaSA9IDA7IGkgPCBsaW1pdDsgaSArPSAxKQoJaW50YyAwIC8vIDAKCWZyYW1lX2J1cnkgMiAvLyBpOiB1aW50NjQKCipmb3JfNToKCS8vIGNvbnRyYWN0cy9ORkRSZWdpc3RyeS5hbGdvLnRzOjEwODcKCS8vIGkgPCBsaW1pdAoJZnJhbWVfZGlnIDIgLy8gaTogdWludDY0CglmcmFtZV9kaWcgMSAvLyBsaW1pdDogdWludDY0Cgk8CglieiAqZm9yXzVfZW5kCgoJLy8gKmlmNTRfY29uZGl0aW9uCgkvLyBjb250cmFjdHMvTkZEUmVnaXN0cnkuYWxnby50czoxMDg4CgkvLyBleHRyYWN0VWludDY0KGJveERhdGEsIGkgKiA4KSA9PT0gaW50VmFsCglmcmFtZV9kaWcgMCAvLyBib3hEYXRhOiBieXRlW10KCWZyYW1lX2RpZyAyIC8vIGk6IHVpbnQ2NAoJaW50YyAyIC8vIDgKCSoKCWV4dHJhY3RfdWludDY0CglmcmFtZV9kaWcgLTIgLy8gaW50VmFsOiB1aW50NjQKCT09CglieiAqaWY1NF9lbmQKCgkvLyAqaWY1NF9jb25zZXF1ZW50CgkvLyAqaWY1NV9jb25kaXRpb24KCS8vIGNvbnRyYWN0cy9ORkRSZWdpc3RyeS5hbGdvLnRzOjEwODkKCS8vIGkgPT09IGxpbWl0IC0gMQoJZnJhbWVfZGlnIDIgLy8gaTogdWludDY0CglmcmFtZV9kaWcgMSAvLyBsaW1pdDogdWludDY0CglpbnRjIDEgLy8gMQoJLQoJPT0KCWJ6ICppZjU1X2VuZAoKCS8vICppZjU1X2NvbnNlcXVlbnQKCS8vIGNvbnRyYWN0cy9ORkRSZWdpc3RyeS5hbGdvLnRzOjEwOTIKCS8vIHRoaXMuYm94ZXMoa2V5KS5kZWxldGUoKQoJZnJhbWVfZGlnIC0xIC8vIGtleTogYnl0ZXMKCWJveF9kZWwKCgkvLyAqaWY1Nl9jb25kaXRpb24KCS8vIGNvbnRyYWN0cy9ORkRSZWdpc3RyeS5hbGdvLnRzOjEwOTMKCS8vIGkgPiAwCglmcmFtZV9kaWcgMiAvLyBpOiB1aW50NjQKCWludGMgMCAvLyAwCgk+CglieiAqaWY1Nl9lbmQKCgkvLyAqaWY1Nl9jb25zZXF1ZW50CgkvLyBjb250cmFjdHMvTkZEUmVnaXN0cnkuYWxnby50czoxMDk1CgkvLyB0aGlzLmJveGVzKGtleSkudmFsdWUgPSBleHRyYWN0Myhib3hEYXRhLCAwLCBpICogOCkKCWZyYW1lX2RpZyAtMSAvLyBrZXk6IGJ5dGVzCglmcmFtZV9kaWcgMCAvLyBib3hEYXRhOiBieXRlW10KCWludGMgMCAvLyAwCglmcmFtZV9kaWcgMiAvLyBpOiB1aW50NjQKCWludGMgMiAvLyA4CgkqCglleHRyYWN0MwoJYm94X3B1dAoKKmlmNTZfZW5kOgoJLy8gY29udHJhY3RzL05GRFJlZ2lzdHJ5LmFsZ28udHM6MTA5NwoJLy8gcmV0dXJuIHRydWUKCWludGMgMSAvLyAxCgliICpyZW1vdmVJbnRGcm9tU2V0KnJldHVybgoKKmlmNTVfZW5kOgoJLy8gY29udHJhY3RzL05GRFJlZ2lzdHJ5LmFsZ28udHM6MTEwMAoJLy8gdGhpcy5ib3hlcyhrZXkpLnJlcGxhY2UoaSAqIDgsIGl0b2IoMCkpCglmcmFtZV9kaWcgLTEgLy8ga2V5OiBieXRlcwoJZnJhbWVfZGlnIDIgLy8gaTogdWludDY0CglpbnRjIDIgLy8gOAoJKgoJYnl0ZWMgNCAvLyAweDAwMDAwMDAwMDAwMDAwMDAKCWJveF9yZXBsYWNlCgoJLy8gY29udHJhY3RzL05GRFJlZ2lzdHJ5LmFsZ28udHM6MTEwMQoJLy8gcmV0dXJuIHRydWUKCWludGMgMSAvLyAxCgliICpyZW1vdmVJbnRGcm9tU2V0KnJldHVybgoKKmlmNTRfZW5kOgoKKmZvcl81X2NvbnRpbnVlOgoJLy8gY29udHJhY3RzL05GRFJlZ2lzdHJ5LmFsZ28udHM6MTA4NwoJLy8gaSArPSAxCglmcmFtZV9kaWcgMiAvLyBpOiB1aW50NjQKCWludGMgMSAvLyAxCgkrCglmcmFtZV9idXJ5IDIgLy8gaTogdWludDY0CgliICpmb3JfNQoKKmZvcl81X2VuZDoKCS8vIGNvbnRyYWN0cy9ORkRSZWdpc3RyeS5hbGdvLnRzOjExMDUKCS8vIHJldHVybiBmYWxzZQoJaW50YyAwIC8vIDAKCipyZW1vdmVJbnRGcm9tU2V0KnJldHVybjoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoKCS8vIHBvcCBhbGwgbG9jYWwgdmFyaWFibGVzIGZyb20gdGhlIHN0YWNrCglwb3BuIDIKCXJldHN1YgoKLy8gdjFSZXBsYWNlSW50QXRQb3MoaW50VmFsOiB1aW50NjQsIGJ5dGVzT2ZTZXQ6IGJ5dGVzLCBwb3M6IHVpbnQ2NCk6IGJ5dGVzCnYxUmVwbGFjZUludEF0UG9zOgoJcHJvdG8gMyAxCgoJLy8gY29udHJhY3RzL05GRFJlZ2lzdHJ5LmFsZ28udHM6MTEwOQoJLy8gcmV0dXJuIHN1YnN0cmluZzMoYnl0ZXNPZlNldCwgMCwgcG9zKSArIGl0b2IoaW50VmFsKSArIHN1YnN0cmluZzMoYnl0ZXNPZlNldCwgcG9zICsgOCwgYnl0ZXNPZlNldC5sZW5ndGgpCglmcmFtZV9kaWcgLTIgLy8gYnl0ZXNPZlNldDogYnl0ZXMKCWludGMgMCAvLyAwCglmcmFtZV9kaWcgLTMgLy8gcG9zOiB1aW50NjQKCXN1YnN0cmluZzMKCWZyYW1lX2RpZyAtMSAvLyBpbnRWYWw6IHVpbnQ2NAoJaXRvYgoJY29uY2F0CglmcmFtZV9kaWcgLTIgLy8gYnl0ZXNPZlNldDogYnl0ZXMKCWZyYW1lX2RpZyAtMyAvLyBwb3M6IHVpbnQ2NAoJaW50YyAyIC8vIDgKCSsKCWZyYW1lX2RpZyAtMiAvLyBieXRlc09mU2V0OiBieXRlcwoJbGVuCglzdWJzdHJpbmczCgljb25jYXQKCXJldHN1YgoKLy8gcmVtb3ZlSW50RnJvbVYxU2V0KGFkZHI6IEFkZHJlc3MsIGtleTogYnl0ZXMsIGludFZhbDogdWludDY0KTogYm9vbGVhbgpyZW1vdmVJbnRGcm9tVjFTZXQ6Cglwcm90byAzIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMCAvLyAweAoJZHVwbiAyCgoJLy8gY29udHJhY3RzL05GRFJlZ2lzdHJ5LmFsZ28udHM6MTExMwoJLy8gYnl0ZXNPZlNldCA9IHRoaXMubG9jYWxTdGF0ZShhZGRyLCBrZXkpLnZhbHVlCglmcmFtZV9kaWcgLTEgLy8gYWRkcjogQWRkcmVzcwoJZnJhbWVfZGlnIC0yIC8vIGtleTogYnl0ZXMKCWFwcF9sb2NhbF9nZXQKCWZyYW1lX2J1cnkgMCAvLyBieXRlc09mU2V0OiBieXRlW10KCgkvLyBjb250cmFjdHMvTkZEUmVnaXN0cnkuYWxnby50czoxMTE0CgkvLyBsaW1pdCA9IGJ5dGVzT2ZTZXQubGVuZ3RoIC8gOAoJZnJhbWVfZGlnIDAgLy8gYnl0ZXNPZlNldDogYnl0ZVtdCglsZW4KCWludGMgMiAvLyA4CgkvCglmcmFtZV9idXJ5IDEgLy8gbGltaXQ6IHVpbnQ2NAoKCS8vIGNvbnRyYWN0cy9ORkRSZWdpc3RyeS5hbGdvLnRzOjExMTYKCS8vIGZvciAobGV0IGkgPSAwOyBpIDwgbGltaXQ7IGkgKz0gMSkKCWludGMgMCAvLyAwCglmcmFtZV9idXJ5IDIgLy8gaTogdWludDY0CgoqZm9yXzY6CgkvLyBjb250cmFjdHMvTkZEUmVnaXN0cnkuYWxnby50czoxMTE2CgkvLyBpIDwgbGltaXQKCWZyYW1lX2RpZyAyIC8vIGk6IHVpbnQ2NAoJZnJhbWVfZGlnIDEgLy8gbGltaXQ6IHVpbnQ2NAoJPAoJYnogKmZvcl82X2VuZAoKCS8vICppZjU3X2NvbmRpdGlvbgoJLy8gY29udHJhY3RzL05GRFJlZ2lzdHJ5LmFsZ28udHM6MTExNwoJLy8gZXh0cmFjdFVpbnQ2NChieXRlc09mU2V0LCBpICogOCkgPT09IGludFZhbAoJZnJhbWVfZGlnIDAgLy8gYnl0ZXNPZlNldDogYnl0ZVtdCglmcmFtZV9kaWcgMiAvLyBpOiB1aW50NjQKCWludGMgMiAvLyA4CgkqCglleHRyYWN0X3VpbnQ2NAoJZnJhbWVfZGlnIC0zIC8vIGludFZhbDogdWludDY0Cgk9PQoJYnogKmlmNTdfZW5kCgoJLy8gKmlmNTdfY29uc2VxdWVudAoJLy8gY29udHJhY3RzL05GRFJlZ2lzdHJ5LmFsZ28udHM6MTExOAoJLy8gdGhpcy5sb2NhbFN0YXRlKGFkZHIsIGtleSkudmFsdWUgPSB0aGlzLnYxUmVwbGFjZUludEF0UG9zKDAsIGJ5dGVzT2ZTZXQsIGkgKiA4KQoJZnJhbWVfZGlnIC0xIC8vIGFkZHI6IEFkZHJlc3MKCWZyYW1lX2RpZyAtMiAvLyBrZXk6IGJ5dGVzCglmcmFtZV9kaWcgMiAvLyBpOiB1aW50NjQKCWludGMgMiAvLyA4CgkqCglmcmFtZV9kaWcgMCAvLyBieXRlc09mU2V0OiBieXRlW10KCWludGMgMCAvLyAwCgljYWxsc3ViIHYxUmVwbGFjZUludEF0UG9zCglhcHBfbG9jYWxfcHV0CgoJLy8gY29udHJhY3RzL05GRFJlZ2lzdHJ5LmFsZ28udHM6MTExOQoJLy8gcmV0dXJuIHRydWUKCWludGMgMSAvLyAxCgliICpyZW1vdmVJbnRGcm9tVjFTZXQqcmV0dXJuCgoqaWY1N19lbmQ6CgoqZm9yXzZfY29udGludWU6CgkvLyBjb250cmFjdHMvTkZEUmVnaXN0cnkuYWxnby50czoxMTE2CgkvLyBpICs9IDEKCWZyYW1lX2RpZyAyIC8vIGk6IHVpbnQ2NAoJaW50YyAxIC8vIDEKCSsKCWZyYW1lX2J1cnkgMiAvLyBpOiB1aW50NjQKCWIgKmZvcl82CgoqZm9yXzZfZW5kOgoJLy8gY29udHJhY3RzL05GRFJlZ2lzdHJ5LmFsZ28udHM6MTEyMwoJLy8gcmV0dXJuIGZhbHNlCglpbnRjIDAgLy8gMAoKKnJlbW92ZUludEZyb21WMVNldCpyZXR1cm46CgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCgkvLyBwb3AgYWxsIGxvY2FsIHZhcmlhYmxlcyBmcm9tIHRoZSBzdGFjawoJcG9wbiAyCglyZXRzdWIKCi8vIHJlbW92ZUludEZyb21WMU11bHRpc2V0KGFkZHI6IEFkZHJlc3MsIGtleVByZWZpeDogYnl0ZXMsIG1heEtleXM6IHVpbnQ2NCwgaW50VmFsOiB1aW50NjQpOiBib29sZWFuCnJlbW92ZUludEZyb21WMU11bHRpc2V0OgoJcHJvdG8gNCAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDAgLy8gMHgKCgkvLyBjb250cmFjdHMvTkZEUmVnaXN0cnkuYWxnby50czoxMTI3CgkvLyBmb3IgKGxldCBpID0gMDsgaSA8IG1heEtleXM7IGkgKz0gMSkKCWludGMgMCAvLyAwCglmcmFtZV9idXJ5IDAgLy8gaTogdWludDY0CgoqZm9yXzc6CgkvLyBjb250cmFjdHMvTkZEUmVnaXN0cnkuYWxnby50czoxMTI3CgkvLyBpIDwgbWF4S2V5cwoJZnJhbWVfZGlnIDAgLy8gaTogdWludDY0CglmcmFtZV9kaWcgLTMgLy8gbWF4S2V5czogdWludDY0Cgk8CglieiAqZm9yXzdfZW5kCgoJLy8gKmlmNThfY29uZGl0aW9uCgkvLyBjb250cmFjdHMvTkZEUmVnaXN0cnkuYWxnby50czoxMTI4CgkvLyB0aGlzLnJlbW92ZUludEZyb21WMVNldChhZGRyLCBrZXlQcmVmaXggKyBpLnRvU3RyaW5nKCksIGludFZhbCkKCWZyYW1lX2RpZyAtNCAvLyBpbnRWYWw6IHVpbnQ2NAoJZnJhbWVfZGlnIC0yIC8vIGtleVByZWZpeDogYnl0ZXMKCWZyYW1lX2RpZyAwIC8vIGk6IHVpbnQ2NAoJY2FsbHN1YiAqaXRvYQoJY29uY2F0CglmcmFtZV9kaWcgLTEgLy8gYWRkcjogQWRkcmVzcwoJY2FsbHN1YiByZW1vdmVJbnRGcm9tVjFTZXQKCWJ6ICppZjU4X2VuZAoKCS8vICppZjU4X2NvbnNlcXVlbnQKCS8vIGNvbnRyYWN0cy9ORkRSZWdpc3RyeS5hbGdvLnRzOjExMjgKCS8vIHJldHVybiB0cnVlCglpbnRjIDEgLy8gMQoJYiAqcmVtb3ZlSW50RnJvbVYxTXVsdGlzZXQqcmV0dXJuCgoqaWY1OF9lbmQ6CgoqZm9yXzdfY29udGludWU6CgkvLyBjb250cmFjdHMvTkZEUmVnaXN0cnkuYWxnby50czoxMTI3CgkvLyBpICs9IDEKCWZyYW1lX2RpZyAwIC8vIGk6IHVpbnQ2NAoJaW50YyAxIC8vIDEKCSsKCWZyYW1lX2J1cnkgMCAvLyBpOiB1aW50NjQKCWIgKmZvcl83CgoqZm9yXzdfZW5kOgoJLy8gY29udHJhY3RzL05GRFJlZ2lzdHJ5LmFsZ28udHM6MTEzMQoJLy8gcmV0dXJuIGZhbHNlCglpbnRjIDAgLy8gMAoKKnJlbW92ZUludEZyb21WMU11bHRpc2V0KnJldHVybjoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoJcmV0c3ViCgovLyBzd2VlcER1c3QoKTogdm9pZApzd2VlcER1c3Q6Cglwcm90byAwIDAKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMCAvLyAweAoJZHVwCgoJLy8gY29udHJhY3RzL05GRFJlZ2lzdHJ5LmFsZ28udHM6MTE0MAoJLy8gYmFsID0gdGhpcy5hcHAuYWRkcmVzcy5iYWxhbmNlCglnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwoJYWNjdF9wYXJhbXNfZ2V0IEFjY3RCYWxhbmNlCglwb3AKCWZyYW1lX2J1cnkgMCAvLyBiYWw6IHVpbnQ2NAoKCS8vIGNvbnRyYWN0cy9ORkRSZWdpc3RyeS5hbGdvLnRzOjExNDEKCS8vIG1iciA9IHRoaXMuYXBwLmFkZHJlc3MubWluQmFsYW5jZQoJZ2xvYmFsIEN1cnJlbnRBcHBsaWNhdGlvbkFkZHJlc3MKCWFjY3RfcGFyYW1zX2dldCBBY2N0TWluQmFsYW5jZQoJcG9wCglmcmFtZV9idXJ5IDEgLy8gbWJyOiB1aW50NjQKCgkvLyAqaWY1OV9jb25kaXRpb24KCS8vIGNvbnRyYWN0cy9ORkRSZWdpc3RyeS5hbGdvLnRzOjExNDIKCS8vIGJhbCA+IG1icgoJZnJhbWVfZGlnIDAgLy8gYmFsOiB1aW50NjQKCWZyYW1lX2RpZyAxIC8vIG1icjogdWludDY0Cgk+CglieiAqaWY1OV9lbmQKCgkvLyAqaWY1OV9jb25zZXF1ZW50CgkvLyBjb250cmFjdHMvTkZEUmVnaXN0cnkuYWxnby50czoxMTQzCgkvLyBzZW5kUGF5bWVudCh7CgkvLyAgICAgICAgICAgICAgICAgYW1vdW50OiBiYWwgLSBtYnIsCgkvLyAgICAgICAgICAgICAgICAgcmVjZWl2ZXI6IEFkZHJlc3MuZnJvbUJ5dGVzKHRoaXMudHhuLmFwcGxpY2F0aW9uQXJncyFbMV0pLAoJLy8gICAgICAgICAgICAgICAgIG5vdGU6ICdzd2VlcER1c3QnLAoJLy8gICAgICAgICAgICAgfSkKCWl0eG5fYmVnaW4KCWludGMgMSAvLyAgcGF5CglpdHhuX2ZpZWxkIFR5cGVFbnVtCgoJLy8gY29udHJhY3RzL05GRFJlZ2lzdHJ5LmFsZ28udHM6MTE0NAoJLy8gYW1vdW50OiBiYWwgLSBtYnIKCWZyYW1lX2RpZyAwIC8vIGJhbDogdWludDY0CglmcmFtZV9kaWcgMSAvLyBtYnI6IHVpbnQ2NAoJLQoJaXR4bl9maWVsZCBBbW91bnQKCgkvLyBjb250cmFjdHMvTkZEUmVnaXN0cnkuYWxnby50czoxMTQ1CgkvLyByZWNlaXZlcjogQWRkcmVzcy5mcm9tQnl0ZXModGhpcy50eG4uYXBwbGljYXRpb25BcmdzIVsxXSkKCXR4biBBcHBsaWNhdGlvbkFyZ3MgMQoJaXR4bl9maWVsZCBSZWNlaXZlcgoKCS8vIGNvbnRyYWN0cy9ORkRSZWdpc3RyeS5hbGdvLnRzOjExNDYKCS8vIG5vdGU6ICdzd2VlcER1c3QnCglwdXNoYnl0ZXMgMHg3Mzc3NjU2NTcwNDQ3NTczNzQgLy8gInN3ZWVwRHVzdCIKCWl0eG5fZmllbGQgTm90ZQoKCS8vIEZlZSBmaWVsZCBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIDAKCWludGMgMCAvLyAwCglpdHhuX2ZpZWxkIEZlZQoKCS8vIFN1Ym1pdCBpbm5lciB0cmFuc2FjdGlvbgoJaXR4bl9zdWJtaXQKCippZjU5X2VuZDoKCXJldHN1YgoKLy8gbnVtTGV0dGVyc0luTmZkKG5mZE5hbWU6IHN0cmluZyk6IG5mZExldHRlcnNJbmZvCm51bUxldHRlcnNJbk5mZDoKCXByb3RvIDEgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlYyAwIC8vIDB4CglkdXBuIDYKCgkvLyBjb250cmFjdHMvTkZEUmVnaXN0cnkuYWxnby50czoxMTY0CgkvLyBpbnB1dExlbmd0aCA9IGxlbihuZmROYW1lKQoJZnJhbWVfZGlnIC0xIC8vIG5mZE5hbWU6IHN0cmluZwoJbGVuCglmcmFtZV9idXJ5IDAgLy8gaW5wdXRMZW5ndGg6IHVpbnQ2NAoKCS8vIGNvbnRyYWN0cy9ORkRSZWdpc3RyeS5hbGdvLnRzOjExNjYKCS8vIGFzc2VydChpbnB1dExlbmd0aCA+PSA2LCAiaWYgbm90IGF0IGxlYXN0IDYgY2hhcnMgY2FuJ3QgYmUgdmFsaWQgLSBtaW5pbXVtIGxlbmd0aCB0byBoYXZlIC5hbGdvIikKCWZyYW1lX2RpZyAwIC8vIGlucHV0TGVuZ3RoOiB1aW50NjQKCWludGMgMyAvLyA2Cgk+PQoKCS8vIGlmIG5vdCBhdCBsZWFzdCA2IGNoYXJzIGNhbid0IGJlIHZhbGlkIC0gbWluaW11bSBsZW5ndGggdG8gaGF2ZSAuYWxnbwoJYXNzZXJ0CgoJLy8gY29udHJhY3RzL05GRFJlZ2lzdHJ5LmFsZ28udHM6MTE2NwoJLy8gYXNzZXJ0KGV4dHJhY3QzKG5mZE5hbWUsIGlucHV0TGVuZ3RoIC0gNSwgNSkgPT09ICcuYWxnbycsICdzdHJpbmcgbXVzdCBlbmQgdy8gLmFsZ28nKQoJZnJhbWVfZGlnIC0xIC8vIG5mZE5hbWU6IHN0cmluZwoJZnJhbWVfZGlnIDAgLy8gaW5wdXRMZW5ndGg6IHVpbnQ2NAoJaW50YyA2IC8vIDUKCS0KCWludGMgNiAvLyA1CglleHRyYWN0MwoJcHVzaGJ5dGVzIDB4MmU2MTZjNjc2ZiAvLyAiLmFsZ28iCgk9PQoKCS8vIHN0cmluZyBtdXN0IGVuZCB3LyAuYWxnbwoJYXNzZXJ0CgoJLy8gY29udHJhY3RzL05GRFJlZ2lzdHJ5LmFsZ28udHM6MTE2OQoJLy8gcmV0VmFsOiBuZmRMZXR0ZXJzSW5mbyA9IHsgaXNTZWdtZW50OiBmYWxzZSwgaWR4T2ZCYXNlbmFtZTogMCwgbnVtQ2hhcnNJbkJhc2VuYW1lOiAwIH0KCWJ5dGVjIDE1IC8vIDB4MDAKCWludGMgMCAvLyAwCglkdXAKCXNldGJpdAoJYnl0ZWMgNCAvLyAweDAwMDAwMDAwMDAwMDAwMDAKCWNvbmNhdAoJYnl0ZWMgNCAvLyAweDAwMDAwMDAwMDAwMDAwMDAKCWNvbmNhdAoJZnJhbWVfYnVyeSAxIC8vIHJldFZhbDogbmZkTGV0dGVyc0luZm8KCgkvLyBjb250cmFjdHMvTkZEUmVnaXN0cnkuYWxnby50czoxMTcwCgkvLyBwZXJpb2RDb3VudCA9IDAKCWludGMgMCAvLyAwCglmcmFtZV9idXJ5IDIgLy8gcGVyaW9kQ291bnQ6IHVpbnQ2NAoKCS8vIGNvbnRyYWN0cy9ORkRSZWdpc3RyeS5hbGdvLnRzOjExNzEKCS8vIGNoYXJDb3VudCA9IDAKCWludGMgMCAvLyAwCglmcmFtZV9idXJ5IDMgLy8gY2hhckNvdW50OiB1aW50NjQKCgkvLyBjb250cmFjdHMvTkZEUmVnaXN0cnkuYWxnby50czoxMTcyCgkvLyBmaXJzdFBlcmlvZElkeCA9IDAKCWludGMgMCAvLyAwCglmcmFtZV9idXJ5IDQgLy8gZmlyc3RQZXJpb2RJZHg6IHVpbnQ2NAoKCS8vIGNvbnRyYWN0cy9ORkRSZWdpc3RyeS5hbGdvLnRzOjExNzQKCS8vIGZvciAobGV0IGkgPSAwOyBpIDwgaW5wdXRMZW5ndGggLSA0OyBpICs9IDEpCglpbnRjIDAgLy8gMAoJZnJhbWVfYnVyeSA1IC8vIGk6IHVpbnQ2NAoKKmZvcl84OgoJLy8gY29udHJhY3RzL05GRFJlZ2lzdHJ5LmFsZ28udHM6MTE3NAoJLy8gaSA8IGlucHV0TGVuZ3RoIC0gNAoJZnJhbWVfZGlnIDUgLy8gaTogdWludDY0CglmcmFtZV9kaWcgMCAvLyBpbnB1dExlbmd0aDogdWludDY0CglpbnRjIDggLy8gNAoJLQoJPAoJYnogKmZvcl84X2VuZAoKCS8vIGNvbnRyYWN0cy9ORkRSZWdpc3RyeS5hbGdvLnRzOjExNzUKCS8vIGJ5dGVWYWwgPSBnZXRieXRlKG5mZE5hbWUsIGkpCglmcmFtZV9kaWcgLTEgLy8gbmZkTmFtZTogc3RyaW5nCglmcmFtZV9kaWcgNSAvLyBpOiB1aW50NjQKCWdldGJ5dGUKCWZyYW1lX2J1cnkgNiAvLyBieXRlVmFsOiB1aW50NjQKCgkvLyAqaWY2MF9jb25kaXRpb24KCS8vIGNvbnRyYWN0cy9ORkRSZWdpc3RyeS5hbGdvLnRzOjExNzcKCS8vIGJ5dGVWYWwgPT09IEFTQ0lJX1BFUklPRAoJZnJhbWVfZGlnIDYgLy8gYnl0ZVZhbDogdWludDY0CglwdXNoaW50IDQ2Cgk9PQoJYnogKmlmNjBfZWxzZWlmMV9jb25kaXRpb24KCgkvLyAqaWY2MF9jb25zZXF1ZW50CgkvLyBjb250cmFjdHMvTkZEUmVnaXN0cnkuYWxnby50czoxMTc4CgkvLyBwZXJpb2RDb3VudCArPSAxCglmcmFtZV9kaWcgMiAvLyBwZXJpb2RDb3VudDogdWludDY0CglpbnRjIDEgLy8gMQoJKwoJZnJhbWVfYnVyeSAyIC8vIHBlcmlvZENvdW50OiB1aW50NjQKCgkvLyAqaWY2MV9jb25kaXRpb24KCS8vIGNvbnRyYWN0cy9ORkRSZWdpc3RyeS5hbGdvLnRzOjExODAKCS8vIHBlcmlvZENvdW50ID09PSAxCglmcmFtZV9kaWcgMiAvLyBwZXJpb2RDb3VudDogdWludDY0CglpbnRjIDEgLy8gMQoJPT0KCWJ6ICppZjYxX2Vsc2VpZjFfY29uZGl0aW9uCgoJLy8gKmlmNjFfY29uc2VxdWVudAoJLy8gY29udHJhY3RzL05GRFJlZ2lzdHJ5LmFsZ28udHM6MTE4MQoJLy8gZmlyc3RQZXJpb2RJZHggPSBpCglmcmFtZV9kaWcgNSAvLyBpOiB1aW50NjQKCWZyYW1lX2J1cnkgNCAvLyBmaXJzdFBlcmlvZElkeDogdWludDY0CgoJLy8gY29udHJhY3RzL05GRFJlZ2lzdHJ5LmFsZ28udHM6MTE4MgoJLy8gYXNzZXJ0KGNoYXJDb3VudCA+PSAxICYmIGNoYXJDb3VudCA8PSAyNywgJ211c3QgYmUgMS0yNyBjaGFycyBpbiBuZmQgcm9vdCBvciBzZWdtZW50IG5hbWUnKQoJZnJhbWVfZGlnIDMgLy8gY2hhckNvdW50OiB1aW50NjQKCWludGMgMSAvLyAxCgk+PQoJZHVwCglieiAqc2tpcF9hbmQxNwoJZnJhbWVfZGlnIDMgLy8gY2hhckNvdW50OiB1aW50NjQKCWludGMgMjIgLy8gMjcKCTw9CgkmJgoKKnNraXBfYW5kMTc6CgkvLyBtdXN0IGJlIDEtMjcgY2hhcnMgaW4gbmZkIHJvb3Qgb3Igc2VnbWVudCBuYW1lCglhc3NlcnQKCgkvLyBjb250cmFjdHMvTkZEUmVnaXN0cnkuYWxnby50czoxMTgzCgkvLyBjaGFyQ291bnQgPSAwCglpbnRjIDAgLy8gMAoJZnJhbWVfYnVyeSAzIC8vIGNoYXJDb3VudDogdWludDY0CgliICppZjYxX2VuZAoKKmlmNjFfZWxzZWlmMV9jb25kaXRpb246CgkvLyBjb250cmFjdHMvTkZEUmVnaXN0cnkuYWxnby50czoxMTg0CgkvLyBwZXJpb2RDb3VudCA9PT0gMgoJZnJhbWVfZGlnIDIgLy8gcGVyaW9kQ291bnQ6IHVpbnQ2NAoJaW50YyA1IC8vIDIKCT09CglieiAqaWY2MV9lbHNlCgoJLy8gKmlmNjFfZWxzZWlmMV9jb25zZXF1ZW50CgkvLyBjb250cmFjdHMvTkZEUmVnaXN0cnkuYWxnby50czoxMTg1CgkvLyBhc3NlcnQoCgkvLyAgICAgICAgICAgICAgICAgICAgICAgICBjaGFyQ291bnQgPj0gMSAmJiBjaGFyQ291bnQgPD0gMjcgJiYgaSA9PT0gaW5wdXRMZW5ndGggLSA1LAoJLy8gICAgICAgICAgICAgICAgICAgICAgICAgJ211c3QgYmUgMS0yNyBjaGFycyBhbmQgYXQgZW5kIG9mIHN0cmluZycsCgkvLyAgICAgICAgICAgICAgICAgICAgICkKCWZyYW1lX2RpZyAzIC8vIGNoYXJDb3VudDogdWludDY0CglpbnRjIDEgLy8gMQoJPj0KCWR1cAoJYnogKnNraXBfYW5kMTgKCWZyYW1lX2RpZyAzIC8vIGNoYXJDb3VudDogdWludDY0CglpbnRjIDIyIC8vIDI3Cgk8PQoJJiYKCipza2lwX2FuZDE4OgoJZHVwCglieiAqc2tpcF9hbmQxOQoJZnJhbWVfZGlnIDUgLy8gaTogdWludDY0CglmcmFtZV9kaWcgMCAvLyBpbnB1dExlbmd0aDogdWludDY0CglpbnRjIDYgLy8gNQoJLQoJPT0KCSYmCgoqc2tpcF9hbmQxOToKCS8vIG11c3QgYmUgMS0yNyBjaGFycyBhbmQgYXQgZW5kIG9mIHN0cmluZwoJYXNzZXJ0CgliICppZjYxX2VuZAoKKmlmNjFfZWxzZToKCS8vIHRvbyBtYW55ICcuJyBjaGFycyBpbiBuYW1lCgllcnIKCippZjYxX2VuZDoKCWIgKmlmNjBfZW5kCgoqaWY2MF9lbHNlaWYxX2NvbmRpdGlvbjoKCS8vIGNvbnRyYWN0cy9ORkRSZWdpc3RyeS5hbGdvLnRzOjExOTMKCS8vIChieXRlVmFsID49IEFTQ0lJX0xXUl9BICYmIGJ5dGVWYWwgPD0gQVNDSUlfTFdSX1opIHx8CgkvLyAgICAgICAgICAgICAgICAgKGJ5dGVWYWwgPj0gQVNDSUlfMCAmJiBieXRlVmFsIDw9IEFTQ0lJXzkpCglmcmFtZV9kaWcgNiAvLyBieXRlVmFsOiB1aW50NjQKCXB1c2hpbnQgOTcKCT49CglkdXAKCWJ6ICpza2lwX2FuZDIwCglmcmFtZV9kaWcgNiAvLyBieXRlVmFsOiB1aW50NjQKCXB1c2hpbnQgMTIyCgk8PQoJJiYKCipza2lwX2FuZDIwOgoJZHVwCglibnogKnNraXBfb3IzCglmcmFtZV9kaWcgNiAvLyBieXRlVmFsOiB1aW50NjQKCXB1c2hpbnQgNDgKCT49CglkdXAKCWJ6ICpza2lwX2FuZDIxCglmcmFtZV9kaWcgNiAvLyBieXRlVmFsOiB1aW50NjQKCXB1c2hpbnQgNTcKCTw9CgkmJgoKKnNraXBfYW5kMjE6Cgl8fAoKKnNraXBfb3IzOgoJYnogKmlmNjBfZWxzZQoKCS8vICppZjYwX2Vsc2VpZjFfY29uc2VxdWVudAoJLy8gY29udHJhY3RzL05GRFJlZ2lzdHJ5LmFsZ28udHM6MTE5NgoJLy8gY2hhckNvdW50ICs9IDEKCWZyYW1lX2RpZyAzIC8vIGNoYXJDb3VudDogdWludDY0CglpbnRjIDEgLy8gMQoJKwoJZnJhbWVfYnVyeSAzIC8vIGNoYXJDb3VudDogdWludDY0CgliICppZjYwX2VuZAoKKmlmNjBfZWxzZToKCS8vIGludmFsaWQgY2hhcmFjdGVyIGluIG5hbWUKCWVycgoKKmlmNjBfZW5kOgoKKmZvcl84X2NvbnRpbnVlOgoJLy8gY29udHJhY3RzL05GRFJlZ2lzdHJ5LmFsZ28udHM6MTE3NAoJLy8gaSArPSAxCglmcmFtZV9kaWcgNSAvLyBpOiB1aW50NjQKCWludGMgMSAvLyAxCgkrCglmcmFtZV9idXJ5IDUgLy8gaTogdWludDY0CgliICpmb3JfOAoKKmZvcl84X2VuZDoKCS8vICppZjYyX2NvbmRpdGlvbgoJLy8gY29udHJhY3RzL05GRFJlZ2lzdHJ5LmFsZ28udHM6MTIwMQoJLy8gcGVyaW9kQ291bnQgPT09IDEKCWZyYW1lX2RpZyAyIC8vIHBlcmlvZENvdW50OiB1aW50NjQKCWludGMgMSAvLyAxCgk9PQoJYnogKmlmNjJfZWxzZQoKCS8vICppZjYyX2NvbnNlcXVlbnQKCS8vIGNvbnRyYWN0cy9ORkRSZWdpc3RyeS5hbGdvLnRzOjEyMDIKCS8vIHJldFZhbC5pc1NlZ21lbnQgPSBmYWxzZQoJZnJhbWVfZGlnIDEgLy8gcmV0VmFsOiBuZmRMZXR0ZXJzSW5mbwoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWludGMgMCAvLyAwCglkdXAKCXNldGJpdAoJZnJhbWVfYnVyeSAxIC8vIHJldFZhbDogbmZkTGV0dGVyc0luZm8KCgkvLyBjb250cmFjdHMvTkZEUmVnaXN0cnkuYWxnby50czoxMjAzCgkvLyByZXRWYWwubnVtQ2hhcnNJbkJhc2VuYW1lID0gZmlyc3RQZXJpb2RJZHgKCWZyYW1lX2RpZyAxIC8vIHJldFZhbDogbmZkTGV0dGVyc0luZm8KCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglpbnRjIDEgLy8gMQoJZnJhbWVfZGlnIDQgLy8gZmlyc3RQZXJpb2RJZHg6IHVpbnQ2NAoJaXRvYgoJcmVwbGFjZTMKCWZyYW1lX2J1cnkgMSAvLyByZXRWYWw6IG5mZExldHRlcnNJbmZvCgoJLy8gY29udHJhY3RzL05GRFJlZ2lzdHJ5LmFsZ28udHM6MTIwNAoJLy8gcmV0VmFsLmlkeE9mQmFzZW5hbWUgPSAwCglmcmFtZV9kaWcgMSAvLyByZXRWYWw6IG5mZExldHRlcnNJbmZvCglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJYnl0ZWMgNCAvLyAweDAwMDAwMDAwMDAwMDAwMDAKCXJlcGxhY2UyIDkKCWZyYW1lX2J1cnkgMSAvLyByZXRWYWw6IG5mZExldHRlcnNJbmZvCgliICppZjYyX2VuZAoKKmlmNjJfZWxzZToKCS8vIGNvbnRyYWN0cy9ORkRSZWdpc3RyeS5hbGdvLnRzOjEyMDYKCS8vIHJldFZhbC5pc1NlZ21lbnQgPSB0cnVlCglmcmFtZV9kaWcgMSAvLyByZXRWYWw6IG5mZExldHRlcnNJbmZvCglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJaW50YyAwIC8vIDAKCWludGMgMSAvLyAxCglzZXRiaXQKCWZyYW1lX2J1cnkgMSAvLyByZXRWYWw6IG5mZExldHRlcnNJbmZvCgoJLy8gY29udHJhY3RzL05GRFJlZ2lzdHJ5LmFsZ28udHM6MTIwNwoJLy8gcmV0VmFsLm51bUNoYXJzSW5CYXNlbmFtZSA9IGNoYXJDb3VudAoJZnJhbWVfZGlnIDEgLy8gcmV0VmFsOiBuZmRMZXR0ZXJzSW5mbwoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWludGMgMSAvLyAxCglmcmFtZV9kaWcgMyAvLyBjaGFyQ291bnQ6IHVpbnQ2NAoJaXRvYgoJcmVwbGFjZTMKCWZyYW1lX2J1cnkgMSAvLyByZXRWYWw6IG5mZExldHRlcnNJbmZvCgoJLy8gY29udHJhY3RzL05GRFJlZ2lzdHJ5LmFsZ28udHM6MTIwOAoJLy8gcmV0VmFsLmlkeE9mQmFzZW5hbWUgPSBpbnB1dExlbmd0aCAtIDUgLSBjaGFyQ291bnQKCWZyYW1lX2RpZyAxIC8vIHJldFZhbDogbmZkTGV0dGVyc0luZm8KCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglwdXNoaW50IDkKCWZyYW1lX2RpZyAwIC8vIGlucHV0TGVuZ3RoOiB1aW50NjQKCWludGMgNiAvLyA1CgktCglmcmFtZV9kaWcgMyAvLyBjaGFyQ291bnQ6IHVpbnQ2NAoJLQoJaXRvYgoJcmVwbGFjZTMKCWZyYW1lX2J1cnkgMSAvLyByZXRWYWw6IG5mZExldHRlcnNJbmZvCgoqaWY2Ml9lbmQ6CgkvLyBjb250cmFjdHMvTkZEUmVnaXN0cnkuYWxnby50czoxMjExCgkvLyByZXR1cm4gcmV0VmFsCglmcmFtZV9kaWcgMSAvLyByZXRWYWw6IG5mZExldHRlcnNJbmZvCgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCgoJLy8gcG9wIGFsbCBsb2NhbCB2YXJpYWJsZXMgZnJvbSB0aGUgc3RhY2sKCXBvcG4gNgoJcmV0c3ViCgovLyBmZXRjaEFwcElkRm9yTmFtZShuYW1lOiBzdHJpbmcpOiB1aW50NjQKZmV0Y2hBcHBJZEZvck5hbWU6Cglwcm90byAxIDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMCAvLyAweAoJZHVwCgoJLy8gY29udHJhY3RzL05GRFJlZ2lzdHJ5LmFsZ28udHM6MTIxNQoJLy8gYm94TmFtZSA9IHRoaXMuZ2V0Qm94TmFtZShuYW1lKQoJZnJhbWVfZGlnIC0xIC8vIG5hbWU6IHN0cmluZwoJY2FsbHN1YiBnZXRCb3hOYW1lCglmcmFtZV9idXJ5IDAgLy8gYm94TmFtZTogYnl0ZVtdCgoJLy8gKmlmNjNfY29uZGl0aW9uCgkvLyBjb250cmFjdHMvTkZEUmVnaXN0cnkuYWxnby50czoxMjE2CgkvLyAhdGhpcy5ib3hlcyhib3hOYW1lKS5leGlzdHMKCWZyYW1lX2RpZyAwIC8vIGJveE5hbWU6IGJ5dGVbXQoJYm94X2xlbgoJc3dhcAoJcG9wCgkhCglieiAqaWY2M19lbmQKCgkvLyAqaWY2M19jb25zZXF1ZW50CgkvLyBjb250cmFjdHMvTkZEUmVnaXN0cnkuYWxnby50czoxMjE3CgkvLyByZXR1cm4gMAoJaW50YyAwIC8vIDAKCWIgKmZldGNoQXBwSWRGb3JOYW1lKnJldHVybgoKKmlmNjNfZW5kOgoJLy8gY29udHJhY3RzL05GRFJlZ2lzdHJ5LmFsZ28udHM6MTIxOQoJLy8gYm94VmFsdWUgPSB0aGlzLmJveGVzKGJveE5hbWUpLnZhbHVlCglmcmFtZV9kaWcgMCAvLyBib3hOYW1lOiBieXRlW10KCWJveF9nZXQKCgkvLyBib3ggdmFsdWUgZG9lcyBub3QgZXhpc3Q6IHRoaXMuYm94ZXMoYm94TmFtZSkudmFsdWUKCWFzc2VydAoJZnJhbWVfYnVyeSAxIC8vIGJveFZhbHVlOiBieXRlW10KCgkvLyBjb250cmFjdHMvTkZEUmVnaXN0cnkuYWxnby50czoxMjIwCgkvLyBhc3NlcnQobGVuKGJveFZhbHVlKSA9PT0gMTYpCglmcmFtZV9kaWcgMSAvLyBib3hWYWx1ZTogYnl0ZVtdCglsZW4KCWludGMgMTAgLy8gMTYKCT09Cglhc3NlcnQKCgkvLyBjb250cmFjdHMvTkZEUmVnaXN0cnkuYWxnby50czoxMjIxCgkvLyByZXR1cm4gZXh0cmFjdFVpbnQ2NChib3hWYWx1ZSwgOCkKCWZyYW1lX2RpZyAxIC8vIGJveFZhbHVlOiBieXRlW10KCWludGMgMiAvLyA4CglleHRyYWN0X3VpbnQ2NAoKKmZldGNoQXBwSWRGb3JOYW1lKnJldHVybjoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoKCS8vIHBvcCBhbGwgbG9jYWwgdmFyaWFibGVzIGZyb20gdGhlIHN0YWNrCglwb3BuIDEKCXJldHN1YgoKLy8gZnJvbU5hbWVJbmZvR2V0UGFyZW50TmFtZShuZmROYW1lOiBzdHJpbmcsIG5mZE5hbWVJbmZvOiBuZmRMZXR0ZXJzSW5mbyk6IHN0cmluZwpmcm9tTmFtZUluZm9HZXRQYXJlbnROYW1lOgoJcHJvdG8gMiAxCgoJLy8gY29udHJhY3RzL05GRFJlZ2lzdHJ5LmFsZ28udHM6MTIyNQoJLy8gcmV0dXJuIHN1YnN0cmluZzMobmZkTmFtZSwgbmZkTmFtZUluZm8uaWR4T2ZCYXNlbmFtZSwgbGVuKG5mZE5hbWUpKQoJZnJhbWVfZGlnIC0xIC8vIG5mZE5hbWU6IHN0cmluZwoJZnJhbWVfZGlnIC0yIC8vIG5mZE5hbWVJbmZvOiBuZmRMZXR0ZXJzSW5mbwoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWV4dHJhY3QgOSA4CglidG9pCglmcmFtZV9kaWcgLTEgLy8gbmZkTmFtZTogc3RyaW5nCglsZW4KCXN1YnN0cmluZzMKCXJldHN1YgoKLy8gc2FmZUdsb2JhbEJ5dGVHZXRFeChhcHBJZDogdWludDY0LCBrZXk6IGJ5dGVzKTogYnl0ZXMKc2FmZUdsb2JhbEJ5dGVHZXRFeDoKCXByb3RvIDIgMQoKCS8vICppZjY0X2NvbmRpdGlvbgoJLy8gY29udHJhY3RzL05GRFJlZ2lzdHJ5LmFsZ28udHM6MTIyOQoJLy8gIUFwcElELmZyb21VaW50NjQoYXBwSWQpLmdsb2JhbFN0YXRlRXhpc3RzKGtleSkKCWZyYW1lX2RpZyAtMSAvLyBhcHBJZDogdWludDY0CglmcmFtZV9kaWcgLTIgLy8ga2V5OiBieXRlcwoJYXBwX2dsb2JhbF9nZXRfZXgKCXN3YXAKCXBvcAoJIQoJYnogKmlmNjRfZW5kCgoJLy8gKmlmNjRfY29uc2VxdWVudAoJLy8gY29udHJhY3RzL05GRFJlZ2lzdHJ5LmFsZ28udHM6MTIzMAoJLy8gcmV0dXJuICcnCglieXRlYyAwIC8vICAiIgoJcmV0c3ViCgoqaWY2NF9lbmQ6CgkvLyBjb250cmFjdHMvTkZEUmVnaXN0cnkuYWxnby50czoxMjMyCgkvLyByZXR1cm4gQXBwSUQuZnJvbVVpbnQ2NChhcHBJZCkuZ2xvYmFsU3RhdGUoa2V5KSBhcyBieXRlcwoJZnJhbWVfZGlnIC0xIC8vIGFwcElkOiB1aW50NjQKCWZyYW1lX2RpZyAtMiAvLyBrZXk6IGJ5dGVzCglhcHBfZ2xvYmFsX2dldF9leAoKCS8vIGdsb2JhbCBzdGF0ZSB2YWx1ZSBkb2VzIG5vdCBleGlzdDogQXBwSUQuZnJvbVVpbnQ2NChhcHBJZCkuZ2xvYmFsU3RhdGUoa2V5KQoJYXNzZXJ0CglyZXRzdWIKCi8vIHNhZmVHbG9iYWxJbnRHZXRFeChhcHBJZDogdWludDY0LCBrZXk6IGJ5dGVzKTogdWludDY0CnNhZmVHbG9iYWxJbnRHZXRFeDoKCXByb3RvIDIgMQoKCS8vICppZjY1X2NvbmRpdGlvbgoJLy8gY29udHJhY3RzL05GRFJlZ2lzdHJ5LmFsZ28udHM6MTIzNgoJLy8gIUFwcElELmZyb21VaW50NjQoYXBwSWQpLmdsb2JhbFN0YXRlRXhpc3RzKGtleSkKCWZyYW1lX2RpZyAtMSAvLyBhcHBJZDogdWludDY0CglmcmFtZV9kaWcgLTIgLy8ga2V5OiBieXRlcwoJYXBwX2dsb2JhbF9nZXRfZXgKCXN3YXAKCXBvcAoJIQoJYnogKmlmNjVfZW5kCgoJLy8gKmlmNjVfY29uc2VxdWVudAoJLy8gY29udHJhY3RzL05GRFJlZ2lzdHJ5LmFsZ28udHM6MTIzNwoJLy8gcmV0dXJuIDAKCWludGMgMCAvLyAwCglyZXRzdWIKCippZjY1X2VuZDoKCS8vIGNvbnRyYWN0cy9ORkRSZWdpc3RyeS5hbGdvLnRzOjEyMzkKCS8vIHJldHVybiBidG9pKEFwcElELmZyb21VaW50NjQoYXBwSWQpLmdsb2JhbFN0YXRlKGtleSkgYXMgYnl0ZXMpCglmcmFtZV9kaWcgLTEgLy8gYXBwSWQ6IHVpbnQ2NAoJZnJhbWVfZGlnIC0yIC8vIGtleTogYnl0ZXMKCWFwcF9nbG9iYWxfZ2V0X2V4CgoJLy8gZ2xvYmFsIHN0YXRlIHZhbHVlIGRvZXMgbm90IGV4aXN0OiBBcHBJRC5mcm9tVWludDY0KGFwcElkKS5nbG9iYWxTdGF0ZShrZXkpCglhc3NlcnQKCWJ0b2kKCXJldHN1YgoKLy8gZ2V0UHJpY2VGb3JOYW1lKG5mZE5hbWU6IHN0cmluZywgbmZkTmFtZUluZm86IG5mZExldHRlcnNJbmZvLCBjYWxsZXI6IEFkZHJlc3MpOiBQcmljZUluZm8KLy8KLy8gVGhpcyBtZXRob2QgY2FsY3VsYXRlcyB0aGUgcHJpY2UgZm9yIGEgZ2l2ZW4gTkZEIG5hbWUgYmFzZWQgb24gdGhlIHByb3ZpZGVkIGluZm9ybWF0aW9uLiBUaGUgcHJpY2UgZGVwZW5kcyBvbgovLyB3aGV0aGVyIHRoZSBuYW1lIGlzIGEgc2VnbWVudCBvciBub3QsIGFuZCB0aGUgbnVtYmVyIG9mIGxldHRlcnMgaW4gdGhlIGJhc2VuYW1lLgovLyBJdCBhc3N1bWVzIGl0cyBiZWluZyBhc2tlZCBhcyBpZiB0aGlzIGlzIGEgJ25ldycgbmFtZSBhbmQgZG9lc24ndCBjb25zaWRlciBpZiBhbiBleGlzdGluZyBuYW1lIGFuZCBpZiBpdHMKLy8gZXhwaXJlZCwgZXRjLiAgRm9yIHRoYXQsIGFzayBUSEFUIG5mZCB3aGF0IGl0cyByZW5ld2FsIHByaWNlIGlzLgovLwovLyBJZiB0aGUgbmFtZSBpcyBhIHNlZ21lbnQsIHRoZSBwcmljaW5nIGNvbWVzIGZyb20gaXRzIHBhcmVudCBvciB0aGUgc3lzdGVtLiBUaGUgbWV0aG9kIGZpcnN0IGxvb2tzIHVwIHRoZSBhcHAgSUQKLy8gZm9yIHRoZSBwYXJlbnQgbmFtZS4gSWYgdGhlIGFwcCBJRCBpcyBub3QgYXZhaWxhYmxlLCBhbiBhc3NlcnRpb24gaXMgcmFpc2VkLgovLwovLyBJZiB0aGUgcGFyZW50IHNlZ21lbnQgaXMgdW5sb2NrZWQsIHRoZSBwcmljZSBmb3IgbWludGluZyB0aGUgc2VnbWVudCBpcyByZXRyaWV2ZWQgZnJvbSB0aGUgcGFyZW50IHVzaW5nIHRoZQovLyAnTkZEX0tFWV9TRUdNRU5UX1VTRF9QUklDRScga2V5LiBPdGhlcndpc2UsIGEgbWluaW11bSBwcmljZSBvZiBORkRfTUlOX1NFR01FTlRfVVNEIGlzIHVzZWQuIFRoZSBzZWdtZW50IG1pbnQKLy8gY29zdCBpcyB0aGVuIGNvbnZlcnRlZCB0byBtaWNyb2FsZ29zIGFuZCByZXR1cm5lZC4KLy8KLy8gSWYgdGhlIG5hbWUgaXMgbm90IGEgc2VnbWVudCwgdGhlIHByaWNlIGlzIGNhbGN1bGF0ZWQgYmFzZWQgb24gdGhlIG51bWJlciBvZiBsZXR0ZXJzIGluIHRoZSBiYXNlbmFtZS4gVGhlCi8vIGJhc2VuYW1lIGxlbmd0aCBpcyByZXRyaWV2ZWQgZnJvbSB0aGUgbmFtZSBpbmZvcm1hdGlvbi4gVGhlIG1ldGhvZCB1c2VzIGEgY29uZGl0aW9uYWwgc3RhdGVtZW50IHRvIGRldGVybWluZQovLyB0aGUgcHJpY2UgYmFzZWQgb24gdGhlIGJhc2VuYW1lIGxlbmd0aC4gVGhlIHByaWNlIGlzIHRoZW4gY29udmVydGVkIHRvIG1pY3JvYWxnb3MgYW5kIHJldHVybmVkLgovLwovLyBAcGFyYW0ge3N0cmluZ30gbmZkTmFtZSAtIFRoZSBuYW1lIHRvIGdldCB0aGUgcHJpY2UgZm9yLgovLyBAcGFyYW0ge25mZExldHRlcnNJbmZvfSBuZmROYW1lSW5mbyAtIFRoZSBpbmZvcm1hdGlvbiBhYm91dCB0aGUgbmZkTmFtZSBsZXR0ZXJzLgovLyBAcGFyYW0ge0FkZHJlc3N9IGNhbGxlciAtIHRoZSBhZGRyZXNzIHRoaXMgcmVxdWVzdCBpcyBvbiBiZWhhbGYgb2YgKHNpbmNlIGFuIG5mZCBjb250cmFjdCBtaWdodCBjYWxsIHVzIGl0Ci8vIG5lZWRzIHRvIGJlIGFibGUgdG8gcGFzcyBvbiB0aGUgcmVxdWVzdCBvbiBiZWhhbGYgb2YgSVRTIGNhbGxlciAtIGllOiBnZXR0aW5nIHByaWNlIGZvciBhbiBleHBpcmVkIG5mZCB3aWxsIGJlCi8vIGRpZmZlcmVudCBpZiBpdHMgb3duZXIgaXIgYXNraW5nLgovLyBAcmV0dXJuIHtQcmljZUluZm99IHByaWNlIGRldGFpbHMgZm9yIG1pbnRpbmcgb3IgcmVuZXdpbmcKZ2V0UHJpY2VGb3JOYW1lOgoJcHJvdG8gMyAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDAgLy8gMHgKCWR1cG4gMTkKCgkvLyBjb250cmFjdHMvTkZEUmVnaXN0cnkuYWxnby50czoxMjY3CgkvLyBjb25zdHJhaW50RGF0YSA9IHRoaXMuZ2V0Q29uc3RyYWludHMoKQoJY2FsbHN1YiBnZXRDb25zdHJhaW50cwoJZnJhbWVfYnVyeSAwIC8vIGNvbnN0cmFpbnREYXRhOiAodWludDY0LHVpbnQ2NCx1aW50NjQsYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCkKCgkvLyAqaWY2Nl9jb25kaXRpb24KCS8vIGNvbnRyYWN0cy9ORkRSZWdpc3RyeS5hbGdvLnRzOjEyNjkKCS8vIG5mZE5hbWVJbmZvLmlzU2VnbWVudAoJZnJhbWVfZGlnIC0yIC8vIG5mZE5hbWVJbmZvOiBuZmRMZXR0ZXJzSW5mbwoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWludGMgMCAvLyAwCglnZXRiaXQKCWJ6ICppZjY2X2Vsc2UKCgkvLyAqaWY2Nl9jb25zZXF1ZW50CgkvLyBjb250cmFjdHMvTkZEUmVnaXN0cnkuYWxnby50czoxMjcxCgkvLyBwYXJlbnRBcHBJZCA9IHRoaXMuZmV0Y2hBcHBJZEZvck5hbWUodGhpcy5mcm9tTmFtZUluZm9HZXRQYXJlbnROYW1lKG5mZE5hbWUsIG5mZE5hbWVJbmZvKSkKCWZyYW1lX2RpZyAtMiAvLyBuZmROYW1lSW5mbzogbmZkTGV0dGVyc0luZm8KCWZyYW1lX2RpZyAtMSAvLyBuZmROYW1lOiBzdHJpbmcKCWNhbGxzdWIgZnJvbU5hbWVJbmZvR2V0UGFyZW50TmFtZQoJY2FsbHN1YiBmZXRjaEFwcElkRm9yTmFtZQoJZnJhbWVfYnVyeSAyIC8vIHBhcmVudEFwcElkOiB1aW50NjQKCgkvLyBjb250cmFjdHMvTkZEUmVnaXN0cnkuYWxnby50czoxMjcyCgkvLyBhc3NlcnQocGFyZW50QXBwSWQgIT09IDAsICdwYXJlbnQgbmZkL2lkIG11c3QgYmUgZm91bmQnKQoJZnJhbWVfZGlnIDIgLy8gcGFyZW50QXBwSWQ6IHVpbnQ2NAoJaW50YyAwIC8vIDAKCSE9CgoJLy8gcGFyZW50IG5mZC9pZCBtdXN0IGJlIGZvdW5kCglhc3NlcnQKCgkvLyBjb250cmFjdHMvTkZEUmVnaXN0cnkuYWxnby50czoxMjc0CgkvLyBzZWdtZW50TWludENvc3QgPSAwCglpbnRjIDAgLy8gMAoJZnJhbWVfYnVyeSAzIC8vIHNlZ21lbnRNaW50Q29zdDogdWludDY0CgoJLy8gKmlmNjdfY29uZGl0aW9uCgkvLyBjb250cmFjdHMvTkZEUmVnaXN0cnkuYWxnby50czoxMjc2CgkvLyB0aGlzLnNhZmVHbG9iYWxCeXRlR2V0RXgocGFyZW50QXBwSWQsIE5GRF9LRVlfSVNTRUdNRU5UTE9DS0VEKSA9PT0gTkZEX0xPQ0tFRF9WQUxfRkFMU0UKCWJ5dGVjIDE2IC8vICJpLnNlZ21lbnRMb2NrZWQiCglmcmFtZV9kaWcgMiAvLyBwYXJlbnRBcHBJZDogdWludDY0CgljYWxsc3ViIHNhZmVHbG9iYWxCeXRlR2V0RXgKCWJ5dGVjIDIwIC8vICIwIgoJPT0KCWJ6ICppZjY3X2Vsc2UKCgkvLyAqaWY2N19jb25zZXF1ZW50CgkvLyBjb250cmFjdHMvTkZEUmVnaXN0cnkuYWxnby50czoxMjc4CgkvLyBzZWdtZW50TWludENvc3QgPSB0aGlzLnNhZmVHbG9iYWxJbnRHZXRFeChwYXJlbnRBcHBJZCwgTkZEX0tFWV9TRUdNRU5UX1VTRF9QUklDRSkKCXB1c2hieXRlcyAiaS5zZWdtZW50UHJpY2VVc2QiCglmcmFtZV9kaWcgMiAvLyBwYXJlbnRBcHBJZDogdWludDY0CgljYWxsc3ViIHNhZmVHbG9iYWxJbnRHZXRFeAoJZnJhbWVfYnVyeSAzIC8vIHNlZ21lbnRNaW50Q29zdDogdWludDY0CgoJLy8gKmlmNjhfY29uZGl0aW9uCgkvLyBjb250cmFjdHMvTkZEUmVnaXN0cnkuYWxnby50czoxMjc5CgkvLyBzZWdtZW50TWludENvc3QgPCBjb25zdHJhaW50RGF0YS5zZWdtZW50UGxhdGZvcm1Db3N0SW5Vc2QKCWZyYW1lX2RpZyAzIC8vIHNlZ21lbnRNaW50Q29zdDogdWludDY0CglmcmFtZV9kaWcgMCAvLyBjb25zdHJhaW50RGF0YTogKHVpbnQ2NCx1aW50NjQsdWludDY0LGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQpCglleHRyYWN0IDAgOAoJYnRvaQoJPAoJYnogKmlmNjhfZW5kCgoJLy8gKmlmNjhfY29uc2VxdWVudAoJLy8gY29udHJhY3RzL05GRFJlZ2lzdHJ5LmFsZ28udHM6MTI4MAoJLy8gc2VnbWVudE1pbnRDb3N0ID0gY29uc3RyYWludERhdGEuc2VnbWVudFBsYXRmb3JtQ29zdEluVXNkCglmcmFtZV9kaWcgMCAvLyBjb25zdHJhaW50RGF0YTogKHVpbnQ2NCx1aW50NjQsdWludDY0LGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQpCglleHRyYWN0IDAgOAoJYnRvaQoJZnJhbWVfYnVyeSAzIC8vIHNlZ21lbnRNaW50Q29zdDogdWludDY0CgoqaWY2OF9lbmQ6CgliICppZjY3X2VuZAoKKmlmNjdfZWxzZToKCS8vIGNvbnRyYWN0cy9ORkRSZWdpc3RyeS5hbGdvLnRzOjEyODQKCS8vIHNlZ21lbnRNaW50Q29zdCA9IGNvbnN0cmFpbnREYXRhLnNlZ21lbnRQbGF0Zm9ybUNvc3RJblVzZAoJZnJhbWVfZGlnIDAgLy8gY29uc3RyYWludERhdGE6ICh1aW50NjQsdWludDY0LHVpbnQ2NCxhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0KQoJZXh0cmFjdCAwIDgKCWJ0b2kKCWZyYW1lX2J1cnkgMyAvLyBzZWdtZW50TWludENvc3Q6IHVpbnQ2NAoKKmlmNjdfZW5kOgoJLy8gY29udHJhY3RzL05GRFJlZ2lzdHJ5LmFsZ28udHM6MTI4NwoJLy8gYXNzZXJ0KAoJLy8gICAgICAgICAgICAgICAgIHNlZ21lbnRNaW50Q29zdCA+PSBjb25zdHJhaW50RGF0YS5zZWdtZW50UGxhdGZvcm1Db3N0SW5Vc2QsCgkvLyAgICAgICAgICAgICAgICAgJ3NlZ21lbnQgbWludCBjb3N0IG11c3QgYmUgYXQgbGVhc3QgTkZEX01JTl9TRUdNRU5UX1VTRCcsCgkvLyAgICAgICAgICAgICApCglmcmFtZV9kaWcgMyAvLyBzZWdtZW50TWludENvc3Q6IHVpbnQ2NAoJZnJhbWVfZGlnIDAgLy8gY29uc3RyYWludERhdGE6ICh1aW50NjQsdWludDY0LHVpbnQ2NCxhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0KQoJZXh0cmFjdCAwIDgKCWJ0b2kKCT49CgoJLy8gc2VnbWVudCBtaW50IGNvc3QgbXVzdCBiZSBhdCBsZWFzdCBORkRfTUlOX1NFR01FTlRfVVNECglhc3NlcnQKCgkvLyBjb250cmFjdHMvTkZEUmVnaXN0cnkuYWxnby50czoxMjkzCgkvLyByZXRQcmljZSA9IHRoaXMudXNkSW5NaWNyb0FsZ28oc2VnbWVudE1pbnRDb3N0KQoJZnJhbWVfZGlnIDMgLy8gc2VnbWVudE1pbnRDb3N0OiB1aW50NjQKCWNhbGxzdWIgdXNkSW5NaWNyb0FsZ28KCWZyYW1lX2J1cnkgMSAvLyByZXRQcmljZTogdWludDY0CgliICppZjY2X2VuZAoKKmlmNjZfZWxzZToKCS8vIGNvbnRyYWN0cy9ORkRSZWdpc3RyeS5hbGdvLnRzOjEyOTYKCS8vIGJhc2VuYW1lTGVuZ3RoID0gbmZkTmFtZUluZm8ubnVtQ2hhcnNJbkJhc2VuYW1lCglmcmFtZV9kaWcgLTIgLy8gbmZkTmFtZUluZm86IG5mZExldHRlcnNJbmZvCglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJZXh0cmFjdCAxIDgKCWJ0b2kKCWZyYW1lX2J1cnkgNCAvLyBiYXNlbmFtZUxlbmd0aDogdWludDY0CgoJLy8gY29udHJhY3RzL05GRFJlZ2lzdHJ5LmFsZ28udHM6MTI5NwoJLy8gdXNkQ29zdCA9IDAKCWludGMgMCAvLyAwCglmcmFtZV9idXJ5IDUgLy8gdXNkQ29zdDogdWludDY0CgoJLy8gKmlmNjlfY29uZGl0aW9uCgkvLyBjb250cmFjdHMvTkZEUmVnaXN0cnkuYWxnby50czoxMjk4CgkvLyBiYXNlbmFtZUxlbmd0aCA+PSA1CglmcmFtZV9kaWcgNCAvLyBiYXNlbmFtZUxlbmd0aDogdWludDY0CglpbnRjIDYgLy8gNQoJPj0KCWJ6ICppZjY5X2Vsc2VpZjFfY29uZGl0aW9uCgoJLy8gKmlmNjlfY29uc2VxdWVudAoJLy8gY29udHJhY3RzL05GRFJlZ2lzdHJ5LmFsZ28udHM6MTI5OQoJLy8gdXNkQ29zdCA9IDYwMAoJcHVzaGludCA2MDAKCWZyYW1lX2J1cnkgNSAvLyB1c2RDb3N0OiB1aW50NjQKCWIgKmlmNjlfZW5kCgoqaWY2OV9lbHNlaWYxX2NvbmRpdGlvbjoKCS8vIGNvbnRyYWN0cy9ORkRSZWdpc3RyeS5hbGdvLnRzOjEzMDAKCS8vIGJhc2VuYW1lTGVuZ3RoID09PSA0CglmcmFtZV9kaWcgNCAvLyBiYXNlbmFtZUxlbmd0aDogdWludDY0CglpbnRjIDggLy8gNAoJPT0KCWJ6ICppZjY5X2Vsc2VpZjJfY29uZGl0aW9uCgoJLy8gKmlmNjlfZWxzZWlmMV9jb25zZXF1ZW50CgkvLyBjb250cmFjdHMvTkZEUmVnaXN0cnkuYWxnby50czoxMzAxCgkvLyB1c2RDb3N0ID0gMTIwMAoJcHVzaGludCAxMjAwCglmcmFtZV9idXJ5IDUgLy8gdXNkQ29zdDogdWludDY0CgliICppZjY5X2VuZAoKKmlmNjlfZWxzZWlmMl9jb25kaXRpb246CgkvLyBjb250cmFjdHMvTkZEUmVnaXN0cnkuYWxnby50czoxMzAyCgkvLyBiYXNlbmFtZUxlbmd0aCA9PT0gMwoJZnJhbWVfZGlnIDQgLy8gYmFzZW5hbWVMZW5ndGg6IHVpbnQ2NAoJaW50YyA3IC8vIDMKCT09CglieiAqaWY2OV9lbHNlaWYzX2NvbmRpdGlvbgoKCS8vICppZjY5X2Vsc2VpZjJfY29uc2VxdWVudAoJLy8gY29udHJhY3RzL05GRFJlZ2lzdHJ5LmFsZ28udHM6MTMwMwoJLy8gdXNkQ29zdCA9IDMwMDAKCXB1c2hpbnQgMzAwMAoJZnJhbWVfYnVyeSA1IC8vIHVzZENvc3Q6IHVpbnQ2NAoJYiAqaWY2OV9lbmQKCippZjY5X2Vsc2VpZjNfY29uZGl0aW9uOgoJLy8gY29udHJhY3RzL05GRFJlZ2lzdHJ5LmFsZ28udHM6MTMwNAoJLy8gYmFzZW5hbWVMZW5ndGggPT09IDIKCWZyYW1lX2RpZyA0IC8vIGJhc2VuYW1lTGVuZ3RoOiB1aW50NjQKCWludGMgNSAvLyAyCgk9PQoJYnogKmlmNjlfZWxzZWlmNF9jb25kaXRpb24KCgkvLyAqaWY2OV9lbHNlaWYzX2NvbnNlcXVlbnQKCS8vIGNvbnRyYWN0cy9ORkRSZWdpc3RyeS5hbGdvLnRzOjEzMDUKCS8vIHVzZENvc3QgPSA5MDAwCglwdXNoaW50IDkwMDAKCWZyYW1lX2J1cnkgNSAvLyB1c2RDb3N0OiB1aW50NjQKCWIgKmlmNjlfZW5kCgoqaWY2OV9lbHNlaWY0X2NvbmRpdGlvbjoKCS8vIGNvbnRyYWN0cy9ORkRSZWdpc3RyeS5hbGdvLnRzOjEzMDYKCS8vIGJhc2VuYW1lTGVuZ3RoID09PSAxCglmcmFtZV9kaWcgNCAvLyBiYXNlbmFtZUxlbmd0aDogdWludDY0CglpbnRjIDEgLy8gMQoJPT0KCWJ6ICppZjY5X2Vsc2UKCgkvLyAqaWY2OV9lbHNlaWY0X2NvbnNlcXVlbnQKCS8vIGNvbnRyYWN0cy9ORkRSZWdpc3RyeS5hbGdvLnRzOjEzMDcKCS8vIHVzZENvc3QgPSAzMTUwMAoJcHVzaGludCAzMTUwMAoJZnJhbWVfYnVyeSA1IC8vIHVzZENvc3Q6IHVpbnQ2NAoJYiAqaWY2OV9lbmQKCippZjY5X2Vsc2U6CgkvLyBpbnZhbGlkIGNvc3QgY2FsYwoJZXJyCgoqaWY2OV9lbmQ6CgkvLyBjb250cmFjdHMvTkZEUmVnaXN0cnkuYWxnby50czoxMzExCgkvLyBuZXdVc2RDb3N0ID0gdGhpcy5jYWxjRnV0dXJlUHJpY2UodXNkQ29zdCwgZ2xvYmFscy5sYXRlc3RUaW1lc3RhbXApCglnbG9iYWwgTGF0ZXN0VGltZXN0YW1wCglmcmFtZV9kaWcgNSAvLyB1c2RDb3N0OiB1aW50NjQKCWNhbGxzdWIgY2FsY0Z1dHVyZVByaWNlCglmcmFtZV9idXJ5IDYgLy8gbmV3VXNkQ29zdDogdWludDY0CgoJLy8gY29udHJhY3RzL05GRFJlZ2lzdHJ5LmFsZ28udHM6MTMxMgoJLy8gcmV0UHJpY2UgPSB0aGlzLnVzZEluTWljcm9BbGdvKG5ld1VzZENvc3QpCglmcmFtZV9kaWcgNiAvLyBuZXdVc2RDb3N0OiB1aW50NjQKCWNhbGxzdWIgdXNkSW5NaWNyb0FsZ28KCWZyYW1lX2J1cnkgMSAvLyByZXRQcmljZTogdWludDY0CgoqaWY2Nl9lbmQ6CgkvLyBjb250cmFjdHMvTkZEUmVnaXN0cnkuYWxnby50czoxMzE2CgkvLyBuZmRBcHBJZCA9IHRoaXMuZ2V0TmFtZUFwcElkKG5mZE5hbWUpCglmcmFtZV9kaWcgLTEgLy8gbmZkTmFtZTogc3RyaW5nCgljYWxsc3ViIGdldE5hbWVBcHBJZAoJZnJhbWVfYnVyeSA3IC8vIG5mZEFwcElkOiB1aW50NjQKCgkvLyBjb250cmFjdHMvTkZEUmVnaXN0cnkuYWxnby50czoxMzE3CgkvLyBpbkF1Y3Rpb246IGJvb2xlYW4gPSBmYWxzZQoJaW50YyAwIC8vIDAKCWZyYW1lX2J1cnkgOCAvLyBpbkF1Y3Rpb246IGJvb2xlYW4KCgkvLyBjb250cmFjdHMvTkZEUmVnaXN0cnkuYWxnby50czoxMzE4CgkvLyBpc0V4cGlyZWQ6IGJvb2xlYW4gPSBmYWxzZQoJaW50YyAwIC8vIDAKCWZyYW1lX2J1cnkgOSAvLyBpc0V4cGlyZWQ6IGJvb2xlYW4KCgkvLyAqaWY3MF9jb25kaXRpb24KCS8vIGNvbnRyYWN0cy9ORkRSZWdpc3RyeS5hbGdvLnRzOjEzMTkKCS8vIG5mZEFwcElkICE9PSAwCglmcmFtZV9kaWcgNyAvLyBuZmRBcHBJZDogdWludDY0CglpbnRjIDAgLy8gMAoJIT0KCWJ6ICppZjcwX2VuZAoKCS8vICppZjcwX2NvbnNlcXVlbnQKCS8vIGNvbnRyYWN0cy9ORkRSZWdpc3RyeS5hbGdvLnRzOjEzMjAKCS8vIGlzRXhpc3RpbmdPd25lciA9IGNhbGxlciA9PT0gKEFwcElELmZyb21VaW50NjQobmZkQXBwSWQpLmdsb2JhbFN0YXRlKE5GRF9LRVlfT1dORVIpIGFzIEFkZHJlc3MpCglmcmFtZV9kaWcgLTMgLy8gY2FsbGVyOiBBZGRyZXNzCglmcmFtZV9kaWcgNyAvLyBuZmRBcHBJZDogdWludDY0CglieXRlYyAyIC8vICJpLm93bmVyLmEiCglhcHBfZ2xvYmFsX2dldF9leAoKCS8vIGdsb2JhbCBzdGF0ZSB2YWx1ZSBkb2VzIG5vdCBleGlzdDogQXBwSUQuZnJvbVVpbnQ2NChuZmRBcHBJZCkuZ2xvYmFsU3RhdGUoTkZEX0tFWV9PV05FUikKCWFzc2VydAoJPT0KCWZyYW1lX2J1cnkgMTAgLy8gaXNFeGlzdGluZ093bmVyOiBib29sCgoJLy8gY29udHJhY3RzL05GRFJlZ2lzdHJ5LmFsZ28udHM6MTMyMQoJLy8gZXhwVGltZSA9IHRoaXMuc2FmZUdsb2JhbEludEdldEV4KG5mZEFwcElkLCBORkRfS0VZX0VYUElSQVRJT05USU1FKQoJYnl0ZWMgMTEgLy8gImkuZXhwaXJhdGlvblRpbWUiCglmcmFtZV9kaWcgNyAvLyBuZmRBcHBJZDogdWludDY0CgljYWxsc3ViIHNhZmVHbG9iYWxJbnRHZXRFeAoJZnJhbWVfYnVyeSAxMSAvLyBleHBUaW1lOiB1aW50NjQKCgkvLyBjb250cmFjdHMvTkZEUmVnaXN0cnkuYWxnby50czoxMzIyCgkvLyBpc0V4cGlyZWQgPSB0aGlzLmlzRXhwaXJlZChleHBUaW1lKQoJZnJhbWVfZGlnIDExIC8vIGV4cFRpbWU6IHVpbnQ2NAoJY2FsbHN1YiBpc0V4cGlyZWQKCWZyYW1lX2J1cnkgOSAvLyBpc0V4cGlyZWQ6IGJvb2xlYW4KCgkvLyAqaWY3MV9jb25kaXRpb24KCS8vIGNvbnRyYWN0cy9ORkRSZWdpc3RyeS5hbGdvLnRzOjEzMjMKCS8vIGlzRXhwaXJlZCAmJiAhaXNFeGlzdGluZ093bmVyCglmcmFtZV9kaWcgOSAvLyBpc0V4cGlyZWQ6IGJvb2xlYW4KCWR1cAoJYnogKnNraXBfYW5kMjIKCWZyYW1lX2RpZyAxMCAvLyBpc0V4aXN0aW5nT3duZXI6IGJvb2wKCSEKCSYmCgoqc2tpcF9hbmQyMjoKCWJ6ICppZjcxX2VuZAoKCS8vICppZjcxX2NvbnNlcXVlbnQKCS8vIGNvbnRyYWN0cy9ORkRSZWdpc3RyeS5hbGdvLnRzOjEzMjQKCS8vIGluQXVjdGlvbiA9IHRydWUKCWludGMgMSAvLyAxCglmcmFtZV9idXJ5IDggLy8gaW5BdWN0aW9uOiBib29sZWFuCgoJLy8gY29udHJhY3RzL05GRFJlZ2lzdHJ5LmFsZ28udHM6MTMyNwoJLy8gc3RhcnRpbmdQcmljZSA9IHRoaXMudXNkSW5NaWNyb0FsZ28oY29uc3RyYWludERhdGEuZXhwaXJlZFN0YXJ0aW5nUHJpY2UpCglmcmFtZV9kaWcgMCAvLyBjb25zdHJhaW50RGF0YTogKHVpbnQ2NCx1aW50NjQsdWludDY0LGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQpCglleHRyYWN0IDY0IDgKCWJ0b2kKCWNhbGxzdWIgdXNkSW5NaWNyb0FsZ28KCWZyYW1lX2J1cnkgMTIgLy8gc3RhcnRpbmdQcmljZTogdWludDY0CgoJLy8gY29udHJhY3RzL05GRFJlZ2lzdHJ5LmFsZ28udHM6MTMyOAoJLy8gZW5kUHJpY2UgPSByZXRQcmljZQoJZnJhbWVfZGlnIDEgLy8gcmV0UHJpY2U6IHVpbnQ2NAoJZnJhbWVfYnVyeSAxMyAvLyBlbmRQcmljZTogdWludDY0CgoJLy8gY29udHJhY3RzL05GRFJlZ2lzdHJ5LmFsZ28udHM6MTMyOQoJLy8gY3VyVGltZSA9IGdsb2JhbHMubGF0ZXN0VGltZXN0YW1wCglnbG9iYWwgTGF0ZXN0VGltZXN0YW1wCglmcmFtZV9idXJ5IDE0IC8vIGN1clRpbWU6IHVpbnQ2NAoKCS8vIGNvbnRyYWN0cy9ORkRSZWdpc3RyeS5hbGdvLnRzOjEzMzAKCS8vIGVuZFRpbWUgPSBleHBUaW1lICsgY29uc3RyYWludERhdGEuZXhwaXJlZEF1Y3Rpb25EdXJhdGlvbiAqIDYwICogNjAgKiAyNAoJZnJhbWVfZGlnIDExIC8vIGV4cFRpbWU6IHVpbnQ2NAoJZnJhbWVfZGlnIDAgLy8gY29uc3RyYWludERhdGE6ICh1aW50NjQsdWludDY0LHVpbnQ2NCxhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0KQoJZXh0cmFjdCA1NiA4CglidG9pCglpbnRjIDIzIC8vIDYwCgkqCglpbnRjIDIzIC8vIDYwCgkqCglwdXNoaW50IDI0CgkqCgkrCglmcmFtZV9idXJ5IDE1IC8vIGVuZFRpbWU6IHVpbnQ2NAoKCS8vIGNvbnRyYWN0cy9ORkRSZWdpc3RyeS5hbGdvLnRzOjEzMzUKCS8vIGFzc2VydChjdXJUaW1lID4gZXhwVGltZSkKCWZyYW1lX2RpZyAxNCAvLyBjdXJUaW1lOiB1aW50NjQKCWZyYW1lX2RpZyAxMSAvLyBleHBUaW1lOiB1aW50NjQKCT4KCWFzc2VydAoKCS8vICppZjcyX2NvbmRpdGlvbgoJLy8gY29udHJhY3RzL05GRFJlZ2lzdHJ5LmFsZ28udHM6MTMzNgoJLy8gY3VyVGltZSA+PSBlbmRUaW1lCglmcmFtZV9kaWcgMTQgLy8gY3VyVGltZTogdWludDY0CglmcmFtZV9kaWcgMTUgLy8gZW5kVGltZTogdWludDY0Cgk+PQoJYnogKmlmNzJfZWxzZQoKCS8vICppZjcyX2NvbnNlcXVlbnQKCS8vIGNvbnRyYWN0cy9ORkRSZWdpc3RyeS5hbGdvLnRzOjEzMzcKCS8vIHJldFByaWNlID0gZW5kUHJpY2UKCWZyYW1lX2RpZyAxMyAvLyBlbmRQcmljZTogdWludDY0CglmcmFtZV9idXJ5IDEgLy8gcmV0UHJpY2U6IHVpbnQ2NAoJYiAqaWY3Ml9lbmQKCippZjcyX2Vsc2U6CgkvLyBjb250cmFjdHMvTkZEUmVnaXN0cnkuYWxnby50czoxMzM5CgkvLyBlbGFwc2VkID0gY3VyVGltZSAtIGV4cFRpbWUKCWZyYW1lX2RpZyAxNCAvLyBjdXJUaW1lOiB1aW50NjQKCWZyYW1lX2RpZyAxMSAvLyBleHBUaW1lOiB1aW50NjQKCS0KCWZyYW1lX2J1cnkgMTYgLy8gZWxhcHNlZDogdWludDY0CgoJLy8gY29udHJhY3RzL05GRFJlZ2lzdHJ5LmFsZ28udHM6MTM0MAoJLy8gdG90YWxEdXJhdGlvbiA9IGVuZFRpbWUgLSBleHBUaW1lCglmcmFtZV9kaWcgMTUgLy8gZW5kVGltZTogdWludDY0CglmcmFtZV9kaWcgMTEgLy8gZXhwVGltZTogdWludDY0CgktCglmcmFtZV9idXJ5IDE3IC8vIHRvdGFsRHVyYXRpb246IHVpbnQ2NAoKCS8vIGNvbnRyYWN0cy9ORkRSZWdpc3RyeS5hbGdvLnRzOjEzNDEKCS8vIHByaWNlRGlmZmVyZW5jZSA9IHN0YXJ0aW5nUHJpY2UgLSBlbmRQcmljZQoJZnJhbWVfZGlnIDEyIC8vIHN0YXJ0aW5nUHJpY2U6IHVpbnQ2NAoJZnJhbWVfZGlnIDEzIC8vIGVuZFByaWNlOiB1aW50NjQKCS0KCWZyYW1lX2J1cnkgMTggLy8gcHJpY2VEaWZmZXJlbmNlOiB1aW50NjQKCgkvLyBjb250cmFjdHMvTkZEUmVnaXN0cnkuYWxnby50czoxMzQyCgkvLyBwcmljZURyb3AgPSAocHJpY2VEaWZmZXJlbmNlICogZWxhcHNlZCkgLyB0b3RhbER1cmF0aW9uCglmcmFtZV9kaWcgMTggLy8gcHJpY2VEaWZmZXJlbmNlOiB1aW50NjQKCWZyYW1lX2RpZyAxNiAvLyBlbGFwc2VkOiB1aW50NjQKCSoKCWZyYW1lX2RpZyAxNyAvLyB0b3RhbER1cmF0aW9uOiB1aW50NjQKCS8KCWZyYW1lX2J1cnkgMTkgLy8gcHJpY2VEcm9wOiB1aW50NjQKCgkvLyBjb250cmFjdHMvTkZEUmVnaXN0cnkuYWxnby50czoxMzQzCgkvLyByZXRQcmljZSA9IHN0YXJ0aW5nUHJpY2UgLSBwcmljZURyb3AKCWZyYW1lX2RpZyAxMiAvLyBzdGFydGluZ1ByaWNlOiB1aW50NjQKCWZyYW1lX2RpZyAxOSAvLyBwcmljZURyb3A6IHVpbnQ2NAoJLQoJZnJhbWVfYnVyeSAxIC8vIHJldFByaWNlOiB1aW50NjQKCgkvLyAqaWY3M19jb25kaXRpb24KCS8vIGNvbnRyYWN0cy9ORkRSZWdpc3RyeS5hbGdvLnRzOjEzNDUKCS8vIHJldFByaWNlIDwgZW5kUHJpY2UKCWZyYW1lX2RpZyAxIC8vIHJldFByaWNlOiB1aW50NjQKCWZyYW1lX2RpZyAxMyAvLyBlbmRQcmljZTogdWludDY0Cgk8CglieiAqaWY3M19lbmQKCgkvLyAqaWY3M19jb25zZXF1ZW50CgkvLyBjb250cmFjdHMvTkZEUmVnaXN0cnkuYWxnby50czoxMzQ2CgkvLyByZXRQcmljZSA9IGVuZFByaWNlCglmcmFtZV9kaWcgMTMgLy8gZW5kUHJpY2U6IHVpbnQ2NAoJZnJhbWVfYnVyeSAxIC8vIHJldFByaWNlOiB1aW50NjQKCippZjczX2VuZDoKCippZjcyX2VuZDoKCippZjcxX2VuZDoKCippZjcwX2VuZDoKCS8vIGNvbnRyYWN0cy9ORkRSZWdpc3RyeS5hbGdvLnRzOjEzNTEKCS8vIGFzc2VydChyZXRQcmljZSA+PSAxMDAwMDAwLCAncHJpY2UgYWx3YXlzIG5lZWRzIHRvIGJlIGF0IGxlYXN0IDEgYWxnbycpCglmcmFtZV9kaWcgMSAvLyByZXRQcmljZTogdWludDY0CglwdXNoaW50IDEwMDAwMDAKCT49CgoJLy8gcHJpY2UgYWx3YXlzIG5lZWRzIHRvIGJlIGF0IGxlYXN0IDEgYWxnbwoJYXNzZXJ0CgoJLy8gY29udHJhY3RzL05GRFJlZ2lzdHJ5LmFsZ28udHM6MTM1MgoJLy8gcmV0dXJuIHsKCS8vICAgICAgICAgICAgIG9uZVllYXJQcmljZTogcmV0UHJpY2UsCgkvLyAgICAgICAgICAgICBjYXJyeUNvc3Q6IG5mZEFwcElkID09PSAwID8gdGhpcy5nZXROZmRNYnJDb3N0KG5mZE5hbWUpIDogMCwKCS8vICAgICAgICAgICAgIGV4aXN0czogbmZkQXBwSWQgIT09IDAsCgkvLyAgICAgICAgICAgICBpbkF1Y3Rpb246IGluQXVjdGlvbiwKCS8vICAgICAgICAgICAgIGlzRXhwaXJlZDogaXNFeHBpcmVkLAoJLy8gICAgICAgICB9CglmcmFtZV9kaWcgMSAvLyByZXRQcmljZTogdWludDY0CglpdG9iCglmcmFtZV9kaWcgNyAvLyBuZmRBcHBJZDogdWludDY0CglpbnRjIDAgLy8gMAoJPT0KCWJ6ICp0ZXJuYXJ5Ml9mYWxzZQoJZnJhbWVfZGlnIC0xIC8vIG5mZE5hbWU6IHN0cmluZwoJY2FsbHN1YiBnZXROZmRNYnJDb3N0CgliICp0ZXJuYXJ5Ml9lbmQKCip0ZXJuYXJ5Ml9mYWxzZToKCWludGMgMCAvLyAwCgoqdGVybmFyeTJfZW5kOgoJaXRvYgoJY29uY2F0CglieXRlYyAxNSAvLyAweDAwCglpbnRjIDAgLy8gMAoJZnJhbWVfZGlnIDcgLy8gbmZkQXBwSWQ6IHVpbnQ2NAoJaW50YyAwIC8vIDAKCSE9CglzZXRiaXQKCWludGMgMSAvLyAxCglmcmFtZV9kaWcgOSAvLyBpc0V4cGlyZWQ6IGJvb2xlYW4KCXNldGJpdAoJaW50YyA1IC8vIDIKCWZyYW1lX2RpZyA4IC8vIGluQXVjdGlvbjogYm9vbGVhbgoJc2V0Yml0Cgljb25jYXQKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCgkvLyBwb3AgYWxsIGxvY2FsIHZhcmlhYmxlcyBmcm9tIHRoZSBzdGFjawoJcG9wbiAxOQoJcmV0c3ViCgovLyBjYWxjRnV0dXJlUHJpY2UodWludDY0LHVpbnQ2NCl1aW50NjQKKmFiaV9yb3V0ZV9jYWxjRnV0dXJlUHJpY2U6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGVjIDEgLy8gMHgxNTFmN2M3NQoKCS8vIGZvclRpbWU6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJYnRvaQoKCS8vIGN1clByaWNlOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWJ0b2kKCgkvLyBleGVjdXRlIGNhbGNGdXR1cmVQcmljZSh1aW50NjQsdWludDY0KXVpbnQ2NAoJY2FsbHN1YiBjYWxjRnV0dXJlUHJpY2UKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnRjIDEgLy8gMQoJcmV0dXJuCgovLyBjYWxjRnV0dXJlUHJpY2UoY3VyUHJpY2U6IHVpbnQ2NCwgZm9yVGltZTogdWludDY0KTogdWludDY0Ci8vCi8vIENhbGN1bGF0ZXMgdGhlIGZ1dHVyZSBwcmljZSBiYXNlZCBvbiB0aGUgY3VycmVudCBwcmljZSBhbmQgdGhlIG51bWJlciBvZiB5ZWFycy4KLy8KLy8gQHBhcmFtIHt1aW50NjR9IGN1clByaWNlIC0gVGhlIGN1cnJlbnQgcHJpY2UgaW4gVVNEIChpbiBkZWNpbWFscykuIEZvciBleGFtcGxlLCBpZiB0aGUgY3VycmVudCBwcmljZSBpcyAkMi4wMCwgdGhlIHZhbHVlIHNob3VsZCBiZSAyMDAuCi8vIEBwYXJhbSB7dWludDY0fSBmb3JUaW1lIC0gVGhlIHRpbWVzdGFtcCB0byBjYWxjIHRoZSBmdXR1cmUgcHJpY2UgYmFzZWQgb24gLSBpZTogMSB5ZWFyIHBhc3QgJ2dvIGxpdmUgZGF0ZScgdGhlIHByaWNlIHdvdWxkIGhhdmUgaW5mbGF0ZWQgYnkgMSB5ZWFyLgovLwovLyBAcmV0dXJuIHt1aW50NjR9IFRoZSBmdXR1cmUgcHJpY2UgY2FsY3VsYXRlZCBiYXNlZCBvbiB0aGUgY3VycmVudCBwcmljZSBhbmQgdGhlIHNwZWNpZmllZCBudW1iZXIgb2YgeWVhcnMuCmNhbGNGdXR1cmVQcmljZToKCXByb3RvIDIgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlYyAwIC8vIDB4CglkdXBuIDMKCgkvLyAqaWY3NF9jb25kaXRpb24KCS8vIGNvbnRyYWN0cy9ORkRSZWdpc3RyeS5hbGdvLnRzOjEzNzIKCS8vIGZvclRpbWUgPCA1Njk3NTAyODQ4MDAKCWZyYW1lX2RpZyAtMiAvLyBmb3JUaW1lOiB1aW50NjQKCWludGMgMTkgLy8gNTY5NzUwMjg0ODAwCgk8CglieiAqaWY3NF9lbmQKCgkvLyAqaWY3NF9jb25zZXF1ZW50CgkvLyBjb250cmFjdHMvTkZEUmVnaXN0cnkuYWxnby50czoxMzc0CgkvLyByZXR1cm4gY3VyUHJpY2UKCWZyYW1lX2RpZyAtMSAvLyBjdXJQcmljZTogdWludDY0CgliICpjYWxjRnV0dXJlUHJpY2UqcmV0dXJuCgoqaWY3NF9lbmQ6CgkvLyBjb250cmFjdHMvTkZEUmVnaXN0cnkuYWxnby50czoxMzc2CgkvLyB0aW1lUGFzdExhdW5jaCA9IGZvclRpbWUgLSA1Njk3NTAyODQ4MDAKCWZyYW1lX2RpZyAtMiAvLyBmb3JUaW1lOiB1aW50NjQKCWludGMgMTkgLy8gNTY5NzUwMjg0ODAwCgktCglmcmFtZV9idXJ5IDAgLy8gdGltZVBhc3RMYXVuY2g6IHVpbnQ2NAoKCS8vIGNvbnRyYWN0cy9ORkRSZWdpc3RyeS5hbGdvLnRzOjEzNzkKCS8vIHllYXJzQWZ0ZXJMYXVuY2ggPSB0aW1lUGFzdExhdW5jaCAvIDMxNTM2MDAwCglmcmFtZV9kaWcgMCAvLyB0aW1lUGFzdExhdW5jaDogdWludDY0CglwdXNoaW50IDMxNTM2MDAwCgkvCglmcmFtZV9idXJ5IDEgLy8geWVhcnNBZnRlckxhdW5jaDogdWludDY0CgoJLy8gKmlmNzVfY29uZGl0aW9uCgkvLyBjb250cmFjdHMvTkZEUmVnaXN0cnkuYWxnby50czoxMzgwCgkvLyB5ZWFyc0FmdGVyTGF1bmNoID09PSAwCglmcmFtZV9kaWcgMSAvLyB5ZWFyc0FmdGVyTGF1bmNoOiB1aW50NjQKCWludGMgMCAvLyAwCgk9PQoJYnogKmlmNzVfZW5kCgoJLy8gKmlmNzVfY29uc2VxdWVudAoJLy8gY29udHJhY3RzL05GRFJlZ2lzdHJ5LmFsZ28udHM6MTM4MQoJLy8gcmV0dXJuIGN1clByaWNlCglmcmFtZV9kaWcgLTEgLy8gY3VyUHJpY2U6IHVpbnQ2NAoJYiAqY2FsY0Z1dHVyZVByaWNlKnJldHVybgoKKmlmNzVfZW5kOgoJLy8gY29udHJhY3RzL05GRFJlZ2lzdHJ5LmFsZ28udHM6MTM4NwoJLy8gYWRqSW5mbGF0aW9uID0gZXhwdygxMDIsIHllYXJzQWZ0ZXJMYXVuY2gpCglwdXNoaW50IDEwMgoJZnJhbWVfZGlnIDEgLy8geWVhcnNBZnRlckxhdW5jaDogdWludDY0CglleHB3CglmcmFtZV9idXJ5IDIgLy8gYWRqSW5mbGF0aW9uIGxvdzogdWludDY0CglmcmFtZV9idXJ5IDMgLy8gYWRqSW5mbGF0aW9uIGhpZ2g6IHVpbnQ2NAoKCS8vIGNvbnRyYWN0cy9ORkRSZWdpc3RyeS5hbGdvLnRzOjEzODgKCS8vIHJldHVybiAoY3VyUHJpY2UgKiBhZGpJbmZsYXRpb24ubG93KSAvIDEwMAoJZnJhbWVfZGlnIC0xIC8vIGN1clByaWNlOiB1aW50NjQKCWZyYW1lX2RpZyAyIC8vIGFkakluZmxhdGlvbiBsb3c6IHVpbnQ2NAoJKgoJcHVzaGludCAxMDAKCS8KCipjYWxjRnV0dXJlUHJpY2UqcmV0dXJuOgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCgoJLy8gcG9wIGFsbCBsb2NhbCB2YXJpYWJsZXMgZnJvbSB0aGUgc3RhY2sKCXBvcG4gMwoJcmV0c3ViCgovLyBwb3cxMChkZWNpbWFsczogdWludDY0KTogdWludDY0CnBvdzEwOgoJcHJvdG8gMSAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDAgLy8gMHgKCWR1cAoKCS8vIGNvbnRyYWN0cy9ORkRSZWdpc3RyeS5hbGdvLnRzOjEzOTIKCS8vIGV4cFJlc3VsdCA9IGV4cHcoMTAsIGRlY2ltYWxzKQoJaW50YyAxMiAvLyAxMAoJZnJhbWVfZGlnIC0xIC8vIGRlY2ltYWxzOiB1aW50NjQKCWV4cHcKCWZyYW1lX2J1cnkgMCAvLyBleHBSZXN1bHQgbG93OiB1aW50NjQKCWZyYW1lX2J1cnkgMSAvLyBleHBSZXN1bHQgaGlnaDogdWludDY0CgoJLy8gY29udHJhY3RzL05GRFJlZ2lzdHJ5LmFsZ28udHM6MTM5MwoJLy8gcmV0dXJuIGV4cFJlc3VsdC5sb3cKCWZyYW1lX2RpZyAwIC8vIGV4cFJlc3VsdCBsb3c6IHVpbnQ2NAoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoKCS8vIHBvcCBhbGwgbG9jYWwgdmFyaWFibGVzIGZyb20gdGhlIHN0YWNrCglwb3BuIDEKCXJldHN1YgoKLy8gbWluQmFsYW5jZUZvckFjY291bnQoY29udHJhY3RzOiB1aW50NjQsIGV4dHJhUGFnZXM6IHVpbnQ2NCwgYXNzZXRzOiB1aW50NjQsIGxvY2FsSW50czogdWludDY0LCBsb2NhbEJ5dGVzOiB1aW50NjQsIGdsb2JhbEludHM6IHVpbnQ2NCwgZ2xvYmFsQnl0ZXM6IHVpbnQ2NCk6IHVpbnQ2NAptaW5CYWxhbmNlRm9yQWNjb3VudDoKCXByb3RvIDcgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlYyAwIC8vIDB4CgoJLy8gY29udHJhY3RzL05GRFJlZ2lzdHJ5LmFsZ28udHM6MTQwNQoJLy8gbWluQmFsID0gQUxHT1JBTkRfQUNDT1VOVF9NSU5fQkFMQU5DRQoJaW50YyAxMSAvLyAxMDAwMDAKCWZyYW1lX2J1cnkgMCAvLyBtaW5CYWw6IHVpbnQ2NAoKCS8vIGNvbnRyYWN0cy9ORkRSZWdpc3RyeS5hbGdvLnRzOjE0MDYKCS8vIG1pbkJhbCArPSBjb250cmFjdHMgKiBBUFBMSUNBVElPTl9CQVNFX0ZFRQoJZnJhbWVfZGlnIDAgLy8gbWluQmFsOiB1aW50NjQKCWZyYW1lX2RpZyAtMSAvLyBjb250cmFjdHM6IHVpbnQ2NAoJaW50YyAxMSAvLyAxMDAwMDAKCSoKCSsKCWZyYW1lX2J1cnkgMCAvLyBtaW5CYWw6IHVpbnQ2NAoKCS8vIGNvbnRyYWN0cy9ORkRSZWdpc3RyeS5hbGdvLnRzOjE0MDcKCS8vIG1pbkJhbCArPSBleHRyYVBhZ2VzICogQVBQTElDQVRJT05fQkFTRV9GRUUKCWZyYW1lX2RpZyAwIC8vIG1pbkJhbDogdWludDY0CglmcmFtZV9kaWcgLTIgLy8gZXh0cmFQYWdlczogdWludDY0CglpbnRjIDExIC8vIDEwMDAwMAoJKgoJKwoJZnJhbWVfYnVyeSAwIC8vIG1pbkJhbDogdWludDY0CgoJLy8gY29udHJhY3RzL05GRFJlZ2lzdHJ5LmFsZ28udHM6MTQwOAoJLy8gbWluQmFsICs9IGFzc2V0cyAqIEFTU0VUX0hPTERJTkdfRkVFCglmcmFtZV9kaWcgMCAvLyBtaW5CYWw6IHVpbnQ2NAoJZnJhbWVfZGlnIC0zIC8vIGFzc2V0czogdWludDY0CglpbnRjIDExIC8vIDEwMDAwMAoJKgoJKwoJZnJhbWVfYnVyeSAwIC8vIG1pbkJhbDogdWludDY0CgoJLy8gY29udHJhY3RzL05GRFJlZ2lzdHJ5LmFsZ28udHM6MTQwOQoJLy8gbWluQmFsICs9IGxvY2FsSW50cyAqIFNTQ19WQUxVRV9VSU5UCglmcmFtZV9kaWcgMCAvLyBtaW5CYWw6IHVpbnQ2NAoJZnJhbWVfZGlnIC00IC8vIGxvY2FsSW50czogdWludDY0CglpbnRjIDIwIC8vIDI4NTAwCgkqCgkrCglmcmFtZV9idXJ5IDAgLy8gbWluQmFsOiB1aW50NjQKCgkvLyBjb250cmFjdHMvTkZEUmVnaXN0cnkuYWxnby50czoxNDEwCgkvLyBtaW5CYWwgKz0gZ2xvYmFsSW50cyAqIFNTQ19WQUxVRV9VSU5UCglmcmFtZV9kaWcgMCAvLyBtaW5CYWw6IHVpbnQ2NAoJZnJhbWVfZGlnIC02IC8vIGdsb2JhbEludHM6IHVpbnQ2NAoJaW50YyAyMCAvLyAyODUwMAoJKgoJKwoJZnJhbWVfYnVyeSAwIC8vIG1pbkJhbDogdWludDY0CgoJLy8gY29udHJhY3RzL05GRFJlZ2lzdHJ5LmFsZ28udHM6MTQxMQoJLy8gbWluQmFsICs9IGxvY2FsQnl0ZXMgKiBTU0NfVkFMVUVfQllURVMKCWZyYW1lX2RpZyAwIC8vIG1pbkJhbDogdWludDY0CglmcmFtZV9kaWcgLTUgLy8gbG9jYWxCeXRlczogdWludDY0CglpbnRjIDIxIC8vIDUwMDAwCgkqCgkrCglmcmFtZV9idXJ5IDAgLy8gbWluQmFsOiB1aW50NjQKCgkvLyBjb250cmFjdHMvTkZEUmVnaXN0cnkuYWxnby50czoxNDEyCgkvLyBtaW5CYWwgKz0gZ2xvYmFsQnl0ZXMgKiBTU0NfVkFMVUVfQllURVMKCWZyYW1lX2RpZyAwIC8vIG1pbkJhbDogdWludDY0CglmcmFtZV9kaWcgLTcgLy8gZ2xvYmFsQnl0ZXM6IHVpbnQ2NAoJaW50YyAyMSAvLyA1MDAwMAoJKgoJKwoJZnJhbWVfYnVyeSAwIC8vIG1pbkJhbDogdWludDY0CgoJLy8gY29udHJhY3RzL05GRFJlZ2lzdHJ5LmFsZ28udHM6MTQxMwoJLy8gcmV0dXJuIG1pbkJhbAoJZnJhbWVfZGlnIDAgLy8gbWluQmFsOiB1aW50NjQKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKLy8gY29zdEZvckJveFN0b3JhZ2UobmV3Qm94ZXM6IHVpbnQ2NCwgdG90YWxOdW1CeXRlczogdWludDY0KTogdWludDY0CmNvc3RGb3JCb3hTdG9yYWdlOgoJcHJvdG8gMiAxCgoJLy8gY29udHJhY3RzL05GRFJlZ2lzdHJ5LmFsZ28udHM6MTQxNwoJLy8gcmV0dXJuIFNDQk9YX1BFUkJPWCAqIG5ld0JveGVzICsgdG90YWxOdW1CeXRlcyAqIFNDQk9YX1BFUkJZVEUKCXB1c2hpbnQgMjUwMAoJZnJhbWVfZGlnIC0xIC8vIG5ld0JveGVzOiB1aW50NjQKCSoKCWZyYW1lX2RpZyAtMiAvLyB0b3RhbE51bUJ5dGVzOiB1aW50NjQKCXB1c2hpbnQgNDAwCgkqCgkrCglyZXRzdWIKCi8vIGNvbmRlbnNlZEFzYU5hbWUobmZkTmFtZTogc3RyaW5nKTogc3RyaW5nCmNvbmRlbnNlZEFzYU5hbWU6Cglwcm90byAxIDEKCgkvLyAqaWY3Nl9jb25kaXRpb24KCS8vIGNvbnRyYWN0cy9ORkRSZWdpc3RyeS5hbGdvLnRzOjE0MjIKCS8vIGxlbihuZmROYW1lKSA8PSAzMgoJZnJhbWVfZGlnIC0xIC8vIG5mZE5hbWU6IHN0cmluZwoJbGVuCglpbnRjIDQgLy8gMzIKCTw9CglieiAqaWY3Nl9lbmQKCgkvLyAqaWY3Nl9jb25zZXF1ZW50CgkvLyBjb250cmFjdHMvTkZEUmVnaXN0cnkuYWxnby50czoxNDIzCgkvLyByZXR1cm4gbmZkTmFtZQoJZnJhbWVfZGlnIC0xIC8vIG5mZE5hbWU6IHN0cmluZwoJcmV0c3ViCgoqaWY3Nl9lbmQ6CgkvLyBjb250cmFjdHMvTkZEUmVnaXN0cnkuYWxnby50czoxNDI2CgkvLyByZXR1cm4gc3Vic3RyaW5nMyhuZmROYW1lLCAwLCAzMiAtIGxlbihzdWZmaXgpKSArIHN1ZmZpeAoJZnJhbWVfZGlnIC0xIC8vIG5mZE5hbWU6IHN0cmluZwoJaW50YyAwIC8vIDAKCWludGMgNCAvLyAzMgoJYnl0ZWMgMTcgLy8gIi4uLmFsZ28iCglsZW4KCS0KCXN1YnN0cmluZzMKCWJ5dGVjIDE3IC8vICIuLi5hbGdvIgoJY29uY2F0CglyZXRzdWIKCi8vIGVuY29kZVVWYXJJbnRJbXBsKHZhbDogdWludDY0LCBiOiBieXRlcyk6IGJ5dGVzCmVuY29kZVVWYXJJbnRJbXBsOgoJcHJvdG8gMiAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDAgLy8gMHgKCgkvLyBjb250cmFjdHMvTkZEUmVnaXN0cnkuYWxnby50czoxNDMwCgkvLyBidWZmID0gYgoJZnJhbWVfZGlnIC0yIC8vIGI6IGJ5dGVzCglmcmFtZV9idXJ5IDAgLy8gYnVmZjogYnl0ZVtdCgoJLy8gKmlmNzdfY29uZGl0aW9uCgkvLyBjb250cmFjdHMvTkZEUmVnaXN0cnkuYWxnby50czoxNDMxCgkvLyB2YWwgPj0gMTI4CglmcmFtZV9kaWcgLTEgLy8gdmFsOiB1aW50NjQKCWludGMgMjQgLy8gMTI4Cgk+PQoJYnogKmlmNzdfZWxzZQoKCS8vICppZjc3X2NvbnNlcXVlbnQKCS8vIGNvbnRyYWN0cy9ORkRSZWdpc3RyeS5hbGdvLnRzOjE0MzIKCS8vIGJ1ZmYgPSB0aGlzLmVuY29kZVVWYXJJbnRJbXBsKHZhbCA+PiA3LCBleHRyYWN0MyhpdG9iKCh2YWwgJiAyNTUpIHwgMTI4KSwgNywgMSkpCglmcmFtZV9kaWcgLTEgLy8gdmFsOiB1aW50NjQKCWludGMgMjUgLy8gMjU1CgkmCglpbnRjIDI0IC8vIDEyOAoJfAoJaXRvYgoJZXh0cmFjdCA3IDEKCWZyYW1lX2RpZyAtMSAvLyB2YWw6IHVpbnQ2NAoJcHVzaGludCA3CglzaHIKCWNhbGxzdWIgZW5jb2RlVVZhckludEltcGwKCWZyYW1lX2J1cnkgMCAvLyBidWZmOiBieXRlW10KCWIgKmlmNzdfZW5kCgoqaWY3N19lbHNlOgoJLy8gY29udHJhY3RzL05GRFJlZ2lzdHJ5LmFsZ28udHM6MTQzMwoJLy8gYnVmZiA9IGV4dHJhY3QzKGl0b2IodmFsICYgMjU1KSwgNywgMSkKCWZyYW1lX2RpZyAtMSAvLyB2YWw6IHVpbnQ2NAoJaW50YyAyNSAvLyAyNTUKCSYKCWl0b2IKCWV4dHJhY3QgNyAxCglmcmFtZV9idXJ5IDAgLy8gYnVmZjogYnl0ZVtdCgoqaWY3N19lbmQ6CgkvLyBjb250cmFjdHMvTkZEUmVnaXN0cnkuYWxnby50czoxNDM1CgkvLyByZXR1cm4gYiArIGJ1ZmYKCWZyYW1lX2RpZyAtMiAvLyBiOiBieXRlcwoJZnJhbWVfZGlnIDAgLy8gYnVmZjogYnl0ZVtdCgljb25jYXQKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKLy8gZW5jb2RlVVZhckludCh2YWw6IHVpbnQ2NCk6IGJ5dGVzCmVuY29kZVVWYXJJbnQ6Cglwcm90byAxIDEKCgkvLyBjb250cmFjdHMvTkZEUmVnaXN0cnkuYWxnby50czoxNDM5CgkvLyByZXR1cm4gdGhpcy5lbmNvZGVVVmFySW50SW1wbCh2YWwsICcnKQoJYnl0ZWMgMCAvLyAgIiIKCWZyYW1lX2RpZyAtMSAvLyB2YWw6IHVpbnQ2NAoJY2FsbHN1YiBlbmNvZGVVVmFySW50SW1wbAoJcmV0c3ViCgovLyBnZXRMc2lnQWRkcmVzcyhieXRlc1RvQWRkOiBieXRlcyk6IGJ5dGVzCmdldExzaWdBZGRyZXNzOgoJcHJvdG8gMSAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDAgLy8gMHgKCgkvLyBjb250cmFjdHMvTkZEUmVnaXN0cnkuYWxnby50czoxNDQzCgkvLyBsc2lnQnl0ZUNvZGUgPQoJLy8gICAgICAgICAgICAgaGV4KCcweDA1MjAwMTAxODAwODAxMDIwMzA0MDUwNicpICsKCS8vICAgICAgICAgICAgIGhleCgnMHgwNzA4MTczNTAwMzExODM0MDAxMjMxMTAnKSArCgkvLyAgICAgICAgICAgICBoZXgoJzB4ODEwNjEyMTAzMTE5MjIxMjMxMTk4MTAwJykgKwoJLy8gICAgICAgICAgICAgaGV4KCcweDEyMTExMDQwMDAwMTAwMjI0MzI2MDEnKQoJcHVzaGJ5dGVzIDB4MDUyMDAxMDE4MDA4MDEwMjAzMDQwNTA2MDcwODE3MzUwMDMxMTgzNDAwMTIzMTEwODEwNjEyMTAzMTE5MjIxMjMxMTk4MTAwMTIxMTEwNDAwMDAxMDAyMjQzMjYwMQoJZnJhbWVfYnVyeSAwIC8vIGxzaWdCeXRlQ29kZTogYnl0ZVtdCgoJLy8gY29udHJhY3RzL05GRFJlZ2lzdHJ5LmFsZ28udHM6MTQ0OAoJLy8gbHNpZ0J5dGVDb2RlID0gcmVwbGFjZTMobHNpZ0J5dGVDb2RlLCA2LCBpdG9iKHRoaXMuYXBwKSkKCWZyYW1lX2RpZyAwIC8vIGxzaWdCeXRlQ29kZTogYnl0ZVtdCglpbnRjIDMgLy8gNgoJdHhuYSBBcHBsaWNhdGlvbnMgMAoJaXRvYgoJcmVwbGFjZTMKCWZyYW1lX2J1cnkgMCAvLyBsc2lnQnl0ZUNvZGU6IGJ5dGVbXQoKCS8vIGNvbnRyYWN0cy9ORkRSZWdpc3RyeS5hbGdvLnRzOjE0NDkKCS8vIGxzaWdCeXRlQ29kZSA9IGxzaWdCeXRlQ29kZSArIHRoaXMuZW5jb2RlVVZhckludChieXRlc1RvQWRkLmxlbmd0aCkgKyBieXRlc1RvQWRkCglmcmFtZV9kaWcgMCAvLyBsc2lnQnl0ZUNvZGU6IGJ5dGVbXQoJZnJhbWVfZGlnIC0xIC8vIGJ5dGVzVG9BZGQ6IGJ5dGVzCglsZW4KCWNhbGxzdWIgZW5jb2RlVVZhckludAoJY29uY2F0CglmcmFtZV9kaWcgLTEgLy8gYnl0ZXNUb0FkZDogYnl0ZXMKCWNvbmNhdAoJZnJhbWVfYnVyeSAwIC8vIGxzaWdCeXRlQ29kZTogYnl0ZVtdCgoJLy8gY29udHJhY3RzL05GRFJlZ2lzdHJ5LmFsZ28udHM6MTQ1MAoJLy8gcmV0dXJuIHNoYTUxMl8yNTYoJ1Byb2dyYW0nICsgbHNpZ0J5dGVDb2RlKSBhcyBieXRlcwoJcHVzaGJ5dGVzIDB4NTA3MjZmNjc3MjYxNmQgLy8gIlByb2dyYW0iCglmcmFtZV9kaWcgMCAvLyBsc2lnQnl0ZUNvZGU6IGJ5dGVbXQoJY29uY2F0CglzaGE1MTJfMjU2CgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCi8vIGlzVjFORkRJREF1dGhlbnRpYyhuZmROYW1lOiBieXRlcywgbmZkQXBwSWQ6IHVpbnQ2NCk6IGJvb2xlYW4KaXNWMU5GRElEQXV0aGVudGljOgoJcHJvdG8gMiAxCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDAgLy8gMHgKCgkvLyBjb250cmFjdHMvTkZEUmVnaXN0cnkuYWxnby50czoxNDU0CgkvLyBwcm9nSGFzaCA9IHRoaXMuZ2V0THNpZ0FkZHJlc3MoJ25hbWUvJyArIG5mZE5hbWUpCglieXRlYyAxMyAvLyAgIm5hbWUvIgoJZnJhbWVfZGlnIC0xIC8vIG5mZE5hbWU6IGJ5dGVzCgljb25jYXQKCWNhbGxzdWIgZ2V0THNpZ0FkZHJlc3MKCWZyYW1lX2J1cnkgMCAvLyBwcm9nSGFzaDogYnl0ZVtdCgoJLy8gY29udHJhY3RzL05GRFJlZ2lzdHJ5LmFsZ28udHM6MTQ1NgoJLy8gYXNzZXJ0KAoJLy8gICAgICAgICAgICAgdGhpcy5sb2NhbFN0YXRlKEFkZHJlc3MuZnJvbUJ5dGVzKHByb2dIYXNoKSwgUkVHSVNUUllfS0VZX0FQUElEKS5leGlzdHMsCgkvLyAgICAgICAgICAgICAnbHNpZyBoYXMgdG8gaGF2ZSBpLmFwcGlkIGxvY2Fsc3RhdGUnLAoJLy8gICAgICAgICApCglmcmFtZV9kaWcgMCAvLyBwcm9nSGFzaDogYnl0ZVtdCgl0eG5hIEFwcGxpY2F0aW9ucyAwCglieXRlYyAxNCAvLyAiaS5hcHBpZCIKCWFwcF9sb2NhbF9nZXRfZXgKCXN3YXAKCXBvcAoKCS8vIGxzaWcgaGFzIHRvIGhhdmUgaS5hcHBpZCBsb2NhbHN0YXRlCglhc3NlcnQKCgkvLyBjb250cmFjdHMvTkZEUmVnaXN0cnkuYWxnby50czoxNDYwCgkvLyByZXR1cm4gdGhpcy5sb2NhbFN0YXRlKEFkZHJlc3MuZnJvbUJ5dGVzKHByb2dIYXNoKSwgUkVHSVNUUllfS0VZX0FQUElEKS52YWx1ZSA9PT0gaXRvYihuZmRBcHBJZCkKCWZyYW1lX2RpZyAwIC8vIHByb2dIYXNoOiBieXRlW10KCWJ5dGVjIDE0IC8vICJpLmFwcGlkIgoJYXBwX2xvY2FsX2dldAoJZnJhbWVfZGlnIC0yIC8vIG5mZEFwcElkOiB1aW50NjQKCWl0b2IKCT09CgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCi8vIGdldEJveE5hbWUobmZkTmFtZTogYnl0ZXMpOiBieXRlcwpnZXRCb3hOYW1lOgoJcHJvdG8gMSAxCgoJLy8gY29udHJhY3RzL05GRFJlZ2lzdHJ5LmFsZ28udHM6MTQ2NAoJLy8gcmV0dXJuIHNoYTI1NignbmFtZS8nICsgbmZkTmFtZSkgYXMgYnl0ZXMKCWJ5dGVjIDEzIC8vICAibmFtZS8iCglmcmFtZV9kaWcgLTEgLy8gbmZkTmFtZTogYnl0ZXMKCWNvbmNhdAoJc2hhMjU2CglyZXRzdWIKCi8vIGdldEFsZ29BZGRyZXNzQm94TmFtZShhZGRyZXNzOiBieXRlcyk6IGJ5dGVzCmdldEFsZ29BZGRyZXNzQm94TmFtZToKCXByb3RvIDEgMQoKCS8vIGNvbnRyYWN0cy9ORkRSZWdpc3RyeS5hbGdvLnRzOjE0NjgKCS8vIHJldHVybiBzaGEyNTYoJ2FkZHIvYWxnby8nICsgYWRkcmVzcykgYXMgYnl0ZXMKCXB1c2hieXRlcyAweDYxNjQ2NDcyMmY2MTZjNjc2ZjJmIC8vICJhZGRyL2FsZ28vIgoJZnJhbWVfZGlnIC0xIC8vIGFkZHJlc3M6IGJ5dGVzCgljb25jYXQKCXNoYTI1NgoJcmV0c3ViCgovLyBnZXRBY2NvdW50T3duc05mZEJveE5hbWUodXNlckFjY291bnQ6IEFkZHJlc3MsIG5mZEFwcElkOiB1aW50NjQpOiBieXRlcwpnZXRBY2NvdW50T3duc05mZEJveE5hbWU6Cglwcm90byAyIDEKCgkvLyBjb250cmFjdHMvTkZEUmVnaXN0cnkuYWxnby50czoxNDc0CgkvLyByZXR1cm4gY29uY2F0KCdPJywgY29uY2F0KHJhd0J5dGVzKHVzZXJBY2NvdW50KSwgaXRvYihuZmRBcHBJZCkpKQoJcHVzaGJ5dGVzIDB4NGYgLy8gIk8iCglmcmFtZV9kaWcgLTEgLy8gdXNlckFjY291bnQ6IEFkZHJlc3MKCWZyYW1lX2RpZyAtMiAvLyBuZmRBcHBJZDogdWludDY0CglpdG9iCgljb25jYXQKCWNvbmNhdAoJcmV0c3ViCgovLyBpc1YyTmZkQXBwSWRBdXRoZW50aWMobmZkTmFtZTogYnl0ZXMsIG5mZEFwcElkOiB1aW50NjQpOiBib29sZWFuCmlzVjJOZmRBcHBJZEF1dGhlbnRpYzoKCXByb3RvIDIgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlYyAwIC8vIDB4CglkdXBuIDIKCgkvLyBjb250cmFjdHMvTkZEUmVnaXN0cnkuYWxnby50czoxNDc4CgkvLyBib3hOYW1lID0gdGhpcy5nZXRCb3hOYW1lKG5mZE5hbWUpCglmcmFtZV9kaWcgLTEgLy8gbmZkTmFtZTogYnl0ZXMKCWNhbGxzdWIgZ2V0Qm94TmFtZQoJZnJhbWVfYnVyeSAwIC8vIGJveE5hbWU6IGJ5dGVbXQoKCS8vIGNvbnRyYWN0cy9ORkRSZWdpc3RyeS5hbGdvLnRzOjE0NzkKCS8vIGJveERhdGEgPSB0aGlzLmJveGVzKGJveE5hbWUpLnZhbHVlCglmcmFtZV9kaWcgMCAvLyBib3hOYW1lOiBieXRlW10KCWJveF9nZXQKCgkvLyBib3ggdmFsdWUgZG9lcyBub3QgZXhpc3Q6IHRoaXMuYm94ZXMoYm94TmFtZSkudmFsdWUKCWFzc2VydAoJZnJhbWVfYnVyeSAxIC8vIGJveERhdGE6IGJ5dGVbXQoKCS8vIGNvbnRyYWN0cy9ORkRSZWdpc3RyeS5hbGdvLnRzOjE0ODAKCS8vIGJveExlbmd0aCA9IHRoaXMuYm94ZXMoYm94TmFtZSkuc2l6ZQoJZnJhbWVfZGlnIDAgLy8gYm94TmFtZTogYnl0ZVtdCglib3hfbGVuCgoJLy8gYm94IHZhbHVlIGRvZXMgbm90IGV4aXN0OiB0aGlzLmJveGVzKGJveE5hbWUpLnNpemUKCWFzc2VydAoJZnJhbWVfYnVyeSAyIC8vIGJveExlbmd0aDogdWludDY0CgoJLy8gKmlmNzhfY29uZGl0aW9uCgkvLyBjb250cmFjdHMvTkZEUmVnaXN0cnkuYWxnby50czoxNDgzCgkvLyAhdGhpcy5ib3hlcyhib3hOYW1lKS5leGlzdHMKCWZyYW1lX2RpZyAwIC8vIGJveE5hbWU6IGJ5dGVbXQoJYm94X2xlbgoJc3dhcAoJcG9wCgkhCglieiAqaWY3OF9lbmQKCgkvLyAqaWY3OF9jb25zZXF1ZW50CgkvLyBjb250cmFjdHMvTkZEUmVnaXN0cnkuYWxnby50czoxNDgzCgkvLyByZXR1cm4gZmFsc2UKCWludGMgMCAvLyAwCgliICppc1YyTmZkQXBwSWRBdXRoZW50aWMqcmV0dXJuCgoqaWY3OF9lbmQ6CgkvLyAqaWY3OV9jb25kaXRpb24KCS8vIGNvbnRyYWN0cy9ORkRSZWdpc3RyeS5hbGdvLnRzOjE0ODUKCS8vIGJveExlbmd0aCAhPT0gMTYKCWZyYW1lX2RpZyAyIC8vIGJveExlbmd0aDogdWludDY0CglpbnRjIDEwIC8vIDE2CgkhPQoJYnogKmlmNzlfZW5kCgoJLy8gKmlmNzlfY29uc2VxdWVudAoJLy8gY29udHJhY3RzL05GRFJlZ2lzdHJ5LmFsZ28udHM6MTQ4NQoJLy8gcmV0dXJuIGZhbHNlCglpbnRjIDAgLy8gMAoJYiAqaXNWMk5mZEFwcElkQXV0aGVudGljKnJldHVybgoKKmlmNzlfZW5kOgoJLy8gKmlmODBfY29uZGl0aW9uCgkvLyBjb250cmFjdHMvTkZEUmVnaXN0cnkuYWxnby50czoxNDg2CgkvLyBuZmROYW1lLmxlbmd0aCA8IDUKCWZyYW1lX2RpZyAtMSAvLyBuZmROYW1lOiBieXRlcwoJbGVuCglpbnRjIDYgLy8gNQoJPAoJYnogKmlmODBfZW5kCgoJLy8gKmlmODBfY29uc2VxdWVudAoJLy8gY29udHJhY3RzL05GRFJlZ2lzdHJ5LmFsZ28udHM6MTQ4NgoJLy8gcmV0dXJuIGZhbHNlCglpbnRjIDAgLy8gMAoJYiAqaXNWMk5mZEFwcElkQXV0aGVudGljKnJldHVybgoKKmlmODBfZW5kOgoJLy8gKmlmODFfY29uZGl0aW9uCgkvLyBjb250cmFjdHMvTkZEUmVnaXN0cnkuYWxnby50czoxNDg3CgkvLyAoQXBwSUQuZnJvbVVpbnQ2NChuZmRBcHBJZCkuZ2xvYmFsU3RhdGUoTkZEX0tFWV9OQU1FKSBhcyBieXRlcykgIT09IG5mZE5hbWUKCWZyYW1lX2RpZyAtMiAvLyBuZmRBcHBJZDogdWludDY0CglieXRlYyAxOSAvLyAiaS5uYW1lIgoJYXBwX2dsb2JhbF9nZXRfZXgKCgkvLyBnbG9iYWwgc3RhdGUgdmFsdWUgZG9lcyBub3QgZXhpc3Q6IEFwcElELmZyb21VaW50NjQobmZkQXBwSWQpLmdsb2JhbFN0YXRlKE5GRF9LRVlfTkFNRSkKCWFzc2VydAoJZnJhbWVfZGlnIC0xIC8vIG5mZE5hbWU6IGJ5dGVzCgkhPQoJYnogKmlmODFfZW5kCgoJLy8gKmlmODFfY29uc2VxdWVudAoJLy8gY29udHJhY3RzL05GRFJlZ2lzdHJ5LmFsZ28udHM6MTQ4NwoJLy8gcmV0dXJuIGZhbHNlCglpbnRjIDAgLy8gMAoJYiAqaXNWMk5mZEFwcElkQXV0aGVudGljKnJldHVybgoKKmlmODFfZW5kOgoJLy8gY29udHJhY3RzL05GRFJlZ2lzdHJ5LmFsZ28udHM6MTQ4OAoJLy8gcmV0dXJuIGV4dHJhY3RVaW50NjQoYm94RGF0YSwgOCkgPT09IG5mZEFwcElkCglmcmFtZV9kaWcgMSAvLyBib3hEYXRhOiBieXRlW10KCWludGMgMiAvLyA4CglleHRyYWN0X3VpbnQ2NAoJZnJhbWVfZGlnIC0yIC8vIG5mZEFwcElkOiB1aW50NjQKCT09CgoqaXNWMk5mZEFwcElkQXV0aGVudGljKnJldHVybjoKCS8vIHNldCB0aGUgc3Vicm91dGluZSByZXR1cm4gdmFsdWUKCWZyYW1lX2J1cnkgMAoKCS8vIHBvcCBhbGwgbG9jYWwgdmFyaWFibGVzIGZyb20gdGhlIHN0YWNrCglwb3BuIDIKCXJldHN1YgoKLy8gY2FsY0V4cGlyYXRpb24ocmVuZXdhbFByaWNlOiB1aW50NjQsIGFtdFBhaWQ6IHVpbnQ2NCwgY3VyVGltZTogdWludDY0LCBtYXhZZWFyc0FsbG93ZWQ6IHVpbnQ2NCk6IHVpbnQ2NAovLwovLyBDYWxjdWxhdGVzIHRoZSBuZXcgZXhwaXJhdGlvbiB0aW1lIGJhc2VkIG9uIHRoZSByZW5ld2FsIHByaWNlLCBhbW91bnQgcGFpZCwgY3VycmVudCB0aW1lLCBhbmQgbWF4aW11bSB5ZWFycyBhbGxvd2VkLgovLwovLyBAcGFyYW0gcmVuZXdhbFByaWNlIC0gVGhlIHByaWNlIGZvciByZW5ld2luZyB0aGUgZXhwaXJhdGlvbi4KLy8gQHBhcmFtIGFtdFBhaWQgLSBUaGUgYW1vdW50IHBhaWQgZm9yIHRoZSByZW5ld2FsLgovLyBAcGFyYW0gY3VyVGltZSAtIFRoZSBjdXJyZW50IHRpbWUgaW4gdW5peCB0aW1lIHNlY29uZHMuCi8vIEBwYXJhbSBtYXhZZWFyc0FsbG93ZWQgLSBUaGUgbWF4aW11bSBudW1iZXIgb2YgeWVhcnMgYWxsb3dlZCBmb3IgdGhlIGV4cGlyYXRpb24uCi8vCi8vIEByZXR1cm4gVGhlIG5ldyBleHBpcmF0aW9uIHRpbWUgaW4gdW5peHRpbWUgc2Vjb25kcwpjYWxjRXhwaXJhdGlvbjoKCXByb3RvIDQgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlYyAwIC8vIDB4CglkdXAKCgkvLyBjb250cmFjdHMvTkZEUmVnaXN0cnkuYWxnby50czoxNTAyCgkvLyBleHRyYVNlY29uZHMgPSAoMzY1ICogYW10UGFpZCAqIFNFQ1NfSU5fREFZKSAvIHJlbmV3YWxQcmljZQoJaW50YyAxNSAvLyAzNjUKCWZyYW1lX2RpZyAtMiAvLyBhbXRQYWlkOiB1aW50NjQKCSoKCWludGMgMTQgLy8gODY0MDAKCSoKCWZyYW1lX2RpZyAtMSAvLyByZW5ld2FsUHJpY2U6IHVpbnQ2NAoJLwoJZnJhbWVfYnVyeSAwIC8vIGV4dHJhU2Vjb25kczogdWludDY0CgoJLy8gY29udHJhY3RzL05GRFJlZ2lzdHJ5LmFsZ28udHM6MTUwMwoJLy8gbmV3RXhwaXJhdGlvbiA9IGN1clRpbWUgKyBleHRyYVNlY29uZHMKCWZyYW1lX2RpZyAtMyAvLyBjdXJUaW1lOiB1aW50NjQKCWZyYW1lX2RpZyAwIC8vIGV4dHJhU2Vjb25kczogdWludDY0CgkrCglmcmFtZV9idXJ5IDEgLy8gbmV3RXhwaXJhdGlvbjogdWludDY0CgoJLy8gY29udHJhY3RzL05GRFJlZ2lzdHJ5LmFsZ28udHM6MTUwNQoJLy8gYXNzZXJ0KAoJLy8gICAgICAgICAgICAgbmV3RXhwaXJhdGlvbiA8PSBnbG9iYWxzLmxhdGVzdFRpbWVzdGFtcCArIDM2NSAqIG1heFllYXJzQWxsb3dlZCAqIFNFQ1NfSU5fREFZLAoJLy8gICAgICAgICAgICAgJ21heCBleHBpcmF0aW9uIGV4Y2VlZGVkIHBhcmFtZXRlcnMgZGVmaW5lZCBieSByZWdpc3RyeScsCgkvLyAgICAgICAgICkKCWZyYW1lX2RpZyAxIC8vIG5ld0V4cGlyYXRpb246IHVpbnQ2NAoJZ2xvYmFsIExhdGVzdFRpbWVzdGFtcAoJaW50YyAxNSAvLyAzNjUKCWZyYW1lX2RpZyAtNCAvLyBtYXhZZWFyc0FsbG93ZWQ6IHVpbnQ2NAoJKgoJaW50YyAxNCAvLyA4NjQwMAoJKgoJKwoJPD0KCgkvLyBtYXggZXhwaXJhdGlvbiBleGNlZWRlZCBwYXJhbWV0ZXJzIGRlZmluZWQgYnkgcmVnaXN0cnkKCWFzc2VydAoKCS8vIGNvbnRyYWN0cy9ORkRSZWdpc3RyeS5hbGdvLnRzOjE1MDkKCS8vIHJldHVybiBuZXdFeHBpcmF0aW9uCglmcmFtZV9kaWcgMSAvLyBuZXdFeHBpcmF0aW9uOiB1aW50NjQKCgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCgkvLyBwb3AgYWxsIGxvY2FsIHZhcmlhYmxlcyBmcm9tIHRoZSBzdGFjawoJcG9wbiAxCglyZXRzdWIKCi8vIGlzUHJlVjMoYXBwSWQ6IHVpbnQ2NCk6IGJvb2xlYW4KaXNQcmVWMzoKCXByb3RvIDEgMQoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlYyAwIC8vIDB4CgoJLy8gY29udHJhY3RzL05GRFJlZ2lzdHJ5LmFsZ28udHM6MTUxMwoJLy8gbWFqVmVyID0gZXh0cmFjdDMoQXBwSUQuZnJvbVVpbnQ2NChhcHBJZCkuZ2xvYmFsU3RhdGUoTkZEX0tFWV9WRVJTSU9OKSBhcyBieXRlcywgMCwgMikKCWZyYW1lX2RpZyAtMSAvLyBhcHBJZDogdWludDY0CglieXRlYyA5IC8vICJpLnZlciIKCWFwcF9nbG9iYWxfZ2V0X2V4CgoJLy8gZ2xvYmFsIHN0YXRlIHZhbHVlIGRvZXMgbm90IGV4aXN0OiBBcHBJRC5mcm9tVWludDY0KGFwcElkKS5nbG9iYWxTdGF0ZShORkRfS0VZX1ZFUlNJT04pCglhc3NlcnQKCWV4dHJhY3QgMCAyCglmcmFtZV9idXJ5IDAgLy8gbWFqVmVyOiBieXRlW10KCgkvLyBjb250cmFjdHMvTkZEUmVnaXN0cnkuYWxnby50czoxNTE0CgkvLyByZXR1cm4gbWFqVmVyID09PSAnMS4nIHx8IG1halZlciA9PT0gJzIuJwoJZnJhbWVfZGlnIDAgLy8gbWFqVmVyOiBieXRlW10KCXB1c2hieXRlcyAweDMxMmUgLy8gIjEuIgoJPT0KCWR1cAoJYm56ICpza2lwX29yNAoJZnJhbWVfZGlnIDAgLy8gbWFqVmVyOiBieXRlW10KCXB1c2hieXRlcyAweDMyMmUgLy8gIjIuIgoJPT0KCXx8Cgoqc2tpcF9vcjQ6CgkvLyBzZXQgdGhlIHN1YnJvdXRpbmUgcmV0dXJuIHZhbHVlCglmcmFtZV9idXJ5IDAKCXJldHN1YgoKKmFiaV9yb3V0ZV9jcmVhdGVBcHBsaWNhdGlvbjoKCWludGMgMSAvLyAxCglyZXR1cm4KCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHgzMTcyY2E5ZCAvLyBtZXRob2QgImdhcygpdm9pZCIKCXB1c2hieXRlcyAweGZmYzIzMDNjIC8vIG1ldGhvZCAiZ2V0UHJpY2Uoc3RyaW5nLGFkZHJlc3MpKHVpbnQ2NCx1aW50NjQsYm9vbCxib29sLGJvb2wpIgoJcHVzaGJ5dGVzIDB4NzAzYjhjZTcgLy8gbWV0aG9kICJnZXRDb25zdHJhaW50cygpKHVpbnQ2NCx1aW50NjQsdWludDY0LGFkZHJlc3MsdWludDY0LHVpbnQ2NCx1aW50NjQpIgoJcHVzaGJ5dGVzIDB4MjBlMDJlNzcgLy8gbWV0aG9kICJnZXROZmRNYnJDb3N0KHN0cmluZyl1aW50NjQiCglwdXNoYnl0ZXMgMHg3ZTE0YjZkMyAvLyBtZXRob2QgImdldE5mZExpbmtPbk1pbnRFeHRyYU1ickNvc3QoYWRkcmVzcykodWludDY0LHVpbnQ2NCkiCglwdXNoYnl0ZXMgMHgzZThlNGI3NiAvLyBtZXRob2QgIm1pbnROZmQocGF5LHN0cmluZyxhZGRyZXNzLGJvb2wpdWludDY0IgoJcHVzaGJ5dGVzIDB4OTQwZmE0NzEgLy8gbWV0aG9kICJsaW5rTmZkQWRkcmVzcyhzdHJpbmcsdWludDY0LGFkZHJlc3Mpdm9pZCIKCXB1c2hieXRlcyAweDk1ZDhmNWNjIC8vIG1ldGhvZCAidW5saW5rTmZkQWRkcmVzcyhzdHJpbmcsdWludDY0LGFkZHJlc3Mpdm9pZCIKCXB1c2hieXRlcyAweGQyNTk4ZjAyIC8vIG1ldGhvZCAib3duZXJzaGlwQXNzaWduKHN0cmluZyx1aW50NjQpdm9pZCIKCXB1c2hieXRlcyAweGYyMmM1N2YyIC8vIG1ldGhvZCAib3duZXJzaGlwQ2hhbmdlZChzdHJpbmcsdWludDY0LGFkZHJlc3MsYWRkcmVzcyl2b2lkIgoJcHVzaGJ5dGVzIDB4ZDY3MTE1NWIgLy8gbWV0aG9kICJzZXRBZGRyZXNzUHJpbWFyeU5mZChzdHJpbmcsdWludDY0LGFkZHJlc3Mpdm9pZCIKCXB1c2hieXRlcyAweDE2ZWQ2YTVlIC8vIG1ldGhvZCAidXBncmFkZU5mZChzdHJpbmcpc3RyaW5nIgoJcHVzaGJ5dGVzIDB4NGJlMjJmYzYgLy8gbWV0aG9kICJpc1ZhbGlkTmZkQXBwSWQoc3RyaW5nLHVpbnQ2NClib29sIgoJcHVzaGJ5dGVzIDB4ZWQ4MzE1NDMgLy8gbWV0aG9kICJnZXROYW1lQXBwSWQoc3RyaW5nKXVpbnQ2NCIKCXB1c2hieXRlcyAweGZmZWI5NTU1IC8vIG1ldGhvZCAiZ2V0QWRkcmVzc0FwcElkcyhhZGRyZXNzKXVpbnQ2NFtdIgoJcHVzaGJ5dGVzIDB4MmM0ZGM4YjAgLy8gbWV0aG9kICJuZmRDb250cmFjdEluaXQoc3RyaW5nLHVpbnQ2NCxieXRlW10pdm9pZCIKCXB1c2hieXRlcyAweGYzODlhOGNjIC8vIG1ldGhvZCAibmZkQ29udHJhY3RMb2FkKHN0cmluZyx1aW50NjQsYnl0ZVtdKXZvaWQiCglwdXNoYnl0ZXMgMHgyZjMwYjQ4NSAvLyBtZXRob2QgIm5mZENvbnRyYWN0Q29tbWl0KHN0cmluZyl2b2lkIgoJcHVzaGJ5dGVzIDB4YTE2ODA4MDEgLy8gbWV0aG9kICJ1c2RJbk1pY3JvQWxnbyh1aW50NjQpdWludDY0IgoJcHVzaGJ5dGVzIDB4NGY2M2ZmZjYgLy8gbWV0aG9kICJjb3N0VG9BZGRUb0FkZHJlc3MoYWRkcmVzcyl1aW50NjQiCglwdXNoYnl0ZXMgMHg4Y2M4NWRhZCAvLyBtZXRob2QgImNhbGNGdXR1cmVQcmljZSh1aW50NjQsdWludDY0KXVpbnQ2NCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfZ2FzICphYmlfcm91dGVfZ2V0UHJpY2UgKmFiaV9yb3V0ZV9nZXRDb25zdHJhaW50cyAqYWJpX3JvdXRlX2dldE5mZE1ickNvc3QgKmFiaV9yb3V0ZV9nZXROZmRMaW5rT25NaW50RXh0cmFNYnJDb3N0ICphYmlfcm91dGVfbWludE5mZCAqYWJpX3JvdXRlX2xpbmtOZmRBZGRyZXNzICphYmlfcm91dGVfdW5saW5rTmZkQWRkcmVzcyAqYWJpX3JvdXRlX293bmVyc2hpcEFzc2lnbiAqYWJpX3JvdXRlX293bmVyc2hpcENoYW5nZWQgKmFiaV9yb3V0ZV9zZXRBZGRyZXNzUHJpbWFyeU5mZCAqYWJpX3JvdXRlX3VwZ3JhZGVOZmQgKmFiaV9yb3V0ZV9pc1ZhbGlkTmZkQXBwSWQgKmFiaV9yb3V0ZV9nZXROYW1lQXBwSWQgKmFiaV9yb3V0ZV9nZXRBZGRyZXNzQXBwSWRzICphYmlfcm91dGVfbmZkQ29udHJhY3RJbml0ICphYmlfcm91dGVfbmZkQ29udHJhY3RMb2FkICphYmlfcm91dGVfbmZkQ29udHJhY3RDb21taXQgKmFiaV9yb3V0ZV91c2RJbk1pY3JvQWxnbyAqYWJpX3JvdXRlX2Nvc3RUb0FkZFRvQWRkcmVzcyAqYWJpX3JvdXRlX2NhbGNGdXR1cmVQcmljZQoKCS8vICEhISEgV0FSTklORzogbm9uLUFCSSByb3V0aW5nCgljYWxsc3ViIG9uQ2FsbAoJaW50YyAxIC8vIDEKCXJldHVybgoKKmNhbGxfVXBkYXRlQXBwbGljYXRpb246CglwdXNoYnl0ZXMgMHg0NmY3NjUzMyAvLyBtZXRob2QgInVwZGF0ZUFwcGxpY2F0aW9uKCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV91cGRhdGVBcHBsaWNhdGlvbgoKCS8vICEhISEgV0FSTklORzogbm9uLUFCSSByb3V0aW5nCgljYWxsc3ViIG9uQ2FsbAoJaW50YyAxIC8vIDEKCXJldHVybgoKKmludFRvQXNjaWk6Cglwcm90byAxIDEKCXB1c2hieXRlcyAweDMwMzEzMjMzMzQzNTM2MzczODM5IC8vICIwMTIzNDU2Nzg5IgoJZnJhbWVfZGlnIC0xIC8vIGk6IHVpbnQ2NAoJaW50YyAxIC8vIDEKCWV4dHJhY3QzCglyZXRzdWIKCQoKKml0b2E6Cglwcm90byAxIDEKCWZyYW1lX2RpZyAtMSAvLyBpOiB1aW50NjQKCWludGMgMCAvLyAwCgk9PQoJYnogKml0b2FfaWZfZW5kCglwdXNoYnl0ZXMgMHgzMAoJcmV0c3ViCgoqaXRvYV9pZl9lbmQ6CglmcmFtZV9kaWcgLTEgLy8gaTogdWludDY0CglpbnRjIDEyIC8vIDEwCgkvCglpbnRjIDAgLy8gMAoJPgoJYnogKml0b2FfdGVybmFyeV9mYWxzZQoJZnJhbWVfZGlnIC0xIC8vIGk6IHVpbnQ2NAoJaW50YyAxMiAvLyAxMAoJLwoJY2FsbHN1YiAqaXRvYQoJYiAqaXRvYV90ZXJuYXJ5X2VuZAoKKml0b2FfdGVybmFyeV9mYWxzZToKCWJ5dGVjIDAgLy8gICIiCgoqaXRvYV90ZXJuYXJ5X2VuZDoKCWZyYW1lX2RpZyAtMSAvLyBpOiB1aW50NjQKCWludGMgMTIgLy8gMTAKCSUKCWNhbGxzdWIgKmludFRvQXNjaWkKCWNvbmNhdAoJcmV0c3ViCgoqcHJvY2Vzc19zdGF0aWNfdHVwbGVfZWxlbWVudDoKCXByb3RvIDQgMwoJZnJhbWVfZGlnIC00IC8vIHR1cGxlIGhlYWQKCWZyYW1lX2RpZyAtMSAvLyBlbGVtZW50Cgljb25jYXQKCWZyYW1lX2RpZyAtMyAvLyB0dXBsZSB0YWlsCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCXJldHN1YgoKKnByb2Nlc3NfZHluYW1pY190dXBsZV9lbGVtZW50OgoJcHJvdG8gNCAzCglmcmFtZV9kaWcgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0Cgljb25jYXQKCWZyYW1lX2J1cnkgLTQgLy8gdHVwbGUgaGVhZAoJZnJhbWVfZGlnIC0xIC8vIGVsZW1lbnQKCWR1cAoJbGVuCglmcmFtZV9kaWcgLTIgLy8gaGVhZCBvZmZzZXQKCWJ0b2kKCSsKCWl0b2IKCWV4dHJhY3QgNiAyCglmcmFtZV9idXJ5IC0yIC8vIGhlYWQgb2Zmc2V0CglmcmFtZV9kaWcgLTMgLy8gdHVwbGUgdGFpbAoJc3dhcAoJY29uY2F0CglmcmFtZV9idXJ5IC0zIC8vIHR1cGxlIHRhaWwKCWZyYW1lX2RpZyAtNCAvLyB0dXBsZSBoZWFkCglmcmFtZV9kaWcgLTMgLy8gdHVwbGUgdGFpbAoJZnJhbWVfZGlnIC0yIC8vIGhlYWQgb2Zmc2V0CglyZXRzdWI=", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "templateVariables": { "adminAsaId": { "type": "uint64" }, "nfdTreasuryAddr": { "type": "address" }, "nfdCommission1Addr": { "type": "address" }, "nfdCommission1Rate": { "type": "uint64" }, "algoUsdOracleAppId": { "type": "uint64" }, "developmentAllowShortMints": { "type": "uint64" } }, "scratchVariables": { "adminAsaId": { "type": "uint64", "slot": 200 }, "nfdTreasuryAddr": { "type": "address", "slot": 201 }, "nfdCommission1Addr": { "type": "address", "slot": 202 }, "nfdCommission1Rate": { "type": "uint64", "slot": 203 }, "algoUsdOracleAppId": { "type": "uint64", "slot": 204 }, "developmentAllowShortMints": { "type": "uint64", "slot": 205 } }, "compilerInfo": { "compiler": "algod", "compilerVersion": { "major": 3, "minor": 27, "patch": 237217, "commitHash": "0bc3d7e4" } } }