{ "name": "LimitOrder", "desc": "", "methods": [ { "name": "createApplication", "args": [], "returns": { "type": "void" }, "actions": { "create": [ "NoOp" ], "call": [] } }, { "name": "createOrder", "args": [ { "name": "assetSendTxn", "type": "txn" }, { "name": "mbrTxn", "type": "pay" }, { "name": "takingAsset", "type": "uint64" }, { "name": "takingAmount", "type": "uint64" } ], "returns": { "type": "uint64" }, "actions": { "create": [], "call": [ "NoOp" ] } }, { "name": "claimOrder", "args": [ { "name": "orderId", "type": "uint64" }, { "name": "assetSendTxn", "type": "txn" } ], "returns": { "type": "void" }, "actions": { "create": [], "call": [ "NoOp" ] } }, { "name": "claimOwnerAsset", "args": [ { "name": "orderId", "type": "uint64" } ], "returns": { "type": "void" }, "actions": { "create": [], "call": [ "NoOp" ] } }, { "name": "optInToAsset", "args": [ { "name": "assetId", "type": "uint64" }, { "name": "mbrTxn", "type": "pay" } ], "returns": { "type": "void" }, "actions": { "create": [], "call": [ "NoOp" ] } }, { "name": "cancelOrder", "args": [ { "name": "orderId", "type": "uint64" } ], "returns": { "type": "void" }, "actions": { "create": [], "call": [ "NoOp" ] } } ], "arcs": [ 4, 56 ], "structs": { "Order": [ { "name": "id", "type": "uint64" }, { "name": "owner", "type": "address" }, { "name": "givingAsset", "type": "uint64" }, { "name": "takingAsset", "type": "uint64" }, { "name": "givingAmount", "type": "uint64" }, { "name": "takingAmount", "type": "uint64" }, { "name": "completed", "type": "bool" }, { "name": "ownerClaimed", "type": "bool" } ] }, "state": { "schema": { "global": { "bytes": 0, "ints": 1 }, "local": { "bytes": 0, "ints": 0 } }, "keys": { "global": { "orderIndex": { "key": "b3JkZXJJbmRleA==", "keyType": "AVMBytes", "valueType": "uint64" } }, "local": {}, "box": {} }, "maps": { "global": {}, "local": {}, "box": { "orders": { "keyType": "uint64", "valueType": "Order" } } } }, "bareActions": { "create": [], "call": [] }, "sourceInfo": { "approval": { "sourceInfo": [ { "teal": 1, "source": "contracts\\LimitOrder.algo.ts:16", "pc": [ 0 ] }, { "teal": 2, "source": "contracts\\LimitOrder.algo.ts:16", "pc": [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 ] }, { "teal": 3, "source": "contracts\\LimitOrder.algo.ts:16", "pc": [ 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26 ] }, { "teal": 15, "source": "contracts\\LimitOrder.algo.ts:16", "pc": [ 27, 28 ] }, { "teal": 16, "source": "contracts\\LimitOrder.algo.ts:16", "pc": [ 29 ] }, { "teal": 17, "source": "contracts\\LimitOrder.algo.ts:16", "pc": [ 30, 31 ] }, { "teal": 18, "source": "contracts\\LimitOrder.algo.ts:16", "pc": [ 32 ] }, { "teal": 19, "source": "contracts\\LimitOrder.algo.ts:16", "pc": [ 33, 34 ] }, { "teal": 20, "source": "contracts\\LimitOrder.algo.ts:16", "pc": [ 35 ] }, { "teal": 21, "source": "contracts\\LimitOrder.algo.ts:16", "pc": [ 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61 ] }, { "teal": 25, "source": "contracts\\LimitOrder.algo.ts:16", "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?", "pc": [ 62 ] }, { "teal": 30, "source": "contracts\\LimitOrder.algo.ts:21", "pc": [ 63, 64, 65 ] }, { "teal": 31, "source": "contracts\\LimitOrder.algo.ts:21", "pc": [ 66 ] }, { "teal": 32, "source": "contracts\\LimitOrder.algo.ts:21", "pc": [ 67 ] }, { "teal": 36, "source": "contracts\\LimitOrder.algo.ts:21", "pc": [ 68, 69, 70 ] }, { "teal": 40, "source": "contracts\\LimitOrder.algo.ts:22", "pc": [ 71 ] }, { "teal": 41, "source": "contracts\\LimitOrder.algo.ts:22", "pc": [ 72 ] }, { "teal": 42, "source": "contracts\\LimitOrder.algo.ts:22", "pc": [ 73 ] }, { "teal": 43, "source": "contracts\\LimitOrder.algo.ts:21", "pc": [ 74 ] }, { "teal": 48, "source": "contracts\\LimitOrder.algo.ts:25", "pc": [ 75, 76, 77, 78, 79, 80 ] }, { "teal": 51, "source": "contracts\\LimitOrder.algo.ts:25", "pc": [ 81, 82, 83 ] }, { "teal": 52, "source": "contracts\\LimitOrder.algo.ts:25", "pc": [ 84 ] }, { "teal": 55, "source": "contracts\\LimitOrder.algo.ts:25", "pc": [ 85, 86, 87 ] }, { "teal": 56, "source": "contracts\\LimitOrder.algo.ts:25", "pc": [ 88 ] }, { "teal": 59, "source": "contracts\\LimitOrder.algo.ts:25", "pc": [ 89, 90 ] }, { "teal": 60, "source": "contracts\\LimitOrder.algo.ts:25", "pc": [ 91 ] }, { "teal": 61, "source": "contracts\\LimitOrder.algo.ts:25", "pc": [ 92 ] }, { "teal": 62, "source": "contracts\\LimitOrder.algo.ts:25", "pc": [ 93 ] }, { "teal": 63, "source": "contracts\\LimitOrder.algo.ts:25", "pc": [ 94, 95 ] }, { "teal": 64, "source": "contracts\\LimitOrder.algo.ts:25", "pc": [ 96 ] }, { "teal": 65, "source": "contracts\\LimitOrder.algo.ts:25", "pc": [ 97 ] }, { "teal": 68, "source": "contracts\\LimitOrder.algo.ts:25", "errorMessage": "argument 2 (mbrTxn) for createOrder must be a pay transaction", "pc": [ 98 ] }, { "teal": 71, "source": "contracts\\LimitOrder.algo.ts:25", "pc": [ 99, 100 ] }, { "teal": 72, "source": "contracts\\LimitOrder.algo.ts:25", "pc": [ 101, 102 ] }, { "teal": 73, "source": "contracts\\LimitOrder.algo.ts:25", "pc": [ 103 ] }, { "teal": 76, "source": "contracts\\LimitOrder.algo.ts:25", "pc": [ 104, 105, 106 ] }, { "teal": 77, "source": "contracts\\LimitOrder.algo.ts:25", "pc": [ 107 ] }, { "teal": 78, "source": "contracts\\LimitOrder.algo.ts:25", "pc": [ 108 ] }, { "teal": 79, "source": "contracts\\LimitOrder.algo.ts:25", "pc": [ 109 ] }, { "teal": 80, "source": "contracts\\LimitOrder.algo.ts:25", "pc": [ 110 ] }, { "teal": 81, "source": "contracts\\LimitOrder.algo.ts:25", "pc": [ 111 ] }, { "teal": 85, "source": "contracts\\LimitOrder.algo.ts:25", "pc": [ 112, 113, 114 ] }, { "teal": 88, "source": "contracts\\LimitOrder.algo.ts:25", "pc": [ 115 ] }, { "teal": 93, "source": "contracts\\LimitOrder.algo.ts:26", "pc": [ 116, 117 ] }, { "teal": 94, "source": "contracts\\LimitOrder.algo.ts:26", "pc": [ 118 ] }, { "teal": 95, "source": "contracts\\LimitOrder.algo.ts:26", "pc": [ 119 ] }, { "teal": 96, "source": "contracts\\LimitOrder.algo.ts:26", "pc": [ 120, 121, 122 ] }, { "teal": 101, "source": "contracts\\LimitOrder.algo.ts:27", "pc": [ 123, 124 ] }, { "teal": 102, "source": "contracts\\LimitOrder.algo.ts:27", "pc": [ 125, 126 ] }, { "teal": 103, "source": "contracts\\LimitOrder.algo.ts:27", "pc": [ 127, 128 ] }, { "teal": 104, "source": "contracts\\LimitOrder.algo.ts:27", "pc": [ 129 ] }, { "teal": 105, "source": "contracts\\LimitOrder.algo.ts:27", "pc": [ 130 ] }, { "teal": 108, "source": "contracts\\LimitOrder.algo.ts:27", "errorMessage": "Taking asset is not opted in", "pc": [ 131 ] }, { "teal": 113, "source": "contracts\\LimitOrder.algo.ts:29", "pc": [ 132, 133 ] }, { "teal": 114, "source": "contracts\\LimitOrder.algo.ts:29", "pc": [ 134, 135 ] }, { "teal": 115, "source": "contracts\\LimitOrder.algo.ts:29", "pc": [ 136, 137 ] }, { "teal": 116, "source": "contracts\\LimitOrder.algo.ts:29", "pc": [ 138 ] }, { "teal": 119, "source": "contracts\\LimitOrder.algo.ts:29", "errorMessage": "Invalid sender", "pc": [ 139 ] }, { "teal": 123, "source": "contracts\\LimitOrder.algo.ts:30", "pc": [ 140, 141 ] }, { "teal": 124, "source": "contracts\\LimitOrder.algo.ts:30", "pc": [ 142, 143 ] }, { "teal": 125, "source": "contracts\\LimitOrder.algo.ts:30", "pc": [ 144, 145 ] }, { "teal": 126, "source": "contracts\\LimitOrder.algo.ts:30", "pc": [ 146, 147, 148 ] }, { "teal": 127, "source": "contracts\\LimitOrder.algo.ts:30", "pc": [ 149, 150 ] }, { "teal": 132, "source": "contracts\\LimitOrder.algo.ts:31", "pc": [ 151, 152 ] }, { "teal": 133, "source": "contracts\\LimitOrder.algo.ts:31", "pc": [ 153, 154 ] }, { "teal": 134, "source": "contracts\\LimitOrder.algo.ts:31", "pc": [ 155, 156 ] }, { "teal": 135, "source": "contracts\\LimitOrder.algo.ts:31", "pc": [ 157 ] }, { "teal": 138, "source": "contracts\\LimitOrder.algo.ts:31", "errorMessage": "transaction verification failed: {\"txn\":\"mbrTxn\",\"field\":\"amount\",\"condition\":\"greaterThanEqualTo\",\"expected\":\">=BOX_MBR\"}", "pc": [ 158 ] }, { "teal": 141, "source": "contracts\\LimitOrder.algo.ts:31", "pc": [ 159, 160 ] }, { "teal": 142, "source": "contracts\\LimitOrder.algo.ts:31", "pc": [ 161, 162 ] }, { "teal": 143, "source": "contracts\\LimitOrder.algo.ts:31", "pc": [ 163, 164 ] }, { "teal": 144, "source": "contracts\\LimitOrder.algo.ts:31", "pc": [ 165 ] }, { "teal": 147, "source": "contracts\\LimitOrder.algo.ts:31", "errorMessage": "transaction verification failed: {\"txn\":\"mbrTxn\",\"field\":\"receiver\",\"expected\":\"this.app.address\"}", "pc": [ 166 ] }, { "teal": 151, "source": "contracts\\LimitOrder.algo.ts:32", "pc": [ 167 ] }, { "teal": 152, "source": "contracts\\LimitOrder.algo.ts:32", "pc": [ 168 ] }, { "teal": 153, "source": "contracts\\LimitOrder.algo.ts:32", "pc": [ 169 ] }, { "teal": 154, "source": "contracts\\LimitOrder.algo.ts:32", "pc": [ 170, 171 ] }, { "teal": 155, "source": "contracts\\LimitOrder.algo.ts:32", "pc": [ 172 ] }, { "teal": 159, "source": "contracts\\LimitOrder.algo.ts:33", "pc": [ 173 ] }, { "teal": 160, "source": "contracts\\LimitOrder.algo.ts:33", "pc": [ 174 ] }, { "teal": 161, "source": "contracts\\LimitOrder.algo.ts:33", "pc": [ 175 ] }, { "teal": 162, "source": "contracts\\LimitOrder.algo.ts:33", "pc": [ 176 ] }, { "teal": 163, "source": "contracts\\LimitOrder.algo.ts:33", "pc": [ 177 ] }, { "teal": 164, "source": "contracts\\LimitOrder.algo.ts:33", "pc": [ 178 ] }, { "teal": 165, "source": "contracts\\LimitOrder.algo.ts:33", "pc": [ 179 ] }, { "teal": 169, "source": "contracts\\LimitOrder.algo.ts:34", "pc": [ 180, 181 ] }, { "teal": 170, "source": "contracts\\LimitOrder.algo.ts:34", "pc": [ 182, 183 ] }, { "teal": 171, "source": "contracts\\LimitOrder.algo.ts:34", "pc": [ 184, 185 ] }, { "teal": 172, "source": "contracts\\LimitOrder.algo.ts:34", "pc": [ 186, 187, 188 ] }, { "teal": 173, "source": "contracts\\LimitOrder.algo.ts:34", "pc": [ 189 ] }, { "teal": 176, "source": "contracts\\LimitOrder.algo.ts:25", "pc": [ 190, 191 ] }, { "teal": 177, "source": "contracts\\LimitOrder.algo.ts:25", "pc": [ 192 ] }, { "teal": 181, "source": "contracts\\LimitOrder.algo.ts:37", "pc": [ 193, 194, 195 ] }, { "teal": 188, "source": "contracts\\LimitOrder.algo.ts:39", "pc": [ 196, 197 ] }, { "teal": 189, "source": "contracts\\LimitOrder.algo.ts:39", "pc": [ 198, 199 ] }, { "teal": 190, "source": "contracts\\LimitOrder.algo.ts:39", "pc": [ 200 ] }, { "teal": 191, "source": "contracts\\LimitOrder.algo.ts:39", "pc": [ 201 ] }, { "teal": 192, "source": "contracts\\LimitOrder.algo.ts:39", "pc": [ 202 ] }, { "teal": 193, "source": "contracts\\LimitOrder.algo.ts:39", "pc": [ 203, 204, 205 ] }, { "teal": 194, "source": "contracts\\LimitOrder.algo.ts:39", "pc": [ 206, 207 ] }, { "teal": 195, "source": "contracts\\LimitOrder.algo.ts:39", "pc": [ 208, 209 ] }, { "teal": 196, "source": "contracts\\LimitOrder.algo.ts:39", "pc": [ 210 ] }, { "teal": 197, "source": "contracts\\LimitOrder.algo.ts:39", "pc": [ 211 ] }, { "teal": 198, "source": "contracts\\LimitOrder.algo.ts:39", "pc": [ 212 ] }, { "teal": 202, "source": "contracts\\LimitOrder.algo.ts:38", "errorMessage": "Invalid transaction type", "pc": [ 213 ] }, { "teal": 207, "source": "contracts\\LimitOrder.algo.ts:42", "pc": [ 214, 215 ] }, { "teal": 208, "source": "contracts\\LimitOrder.algo.ts:42", "pc": [ 216, 217 ] }, { "teal": 209, "source": "contracts\\LimitOrder.algo.ts:42", "pc": [ 218 ] }, { "teal": 210, "source": "contracts\\LimitOrder.algo.ts:42", "pc": [ 219 ] }, { "teal": 211, "source": "contracts\\LimitOrder.algo.ts:42", "pc": [ 220, 221, 222 ] }, { "teal": 216, "source": "contracts\\LimitOrder.algo.ts:43", "pc": [ 223, 224 ] }, { "teal": 217, "source": "contracts\\LimitOrder.algo.ts:43", "pc": [ 225, 226 ] }, { "teal": 218, "source": "contracts\\LimitOrder.algo.ts:43", "pc": [ 227, 228 ] }, { "teal": 219, "source": "contracts\\LimitOrder.algo.ts:43", "pc": [ 229 ] }, { "teal": 222, "source": "contracts\\LimitOrder.algo.ts:43", "errorMessage": "Invalid receiver", "pc": [ 230 ] }, { "teal": 235, "source": "contracts\\LimitOrder.algo.ts:45", "pc": [ 231 ] }, { "teal": 236, "source": "contracts\\LimitOrder.algo.ts:45", "pc": [ 232 ] }, { "teal": 237, "source": "contracts\\LimitOrder.algo.ts:45", "pc": [ 233 ] }, { "teal": 238, "source": "contracts\\LimitOrder.algo.ts:46", "pc": [ 234, 235 ] }, { "teal": 239, "source": "contracts\\LimitOrder.algo.ts:46", "pc": [ 236 ] }, { "teal": 240, "source": "contracts\\LimitOrder.algo.ts:47", "pc": [ 237, 238, 239, 240, 241, 242, 243, 244, 245, 246 ] }, { "teal": 241, "source": "contracts\\LimitOrder.algo.ts:47", "pc": [ 247 ] }, { "teal": 242, "source": "contracts\\LimitOrder.algo.ts:48", "pc": [ 248, 249 ] }, { "teal": 243, "source": "contracts\\LimitOrder.algo.ts:48", "pc": [ 250 ] }, { "teal": 244, "source": "contracts\\LimitOrder.algo.ts:48", "pc": [ 251 ] }, { "teal": 245, "source": "contracts\\LimitOrder.algo.ts:49", "pc": [ 252, 253 ] }, { "teal": 246, "source": "contracts\\LimitOrder.algo.ts:49", "pc": [ 254, 255 ] }, { "teal": 247, "source": "contracts\\LimitOrder.algo.ts:49", "pc": [ 256 ] }, { "teal": 248, "source": "contracts\\LimitOrder.algo.ts:49", "pc": [ 257 ] }, { "teal": 249, "source": "contracts\\LimitOrder.algo.ts:50", "pc": [ 258, 259 ] }, { "teal": 250, "source": "contracts\\LimitOrder.algo.ts:50", "pc": [ 260 ] }, { "teal": 251, "source": "contracts\\LimitOrder.algo.ts:50", "pc": [ 261 ] }, { "teal": 252, "source": "contracts\\LimitOrder.algo.ts:51", "pc": [ 262 ] }, { "teal": 253, "source": "contracts\\LimitOrder.algo.ts:51", "pc": [ 263 ] }, { "teal": 254, "source": "contracts\\LimitOrder.algo.ts:51", "pc": [ 264 ] }, { "teal": 255, "source": "contracts\\LimitOrder.algo.ts:51", "pc": [ 265 ] }, { "teal": 256, "source": "contracts\\LimitOrder.algo.ts:52", "pc": [ 266 ] }, { "teal": 257, "source": "contracts\\LimitOrder.algo.ts:52", "pc": [ 267 ] }, { "teal": 258, "source": "contracts\\LimitOrder.algo.ts:52", "pc": [ 268 ] }, { "teal": 259, "source": "contracts\\LimitOrder.algo.ts:44", "pc": [ 269 ] }, { "teal": 260, "source": "contracts\\LimitOrder.algo.ts:44", "pc": [ 270 ] }, { "teal": 265, "source": "contracts\\LimitOrder.algo.ts:55", "pc": [ 271, 272 ] }, { "teal": 266, "source": "contracts\\LimitOrder.algo.ts:55", "pc": [ 273, 274 ] }, { "teal": 267, "source": "contracts\\LimitOrder.algo.ts:55", "pc": [ 275, 276 ] }, { "teal": 268, "source": "contracts\\LimitOrder.algo.ts:55", "pc": [ 277 ] }, { "teal": 271, "source": "contracts\\LimitOrder.algo.ts:55", "errorMessage": "Invalid receiver", "pc": [ 278 ] }, { "teal": 284, "source": "contracts\\LimitOrder.algo.ts:57", "pc": [ 279 ] }, { "teal": 285, "source": "contracts\\LimitOrder.algo.ts:57", "pc": [ 280 ] }, { "teal": 286, "source": "contracts\\LimitOrder.algo.ts:57", "pc": [ 281 ] }, { "teal": 287, "source": "contracts\\LimitOrder.algo.ts:58", "pc": [ 282, 283 ] }, { "teal": 288, "source": "contracts\\LimitOrder.algo.ts:58", "pc": [ 284 ] }, { "teal": 289, "source": "contracts\\LimitOrder.algo.ts:59", "pc": [ 285, 286 ] }, { "teal": 290, "source": "contracts\\LimitOrder.algo.ts:59", "pc": [ 287, 288 ] }, { "teal": 291, "source": "contracts\\LimitOrder.algo.ts:59", "pc": [ 289 ] }, { "teal": 292, "source": "contracts\\LimitOrder.algo.ts:59", "pc": [ 290 ] }, { "teal": 293, "source": "contracts\\LimitOrder.algo.ts:60", "pc": [ 291, 292 ] }, { "teal": 294, "source": "contracts\\LimitOrder.algo.ts:60", "pc": [ 293 ] }, { "teal": 295, "source": "contracts\\LimitOrder.algo.ts:60", "pc": [ 294 ] }, { "teal": 296, "source": "contracts\\LimitOrder.algo.ts:61", "pc": [ 295, 296 ] }, { "teal": 297, "source": "contracts\\LimitOrder.algo.ts:61", "pc": [ 297, 298 ] }, { "teal": 298, "source": "contracts\\LimitOrder.algo.ts:61", "pc": [ 299 ] }, { "teal": 299, "source": "contracts\\LimitOrder.algo.ts:61", "pc": [ 300 ] }, { "teal": 300, "source": "contracts\\LimitOrder.algo.ts:62", "pc": [ 301, 302 ] }, { "teal": 301, "source": "contracts\\LimitOrder.algo.ts:62", "pc": [ 303 ] }, { "teal": 302, "source": "contracts\\LimitOrder.algo.ts:62", "pc": [ 304 ] }, { "teal": 303, "source": "contracts\\LimitOrder.algo.ts:63", "pc": [ 305 ] }, { "teal": 304, "source": "contracts\\LimitOrder.algo.ts:63", "pc": [ 306 ] }, { "teal": 305, "source": "contracts\\LimitOrder.algo.ts:63", "pc": [ 307 ] }, { "teal": 306, "source": "contracts\\LimitOrder.algo.ts:63", "pc": [ 308 ] }, { "teal": 307, "source": "contracts\\LimitOrder.algo.ts:64", "pc": [ 309 ] }, { "teal": 308, "source": "contracts\\LimitOrder.algo.ts:64", "pc": [ 310 ] }, { "teal": 309, "source": "contracts\\LimitOrder.algo.ts:64", "pc": [ 311 ] }, { "teal": 310, "source": "contracts\\LimitOrder.algo.ts:56", "pc": [ 312 ] }, { "teal": 311, "source": "contracts\\LimitOrder.algo.ts:37", "pc": [ 313 ] }, { "teal": 316, "source": "contracts\\LimitOrder.algo.ts:68", "pc": [ 314, 315 ] }, { "teal": 317, "source": "contracts\\LimitOrder.algo.ts:68", "pc": [ 316 ] }, { "teal": 318, "source": "contracts\\LimitOrder.algo.ts:68", "pc": [ 317 ] }, { "teal": 321, "source": "contracts\\LimitOrder.algo.ts:68", "pc": [ 318, 319, 320 ] }, { "teal": 322, "source": "contracts\\LimitOrder.algo.ts:68", "pc": [ 321 ] }, { "teal": 325, "source": "contracts\\LimitOrder.algo.ts:68", "pc": [ 322, 323, 324 ] }, { "teal": 326, "source": "contracts\\LimitOrder.algo.ts:68", "pc": [ 325 ] }, { "teal": 327, "source": "contracts\\LimitOrder.algo.ts:68", "pc": [ 326 ] }, { "teal": 331, "source": "contracts\\LimitOrder.algo.ts:68", "pc": [ 327, 328, 329 ] }, { "teal": 334, "source": "contracts\\LimitOrder.algo.ts:68", "pc": [ 330 ] }, { "teal": 335, "source": "contracts\\LimitOrder.algo.ts:68", "pc": [ 331, 332 ] }, { "teal": 339, "source": "contracts\\LimitOrder.algo.ts:69", "pc": [ 333, 334 ] }, { "teal": 340, "source": "contracts\\LimitOrder.algo.ts:69", "pc": [ 335 ] }, { "teal": 341, "source": "contracts\\LimitOrder.algo.ts:69", "pc": [ 336 ] }, { "teal": 342, "source": "contracts\\LimitOrder.algo.ts:69", "pc": [ 337 ] }, { "teal": 343, "source": "contracts\\LimitOrder.algo.ts:69", "pc": [ 338 ] }, { "teal": 346, "source": "contracts\\LimitOrder.algo.ts:69", "errorMessage": "Order not found", "pc": [ 339 ] }, { "teal": 350, "source": "contracts\\LimitOrder.algo.ts:70", "pc": [ 340, 341 ] }, { "teal": 351, "source": "contracts\\LimitOrder.algo.ts:70", "pc": [ 342 ] }, { "teal": 352, "source": "contracts\\LimitOrder.algo.ts:70", "pc": [ 343, 344 ] }, { "teal": 356, "source": "contracts\\LimitOrder.algo.ts:70", "pc": [ 345, 346 ] }, { "teal": 357, "source": "contracts\\LimitOrder.algo.ts:70", "pc": [ 347 ] }, { "teal": 360, "source": "contracts\\LimitOrder.algo.ts:70", "errorMessage": "box value does not exist: this.orders(orderId).value", "pc": [ 348 ] }, { "teal": 361, "source": "contracts\\LimitOrder.algo.ts:71", "pc": [ 349, 350 ] }, { "teal": 362, "source": "contracts\\LimitOrder.algo.ts:71", "pc": [ 351, 352 ] }, { "teal": 363, "source": "contracts\\LimitOrder.algo.ts:71", "pc": [ 353 ] }, { "teal": 364, "source": "contracts\\LimitOrder.algo.ts:71", "pc": [ 354 ] }, { "teal": 365, "source": "contracts\\LimitOrder.algo.ts:71", "pc": [ 355 ] }, { "teal": 368, "source": "contracts\\LimitOrder.algo.ts:71", "errorMessage": "Order already completed", "pc": [ 356 ] }, { "teal": 375, "source": "contracts\\LimitOrder.algo.ts:73", "pc": [ 357, 358 ] }, { "teal": 376, "source": "contracts\\LimitOrder.algo.ts:73", "pc": [ 359, 360 ] }, { "teal": 377, "source": "contracts\\LimitOrder.algo.ts:73", "pc": [ 361 ] }, { "teal": 378, "source": "contracts\\LimitOrder.algo.ts:73", "pc": [ 362 ] }, { "teal": 379, "source": "contracts\\LimitOrder.algo.ts:73", "pc": [ 363 ] }, { "teal": 380, "source": "contracts\\LimitOrder.algo.ts:73", "pc": [ 364, 365, 366 ] }, { "teal": 381, "source": "contracts\\LimitOrder.algo.ts:73", "pc": [ 367, 368 ] }, { "teal": 382, "source": "contracts\\LimitOrder.algo.ts:73", "pc": [ 369, 370 ] }, { "teal": 383, "source": "contracts\\LimitOrder.algo.ts:73", "pc": [ 371 ] }, { "teal": 384, "source": "contracts\\LimitOrder.algo.ts:73", "pc": [ 372 ] }, { "teal": 385, "source": "contracts\\LimitOrder.algo.ts:73", "pc": [ 373 ] }, { "teal": 389, "source": "contracts\\LimitOrder.algo.ts:72", "errorMessage": "Invalid transaction type", "pc": [ 374 ] }, { "teal": 394, "source": "contracts\\LimitOrder.algo.ts:76", "pc": [ 375, 376 ] }, { "teal": 395, "source": "contracts\\LimitOrder.algo.ts:76", "pc": [ 377, 378 ] }, { "teal": 396, "source": "contracts\\LimitOrder.algo.ts:76", "pc": [ 379 ] }, { "teal": 397, "source": "contracts\\LimitOrder.algo.ts:76", "pc": [ 380 ] }, { "teal": 398, "source": "contracts\\LimitOrder.algo.ts:76", "pc": [ 381, 382, 383 ] }, { "teal": 403, "source": "contracts\\LimitOrder.algo.ts:70", "pc": [ 384, 385 ] }, { "teal": 404, "source": "contracts\\LimitOrder.algo.ts:70", "pc": [ 386 ] }, { "teal": 407, "source": "contracts\\LimitOrder.algo.ts:70", "errorMessage": "box value does not exist: this.orders(orderId).value", "pc": [ 387 ] }, { "teal": 408, "source": "contracts\\LimitOrder.algo.ts:77", "pc": [ 388, 389 ] }, { "teal": 409, "source": "contracts\\LimitOrder.algo.ts:77", "pc": [ 390, 391 ] }, { "teal": 410, "source": "contracts\\LimitOrder.algo.ts:77", "pc": [ 392, 393, 394 ] }, { "teal": 411, "source": "contracts\\LimitOrder.algo.ts:77", "pc": [ 395 ] }, { "teal": 412, "source": "contracts\\LimitOrder.algo.ts:77", "pc": [ 396 ] }, { "teal": 413, "source": "contracts\\LimitOrder.algo.ts:77", "pc": [ 397 ] }, { "teal": 416, "source": "contracts\\LimitOrder.algo.ts:77", "errorMessage": "Invalid giving asset", "pc": [ 398 ] }, { "teal": 420, "source": "contracts\\LimitOrder.algo.ts:70", "pc": [ 399, 400 ] }, { "teal": 421, "source": "contracts\\LimitOrder.algo.ts:70", "pc": [ 401 ] }, { "teal": 424, "source": "contracts\\LimitOrder.algo.ts:70", "errorMessage": "box value does not exist: this.orders(orderId).value", "pc": [ 402 ] }, { "teal": 425, "source": "contracts\\LimitOrder.algo.ts:78", "pc": [ 403, 404 ] }, { "teal": 426, "source": "contracts\\LimitOrder.algo.ts:78", "pc": [ 405, 406 ] }, { "teal": 427, "source": "contracts\\LimitOrder.algo.ts:78", "pc": [ 407, 408, 409 ] }, { "teal": 428, "source": "contracts\\LimitOrder.algo.ts:78", "pc": [ 410 ] }, { "teal": 429, "source": "contracts\\LimitOrder.algo.ts:78", "pc": [ 411, 412 ] }, { "teal": 430, "source": "contracts\\LimitOrder.algo.ts:78", "pc": [ 413, 414 ] }, { "teal": 431, "source": "contracts\\LimitOrder.algo.ts:78", "pc": [ 415 ] }, { "teal": 434, "source": "contracts\\LimitOrder.algo.ts:78", "errorMessage": "Invalid giving amount", "pc": [ 416 ] }, { "teal": 438, "source": "contracts\\LimitOrder.algo.ts:79", "pc": [ 417, 418 ] }, { "teal": 439, "source": "contracts\\LimitOrder.algo.ts:79", "pc": [ 419, 420 ] }, { "teal": 440, "source": "contracts\\LimitOrder.algo.ts:79", "pc": [ 421, 422 ] }, { "teal": 441, "source": "contracts\\LimitOrder.algo.ts:79", "pc": [ 423 ] }, { "teal": 444, "source": "contracts\\LimitOrder.algo.ts:79", "errorMessage": "Invalid sender", "pc": [ 424 ] }, { "teal": 448, "source": "contracts\\LimitOrder.algo.ts:80", "pc": [ 425, 426 ] }, { "teal": 449, "source": "contracts\\LimitOrder.algo.ts:80", "pc": [ 427, 428 ] }, { "teal": 450, "source": "contracts\\LimitOrder.algo.ts:80", "pc": [ 429, 430 ] }, { "teal": 451, "source": "contracts\\LimitOrder.algo.ts:80", "pc": [ 431 ] }, { "teal": 454, "source": "contracts\\LimitOrder.algo.ts:80", "errorMessage": "Invalid receiver", "pc": [ 432 ] }, { "teal": 455, "source": "contracts\\LimitOrder.algo.ts:76", "pc": [ 433, 434, 435 ] }, { "teal": 460, "source": "contracts\\LimitOrder.algo.ts:70", "pc": [ 436, 437 ] }, { "teal": 461, "source": "contracts\\LimitOrder.algo.ts:70", "pc": [ 438 ] }, { "teal": 464, "source": "contracts\\LimitOrder.algo.ts:70", "errorMessage": "box value does not exist: this.orders(orderId).value", "pc": [ 439 ] }, { "teal": 465, "source": "contracts\\LimitOrder.algo.ts:82", "pc": [ 440, 441 ] }, { "teal": 466, "source": "contracts\\LimitOrder.algo.ts:82", "pc": [ 442, 443 ] }, { "teal": 467, "source": "contracts\\LimitOrder.algo.ts:82", "pc": [ 444, 445, 446 ] }, { "teal": 468, "source": "contracts\\LimitOrder.algo.ts:82", "pc": [ 447 ] }, { "teal": 469, "source": "contracts\\LimitOrder.algo.ts:82", "pc": [ 448, 449 ] }, { "teal": 470, "source": "contracts\\LimitOrder.algo.ts:82", "pc": [ 450, 451 ] }, { "teal": 471, "source": "contracts\\LimitOrder.algo.ts:82", "pc": [ 452 ] }, { "teal": 474, "source": "contracts\\LimitOrder.algo.ts:82", "errorMessage": "Invalid giving asset", "pc": [ 453 ] }, { "teal": 478, "source": "contracts\\LimitOrder.algo.ts:70", "pc": [ 454, 455 ] }, { "teal": 479, "source": "contracts\\LimitOrder.algo.ts:70", "pc": [ 456 ] }, { "teal": 482, "source": "contracts\\LimitOrder.algo.ts:70", "errorMessage": "box value does not exist: this.orders(orderId).value", "pc": [ 457 ] }, { "teal": 483, "source": "contracts\\LimitOrder.algo.ts:83", "pc": [ 458, 459 ] }, { "teal": 484, "source": "contracts\\LimitOrder.algo.ts:83", "pc": [ 460, 461 ] }, { "teal": 485, "source": "contracts\\LimitOrder.algo.ts:83", "pc": [ 462, 463, 464 ] }, { "teal": 486, "source": "contracts\\LimitOrder.algo.ts:83", "pc": [ 465 ] }, { "teal": 487, "source": "contracts\\LimitOrder.algo.ts:83", "pc": [ 466, 467 ] }, { "teal": 488, "source": "contracts\\LimitOrder.algo.ts:83", "pc": [ 468, 469 ] }, { "teal": 489, "source": "contracts\\LimitOrder.algo.ts:83", "pc": [ 470 ] }, { "teal": 492, "source": "contracts\\LimitOrder.algo.ts:83", "errorMessage": "Invalid giving amount", "pc": [ 471 ] }, { "teal": 496, "source": "contracts\\LimitOrder.algo.ts:84", "pc": [ 472, 473 ] }, { "teal": 497, "source": "contracts\\LimitOrder.algo.ts:84", "pc": [ 474, 475 ] }, { "teal": 498, "source": "contracts\\LimitOrder.algo.ts:84", "pc": [ 476, 477 ] }, { "teal": 499, "source": "contracts\\LimitOrder.algo.ts:84", "pc": [ 478 ] }, { "teal": 502, "source": "contracts\\LimitOrder.algo.ts:84", "errorMessage": "Invalid sender", "pc": [ 479 ] }, { "teal": 506, "source": "contracts\\LimitOrder.algo.ts:85", "pc": [ 480, 481 ] }, { "teal": 507, "source": "contracts\\LimitOrder.algo.ts:85", "pc": [ 482, 483 ] }, { "teal": 508, "source": "contracts\\LimitOrder.algo.ts:85", "pc": [ 484, 485 ] }, { "teal": 509, "source": "contracts\\LimitOrder.algo.ts:85", "pc": [ 486 ] }, { "teal": 512, "source": "contracts\\LimitOrder.algo.ts:85", "errorMessage": "Invalid receiver", "pc": [ 487 ] }, { "teal": 517, "source": "contracts\\LimitOrder.algo.ts:87", "pc": [ 488 ] }, { "teal": 518, "source": "contracts\\LimitOrder.algo.ts:87", "pc": [ 489, 490 ] }, { "teal": 522, "source": "contracts\\LimitOrder.algo.ts:88", "pc": [ 491, 492 ] }, { "teal": 523, "source": "contracts\\LimitOrder.algo.ts:70", "pc": [ 493, 494 ] }, { "teal": 524, "source": "contracts\\LimitOrder.algo.ts:70", "pc": [ 495 ] }, { "teal": 527, "source": "contracts\\LimitOrder.algo.ts:70", "errorMessage": "box value does not exist: this.orders(orderId).value", "pc": [ 496 ] }, { "teal": 528, "source": "contracts\\LimitOrder.algo.ts:88", "pc": [ 497, 498 ] }, { "teal": 529, "source": "contracts\\LimitOrder.algo.ts:88", "pc": [ 499, 500 ] }, { "teal": 530, "source": "contracts\\LimitOrder.algo.ts:88", "pc": [ 501, 502, 503 ] }, { "teal": 531, "source": "contracts\\LimitOrder.algo.ts:88", "pc": [ 504 ] }, { "teal": 532, "source": "contracts\\LimitOrder.algo.ts:70", "pc": [ 505, 506 ] }, { "teal": 533, "source": "contracts\\LimitOrder.algo.ts:70", "pc": [ 507 ] }, { "teal": 536, "source": "contracts\\LimitOrder.algo.ts:70", "errorMessage": "box value does not exist: this.orders(orderId).value", "pc": [ 508 ] }, { "teal": 537, "source": "contracts\\LimitOrder.algo.ts:88", "pc": [ 509, 510 ] }, { "teal": 538, "source": "contracts\\LimitOrder.algo.ts:88", "pc": [ 511, 512 ] }, { "teal": 539, "source": "contracts\\LimitOrder.algo.ts:88", "pc": [ 513, 514, 515 ] }, { "teal": 540, "source": "contracts\\LimitOrder.algo.ts:88", "pc": [ 516 ] }, { "teal": 541, "source": "contracts\\LimitOrder.algo.ts:88", "pc": [ 517, 518, 519 ] }, { "teal": 546, "source": "contracts\\LimitOrder.algo.ts:70", "pc": [ 520, 521 ] }, { "teal": 547, "source": "contracts\\LimitOrder.algo.ts:70", "pc": [ 522 ] }, { "teal": 550, "source": "contracts\\LimitOrder.algo.ts:70", "errorMessage": "box value does not exist: this.orders(orderId).value", "pc": [ 523 ] }, { "teal": 551, "source": "contracts\\LimitOrder.algo.ts:89", "pc": [ 524, 525 ] }, { "teal": 552, "source": "contracts\\LimitOrder.algo.ts:89", "pc": [ 526, 527 ] }, { "teal": 553, "source": "contracts\\LimitOrder.algo.ts:89", "pc": [ 528, 529, 530 ] }, { "teal": 554, "source": "contracts\\LimitOrder.algo.ts:89", "pc": [ 531 ] }, { "teal": 555, "source": "contracts\\LimitOrder.algo.ts:89", "pc": [ 532 ] }, { "teal": 556, "source": "contracts\\LimitOrder.algo.ts:89", "pc": [ 533 ] }, { "teal": 557, "source": "contracts\\LimitOrder.algo.ts:89", "pc": [ 534, 535, 536 ] }, { "teal": 562, "source": "contracts\\LimitOrder.algo.ts:70", "pc": [ 537, 538 ] }, { "teal": 563, "source": "contracts\\LimitOrder.algo.ts:70", "pc": [ 539 ] }, { "teal": 566, "source": "contracts\\LimitOrder.algo.ts:70", "errorMessage": "box value does not exist: this.orders(orderId).value", "pc": [ 540 ] }, { "teal": 567, "source": "contracts\\LimitOrder.algo.ts:90", "pc": [ 541, 542 ] }, { "teal": 568, "source": "contracts\\LimitOrder.algo.ts:90", "pc": [ 543, 544 ] }, { "teal": 569, "source": "contracts\\LimitOrder.algo.ts:90", "pc": [ 545, 546, 547 ] }, { "teal": 570, "source": "contracts\\LimitOrder.algo.ts:90", "pc": [ 548 ] }, { "teal": 571, "source": "contracts\\LimitOrder.algo.ts:90", "pc": [ 549, 550 ] }, { "teal": 576, "source": "contracts\\LimitOrder.algo.ts:70", "pc": [ 551, 552 ] }, { "teal": 577, "source": "contracts\\LimitOrder.algo.ts:70", "pc": [ 553 ] }, { "teal": 580, "source": "contracts\\LimitOrder.algo.ts:70", "errorMessage": "box value does not exist: this.orders(orderId).value", "pc": [ 554 ] }, { "teal": 581, "source": "contracts\\LimitOrder.algo.ts:91", "pc": [ 555, 556 ] }, { "teal": 582, "source": "contracts\\LimitOrder.algo.ts:91", "pc": [ 557, 558 ] }, { "teal": 583, "source": "contracts\\LimitOrder.algo.ts:91", "pc": [ 559, 560, 561 ] }, { "teal": 584, "source": "contracts\\LimitOrder.algo.ts:91", "pc": [ 562, 563 ] }, { "teal": 585, "source": "contracts\\LimitOrder.algo.ts:91", "pc": [ 564, 565 ] }, { "teal": 586, "source": "contracts\\LimitOrder.algo.ts:91", "pc": [ 566 ] }, { "teal": 587, "source": "contracts\\LimitOrder.algo.ts:91", "pc": [ 567 ] }, { "teal": 588, "source": "contracts\\LimitOrder.algo.ts:91", "pc": [ 568, 569, 570 ] }, { "teal": 593, "source": "contracts\\LimitOrder.algo.ts:92", "pc": [ 571 ] }, { "teal": 594, "source": "contracts\\LimitOrder.algo.ts:92", "pc": [ 572, 573 ] }, { "teal": 598, "source": "contracts\\LimitOrder.algo.ts:70", "pc": [ 574, 575 ] }, { "teal": 599, "source": "contracts\\LimitOrder.algo.ts:70", "pc": [ 576 ] }, { "teal": 602, "source": "contracts\\LimitOrder.algo.ts:70", "errorMessage": "box value does not exist: this.orders(orderId).value", "pc": [ 577 ] }, { "teal": 603, "source": "contracts\\LimitOrder.algo.ts:93", "pc": [ 578, 579 ] }, { "teal": 604, "source": "contracts\\LimitOrder.algo.ts:93", "pc": [ 580, 581 ] }, { "teal": 605, "source": "contracts\\LimitOrder.algo.ts:93", "pc": [ 582, 583, 584 ] }, { "teal": 606, "source": "contracts\\LimitOrder.algo.ts:70", "pc": [ 585, 586 ] }, { "teal": 607, "source": "contracts\\LimitOrder.algo.ts:70", "pc": [ 587 ] }, { "teal": 610, "source": "contracts\\LimitOrder.algo.ts:70", "errorMessage": "box value does not exist: this.orders(orderId).value", "pc": [ 588 ] }, { "teal": 611, "source": "contracts\\LimitOrder.algo.ts:93", "pc": [ 589, 590 ] }, { "teal": 612, "source": "contracts\\LimitOrder.algo.ts:93", "pc": [ 591, 592 ] }, { "teal": 613, "source": "contracts\\LimitOrder.algo.ts:93", "pc": [ 593, 594, 595 ] }, { "teal": 614, "source": "contracts\\LimitOrder.algo.ts:93", "pc": [ 596 ] }, { "teal": 615, "source": "contracts\\LimitOrder.algo.ts:70", "pc": [ 597, 598 ] }, { "teal": 616, "source": "contracts\\LimitOrder.algo.ts:70", "pc": [ 599 ] }, { "teal": 619, "source": "contracts\\LimitOrder.algo.ts:70", "errorMessage": "box value does not exist: this.orders(orderId).value", "pc": [ 600 ] }, { "teal": 620, "source": "contracts\\LimitOrder.algo.ts:93", "pc": [ 601, 602 ] }, { "teal": 621, "source": "contracts\\LimitOrder.algo.ts:93", "pc": [ 603, 604 ] }, { "teal": 622, "source": "contracts\\LimitOrder.algo.ts:93", "pc": [ 605, 606, 607 ] }, { "teal": 623, "source": "contracts\\LimitOrder.algo.ts:93", "pc": [ 608 ] }, { "teal": 624, "source": "contracts\\LimitOrder.algo.ts:93", "pc": [ 609, 610, 611 ] }, { "teal": 627, "source": "contracts\\LimitOrder.algo.ts:89", "pc": [ 612, 613, 614 ] }, { "teal": 632, "source": "contracts\\LimitOrder.algo.ts:96", "pc": [ 615 ] }, { "teal": 633, "source": "contracts\\LimitOrder.algo.ts:96", "pc": [ 616, 617 ] }, { "teal": 637, "source": "contracts\\LimitOrder.algo.ts:70", "pc": [ 618, 619 ] }, { "teal": 638, "source": "contracts\\LimitOrder.algo.ts:70", "pc": [ 620 ] }, { "teal": 641, "source": "contracts\\LimitOrder.algo.ts:70", "errorMessage": "box value does not exist: this.orders(orderId).value", "pc": [ 621 ] }, { "teal": 642, "source": "contracts\\LimitOrder.algo.ts:97", "pc": [ 622, 623 ] }, { "teal": 643, "source": "contracts\\LimitOrder.algo.ts:97", "pc": [ 624, 625 ] }, { "teal": 644, "source": "contracts\\LimitOrder.algo.ts:97", "pc": [ 626, 627, 628 ] }, { "teal": 645, "source": "contracts\\LimitOrder.algo.ts:70", "pc": [ 629, 630 ] }, { "teal": 646, "source": "contracts\\LimitOrder.algo.ts:70", "pc": [ 631 ] }, { "teal": 649, "source": "contracts\\LimitOrder.algo.ts:70", "errorMessage": "box value does not exist: this.orders(orderId).value", "pc": [ 632 ] }, { "teal": 650, "source": "contracts\\LimitOrder.algo.ts:97", "pc": [ 633, 634 ] }, { "teal": 651, "source": "contracts\\LimitOrder.algo.ts:97", "pc": [ 635, 636 ] }, { "teal": 652, "source": "contracts\\LimitOrder.algo.ts:97", "pc": [ 637, 638, 639 ] }, { "teal": 653, "source": "contracts\\LimitOrder.algo.ts:97", "pc": [ 640 ] }, { "teal": 654, "source": "contracts\\LimitOrder.algo.ts:70", "pc": [ 641, 642 ] }, { "teal": 655, "source": "contracts\\LimitOrder.algo.ts:70", "pc": [ 643 ] }, { "teal": 658, "source": "contracts\\LimitOrder.algo.ts:70", "errorMessage": "box value does not exist: this.orders(orderId).value", "pc": [ 644 ] }, { "teal": 659, "source": "contracts\\LimitOrder.algo.ts:97", "pc": [ 645, 646 ] }, { "teal": 660, "source": "contracts\\LimitOrder.algo.ts:97", "pc": [ 647, 648 ] }, { "teal": 661, "source": "contracts\\LimitOrder.algo.ts:97", "pc": [ 649, 650, 651 ] }, { "teal": 662, "source": "contracts\\LimitOrder.algo.ts:97", "pc": [ 652 ] }, { "teal": 663, "source": "contracts\\LimitOrder.algo.ts:97", "pc": [ 653, 654, 655 ] }, { "teal": 677, "source": "contracts\\LimitOrder.algo.ts:99", "pc": [ 656, 657 ] }, { "teal": 678, "source": "contracts\\LimitOrder.algo.ts:99", "pc": [ 658 ] }, { "teal": 679, "source": "contracts\\LimitOrder.algo.ts:70", "pc": [ 659, 660 ] }, { "teal": 680, "source": "contracts\\LimitOrder.algo.ts:70", "pc": [ 661 ] }, { "teal": 683, "source": "contracts\\LimitOrder.algo.ts:70", "errorMessage": "box value does not exist: this.orders(orderId).value", "pc": [ 662 ] }, { "teal": 684, "source": "contracts\\LimitOrder.algo.ts:100", "pc": [ 663, 664 ] }, { "teal": 685, "source": "contracts\\LimitOrder.algo.ts:100", "pc": [ 665, 666 ] }, { "teal": 686, "source": "contracts\\LimitOrder.algo.ts:100", "pc": [ 667, 668, 669 ] }, { "teal": 687, "source": "contracts\\LimitOrder.algo.ts:100", "pc": [ 670 ] }, { "teal": 688, "source": "contracts\\LimitOrder.algo.ts:100", "pc": [ 671 ] }, { "teal": 689, "source": "contracts\\LimitOrder.algo.ts:70", "pc": [ 672, 673 ] }, { "teal": 690, "source": "contracts\\LimitOrder.algo.ts:70", "pc": [ 674 ] }, { "teal": 693, "source": "contracts\\LimitOrder.algo.ts:70", "errorMessage": "box value does not exist: this.orders(orderId).value", "pc": [ 675 ] }, { "teal": 694, "source": "contracts\\LimitOrder.algo.ts:101", "pc": [ 676, 677 ] }, { "teal": 695, "source": "contracts\\LimitOrder.algo.ts:101", "pc": [ 678, 679 ] }, { "teal": 696, "source": "contracts\\LimitOrder.algo.ts:101", "pc": [ 680, 681, 682 ] }, { "teal": 697, "source": "contracts\\LimitOrder.algo.ts:101", "pc": [ 683 ] }, { "teal": 698, "source": "contracts\\LimitOrder.algo.ts:70", "pc": [ 684, 685 ] }, { "teal": 699, "source": "contracts\\LimitOrder.algo.ts:70", "pc": [ 686 ] }, { "teal": 702, "source": "contracts\\LimitOrder.algo.ts:70", "errorMessage": "box value does not exist: this.orders(orderId).value", "pc": [ 687 ] }, { "teal": 703, "source": "contracts\\LimitOrder.algo.ts:102", "pc": [ 688, 689 ] }, { "teal": 704, "source": "contracts\\LimitOrder.algo.ts:102", "pc": [ 690, 691 ] }, { "teal": 705, "source": "contracts\\LimitOrder.algo.ts:102", "pc": [ 692, 693, 694 ] }, { "teal": 706, "source": "contracts\\LimitOrder.algo.ts:102", "pc": [ 695 ] }, { "teal": 707, "source": "contracts\\LimitOrder.algo.ts:102", "pc": [ 696 ] }, { "teal": 708, "source": "contracts\\LimitOrder.algo.ts:102", "pc": [ 697 ] }, { "teal": 709, "source": "contracts\\LimitOrder.algo.ts:70", "pc": [ 698, 699 ] }, { "teal": 710, "source": "contracts\\LimitOrder.algo.ts:70", "pc": [ 700 ] }, { "teal": 713, "source": "contracts\\LimitOrder.algo.ts:70", "errorMessage": "box value does not exist: this.orders(orderId).value", "pc": [ 701 ] }, { "teal": 714, "source": "contracts\\LimitOrder.algo.ts:103", "pc": [ 702, 703 ] }, { "teal": 715, "source": "contracts\\LimitOrder.algo.ts:103", "pc": [ 704, 705 ] }, { "teal": 716, "source": "contracts\\LimitOrder.algo.ts:103", "pc": [ 706, 707, 708 ] }, { "teal": 717, "source": "contracts\\LimitOrder.algo.ts:103", "pc": [ 709 ] }, { "teal": 718, "source": "contracts\\LimitOrder.algo.ts:103", "pc": [ 710 ] }, { "teal": 719, "source": "contracts\\LimitOrder.algo.ts:103", "pc": [ 711 ] }, { "teal": 720, "source": "contracts\\LimitOrder.algo.ts:70", "pc": [ 712, 713 ] }, { "teal": 721, "source": "contracts\\LimitOrder.algo.ts:70", "pc": [ 714 ] }, { "teal": 724, "source": "contracts\\LimitOrder.algo.ts:70", "errorMessage": "box value does not exist: this.orders(orderId).value", "pc": [ 715 ] }, { "teal": 725, "source": "contracts\\LimitOrder.algo.ts:104", "pc": [ 716, 717 ] }, { "teal": 726, "source": "contracts\\LimitOrder.algo.ts:104", "pc": [ 718, 719 ] }, { "teal": 727, "source": "contracts\\LimitOrder.algo.ts:104", "pc": [ 720, 721, 722 ] }, { "teal": 728, "source": "contracts\\LimitOrder.algo.ts:104", "pc": [ 723 ] }, { "teal": 729, "source": "contracts\\LimitOrder.algo.ts:104", "pc": [ 724 ] }, { "teal": 730, "source": "contracts\\LimitOrder.algo.ts:104", "pc": [ 725 ] }, { "teal": 731, "source": "contracts\\LimitOrder.algo.ts:70", "pc": [ 726, 727 ] }, { "teal": 732, "source": "contracts\\LimitOrder.algo.ts:70", "pc": [ 728 ] }, { "teal": 735, "source": "contracts\\LimitOrder.algo.ts:70", "errorMessage": "box value does not exist: this.orders(orderId).value", "pc": [ 729 ] }, { "teal": 736, "source": "contracts\\LimitOrder.algo.ts:105", "pc": [ 730, 731 ] }, { "teal": 737, "source": "contracts\\LimitOrder.algo.ts:105", "pc": [ 732, 733 ] }, { "teal": 738, "source": "contracts\\LimitOrder.algo.ts:105", "pc": [ 734, 735, 736 ] }, { "teal": 739, "source": "contracts\\LimitOrder.algo.ts:105", "pc": [ 737 ] }, { "teal": 740, "source": "contracts\\LimitOrder.algo.ts:105", "pc": [ 738 ] }, { "teal": 741, "source": "contracts\\LimitOrder.algo.ts:105", "pc": [ 739 ] }, { "teal": 742, "source": "contracts\\LimitOrder.algo.ts:106", "pc": [ 740 ] }, { "teal": 743, "source": "contracts\\LimitOrder.algo.ts:106", "pc": [ 741 ] }, { "teal": 744, "source": "contracts\\LimitOrder.algo.ts:106", "pc": [ 742 ] }, { "teal": 745, "source": "contracts\\LimitOrder.algo.ts:106", "pc": [ 743 ] }, { "teal": 746, "source": "contracts\\LimitOrder.algo.ts:107", "pc": [ 744 ] }, { "teal": 747, "source": "contracts\\LimitOrder.algo.ts:107", "pc": [ 745, 746 ] }, { "teal": 748, "source": "contracts\\LimitOrder.algo.ts:107", "pc": [ 747 ] }, { "teal": 749, "source": "contracts\\LimitOrder.algo.ts:99", "pc": [ 748 ] }, { "teal": 750, "source": "contracts\\LimitOrder.algo.ts:99", "pc": [ 749 ] }, { "teal": 751, "source": "contracts\\LimitOrder.algo.ts:68", "pc": [ 750 ] }, { "teal": 756, "source": "contracts\\LimitOrder.algo.ts:111", "pc": [ 751, 752, 753 ] }, { "teal": 757, "source": "contracts\\LimitOrder.algo.ts:111", "pc": [ 754 ] }, { "teal": 760, "source": "contracts\\LimitOrder.algo.ts:111", "pc": [ 755, 756, 757 ] }, { "teal": 761, "source": "contracts\\LimitOrder.algo.ts:111", "pc": [ 758 ] }, { "teal": 762, "source": "contracts\\LimitOrder.algo.ts:111", "pc": [ 759 ] }, { "teal": 766, "source": "contracts\\LimitOrder.algo.ts:111", "pc": [ 760, 761, 762 ] }, { "teal": 769, "source": "contracts\\LimitOrder.algo.ts:111", "pc": [ 763 ] }, { "teal": 773, "source": "contracts\\LimitOrder.algo.ts:112", "pc": [ 764, 765 ] }, { "teal": 774, "source": "contracts\\LimitOrder.algo.ts:112", "pc": [ 766 ] }, { "teal": 775, "source": "contracts\\LimitOrder.algo.ts:112", "pc": [ 767 ] }, { "teal": 776, "source": "contracts\\LimitOrder.algo.ts:112", "pc": [ 768 ] }, { "teal": 777, "source": "contracts\\LimitOrder.algo.ts:112", "pc": [ 769 ] }, { "teal": 780, "source": "contracts\\LimitOrder.algo.ts:112", "errorMessage": "Order not found", "pc": [ 770 ] }, { "teal": 784, "source": "contracts\\LimitOrder.algo.ts:113", "pc": [ 771, 772 ] }, { "teal": 785, "source": "contracts\\LimitOrder.algo.ts:113", "pc": [ 773 ] }, { "teal": 786, "source": "contracts\\LimitOrder.algo.ts:113", "pc": [ 774, 775 ] }, { "teal": 790, "source": "contracts\\LimitOrder.algo.ts:113", "pc": [ 776, 777 ] }, { "teal": 791, "source": "contracts\\LimitOrder.algo.ts:113", "pc": [ 778 ] }, { "teal": 794, "source": "contracts\\LimitOrder.algo.ts:113", "errorMessage": "box value does not exist: this.orders(orderId).value", "pc": [ 779 ] }, { "teal": 795, "source": "contracts\\LimitOrder.algo.ts:114", "pc": [ 780, 781 ] }, { "teal": 796, "source": "contracts\\LimitOrder.algo.ts:114", "pc": [ 782, 783 ] }, { "teal": 797, "source": "contracts\\LimitOrder.algo.ts:114", "pc": [ 784 ] }, { "teal": 798, "source": "contracts\\LimitOrder.algo.ts:114", "pc": [ 785 ] }, { "teal": 801, "source": "contracts\\LimitOrder.algo.ts:114", "errorMessage": "Order not completed", "pc": [ 786 ] }, { "teal": 805, "source": "contracts\\LimitOrder.algo.ts:113", "pc": [ 787, 788 ] }, { "teal": 806, "source": "contracts\\LimitOrder.algo.ts:113", "pc": [ 789 ] }, { "teal": 809, "source": "contracts\\LimitOrder.algo.ts:113", "errorMessage": "box value does not exist: this.orders(orderId).value", "pc": [ 790 ] }, { "teal": 810, "source": "contracts\\LimitOrder.algo.ts:115", "pc": [ 791, 792 ] }, { "teal": 811, "source": "contracts\\LimitOrder.algo.ts:115", "pc": [ 793, 794 ] }, { "teal": 812, "source": "contracts\\LimitOrder.algo.ts:115", "pc": [ 795, 796, 797 ] }, { "teal": 813, "source": "contracts\\LimitOrder.algo.ts:115", "pc": [ 798 ] }, { "teal": 814, "source": "contracts\\LimitOrder.algo.ts:115", "pc": [ 799 ] }, { "teal": 817, "source": "contracts\\LimitOrder.algo.ts:115", "errorMessage": "Owner already claimed", "pc": [ 800 ] }, { "teal": 821, "source": "contracts\\LimitOrder.algo.ts:116", "pc": [ 801, 802 ] }, { "teal": 822, "source": "contracts\\LimitOrder.algo.ts:113", "pc": [ 803, 804 ] }, { "teal": 823, "source": "contracts\\LimitOrder.algo.ts:113", "pc": [ 805 ] }, { "teal": 826, "source": "contracts\\LimitOrder.algo.ts:113", "errorMessage": "box value does not exist: this.orders(orderId).value", "pc": [ 806 ] }, { "teal": 827, "source": "contracts\\LimitOrder.algo.ts:116", "pc": [ 807, 808 ] }, { "teal": 828, "source": "contracts\\LimitOrder.algo.ts:116", "pc": [ 809, 810 ] }, { "teal": 829, "source": "contracts\\LimitOrder.algo.ts:116", "pc": [ 811, 812, 813 ] }, { "teal": 830, "source": "contracts\\LimitOrder.algo.ts:116", "pc": [ 814 ] }, { "teal": 833, "source": "contracts\\LimitOrder.algo.ts:116", "errorMessage": "Invalid sender", "pc": [ 815 ] }, { "teal": 846, "source": "contracts\\LimitOrder.algo.ts:117", "pc": [ 816, 817 ] }, { "teal": 847, "source": "contracts\\LimitOrder.algo.ts:117", "pc": [ 818 ] }, { "teal": 848, "source": "contracts\\LimitOrder.algo.ts:113", "pc": [ 819, 820 ] }, { "teal": 849, "source": "contracts\\LimitOrder.algo.ts:113", "pc": [ 821 ] }, { "teal": 852, "source": "contracts\\LimitOrder.algo.ts:113", "errorMessage": "box value does not exist: this.orders(orderId).value", "pc": [ 822 ] }, { "teal": 853, "source": "contracts\\LimitOrder.algo.ts:118", "pc": [ 823, 824 ] }, { "teal": 854, "source": "contracts\\LimitOrder.algo.ts:118", "pc": [ 825, 826 ] }, { "teal": 855, "source": "contracts\\LimitOrder.algo.ts:118", "pc": [ 827, 828, 829 ] }, { "teal": 856, "source": "contracts\\LimitOrder.algo.ts:118", "pc": [ 830 ] }, { "teal": 857, "source": "contracts\\LimitOrder.algo.ts:118", "pc": [ 831 ] }, { "teal": 858, "source": "contracts\\LimitOrder.algo.ts:113", "pc": [ 832, 833 ] }, { "teal": 859, "source": "contracts\\LimitOrder.algo.ts:113", "pc": [ 834 ] }, { "teal": 862, "source": "contracts\\LimitOrder.algo.ts:113", "errorMessage": "box value does not exist: this.orders(orderId).value", "pc": [ 835 ] }, { "teal": 863, "source": "contracts\\LimitOrder.algo.ts:119", "pc": [ 836, 837 ] }, { "teal": 864, "source": "contracts\\LimitOrder.algo.ts:119", "pc": [ 838, 839 ] }, { "teal": 865, "source": "contracts\\LimitOrder.algo.ts:119", "pc": [ 840, 841, 842 ] }, { "teal": 866, "source": "contracts\\LimitOrder.algo.ts:119", "pc": [ 843 ] }, { "teal": 867, "source": "contracts\\LimitOrder.algo.ts:113", "pc": [ 844, 845 ] }, { "teal": 868, "source": "contracts\\LimitOrder.algo.ts:113", "pc": [ 846 ] }, { "teal": 871, "source": "contracts\\LimitOrder.algo.ts:113", "errorMessage": "box value does not exist: this.orders(orderId).value", "pc": [ 847 ] }, { "teal": 872, "source": "contracts\\LimitOrder.algo.ts:120", "pc": [ 848, 849 ] }, { "teal": 873, "source": "contracts\\LimitOrder.algo.ts:120", "pc": [ 850, 851 ] }, { "teal": 874, "source": "contracts\\LimitOrder.algo.ts:120", "pc": [ 852, 853, 854 ] }, { "teal": 875, "source": "contracts\\LimitOrder.algo.ts:120", "pc": [ 855 ] }, { "teal": 876, "source": "contracts\\LimitOrder.algo.ts:120", "pc": [ 856 ] }, { "teal": 877, "source": "contracts\\LimitOrder.algo.ts:120", "pc": [ 857 ] }, { "teal": 878, "source": "contracts\\LimitOrder.algo.ts:113", "pc": [ 858, 859 ] }, { "teal": 879, "source": "contracts\\LimitOrder.algo.ts:113", "pc": [ 860 ] }, { "teal": 882, "source": "contracts\\LimitOrder.algo.ts:113", "errorMessage": "box value does not exist: this.orders(orderId).value", "pc": [ 861 ] }, { "teal": 883, "source": "contracts\\LimitOrder.algo.ts:121", "pc": [ 862, 863 ] }, { "teal": 884, "source": "contracts\\LimitOrder.algo.ts:121", "pc": [ 864, 865 ] }, { "teal": 885, "source": "contracts\\LimitOrder.algo.ts:121", "pc": [ 866, 867, 868 ] }, { "teal": 886, "source": "contracts\\LimitOrder.algo.ts:121", "pc": [ 869 ] }, { "teal": 887, "source": "contracts\\LimitOrder.algo.ts:121", "pc": [ 870 ] }, { "teal": 888, "source": "contracts\\LimitOrder.algo.ts:121", "pc": [ 871 ] }, { "teal": 889, "source": "contracts\\LimitOrder.algo.ts:113", "pc": [ 872, 873 ] }, { "teal": 890, "source": "contracts\\LimitOrder.algo.ts:113", "pc": [ 874 ] }, { "teal": 893, "source": "contracts\\LimitOrder.algo.ts:113", "errorMessage": "box value does not exist: this.orders(orderId).value", "pc": [ 875 ] }, { "teal": 894, "source": "contracts\\LimitOrder.algo.ts:122", "pc": [ 876, 877 ] }, { "teal": 895, "source": "contracts\\LimitOrder.algo.ts:122", "pc": [ 878, 879 ] }, { "teal": 896, "source": "contracts\\LimitOrder.algo.ts:122", "pc": [ 880, 881, 882 ] }, { "teal": 897, "source": "contracts\\LimitOrder.algo.ts:122", "pc": [ 883 ] }, { "teal": 898, "source": "contracts\\LimitOrder.algo.ts:122", "pc": [ 884 ] }, { "teal": 899, "source": "contracts\\LimitOrder.algo.ts:122", "pc": [ 885 ] }, { "teal": 900, "source": "contracts\\LimitOrder.algo.ts:113", "pc": [ 886, 887 ] }, { "teal": 901, "source": "contracts\\LimitOrder.algo.ts:113", "pc": [ 888 ] }, { "teal": 904, "source": "contracts\\LimitOrder.algo.ts:113", "errorMessage": "box value does not exist: this.orders(orderId).value", "pc": [ 889 ] }, { "teal": 905, "source": "contracts\\LimitOrder.algo.ts:123", "pc": [ 890, 891 ] }, { "teal": 906, "source": "contracts\\LimitOrder.algo.ts:123", "pc": [ 892, 893 ] }, { "teal": 907, "source": "contracts\\LimitOrder.algo.ts:123", "pc": [ 894, 895, 896 ] }, { "teal": 908, "source": "contracts\\LimitOrder.algo.ts:123", "pc": [ 897 ] }, { "teal": 909, "source": "contracts\\LimitOrder.algo.ts:123", "pc": [ 898 ] }, { "teal": 910, "source": "contracts\\LimitOrder.algo.ts:123", "pc": [ 899 ] }, { "teal": 911, "source": "contracts\\LimitOrder.algo.ts:124", "pc": [ 900 ] }, { "teal": 912, "source": "contracts\\LimitOrder.algo.ts:124", "pc": [ 901 ] }, { "teal": 913, "source": "contracts\\LimitOrder.algo.ts:113", "pc": [ 902, 903 ] }, { "teal": 914, "source": "contracts\\LimitOrder.algo.ts:113", "pc": [ 904 ] }, { "teal": 917, "source": "contracts\\LimitOrder.algo.ts:113", "errorMessage": "box value does not exist: this.orders(orderId).value", "pc": [ 905 ] }, { "teal": 918, "source": "contracts\\LimitOrder.algo.ts:124", "pc": [ 906, 907 ] }, { "teal": 919, "source": "contracts\\LimitOrder.algo.ts:124", "pc": [ 908, 909 ] }, { "teal": 920, "source": "contracts\\LimitOrder.algo.ts:124", "pc": [ 910 ] }, { "teal": 921, "source": "contracts\\LimitOrder.algo.ts:124", "pc": [ 911 ] }, { "teal": 922, "source": "contracts\\LimitOrder.algo.ts:124", "pc": [ 912 ] }, { "teal": 923, "source": "contracts\\LimitOrder.algo.ts:125", "pc": [ 913 ] }, { "teal": 924, "source": "contracts\\LimitOrder.algo.ts:125", "pc": [ 914 ] }, { "teal": 925, "source": "contracts\\LimitOrder.algo.ts:125", "pc": [ 915 ] }, { "teal": 926, "source": "contracts\\LimitOrder.algo.ts:117", "pc": [ 916 ] }, { "teal": 927, "source": "contracts\\LimitOrder.algo.ts:117", "pc": [ 917 ] }, { "teal": 931, "source": "contracts\\LimitOrder.algo.ts:113", "pc": [ 918, 919 ] }, { "teal": 932, "source": "contracts\\LimitOrder.algo.ts:113", "pc": [ 920 ] }, { "teal": 935, "source": "contracts\\LimitOrder.algo.ts:113", "errorMessage": "box value does not exist: this.orders(orderId).value", "pc": [ 921 ] }, { "teal": 936, "source": "contracts\\LimitOrder.algo.ts:127", "pc": [ 922, 923 ] }, { "teal": 937, "source": "contracts\\LimitOrder.algo.ts:127", "pc": [ 924, 925 ] }, { "teal": 938, "source": "contracts\\LimitOrder.algo.ts:127", "pc": [ 926, 927, 928 ] }, { "teal": 939, "source": "contracts\\LimitOrder.algo.ts:113", "pc": [ 929, 930 ] }, { "teal": 940, "source": "contracts\\LimitOrder.algo.ts:113", "pc": [ 931 ] }, { "teal": 943, "source": "contracts\\LimitOrder.algo.ts:113", "errorMessage": "box value does not exist: this.orders(orderId).value", "pc": [ 932 ] }, { "teal": 944, "source": "contracts\\LimitOrder.algo.ts:127", "pc": [ 933, 934 ] }, { "teal": 945, "source": "contracts\\LimitOrder.algo.ts:127", "pc": [ 935, 936 ] }, { "teal": 946, "source": "contracts\\LimitOrder.algo.ts:127", "pc": [ 937, 938, 939 ] }, { "teal": 947, "source": "contracts\\LimitOrder.algo.ts:127", "pc": [ 940 ] }, { "teal": 948, "source": "contracts\\LimitOrder.algo.ts:113", "pc": [ 941, 942 ] }, { "teal": 949, "source": "contracts\\LimitOrder.algo.ts:113", "pc": [ 943 ] }, { "teal": 952, "source": "contracts\\LimitOrder.algo.ts:113", "errorMessage": "box value does not exist: this.orders(orderId).value", "pc": [ 944 ] }, { "teal": 953, "source": "contracts\\LimitOrder.algo.ts:127", "pc": [ 945, 946 ] }, { "teal": 954, "source": "contracts\\LimitOrder.algo.ts:127", "pc": [ 947, 948 ] }, { "teal": 955, "source": "contracts\\LimitOrder.algo.ts:127", "pc": [ 949, 950, 951 ] }, { "teal": 956, "source": "contracts\\LimitOrder.algo.ts:127", "pc": [ 952 ] }, { "teal": 957, "source": "contracts\\LimitOrder.algo.ts:127", "pc": [ 953, 954, 955 ] }, { "teal": 958, "source": "contracts\\LimitOrder.algo.ts:111", "pc": [ 956 ] }, { "teal": 963, "source": "contracts\\LimitOrder.algo.ts:130", "pc": [ 957, 958 ] }, { "teal": 964, "source": "contracts\\LimitOrder.algo.ts:130", "pc": [ 959 ] }, { "teal": 965, "source": "contracts\\LimitOrder.algo.ts:130", "pc": [ 960 ] }, { "teal": 966, "source": "contracts\\LimitOrder.algo.ts:130", "pc": [ 961 ] }, { "teal": 967, "source": "contracts\\LimitOrder.algo.ts:130", "pc": [ 962, 963 ] }, { "teal": 968, "source": "contracts\\LimitOrder.algo.ts:130", "pc": [ 964 ] }, { "teal": 969, "source": "contracts\\LimitOrder.algo.ts:130", "pc": [ 965 ] }, { "teal": 972, "source": "contracts\\LimitOrder.algo.ts:130", "errorMessage": "argument 0 (mbrTxn) for optInToAsset must be a pay transaction", "pc": [ 966 ] }, { "teal": 975, "source": "contracts\\LimitOrder.algo.ts:130", "pc": [ 967, 968, 969 ] }, { "teal": 976, "source": "contracts\\LimitOrder.algo.ts:130", "pc": [ 970 ] }, { "teal": 979, "source": "contracts\\LimitOrder.algo.ts:130", "pc": [ 971, 972, 973 ] }, { "teal": 980, "source": "contracts\\LimitOrder.algo.ts:130", "pc": [ 974 ] }, { "teal": 981, "source": "contracts\\LimitOrder.algo.ts:130", "pc": [ 975 ] }, { "teal": 985, "source": "contracts\\LimitOrder.algo.ts:130", "pc": [ 976, 977, 978 ] }, { "teal": 989, "source": "contracts\\LimitOrder.algo.ts:131", "pc": [ 979, 980 ] }, { "teal": 990, "source": "contracts\\LimitOrder.algo.ts:131", "pc": [ 981, 982 ] }, { "teal": 991, "source": "contracts\\LimitOrder.algo.ts:131", "pc": [ 983, 984 ] }, { "teal": 992, "source": "contracts\\LimitOrder.algo.ts:131", "pc": [ 985 ] }, { "teal": 993, "source": "contracts\\LimitOrder.algo.ts:131", "pc": [ 986 ] }, { "teal": 994, "source": "contracts\\LimitOrder.algo.ts:131", "pc": [ 987 ] }, { "teal": 997, "source": "contracts\\LimitOrder.algo.ts:131", "errorMessage": "Already opted in", "pc": [ 988 ] }, { "teal": 1002, "source": "contracts\\LimitOrder.algo.ts:132", "pc": [ 989, 990 ] }, { "teal": 1003, "source": "contracts\\LimitOrder.algo.ts:132", "pc": [ 991, 992 ] }, { "teal": 1004, "source": "contracts\\LimitOrder.algo.ts:132", "pc": [ 993, 994 ] }, { "teal": 1005, "source": "contracts\\LimitOrder.algo.ts:132", "pc": [ 995 ] }, { "teal": 1008, "source": "contracts\\LimitOrder.algo.ts:132", "errorMessage": "transaction verification failed: {\"txn\":\"mbrTxn\",\"field\":\"amount\",\"condition\":\"greaterThanEqualTo\",\"expected\":\">=globals.assetOptInMinBalance\"}", "pc": [ 996 ] }, { "teal": 1011, "source": "contracts\\LimitOrder.algo.ts:132", "pc": [ 997, 998 ] }, { "teal": 1012, "source": "contracts\\LimitOrder.algo.ts:132", "pc": [ 999, 1000 ] }, { "teal": 1013, "source": "contracts\\LimitOrder.algo.ts:132", "pc": [ 1001, 1002 ] }, { "teal": 1014, "source": "contracts\\LimitOrder.algo.ts:132", "pc": [ 1003 ] }, { "teal": 1017, "source": "contracts\\LimitOrder.algo.ts:132", "errorMessage": "transaction verification failed: {\"txn\":\"mbrTxn\",\"field\":\"receiver\",\"expected\":\"this.app.address\"}", "pc": [ 1004 ] }, { "teal": 1021, "source": "contracts\\LimitOrder.algo.ts:133", "pc": [ 1005 ] }, { "teal": 1022, "source": "contracts\\LimitOrder.algo.ts:133", "pc": [ 1006 ] }, { "teal": 1023, "source": "contracts\\LimitOrder.algo.ts:133", "pc": [ 1007, 1008 ] }, { "teal": 1027, "source": "contracts\\LimitOrder.algo.ts:133", "pc": [ 1009, 1010 ] }, { "teal": 1028, "source": "contracts\\LimitOrder.algo.ts:133", "pc": [ 1011, 1012 ] }, { "teal": 1032, "source": "contracts\\LimitOrder.algo.ts:133", "pc": [ 1013, 1014 ] }, { "teal": 1033, "source": "contracts\\LimitOrder.algo.ts:133", "pc": [ 1015, 1016 ] }, { "teal": 1037, "source": "contracts\\LimitOrder.algo.ts:133", "pc": [ 1017 ] }, { "teal": 1038, "source": "contracts\\LimitOrder.algo.ts:133", "pc": [ 1018, 1019 ] }, { "teal": 1041, "source": "contracts\\LimitOrder.algo.ts:133", "pc": [ 1020 ] }, { "teal": 1042, "source": "contracts\\LimitOrder.algo.ts:133", "pc": [ 1021, 1022 ] }, { "teal": 1045, "source": "contracts\\LimitOrder.algo.ts:133", "pc": [ 1023 ] }, { "teal": 1046, "source": "contracts\\LimitOrder.algo.ts:130", "pc": [ 1024 ] }, { "teal": 1051, "source": "contracts\\LimitOrder.algo.ts:136", "pc": [ 1025, 1026, 1027 ] }, { "teal": 1052, "source": "contracts\\LimitOrder.algo.ts:136", "pc": [ 1028 ] }, { "teal": 1055, "source": "contracts\\LimitOrder.algo.ts:136", "pc": [ 1029, 1030, 1031 ] }, { "teal": 1056, "source": "contracts\\LimitOrder.algo.ts:136", "pc": [ 1032 ] }, { "teal": 1057, "source": "contracts\\LimitOrder.algo.ts:136", "pc": [ 1033 ] }, { "teal": 1061, "source": "contracts\\LimitOrder.algo.ts:136", "pc": [ 1034, 1035, 1036 ] }, { "teal": 1064, "source": "contracts\\LimitOrder.algo.ts:136", "pc": [ 1037 ] }, { "teal": 1065, "source": "contracts\\LimitOrder.algo.ts:136", "pc": [ 1038, 1039 ] }, { "teal": 1069, "source": "contracts\\LimitOrder.algo.ts:137", "pc": [ 1040, 1041 ] }, { "teal": 1070, "source": "contracts\\LimitOrder.algo.ts:137", "pc": [ 1042 ] }, { "teal": 1071, "source": "contracts\\LimitOrder.algo.ts:137", "pc": [ 1043 ] }, { "teal": 1072, "source": "contracts\\LimitOrder.algo.ts:137", "pc": [ 1044 ] }, { "teal": 1073, "source": "contracts\\LimitOrder.algo.ts:137", "pc": [ 1045 ] }, { "teal": 1076, "source": "contracts\\LimitOrder.algo.ts:137", "errorMessage": "Order not found", "pc": [ 1046 ] }, { "teal": 1080, "source": "contracts\\LimitOrder.algo.ts:138", "pc": [ 1047, 1048 ] }, { "teal": 1081, "source": "contracts\\LimitOrder.algo.ts:138", "pc": [ 1049 ] }, { "teal": 1082, "source": "contracts\\LimitOrder.algo.ts:138", "pc": [ 1050 ] }, { "teal": 1085, "source": "contracts\\LimitOrder.algo.ts:138", "errorMessage": "box value does not exist: this.orders(orderId).value", "pc": [ 1051 ] }, { "teal": 1086, "source": "contracts\\LimitOrder.algo.ts:138", "pc": [ 1052, 1053 ] }, { "teal": 1087, "source": "contracts\\LimitOrder.algo.ts:138", "pc": [ 1054, 1055 ] }, { "teal": 1088, "source": "contracts\\LimitOrder.algo.ts:138", "pc": [ 1056, 1057, 1058 ] }, { "teal": 1089, "source": "contracts\\LimitOrder.algo.ts:138", "pc": [ 1059, 1060 ] }, { "teal": 1090, "source": "contracts\\LimitOrder.algo.ts:138", "pc": [ 1061 ] }, { "teal": 1093, "source": "contracts\\LimitOrder.algo.ts:138", "errorMessage": "Invalid sender", "pc": [ 1062 ] }, { "teal": 1097, "source": "contracts\\LimitOrder.algo.ts:139", "pc": [ 1063, 1064 ] }, { "teal": 1098, "source": "contracts\\LimitOrder.algo.ts:139", "pc": [ 1065 ] }, { "teal": 1099, "source": "contracts\\LimitOrder.algo.ts:139", "pc": [ 1066 ] }, { "teal": 1102, "source": "contracts\\LimitOrder.algo.ts:139", "errorMessage": "box value does not exist: this.orders(orderId).value", "pc": [ 1067 ] }, { "teal": 1103, "source": "contracts\\LimitOrder.algo.ts:139", "pc": [ 1068, 1069 ] }, { "teal": 1104, "source": "contracts\\LimitOrder.algo.ts:139", "pc": [ 1070, 1071 ] }, { "teal": 1105, "source": "contracts\\LimitOrder.algo.ts:139", "pc": [ 1072 ] }, { "teal": 1106, "source": "contracts\\LimitOrder.algo.ts:139", "pc": [ 1073 ] }, { "teal": 1107, "source": "contracts\\LimitOrder.algo.ts:139", "pc": [ 1074 ] }, { "teal": 1110, "source": "contracts\\LimitOrder.algo.ts:139", "errorMessage": "Order already completed", "pc": [ 1075 ] }, { "teal": 1114, "source": "contracts\\LimitOrder.algo.ts:140", "pc": [ 1076, 1077 ] }, { "teal": 1115, "source": "contracts\\LimitOrder.algo.ts:140", "pc": [ 1078 ] }, { "teal": 1116, "source": "contracts\\LimitOrder.algo.ts:140", "pc": [ 1079 ] }, { "teal": 1119, "source": "contracts\\LimitOrder.algo.ts:140", "errorMessage": "box value does not exist: this.orders(orderId).value", "pc": [ 1080 ] }, { "teal": 1120, "source": "contracts\\LimitOrder.algo.ts:140", "pc": [ 1081, 1082 ] }, { "teal": 1121, "source": "contracts\\LimitOrder.algo.ts:140", "pc": [ 1083, 1084 ] }, { "teal": 1122, "source": "contracts\\LimitOrder.algo.ts:140", "pc": [ 1085, 1086, 1087 ] }, { "teal": 1123, "source": "contracts\\LimitOrder.algo.ts:140", "pc": [ 1088 ] }, { "teal": 1124, "source": "contracts\\LimitOrder.algo.ts:140", "pc": [ 1089, 1090 ] }, { "teal": 1128, "source": "contracts\\LimitOrder.algo.ts:141", "pc": [ 1091, 1092 ] }, { "teal": 1129, "source": "contracts\\LimitOrder.algo.ts:141", "pc": [ 1093 ] }, { "teal": 1130, "source": "contracts\\LimitOrder.algo.ts:141", "pc": [ 1094 ] }, { "teal": 1133, "source": "contracts\\LimitOrder.algo.ts:141", "errorMessage": "box value does not exist: this.orders(orderId).value", "pc": [ 1095 ] }, { "teal": 1134, "source": "contracts\\LimitOrder.algo.ts:141", "pc": [ 1096, 1097 ] }, { "teal": 1135, "source": "contracts\\LimitOrder.algo.ts:141", "pc": [ 1098, 1099 ] }, { "teal": 1136, "source": "contracts\\LimitOrder.algo.ts:141", "pc": [ 1100, 1101, 1102 ] }, { "teal": 1137, "source": "contracts\\LimitOrder.algo.ts:141", "pc": [ 1103 ] }, { "teal": 1138, "source": "contracts\\LimitOrder.algo.ts:141", "pc": [ 1104, 1105 ] }, { "teal": 1142, "source": "contracts\\LimitOrder.algo.ts:142", "pc": [ 1106, 1107 ] }, { "teal": 1143, "source": "contracts\\LimitOrder.algo.ts:142", "pc": [ 1108 ] }, { "teal": 1144, "source": "contracts\\LimitOrder.algo.ts:142", "pc": [ 1109 ] }, { "teal": 1147, "source": "contracts\\LimitOrder.algo.ts:142", "errorMessage": "box value does not exist: this.orders(orderId).value", "pc": [ 1110 ] }, { "teal": 1148, "source": "contracts\\LimitOrder.algo.ts:142", "pc": [ 1111, 1112 ] }, { "teal": 1149, "source": "contracts\\LimitOrder.algo.ts:142", "pc": [ 1113, 1114 ] }, { "teal": 1150, "source": "contracts\\LimitOrder.algo.ts:142", "pc": [ 1115, 1116, 1117 ] }, { "teal": 1151, "source": "contracts\\LimitOrder.algo.ts:142", "pc": [ 1118, 1119 ] }, { "teal": 1155, "source": "contracts\\LimitOrder.algo.ts:143", "pc": [ 1120, 1121 ] }, { "teal": 1156, "source": "contracts\\LimitOrder.algo.ts:143", "pc": [ 1122 ] }, { "teal": 1157, "source": "contracts\\LimitOrder.algo.ts:143", "pc": [ 1123 ] }, { "teal": 1161, "source": "contracts\\LimitOrder.algo.ts:144", "pc": [ 1124, 1125 ] }, { "teal": 1162, "source": "contracts\\LimitOrder.algo.ts:144", "pc": [ 1126, 1127 ] }, { "teal": 1163, "source": "contracts\\LimitOrder.algo.ts:144", "pc": [ 1128, 1129 ] }, { "teal": 1164, "source": "contracts\\LimitOrder.algo.ts:144", "pc": [ 1130, 1131, 1132 ] }, { "teal": 1168, "source": "contracts\\LimitOrder.algo.ts:145", "pc": [ 1133 ] }, { "teal": 1169, "source": "contracts\\LimitOrder.algo.ts:145", "pc": [ 1134 ] }, { "teal": 1170, "source": "contracts\\LimitOrder.algo.ts:145", "pc": [ 1135, 1136 ] }, { "teal": 1174, "source": "contracts\\LimitOrder.algo.ts:145", "pc": [ 1137, 1138 ] }, { "teal": 1175, "source": "contracts\\LimitOrder.algo.ts:145", "pc": [ 1139, 1140 ] }, { "teal": 1179, "source": "contracts\\LimitOrder.algo.ts:145", "pc": [ 1141, 1142 ] }, { "teal": 1180, "source": "contracts\\LimitOrder.algo.ts:145", "pc": [ 1143, 1144 ] }, { "teal": 1183, "source": "contracts\\LimitOrder.algo.ts:145", "pc": [ 1145 ] }, { "teal": 1184, "source": "contracts\\LimitOrder.algo.ts:145", "pc": [ 1146, 1147 ] }, { "teal": 1187, "source": "contracts\\LimitOrder.algo.ts:145", "pc": [ 1148 ] }, { "teal": 1188, "source": "contracts\\LimitOrder.algo.ts:136", "pc": [ 1149 ] }, { "teal": 1192, "source": "contracts\\LimitOrder.algo.ts:148", "pc": [ 1150, 1151, 1152 ] }, { "teal": 1197, "source": "contracts\\LimitOrder.algo.ts:149", "pc": [ 1153, 1154 ] }, { "teal": 1198, "source": "contracts\\LimitOrder.algo.ts:149", "pc": [ 1155 ] }, { "teal": 1199, "source": "contracts\\LimitOrder.algo.ts:149", "pc": [ 1156 ] }, { "teal": 1200, "source": "contracts\\LimitOrder.algo.ts:149", "pc": [ 1157, 1158, 1159 ] }, { "teal": 1205, "source": "contracts\\LimitOrder.algo.ts:150", "pc": [ 1160 ] }, { "teal": 1206, "source": "contracts\\LimitOrder.algo.ts:150", "pc": [ 1161 ] }, { "teal": 1207, "source": "contracts\\LimitOrder.algo.ts:150", "pc": [ 1162, 1163 ] }, { "teal": 1211, "source": "contracts\\LimitOrder.algo.ts:150", "pc": [ 1164, 1165 ] }, { "teal": 1212, "source": "contracts\\LimitOrder.algo.ts:150", "pc": [ 1166, 1167 ] }, { "teal": 1216, "source": "contracts\\LimitOrder.algo.ts:150", "pc": [ 1168, 1169 ] }, { "teal": 1217, "source": "contracts\\LimitOrder.algo.ts:150", "pc": [ 1170, 1171 ] }, { "teal": 1220, "source": "contracts\\LimitOrder.algo.ts:150", "pc": [ 1172 ] }, { "teal": 1221, "source": "contracts\\LimitOrder.algo.ts:150", "pc": [ 1173, 1174 ] }, { "teal": 1224, "source": "contracts\\LimitOrder.algo.ts:150", "pc": [ 1175 ] }, { "teal": 1225, "source": "contracts\\LimitOrder.algo.ts:149", "pc": [ 1176, 1177, 1178 ] }, { "teal": 1234, "source": "contracts\\LimitOrder.algo.ts:152", "pc": [ 1179 ] }, { "teal": 1235, "source": "contracts\\LimitOrder.algo.ts:152", "pc": [ 1180 ] }, { "teal": 1236, "source": "contracts\\LimitOrder.algo.ts:152", "pc": [ 1181, 1182 ] }, { "teal": 1240, "source": "contracts\\LimitOrder.algo.ts:153", "pc": [ 1183, 1184 ] }, { "teal": 1241, "source": "contracts\\LimitOrder.algo.ts:153", "pc": [ 1185, 1186 ] }, { "teal": 1245, "source": "contracts\\LimitOrder.algo.ts:154", "pc": [ 1187, 1188 ] }, { "teal": 1246, "source": "contracts\\LimitOrder.algo.ts:154", "pc": [ 1189, 1190 ] }, { "teal": 1250, "source": "contracts\\LimitOrder.algo.ts:155", "pc": [ 1191, 1192 ] }, { "teal": 1251, "source": "contracts\\LimitOrder.algo.ts:155", "pc": [ 1193, 1194 ] }, { "teal": 1254, "source": "contracts\\LimitOrder.algo.ts:152", "pc": [ 1195 ] }, { "teal": 1255, "source": "contracts\\LimitOrder.algo.ts:152", "pc": [ 1196, 1197 ] }, { "teal": 1258, "source": "contracts\\LimitOrder.algo.ts:152", "pc": [ 1198 ] }, { "teal": 1261, "source": "contracts\\LimitOrder.algo.ts:148", "pc": [ 1199 ] }, { "teal": 1264, "source": "contracts\\LimitOrder.algo.ts:16", "pc": [ 1200, 1201, 1202, 1203, 1204, 1205 ] }, { "teal": 1265, "source": "contracts\\LimitOrder.algo.ts:16", "pc": [ 1206, 1207, 1208 ] }, { "teal": 1266, "source": "contracts\\LimitOrder.algo.ts:16", "pc": [ 1209, 1210, 1211, 1212 ] }, { "teal": 1269, "source": "contracts\\LimitOrder.algo.ts:16", "errorMessage": "this contract does not implement the given ABI method for create NoOp", "pc": [ 1213 ] }, { "teal": 1272, "source": "contracts\\LimitOrder.algo.ts:16", "pc": [ 1214, 1215, 1216, 1217, 1218, 1219 ] }, { "teal": 1273, "source": "contracts\\LimitOrder.algo.ts:16", "pc": [ 1220, 1221, 1222, 1223, 1224, 1225 ] }, { "teal": 1274, "source": "contracts\\LimitOrder.algo.ts:16", "pc": [ 1226, 1227, 1228, 1229, 1230, 1231 ] }, { "teal": 1275, "source": "contracts\\LimitOrder.algo.ts:16", "pc": [ 1232, 1233, 1234, 1235, 1236, 1237 ] }, { "teal": 1276, "source": "contracts\\LimitOrder.algo.ts:16", "pc": [ 1238, 1239, 1240, 1241, 1242, 1243 ] }, { "teal": 1277, "source": "contracts\\LimitOrder.algo.ts:16", "pc": [ 1244, 1245, 1246 ] }, { "teal": 1278, "source": "contracts\\LimitOrder.algo.ts:16", "pc": [ 1247, 1248, 1249, 1250, 1251, 1252, 1253, 1254, 1255, 1256, 1257, 1258 ] }, { "teal": 1281, "source": "contracts\\LimitOrder.algo.ts:16", "errorMessage": "this contract does not implement the given ABI method for call NoOp", "pc": [ 1259 ] } ], "pcOffsetMethod": "none" }, "clear": { "sourceInfo": [], "pcOffsetMethod": "none" } }, "source": { "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDAgNTc2IDQgMzUzMDAKYnl0ZWNibG9jayAweCAweDZmNzI2NDY1NzI0OTZlNjQ2NTc4IDB4MDAKCi8vIFRoaXMgVEVBTCB3YXMgZ2VuZXJhdGVkIGJ5IFRFQUxTY3JpcHQgdjAuMTA2LjEKLy8gaHR0cHM6Ly9naXRodWIuY29tL2FsZ29yYW5kZm91bmRhdGlvbi9URUFMU2NyaXB0CgovLyBUaGlzIGNvbnRyYWN0IGlzIGNvbXBsaWFudCB3aXRoIGFuZC9vciBpbXBsZW1lbnRzIHRoZSBmb2xsb3dpbmcgQVJDczogWyBBUkM0IF0KCi8vIFRoZSBmb2xsb3dpbmcgdGVuIGxpbmVzIG9mIFRFQUwgaGFuZGxlIGluaXRpYWwgcHJvZ3JhbSBmbG93Ci8vIFRoaXMgcGF0dGVybiBpcyB1c2VkIHRvIG1ha2UgaXQgZWFzeSBmb3IgYW55b25lIHRvIHBhcnNlIHRoZSBzdGFydCBvZiB0aGUgcHJvZ3JhbSBhbmQgZGV0ZXJtaW5lIGlmIGEgc3BlY2lmaWMgYWN0aW9uIGlzIGFsbG93ZWQKLy8gSGVyZSwgYWN0aW9uIHJlZmVycyB0byB0aGUgT25Db21wbGV0ZSBpbiBjb21iaW5hdGlvbiB3aXRoIHdoZXRoZXIgdGhlIGFwcCBpcyBiZWluZyBjcmVhdGVkIG9yIGNhbGxlZAovLyBFdmVyeSBwb3NzaWJsZSBhY3Rpb24gZm9yIHRoaXMgY29udHJhY3QgaXMgcmVwcmVzZW50ZWQgaW4gdGhlIHN3aXRjaCBzdGF0ZW1lbnQKLy8gSWYgdGhlIGFjdGlvbiBpcyBub3QgaW1wbGVtZW50ZWQgaW4gdGhlIGNvbnRyYWN0LCBpdHMgcmVzcGVjdGl2ZSBicmFuY2ggd2lsbCBiZSAiKk5PVF9JTVBMRU1FTlRFRCIgd2hpY2gganVzdCBjb250YWlucyAiZXJyIgp0eG4gQXBwbGljYXRpb25JRAohCnB1c2hpbnQgNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBjcmVhdGVBcHBsaWNhdGlvbigpdm9pZAoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJLy8gZXhlY3V0ZSBjcmVhdGVBcHBsaWNhdGlvbigpdm9pZAoJY2FsbHN1YiBjcmVhdGVBcHBsaWNhdGlvbgoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gY3JlYXRlQXBwbGljYXRpb24oKTogdm9pZApjcmVhdGVBcHBsaWNhdGlvbjoKCXByb3RvIDAgMAoKCS8vIGNvbnRyYWN0c1xMaW1pdE9yZGVyLmFsZ28udHM6MjIKCS8vIHRoaXMub3JkZXJJbmRleC52YWx1ZSA9IDAKCWJ5dGVjIDEgLy8gICJvcmRlckluZGV4IgoJaW50YyAxIC8vIDAKCWFwcF9nbG9iYWxfcHV0CglyZXRzdWIKCi8vIGNyZWF0ZU9yZGVyKHR4bixwYXksdWludDY0LHVpbnQ2NCl1aW50NjQKKmFiaV9yb3V0ZV9jcmVhdGVPcmRlcjoKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJcHVzaGJ5dGVzIDB4MTUxZjdjNzUKCgkvLyB0YWtpbmdBbW91bnQ6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMgoJYnRvaQoKCS8vIHRha2luZ0Fzc2V0OiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWJ0b2kKCgkvLyBtYnJUeG46IHBheQoJdHhuIEdyb3VwSW5kZXgKCWludGMgMCAvLyAxCgktCglkdXAKCWd0eG5zIFR5cGVFbnVtCglpbnRjIDAgLy8gIHBheQoJPT0KCgkvLyBhcmd1bWVudCAyIChtYnJUeG4pIGZvciBjcmVhdGVPcmRlciBtdXN0IGJlIGEgcGF5IHRyYW5zYWN0aW9uCglhc3NlcnQKCgkvLyBhc3NldFNlbmRUeG46IHR4bgoJdHhuIEdyb3VwSW5kZXgKCXB1c2hpbnQgMgoJLQoKCS8vIGV4ZWN1dGUgY3JlYXRlT3JkZXIodHhuLHBheSx1aW50NjQsdWludDY0KXVpbnQ2NAoJY2FsbHN1YiBjcmVhdGVPcmRlcgoJaXRvYgoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGNyZWF0ZU9yZGVyKGFzc2V0U2VuZFR4bjogVHhuLCBtYnJUeG46IFBheVR4biwgdGFraW5nQXNzZXQ6IHVpbnQ2NCwgdGFraW5nQW1vdW50OiB1aW50NjQpOiB1aW50NjQKY3JlYXRlT3JkZXI6Cglwcm90byA0IDEKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMCAvLyAweAoKCS8vICppZjBfY29uZGl0aW9uCgkvLyBjb250cmFjdHNcTGltaXRPcmRlci5hbGdvLnRzOjI2CgkvLyB0YWtpbmdBc3NldCAhPT0gMAoJZnJhbWVfZGlnIC0zIC8vIHRha2luZ0Fzc2V0OiB1aW50NjQKCWludGMgMSAvLyAwCgkhPQoJYnogKmlmMF9lbmQKCgkvLyAqaWYwX2NvbnNlcXVlbnQKCS8vIGNvbnRyYWN0c1xMaW1pdE9yZGVyLmFsZ28udHM6MjcKCS8vIGFzc2VydCh0aGlzLnR4bi5zZW5kZXIuaXNPcHRlZEluVG9Bc3NldCh0YWtpbmdBc3NldCksICdUYWtpbmcgYXNzZXQgaXMgbm90IG9wdGVkIGluJykKCXR4biBTZW5kZXIKCWZyYW1lX2RpZyAtMyAvLyB0YWtpbmdBc3NldDogdWludDY0Cglhc3NldF9ob2xkaW5nX2dldCBBc3NldEJhbGFuY2UKCXN3YXAKCXBvcAoKCS8vIFRha2luZyBhc3NldCBpcyBub3Qgb3B0ZWQgaW4KCWFzc2VydAoKKmlmMF9lbmQ6CgkvLyBjb250cmFjdHNcTGltaXRPcmRlci5hbGdvLnRzOjI5CgkvLyBhc3NlcnQoYXNzZXRTZW5kVHhuLnNlbmRlciA9PT0gdGhpcy50eG4uc2VuZGVyLCAnSW52YWxpZCBzZW5kZXInKQoJZnJhbWVfZGlnIC0xIC8vIGFzc2V0U2VuZFR4bjogVHhuCglndHhucyBTZW5kZXIKCXR4biBTZW5kZXIKCT09CgoJLy8gSW52YWxpZCBzZW5kZXIKCWFzc2VydAoKCS8vIGNvbnRyYWN0c1xMaW1pdE9yZGVyLmFsZ28udHM6MzAKCS8vIG9yZGVyID0gdGhpcy5idWlsZE9yZGVyKGFzc2V0U2VuZFR4biwgdGFraW5nQXNzZXQsIHRha2luZ0Ftb3VudCkKCWZyYW1lX2RpZyAtNCAvLyB0YWtpbmdBbW91bnQ6IHVpbnQ2NAoJZnJhbWVfZGlnIC0zIC8vIHRha2luZ0Fzc2V0OiB1aW50NjQKCWZyYW1lX2RpZyAtMSAvLyBhc3NldFNlbmRUeG46IFR4bgoJY2FsbHN1YiBidWlsZE9yZGVyCglmcmFtZV9idXJ5IDAgLy8gb3JkZXI6ICh1aW50NjQsYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQsYm9vbCxib29sKQoKCS8vIGNvbnRyYWN0c1xMaW1pdE9yZGVyLmFsZ28udHM6MzEKCS8vIHZlcmlmeVBheVR4bihtYnJUeG4sIHsgYW1vdW50OiB7IGdyZWF0ZXJUaGFuRXF1YWxUbzogQk9YX01CUiB9LCByZWNlaXZlcjogdGhpcy5hcHAuYWRkcmVzcyB9KQoJLy8gdmVyaWZ5IGFtb3VudAoJZnJhbWVfZGlnIC0yIC8vIG1iclR4bjogUGF5VHhuCglndHhucyBBbW91bnQKCWludGMgNCAvLyAzNTMwMAoJPj0KCgkvLyB0cmFuc2FjdGlvbiB2ZXJpZmljYXRpb24gZmFpbGVkOiB7InR4biI6Im1iclR4biIsImZpZWxkIjoiYW1vdW50IiwiY29uZGl0aW9uIjoiZ3JlYXRlclRoYW5FcXVhbFRvIiwiZXhwZWN0ZWQiOiI+PUJPWF9NQlIifQoJYXNzZXJ0CgoJLy8gdmVyaWZ5IHJlY2VpdmVyCglmcmFtZV9kaWcgLTIgLy8gbWJyVHhuOiBQYXlUeG4KCWd0eG5zIFJlY2VpdmVyCglnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwoJPT0KCgkvLyB0cmFuc2FjdGlvbiB2ZXJpZmljYXRpb24gZmFpbGVkOiB7InR4biI6Im1iclR4biIsImZpZWxkIjoicmVjZWl2ZXIiLCJleHBlY3RlZCI6InRoaXMuYXBwLmFkZHJlc3MifQoJYXNzZXJ0CgoJLy8gY29udHJhY3RzXExpbWl0T3JkZXIuYWxnby50czozMgoJLy8gdGhpcy5vcmRlcnModGhpcy5vcmRlckluZGV4LnZhbHVlKS52YWx1ZSA9IG9yZGVyCglieXRlYyAxIC8vICAib3JkZXJJbmRleCIKCWFwcF9nbG9iYWxfZ2V0CglpdG9iCglmcmFtZV9kaWcgMCAvLyBvcmRlcjogKHVpbnQ2NCxhZGRyZXNzLHVpbnQ2NCx1aW50NjQsdWludDY0LHVpbnQ2NCxib29sLGJvb2wpCglib3hfcHV0CgoJLy8gY29udHJhY3RzXExpbWl0T3JkZXIuYWxnby50czozMwoJLy8gdGhpcy5vcmRlckluZGV4LnZhbHVlICs9IDEKCWJ5dGVjIDEgLy8gICJvcmRlckluZGV4IgoJYXBwX2dsb2JhbF9nZXQKCWludGMgMCAvLyAxCgkrCglieXRlYyAxIC8vICAib3JkZXJJbmRleCIKCXN3YXAKCWFwcF9nbG9iYWxfcHV0CgoJLy8gY29udHJhY3RzXExpbWl0T3JkZXIuYWxnby50czozNAoJLy8gcmV0dXJuIG9yZGVyLmlkOwoJZnJhbWVfZGlnIDAgLy8gb3JkZXI6ICh1aW50NjQsYWRkcmVzcyx1aW50NjQsdWludDY0LHVpbnQ2NCx1aW50NjQsYm9vbCxib29sKQoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWV4dHJhY3QgMCA4CglidG9pCgoJLy8gc2V0IHRoZSBzdWJyb3V0aW5lIHJldHVybiB2YWx1ZQoJZnJhbWVfYnVyeSAwCglyZXRzdWIKCi8vIGJ1aWxkT3JkZXIoYXNzZXRTZW5kVHhuOiBUeG4sIHRha2luZ0Fzc2V0OiB1aW50NjQsIHRha2luZ0Ftb3VudDogdWludDY0KTogT3JkZXIKYnVpbGRPcmRlcjoKCXByb3RvIDMgMQoKCS8vIGNvbnRyYWN0c1xMaW1pdE9yZGVyLmFsZ28udHM6MzgKCS8vIGFzc2VydCgKCS8vICAgICAgIGFzc2V0U2VuZFR4bi50eXBlRW51bSA9PT0gVHJhbnNhY3Rpb25UeXBlLkFzc2V0VHJhbnNmZXIgfHwgYXNzZXRTZW5kVHhuLnR5cGVFbnVtID09PSBUcmFuc2FjdGlvblR5cGUuUGF5bWVudCwKCS8vICAgICAgICdJbnZhbGlkIHRyYW5zYWN0aW9uIHR5cGUnCgkvLyAgICAgKQoJZnJhbWVfZGlnIC0xIC8vIGFzc2V0U2VuZFR4bjogVHhuCglndHhucyBUeXBlRW51bQoJaW50YyAzIC8vICBheGZlcgoJPT0KCWR1cAoJYm56ICpza2lwX29yMAoJZnJhbWVfZGlnIC0xIC8vIGFzc2V0U2VuZFR4bjogVHhuCglndHhucyBUeXBlRW51bQoJaW50YyAwIC8vICBwYXkKCT09Cgl8fAoKKnNraXBfb3IwOgoJLy8gSW52YWxpZCB0cmFuc2FjdGlvbiB0eXBlCglhc3NlcnQKCgkvLyAqaWYxX2NvbmRpdGlvbgoJLy8gY29udHJhY3RzXExpbWl0T3JkZXIuYWxnby50czo0MgoJLy8gYXNzZXRTZW5kVHhuLnR5cGVFbnVtID09PSBUcmFuc2FjdGlvblR5cGUuUGF5bWVudAoJZnJhbWVfZGlnIC0xIC8vIGFzc2V0U2VuZFR4bjogVHhuCglndHhucyBUeXBlRW51bQoJaW50YyAwIC8vICBwYXkKCT09CglieiAqaWYxX2VuZAoKCS8vICppZjFfY29uc2VxdWVudAoJLy8gY29udHJhY3RzXExpbWl0T3JkZXIuYWxnby50czo0MwoJLy8gYXNzZXJ0KGFzc2V0U2VuZFR4bi5yZWNlaXZlciA9PT0gdGhpcy5hcHAuYWRkcmVzcywgJ0ludmFsaWQgcmVjZWl2ZXInKQoJZnJhbWVfZGlnIC0xIC8vIGFzc2V0U2VuZFR4bjogVHhuCglndHhucyBSZWNlaXZlcgoJZ2xvYmFsIEN1cnJlbnRBcHBsaWNhdGlvbkFkZHJlc3MKCT09CgoJLy8gSW52YWxpZCByZWNlaXZlcgoJYXNzZXJ0CgoJLy8gY29udHJhY3RzXExpbWl0T3JkZXIuYWxnby50czo0NAoJLy8gcmV0dXJuIHsKCS8vICAgICAgICAgaWQ6IHRoaXMub3JkZXJJbmRleC52YWx1ZSwKCS8vICAgICAgICAgb3duZXI6IHRoaXMudHhuLnNlbmRlciwKCS8vICAgICAgICAgZ2l2aW5nQXNzZXQ6IDAsCgkvLyAgICAgICAgIHRha2luZ0Fzc2V0OiB0YWtpbmdBc3NldCwKCS8vICAgICAgICAgZ2l2aW5nQW1vdW50OiBhc3NldFNlbmRUeG4uYW1vdW50LAoJLy8gICAgICAgICB0YWtpbmdBbW91bnQ6IHRha2luZ0Ftb3VudCwKCS8vICAgICAgICAgY29tcGxldGVkOiBmYWxzZSwKCS8vICAgICAgICAgb3duZXJDbGFpbWVkOiBmYWxzZSwKCS8vICAgICAgIH07CglieXRlYyAxIC8vICAib3JkZXJJbmRleCIKCWFwcF9nbG9iYWxfZ2V0CglpdG9iCgl0eG4gU2VuZGVyCgljb25jYXQKCXB1c2hieXRlcyAweDAwMDAwMDAwMDAwMDAwMDAKCWNvbmNhdAoJZnJhbWVfZGlnIC0yIC8vIHRha2luZ0Fzc2V0OiB1aW50NjQKCWl0b2IKCWNvbmNhdAoJZnJhbWVfZGlnIC0xIC8vIGFzc2V0U2VuZFR4bjogVHhuCglndHhucyBBbW91bnQKCWl0b2IKCWNvbmNhdAoJZnJhbWVfZGlnIC0zIC8vIHRha2luZ0Ftb3VudDogdWludDY0CglpdG9iCgljb25jYXQKCWJ5dGVjIDIgLy8gMHgwMAoJaW50YyAxIC8vIDAKCWR1cAoJc2V0Yml0CglpbnRjIDAgLy8gMQoJaW50YyAxIC8vIDAKCXNldGJpdAoJY29uY2F0CglyZXRzdWIKCippZjFfZW5kOgoJLy8gY29udHJhY3RzXExpbWl0T3JkZXIuYWxnby50czo1NQoJLy8gYXNzZXJ0KGFzc2V0U2VuZFR4bi5hc3NldFJlY2VpdmVyID09PSB0aGlzLmFwcC5hZGRyZXNzLCAnSW52YWxpZCByZWNlaXZlcicpCglmcmFtZV9kaWcgLTEgLy8gYXNzZXRTZW5kVHhuOiBUeG4KCWd0eG5zIEFzc2V0UmVjZWl2ZXIKCWdsb2JhbCBDdXJyZW50QXBwbGljYXRpb25BZGRyZXNzCgk9PQoKCS8vIEludmFsaWQgcmVjZWl2ZXIKCWFzc2VydAoKCS8vIGNvbnRyYWN0c1xMaW1pdE9yZGVyLmFsZ28udHM6NTYKCS8vIHJldHVybiB7CgkvLyAgICAgICBpZDogdGhpcy5vcmRlckluZGV4LnZhbHVlLAoJLy8gICAgICAgb3duZXI6IHRoaXMudHhuLnNlbmRlciwKCS8vICAgICAgIGdpdmluZ0Fzc2V0OiBhc3NldFNlbmRUeG4ueGZlckFzc2V0LmlkLAoJLy8gICAgICAgdGFraW5nQXNzZXQ6IHRha2luZ0Fzc2V0LAoJLy8gICAgICAgZ2l2aW5nQW1vdW50OiBhc3NldFNlbmRUeG4uYXNzZXRBbW91bnQsCgkvLyAgICAgICB0YWtpbmdBbW91bnQ6IHRha2luZ0Ftb3VudCwKCS8vICAgICAgIGNvbXBsZXRlZDogZmFsc2UsCgkvLyAgICAgICBvd25lckNsYWltZWQ6IGZhbHNlLAoJLy8gICAgIH07CglieXRlYyAxIC8vICAib3JkZXJJbmRleCIKCWFwcF9nbG9iYWxfZ2V0CglpdG9iCgl0eG4gU2VuZGVyCgljb25jYXQKCWZyYW1lX2RpZyAtMSAvLyBhc3NldFNlbmRUeG46IFR4bgoJZ3R4bnMgWGZlckFzc2V0CglpdG9iCgljb25jYXQKCWZyYW1lX2RpZyAtMiAvLyB0YWtpbmdBc3NldDogdWludDY0CglpdG9iCgljb25jYXQKCWZyYW1lX2RpZyAtMSAvLyBhc3NldFNlbmRUeG46IFR4bgoJZ3R4bnMgQXNzZXRBbW91bnQKCWl0b2IKCWNvbmNhdAoJZnJhbWVfZGlnIC0zIC8vIHRha2luZ0Ftb3VudDogdWludDY0CglpdG9iCgljb25jYXQKCWJ5dGVjIDIgLy8gMHgwMAoJaW50YyAxIC8vIDAKCWR1cAoJc2V0Yml0CglpbnRjIDAgLy8gMQoJaW50YyAxIC8vIDAKCXNldGJpdAoJY29uY2F0CglyZXRzdWIKCi8vIGNsYWltT3JkZXIodWludDY0LHR4bil2b2lkCiphYmlfcm91dGVfY2xhaW1PcmRlcjoKCS8vIGFzc2V0U2VuZFR4bjogdHhuCgl0eG4gR3JvdXBJbmRleAoJaW50YyAwIC8vIDEKCS0KCgkvLyBvcmRlcklkOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWJ0b2kKCgkvLyBleGVjdXRlIGNsYWltT3JkZXIodWludDY0LHR4bil2b2lkCgljYWxsc3ViIGNsYWltT3JkZXIKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGNsYWltT3JkZXIob3JkZXJJZDogdWludDY0LCBhc3NldFNlbmRUeG46IFR4bik6IHZvaWQKY2xhaW1PcmRlcjoKCXByb3RvIDIgMAoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlYyAwIC8vIDB4CglkdXBuIDIKCgkvLyBjb250cmFjdHNcTGltaXRPcmRlci5hbGdvLnRzOjY5CgkvLyBhc3NlcnQodGhpcy5vcmRlcnMob3JkZXJJZCkuZXhpc3RzLCAnT3JkZXIgbm90IGZvdW5kJykKCWZyYW1lX2RpZyAtMSAvLyBvcmRlcklkOiB1aW50NjQKCWl0b2IKCWJveF9sZW4KCXN3YXAKCXBvcAoKCS8vIE9yZGVyIG5vdCBmb3VuZAoJYXNzZXJ0CgoJLy8gY29udHJhY3RzXExpbWl0T3JkZXIuYWxnby50czo3MAoJLy8gb3JkZXIgPSB0aGlzLm9yZGVycyhvcmRlcklkKS52YWx1ZQoJZnJhbWVfZGlnIC0xIC8vIG9yZGVySWQ6IHVpbnQ2NAoJaXRvYgoJZnJhbWVfYnVyeSAwIC8vIHN0b3JhZ2Uga2V5Ly9vcmRlcgoKCS8vIGNvbnRyYWN0c1xMaW1pdE9yZGVyLmFsZ28udHM6NzEKCS8vIGFzc2VydCghb3JkZXIuY29tcGxldGVkLCAnT3JkZXIgYWxyZWFkeSBjb21wbGV0ZWQnKQoJZnJhbWVfZGlnIDAgLy8gc3RvcmFnZSBrZXkvL29yZGVyCglib3hfZ2V0CgoJLy8gYm94IHZhbHVlIGRvZXMgbm90IGV4aXN0OiB0aGlzLm9yZGVycyhvcmRlcklkKS52YWx1ZQoJYXNzZXJ0CglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJaW50YyAyIC8vIDU3NgoJZ2V0Yml0CgkhCgoJLy8gT3JkZXIgYWxyZWFkeSBjb21wbGV0ZWQKCWFzc2VydAoKCS8vIGNvbnRyYWN0c1xMaW1pdE9yZGVyLmFsZ28udHM6NzIKCS8vIGFzc2VydCgKCS8vICAgICAgIGFzc2V0U2VuZFR4bi50eXBlRW51bSA9PT0gVHJhbnNhY3Rpb25UeXBlLkFzc2V0VHJhbnNmZXIgfHwgYXNzZXRTZW5kVHhuLnR5cGVFbnVtID09PSBUcmFuc2FjdGlvblR5cGUuUGF5bWVudCwKCS8vICAgICAgICdJbnZhbGlkIHRyYW5zYWN0aW9uIHR5cGUnCgkvLyAgICAgKQoJZnJhbWVfZGlnIC0yIC8vIGFzc2V0U2VuZFR4bjogVHhuCglndHhucyBUeXBlRW51bQoJaW50YyAzIC8vICBheGZlcgoJPT0KCWR1cAoJYm56ICpza2lwX29yMQoJZnJhbWVfZGlnIC0yIC8vIGFzc2V0U2VuZFR4bjogVHhuCglndHhucyBUeXBlRW51bQoJaW50YyAwIC8vICBwYXkKCT09Cgl8fAoKKnNraXBfb3IxOgoJLy8gSW52YWxpZCB0cmFuc2FjdGlvbiB0eXBlCglhc3NlcnQKCgkvLyAqaWYyX2NvbmRpdGlvbgoJLy8gY29udHJhY3RzXExpbWl0T3JkZXIuYWxnby50czo3NgoJLy8gYXNzZXRTZW5kVHhuLnR5cGVFbnVtID09PSBUcmFuc2FjdGlvblR5cGUuUGF5bWVudAoJZnJhbWVfZGlnIC0yIC8vIGFzc2V0U2VuZFR4bjogVHhuCglndHhucyBUeXBlRW51bQoJaW50YyAwIC8vICBwYXkKCT09CglieiAqaWYyX2Vsc2UKCgkvLyAqaWYyX2NvbnNlcXVlbnQKCS8vIGNvbnRyYWN0c1xMaW1pdE9yZGVyLmFsZ28udHM6NzcKCS8vIGFzc2VydChvcmRlci50YWtpbmdBc3NldCA9PT0gMCwgJ0ludmFsaWQgZ2l2aW5nIGFzc2V0JykKCWZyYW1lX2RpZyAwIC8vIHN0b3JhZ2Uga2V5Ly9vcmRlcgoJYm94X2dldAoKCS8vIGJveCB2YWx1ZSBkb2VzIG5vdCBleGlzdDogdGhpcy5vcmRlcnMob3JkZXJJZCkudmFsdWUKCWFzc2VydAoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWV4dHJhY3QgNDggOAoJYnRvaQoJaW50YyAxIC8vIDAKCT09CgoJLy8gSW52YWxpZCBnaXZpbmcgYXNzZXQKCWFzc2VydAoKCS8vIGNvbnRyYWN0c1xMaW1pdE9yZGVyLmFsZ28udHM6NzgKCS8vIGFzc2VydChvcmRlci50YWtpbmdBbW91bnQgPT09IGFzc2V0U2VuZFR4bi5hbW91bnQsICdJbnZhbGlkIGdpdmluZyBhbW91bnQnKQoJZnJhbWVfZGlnIDAgLy8gc3RvcmFnZSBrZXkvL29yZGVyCglib3hfZ2V0CgoJLy8gYm94IHZhbHVlIGRvZXMgbm90IGV4aXN0OiB0aGlzLm9yZGVycyhvcmRlcklkKS52YWx1ZQoJYXNzZXJ0CglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJZXh0cmFjdCA2NCA4CglidG9pCglmcmFtZV9kaWcgLTIgLy8gYXNzZXRTZW5kVHhuOiBUeG4KCWd0eG5zIEFtb3VudAoJPT0KCgkvLyBJbnZhbGlkIGdpdmluZyBhbW91bnQKCWFzc2VydAoKCS8vIGNvbnRyYWN0c1xMaW1pdE9yZGVyLmFsZ28udHM6NzkKCS8vIGFzc2VydCh0aGlzLnR4bi5zZW5kZXIgPT09IGFzc2V0U2VuZFR4bi5zZW5kZXIsICdJbnZhbGlkIHNlbmRlcicpCgl0eG4gU2VuZGVyCglmcmFtZV9kaWcgLTIgLy8gYXNzZXRTZW5kVHhuOiBUeG4KCWd0eG5zIFNlbmRlcgoJPT0KCgkvLyBJbnZhbGlkIHNlbmRlcgoJYXNzZXJ0CgoJLy8gY29udHJhY3RzXExpbWl0T3JkZXIuYWxnby50czo4MAoJLy8gYXNzZXJ0KHRoaXMuYXBwLmFkZHJlc3MgPT09IGFzc2V0U2VuZFR4bi5yZWNlaXZlciwgJ0ludmFsaWQgcmVjZWl2ZXInKQoJZ2xvYmFsIEN1cnJlbnRBcHBsaWNhdGlvbkFkZHJlc3MKCWZyYW1lX2RpZyAtMiAvLyBhc3NldFNlbmRUeG46IFR4bgoJZ3R4bnMgUmVjZWl2ZXIKCT09CgoJLy8gSW52YWxpZCByZWNlaXZlcgoJYXNzZXJ0CgliICppZjJfZW5kCgoqaWYyX2Vsc2U6CgkvLyBjb250cmFjdHNcTGltaXRPcmRlci5hbGdvLnRzOjgyCgkvLyBhc3NlcnQob3JkZXIudGFraW5nQXNzZXQgPT09IGFzc2V0U2VuZFR4bi54ZmVyQXNzZXQuaWQsICdJbnZhbGlkIGdpdmluZyBhc3NldCcpCglmcmFtZV9kaWcgMCAvLyBzdG9yYWdlIGtleS8vb3JkZXIKCWJveF9nZXQKCgkvLyBib3ggdmFsdWUgZG9lcyBub3QgZXhpc3Q6IHRoaXMub3JkZXJzKG9yZGVySWQpLnZhbHVlCglhc3NlcnQKCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglleHRyYWN0IDQ4IDgKCWJ0b2kKCWZyYW1lX2RpZyAtMiAvLyBhc3NldFNlbmRUeG46IFR4bgoJZ3R4bnMgWGZlckFzc2V0Cgk9PQoKCS8vIEludmFsaWQgZ2l2aW5nIGFzc2V0Cglhc3NlcnQKCgkvLyBjb250cmFjdHNcTGltaXRPcmRlci5hbGdvLnRzOjgzCgkvLyBhc3NlcnQob3JkZXIudGFraW5nQW1vdW50ID09PSBhc3NldFNlbmRUeG4uYXNzZXRBbW91bnQsICdJbnZhbGlkIGdpdmluZyBhbW91bnQnKQoJZnJhbWVfZGlnIDAgLy8gc3RvcmFnZSBrZXkvL29yZGVyCglib3hfZ2V0CgoJLy8gYm94IHZhbHVlIGRvZXMgbm90IGV4aXN0OiB0aGlzLm9yZGVycyhvcmRlcklkKS52YWx1ZQoJYXNzZXJ0CglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJZXh0cmFjdCA2NCA4CglidG9pCglmcmFtZV9kaWcgLTIgLy8gYXNzZXRTZW5kVHhuOiBUeG4KCWd0eG5zIEFzc2V0QW1vdW50Cgk9PQoKCS8vIEludmFsaWQgZ2l2aW5nIGFtb3VudAoJYXNzZXJ0CgoJLy8gY29udHJhY3RzXExpbWl0T3JkZXIuYWxnby50czo4NAoJLy8gYXNzZXJ0KHRoaXMudHhuLnNlbmRlciA9PT0gYXNzZXRTZW5kVHhuLnNlbmRlciwgJ0ludmFsaWQgc2VuZGVyJykKCXR4biBTZW5kZXIKCWZyYW1lX2RpZyAtMiAvLyBhc3NldFNlbmRUeG46IFR4bgoJZ3R4bnMgU2VuZGVyCgk9PQoKCS8vIEludmFsaWQgc2VuZGVyCglhc3NlcnQKCgkvLyBjb250cmFjdHNcTGltaXRPcmRlci5hbGdvLnRzOjg1CgkvLyBhc3NlcnQodGhpcy5hcHAuYWRkcmVzcyA9PT0gYXNzZXRTZW5kVHhuLmFzc2V0UmVjZWl2ZXIsICdJbnZhbGlkIHJlY2VpdmVyJykKCWdsb2JhbCBDdXJyZW50QXBwbGljYXRpb25BZGRyZXNzCglmcmFtZV9kaWcgLTIgLy8gYXNzZXRTZW5kVHhuOiBUeG4KCWd0eG5zIEFzc2V0UmVjZWl2ZXIKCT09CgoJLy8gSW52YWxpZCByZWNlaXZlcgoJYXNzZXJ0CgoqaWYyX2VuZDoKCS8vIGNvbnRyYWN0c1xMaW1pdE9yZGVyLmFsZ28udHM6ODcKCS8vIG93bmVyQ2xhaW1lZCA9IGZhbHNlCglpbnRjIDEgLy8gMAoJZnJhbWVfYnVyeSAxIC8vIG93bmVyQ2xhaW1lZDogYm9vbAoKCS8vIGNvbnRyYWN0c1xMaW1pdE9yZGVyLmFsZ28udHM6ODgKCS8vIHRoaXMuc2VuZChvcmRlci5naXZpbmdBc3NldCwgb3JkZXIuZ2l2aW5nQW1vdW50LCB0aGlzLnR4bi5zZW5kZXIpCgl0eG4gU2VuZGVyCglmcmFtZV9kaWcgMCAvLyBzdG9yYWdlIGtleS8vb3JkZXIKCWJveF9nZXQKCgkvLyBib3ggdmFsdWUgZG9lcyBub3QgZXhpc3Q6IHRoaXMub3JkZXJzKG9yZGVySWQpLnZhbHVlCglhc3NlcnQKCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglleHRyYWN0IDU2IDgKCWJ0b2kKCWZyYW1lX2RpZyAwIC8vIHN0b3JhZ2Uga2V5Ly9vcmRlcgoJYm94X2dldAoKCS8vIGJveCB2YWx1ZSBkb2VzIG5vdCBleGlzdDogdGhpcy5vcmRlcnMob3JkZXJJZCkudmFsdWUKCWFzc2VydAoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWV4dHJhY3QgNDAgOAoJYnRvaQoJY2FsbHN1YiBzZW5kCgoJLy8gKmlmM19jb25kaXRpb24KCS8vIGNvbnRyYWN0c1xMaW1pdE9yZGVyLmFsZ28udHM6ODkKCS8vIG9yZGVyLnRha2luZ0Fzc2V0ICE9PSAwCglmcmFtZV9kaWcgMCAvLyBzdG9yYWdlIGtleS8vb3JkZXIKCWJveF9nZXQKCgkvLyBib3ggdmFsdWUgZG9lcyBub3QgZXhpc3Q6IHRoaXMub3JkZXJzKG9yZGVySWQpLnZhbHVlCglhc3NlcnQKCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglleHRyYWN0IDQ4IDgKCWJ0b2kKCWludGMgMSAvLyAwCgkhPQoJYnogKmlmM19lbHNlCgoJLy8gKmlmM19jb25zZXF1ZW50CgkvLyBjb250cmFjdHNcTGltaXRPcmRlci5hbGdvLnRzOjkwCgkvLyBhc3NldCA9IEFzc2V0SUQuZnJvbVVpbnQ2NChvcmRlci50YWtpbmdBc3NldCkKCWZyYW1lX2RpZyAwIC8vIHN0b3JhZ2Uga2V5Ly9vcmRlcgoJYm94X2dldAoKCS8vIGJveCB2YWx1ZSBkb2VzIG5vdCBleGlzdDogdGhpcy5vcmRlcnMob3JkZXJJZCkudmFsdWUKCWFzc2VydAoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWV4dHJhY3QgNDggOAoJYnRvaQoJZnJhbWVfYnVyeSAyIC8vIGFzc2V0OiB1aW50NjQKCgkvLyAqaWY0X2NvbmRpdGlvbgoJLy8gY29udHJhY3RzXExpbWl0T3JkZXIuYWxnby50czo5MQoJLy8gb3JkZXIub3duZXIuaXNPcHRlZEluVG9Bc3NldChhc3NldCkKCWZyYW1lX2RpZyAwIC8vIHN0b3JhZ2Uga2V5Ly9vcmRlcgoJYm94X2dldAoKCS8vIGJveCB2YWx1ZSBkb2VzIG5vdCBleGlzdDogdGhpcy5vcmRlcnMob3JkZXJJZCkudmFsdWUKCWFzc2VydAoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWV4dHJhY3QgOCAzMgoJZnJhbWVfZGlnIDIgLy8gYXNzZXQ6IHVpbnQ2NAoJYXNzZXRfaG9sZGluZ19nZXQgQXNzZXRCYWxhbmNlCglzd2FwCglwb3AKCWJ6ICppZjRfZW5kCgoJLy8gKmlmNF9jb25zZXF1ZW50CgkvLyBjb250cmFjdHNcTGltaXRPcmRlci5hbGdvLnRzOjkyCgkvLyBvd25lckNsYWltZWQgPSB0cnVlCglpbnRjIDAgLy8gMQoJZnJhbWVfYnVyeSAxIC8vIG93bmVyQ2xhaW1lZDogYm9vbAoKCS8vIGNvbnRyYWN0c1xMaW1pdE9yZGVyLmFsZ28udHM6OTMKCS8vIHRoaXMuc2VuZChvcmRlci50YWtpbmdBc3NldCwgb3JkZXIudGFraW5nQW1vdW50LCBvcmRlci5vd25lcikKCWZyYW1lX2RpZyAwIC8vIHN0b3JhZ2Uga2V5Ly9vcmRlcgoJYm94X2dldAoKCS8vIGJveCB2YWx1ZSBkb2VzIG5vdCBleGlzdDogdGhpcy5vcmRlcnMob3JkZXJJZCkudmFsdWUKCWFzc2VydAoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWV4dHJhY3QgOCAzMgoJZnJhbWVfZGlnIDAgLy8gc3RvcmFnZSBrZXkvL29yZGVyCglib3hfZ2V0CgoJLy8gYm94IHZhbHVlIGRvZXMgbm90IGV4aXN0OiB0aGlzLm9yZGVycyhvcmRlcklkKS52YWx1ZQoJYXNzZXJ0CglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJZXh0cmFjdCA2NCA4CglidG9pCglmcmFtZV9kaWcgMCAvLyBzdG9yYWdlIGtleS8vb3JkZXIKCWJveF9nZXQKCgkvLyBib3ggdmFsdWUgZG9lcyBub3QgZXhpc3Q6IHRoaXMub3JkZXJzKG9yZGVySWQpLnZhbHVlCglhc3NlcnQKCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglleHRyYWN0IDQ4IDgKCWJ0b2kKCWNhbGxzdWIgc2VuZAoKKmlmNF9lbmQ6CgliICppZjNfZW5kCgoqaWYzX2Vsc2U6CgkvLyBjb250cmFjdHNcTGltaXRPcmRlci5hbGdvLnRzOjk2CgkvLyBvd25lckNsYWltZWQgPSB0cnVlCglpbnRjIDAgLy8gMQoJZnJhbWVfYnVyeSAxIC8vIG93bmVyQ2xhaW1lZDogYm9vbAoKCS8vIGNvbnRyYWN0c1xMaW1pdE9yZGVyLmFsZ28udHM6OTcKCS8vIHRoaXMuc2VuZChvcmRlci50YWtpbmdBc3NldCwgb3JkZXIudGFraW5nQW1vdW50LCBvcmRlci5vd25lcikKCWZyYW1lX2RpZyAwIC8vIHN0b3JhZ2Uga2V5Ly9vcmRlcgoJYm94X2dldAoKCS8vIGJveCB2YWx1ZSBkb2VzIG5vdCBleGlzdDogdGhpcy5vcmRlcnMob3JkZXJJZCkudmFsdWUKCWFzc2VydAoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWV4dHJhY3QgOCAzMgoJZnJhbWVfZGlnIDAgLy8gc3RvcmFnZSBrZXkvL29yZGVyCglib3hfZ2V0CgoJLy8gYm94IHZhbHVlIGRvZXMgbm90IGV4aXN0OiB0aGlzLm9yZGVycyhvcmRlcklkKS52YWx1ZQoJYXNzZXJ0CglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJZXh0cmFjdCA2NCA4CglidG9pCglmcmFtZV9kaWcgMCAvLyBzdG9yYWdlIGtleS8vb3JkZXIKCWJveF9nZXQKCgkvLyBib3ggdmFsdWUgZG9lcyBub3QgZXhpc3Q6IHRoaXMub3JkZXJzKG9yZGVySWQpLnZhbHVlCglhc3NlcnQKCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglleHRyYWN0IDQ4IDgKCWJ0b2kKCWNhbGxzdWIgc2VuZAoKKmlmM19lbmQ6CgkvLyBjb250cmFjdHNcTGltaXRPcmRlci5hbGdvLnRzOjk5CgkvLyB0aGlzLm9yZGVycyhvcmRlcklkKS52YWx1ZSA9IHsKCS8vICAgICAgIGlkOiBvcmRlci5pZCwKCS8vICAgICAgIG93bmVyOiBvcmRlci5vd25lciwKCS8vICAgICAgIGdpdmluZ0Fzc2V0OiBvcmRlci5naXZpbmdBc3NldCwKCS8vICAgICAgIHRha2luZ0Fzc2V0OiBvcmRlci50YWtpbmdBc3NldCwKCS8vICAgICAgIGdpdmluZ0Ftb3VudDogb3JkZXIuZ2l2aW5nQW1vdW50LAoJLy8gICAgICAgdGFraW5nQW1vdW50OiBvcmRlci50YWtpbmdBbW91bnQsCgkvLyAgICAgICBjb21wbGV0ZWQ6IHRydWUsCgkvLyAgICAgICBvd25lckNsYWltZWQ6IG93bmVyQ2xhaW1lZCwKCS8vICAgICB9CglmcmFtZV9kaWcgLTEgLy8gb3JkZXJJZDogdWludDY0CglpdG9iCglmcmFtZV9kaWcgMCAvLyBzdG9yYWdlIGtleS8vb3JkZXIKCWJveF9nZXQKCgkvLyBib3ggdmFsdWUgZG9lcyBub3QgZXhpc3Q6IHRoaXMub3JkZXJzKG9yZGVySWQpLnZhbHVlCglhc3NlcnQKCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglleHRyYWN0IDAgOAoJYnRvaQoJaXRvYgoJZnJhbWVfZGlnIDAgLy8gc3RvcmFnZSBrZXkvL29yZGVyCglib3hfZ2V0CgoJLy8gYm94IHZhbHVlIGRvZXMgbm90IGV4aXN0OiB0aGlzLm9yZGVycyhvcmRlcklkKS52YWx1ZQoJYXNzZXJ0CglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJZXh0cmFjdCA4IDMyCgljb25jYXQKCWZyYW1lX2RpZyAwIC8vIHN0b3JhZ2Uga2V5Ly9vcmRlcgoJYm94X2dldAoKCS8vIGJveCB2YWx1ZSBkb2VzIG5vdCBleGlzdDogdGhpcy5vcmRlcnMob3JkZXJJZCkudmFsdWUKCWFzc2VydAoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWV4dHJhY3QgNDAgOAoJYnRvaQoJaXRvYgoJY29uY2F0CglmcmFtZV9kaWcgMCAvLyBzdG9yYWdlIGtleS8vb3JkZXIKCWJveF9nZXQKCgkvLyBib3ggdmFsdWUgZG9lcyBub3QgZXhpc3Q6IHRoaXMub3JkZXJzKG9yZGVySWQpLnZhbHVlCglhc3NlcnQKCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglleHRyYWN0IDQ4IDgKCWJ0b2kKCWl0b2IKCWNvbmNhdAoJZnJhbWVfZGlnIDAgLy8gc3RvcmFnZSBrZXkvL29yZGVyCglib3hfZ2V0CgoJLy8gYm94IHZhbHVlIGRvZXMgbm90IGV4aXN0OiB0aGlzLm9yZGVycyhvcmRlcklkKS52YWx1ZQoJYXNzZXJ0CglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJZXh0cmFjdCA1NiA4CglidG9pCglpdG9iCgljb25jYXQKCWZyYW1lX2RpZyAwIC8vIHN0b3JhZ2Uga2V5Ly9vcmRlcgoJYm94X2dldAoKCS8vIGJveCB2YWx1ZSBkb2VzIG5vdCBleGlzdDogdGhpcy5vcmRlcnMob3JkZXJJZCkudmFsdWUKCWFzc2VydAoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWV4dHJhY3QgNjQgOAoJYnRvaQoJaXRvYgoJY29uY2F0CglieXRlYyAyIC8vIDB4MDAKCWludGMgMSAvLyAwCglpbnRjIDAgLy8gMQoJc2V0Yml0CglpbnRjIDAgLy8gMQoJZnJhbWVfZGlnIDEgLy8gb3duZXJDbGFpbWVkOiBib29sCglzZXRiaXQKCWNvbmNhdAoJYm94X3B1dAoJcmV0c3ViCgovLyBjbGFpbU93bmVyQXNzZXQodWludDY0KXZvaWQKKmFiaV9yb3V0ZV9jbGFpbU93bmVyQXNzZXQ6CgkvLyBvcmRlcklkOiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWJ0b2kKCgkvLyBleGVjdXRlIGNsYWltT3duZXJBc3NldCh1aW50NjQpdm9pZAoJY2FsbHN1YiBjbGFpbU93bmVyQXNzZXQKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGNsYWltT3duZXJBc3NldChvcmRlcklkOiB1aW50NjQpOiB2b2lkCmNsYWltT3duZXJBc3NldDoKCXByb3RvIDEgMAoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlYyAwIC8vIDB4CgoJLy8gY29udHJhY3RzXExpbWl0T3JkZXIuYWxnby50czoxMTIKCS8vIGFzc2VydCh0aGlzLm9yZGVycyhvcmRlcklkKS5leGlzdHMsICdPcmRlciBub3QgZm91bmQnKQoJZnJhbWVfZGlnIC0xIC8vIG9yZGVySWQ6IHVpbnQ2NAoJaXRvYgoJYm94X2xlbgoJc3dhcAoJcG9wCgoJLy8gT3JkZXIgbm90IGZvdW5kCglhc3NlcnQKCgkvLyBjb250cmFjdHNcTGltaXRPcmRlci5hbGdvLnRzOjExMwoJLy8gb3JkZXIgPSB0aGlzLm9yZGVycyhvcmRlcklkKS52YWx1ZQoJZnJhbWVfZGlnIC0xIC8vIG9yZGVySWQ6IHVpbnQ2NAoJaXRvYgoJZnJhbWVfYnVyeSAwIC8vIHN0b3JhZ2Uga2V5Ly9vcmRlcgoKCS8vIGNvbnRyYWN0c1xMaW1pdE9yZGVyLmFsZ28udHM6MTE0CgkvLyBhc3NlcnQob3JkZXIuY29tcGxldGVkLCAnT3JkZXIgbm90IGNvbXBsZXRlZCcpCglmcmFtZV9kaWcgMCAvLyBzdG9yYWdlIGtleS8vb3JkZXIKCWJveF9nZXQKCgkvLyBib3ggdmFsdWUgZG9lcyBub3QgZXhpc3Q6IHRoaXMub3JkZXJzKG9yZGVySWQpLnZhbHVlCglhc3NlcnQKCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglpbnRjIDIgLy8gNTc2CglnZXRiaXQKCgkvLyBPcmRlciBub3QgY29tcGxldGVkCglhc3NlcnQKCgkvLyBjb250cmFjdHNcTGltaXRPcmRlci5hbGdvLnRzOjExNQoJLy8gYXNzZXJ0KCFvcmRlci5vd25lckNsYWltZWQsICdPd25lciBhbHJlYWR5IGNsYWltZWQnKQoJZnJhbWVfZGlnIDAgLy8gc3RvcmFnZSBrZXkvL29yZGVyCglib3hfZ2V0CgoJLy8gYm94IHZhbHVlIGRvZXMgbm90IGV4aXN0OiB0aGlzLm9yZGVycyhvcmRlcklkKS52YWx1ZQoJYXNzZXJ0CglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJcHVzaGludCA1NzcKCWdldGJpdAoJIQoKCS8vIE93bmVyIGFscmVhZHkgY2xhaW1lZAoJYXNzZXJ0CgoJLy8gY29udHJhY3RzXExpbWl0T3JkZXIuYWxnby50czoxMTYKCS8vIGFzc2VydCh0aGlzLnR4bi5zZW5kZXIgPT09IG9yZGVyLm93bmVyLCAnSW52YWxpZCBzZW5kZXInKQoJdHhuIFNlbmRlcgoJZnJhbWVfZGlnIDAgLy8gc3RvcmFnZSBrZXkvL29yZGVyCglib3hfZ2V0CgoJLy8gYm94IHZhbHVlIGRvZXMgbm90IGV4aXN0OiB0aGlzLm9yZGVycyhvcmRlcklkKS52YWx1ZQoJYXNzZXJ0CglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJZXh0cmFjdCA4IDMyCgk9PQoKCS8vIEludmFsaWQgc2VuZGVyCglhc3NlcnQKCgkvLyBjb250cmFjdHNcTGltaXRPcmRlci5hbGdvLnRzOjExNwoJLy8gdGhpcy5vcmRlcnMob3JkZXJJZCkudmFsdWUgPSB7CgkvLyAgICAgICBpZDogb3JkZXIuaWQsCgkvLyAgICAgICBvd25lcjogb3JkZXIub3duZXIsCgkvLyAgICAgICBnaXZpbmdBc3NldDogb3JkZXIuZ2l2aW5nQXNzZXQsCgkvLyAgICAgICB0YWtpbmdBc3NldDogb3JkZXIudGFraW5nQXNzZXQsCgkvLyAgICAgICBnaXZpbmdBbW91bnQ6IG9yZGVyLmdpdmluZ0Ftb3VudCwKCS8vICAgICAgIHRha2luZ0Ftb3VudDogb3JkZXIudGFraW5nQW1vdW50LAoJLy8gICAgICAgY29tcGxldGVkOiBvcmRlci5jb21wbGV0ZWQsCgkvLyAgICAgICBvd25lckNsYWltZWQ6IHRydWUsCgkvLyAgICAgfQoJZnJhbWVfZGlnIC0xIC8vIG9yZGVySWQ6IHVpbnQ2NAoJaXRvYgoJZnJhbWVfZGlnIDAgLy8gc3RvcmFnZSBrZXkvL29yZGVyCglib3hfZ2V0CgoJLy8gYm94IHZhbHVlIGRvZXMgbm90IGV4aXN0OiB0aGlzLm9yZGVycyhvcmRlcklkKS52YWx1ZQoJYXNzZXJ0CglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJZXh0cmFjdCAwIDgKCWJ0b2kKCWl0b2IKCWZyYW1lX2RpZyAwIC8vIHN0b3JhZ2Uga2V5Ly9vcmRlcgoJYm94X2dldAoKCS8vIGJveCB2YWx1ZSBkb2VzIG5vdCBleGlzdDogdGhpcy5vcmRlcnMob3JkZXJJZCkudmFsdWUKCWFzc2VydAoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWV4dHJhY3QgOCAzMgoJY29uY2F0CglmcmFtZV9kaWcgMCAvLyBzdG9yYWdlIGtleS8vb3JkZXIKCWJveF9nZXQKCgkvLyBib3ggdmFsdWUgZG9lcyBub3QgZXhpc3Q6IHRoaXMub3JkZXJzKG9yZGVySWQpLnZhbHVlCglhc3NlcnQKCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglleHRyYWN0IDQwIDgKCWJ0b2kKCWl0b2IKCWNvbmNhdAoJZnJhbWVfZGlnIDAgLy8gc3RvcmFnZSBrZXkvL29yZGVyCglib3hfZ2V0CgoJLy8gYm94IHZhbHVlIGRvZXMgbm90IGV4aXN0OiB0aGlzLm9yZGVycyhvcmRlcklkKS52YWx1ZQoJYXNzZXJ0CglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJZXh0cmFjdCA0OCA4CglidG9pCglpdG9iCgljb25jYXQKCWZyYW1lX2RpZyAwIC8vIHN0b3JhZ2Uga2V5Ly9vcmRlcgoJYm94X2dldAoKCS8vIGJveCB2YWx1ZSBkb2VzIG5vdCBleGlzdDogdGhpcy5vcmRlcnMob3JkZXJJZCkudmFsdWUKCWFzc2VydAoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWV4dHJhY3QgNTYgOAoJYnRvaQoJaXRvYgoJY29uY2F0CglmcmFtZV9kaWcgMCAvLyBzdG9yYWdlIGtleS8vb3JkZXIKCWJveF9nZXQKCgkvLyBib3ggdmFsdWUgZG9lcyBub3QgZXhpc3Q6IHRoaXMub3JkZXJzKG9yZGVySWQpLnZhbHVlCglhc3NlcnQKCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglleHRyYWN0IDY0IDgKCWJ0b2kKCWl0b2IKCWNvbmNhdAoJYnl0ZWMgMiAvLyAweDAwCglpbnRjIDEgLy8gMAoJZnJhbWVfZGlnIDAgLy8gc3RvcmFnZSBrZXkvL29yZGVyCglib3hfZ2V0CgoJLy8gYm94IHZhbHVlIGRvZXMgbm90IGV4aXN0OiB0aGlzLm9yZGVycyhvcmRlcklkKS52YWx1ZQoJYXNzZXJ0CglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJaW50YyAyIC8vIDU3NgoJZ2V0Yml0CglzZXRiaXQKCWludGMgMCAvLyAxCglkdXAKCXNldGJpdAoJY29uY2F0Cglib3hfcHV0CgoJLy8gY29udHJhY3RzXExpbWl0T3JkZXIuYWxnby50czoxMjcKCS8vIHRoaXMuc2VuZChvcmRlci50YWtpbmdBc3NldCwgb3JkZXIudGFraW5nQW1vdW50LCBvcmRlci5vd25lcikKCWZyYW1lX2RpZyAwIC8vIHN0b3JhZ2Uga2V5Ly9vcmRlcgoJYm94X2dldAoKCS8vIGJveCB2YWx1ZSBkb2VzIG5vdCBleGlzdDogdGhpcy5vcmRlcnMob3JkZXJJZCkudmFsdWUKCWFzc2VydAoJc3RvcmUgMjU1IC8vIGZ1bGwgYXJyYXkKCWxvYWQgMjU1IC8vIGZ1bGwgYXJyYXkKCWV4dHJhY3QgOCAzMgoJZnJhbWVfZGlnIDAgLy8gc3RvcmFnZSBrZXkvL29yZGVyCglib3hfZ2V0CgoJLy8gYm94IHZhbHVlIGRvZXMgbm90IGV4aXN0OiB0aGlzLm9yZGVycyhvcmRlcklkKS52YWx1ZQoJYXNzZXJ0CglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJZXh0cmFjdCA2NCA4CglidG9pCglmcmFtZV9kaWcgMCAvLyBzdG9yYWdlIGtleS8vb3JkZXIKCWJveF9nZXQKCgkvLyBib3ggdmFsdWUgZG9lcyBub3QgZXhpc3Q6IHRoaXMub3JkZXJzKG9yZGVySWQpLnZhbHVlCglhc3NlcnQKCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglleHRyYWN0IDQ4IDgKCWJ0b2kKCWNhbGxzdWIgc2VuZAoJcmV0c3ViCgovLyBvcHRJblRvQXNzZXQodWludDY0LHBheSl2b2lkCiphYmlfcm91dGVfb3B0SW5Ub0Fzc2V0OgoJLy8gbWJyVHhuOiBwYXkKCXR4biBHcm91cEluZGV4CglpbnRjIDAgLy8gMQoJLQoJZHVwCglndHhucyBUeXBlRW51bQoJaW50YyAwIC8vICBwYXkKCT09CgoJLy8gYXJndW1lbnQgMCAobWJyVHhuKSBmb3Igb3B0SW5Ub0Fzc2V0IG11c3QgYmUgYSBwYXkgdHJhbnNhY3Rpb24KCWFzc2VydAoKCS8vIGFzc2V0SWQ6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIGV4ZWN1dGUgb3B0SW5Ub0Fzc2V0KHVpbnQ2NCxwYXkpdm9pZAoJY2FsbHN1YiBvcHRJblRvQXNzZXQKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIG9wdEluVG9Bc3NldChhc3NldElkOiBBc3NldElELCBtYnJUeG46IFBheVR4bik6IHZvaWQKb3B0SW5Ub0Fzc2V0OgoJcHJvdG8gMiAwCgoJLy8gY29udHJhY3RzXExpbWl0T3JkZXIuYWxnby50czoxMzEKCS8vIGFzc2VydCghdGhpcy5hcHAuYWRkcmVzcy5pc09wdGVkSW5Ub0Fzc2V0KGFzc2V0SWQpLCAnQWxyZWFkeSBvcHRlZCBpbicpCglnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwoJZnJhbWVfZGlnIC0xIC8vIGFzc2V0SWQ6IEFzc2V0SUQKCWFzc2V0X2hvbGRpbmdfZ2V0IEFzc2V0QmFsYW5jZQoJc3dhcAoJcG9wCgkhCgoJLy8gQWxyZWFkeSBvcHRlZCBpbgoJYXNzZXJ0CgoJLy8gY29udHJhY3RzXExpbWl0T3JkZXIuYWxnby50czoxMzIKCS8vIHZlcmlmeVBheVR4bihtYnJUeG4sIHsgYW1vdW50OiB7IGdyZWF0ZXJUaGFuRXF1YWxUbzogZ2xvYmFscy5hc3NldE9wdEluTWluQmFsYW5jZSB9LCByZWNlaXZlcjogdGhpcy5hcHAuYWRkcmVzcyB9KQoJLy8gdmVyaWZ5IGFtb3VudAoJZnJhbWVfZGlnIC0yIC8vIG1iclR4bjogUGF5VHhuCglndHhucyBBbW91bnQKCWdsb2JhbCBBc3NldE9wdEluTWluQmFsYW5jZQoJPj0KCgkvLyB0cmFuc2FjdGlvbiB2ZXJpZmljYXRpb24gZmFpbGVkOiB7InR4biI6Im1iclR4biIsImZpZWxkIjoiYW1vdW50IiwiY29uZGl0aW9uIjoiZ3JlYXRlclRoYW5FcXVhbFRvIiwiZXhwZWN0ZWQiOiI+PWdsb2JhbHMuYXNzZXRPcHRJbk1pbkJhbGFuY2UifQoJYXNzZXJ0CgoJLy8gdmVyaWZ5IHJlY2VpdmVyCglmcmFtZV9kaWcgLTIgLy8gbWJyVHhuOiBQYXlUeG4KCWd0eG5zIFJlY2VpdmVyCglnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwoJPT0KCgkvLyB0cmFuc2FjdGlvbiB2ZXJpZmljYXRpb24gZmFpbGVkOiB7InR4biI6Im1iclR4biIsImZpZWxkIjoicmVjZWl2ZXIiLCJleHBlY3RlZCI6InRoaXMuYXBwLmFkZHJlc3MifQoJYXNzZXJ0CgoJLy8gY29udHJhY3RzXExpbWl0T3JkZXIuYWxnby50czoxMzMKCS8vIHNlbmRBc3NldFRyYW5zZmVyKHsgeGZlckFzc2V0OiBhc3NldElkLCBhc3NldFJlY2VpdmVyOiB0aGlzLmFwcC5hZGRyZXNzLCBhc3NldEFtb3VudDogMCB9KQoJaXR4bl9iZWdpbgoJaW50YyAzIC8vICBheGZlcgoJaXR4bl9maWVsZCBUeXBlRW51bQoKCS8vIGNvbnRyYWN0c1xMaW1pdE9yZGVyLmFsZ28udHM6MTMzCgkvLyB4ZmVyQXNzZXQ6IGFzc2V0SWQKCWZyYW1lX2RpZyAtMSAvLyBhc3NldElkOiBBc3NldElECglpdHhuX2ZpZWxkIFhmZXJBc3NldAoKCS8vIGNvbnRyYWN0c1xMaW1pdE9yZGVyLmFsZ28udHM6MTMzCgkvLyBhc3NldFJlY2VpdmVyOiB0aGlzLmFwcC5hZGRyZXNzCglnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwoJaXR4bl9maWVsZCBBc3NldFJlY2VpdmVyCgoJLy8gY29udHJhY3RzXExpbWl0T3JkZXIuYWxnby50czoxMzMKCS8vIGFzc2V0QW1vdW50OiAwCglpbnRjIDEgLy8gMAoJaXR4bl9maWVsZCBBc3NldEFtb3VudAoKCS8vIEZlZSBmaWVsZCBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIDAKCWludGMgMSAvLyAwCglpdHhuX2ZpZWxkIEZlZQoKCS8vIFN1Ym1pdCBpbm5lciB0cmFuc2FjdGlvbgoJaXR4bl9zdWJtaXQKCXJldHN1YgoKLy8gY2FuY2VsT3JkZXIodWludDY0KXZvaWQKKmFiaV9yb3V0ZV9jYW5jZWxPcmRlcjoKCS8vIG9yZGVySWQ6IHVpbnQ2NAoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJYnRvaQoKCS8vIGV4ZWN1dGUgY2FuY2VsT3JkZXIodWludDY0KXZvaWQKCWNhbGxzdWIgY2FuY2VsT3JkZXIKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGNhbmNlbE9yZGVyKG9yZGVySWQ6IHVpbnQ2NCk6IHZvaWQKY2FuY2VsT3JkZXI6Cglwcm90byAxIDAKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMCAvLyAweAoJZHVwbiAyCgoJLy8gY29udHJhY3RzXExpbWl0T3JkZXIuYWxnby50czoxMzcKCS8vIGFzc2VydCh0aGlzLm9yZGVycyhvcmRlcklkKS5leGlzdHMsICdPcmRlciBub3QgZm91bmQnKQoJZnJhbWVfZGlnIC0xIC8vIG9yZGVySWQ6IHVpbnQ2NAoJaXRvYgoJYm94X2xlbgoJc3dhcAoJcG9wCgoJLy8gT3JkZXIgbm90IGZvdW5kCglhc3NlcnQKCgkvLyBjb250cmFjdHNcTGltaXRPcmRlci5hbGdvLnRzOjEzOAoJLy8gYXNzZXJ0KHRoaXMub3JkZXJzKG9yZGVySWQpLnZhbHVlLm93bmVyID09PSB0aGlzLnR4bi5zZW5kZXIsICdJbnZhbGlkIHNlbmRlcicpCglmcmFtZV9kaWcgLTEgLy8gb3JkZXJJZDogdWludDY0CglpdG9iCglib3hfZ2V0CgoJLy8gYm94IHZhbHVlIGRvZXMgbm90IGV4aXN0OiB0aGlzLm9yZGVycyhvcmRlcklkKS52YWx1ZQoJYXNzZXJ0CglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJZXh0cmFjdCA4IDMyCgl0eG4gU2VuZGVyCgk9PQoKCS8vIEludmFsaWQgc2VuZGVyCglhc3NlcnQKCgkvLyBjb250cmFjdHNcTGltaXRPcmRlci5hbGdvLnRzOjEzOQoJLy8gYXNzZXJ0KCF0aGlzLm9yZGVycyhvcmRlcklkKS52YWx1ZS5jb21wbGV0ZWQsICdPcmRlciBhbHJlYWR5IGNvbXBsZXRlZCcpCglmcmFtZV9kaWcgLTEgLy8gb3JkZXJJZDogdWludDY0CglpdG9iCglib3hfZ2V0CgoJLy8gYm94IHZhbHVlIGRvZXMgbm90IGV4aXN0OiB0aGlzLm9yZGVycyhvcmRlcklkKS52YWx1ZQoJYXNzZXJ0CglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJaW50YyAyIC8vIDU3NgoJZ2V0Yml0CgkhCgoJLy8gT3JkZXIgYWxyZWFkeSBjb21wbGV0ZWQKCWFzc2VydAoKCS8vIGNvbnRyYWN0c1xMaW1pdE9yZGVyLmFsZ28udHM6MTQwCgkvLyBhc3NldCA9IHRoaXMub3JkZXJzKG9yZGVySWQpLnZhbHVlLmdpdmluZ0Fzc2V0CglmcmFtZV9kaWcgLTEgLy8gb3JkZXJJZDogdWludDY0CglpdG9iCglib3hfZ2V0CgoJLy8gYm94IHZhbHVlIGRvZXMgbm90IGV4aXN0OiB0aGlzLm9yZGVycyhvcmRlcklkKS52YWx1ZQoJYXNzZXJ0CglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJZXh0cmFjdCA0MCA4CglidG9pCglmcmFtZV9idXJ5IDAgLy8gYXNzZXQ6IHVpbnQ2NAoKCS8vIGNvbnRyYWN0c1xMaW1pdE9yZGVyLmFsZ28udHM6MTQxCgkvLyBhbW91bnQgPSB0aGlzLm9yZGVycyhvcmRlcklkKS52YWx1ZS5naXZpbmdBbW91bnQKCWZyYW1lX2RpZyAtMSAvLyBvcmRlcklkOiB1aW50NjQKCWl0b2IKCWJveF9nZXQKCgkvLyBib3ggdmFsdWUgZG9lcyBub3QgZXhpc3Q6IHRoaXMub3JkZXJzKG9yZGVySWQpLnZhbHVlCglhc3NlcnQKCXN0b3JlIDI1NSAvLyBmdWxsIGFycmF5Cglsb2FkIDI1NSAvLyBmdWxsIGFycmF5CglleHRyYWN0IDU2IDgKCWJ0b2kKCWZyYW1lX2J1cnkgMSAvLyBhbW91bnQ6IHVpbnQ2NAoKCS8vIGNvbnRyYWN0c1xMaW1pdE9yZGVyLmFsZ28udHM6MTQyCgkvLyBvd25lciA9IHRoaXMub3JkZXJzKG9yZGVySWQpLnZhbHVlLm93bmVyCglmcmFtZV9kaWcgLTEgLy8gb3JkZXJJZDogdWludDY0CglpdG9iCglib3hfZ2V0CgoJLy8gYm94IHZhbHVlIGRvZXMgbm90IGV4aXN0OiB0aGlzLm9yZGVycyhvcmRlcklkKS52YWx1ZQoJYXNzZXJ0CglzdG9yZSAyNTUgLy8gZnVsbCBhcnJheQoJbG9hZCAyNTUgLy8gZnVsbCBhcnJheQoJZXh0cmFjdCA4IDMyCglmcmFtZV9idXJ5IDIgLy8gb3duZXI6IGFkZHJlc3MKCgkvLyBjb250cmFjdHNcTGltaXRPcmRlci5hbGdvLnRzOjE0MwoJLy8gdGhpcy5vcmRlcnMob3JkZXJJZCkuZGVsZXRlKCkKCWZyYW1lX2RpZyAtMSAvLyBvcmRlcklkOiB1aW50NjQKCWl0b2IKCWJveF9kZWwKCgkvLyBjb250cmFjdHNcTGltaXRPcmRlci5hbGdvLnRzOjE0NAoJLy8gdGhpcy5zZW5kKGFzc2V0LCBhbW91bnQsIHRoaXMudHhuLnNlbmRlcikKCXR4biBTZW5kZXIKCWZyYW1lX2RpZyAxIC8vIGFtb3VudDogdWludDY0CglmcmFtZV9kaWcgMCAvLyBhc3NldDogdWludDY0CgljYWxsc3ViIHNlbmQKCgkvLyBjb250cmFjdHNcTGltaXRPcmRlci5hbGdvLnRzOjE0NQoJLy8gc2VuZFBheW1lbnQoeyByZWNlaXZlcjogb3duZXIsIGFtb3VudDogQk9YX01CUiB9KQoJaXR4bl9iZWdpbgoJaW50YyAwIC8vICBwYXkKCWl0eG5fZmllbGQgVHlwZUVudW0KCgkvLyBjb250cmFjdHNcTGltaXRPcmRlci5hbGdvLnRzOjE0NQoJLy8gcmVjZWl2ZXI6IG93bmVyCglmcmFtZV9kaWcgMiAvLyBvd25lcjogYWRkcmVzcwoJaXR4bl9maWVsZCBSZWNlaXZlcgoKCS8vIGNvbnRyYWN0c1xMaW1pdE9yZGVyLmFsZ28udHM6MTQ1CgkvLyBhbW91bnQ6IEJPWF9NQlIKCWludGMgNCAvLyAzNTMwMAoJaXR4bl9maWVsZCBBbW91bnQKCgkvLyBGZWUgZmllbGQgbm90IHNldCwgZGVmYXVsdGluZyB0byAwCglpbnRjIDEgLy8gMAoJaXR4bl9maWVsZCBGZWUKCgkvLyBTdWJtaXQgaW5uZXIgdHJhbnNhY3Rpb24KCWl0eG5fc3VibWl0CglyZXRzdWIKCi8vIHNlbmQoYXNzZXQ6IHVpbnQ2NCwgYW1vdW50OiB1aW50NjQsIHJlY2VpdmVyOiBBZGRyZXNzKTogdm9pZApzZW5kOgoJcHJvdG8gMyAwCgoJLy8gKmlmNV9jb25kaXRpb24KCS8vIGNvbnRyYWN0c1xMaW1pdE9yZGVyLmFsZ28udHM6MTQ5CgkvLyBhc3NldCA9PT0gMAoJZnJhbWVfZGlnIC0xIC8vIGFzc2V0OiB1aW50NjQKCWludGMgMSAvLyAwCgk9PQoJYnogKmlmNV9lbHNlCgoJLy8gKmlmNV9jb25zZXF1ZW50CgkvLyBjb250cmFjdHNcTGltaXRPcmRlci5hbGdvLnRzOjE1MAoJLy8gc2VuZFBheW1lbnQoeyByZWNlaXZlcjogcmVjZWl2ZXIsIGFtb3VudDogYW1vdW50IH0pCglpdHhuX2JlZ2luCglpbnRjIDAgLy8gIHBheQoJaXR4bl9maWVsZCBUeXBlRW51bQoKCS8vIGNvbnRyYWN0c1xMaW1pdE9yZGVyLmFsZ28udHM6MTUwCgkvLyByZWNlaXZlcjogcmVjZWl2ZXIKCWZyYW1lX2RpZyAtMyAvLyByZWNlaXZlcjogQWRkcmVzcwoJaXR4bl9maWVsZCBSZWNlaXZlcgoKCS8vIGNvbnRyYWN0c1xMaW1pdE9yZGVyLmFsZ28udHM6MTUwCgkvLyBhbW91bnQ6IGFtb3VudAoJZnJhbWVfZGlnIC0yIC8vIGFtb3VudDogdWludDY0CglpdHhuX2ZpZWxkIEFtb3VudAoKCS8vIEZlZSBmaWVsZCBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIDAKCWludGMgMSAvLyAwCglpdHhuX2ZpZWxkIEZlZQoKCS8vIFN1Ym1pdCBpbm5lciB0cmFuc2FjdGlvbgoJaXR4bl9zdWJtaXQKCWIgKmlmNV9lbmQKCippZjVfZWxzZToKCS8vIGNvbnRyYWN0c1xMaW1pdE9yZGVyLmFsZ28udHM6MTUyCgkvLyBzZW5kQXNzZXRUcmFuc2Zlcih7CgkvLyAgICAgICAgIGFzc2V0UmVjZWl2ZXI6IHJlY2VpdmVyLAoJLy8gICAgICAgICBhc3NldEFtb3VudDogYW1vdW50LAoJLy8gICAgICAgICB4ZmVyQXNzZXQ6IEFzc2V0SUQuZnJvbVVpbnQ2NChhc3NldCksCgkvLyAgICAgICB9KQoJaXR4bl9iZWdpbgoJaW50YyAzIC8vICBheGZlcgoJaXR4bl9maWVsZCBUeXBlRW51bQoKCS8vIGNvbnRyYWN0c1xMaW1pdE9yZGVyLmFsZ28udHM6MTUzCgkvLyBhc3NldFJlY2VpdmVyOiByZWNlaXZlcgoJZnJhbWVfZGlnIC0zIC8vIHJlY2VpdmVyOiBBZGRyZXNzCglpdHhuX2ZpZWxkIEFzc2V0UmVjZWl2ZXIKCgkvLyBjb250cmFjdHNcTGltaXRPcmRlci5hbGdvLnRzOjE1NAoJLy8gYXNzZXRBbW91bnQ6IGFtb3VudAoJZnJhbWVfZGlnIC0yIC8vIGFtb3VudDogdWludDY0CglpdHhuX2ZpZWxkIEFzc2V0QW1vdW50CgoJLy8gY29udHJhY3RzXExpbWl0T3JkZXIuYWxnby50czoxNTUKCS8vIHhmZXJBc3NldDogQXNzZXRJRC5mcm9tVWludDY0KGFzc2V0KQoJZnJhbWVfZGlnIC0xIC8vIGFzc2V0OiB1aW50NjQKCWl0eG5fZmllbGQgWGZlckFzc2V0CgoJLy8gRmVlIGZpZWxkIG5vdCBzZXQsIGRlZmF1bHRpbmcgdG8gMAoJaW50YyAxIC8vIDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gU3VibWl0IGlubmVyIHRyYW5zYWN0aW9uCglpdHhuX3N1Ym1pdAoKKmlmNV9lbmQ6CglyZXRzdWIKCipjcmVhdGVfTm9PcDoKCXB1c2hieXRlcyAweGI4NDQ3YjM2IC8vIG1ldGhvZCAiY3JlYXRlQXBwbGljYXRpb24oKXZvaWQiCgl0eG5hIEFwcGxpY2F0aW9uQXJncyAwCgltYXRjaCAqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uCgoJLy8gdGhpcyBjb250cmFjdCBkb2VzIG5vdCBpbXBsZW1lbnQgdGhlIGdpdmVuIEFCSSBtZXRob2QgZm9yIGNyZWF0ZSBOb09wCgllcnIKCipjYWxsX05vT3A6CglwdXNoYnl0ZXMgMHgyYTI0MzFkZCAvLyBtZXRob2QgImNyZWF0ZU9yZGVyKHR4bixwYXksdWludDY0LHVpbnQ2NCl1aW50NjQiCglwdXNoYnl0ZXMgMHgwYTc4MWUyOSAvLyBtZXRob2QgImNsYWltT3JkZXIodWludDY0LHR4bil2b2lkIgoJcHVzaGJ5dGVzIDB4OWNkZDE3YTYgLy8gbWV0aG9kICJjbGFpbU93bmVyQXNzZXQodWludDY0KXZvaWQiCglwdXNoYnl0ZXMgMHg1YzAxMjk4OSAvLyBtZXRob2QgIm9wdEluVG9Bc3NldCh1aW50NjQscGF5KXZvaWQiCglwdXNoYnl0ZXMgMHgzNGRmYzNlZCAvLyBtZXRob2QgImNhbmNlbE9yZGVyKHVpbnQ2NCl2b2lkIgoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMAoJbWF0Y2ggKmFiaV9yb3V0ZV9jcmVhdGVPcmRlciAqYWJpX3JvdXRlX2NsYWltT3JkZXIgKmFiaV9yb3V0ZV9jbGFpbU93bmVyQXNzZXQgKmFiaV9yb3V0ZV9vcHRJblRvQXNzZXQgKmFiaV9yb3V0ZV9jYW5jZWxPcmRlcgoKCS8vIHRoaXMgY29udHJhY3QgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBnaXZlbiBBQkkgbWV0aG9kIGZvciBjYWxsIE5vT3AKCWVycg==", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "byteCode": { "approval": "CiAFAQDABATkkwImAwAKb3JkZXJJbmRleAEAMRgUgQYLMRkIjQwEgAAAAAAAAAAAAAAEcgAAAAAAAAAAAAAAiAACIkOKAAApI2eJgAQVH3x1NhoCFzYaARcxFiIJSTgQIhJEMRaBAgmIAAUWULAiQ4oEASiL/SMTQQAJMQCL/XAATEhEi/84ADEAEkSL/Iv9i/+IACyMAIv+OAghBA9Ei/44BzIKEkQpZBaLAL8pZCIIKUxniwA1/zT/VwAIF4wAiYoDAYv/OBAlEklAAAeL/zgQIhIRRIv/OBAiEkEAMIv/OAcyChJEKWQWMQBQgAgAAAAAAAAAAFCL/hZQi/84CBZQi/0WUCojSVQiI1RQiYv/OBQyChJEKWQWMQBQi/84ERZQi/4WUIv/OBIWUIv9FlAqI0lUIiNUUIkxFiIJNhoBF4gAAiJDigIAKEcCi/8WvUxIRIv/FowAiwC+RDX/NP8kUxREi/44ECUSSUAAB4v+OBAiEhFEi/44ECISQQA0iwC+RDX/NP9XMAgXIxJEiwC+RDX/NP9XQAgXi/44CBJEMQCL/jgAEkQyCov+OAcSREIANIsAvkQ1/zT/VzAIF4v+OBESRIsAvkQ1/zT/V0AIF4v+OBISRDEAi/44ABJEMgqL/jgUEkQjjAExAIsAvkQ1/zT/VzgIF4sAvkQ1/zT/VygIF4gCdosAvkQ1/zT/VzAIFyMTQQBOiwC+RDX/NP9XMAgXjAKLAL5ENf80/1cIIIsCcABMSEEAKSKMAYsAvkQ1/zT/VwggiwC+RDX/NP9XQAgXiwC+RDX/NP9XMAgXiAIaQgApIowBiwC+RDX/NP9XCCCLAL5ENf80/1dACBeLAL5ENf80/1cwCBeIAe6L/xaLAL5ENf80/1cACBcWiwC+RDX/NP9XCCBQiwC+RDX/NP9XKAgXFlCLAL5ENf80/1cwCBcWUIsAvkQ1/zT/VzgIFxZQiwC+RDX/NP9XQAgXFlAqIyJUIosBVFC/iTYaAReIAAIiQ4oBACiL/xa9TEhEi/8WjACLAL5ENf80/yRTRIsAvkQ1/zT/gcEEUxREMQCLAL5ENf80/1cIIBJEi/8WiwC+RDX/NP9XAAgXFosAvkQ1/zT/VwggUIsAvkQ1/zT/VygIFxZQiwC+RDX/NP9XMAgXFlCLAL5ENf80/1c4CBcWUIsAvkQ1/zT/V0AIFxZQKiOLAL5ENf80/yRTVCJJVFC/iwC+RDX/NP9XCCCLAL5ENf80/1dACBeLAL5ENf80/1cwCBeIAMKJMRYiCUk4ECISRDYaAReIAAIiQ4oCADIKi/9wAExIFESL/jgIMhAPRIv+OAcyChJEsSWyEIv/shEyCrIUI7ISI7IBs4k2GgEXiAACIkOKAQAoRwKL/xa9TEhEi/8WvkQ1/zT/VwggMQASRIv/Fr5ENf80/yRTFESL/xa+RDX/NP9XKAgXjACL/xa+RDX/NP9XOAgXjAGL/xa+RDX/NP9XCCCMAov/FrwxAIsBiwCIABGxIrIQiwKyByEEsggjsgGziYoDAIv/IxJBABOxIrIQi/2yB4v+sggjsgGzQgAUsSWyEIv9shSL/rISi/+yESOyAbOJgAS4RHs2NhoAjgH7ggCABCokMd2ABAp4HimABJzdF6aABFwBKYmABDTfw+02GgCOBftg/E/+BP7S/xYA", "clear": "Cg==" }, "compilerInfo": { "compiler": "algod", "compilerVersion": { "major": 3, "minor": 23, "patch": 1, "commitHash": "34171a94" } } }