{ "name": "GZCToken", "desc": "", "methods": [ { "name": "createApplication", "args": [], "returns": { "type": "void" }, "actions": { "create": [ "NoOp" ], "call": [] } }, { "name": "bootstrap", "args": [], "returns": { "type": "void" }, "actions": { "create": [], "call": [ "NoOp" ] } }, { "name": "buyGZC", "args": [ { "name": "payment", "type": "pay" } ], "returns": { "type": "void" }, "actions": { "create": [], "call": [ "NoOp" ] } }, { "name": "sellGZC", "args": [ { "name": "gzcPayment", "type": "axfer" } ], "returns": { "type": "void" }, "actions": { "create": [], "call": [ "NoOp" ] } }, { "name": "withdrawAlgo", "args": [ { "name": "amount", "type": "uint64" } ], "returns": { "type": "void" }, "actions": { "create": [], "call": [ "NoOp" ] } }, { "name": "transferOwnership", "args": [ { "name": "newOwner", "type": "address" } ], "returns": { "type": "void" }, "actions": { "create": [], "call": [ "NoOp" ] } }, { "name": "getAsaId", "args": [], "returns": { "type": "uint64" }, "actions": { "create": [], "call": [ "NoOp" ] } }, { "name": "getGZCReserve", "args": [], "returns": { "type": "uint64" }, "actions": { "create": [], "call": [ "NoOp" ] } }, { "name": "getAlgoReserve", "args": [], "returns": { "type": "uint64" }, "actions": { "create": [], "call": [ "NoOp" ] } } ], "arcs": [ 4, 56 ], "structs": {}, "state": { "schema": { "global": { "bytes": 1, "ints": 1 }, "local": { "bytes": 0, "ints": 0 } }, "keys": { "global": { "gzcAsaId": { "key": "YXNhSWQ=", "keyType": "AVMBytes", "valueType": "uint64" }, "owner": { "key": "b3duZXI=", "keyType": "AVMBytes", "valueType": "address" } }, "local": {}, "box": {} }, "maps": { "global": {}, "local": {}, "box": {} } }, "bareActions": { "create": [], "call": [] }, "sourceInfo": { "approval": { "sourceInfo": [ { "teal": 1, "source": "contracts\\GZCToken.algo.ts:3", "pc": [ 0 ] }, { "teal": 2, "source": "contracts\\GZCToken.algo.ts:3", "pc": [ 1, 2, 3, 4, 5, 6, 7, 8 ] }, { "teal": 3, "source": "contracts\\GZCToken.algo.ts:3", "pc": [ 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28 ] }, { "teal": 15, "source": "contracts\\GZCToken.algo.ts:3", "pc": [ 29, 30 ] }, { "teal": 16, "source": "contracts\\GZCToken.algo.ts:3", "pc": [ 31 ] }, { "teal": 17, "source": "contracts\\GZCToken.algo.ts:3", "pc": [ 32, 33 ] }, { "teal": 18, "source": "contracts\\GZCToken.algo.ts:3", "pc": [ 34 ] }, { "teal": 19, "source": "contracts\\GZCToken.algo.ts:3", "pc": [ 35, 36 ] }, { "teal": 20, "source": "contracts\\GZCToken.algo.ts:3", "pc": [ 37 ] }, { "teal": 21, "source": "contracts\\GZCToken.algo.ts:3", "pc": [ 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63 ] }, { "teal": 25, "source": "contracts\\GZCToken.algo.ts:3", "errorMessage": "The requested action is not implemented in this contract. Are you using the correct OnComplete? Did you set your app ID?", "pc": [ 64 ] }, { "teal": 30, "source": "contracts\\GZCToken.algo.ts:8", "pc": [ 65, 66, 67 ] }, { "teal": 31, "source": "contracts\\GZCToken.algo.ts:8", "pc": [ 68 ] }, { "teal": 32, "source": "contracts\\GZCToken.algo.ts:8", "pc": [ 69 ] }, { "teal": 36, "source": "contracts\\GZCToken.algo.ts:8", "pc": [ 70, 71, 72 ] }, { "teal": 40, "source": "contracts\\GZCToken.algo.ts:9", "pc": [ 73 ] }, { "teal": 41, "source": "contracts\\GZCToken.algo.ts:9", "pc": [ 74, 75 ] }, { "teal": 42, "source": "contracts\\GZCToken.algo.ts:9", "pc": [ 76 ] }, { "teal": 43, "source": "contracts\\GZCToken.algo.ts:8", "pc": [ 77 ] }, { "teal": 48, "source": "contracts\\GZCToken.algo.ts:13", "pc": [ 78, 79, 80 ] }, { "teal": 49, "source": "contracts\\GZCToken.algo.ts:13", "pc": [ 81 ] }, { "teal": 50, "source": "contracts\\GZCToken.algo.ts:13", "pc": [ 82 ] }, { "teal": 54, "source": "contracts\\GZCToken.algo.ts:13", "pc": [ 83, 84, 85 ] }, { "teal": 57, "source": "contracts\\GZCToken.algo.ts:13", "pc": [ 86 ] }, { "teal": 61, "source": "contracts\\GZCToken.algo.ts:14", "pc": [ 87, 88 ] }, { "teal": 62, "source": "contracts\\GZCToken.algo.ts:14", "pc": [ 89 ] }, { "teal": 63, "source": "contracts\\GZCToken.algo.ts:14", "pc": [ 90 ] }, { "teal": 64, "source": "contracts\\GZCToken.algo.ts:14", "pc": [ 91 ] }, { "teal": 67, "source": "contracts\\GZCToken.algo.ts:14", "errorMessage": "Only owner can bootstrap", "pc": [ 92 ] }, { "teal": 71, "source": "contracts\\GZCToken.algo.ts:15", "pc": [ 93, 94, 95 ] }, { "teal": 72, "source": "contracts\\GZCToken.algo.ts:15", "pc": [ 96 ] }, { "teal": 73, "source": "contracts\\GZCToken.algo.ts:15", "pc": [ 97 ] }, { "teal": 74, "source": "contracts\\GZCToken.algo.ts:15", "pc": [ 98 ] }, { "teal": 75, "source": "contracts\\GZCToken.algo.ts:15", "pc": [ 99 ] }, { "teal": 76, "source": "contracts\\GZCToken.algo.ts:15", "pc": [ 100 ] }, { "teal": 79, "source": "contracts\\GZCToken.algo.ts:15", "errorMessage": "Already bootstrapped", "pc": [ 101 ] }, { "teal": 95, "source": "contracts\\GZCToken.algo.ts:17", "pc": [ 102 ] }, { "teal": 96, "source": "contracts\\GZCToken.algo.ts:17", "pc": [ 103, 104 ] }, { "teal": 97, "source": "contracts\\GZCToken.algo.ts:17", "pc": [ 105, 106 ] }, { "teal": 101, "source": "contracts\\GZCToken.algo.ts:18", "pc": [ 107, 108, 109, 110, 111, 112, 113, 114, 115 ] }, { "teal": 102, "source": "contracts\\GZCToken.algo.ts:18", "pc": [ 116, 117 ] }, { "teal": 106, "source": "contracts\\GZCToken.algo.ts:19", "pc": [ 118, 119 ] }, { "teal": 107, "source": "contracts\\GZCToken.algo.ts:19", "pc": [ 120, 121 ] }, { "teal": 111, "source": "contracts\\GZCToken.algo.ts:20", "pc": [ 122, 123, 124, 125, 126 ] }, { "teal": 112, "source": "contracts\\GZCToken.algo.ts:20", "pc": [ 127, 128 ] }, { "teal": 116, "source": "contracts\\GZCToken.algo.ts:21", "pc": [ 129, 130, 131, 132, 133, 134, 135, 136, 137, 138 ] }, { "teal": 117, "source": "contracts\\GZCToken.algo.ts:21", "pc": [ 139, 140 ] }, { "teal": 121, "source": "contracts\\GZCToken.algo.ts:22", "pc": [ 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169 ] }, { "teal": 122, "source": "contracts\\GZCToken.algo.ts:22", "pc": [ 170, 171 ] }, { "teal": 126, "source": "contracts\\GZCToken.algo.ts:23", "pc": [ 172, 173 ] }, { "teal": 127, "source": "contracts\\GZCToken.algo.ts:23", "pc": [ 174, 175 ] }, { "teal": 131, "source": "contracts\\GZCToken.algo.ts:24", "pc": [ 176, 177 ] }, { "teal": 132, "source": "contracts\\GZCToken.algo.ts:24", "pc": [ 178, 179 ] }, { "teal": 136, "source": "contracts\\GZCToken.algo.ts:25", "pc": [ 180, 181 ] }, { "teal": 137, "source": "contracts\\GZCToken.algo.ts:25", "pc": [ 182, 183 ] }, { "teal": 141, "source": "contracts\\GZCToken.algo.ts:26", "pc": [ 184, 185 ] }, { "teal": 142, "source": "contracts\\GZCToken.algo.ts:26", "pc": [ 186, 187 ] }, { "teal": 146, "source": "contracts\\GZCToken.algo.ts:27", "pc": [ 188 ] }, { "teal": 147, "source": "contracts\\GZCToken.algo.ts:27", "pc": [ 189, 190 ] }, { "teal": 151, "source": "contracts\\GZCToken.algo.ts:28", "pc": [ 191 ] }, { "teal": 152, "source": "contracts\\GZCToken.algo.ts:28", "pc": [ 192, 193 ] }, { "teal": 155, "source": "contracts\\GZCToken.algo.ts:17", "pc": [ 194 ] }, { "teal": 156, "source": "contracts\\GZCToken.algo.ts:17", "pc": [ 195, 196 ] }, { "teal": 157, "source": "contracts\\GZCToken.algo.ts:17", "pc": [ 197, 198 ] }, { "teal": 161, "source": "contracts\\GZCToken.algo.ts:31", "pc": [ 199 ] }, { "teal": 162, "source": "contracts\\GZCToken.algo.ts:31", "pc": [ 200, 201 ] }, { "teal": 163, "source": "contracts\\GZCToken.algo.ts:31", "pc": [ 202 ] }, { "teal": 164, "source": "contracts\\GZCToken.algo.ts:13", "pc": [ 203 ] }, { "teal": 169, "source": "contracts\\GZCToken.algo.ts:34", "pc": [ 204, 205 ] }, { "teal": 170, "source": "contracts\\GZCToken.algo.ts:34", "pc": [ 206 ] }, { "teal": 171, "source": "contracts\\GZCToken.algo.ts:34", "pc": [ 207 ] }, { "teal": 172, "source": "contracts\\GZCToken.algo.ts:34", "pc": [ 208 ] }, { "teal": 173, "source": "contracts\\GZCToken.algo.ts:34", "pc": [ 209, 210 ] }, { "teal": 174, "source": "contracts\\GZCToken.algo.ts:34", "pc": [ 211 ] }, { "teal": 175, "source": "contracts\\GZCToken.algo.ts:34", "pc": [ 212 ] }, { "teal": 178, "source": "contracts\\GZCToken.algo.ts:34", "errorMessage": "argument 0 (payment) for buyGZC must be a pay transaction", "pc": [ 213 ] }, { "teal": 181, "source": "contracts\\GZCToken.algo.ts:34", "pc": [ 214, 215, 216 ] }, { "teal": 182, "source": "contracts\\GZCToken.algo.ts:34", "pc": [ 217 ] }, { "teal": 183, "source": "contracts\\GZCToken.algo.ts:34", "pc": [ 218 ] }, { "teal": 187, "source": "contracts\\GZCToken.algo.ts:34", "pc": [ 219, 220, 221 ] }, { "teal": 190, "source": "contracts\\GZCToken.algo.ts:34", "pc": [ 222 ] }, { "teal": 198, "source": "contracts\\GZCToken.algo.ts:35", "pc": [ 223, 224 ] }, { "teal": 199, "source": "contracts\\GZCToken.algo.ts:36", "pc": [ 225, 226 ] }, { "teal": 200, "source": "contracts\\GZCToken.algo.ts:36", "pc": [ 227, 228 ] }, { "teal": 201, "source": "contracts\\GZCToken.algo.ts:36", "pc": [ 229 ] }, { "teal": 204, "source": "contracts\\GZCToken.algo.ts:36", "errorMessage": "transaction verification failed: {\"txn\":\"payment\",\"field\":\"receiver\",\"expected\":\"this.app.address\"}", "pc": [ 230 ] }, { "teal": 207, "source": "contracts\\GZCToken.algo.ts:35", "pc": [ 231, 232 ] }, { "teal": 208, "source": "contracts\\GZCToken.algo.ts:37", "pc": [ 233, 234 ] }, { "teal": 209, "source": "contracts\\GZCToken.algo.ts:37", "pc": [ 235 ] }, { "teal": 210, "source": "contracts\\GZCToken.algo.ts:37", "pc": [ 236 ] }, { "teal": 213, "source": "contracts\\GZCToken.algo.ts:37", "errorMessage": "transaction verification failed: {\"txn\":\"payment\",\"field\":\"amount\",\"condition\":\"greaterThan\",\"expected\":\">0 as uint64\"}", "pc": [ 237 ] }, { "teal": 217, "source": "contracts\\GZCToken.algo.ts:40", "pc": [ 238, 239 ] }, { "teal": 218, "source": "contracts\\GZCToken.algo.ts:40", "pc": [ 240, 241 ] }, { "teal": 219, "source": "contracts\\GZCToken.algo.ts:40", "pc": [ 242, 243 ] }, { "teal": 226, "source": "contracts\\GZCToken.algo.ts:43", "pc": [ 244, 245 ] }, { "teal": 227, "source": "contracts\\GZCToken.algo.ts:43", "pc": [ 246 ] }, { "teal": 228, "source": "contracts\\GZCToken.algo.ts:43", "pc": [ 247 ] }, { "teal": 229, "source": "contracts\\GZCToken.algo.ts:43", "pc": [ 248, 249 ] }, { "teal": 230, "source": "contracts\\GZCToken.algo.ts:43", "pc": [ 250 ] }, { "teal": 231, "source": "contracts\\GZCToken.algo.ts:43", "pc": [ 251, 252 ] }, { "teal": 232, "source": "contracts\\GZCToken.algo.ts:43", "pc": [ 253 ] }, { "teal": 235, "source": "contracts\\GZCToken.algo.ts:42", "errorMessage": "GZC: insufficient reserve", "pc": [ 254 ] }, { "teal": 244, "source": "contracts\\GZCToken.algo.ts:48", "pc": [ 255 ] }, { "teal": 245, "source": "contracts\\GZCToken.algo.ts:48", "pc": [ 256 ] }, { "teal": 246, "source": "contracts\\GZCToken.algo.ts:48", "pc": [ 257, 258 ] }, { "teal": 250, "source": "contracts\\GZCToken.algo.ts:49", "pc": [ 259 ] }, { "teal": 251, "source": "contracts\\GZCToken.algo.ts:49", "pc": [ 260 ] }, { "teal": 252, "source": "contracts\\GZCToken.algo.ts:49", "pc": [ 261, 262 ] }, { "teal": 256, "source": "contracts\\GZCToken.algo.ts:50", "pc": [ 263, 264 ] }, { "teal": 257, "source": "contracts\\GZCToken.algo.ts:50", "pc": [ 265, 266 ] }, { "teal": 261, "source": "contracts\\GZCToken.algo.ts:51", "pc": [ 267, 268 ] }, { "teal": 262, "source": "contracts\\GZCToken.algo.ts:51", "pc": [ 269, 270 ] }, { "teal": 266, "source": "contracts\\GZCToken.algo.ts:52", "pc": [ 271 ] }, { "teal": 267, "source": "contracts\\GZCToken.algo.ts:52", "pc": [ 272, 273 ] }, { "teal": 270, "source": "contracts\\GZCToken.algo.ts:48", "pc": [ 274 ] }, { "teal": 271, "source": "contracts\\GZCToken.algo.ts:34", "pc": [ 275 ] }, { "teal": 276, "source": "contracts\\GZCToken.algo.ts:56", "pc": [ 276, 277 ] }, { "teal": 277, "source": "contracts\\GZCToken.algo.ts:56", "pc": [ 278 ] }, { "teal": 278, "source": "contracts\\GZCToken.algo.ts:56", "pc": [ 279 ] }, { "teal": 279, "source": "contracts\\GZCToken.algo.ts:56", "pc": [ 280 ] }, { "teal": 280, "source": "contracts\\GZCToken.algo.ts:56", "pc": [ 281, 282 ] }, { "teal": 281, "source": "contracts\\GZCToken.algo.ts:56", "pc": [ 283 ] }, { "teal": 282, "source": "contracts\\GZCToken.algo.ts:56", "pc": [ 284 ] }, { "teal": 285, "source": "contracts\\GZCToken.algo.ts:56", "errorMessage": "argument 0 (gzcPayment) for sellGZC must be a axfer transaction", "pc": [ 285 ] }, { "teal": 288, "source": "contracts\\GZCToken.algo.ts:56", "pc": [ 286, 287, 288 ] }, { "teal": 289, "source": "contracts\\GZCToken.algo.ts:56", "pc": [ 289 ] }, { "teal": 290, "source": "contracts\\GZCToken.algo.ts:56", "pc": [ 290 ] }, { "teal": 294, "source": "contracts\\GZCToken.algo.ts:56", "pc": [ 291, 292, 293 ] }, { "teal": 297, "source": "contracts\\GZCToken.algo.ts:56", "pc": [ 294 ] }, { "teal": 306, "source": "contracts\\GZCToken.algo.ts:57", "pc": [ 295, 296 ] }, { "teal": 307, "source": "contracts\\GZCToken.algo.ts:58", "pc": [ 297, 298 ] }, { "teal": 308, "source": "contracts\\GZCToken.algo.ts:58", "pc": [ 299 ] }, { "teal": 309, "source": "contracts\\GZCToken.algo.ts:58", "pc": [ 300 ] }, { "teal": 310, "source": "contracts\\GZCToken.algo.ts:58", "pc": [ 301 ] }, { "teal": 313, "source": "contracts\\GZCToken.algo.ts:58", "errorMessage": "transaction verification failed: {\"txn\":\"gzcPayment\",\"field\":\"xferAsset\",\"expected\":\"this.gzcAsaId.value\"}", "pc": [ 302 ] }, { "teal": 316, "source": "contracts\\GZCToken.algo.ts:57", "pc": [ 303, 304 ] }, { "teal": 317, "source": "contracts\\GZCToken.algo.ts:59", "pc": [ 305, 306 ] }, { "teal": 318, "source": "contracts\\GZCToken.algo.ts:59", "pc": [ 307, 308 ] }, { "teal": 319, "source": "contracts\\GZCToken.algo.ts:59", "pc": [ 309 ] }, { "teal": 322, "source": "contracts\\GZCToken.algo.ts:59", "errorMessage": "transaction verification failed: {\"txn\":\"gzcPayment\",\"field\":\"assetReceiver\",\"expected\":\"this.app.address\"}", "pc": [ 310 ] }, { "teal": 325, "source": "contracts\\GZCToken.algo.ts:57", "pc": [ 311, 312 ] }, { "teal": 326, "source": "contracts\\GZCToken.algo.ts:60", "pc": [ 313, 314 ] }, { "teal": 327, "source": "contracts\\GZCToken.algo.ts:60", "pc": [ 315 ] }, { "teal": 328, "source": "contracts\\GZCToken.algo.ts:60", "pc": [ 316 ] }, { "teal": 331, "source": "contracts\\GZCToken.algo.ts:60", "errorMessage": "transaction verification failed: {\"txn\":\"gzcPayment\",\"field\":\"assetAmount\",\"condition\":\"greaterThan\",\"expected\":\">0 as uint64\"}", "pc": [ 317 ] }, { "teal": 335, "source": "contracts\\GZCToken.algo.ts:63", "pc": [ 318, 319 ] }, { "teal": 336, "source": "contracts\\GZCToken.algo.ts:63", "pc": [ 320, 321 ] }, { "teal": 337, "source": "contracts\\GZCToken.algo.ts:63", "pc": [ 322, 323 ] }, { "teal": 344, "source": "contracts\\GZCToken.algo.ts:66", "pc": [ 324, 325 ] }, { "teal": 345, "source": "contracts\\GZCToken.algo.ts:66", "pc": [ 326, 327 ] }, { "teal": 346, "source": "contracts\\GZCToken.algo.ts:66", "pc": [ 328 ] }, { "teal": 347, "source": "contracts\\GZCToken.algo.ts:66", "pc": [ 329, 330 ] }, { "teal": 348, "source": "contracts\\GZCToken.algo.ts:66", "pc": [ 331, 332 ] }, { "teal": 349, "source": "contracts\\GZCToken.algo.ts:66", "pc": [ 333, 334 ] }, { "teal": 350, "source": "contracts\\GZCToken.algo.ts:66", "pc": [ 335 ] }, { "teal": 351, "source": "contracts\\GZCToken.algo.ts:66", "pc": [ 336 ] }, { "teal": 352, "source": "contracts\\GZCToken.algo.ts:66", "pc": [ 337 ] }, { "teal": 355, "source": "contracts\\GZCToken.algo.ts:65", "errorMessage": "GZC: insufficient ALGO reserve", "pc": [ 338 ] }, { "teal": 363, "source": "contracts\\GZCToken.algo.ts:71", "pc": [ 339 ] }, { "teal": 364, "source": "contracts\\GZCToken.algo.ts:71", "pc": [ 340 ] }, { "teal": 365, "source": "contracts\\GZCToken.algo.ts:71", "pc": [ 341, 342 ] }, { "teal": 369, "source": "contracts\\GZCToken.algo.ts:72", "pc": [ 343, 344 ] }, { "teal": 370, "source": "contracts\\GZCToken.algo.ts:72", "pc": [ 345, 346 ] }, { "teal": 374, "source": "contracts\\GZCToken.algo.ts:73", "pc": [ 347, 348 ] }, { "teal": 375, "source": "contracts\\GZCToken.algo.ts:73", "pc": [ 349, 350 ] }, { "teal": 379, "source": "contracts\\GZCToken.algo.ts:74", "pc": [ 351 ] }, { "teal": 380, "source": "contracts\\GZCToken.algo.ts:74", "pc": [ 352, 353 ] }, { "teal": 383, "source": "contracts\\GZCToken.algo.ts:71", "pc": [ 354 ] }, { "teal": 384, "source": "contracts\\GZCToken.algo.ts:56", "pc": [ 355 ] }, { "teal": 389, "source": "contracts\\GZCToken.algo.ts:78", "pc": [ 356, 357, 358 ] }, { "teal": 390, "source": "contracts\\GZCToken.algo.ts:78", "pc": [ 359 ] }, { "teal": 393, "source": "contracts\\GZCToken.algo.ts:78", "pc": [ 360, 361, 362 ] }, { "teal": 394, "source": "contracts\\GZCToken.algo.ts:78", "pc": [ 363 ] }, { "teal": 395, "source": "contracts\\GZCToken.algo.ts:78", "pc": [ 364 ] }, { "teal": 399, "source": "contracts\\GZCToken.algo.ts:78", "pc": [ 365, 366, 367 ] }, { "teal": 403, "source": "contracts\\GZCToken.algo.ts:79", "pc": [ 368, 369 ] }, { "teal": 404, "source": "contracts\\GZCToken.algo.ts:79", "pc": [ 370 ] }, { "teal": 405, "source": "contracts\\GZCToken.algo.ts:79", "pc": [ 371 ] }, { "teal": 406, "source": "contracts\\GZCToken.algo.ts:79", "pc": [ 372 ] }, { "teal": 409, "source": "contracts\\GZCToken.algo.ts:79", "errorMessage": "GZC: not owner", "pc": [ 373 ] }, { "teal": 416, "source": "contracts\\GZCToken.algo.ts:81", "pc": [ 374, 375 ] }, { "teal": 417, "source": "contracts\\GZCToken.algo.ts:81", "pc": [ 376, 377 ] }, { "teal": 418, "source": "contracts\\GZCToken.algo.ts:81", "pc": [ 378 ] }, { "teal": 419, "source": "contracts\\GZCToken.algo.ts:81", "pc": [ 379, 380 ] }, { "teal": 420, "source": "contracts\\GZCToken.algo.ts:81", "pc": [ 381, 382 ] }, { "teal": 421, "source": "contracts\\GZCToken.algo.ts:81", "pc": [ 383, 384 ] }, { "teal": 422, "source": "contracts\\GZCToken.algo.ts:81", "pc": [ 385 ] }, { "teal": 423, "source": "contracts\\GZCToken.algo.ts:81", "pc": [ 386 ] }, { "teal": 424, "source": "contracts\\GZCToken.algo.ts:81", "pc": [ 387, 388, 389, 390 ] }, { "teal": 425, "source": "contracts\\GZCToken.algo.ts:81", "pc": [ 391 ] }, { "teal": 426, "source": "contracts\\GZCToken.algo.ts:81", "pc": [ 392 ] }, { "teal": 429, "source": "contracts\\GZCToken.algo.ts:80", "errorMessage": "GZC: would deplete reserve", "pc": [ 393 ] }, { "teal": 437, "source": "contracts\\GZCToken.algo.ts:86", "pc": [ 394 ] }, { "teal": 438, "source": "contracts\\GZCToken.algo.ts:86", "pc": [ 395 ] }, { "teal": 439, "source": "contracts\\GZCToken.algo.ts:86", "pc": [ 396, 397 ] }, { "teal": 443, "source": "contracts\\GZCToken.algo.ts:87", "pc": [ 398 ] }, { "teal": 444, "source": "contracts\\GZCToken.algo.ts:87", "pc": [ 399 ] }, { "teal": 445, "source": "contracts\\GZCToken.algo.ts:87", "pc": [ 400, 401 ] }, { "teal": 449, "source": "contracts\\GZCToken.algo.ts:88", "pc": [ 402, 403 ] }, { "teal": 450, "source": "contracts\\GZCToken.algo.ts:88", "pc": [ 404, 405 ] }, { "teal": 454, "source": "contracts\\GZCToken.algo.ts:89", "pc": [ 406 ] }, { "teal": 455, "source": "contracts\\GZCToken.algo.ts:89", "pc": [ 407, 408 ] }, { "teal": 458, "source": "contracts\\GZCToken.algo.ts:86", "pc": [ 409 ] }, { "teal": 459, "source": "contracts\\GZCToken.algo.ts:78", "pc": [ 410 ] }, { "teal": 464, "source": "contracts\\GZCToken.algo.ts:93", "pc": [ 411, 412, 413 ] }, { "teal": 465, "source": "contracts\\GZCToken.algo.ts:93", "pc": [ 414 ] }, { "teal": 466, "source": "contracts\\GZCToken.algo.ts:93", "pc": [ 415 ] }, { "teal": 467, "source": "contracts\\GZCToken.algo.ts:93", "pc": [ 416, 417 ] }, { "teal": 468, "source": "contracts\\GZCToken.algo.ts:93", "pc": [ 418 ] }, { "teal": 471, "source": "contracts\\GZCToken.algo.ts:93", "errorMessage": "argument 0 (newOwner) for transferOwnership must be a address", "pc": [ 419 ] }, { "teal": 474, "source": "contracts\\GZCToken.algo.ts:93", "pc": [ 420, 421, 422 ] }, { "teal": 475, "source": "contracts\\GZCToken.algo.ts:93", "pc": [ 423 ] }, { "teal": 476, "source": "contracts\\GZCToken.algo.ts:93", "pc": [ 424 ] }, { "teal": 480, "source": "contracts\\GZCToken.algo.ts:93", "pc": [ 425, 426, 427 ] }, { "teal": 484, "source": "contracts\\GZCToken.algo.ts:94", "pc": [ 428, 429 ] }, { "teal": 485, "source": "contracts\\GZCToken.algo.ts:94", "pc": [ 430 ] }, { "teal": 486, "source": "contracts\\GZCToken.algo.ts:94", "pc": [ 431 ] }, { "teal": 487, "source": "contracts\\GZCToken.algo.ts:94", "pc": [ 432 ] }, { "teal": 490, "source": "contracts\\GZCToken.algo.ts:94", "errorMessage": "GZC: not owner", "pc": [ 433 ] }, { "teal": 494, "source": "contracts\\GZCToken.algo.ts:95", "pc": [ 434, 435 ] }, { "teal": 495, "source": "contracts\\GZCToken.algo.ts:95", "pc": [ 436, 437 ] }, { "teal": 496, "source": "contracts\\GZCToken.algo.ts:95", "pc": [ 438 ] }, { "teal": 499, "source": "contracts\\GZCToken.algo.ts:95", "errorMessage": "GZC: zero address", "pc": [ 439 ] }, { "teal": 503, "source": "contracts\\GZCToken.algo.ts:96", "pc": [ 440 ] }, { "teal": 504, "source": "contracts\\GZCToken.algo.ts:96", "pc": [ 441, 442 ] }, { "teal": 505, "source": "contracts\\GZCToken.algo.ts:96", "pc": [ 443 ] }, { "teal": 506, "source": "contracts\\GZCToken.algo.ts:93", "pc": [ 444 ] }, { "teal": 511, "source": "contracts\\GZCToken.algo.ts:99", "pc": [ 445 ] }, { "teal": 514, "source": "contracts\\GZCToken.algo.ts:99", "pc": [ 446, 447, 448 ] }, { "teal": 515, "source": "contracts\\GZCToken.algo.ts:99", "pc": [ 449 ] }, { "teal": 516, "source": "contracts\\GZCToken.algo.ts:99", "pc": [ 450 ] }, { "teal": 517, "source": "contracts\\GZCToken.algo.ts:99", "pc": [ 451 ] }, { "teal": 518, "source": "contracts\\GZCToken.algo.ts:99", "pc": [ 452 ] }, { "teal": 519, "source": "contracts\\GZCToken.algo.ts:99", "pc": [ 453 ] }, { "teal": 523, "source": "contracts\\GZCToken.algo.ts:99", "pc": [ 454, 455, 456 ] }, { "teal": 527, "source": "contracts\\GZCToken.algo.ts:100", "pc": [ 457 ] }, { "teal": 528, "source": "contracts\\GZCToken.algo.ts:100", "pc": [ 458 ] }, { "teal": 529, "source": "contracts\\GZCToken.algo.ts:99", "pc": [ 459 ] }, { "teal": 534, "source": "contracts\\GZCToken.algo.ts:103", "pc": [ 460 ] }, { "teal": 537, "source": "contracts\\GZCToken.algo.ts:103", "pc": [ 461, 462, 463 ] }, { "teal": 538, "source": "contracts\\GZCToken.algo.ts:103", "pc": [ 464 ] }, { "teal": 539, "source": "contracts\\GZCToken.algo.ts:103", "pc": [ 465 ] }, { "teal": 540, "source": "contracts\\GZCToken.algo.ts:103", "pc": [ 466 ] }, { "teal": 541, "source": "contracts\\GZCToken.algo.ts:103", "pc": [ 467 ] }, { "teal": 542, "source": "contracts\\GZCToken.algo.ts:103", "pc": [ 468 ] }, { "teal": 546, "source": "contracts\\GZCToken.algo.ts:103", "pc": [ 469, 470, 471 ] }, { "teal": 550, "source": "contracts\\GZCToken.algo.ts:104", "pc": [ 472, 473 ] }, { "teal": 551, "source": "contracts\\GZCToken.algo.ts:104", "pc": [ 474 ] }, { "teal": 552, "source": "contracts\\GZCToken.algo.ts:104", "pc": [ 475 ] }, { "teal": 553, "source": "contracts\\GZCToken.algo.ts:104", "pc": [ 476, 477 ] }, { "teal": 554, "source": "contracts\\GZCToken.algo.ts:104", "pc": [ 478 ] }, { "teal": 555, "source": "contracts\\GZCToken.algo.ts:103", "pc": [ 479 ] }, { "teal": 560, "source": "contracts\\GZCToken.algo.ts:107", "pc": [ 480 ] }, { "teal": 563, "source": "contracts\\GZCToken.algo.ts:107", "pc": [ 481, 482, 483 ] }, { "teal": 564, "source": "contracts\\GZCToken.algo.ts:107", "pc": [ 484 ] }, { "teal": 565, "source": "contracts\\GZCToken.algo.ts:107", "pc": [ 485 ] }, { "teal": 566, "source": "contracts\\GZCToken.algo.ts:107", "pc": [ 486 ] }, { "teal": 567, "source": "contracts\\GZCToken.algo.ts:107", "pc": [ 487 ] }, { "teal": 568, "source": "contracts\\GZCToken.algo.ts:107", "pc": [ 488 ] }, { "teal": 572, "source": "contracts\\GZCToken.algo.ts:107", "pc": [ 489, 490, 491 ] }, { "teal": 576, "source": "contracts\\GZCToken.algo.ts:108", "pc": [ 492, 493 ] }, { "teal": 577, "source": "contracts\\GZCToken.algo.ts:108", "pc": [ 494, 495 ] }, { "teal": 578, "source": "contracts\\GZCToken.algo.ts:108", "pc": [ 496 ] }, { "teal": 579, "source": "contracts\\GZCToken.algo.ts:107", "pc": [ 497 ] }, { "teal": 582, "source": "contracts\\GZCToken.algo.ts:3", "pc": [ 498, 499, 500, 501, 502, 503 ] }, { "teal": 583, "source": "contracts\\GZCToken.algo.ts:3", "pc": [ 504, 505, 506 ] }, { "teal": 584, "source": "contracts\\GZCToken.algo.ts:3", "pc": [ 507, 508, 509, 510 ] }, { "teal": 587, "source": "contracts\\GZCToken.algo.ts:3", "errorMessage": "this contract does not implement the given ABI method for create NoOp", "pc": [ 511 ] }, { "teal": 590, "source": "contracts\\GZCToken.algo.ts:3", "pc": [ 512, 513, 514, 515, 516, 517 ] }, { "teal": 591, "source": "contracts\\GZCToken.algo.ts:3", "pc": [ 518, 519, 520, 521, 522, 523 ] }, { "teal": 592, "source": "contracts\\GZCToken.algo.ts:3", "pc": [ 524, 525, 526, 527, 528, 529 ] }, { "teal": 593, "source": "contracts\\GZCToken.algo.ts:3", "pc": [ 530, 531, 532, 533, 534, 535 ] }, { "teal": 594, "source": "contracts\\GZCToken.algo.ts:3", "pc": [ 536, 537, 538, 539, 540, 541 ] }, { "teal": 595, "source": "contracts\\GZCToken.algo.ts:3", "pc": [ 542, 543, 544, 545, 546, 547 ] }, { "teal": 596, "source": "contracts\\GZCToken.algo.ts:3", "pc": [ 548, 549, 550, 551, 552, 553 ] }, { "teal": 597, "source": "contracts\\GZCToken.algo.ts:3", "pc": [ 554, 555, 556, 557, 558, 559 ] }, { "teal": 598, "source": "contracts\\GZCToken.algo.ts:3", "pc": [ 560, 561, 562 ] }, { "teal": 599, "source": "contracts\\GZCToken.algo.ts:3", "pc": [ 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580 ] }, { "teal": 602, "source": "contracts\\GZCToken.algo.ts:3", "errorMessage": "this contract does not implement the given ABI method for call NoOp", "pc": [ 581 ] } ], "pcOffsetMethod": "none" }, "clear": { "sourceInfo": [], "pcOffsetMethod": "none" } }, "source": { "approval": "I3ByYWdtYSB2ZXJzaW9uIDEwCmludGNibG9jayAxIDAgMV8wMDAgNCA2CmJ5dGVjYmxvY2sgMHg2MTczNjE0OTY0IDB4NmY3NzZlNjU3MiAweDE1MWY3Yzc1IDB4CgovLyBUaGlzIFRFQUwgd2FzIGdlbmVyYXRlZCBieSBURUFMU2NyaXB0IHYwLjEwNy4yCi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbGdvcmFuZGZvdW5kYXRpb24vVEVBTFNjcmlwdAoKLy8gVGhpcyBjb250cmFjdCBpcyBjb21wbGlhbnQgd2l0aCBhbmQvb3IgaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIEFSQ3M6IFsgQVJDNCBdCgovLyBUaGUgZm9sbG93aW5nIHRlbiBsaW5lcyBvZiBURUFMIGhhbmRsZSBpbml0aWFsIHByb2dyYW0gZmxvdwovLyBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0byBtYWtlIGl0IGVhc3kgZm9yIGFueW9uZSB0byBwYXJzZSB0aGUgc3RhcnQgb2YgdGhlIHByb2dyYW0gYW5kIGRldGVybWluZSBpZiBhIHNwZWNpZmljIGFjdGlvbiBpcyBhbGxvd2VkCi8vIEhlcmUsIGFjdGlvbiByZWZlcnMgdG8gdGhlIE9uQ29tcGxldGUgaW4gY29tYmluYXRpb24gd2l0aCB3aGV0aGVyIHRoZSBhcHAgaXMgYmVpbmcgY3JlYXRlZCBvciBjYWxsZWQKLy8gRXZlcnkgcG9zc2libGUgYWN0aW9uIGZvciB0aGlzIGNvbnRyYWN0IGlzIHJlcHJlc2VudGVkIGluIHRoZSBzd2l0Y2ggc3RhdGVtZW50Ci8vIElmIHRoZSBhY3Rpb24gaXMgbm90IGltcGxlbWVudGVkIGluIHRoZSBjb250cmFjdCwgaXRzIHJlc3BlY3RpdmUgYnJhbmNoIHdpbGwgYmUgIipOT1RfSU1QTEVNRU5URUQiIHdoaWNoIGp1c3QgY29udGFpbnMgImVyciIKdHhuIEFwcGxpY2F0aW9uSUQKIQppbnRjIDQgLy8gNgoqCnR4biBPbkNvbXBsZXRpb24KKwpzd2l0Y2ggKmNhbGxfTm9PcCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKmNyZWF0ZV9Ob09wICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRCAqTk9UX0lNUExFTUVOVEVEICpOT1RfSU1QTEVNRU5URUQgKk5PVF9JTVBMRU1FTlRFRAoKKk5PVF9JTVBMRU1FTlRFRDoKCS8vIFRoZSByZXF1ZXN0ZWQgYWN0aW9uIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiB0aGlzIGNvbnRyYWN0LiBBcmUgeW91IHVzaW5nIHRoZSBjb3JyZWN0IE9uQ29tcGxldGU/IERpZCB5b3Ugc2V0IHlvdXIgYXBwIElEPwoJZXJyCgovLyBjcmVhdGVBcHBsaWNhdGlvbigpdm9pZAoqYWJpX3JvdXRlX2NyZWF0ZUFwcGxpY2F0aW9uOgoJLy8gZXhlY3V0ZSBjcmVhdGVBcHBsaWNhdGlvbigpdm9pZAoJY2FsbHN1YiBjcmVhdGVBcHBsaWNhdGlvbgoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gY3JlYXRlQXBwbGljYXRpb24oKTogdm9pZApjcmVhdGVBcHBsaWNhdGlvbjoKCXByb3RvIDAgMAoKCS8vIGNvbnRyYWN0c1xHWkNUb2tlbi5hbGdvLnRzOjkKCS8vIHRoaXMub3duZXIudmFsdWUgPSB0aGlzLnR4bi5zZW5kZXIKCWJ5dGVjIDEgLy8gICJvd25lciIKCXR4biBTZW5kZXIKCWFwcF9nbG9iYWxfcHV0CglyZXRzdWIKCi8vIGJvb3RzdHJhcCgpdm9pZAoqYWJpX3JvdXRlX2Jvb3RzdHJhcDoKCS8vIGV4ZWN1dGUgYm9vdHN0cmFwKCl2b2lkCgljYWxsc3ViIGJvb3RzdHJhcAoJaW50YyAwIC8vIDEKCXJldHVybgoKLy8gYm9vdHN0cmFwKCk6IHZvaWQKYm9vdHN0cmFwOgoJcHJvdG8gMCAwCgoJLy8gUHVzaCBlbXB0eSBieXRlcyBhZnRlciB0aGUgZnJhbWUgcG9pbnRlciB0byByZXNlcnZlIHNwYWNlIGZvciBsb2NhbCB2YXJpYWJsZXMKCWJ5dGVjIDMgLy8gMHgKCgkvLyBjb250cmFjdHNcR1pDVG9rZW4uYWxnby50czoxNAoJLy8gYXNzZXJ0KHRoaXMudHhuLnNlbmRlciA9PT0gdGhpcy5vd25lci52YWx1ZSwgJ09ubHkgb3duZXIgY2FuIGJvb3RzdHJhcCcpCgl0eG4gU2VuZGVyCglieXRlYyAxIC8vICAib3duZXIiCglhcHBfZ2xvYmFsX2dldAoJPT0KCgkvLyBPbmx5IG93bmVyIGNhbiBib290c3RyYXAKCWFzc2VydAoKCS8vIGNvbnRyYWN0c1xHWkNUb2tlbi5hbGdvLnRzOjE1CgkvLyBhc3NlcnQoIXRoaXMuZ3pjQXNhSWQuZXhpc3RzLCAnQWxyZWFkeSBib290c3RyYXBwZWQnKQoJdHhuYSBBcHBsaWNhdGlvbnMgMAoJYnl0ZWMgMCAvLyAgImFzYUlkIgoJYXBwX2dsb2JhbF9nZXRfZXgKCXN3YXAKCXBvcAoJIQoKCS8vIEFscmVhZHkgYm9vdHN0cmFwcGVkCglhc3NlcnQKCgkvLyBjb250cmFjdHNcR1pDVG9rZW4uYWxnby50czoxNwoJLy8gY3JlYXRlZEFzc2V0ID0gc2VuZEFzc2V0Q3JlYXRpb24oewoJLy8gICAgICAgY29uZmlnQXNzZXRUb3RhbDogMV8wMDBfMDAwXzAwMF8wMDBfMDAwIGFzIHVpbnQ2NCwKCS8vICAgICAgIGNvbmZpZ0Fzc2V0RGVjaW1hbHM6IDYgYXMgdWludDY0LAoJLy8gICAgICAgY29uZmlnQXNzZXRVbml0TmFtZTogJ0daQycsCgkvLyAgICAgICBjb25maWdBc3NldE5hbWU6ICdHWkMgQ29pbicsCgkvLyAgICAgICBjb25maWdBc3NldFVSTDogJ2h0dHBzOi8vZ3pjLmV4cG9zZS5zb2Z0d2FyZScsCgkvLyAgICAgICBjb25maWdBc3NldE1hbmFnZXI6IHRoaXMuYXBwLmFkZHJlc3MsCgkvLyAgICAgICBjb25maWdBc3NldFJlc2VydmU6IHRoaXMuYXBwLmFkZHJlc3MsCgkvLyAgICAgICBjb25maWdBc3NldEZyZWV6ZTogdGhpcy5hcHAuYWRkcmVzcywKCS8vICAgICAgIGNvbmZpZ0Fzc2V0Q2xhd2JhY2s6IHRoaXMuYXBwLmFkZHJlc3MsCgkvLyAgICAgICBjb25maWdBc3NldERlZmF1bHRGcm96ZW46IDAgYXMgdWludDY0LAoJLy8gICAgICAgZmVlOiAwLCAvLyBXZSB3aWxsIHVzZSBGZWUgUG9vbGluZyBmcm9tIHRoZSBjYWxsZXIKCS8vICAgICB9KQoJaXR4bl9iZWdpbgoJcHVzaGludCAzIC8vIGFjZmcKCWl0eG5fZmllbGQgVHlwZUVudW0KCgkvLyBjb250cmFjdHNcR1pDVG9rZW4uYWxnby50czoxOAoJLy8gY29uZmlnQXNzZXRUb3RhbDogMV8wMDBfMDAwXzAwMF8wMDBfMDAwIGFzIHVpbnQ2NAoJcHVzaGludCAxXzAwMF8wMDBfMDAwXzAwMF8wMDAKCWl0eG5fZmllbGQgQ29uZmlnQXNzZXRUb3RhbAoKCS8vIGNvbnRyYWN0c1xHWkNUb2tlbi5hbGdvLnRzOjE5CgkvLyBjb25maWdBc3NldERlY2ltYWxzOiA2IGFzIHVpbnQ2NAoJaW50YyA0IC8vIDYKCWl0eG5fZmllbGQgQ29uZmlnQXNzZXREZWNpbWFscwoKCS8vIGNvbnRyYWN0c1xHWkNUb2tlbi5hbGdvLnRzOjIwCgkvLyBjb25maWdBc3NldFVuaXROYW1lOiAnR1pDJwoJcHVzaGJ5dGVzIDB4NDc1YTQzIC8vICJHWkMiCglpdHhuX2ZpZWxkIENvbmZpZ0Fzc2V0VW5pdE5hbWUKCgkvLyBjb250cmFjdHNcR1pDVG9rZW4uYWxnby50czoyMQoJLy8gY29uZmlnQXNzZXROYW1lOiAnR1pDIENvaW4nCglwdXNoYnl0ZXMgMHg0NzVhNDMyMDQzNmY2OTZlIC8vICJHWkMgQ29pbiIKCWl0eG5fZmllbGQgQ29uZmlnQXNzZXROYW1lCgoJLy8gY29udHJhY3RzXEdaQ1Rva2VuLmFsZ28udHM6MjIKCS8vIGNvbmZpZ0Fzc2V0VVJMOiAnaHR0cHM6Ly9nemMuZXhwb3NlLnNvZnR3YXJlJwoJcHVzaGJ5dGVzIDB4Njg3NDc0NzA3MzNhMmYyZjY3N2E2MzJlNjU3ODcwNmY3MzY1MmU3MzZmNjY3NDc3NjE3MjY1IC8vICJodHRwczovL2d6Yy5leHBvc2Uuc29mdHdhcmUiCglpdHhuX2ZpZWxkIENvbmZpZ0Fzc2V0VVJMCgoJLy8gY29udHJhY3RzXEdaQ1Rva2VuLmFsZ28udHM6MjMKCS8vIGNvbmZpZ0Fzc2V0TWFuYWdlcjogdGhpcy5hcHAuYWRkcmVzcwoJZ2xvYmFsIEN1cnJlbnRBcHBsaWNhdGlvbkFkZHJlc3MKCWl0eG5fZmllbGQgQ29uZmlnQXNzZXRNYW5hZ2VyCgoJLy8gY29udHJhY3RzXEdaQ1Rva2VuLmFsZ28udHM6MjQKCS8vIGNvbmZpZ0Fzc2V0UmVzZXJ2ZTogdGhpcy5hcHAuYWRkcmVzcwoJZ2xvYmFsIEN1cnJlbnRBcHBsaWNhdGlvbkFkZHJlc3MKCWl0eG5fZmllbGQgQ29uZmlnQXNzZXRSZXNlcnZlCgoJLy8gY29udHJhY3RzXEdaQ1Rva2VuLmFsZ28udHM6MjUKCS8vIGNvbmZpZ0Fzc2V0RnJlZXplOiB0aGlzLmFwcC5hZGRyZXNzCglnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwoJaXR4bl9maWVsZCBDb25maWdBc3NldEZyZWV6ZQoKCS8vIGNvbnRyYWN0c1xHWkNUb2tlbi5hbGdvLnRzOjI2CgkvLyBjb25maWdBc3NldENsYXdiYWNrOiB0aGlzLmFwcC5hZGRyZXNzCglnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwoJaXR4bl9maWVsZCBDb25maWdBc3NldENsYXdiYWNrCgoJLy8gY29udHJhY3RzXEdaQ1Rva2VuLmFsZ28udHM6MjcKCS8vIGNvbmZpZ0Fzc2V0RGVmYXVsdEZyb3plbjogMCBhcyB1aW50NjQKCWludGMgMSAvLyAwCglpdHhuX2ZpZWxkIENvbmZpZ0Fzc2V0RGVmYXVsdEZyb3plbgoKCS8vIGNvbnRyYWN0c1xHWkNUb2tlbi5hbGdvLnRzOjI4CgkvLyBmZWU6IDAKCWludGMgMSAvLyAwCglpdHhuX2ZpZWxkIEZlZQoKCS8vIFN1Ym1pdCBpbm5lciB0cmFuc2FjdGlvbgoJaXR4bl9zdWJtaXQKCWl0eG4gQ3JlYXRlZEFzc2V0SUQKCWZyYW1lX2J1cnkgMCAvLyBjcmVhdGVkQXNzZXQ6IHVpbnQ2NAoKCS8vIGNvbnRyYWN0c1xHWkNUb2tlbi5hbGdvLnRzOjMxCgkvLyB0aGlzLmd6Y0FzYUlkLnZhbHVlID0gY3JlYXRlZEFzc2V0CglieXRlYyAwIC8vICAiYXNhSWQiCglmcmFtZV9kaWcgMCAvLyBjcmVhdGVkQXNzZXQ6IHVpbnQ2NAoJYXBwX2dsb2JhbF9wdXQKCXJldHN1YgoKLy8gYnV5R1pDKHBheSl2b2lkCiphYmlfcm91dGVfYnV5R1pDOgoJLy8gcGF5bWVudDogcGF5Cgl0eG4gR3JvdXBJbmRleAoJaW50YyAwIC8vIDEKCS0KCWR1cAoJZ3R4bnMgVHlwZUVudW0KCWludGMgMCAvLyAgcGF5Cgk9PQoKCS8vIGFyZ3VtZW50IDAgKHBheW1lbnQpIGZvciBidXlHWkMgbXVzdCBiZSBhIHBheSB0cmFuc2FjdGlvbgoJYXNzZXJ0CgoJLy8gZXhlY3V0ZSBidXlHWkMocGF5KXZvaWQKCWNhbGxzdWIgYnV5R1pDCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBidXlHWkMocGF5bWVudDogUGF5VHhuKTogdm9pZApidXlHWkM6Cglwcm90byAxIDAKCgkvLyBQdXNoIGVtcHR5IGJ5dGVzIGFmdGVyIHRoZSBmcmFtZSBwb2ludGVyIHRvIHJlc2VydmUgc3BhY2UgZm9yIGxvY2FsIHZhcmlhYmxlcwoJYnl0ZWMgMyAvLyAweAoKCS8vIGNvbnRyYWN0c1xHWkNUb2tlbi5hbGdvLnRzOjM1CgkvLyB2ZXJpZnlQYXlUeG4ocGF5bWVudCwgewoJLy8gICAgICAgcmVjZWl2ZXI6IHRoaXMuYXBwLmFkZHJlc3MsCgkvLyAgICAgICBhbW91bnQ6IHsgZ3JlYXRlclRoYW46IDAgYXMgdWludDY0IH0sCgkvLyAgICAgfSkKCS8vIHZlcmlmeSByZWNlaXZlcgoJZnJhbWVfZGlnIC0xIC8vIHBheW1lbnQ6IFBheVR4bgoJZ3R4bnMgUmVjZWl2ZXIKCWdsb2JhbCBDdXJyZW50QXBwbGljYXRpb25BZGRyZXNzCgk9PQoKCS8vIHRyYW5zYWN0aW9uIHZlcmlmaWNhdGlvbiBmYWlsZWQ6IHsidHhuIjoicGF5bWVudCIsImZpZWxkIjoicmVjZWl2ZXIiLCJleHBlY3RlZCI6InRoaXMuYXBwLmFkZHJlc3MifQoJYXNzZXJ0CgoJLy8gdmVyaWZ5IGFtb3VudAoJZnJhbWVfZGlnIC0xIC8vIHBheW1lbnQ6IFBheVR4bgoJZ3R4bnMgQW1vdW50CglpbnRjIDEgLy8gMAoJPgoKCS8vIHRyYW5zYWN0aW9uIHZlcmlmaWNhdGlvbiBmYWlsZWQ6IHsidHhuIjoicGF5bWVudCIsImZpZWxkIjoiYW1vdW50IiwiY29uZGl0aW9uIjoiZ3JlYXRlclRoYW4iLCJleHBlY3RlZCI6Ij4wIGFzIHVpbnQ2NCJ9Cglhc3NlcnQKCgkvLyBjb250cmFjdHNcR1pDVG9rZW4uYWxnby50czo0MAoJLy8gZ3pjQW1vdW50ID0gcGF5bWVudC5hbW91bnQKCWZyYW1lX2RpZyAtMSAvLyBwYXltZW50OiBQYXlUeG4KCWd0eG5zIEFtb3VudAoJZnJhbWVfYnVyeSAwIC8vIGd6Y0Ftb3VudDogdWludDY0CgoJLy8gY29udHJhY3RzXEdaQ1Rva2VuLmFsZ28udHM6NDIKCS8vIGFzc2VydCgKCS8vICAgICAgIHRoaXMuYXBwLmFkZHJlc3MuYXNzZXRCYWxhbmNlKHRoaXMuZ3pjQXNhSWQudmFsdWUpID49IGd6Y0Ftb3VudCwKCS8vICAgICAgICdHWkM6IGluc3VmZmljaWVudCByZXNlcnZlJwoJLy8gICAgICkKCWdsb2JhbCBDdXJyZW50QXBwbGljYXRpb25BZGRyZXNzCglieXRlYyAwIC8vICAiYXNhSWQiCglhcHBfZ2xvYmFsX2dldAoJYXNzZXRfaG9sZGluZ19nZXQgQXNzZXRCYWxhbmNlCglwb3AKCWZyYW1lX2RpZyAwIC8vIGd6Y0Ftb3VudDogdWludDY0Cgk+PQoKCS8vIEdaQzogaW5zdWZmaWNpZW50IHJlc2VydmUKCWFzc2VydAoKCS8vIGNvbnRyYWN0c1xHWkNUb2tlbi5hbGdvLnRzOjQ4CgkvLyBzZW5kQXNzZXRUcmFuc2Zlcih7CgkvLyAgICAgICB4ZmVyQXNzZXQ6IHRoaXMuZ3pjQXNhSWQudmFsdWUsCgkvLyAgICAgICBhc3NldFJlY2VpdmVyOiB0aGlzLnR4bi5zZW5kZXIsCgkvLyAgICAgICBhc3NldEFtb3VudDogZ3pjQW1vdW50LAoJLy8gICAgICAgZmVlOiAxXzAwMCwKCS8vICAgICB9KQoJaXR4bl9iZWdpbgoJaW50YyAzIC8vICBheGZlcgoJaXR4bl9maWVsZCBUeXBlRW51bQoKCS8vIGNvbnRyYWN0c1xHWkNUb2tlbi5hbGdvLnRzOjQ5CgkvLyB4ZmVyQXNzZXQ6IHRoaXMuZ3pjQXNhSWQudmFsdWUKCWJ5dGVjIDAgLy8gICJhc2FJZCIKCWFwcF9nbG9iYWxfZ2V0CglpdHhuX2ZpZWxkIFhmZXJBc3NldAoKCS8vIGNvbnRyYWN0c1xHWkNUb2tlbi5hbGdvLnRzOjUwCgkvLyBhc3NldFJlY2VpdmVyOiB0aGlzLnR4bi5zZW5kZXIKCXR4biBTZW5kZXIKCWl0eG5fZmllbGQgQXNzZXRSZWNlaXZlcgoKCS8vIGNvbnRyYWN0c1xHWkNUb2tlbi5hbGdvLnRzOjUxCgkvLyBhc3NldEFtb3VudDogZ3pjQW1vdW50CglmcmFtZV9kaWcgMCAvLyBnemNBbW91bnQ6IHVpbnQ2NAoJaXR4bl9maWVsZCBBc3NldEFtb3VudAoKCS8vIGNvbnRyYWN0c1xHWkNUb2tlbi5hbGdvLnRzOjUyCgkvLyBmZWU6IDFfMDAwCglpbnRjIDIgLy8gMV8wMDAKCWl0eG5fZmllbGQgRmVlCgoJLy8gU3VibWl0IGlubmVyIHRyYW5zYWN0aW9uCglpdHhuX3N1Ym1pdAoJcmV0c3ViCgovLyBzZWxsR1pDKGF4ZmVyKXZvaWQKKmFiaV9yb3V0ZV9zZWxsR1pDOgoJLy8gZ3pjUGF5bWVudDogYXhmZXIKCXR4biBHcm91cEluZGV4CglpbnRjIDAgLy8gMQoJLQoJZHVwCglndHhucyBUeXBlRW51bQoJaW50YyAzIC8vICBheGZlcgoJPT0KCgkvLyBhcmd1bWVudCAwIChnemNQYXltZW50KSBmb3Igc2VsbEdaQyBtdXN0IGJlIGEgYXhmZXIgdHJhbnNhY3Rpb24KCWFzc2VydAoKCS8vIGV4ZWN1dGUgc2VsbEdaQyhheGZlcil2b2lkCgljYWxsc3ViIHNlbGxHWkMKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIHNlbGxHWkMoZ3pjUGF5bWVudDogQXNzZXRUcmFuc2ZlclR4bik6IHZvaWQKc2VsbEdaQzoKCXByb3RvIDEgMAoKCS8vIFB1c2ggZW1wdHkgYnl0ZXMgYWZ0ZXIgdGhlIGZyYW1lIHBvaW50ZXIgdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgbG9jYWwgdmFyaWFibGVzCglieXRlYyAzIC8vIDB4CgoJLy8gY29udHJhY3RzXEdaQ1Rva2VuLmFsZ28udHM6NTcKCS8vIHZlcmlmeUFzc2V0VHJhbnNmZXJUeG4oZ3pjUGF5bWVudCwgewoJLy8gICAgICAgeGZlckFzc2V0OiB0aGlzLmd6Y0FzYUlkLnZhbHVlLAoJLy8gICAgICAgYXNzZXRSZWNlaXZlcjogdGhpcy5hcHAuYWRkcmVzcywKCS8vICAgICAgIGFzc2V0QW1vdW50OiB7IGdyZWF0ZXJUaGFuOiAwIGFzIHVpbnQ2NCB9LAoJLy8gICAgIH0pCgkvLyB2ZXJpZnkgeGZlckFzc2V0CglmcmFtZV9kaWcgLTEgLy8gZ3pjUGF5bWVudDogQXNzZXRUcmFuc2ZlclR4bgoJZ3R4bnMgWGZlckFzc2V0CglieXRlYyAwIC8vICAiYXNhSWQiCglhcHBfZ2xvYmFsX2dldAoJPT0KCgkvLyB0cmFuc2FjdGlvbiB2ZXJpZmljYXRpb24gZmFpbGVkOiB7InR4biI6Imd6Y1BheW1lbnQiLCJmaWVsZCI6InhmZXJBc3NldCIsImV4cGVjdGVkIjoidGhpcy5nemNBc2FJZC52YWx1ZSJ9Cglhc3NlcnQKCgkvLyB2ZXJpZnkgYXNzZXRSZWNlaXZlcgoJZnJhbWVfZGlnIC0xIC8vIGd6Y1BheW1lbnQ6IEFzc2V0VHJhbnNmZXJUeG4KCWd0eG5zIEFzc2V0UmVjZWl2ZXIKCWdsb2JhbCBDdXJyZW50QXBwbGljYXRpb25BZGRyZXNzCgk9PQoKCS8vIHRyYW5zYWN0aW9uIHZlcmlmaWNhdGlvbiBmYWlsZWQ6IHsidHhuIjoiZ3pjUGF5bWVudCIsImZpZWxkIjoiYXNzZXRSZWNlaXZlciIsImV4cGVjdGVkIjoidGhpcy5hcHAuYWRkcmVzcyJ9Cglhc3NlcnQKCgkvLyB2ZXJpZnkgYXNzZXRBbW91bnQKCWZyYW1lX2RpZyAtMSAvLyBnemNQYXltZW50OiBBc3NldFRyYW5zZmVyVHhuCglndHhucyBBc3NldEFtb3VudAoJaW50YyAxIC8vIDAKCT4KCgkvLyB0cmFuc2FjdGlvbiB2ZXJpZmljYXRpb24gZmFpbGVkOiB7InR4biI6Imd6Y1BheW1lbnQiLCJmaWVsZCI6ImFzc2V0QW1vdW50IiwiY29uZGl0aW9uIjoiZ3JlYXRlclRoYW4iLCJleHBlY3RlZCI6Ij4wIGFzIHVpbnQ2NCJ9Cglhc3NlcnQKCgkvLyBjb250cmFjdHNcR1pDVG9rZW4uYWxnby50czo2MwoJLy8gYWxnb1JldHVybiA9IGd6Y1BheW1lbnQuYXNzZXRBbW91bnQKCWZyYW1lX2RpZyAtMSAvLyBnemNQYXltZW50OiBBc3NldFRyYW5zZmVyVHhuCglndHhucyBBc3NldEFtb3VudAoJZnJhbWVfYnVyeSAwIC8vIGFsZ29SZXR1cm46IHVpbnQ2NAoKCS8vIGNvbnRyYWN0c1xHWkNUb2tlbi5hbGdvLnRzOjY1CgkvLyBhc3NlcnQoCgkvLyAgICAgICB0aGlzLmFwcC5hZGRyZXNzLmJhbGFuY2UgPj0gYWxnb1JldHVybiArIHRoaXMuYXBwLmFkZHJlc3MubWluQmFsYW5jZSwKCS8vICAgICAgICdHWkM6IGluc3VmZmljaWVudCBBTEdPIHJlc2VydmUnCgkvLyAgICAgKQoJZ2xvYmFsIEN1cnJlbnRBcHBsaWNhdGlvbkFkZHJlc3MKCWFjY3RfcGFyYW1zX2dldCBBY2N0QmFsYW5jZQoJcG9wCglmcmFtZV9kaWcgMCAvLyBhbGdvUmV0dXJuOiB1aW50NjQKCWdsb2JhbCBDdXJyZW50QXBwbGljYXRpb25BZGRyZXNzCglhY2N0X3BhcmFtc19nZXQgQWNjdE1pbkJhbGFuY2UKCXBvcAoJKwoJPj0KCgkvLyBHWkM6IGluc3VmZmljaWVudCBBTEdPIHJlc2VydmUKCWFzc2VydAoKCS8vIGNvbnRyYWN0c1xHWkNUb2tlbi5hbGdvLnRzOjcxCgkvLyBzZW5kUGF5bWVudCh7CgkvLyAgICAgICByZWNlaXZlcjogdGhpcy50eG4uc2VuZGVyLAoJLy8gICAgICAgYW1vdW50OiBhbGdvUmV0dXJuLAoJLy8gICAgICAgZmVlOiAxXzAwMCwKCS8vICAgICB9KQoJaXR4bl9iZWdpbgoJaW50YyAwIC8vICBwYXkKCWl0eG5fZmllbGQgVHlwZUVudW0KCgkvLyBjb250cmFjdHNcR1pDVG9rZW4uYWxnby50czo3MgoJLy8gcmVjZWl2ZXI6IHRoaXMudHhuLnNlbmRlcgoJdHhuIFNlbmRlcgoJaXR4bl9maWVsZCBSZWNlaXZlcgoKCS8vIGNvbnRyYWN0c1xHWkNUb2tlbi5hbGdvLnRzOjczCgkvLyBhbW91bnQ6IGFsZ29SZXR1cm4KCWZyYW1lX2RpZyAwIC8vIGFsZ29SZXR1cm46IHVpbnQ2NAoJaXR4bl9maWVsZCBBbW91bnQKCgkvLyBjb250cmFjdHNcR1pDVG9rZW4uYWxnby50czo3NAoJLy8gZmVlOiAxXzAwMAoJaW50YyAyIC8vIDFfMDAwCglpdHhuX2ZpZWxkIEZlZQoKCS8vIFN1Ym1pdCBpbm5lciB0cmFuc2FjdGlvbgoJaXR4bl9zdWJtaXQKCXJldHN1YgoKLy8gd2l0aGRyYXdBbGdvKHVpbnQ2NCl2b2lkCiphYmlfcm91dGVfd2l0aGRyYXdBbGdvOgoJLy8gYW1vdW50OiB1aW50NjQKCXR4bmEgQXBwbGljYXRpb25BcmdzIDEKCWJ0b2kKCgkvLyBleGVjdXRlIHdpdGhkcmF3QWxnbyh1aW50NjQpdm9pZAoJY2FsbHN1YiB3aXRoZHJhd0FsZ28KCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIHdpdGhkcmF3QWxnbyhhbW91bnQ6IHVpbnQ2NCk6IHZvaWQKd2l0aGRyYXdBbGdvOgoJcHJvdG8gMSAwCgoJLy8gY29udHJhY3RzXEdaQ1Rva2VuLmFsZ28udHM6NzkKCS8vIGFzc2VydCh0aGlzLnR4bi5zZW5kZXIgPT09IHRoaXMub3duZXIudmFsdWUsICdHWkM6IG5vdCBvd25lcicpCgl0eG4gU2VuZGVyCglieXRlYyAxIC8vICAib3duZXIiCglhcHBfZ2xvYmFsX2dldAoJPT0KCgkvLyBHWkM6IG5vdCBvd25lcgoJYXNzZXJ0CgoJLy8gY29udHJhY3RzXEdaQ1Rva2VuLmFsZ28udHM6ODAKCS8vIGFzc2VydCgKCS8vICAgICAgIHRoaXMuYXBwLmFkZHJlc3MuYmFsYW5jZSA+PSBhbW91bnQgKyB0aGlzLmFwcC5hZGRyZXNzLm1pbkJhbGFuY2UgKyAxMDBfMDAwLAoJLy8gICAgICAgJ0daQzogd291bGQgZGVwbGV0ZSByZXNlcnZlJwoJLy8gICAgICkKCWdsb2JhbCBDdXJyZW50QXBwbGljYXRpb25BZGRyZXNzCglhY2N0X3BhcmFtc19nZXQgQWNjdEJhbGFuY2UKCXBvcAoJZnJhbWVfZGlnIC0xIC8vIGFtb3VudDogdWludDY0CglnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwoJYWNjdF9wYXJhbXNfZ2V0IEFjY3RNaW5CYWxhbmNlCglwb3AKCSsKCXB1c2hpbnQgMTAwXzAwMAoJKwoJPj0KCgkvLyBHWkM6IHdvdWxkIGRlcGxldGUgcmVzZXJ2ZQoJYXNzZXJ0CgoJLy8gY29udHJhY3RzXEdaQ1Rva2VuLmFsZ28udHM6ODYKCS8vIHNlbmRQYXltZW50KHsKCS8vICAgICAgIHJlY2VpdmVyOiB0aGlzLm93bmVyLnZhbHVlLAoJLy8gICAgICAgYW1vdW50OiBhbW91bnQsCgkvLyAgICAgICBmZWU6IDFfMDAwLAoJLy8gICAgIH0pCglpdHhuX2JlZ2luCglpbnRjIDAgLy8gIHBheQoJaXR4bl9maWVsZCBUeXBlRW51bQoKCS8vIGNvbnRyYWN0c1xHWkNUb2tlbi5hbGdvLnRzOjg3CgkvLyByZWNlaXZlcjogdGhpcy5vd25lci52YWx1ZQoJYnl0ZWMgMSAvLyAgIm93bmVyIgoJYXBwX2dsb2JhbF9nZXQKCWl0eG5fZmllbGQgUmVjZWl2ZXIKCgkvLyBjb250cmFjdHNcR1pDVG9rZW4uYWxnby50czo4OAoJLy8gYW1vdW50OiBhbW91bnQKCWZyYW1lX2RpZyAtMSAvLyBhbW91bnQ6IHVpbnQ2NAoJaXR4bl9maWVsZCBBbW91bnQKCgkvLyBjb250cmFjdHNcR1pDVG9rZW4uYWxnby50czo4OQoJLy8gZmVlOiAxXzAwMAoJaW50YyAyIC8vIDFfMDAwCglpdHhuX2ZpZWxkIEZlZQoKCS8vIFN1Ym1pdCBpbm5lciB0cmFuc2FjdGlvbgoJaXR4bl9zdWJtaXQKCXJldHN1YgoKLy8gdHJhbnNmZXJPd25lcnNoaXAoYWRkcmVzcyl2b2lkCiphYmlfcm91dGVfdHJhbnNmZXJPd25lcnNoaXA6CgkvLyBuZXdPd25lcjogYWRkcmVzcwoJdHhuYSBBcHBsaWNhdGlvbkFyZ3MgMQoJZHVwCglsZW4KCXB1c2hpbnQgMzIKCT09CgoJLy8gYXJndW1lbnQgMCAobmV3T3duZXIpIGZvciB0cmFuc2Zlck93bmVyc2hpcCBtdXN0IGJlIGEgYWRkcmVzcwoJYXNzZXJ0CgoJLy8gZXhlY3V0ZSB0cmFuc2Zlck93bmVyc2hpcChhZGRyZXNzKXZvaWQKCWNhbGxzdWIgdHJhbnNmZXJPd25lcnNoaXAKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIHRyYW5zZmVyT3duZXJzaGlwKG5ld093bmVyOiBBZGRyZXNzKTogdm9pZAp0cmFuc2Zlck93bmVyc2hpcDoKCXByb3RvIDEgMAoKCS8vIGNvbnRyYWN0c1xHWkNUb2tlbi5hbGdvLnRzOjk0CgkvLyBhc3NlcnQodGhpcy50eG4uc2VuZGVyID09PSB0aGlzLm93bmVyLnZhbHVlLCAnR1pDOiBub3Qgb3duZXInKQoJdHhuIFNlbmRlcgoJYnl0ZWMgMSAvLyAgIm93bmVyIgoJYXBwX2dsb2JhbF9nZXQKCT09CgoJLy8gR1pDOiBub3Qgb3duZXIKCWFzc2VydAoKCS8vIGNvbnRyYWN0c1xHWkNUb2tlbi5hbGdvLnRzOjk1CgkvLyBhc3NlcnQobmV3T3duZXIgIT09IGdsb2JhbHMuemVyb0FkZHJlc3MsICdHWkM6IHplcm8gYWRkcmVzcycpCglmcmFtZV9kaWcgLTEgLy8gbmV3T3duZXI6IEFkZHJlc3MKCWdsb2JhbCBaZXJvQWRkcmVzcwoJIT0KCgkvLyBHWkM6IHplcm8gYWRkcmVzcwoJYXNzZXJ0CgoJLy8gY29udHJhY3RzXEdaQ1Rva2VuLmFsZ28udHM6OTYKCS8vIHRoaXMub3duZXIudmFsdWUgPSBuZXdPd25lcgoJYnl0ZWMgMSAvLyAgIm93bmVyIgoJZnJhbWVfZGlnIC0xIC8vIG5ld093bmVyOiBBZGRyZXNzCglhcHBfZ2xvYmFsX3B1dAoJcmV0c3ViCgovLyBnZXRBc2FJZCgpdWludDY0CiphYmlfcm91dGVfZ2V0QXNhSWQ6CgkvLyBUaGUgQUJJIHJldHVybiBwcmVmaXgKCWJ5dGVjIDIgLy8gMHgxNTFmN2M3NQoKCS8vIGV4ZWN1dGUgZ2V0QXNhSWQoKXVpbnQ2NAoJY2FsbHN1YiBnZXRBc2FJZAoJaXRvYgoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGdldEFzYUlkKCk6IEFzc2V0SUQKZ2V0QXNhSWQ6Cglwcm90byAwIDEKCgkvLyBjb250cmFjdHNcR1pDVG9rZW4uYWxnby50czoxMDAKCS8vIHJldHVybiB0aGlzLmd6Y0FzYUlkLnZhbHVlOwoJYnl0ZWMgMCAvLyAgImFzYUlkIgoJYXBwX2dsb2JhbF9nZXQKCXJldHN1YgoKLy8gZ2V0R1pDUmVzZXJ2ZSgpdWludDY0CiphYmlfcm91dGVfZ2V0R1pDUmVzZXJ2ZToKCS8vIFRoZSBBQkkgcmV0dXJuIHByZWZpeAoJYnl0ZWMgMiAvLyAweDE1MWY3Yzc1CgoJLy8gZXhlY3V0ZSBnZXRHWkNSZXNlcnZlKCl1aW50NjQKCWNhbGxzdWIgZ2V0R1pDUmVzZXJ2ZQoJaXRvYgoJY29uY2F0Cglsb2cKCWludGMgMCAvLyAxCglyZXR1cm4KCi8vIGdldEdaQ1Jlc2VydmUoKTogdWludDY0CmdldEdaQ1Jlc2VydmU6Cglwcm90byAwIDEKCgkvLyBjb250cmFjdHNcR1pDVG9rZW4uYWxnby50czoxMDQKCS8vIHJldHVybiB0aGlzLmFwcC5hZGRyZXNzLmFzc2V0QmFsYW5jZSh0aGlzLmd6Y0FzYUlkLnZhbHVlKTsKCWdsb2JhbCBDdXJyZW50QXBwbGljYXRpb25BZGRyZXNzCglieXRlYyAwIC8vICAiYXNhSWQiCglhcHBfZ2xvYmFsX2dldAoJYXNzZXRfaG9sZGluZ19nZXQgQXNzZXRCYWxhbmNlCglwb3AKCXJldHN1YgoKLy8gZ2V0QWxnb1Jlc2VydmUoKXVpbnQ2NAoqYWJpX3JvdXRlX2dldEFsZ29SZXNlcnZlOgoJLy8gVGhlIEFCSSByZXR1cm4gcHJlZml4CglieXRlYyAyIC8vIDB4MTUxZjdjNzUKCgkvLyBleGVjdXRlIGdldEFsZ29SZXNlcnZlKCl1aW50NjQKCWNhbGxzdWIgZ2V0QWxnb1Jlc2VydmUKCWl0b2IKCWNvbmNhdAoJbG9nCglpbnRjIDAgLy8gMQoJcmV0dXJuCgovLyBnZXRBbGdvUmVzZXJ2ZSgpOiB1aW50NjQKZ2V0QWxnb1Jlc2VydmU6Cglwcm90byAwIDEKCgkvLyBjb250cmFjdHNcR1pDVG9rZW4uYWxnby50czoxMDgKCS8vIHJldHVybiB0aGlzLmFwcC5hZGRyZXNzLmJhbGFuY2U7CglnbG9iYWwgQ3VycmVudEFwcGxpY2F0aW9uQWRkcmVzcwoJYWNjdF9wYXJhbXNfZ2V0IEFjY3RCYWxhbmNlCglwb3AKCXJldHN1YgoKKmNyZWF0ZV9Ob09wOgoJcHVzaGJ5dGVzIDB4Yjg0NDdiMzYgLy8gbWV0aG9kICJjcmVhdGVBcHBsaWNhdGlvbigpdm9pZCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfY3JlYXRlQXBwbGljYXRpb24KCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY3JlYXRlIE5vT3AKCWVycgoKKmNhbGxfTm9PcDoKCXB1c2hieXRlcyAweGJlYzc2ZDg3IC8vIG1ldGhvZCAiYm9vdHN0cmFwKCl2b2lkIgoJcHVzaGJ5dGVzIDB4MTM2Yzk4ZTUgLy8gbWV0aG9kICJidXlHWkMocGF5KXZvaWQiCglwdXNoYnl0ZXMgMHg3NTMzNGRlZCAvLyBtZXRob2QgInNlbGxHWkMoYXhmZXIpdm9pZCIKCXB1c2hieXRlcyAweDY4MmQ3NTdiIC8vIG1ldGhvZCAid2l0aGRyYXdBbGdvKHVpbnQ2NCl2b2lkIgoJcHVzaGJ5dGVzIDB4ZTE3YmFmYjQgLy8gbWV0aG9kICJ0cmFuc2Zlck93bmVyc2hpcChhZGRyZXNzKXZvaWQiCglwdXNoYnl0ZXMgMHg0ZThhYTlhMyAvLyBtZXRob2QgImdldEFzYUlkKCl1aW50NjQiCglwdXNoYnl0ZXMgMHgyMzMzMmQ0MyAvLyBtZXRob2QgImdldEdaQ1Jlc2VydmUoKXVpbnQ2NCIKCXB1c2hieXRlcyAweDBiMjk5ODNkIC8vIG1ldGhvZCAiZ2V0QWxnb1Jlc2VydmUoKXVpbnQ2NCIKCXR4bmEgQXBwbGljYXRpb25BcmdzIDAKCW1hdGNoICphYmlfcm91dGVfYm9vdHN0cmFwICphYmlfcm91dGVfYnV5R1pDICphYmlfcm91dGVfc2VsbEdaQyAqYWJpX3JvdXRlX3dpdGhkcmF3QWxnbyAqYWJpX3JvdXRlX3RyYW5zZmVyT3duZXJzaGlwICphYmlfcm91dGVfZ2V0QXNhSWQgKmFiaV9yb3V0ZV9nZXRHWkNSZXNlcnZlICphYmlfcm91dGVfZ2V0QWxnb1Jlc2VydmUKCgkvLyB0aGlzIGNvbnRyYWN0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgZ2l2ZW4gQUJJIG1ldGhvZCBmb3IgY2FsbCBOb09wCgllcnI=", "clear": "I3ByYWdtYSB2ZXJzaW9uIDEw" }, "byteCode": { "approval": "CiAFAQDoBwQGJgQFYXNhSWQFb3duZXIEFR98dQAxGBQhBAsxGQiNDAHAAAAAAAAAAAAAAAGyAAAAAAAAAAAAAACIAAIiQ4oAACkxAGeJiAACIkOKAAArMQApZBJENjIAKGVMSBREsYEDshCBgICapuqv4wGyIiEEsiOAA0daQ7IlgAhHWkMgQ29pbrImgBtodHRwczovL2d6Yy5leHBvc2Uuc29mdHdhcmWyJzIKsikyCrIqMgqyKzIKsiwjsiQjsgGztDyMACiLAGeJMRYiCUk4ECISRIgAAiJDigEAK4v/OAcyChJEi/84CCMNRIv/OAiMADIKKGRwAEiLAA9EsSWyEChkshExALIUiwCyEiSyAbOJMRYiCUk4ECUSRIgAAiJDigEAK4v/OBEoZBJEi/84FDIKEkSL/zgSIw1Ei/84EowAMgpzAEiLADIKcwFICA9EsSKyEDEAsgeLALIIJLIBs4k2GgEXiAACIkOKAQAxAClkEkQyCnMASIv/MgpzAUgIgaCNBggPRLEishApZLIHi/+yCCSyAbOJNhoBSRWBIBJEiAACIkOKAQAxAClkEkSL/zIDE0Qpi/9niSqIAAUWULAiQ4oAAShkiSqIAAUWULAiQ4oAATIKKGRwAEiJKogABRZQsCJDigABMgpzAEiJgAS4RHs2NhoAjgH+QgCABL7HbYeABBNsmOWABHUzTe2ABGgtdXuABOF7r7SABE6KqaOABCMzLUOABAspmD02GgCOCP4J/of+z/8f/1b/eP+H/5sA", "clear": "Cg==" }, "compilerInfo": { "compiler": "algod", "compilerVersion": { "major": 4, "minor": 4, "patch": 1, "commitHash": "7b607ce4+" } } }