tx · F8UdRijRU1q9Gt1QCkqSdvMEZT5hBxNPjEg58bZm8GsT

3N8G95pEaYEhZ4U3m3UrzpEzwBFn5vvXsZH:  -0.05000000 Waves

2022.07.02 20:52 [2122355] smart account 3N8G95pEaYEhZ4U3m3UrzpEzwBFn5vvXsZH > SELF 0.00000000 Waves

{ "type": 13, "id": "F8UdRijRU1q9Gt1QCkqSdvMEZT5hBxNPjEg58bZm8GsT", "fee": 5000000, "feeAssetId": null, "timestamp": 1656784381268, "version": 2, "chainId": 84, "sender": "3N8G95pEaYEhZ4U3m3UrzpEzwBFn5vvXsZH", "senderPublicKey": "Hj6oyH6As5UWo8fZ1K4hPsEY7nxH3MvhBqDD6axiwjXs", "proofs": [ "2YyiTB4BG8wFBd8Bz5CpXskeBt9mU6MrEV5cva8dgadC7g2xUnqAzrc6Q9vgRxHfrqvew7iUS7KPZSd3YQMpmxKh" ], "script": "base64:AAIFAAAAAAAAAEoIAhIAEgASCQoHAQEBAQEBARIOCgwBAQEBAQEBCAgIAQESBgoEAQEBARIFCgMBAQESABIDCgEBEgASAwoBCBIAEgMKAQgSAwoBCAAAAG4AAAAACWtfb3JhX2tleQIAAAAJa19vcmFfa2V5AAAAAAVrX29yYQIAAAAFa19vcmEAAAAACWtfYmFsYW5jZQIAAAAJa19iYWxhbmNlAAAAAA5rX3Bvc2l0aW9uU2l6ZQIAAAAOa19wb3NpdGlvblNpemUAAAAAEGtfcG9zaXRpb25NYXJnaW4CAAAAEGtfcG9zaXRpb25NYXJnaW4AAAAAFmtfcG9zaXRpb25PcGVuTm90aW9uYWwCAAAAFmtfcG9zaXRpb25PcGVuTm90aW9uYWwAAAAALmtfcG9zaXRpb25MYXN0VXBkYXRlZEN1bXVsYXRpdmVQcmVtaXVtRnJhY3Rpb24CAAAAEmtfcG9zaXRpb25GcmFjdGlvbgAAAAANa19pbml0aWFsaXplZAIAAAANa19pbml0aWFsaXplZAAAAAAIa19wYXVzZWQCAAAACGtfcGF1c2VkAAAAAAVrX2ZlZQIAAAAFa19mZWUAAAAAD2tfZnVuZGluZ1BlcmlvZAIAAAAPa19mdW5kaW5nUGVyaW9kAAAAABFrX2luaXRNYXJnaW5SYXRpbwIAAAARa19pbml0TWFyZ2luUmF0aW8AAAAAGGtfbWFpbnRlbmFuY2VNYXJnaW5SYXRpbwIAAAAFa19tbXIAAAAAFWtfbGlxdWlkYXRpb25GZWVSYXRpbwIAAAAVa19saXF1aWRhdGlvbkZlZVJhdGlvAAAAAA1rX3NwcmVhZExpbWl0AgAAAA1rX3NwcmVhZExpbWl0AAAAABBrX21heFByaWNlSW1wYWN0AgAAABBrX21heFByaWNlSW1wYWN0AAAAAA1rX2xhc3REYXRhU3RyAgAAAA1rX2xhc3REYXRhU3RyAAAAAA5rX2xhc3RNaW51dGVJZAIAAAAOa19sYXN0TWludXRlSWQAAAAAHWtfdHdhcERhdGFMYXN0Q3VtdWxhdGl2ZVByaWNlAgAAAB1rX3R3YXBEYXRhTGFzdEN1bXVsYXRpdmVQcmljZQAAAAATa190d2FwRGF0YUxhc3RQcmljZQIAAAATa190d2FwRGF0YUxhc3RQcmljZQAAAAAla19sYXRlc3RMb25nQ3VtdWxhdGl2ZVByZW1pdW1GcmFjdGlvbgIAAAAba19sYXRlc3RMb25nUHJlbWl1bUZyYWN0aW9uAAAAACZrX2xhdGVzdFNob3J0Q3VtdWxhdGl2ZVByZW1pdW1GcmFjdGlvbgIAAAAca19sYXRlc3RTaG9ydFByZW1pdW1GcmFjdGlvbgAAAAASa19uZXh0RnVuZGluZ0Jsb2NrAgAAAB5rX25leHRGdW5kaW5nQmxvY2tNaW5UaW1lc3RhbXAAAAAAEWtfbG9uZ0Z1bmRpbmdSYXRlAgAAABFrX2xvbmdGdW5kaW5nUmF0ZQAAAAASa19zaG9ydEZ1bmRpbmdSYXRlAgAAABJrX3Nob3J0RnVuZGluZ1JhdGUAAAAAE2tfcXVvdGVBc3NldFJlc2VydmUCAAAACGtfcXRBc3RSAAAAABJrX2Jhc2VBc3NldFJlc2VydmUCAAAACGtfYnNBc3RSAAAAABNrX3RvdGFsUG9zaXRpb25TaXplAgAAABNrX3RvdGFsUG9zaXRpb25TaXplAAAAABdrX3RvdGFsTG9uZ1Bvc2l0aW9uU2l6ZQIAAAAXa190b3RhbExvbmdQb3NpdGlvblNpemUAAAAAGGtfdG90YWxTaG9ydFBvc2l0aW9uU2l6ZQIAAAAYa190b3RhbFNob3J0UG9zaXRpb25TaXplAAAAABRrX2N1bXVsYXRpdmVOb3Rpb25hbAIAAAAUa19jdW11bGF0aXZlTm90aW9uYWwAAAAAFmtfb3BlbkludGVyZXN0Tm90aW9uYWwCAAAAFmtfb3BlbkludGVyZXN0Tm90aW9uYWwAAAAAFGtfY29vcmRpbmF0b3JBZGRyZXNzAgAAABRrX2Nvb3JkaW5hdG9yQWRkcmVzcwAAAAATa19pbnN1cmFuY2VfYWRkcmVzcwIAAAATa19pbnN1cmFuY2VfYWRkcmVzcwAAAAAPa19hZG1pbl9hZGRyZXNzAgAAAA9rX2FkbWluX2FkZHJlc3MAAAAAEmtfYWRtaW5fcHVibGljX2tleQIAAAASa19hZG1pbl9wdWJsaWNfa2V5AAAAAA1rX3F1b3RlX2Fzc2V0AgAAAA1rX3F1b3RlX2Fzc2V0AAAAAA9rX3F1b3RlX3N0YWtpbmcCAAAAD2tfcXVvdGVfc3Rha2luZwAAAAARa19zdGFraW5nX2FkZHJlc3MCAAAAEWtfc3Rha2luZ19hZGRyZXNzAQAAAAtjb29yZGluYXRvcgAAAAAJAQAAABN2YWx1ZU9yRXJyb3JNZXNzYWdlAAAAAgkABCYAAAABCQEAAAARQGV4dHJOYXRpdmUoMTA1MykAAAACBQAAAAR0aGlzBQAAABRrX2Nvb3JkaW5hdG9yQWRkcmVzcwIAAAATQ29vcmRpbmF0b3Igbm90IHNldAEAAAAMYWRtaW5BZGRyZXNzAAAAAAkABCYAAAABCQEAAAARQGV4dHJOYXRpdmUoMTA1MykAAAACCQEAAAALY29vcmRpbmF0b3IAAAAABQAAAA9rX2FkbWluX2FkZHJlc3MBAAAADmFkbWluUHVibGljS2V5AAAAAAkAAlkAAAABCQEAAAARQGV4dHJOYXRpdmUoMTA1MykAAAACCQEAAAALY29vcmRpbmF0b3IAAAAABQAAABJrX2FkbWluX3B1YmxpY19rZXkBAAAACnF1b3RlQXNzZXQAAAAACQACWQAAAAEJAQAAABFAZXh0ck5hdGl2ZSgxMDUzKQAAAAIJAQAAAAtjb29yZGluYXRvcgAAAAAFAAAADWtfcXVvdGVfYXNzZXQBAAAAEXF1b3RlQXNzZXRTdGFraW5nAAAAAAkBAAAAE3ZhbHVlT3JFcnJvck1lc3NhZ2UAAAACCQAEJgAAAAEJAQAAABFAZXh0ck5hdGl2ZSgxMDUzKQAAAAIJAQAAAAtjb29yZGluYXRvcgAAAAAFAAAAD2tfcXVvdGVfc3Rha2luZwIAAAAbUXVvdGUgYXNzZXQgc3Rha2luZyBub3Qgc2V0AQAAAA5zdGFraW5nQWRkcmVzcwAAAAAJAQAAABN2YWx1ZU9yRXJyb3JNZXNzYWdlAAAAAgkABCYAAAABCQEAAAARQGV4dHJOYXRpdmUoMTA1MykAAAACCQEAAAALY29vcmRpbmF0b3IAAAAABQAAABFrX3N0YWtpbmdfYWRkcmVzcwIAAAARSW5zdXJhbmNlIG5vdCBzZXQBAAAAEGluc3VyYW5jZUFkZHJlc3MAAAAACQEAAAATdmFsdWVPckVycm9yTWVzc2FnZQAAAAIJAAQmAAAAAQkBAAAAEUBleHRyTmF0aXZlKDEwNTMpAAAAAgkBAAAAC2Nvb3JkaW5hdG9yAAAAAAUAAAATa19pbnN1cmFuY2VfYWRkcmVzcwIAAAARSW5zdXJhbmNlIG5vdCBzZXQAAAAACERJUl9MT05HAAAAAAAAAAABAAAAAAlESVJfU0hPUlQAAAAAAAAAAAIAAAAAFkZVTkRJTkdfQkxPQ0tfSU5URVJWQUwAAAAAAAAAADwAAAAADVRXQVBfSU5URVJWQUwAAAAAAAAAAA8AAAAAB1NFQ09ORFMAAAAAAAAAA+gAAAAADERFQ0lNQUxfVU5JVAkAAGgAAAACAAAAAAAAAAABCQAAaAAAAAIJAABoAAAAAgkAAGgAAAACCQAAaAAAAAIJAABoAAAAAgAAAAAAAAAACgAAAAAAAAAACgAAAAAAAAAACgAAAAAAAAAACgAAAAAAAAAACgAAAAAAAAAACgAAAAAPSFVORFJFRF9QRVJDRU5UCQAAaAAAAAIAAAAAAAAAAGQFAAAADERFQ0lNQUxfVU5JVAAAAAAHT05FX0RBWQkAAGgAAAACAAAAAAAAAVGABQAAAAxERUNJTUFMX1VOSVQAAAAACEFMTF9GRUVTAAAAAAAAAABkAAAAAA9QTkxfT1BUSU9OX1NQT1QAAAAAAAAAAAEAAAAAEVBOTF9PUFRJT05fT1JBQ0xFAAAAAAAAAAACAQAAAAFzAAAAAQAAAAJfeAkAASwAAAACCQABpAAAAAEFAAAAAl94AgAAAAEsAQAAAARkaXZkAAAAAgAAAAJfeAAAAAJfeQkBAAAACGZyYWN0aW9uAAAABAUAAAACX3gFAAAADERFQ0lNQUxfVU5JVAUAAAACX3kFAAAACEhBTEZFVkVOAQAAAARtdWxkAAAAAgAAAAJfeAAAAAJfeQkBAAAACGZyYWN0aW9uAAAABAUAAAACX3gFAAAAAl95BQAAAAxERUNJTUFMX1VOSVQFAAAACEhBTEZFVkVOAQAAAANhYnMAAAABAAAAAl94AwkAAGYAAAACBQAAAAJfeAAAAAAAAAAAAAUAAAACX3gJAQAAAAEtAAAAAQUAAAACX3gBAAAADnRvQ29tcG9zaXRlS2V5AAAAAgAAAARfa2V5AAAACF9hZGRyZXNzCQABLAAAAAIJAAEsAAAAAgUAAAAEX2tleQIAAAABXwUAAAAIX2FkZHJlc3MBAAAAA2ludAAAAAEAAAABawkBAAAAE3ZhbHVlT3JFcnJvck1lc3NhZ2UAAAACCQAEGgAAAAIFAAAABHRoaXMFAAAAAWsJAAEsAAAAAgIAAAANbm8gdmFsdWUgZm9yIAUAAAABawEAAAAIY2JhbGFuY2UAAAAACQEAAAADaW50AAAAAQUAAAAJa19iYWxhbmNlAQAAAANmZWUAAAAACQEAAAADaW50AAAAAQUAAAAFa19mZWUBAAAAD2luaXRNYXJnaW5SYXRpbwAAAAAJAQAAAANpbnQAAAABBQAAABFrX2luaXRNYXJnaW5SYXRpbwEAAAAGcXRBc3RSAAAAAAkBAAAAA2ludAAAAAEFAAAAE2tfcXVvdGVBc3NldFJlc2VydmUBAAAABmJzQXN0UgAAAAAJAQAAAANpbnQAAAABBQAAABJrX2Jhc2VBc3NldFJlc2VydmUBAAAAEXRvdGFsUG9zaXRpb25TaXplAAAAAAkBAAAAA2ludAAAAAEFAAAAE2tfdG90YWxQb3NpdGlvblNpemUBAAAAEmN1bXVsYXRpdmVOb3Rpb25hbAAAAAAJAQAAAANpbnQAAAABBQAAABRrX2N1bXVsYXRpdmVOb3Rpb25hbAEAAAAUb3BlbkludGVyZXN0Tm90aW9uYWwAAAAACQEAAAADaW50AAAAAQUAAAAWa19vcGVuSW50ZXJlc3ROb3Rpb25hbAEAAAAZbmV4dEZ1bmRpbmdCbG9ja1RpbWVzdGFtcAAAAAAJAQAAAANpbnQAAAABBQAAABJrX25leHRGdW5kaW5nQmxvY2sBAAAAEGZ1bmRpbmdQZXJpb2RSYXcAAAAACQEAAAADaW50AAAAAQUAAAAPa19mdW5kaW5nUGVyaW9kAQAAABRmdW5kaW5nUGVyaW9kRGVjaW1hbAAAAAAJAABoAAAAAgkBAAAAEGZ1bmRpbmdQZXJpb2RSYXcAAAAABQAAAAxERUNJTUFMX1VOSVQBAAAAFGZ1bmRpbmdQZXJpb2RTZWNvbmRzAAAAAAkAAGgAAAACCQEAAAAQZnVuZGluZ1BlcmlvZFJhdwAAAAAFAAAAB1NFQ09ORFMBAAAAFm1haW50ZW5hbmNlTWFyZ2luUmF0aW8AAAAACQEAAAADaW50AAAAAQUAAAAYa19tYWludGVuYW5jZU1hcmdpblJhdGlvAQAAABNsaXF1aWRhdGlvbkZlZVJhdGlvAAAAAAkBAAAAA2ludAAAAAEFAAAAFWtfbGlxdWlkYXRpb25GZWVSYXRpbwEAAAALc3ByZWFkTGltaXQAAAAACQEAAAADaW50AAAAAQUAAAANa19zcHJlYWRMaW1pdAEAAAAObWF4UHJpY2VJbXBhY3QAAAAACQEAAAADaW50AAAAAQUAAAAQa19tYXhQcmljZUltcGFjdAEAAAAjbGF0ZXN0TG9uZ0N1bXVsYXRpdmVQcmVtaXVtRnJhY3Rpb24AAAAACQEAAAADaW50AAAAAQUAAAAla19sYXRlc3RMb25nQ3VtdWxhdGl2ZVByZW1pdW1GcmFjdGlvbgEAAAAkbGF0ZXN0U2hvcnRDdW11bGF0aXZlUHJlbWl1bUZyYWN0aW9uAAAAAAkBAAAAA2ludAAAAAEFAAAAJmtfbGF0ZXN0U2hvcnRDdW11bGF0aXZlUHJlbWl1bUZyYWN0aW9uAQAAABZ0b3RhbFNob3J0UG9zaXRpb25TaXplAAAAAAkBAAAAA2ludAAAAAEFAAAAGGtfdG90YWxTaG9ydFBvc2l0aW9uU2l6ZQEAAAAVdG90YWxMb25nUG9zaXRpb25TaXplAAAAAAkBAAAAA2ludAAAAAEFAAAAF2tfdG90YWxMb25nUG9zaXRpb25TaXplAQAAABZyZXF1aXJlTW9yZU1hcmdpblJhdGlvAAAAAwAAAAxfbWFyZ2luUmF0aW8AAAAQX2Jhc2VNYXJnaW5SYXRpbwAAABRfbGFyZ2VyVGhhbk9yRXF1YWxUbwQAAAAUcmVtYWluaW5nTWFyZ2luUmF0aW8JAABlAAAAAgUAAAAMX21hcmdpblJhdGlvBQAAABBfYmFzZU1hcmdpblJhdGlvAwMFAAAAFF9sYXJnZXJUaGFuT3JFcXVhbFRvCQAAZgAAAAIAAAAAAAAAAAAFAAAAFHJlbWFpbmluZ01hcmdpblJhdGlvBwkAAAIAAAABAgAAAA5JbnZhbGlkIG1hcmdpbgMDCQEAAAABIQAAAAEFAAAAFF9sYXJnZXJUaGFuT3JFcXVhbFRvCQAAZwAAAAIFAAAAFHJlbWFpbmluZ01hcmdpblJhdGlvAAAAAAAAAAAABwkAAAIAAAABAgAAAA5JbnZhbGlkIG1hcmdpbgYBAAAAH2xhdGVzdEN1bXVsYXRpdmVQcmVtaXVtRnJhY3Rpb24AAAABAAAADV9wb3NpdGlvblNpemUDCQAAAAAAAAIFAAAADV9wb3NpdGlvblNpemUAAAAAAAAAAAAJAAACAAAAAQIAAAAsU2hvdWxkIG5vdCBiZSBjYWxsZWQgd2l0aCBfcG9zaXRpb25TaXplID09IDADCQAAZgAAAAIFAAAADV9wb3NpdGlvblNpemUAAAAAAAAAAAAJAQAAACNsYXRlc3RMb25nQ3VtdWxhdGl2ZVByZW1pdW1GcmFjdGlvbgAAAAAJAQAAACRsYXRlc3RTaG9ydEN1bXVsYXRpdmVQcmVtaXVtRnJhY3Rpb24AAAAAAQAAAAtnZXRQb3NpdGlvbgAAAAEAAAAHX3RyYWRlcgQAAAAPcG9zaXRpb25TaXplT3B0CQAEGgAAAAIFAAAABHRoaXMJAQAAAA50b0NvbXBvc2l0ZUtleQAAAAIFAAAADmtfcG9zaXRpb25TaXplBQAAAAdfdHJhZGVyBAAAAAckbWF0Y2gwBQAAAA9wb3NpdGlvblNpemVPcHQDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAA0ludAQAAAAMcG9zaXRpb25TaXplBQAAAAckbWF0Y2gwCQAFFgAAAAQFAAAADHBvc2l0aW9uU2l6ZQkBAAAAEUBleHRyTmF0aXZlKDEwNTApAAAAAgUAAAAEdGhpcwkBAAAADnRvQ29tcG9zaXRlS2V5AAAAAgUAAAAQa19wb3NpdGlvbk1hcmdpbgUAAAAHX3RyYWRlcgkBAAAAEUBleHRyTmF0aXZlKDEwNTApAAAAAgUAAAAEdGhpcwkBAAAADnRvQ29tcG9zaXRlS2V5AAAAAgUAAAAWa19wb3NpdGlvbk9wZW5Ob3Rpb25hbAUAAAAHX3RyYWRlcgkBAAAAEUBleHRyTmF0aXZlKDEwNTApAAAAAgUAAAAEdGhpcwkBAAAADnRvQ29tcG9zaXRlS2V5AAAAAgUAAAAua19wb3NpdGlvbkxhc3RVcGRhdGVkQ3VtdWxhdGl2ZVByZW1pdW1GcmFjdGlvbgUAAAAHX3RyYWRlcgkABRYAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAABNyZXF1aXJlT3BlblBvc2l0aW9uAAAAAQAAAAdfdHJhZGVyAwkAAAAAAAACCAkBAAAAC2dldFBvc2l0aW9uAAAAAQUAAAAHX3RyYWRlcgAAAAJfMQAAAAAAAAAAAAkAAAIAAAABAgAAABBObyBvcGVuIHBvc2l0aW9uBgEAAAALaW5pdGlhbGl6ZWQAAAAACQEAAAALdmFsdWVPckVsc2UAAAACCQAEGwAAAAIFAAAABHRoaXMFAAAADWtfaW5pdGlhbGl6ZWQHAQAAAAZwYXVzZWQAAAAACQEAAAALdmFsdWVPckVsc2UAAAACCQAEGwAAAAIFAAAABHRoaXMFAAAACGtfcGF1c2VkBwEAAAANdXBkYXRlUmVzZXJ2ZQAAAAMAAAAGX2lzQWRkAAAAEV9xdW90ZUFzc2V0QW1vdW50AAAAEF9iYXNlQXNzZXRBbW91bnQDBQAAAAZfaXNBZGQEAAAAB25ld0Jhc2UJAABlAAAAAgkBAAAABmJzQXN0UgAAAAAFAAAAEF9iYXNlQXNzZXRBbW91bnQDCQAAZwAAAAIAAAAAAAAAAAAFAAAAB25ld0Jhc2UJAAACAAAAAQIAAAAqVHggbGVhZCB0byBiYXNlIGFzc2V0IHJlc2VydmUgPD0gMCwgcmV2ZXJ0CQAFFgAAAAQJAABkAAAAAgkBAAAABnF0QXN0UgAAAAAFAAAAEV9xdW90ZUFzc2V0QW1vdW50BQAAAAduZXdCYXNlCQAAZAAAAAIJAQAAABF0b3RhbFBvc2l0aW9uU2l6ZQAAAAAFAAAAEF9iYXNlQXNzZXRBbW91bnQJAABkAAAAAgkBAAAAEmN1bXVsYXRpdmVOb3Rpb25hbAAAAAAFAAAAEV9xdW90ZUFzc2V0QW1vdW50BAAAAAhuZXdRdW90ZQkAAGUAAAACCQEAAAAGcXRBc3RSAAAAAAUAAAARX3F1b3RlQXNzZXRBbW91bnQDCQAAZwAAAAIAAAAAAAAAAAAFAAAACG5ld1F1b3RlCQAAAgAAAAECAAAAKlR4IGxlYWQgdG8gYmFzZSBxdW90ZSByZXNlcnZlIDw9IDAsIHJldmVydAkABRYAAAAEBQAAAAhuZXdRdW90ZQkAAGQAAAACCQEAAAAGYnNBc3RSAAAAAAUAAAAQX2Jhc2VBc3NldEFtb3VudAkAAGUAAAACCQEAAAARdG90YWxQb3NpdGlvblNpemUAAAAABQAAABBfYmFzZUFzc2V0QW1vdW50CQAAZQAAAAIJAQAAABJjdW11bGF0aXZlTm90aW9uYWwAAAAABQAAABFfcXVvdGVBc3NldEFtb3VudAEAAAAJc3dhcElucHV0AAAAAgAAAAZfaXNBZGQAAAARX3F1b3RlQXNzZXRBbW91bnQEAAAAB19xdEFzdFIJAQAAAAZxdEFzdFIAAAAABAAAAAdfYnNBc3RSCQEAAAAGYnNBc3RSAAAAAAQAAAALcHJpY2VCZWZvcmUJAQAAAARkaXZkAAAAAgUAAAAHX3F0QXN0UgUAAAAHX2JzQXN0UgQAAAAnYW1vdW50QmFzZUFzc2V0Qm91Z2h0V2l0aG91dFByaWNlSW1wYWN0CQEAAAAEbXVsZAAAAAIFAAAAEV9xdW90ZUFzc2V0QW1vdW50BQAAAAtwcmljZUJlZm9yZQQAAAABawkBAAAABG11bGQAAAACBQAAAAdfcXRBc3RSBQAAAAdfYnNBc3RSBAAAABZxdW90ZUFzc2V0UmVzZXJ2ZUFmdGVyAwUAAAAGX2lzQWRkCQAAZAAAAAIFAAAAB19xdEFzdFIFAAAAEV9xdW90ZUFzc2V0QW1vdW50CQAAZQAAAAIFAAAAB19xdEFzdFIFAAAAEV9xdW90ZUFzc2V0QW1vdW50BAAAABViYXNlQXNzZXRSZXNlcnZlQWZ0ZXIJAQAAAARkaXZkAAAAAgUAAAABawUAAAAWcXVvdGVBc3NldFJlc2VydmVBZnRlcgQAAAAYYW1vdW50QmFzZUFzc2V0Qm91Z2h0QWJzCQEAAAADYWJzAAAAAQkAAGUAAAACBQAAABViYXNlQXNzZXRSZXNlcnZlQWZ0ZXIFAAAAB19ic0FzdFIEAAAAFWFtb3VudEJhc2VBc3NldEJvdWdodAMFAAAABl9pc0FkZAUAAAAYYW1vdW50QmFzZUFzc2V0Qm91Z2h0QWJzCQEAAAABLQAAAAEFAAAAGGFtb3VudEJhc2VBc3NldEJvdWdodEFicwQAAAALcHJpY2VJbXBhY3QJAABpAAAAAgkAAGUAAAACBQAAACdhbW91bnRCYXNlQXNzZXRCb3VnaHRXaXRob3V0UHJpY2VJbXBhY3QFAAAAGGFtb3VudEJhc2VBc3NldEJvdWdodEFicwUAAAAnYW1vdW50QmFzZUFzc2V0Qm91Z2h0V2l0aG91dFByaWNlSW1wYWN0BAAAABNtYXhQcmljZUltcGFjdFZhbHVlCQEAAAAObWF4UHJpY2VJbXBhY3QAAAAAAwkAAGYAAAACBQAAAAtwcmljZUltcGFjdAUAAAATbWF4UHJpY2VJbXBhY3RWYWx1ZQkAAAIAAAABCQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAAA1QcmljZSBpbXBhY3QgCQABpAAAAAEFAAAAC3ByaWNlSW1wYWN0AgAAABQgPiBtYXggcHJpY2UgaW1wYWN0IAkAAaQAAAABBQAAABNtYXhQcmljZUltcGFjdFZhbHVlBAAAAA0kdDAxMTMyODExNTMxCQEAAAANdXBkYXRlUmVzZXJ2ZQAAAAMFAAAABl9pc0FkZAUAAAARX3F1b3RlQXNzZXRBbW91bnQFAAAAGGFtb3VudEJhc2VBc3NldEJvdWdodEFicwQAAAAXcXVvdGVBc3NldFJlc2VydmVBZnRlcjEIBQAAAA0kdDAxMTMyODExNTMxAAAAAl8xBAAAABZiYXNlQXNzZXRSZXNlcnZlQWZ0ZXIxCAUAAAANJHQwMTEzMjgxMTUzMQAAAAJfMgQAAAAXdG90YWxQb3NpdGlvblNpemVBZnRlcjEIBQAAAA0kdDAxMTMyODExNTMxAAAAAl8zBAAAABhjdW11bGF0aXZlTm90aW9uYWxBZnRlcjEIBQAAAA0kdDAxMTMyODExNTMxAAAAAl80CQAFFwAAAAUFAAAAFWFtb3VudEJhc2VBc3NldEJvdWdodAUAAAAXcXVvdGVBc3NldFJlc2VydmVBZnRlcjEFAAAAFmJhc2VBc3NldFJlc2VydmVBZnRlcjEFAAAAF3RvdGFsUG9zaXRpb25TaXplQWZ0ZXIxBQAAABhjdW11bGF0aXZlTm90aW9uYWxBZnRlcjEBAAAAImNhbGNSZW1haW5NYXJnaW5XaXRoRnVuZGluZ1BheW1lbnQAAAAEAAAAEF9vbGRQb3NpdGlvblNpemUAAAASX29sZFBvc2l0aW9uTWFyZ2luAAAAJV9vbGRQb3NpdGlvbkN1bXVsYXRpdmVQcmVtaXVtRnJhY3Rpb24AAAAMX21hcmdpbkRlbHRhBAAAAA5mdW5kaW5nUGF5bWVudAMJAQAAAAIhPQAAAAIFAAAAEF9vbGRQb3NpdGlvblNpemUAAAAAAAAAAAAEAAAAIF9sYXRlc3RDdW11bGF0aXZlUHJlbWl1bUZyYWN0aW9uCQEAAAAfbGF0ZXN0Q3VtdWxhdGl2ZVByZW1pdW1GcmFjdGlvbgAAAAEFAAAAEF9vbGRQb3NpdGlvblNpemUJAQAAAARtdWxkAAAAAgkAAGUAAAACBQAAACBfbGF0ZXN0Q3VtdWxhdGl2ZVByZW1pdW1GcmFjdGlvbgUAAAAlX29sZFBvc2l0aW9uQ3VtdWxhdGl2ZVByZW1pdW1GcmFjdGlvbgUAAAAQX29sZFBvc2l0aW9uU2l6ZQAAAAAAAAAAAAQAAAAMc2lnbmVkTWFyZ2luCQAAZAAAAAIJAABlAAAAAgUAAAAMX21hcmdpbkRlbHRhBQAAAA5mdW5kaW5nUGF5bWVudAUAAAASX29sZFBvc2l0aW9uTWFyZ2luBAAAAA0kdDAxMjI3ODEyNDA1AwkAAGYAAAACAAAAAAAAAAAABQAAAAxzaWduZWRNYXJnaW4JAAUUAAAAAgAAAAAAAAAAAAkBAAAAA2FicwAAAAEFAAAADHNpZ25lZE1hcmdpbgkABRQAAAACCQEAAAADYWJzAAAAAQUAAAAMc2lnbmVkTWFyZ2luAAAAAAAAAAAABAAAAAxyZW1haW5NYXJnaW4IBQAAAA0kdDAxMjI3ODEyNDA1AAAAAl8xBAAAAAdiYWREZWJ0CAUAAAANJHQwMTIyNzgxMjQwNQAAAAJfMgkABRUAAAADBQAAAAxyZW1haW5NYXJnaW4FAAAAB2JhZERlYnQFAAAADmZ1bmRpbmdQYXltZW50AQAAAApzd2FwT3V0cHV0AAAAAgAAAAZfaXNBZGQAAAAQX2Jhc2VBc3NldEFtb3VudAQAAAASX3F1b3RlQXNzZXRSZXNlcnZlCQEAAAAGcXRBc3RSAAAAAAQAAAARX2Jhc2VBc3NldFJlc2VydmUJAQAAAAZic0FzdFIAAAAAAwkAAAAAAAACBQAAABBfYmFzZUFzc2V0QW1vdW50AAAAAAAAAAAACQAAAgAAAAECAAAAGUludmFsaWQgYmFzZSBhc3NldCBhbW91bnQEAAAAAWsJAQAAAARtdWxkAAAAAgUAAAASX3F1b3RlQXNzZXRSZXNlcnZlBQAAABFfYmFzZUFzc2V0UmVzZXJ2ZQQAAAAYYmFzZUFzc2V0UG9vbEFtb3VudEFmdGVyAwUAAAAGX2lzQWRkCQAAZAAAAAIFAAAAEV9iYXNlQXNzZXRSZXNlcnZlBQAAABBfYmFzZUFzc2V0QW1vdW50CQAAZQAAAAIFAAAAEV9iYXNlQXNzZXRSZXNlcnZlBQAAABBfYmFzZUFzc2V0QW1vdW50BAAAAA9xdW90ZUFzc2V0QWZ0ZXIJAQAAAARkaXZkAAAAAgUAAAABawUAAAAYYmFzZUFzc2V0UG9vbEFtb3VudEFmdGVyBAAAAA5xdW90ZUFzc2V0U29sZAkBAAAAA2FicwAAAAEJAABlAAAAAgUAAAAPcXVvdGVBc3NldEFmdGVyBQAAABJfcXVvdGVBc3NldFJlc2VydmUEAAAADSR0MDEzMjQzMTM0MzYJAQAAAA11cGRhdGVSZXNlcnZlAAAAAwkBAAAAASEAAAABBQAAAAZfaXNBZGQFAAAADnF1b3RlQXNzZXRTb2xkBQAAABBfYmFzZUFzc2V0QW1vdW50BAAAABdxdW90ZUFzc2V0UmVzZXJ2ZUFmdGVyMQgFAAAADSR0MDEzMjQzMTM0MzYAAAACXzEEAAAAFmJhc2VBc3NldFJlc2VydmVBZnRlcjEIBQAAAA0kdDAxMzI0MzEzNDM2AAAAAl8yBAAAABd0b3RhbFBvc2l0aW9uU2l6ZUFmdGVyMQgFAAAADSR0MDEzMjQzMTM0MzYAAAACXzMEAAAAGGN1bXVsYXRpdmVOb3Rpb25hbEFmdGVyMQgFAAAADSR0MDEzMjQzMTM0MzYAAAACXzQJAAUZAAAABwUAAAAOcXVvdGVBc3NldFNvbGQFAAAAF3F1b3RlQXNzZXRSZXNlcnZlQWZ0ZXIxBQAAABZiYXNlQXNzZXRSZXNlcnZlQWZ0ZXIxBQAAABd0b3RhbFBvc2l0aW9uU2l6ZUFmdGVyMQUAAAAYY3VtdWxhdGl2ZU5vdGlvbmFsQWZ0ZXIxCQAAZQAAAAIJAQAAABV0b3RhbExvbmdQb3NpdGlvblNpemUAAAAAAwUAAAAGX2lzQWRkCQEAAAADYWJzAAAAAQUAAAAQX2Jhc2VBc3NldEFtb3VudAAAAAAAAAAAAAkAAGUAAAACCQEAAAAWdG90YWxTaG9ydFBvc2l0aW9uU2l6ZQAAAAADCQEAAAABIQAAAAEFAAAABl9pc0FkZAkBAAAAA2FicwAAAAEFAAAAEF9iYXNlQXNzZXRBbW91bnQAAAAAAAAAAAABAAAAEmdldE9yYWNsZVR3YXBQcmljZQAAAAAEAAAABm9yYWNsZQkBAAAAE3ZhbHVlT3JFcnJvck1lc3NhZ2UAAAACCQAEJgAAAAEJAQAAABFAZXh0ck5hdGl2ZSgxMDUzKQAAAAIFAAAABHRoaXMFAAAABWtfb3JhAgAAAAAEAAAACHByaWNlS2V5CQEAAAARQGV4dHJOYXRpdmUoMTA1MykAAAACBQAAAAR0aGlzBQAAAAlrX29yYV9rZXkJAQAAABFAZXh0ck5hdGl2ZSgxMDUwKQAAAAIFAAAABm9yYWNsZQUAAAAIcHJpY2VLZXkBAAAADGdldFNwb3RQcmljZQAAAAAEAAAAEl9xdW90ZUFzc2V0UmVzZXJ2ZQkBAAAABnF0QXN0UgAAAAAEAAAAEV9iYXNlQXNzZXRSZXNlcnZlCQEAAAAGYnNBc3RSAAAAAAkBAAAABGRpdmQAAAACBQAAABJfcXVvdGVBc3NldFJlc2VydmUFAAAAEV9iYXNlQXNzZXRSZXNlcnZlAQAAABZpc092ZXJGbHVjdHVhdGlvbkxpbWl0AAAAAAQAAAALb3JhY2xlUHJpY2UJAQAAABJnZXRPcmFjbGVUd2FwUHJpY2UAAAAABAAAAAxjdXJyZW50UHJpY2UJAQAAAAxnZXRTcG90UHJpY2UAAAAACQAAZgAAAAIJAQAAAARkaXZkAAAAAgkBAAAAA2FicwAAAAEJAABlAAAAAgUAAAALb3JhY2xlUHJpY2UFAAAADGN1cnJlbnRQcmljZQUAAAALb3JhY2xlUHJpY2UJAQAAAAtzcHJlYWRMaW1pdAAAAAABAAAAI2dldFBvc2l0aW9uTm90aW9uYWxBbmRVbnJlYWxpemVkUG5sAAAAAgAAAAdfdHJhZGVyAAAAB19vcHRpb24EAAAADSR0MDE0NzEwMTQ4MzgJAQAAAAtnZXRQb3NpdGlvbgAAAAEFAAAAB190cmFkZXIEAAAADHBvc2l0aW9uU2l6ZQgFAAAADSR0MDE0NzEwMTQ4MzgAAAACXzEEAAAADnBvc2l0aW9uTWFyZ2luCAUAAAANJHQwMTQ3MTAxNDgzOAAAAAJfMgQAAAAUcG9zaXRpb25PcGVuTm90aW9uYWwIBQAAAA0kdDAxNDcxMDE0ODM4AAAAAl8zBAAAABFwb3NpdGlvbkxzdFVwZENQRggFAAAADSR0MDE0NzEwMTQ4MzgAAAACXzQEAAAAD3Bvc2l0aW9uU2l6ZUFicwkBAAAAA2FicwAAAAEFAAAADHBvc2l0aW9uU2l6ZQMJAAAAAAAAAgUAAAAPcG9zaXRpb25TaXplQWJzAAAAAAAAAAAACQAAAgAAAAECAAAAFUludmFsaWQgcG9zaXRpb24gc2l6ZQQAAAAHaXNTaG9ydAkAAGYAAAACAAAAAAAAAAAABQAAAAxwb3NpdGlvblNpemUEAAAAEHBvc2l0aW9uTm90aW9uYWwDCQAAAAAAAAIFAAAAB19vcHRpb24FAAAAD1BOTF9PUFRJT05fU1BPVAQAAAANJHQwMTUwODUxNTE5MgkBAAAACnN3YXBPdXRwdXQAAAACCQEAAAABIQAAAAEFAAAAB2lzU2hvcnQFAAAAD3Bvc2l0aW9uU2l6ZUFicwQAAAATb3V0UG9zaXRpb25Ob3Rpb25hbAgFAAAADSR0MDE1MDg1MTUxOTIAAAACXzEEAAAAAngxCAUAAAANJHQwMTUwODUxNTE5MgAAAAJfMgQAAAACeDIIBQAAAA0kdDAxNTA4NTE1MTkyAAAAAl8zBAAAAAJ4MwgFAAAADSR0MDE1MDg1MTUxOTIAAAACXzQFAAAAE291dFBvc2l0aW9uTm90aW9uYWwJAABoAAAAAgUAAAAPcG9zaXRpb25TaXplQWJzCQEAAAASZ2V0T3JhY2xlVHdhcFByaWNlAAAAAAQAAAANdW5yZWFsaXplZFBubAMFAAAAB2lzU2hvcnQJAABlAAAAAgUAAAAUcG9zaXRpb25PcGVuTm90aW9uYWwFAAAAEHBvc2l0aW9uTm90aW9uYWwJAABlAAAAAgUAAAAQcG9zaXRpb25Ob3Rpb25hbAUAAAAUcG9zaXRpb25PcGVuTm90aW9uYWwJAAUUAAAAAgUAAAAQcG9zaXRpb25Ob3Rpb25hbAUAAAANdW5yZWFsaXplZFBubAEAAAAWZ2V0TWFyZ2luUmF0aW9CeU9wdGlvbgAAAAIAAAAHX3RyYWRlcgAAAAdfb3B0aW9uBAAAAA0kdDAxNTY4NzE1Nzk4CQEAAAALZ2V0UG9zaXRpb24AAAABBQAAAAdfdHJhZGVyBAAAAAxwb3NpdGlvblNpemUIBQAAAA0kdDAxNTY4NzE1Nzk4AAAAAl8xBAAAAA5wb3NpdGlvbk1hcmdpbggFAAAADSR0MDE1Njg3MTU3OTgAAAACXzIEAAAAA3BvbggFAAAADSR0MDE1Njg3MTU3OTgAAAACXzMEAAAAEXBvc2l0aW9uTHN0VXBkQ1BGCAUAAAANJHQwMTU2ODcxNTc5OAAAAAJfNAQAAAANJHQwMTU4MDQxNTg5NwkBAAAAI2dldFBvc2l0aW9uTm90aW9uYWxBbmRVbnJlYWxpemVkUG5sAAAAAgUAAAAHX3RyYWRlcgUAAAAHX29wdGlvbgQAAAAQcG9zaXRpb25Ob3Rpb25hbAgFAAAADSR0MDE1ODA0MTU4OTcAAAACXzEEAAAADXVucmVhbGl6ZWRQbmwIBQAAAA0kdDAxNTgwNDE1ODk3AAAAAl8yBAAAAA0kdDAxNTkwMjE2MDY4CQEAAAAiY2FsY1JlbWFpbk1hcmdpbldpdGhGdW5kaW5nUGF5bWVudAAAAAQFAAAADHBvc2l0aW9uU2l6ZQUAAAAOcG9zaXRpb25NYXJnaW4FAAAAEXBvc2l0aW9uTHN0VXBkQ1BGBQAAAA11bnJlYWxpemVkUG5sBAAAAAxyZW1haW5NYXJnaW4IBQAAAA0kdDAxNTkwMjE2MDY4AAAAAl8xBAAAAAdiYWREZWJ0CAUAAAANJHQwMTU5MDIxNjA2OAAAAAJfMgkBAAAABGRpdmQAAAACCQAAZQAAAAIFAAAADHJlbWFpbk1hcmdpbgUAAAAHYmFkRGVidAUAAAAQcG9zaXRpb25Ob3Rpb25hbAEAAAAOZ2V0TWFyZ2luUmF0aW8AAAABAAAAB190cmFkZXIJAQAAABZnZXRNYXJnaW5SYXRpb0J5T3B0aW9uAAAAAgUAAAAHX3RyYWRlcgUAAAAPUE5MX09QVElPTl9TUE9UAQAAABVpbnRlcm5hbENsb3NlUG9zaXRpb24AAAABAAAAB190cmFkZXIEAAAADSR0MDE2Mzc0MTY0ODUJAQAAAAtnZXRQb3NpdGlvbgAAAAEFAAAAB190cmFkZXIEAAAADHBvc2l0aW9uU2l6ZQgFAAAADSR0MDE2Mzc0MTY0ODUAAAACXzEEAAAADnBvc2l0aW9uTWFyZ2luCAUAAAANJHQwMTYzNzQxNjQ4NQAAAAJfMgQAAAADcG9uCAUAAAANJHQwMTYzNzQxNjQ4NQAAAAJfMwQAAAARcG9zaXRpb25Mc3RVcGRDUEYIBQAAAA0kdDAxNjM3NDE2NDg1AAAAAl80BAAAAA0kdDAxNjQ5MTE2NTc4CQEAAAAjZ2V0UG9zaXRpb25Ob3Rpb25hbEFuZFVucmVhbGl6ZWRQbmwAAAACBQAAAAdfdHJhZGVyBQAAAA9QTkxfT1BUSU9OX1NQT1QEAAAAAngxCAUAAAANJHQwMTY0OTExNjU3OAAAAAJfMQQAAAANdW5yZWFsaXplZFBubAgFAAAADSR0MDE2NDkxMTY1NzgAAAACXzIEAAAADSR0MDE2NTgzMTY3NTEJAQAAACJjYWxjUmVtYWluTWFyZ2luV2l0aEZ1bmRpbmdQYXltZW50AAAABAUAAAAMcG9zaXRpb25TaXplBQAAAA5wb3NpdGlvbk1hcmdpbgUAAAARcG9zaXRpb25Mc3RVcGRDUEYFAAAADXVucmVhbGl6ZWRQbmwEAAAADHJlbWFpbk1hcmdpbggFAAAADSR0MDE2NTgzMTY3NTEAAAACXzEEAAAAB2JhZERlYnQIBQAAAA0kdDAxNjU4MzE2NzUxAAAAAl8yBAAAABVleGNoYW5nZWRQb3NpdGlvblNpemUJAQAAAAEtAAAAAQUAAAAMcG9zaXRpb25TaXplBAAAAAtyZWFsaXplZFBubAUAAAANdW5yZWFsaXplZFBubAQAAAANbWFyZ2luVG9WYXVsdAkBAAAAAS0AAAABBQAAAAxyZW1haW5NYXJnaW4EAAAADSR0MDE2ODc4MTcxNTkJAQAAAApzd2FwT3V0cHV0AAAAAgkAAGYAAAACBQAAAAxwb3NpdGlvblNpemUAAAAAAAAAAAAJAQAAAANhYnMAAAABBQAAAAxwb3NpdGlvblNpemUEAAAAGWV4Y2hhbmdlZFF1b3RlQXNzZXRBbW91bnQIBQAAAA0kdDAxNjg3ODE3MTU5AAAAAl8xBAAAABZxdW90ZUFzc2V0UmVzZXJ2ZUFmdGVyCAUAAAANJHQwMTY4NzgxNzE1OQAAAAJfMgQAAAAVYmFzZUFzc2V0UmVzZXJ2ZUFmdGVyCAUAAAANJHQwMTY4NzgxNzE1OQAAAAJfMwQAAAAWdG90YWxQb3NpdGlvblNpemVBZnRlcggFAAAADSR0MDE2ODc4MTcxNTkAAAACXzQEAAAAF2N1bXVsYXRpdmVOb3Rpb25hbEFmdGVyCAUAAAANJHQwMTY4NzgxNzE1OQAAAAJfNQQAAAAOdG90YWxMb25nQWZ0ZXIIBQAAAA0kdDAxNjg3ODE3MTU5AAAAAl82BAAAAA90b3RhbFNob3J0QWZ0ZXIIBQAAAA0kdDAxNjg3ODE3MTU5AAAAAl83BAAAABlvcGVuSW50ZXJlc3ROb3Rpb25hbEFmdGVyCQAAZQAAAAIJAQAAABRvcGVuSW50ZXJlc3ROb3Rpb25hbAAAAAAFAAAAA3BvbgkABR4AAAAMBQAAABVleGNoYW5nZWRQb3NpdGlvblNpemUFAAAAB2JhZERlYnQFAAAAC3JlYWxpemVkUG5sBQAAAA1tYXJnaW5Ub1ZhdWx0BQAAABZxdW90ZUFzc2V0UmVzZXJ2ZUFmdGVyBQAAABViYXNlQXNzZXRSZXNlcnZlQWZ0ZXIFAAAAFnRvdGFsUG9zaXRpb25TaXplQWZ0ZXIFAAAAF2N1bXVsYXRpdmVOb3Rpb25hbEFmdGVyBQAAABlvcGVuSW50ZXJlc3ROb3Rpb25hbEFmdGVyBQAAABlleGNoYW5nZWRRdW90ZUFzc2V0QW1vdW50BQAAAA50b3RhbExvbmdBZnRlcgUAAAAPdG90YWxTaG9ydEFmdGVyAQAAABBnZXRUd2FwU3BvdFByaWNlAAAAAAQAAAAIbWludXRlSWQJAABpAAAAAgkAAGkAAAACCAUAAAAJbGFzdEJsb2NrAAAACXRpbWVzdGFtcAAAAAAAAAAD6AAAAAAAAAAAPAQAAAANc3RhcnRNaW51dGVJZAkAAGUAAAACBQAAAAhtaW51dGVJZAUAAAANVFdBUF9JTlRFUlZBTAQAAAAHbGlzdFN0cgkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABB0AAAACBQAAAAR0aGlzBQAAAA1rX2xhc3REYXRhU3RyAgAAAAAEAAAABGxpc3QJAAS1AAAAAgUAAAAHbGlzdFN0cgIAAAABLAoBAAAACGZpbHRlckZuAAAAAgAAAAthY2N1bXVsYXRvcgAAAARuZXh0AwkAAGcAAAACBQAAAA1zdGFydE1pbnV0ZUlkCQEAAAANcGFyc2VJbnRWYWx1ZQAAAAEFAAAABG5leHQJAARNAAAAAgUAAAALYWNjdW11bGF0b3IJAQAAAA1wYXJzZUludFZhbHVlAAAAAQUAAAAEbmV4dAUAAAALYWNjdW11bGF0b3IEAAAABWxpc3RGCgAAAAACJGwFAAAABGxpc3QKAAAAAAIkcwkAAZAAAAABBQAAAAIkbAoAAAAABSRhY2MwBQAAAANuaWwKAQAAAAUkZjBfMQAAAAIAAAACJGEAAAACJGkDCQAAZwAAAAIFAAAAAiRpBQAAAAIkcwUAAAACJGEJAQAAAAhmaWx0ZXJGbgAAAAIFAAAAAiRhCQABkQAAAAIFAAAAAiRsBQAAAAIkaQoBAAAABSRmMF8yAAAAAgAAAAIkYQAAAAIkaQMJAABnAAAAAgUAAAACJGkFAAAAAiRzBQAAAAIkYQkAAAIAAAABAgAAABRMaXN0IHNpemUgZXhjZWVkcyAyMAkBAAAABSRmMF8yAAAAAgkBAAAABSRmMF8xAAAAAgkBAAAABSRmMF8xAAAAAgkBAAAABSRmMF8xAAAAAgkBAAAABSRmMF8xAAAAAgkBAAAABSRmMF8xAAAAAgkBAAAABSRmMF8xAAAAAgkBAAAABSRmMF8xAAAAAgkBAAAABSRmMF8xAAAAAgkBAAAABSRmMF8xAAAAAgkBAAAABSRmMF8xAAAAAgkBAAAABSRmMF8xAAAAAgkBAAAABSRmMF8xAAAAAgkBAAAABSRmMF8xAAAAAgkBAAAABSRmMF8xAAAAAgkBAAAABSRmMF8xAAAAAgkBAAAABSRmMF8xAAAAAgkBAAAABSRmMF8xAAAAAgkBAAAABSRmMF8xAAAAAgkBAAAABSRmMF8xAAAAAgkBAAAABSRmMF8xAAAAAgUAAAAFJGFjYzAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAIAAAAAAAAAAAMAAAAAAAAAAAQAAAAAAAAAAAUAAAAAAAAAAAYAAAAAAAAAAAcAAAAAAAAAAAgAAAAAAAAAAAkAAAAAAAAAAAoAAAAAAAAAAAsAAAAAAAAAAAwAAAAAAAAAAA0AAAAAAAAAAA4AAAAAAAAAAA8AAAAAAAAAABAAAAAAAAAAABEAAAAAAAAAABIAAAAAAAAAABMAAAAAAAAAABQEAAAACG1heEluZGV4AwkAAGYAAAACCQABkAAAAAEFAAAABWxpc3RGAAAAAAAAAAAACQABlgAAAAEFAAAABWxpc3RGCQEAAAANcGFyc2VJbnRWYWx1ZQAAAAEJAAGRAAAAAgUAAAAEbGlzdAAAAAAAAAAAAAQAAAAMbGFzdE1pbnV0ZUlkCQEAAAALdmFsdWVPckVsc2UAAAACCQAEGgAAAAIFAAAABHRoaXMFAAAADmtfbGFzdE1pbnV0ZUlkAAAAAAAAAAAABAAAABZlbmRMYXN0Q3VtdWxhdGl2ZVByaWNlCQEAAAALdmFsdWVPckVsc2UAAAACCQAEGgAAAAIFAAAABHRoaXMJAAEsAAAAAgkAASwAAAACBQAAAB1rX3R3YXBEYXRhTGFzdEN1bXVsYXRpdmVQcmljZQIAAAABXwkAAaQAAAABBQAAAAxsYXN0TWludXRlSWQAAAAAAAAAAAAEAAAADGVuZExhc3RQcmljZQkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABBoAAAACBQAAAAR0aGlzCQABLAAAAAIJAAEsAAAAAgUAAAATa190d2FwRGF0YUxhc3RQcmljZQIAAAABXwkAAaQAAAABBQAAAAxsYXN0TWludXRlSWQAAAAAAAAAAAAEAAAAEm5vd0N1bXVsYXRpdmVQcmljZQkAAGQAAAACBQAAABZlbmRMYXN0Q3VtdWxhdGl2ZVByaWNlCQAAaAAAAAIJAABlAAAAAgUAAAAIbWludXRlSWQFAAAADGxhc3RNaW51dGVJZAUAAAAMZW5kTGFzdFByaWNlBAAAABhzdGFydExhc3RDdW11bGF0aXZlUHJpY2UJAQAAAAt2YWx1ZU9yRWxzZQAAAAIJAAQaAAAAAgUAAAAEdGhpcwkAASwAAAACCQABLAAAAAIFAAAAHWtfdHdhcERhdGFMYXN0Q3VtdWxhdGl2ZVByaWNlAgAAAAFfCQABpAAAAAEFAAAACG1heEluZGV4AAAAAAAAAAAABAAAAA5zdGFydExhc3RQcmljZQkBAAAAC3ZhbHVlT3JFbHNlAAAAAgkABBoAAAACBQAAAAR0aGlzCQABLAAAAAIJAAEsAAAAAgUAAAATa190d2FwRGF0YUxhc3RQcmljZQIAAAABXwkAAaQAAAABBQAAAAhtYXhJbmRleAAAAAAAAAAAAAQAAAAUc3RhcnRDdW11bGF0aXZlUHJpY2UJAABkAAAAAgUAAAAYc3RhcnRMYXN0Q3VtdWxhdGl2ZVByaWNlCQAAaAAAAAIJAABlAAAAAgUAAAANc3RhcnRNaW51dGVJZAUAAAAIbWF4SW5kZXgFAAAADnN0YXJ0TGFzdFByaWNlCQAAaQAAAAIJAABlAAAAAgUAAAASbm93Q3VtdWxhdGl2ZVByaWNlBQAAABRzdGFydEN1bXVsYXRpdmVQcmljZQUAAAANVFdBUF9JTlRFUlZBTAEAAAAOdXBkYXRlU2V0dGluZ3MAAAAHAAAAEF9pbml0TWFyZ2luUmF0aW8AAAAEX21tcgAAABRfbGlxdWlkYXRpb25GZWVSYXRpbwAAAA5fZnVuZGluZ1BlcmlvZAAAAARfZmVlAAAADF9zcHJlYWRMaW1pdAAAAA9fbWF4UHJpY2VJbXBhY3QJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIFAAAAEWtfaW5pdE1hcmdpblJhdGlvBQAAABBfaW5pdE1hcmdpblJhdGlvCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACBQAAABhrX21haW50ZW5hbmNlTWFyZ2luUmF0aW8FAAAABF9tbXIJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIFAAAAFWtfbGlxdWlkYXRpb25GZWVSYXRpbwUAAAAUX2xpcXVpZGF0aW9uRmVlUmF0aW8JAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIFAAAAD2tfZnVuZGluZ1BlcmlvZAUAAAAOX2Z1bmRpbmdQZXJpb2QJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIFAAAABWtfZmVlBQAAAARfZmVlCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACBQAAAA1rX3NwcmVhZExpbWl0BQAAAAxfc3ByZWFkTGltaXQJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIFAAAAEGtfbWF4UHJpY2VJbXBhY3QFAAAAD19tYXhQcmljZUltcGFjdAUAAAADbmlsAQAAAA11cGRhdGVGdW5kaW5nAAAABQAAABFfbmV4dEZ1bmRpbmdCbG9jawAAACRfbGF0ZXN0TG9uZ0N1bXVsYXRpdmVQcmVtaXVtRnJhY3Rpb24AAAAlX2xhdGVzdFNob3J0Q3VtdWxhdGl2ZVByZW1pdW1GcmFjdGlvbgAAABBfbG9uZ0Z1bmRpbmdSYXRlAAAAEV9zaG9ydEZ1bmRpbmdSYXRlCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACBQAAABJrX25leHRGdW5kaW5nQmxvY2sFAAAAEV9uZXh0RnVuZGluZ0Jsb2NrCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACBQAAACVrX2xhdGVzdExvbmdDdW11bGF0aXZlUHJlbWl1bUZyYWN0aW9uBQAAACRfbGF0ZXN0TG9uZ0N1bXVsYXRpdmVQcmVtaXVtRnJhY3Rpb24JAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIFAAAAJmtfbGF0ZXN0U2hvcnRDdW11bGF0aXZlUHJlbWl1bUZyYWN0aW9uBQAAACVfbGF0ZXN0U2hvcnRDdW11bGF0aXZlUHJlbWl1bUZyYWN0aW9uCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACBQAAABFrX2xvbmdGdW5kaW5nUmF0ZQUAAAAQX2xvbmdGdW5kaW5nUmF0ZQkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgUAAAASa19zaG9ydEZ1bmRpbmdSYXRlBQAAABFfc2hvcnRGdW5kaW5nUmF0ZQUAAAADbmlsAQAAAA51cGRhdGVQb3NpdGlvbgAAAAUAAAAIX2FkZHJlc3MAAAAFX3NpemUAAAAHX21hcmdpbgAAAA1fb3Blbk5vdGlvbmFsAAAAIF9sYXRlc3RDdW11bGF0aXZlUHJlbWl1bUZyYWN0aW9uCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQEAAAAOdG9Db21wb3NpdGVLZXkAAAACBQAAAA5rX3Bvc2l0aW9uU2l6ZQUAAAAIX2FkZHJlc3MFAAAABV9zaXplCQAETAAAAAIJAQAAAAxJbnRlZ2VyRW50cnkAAAACCQEAAAAOdG9Db21wb3NpdGVLZXkAAAACBQAAABBrX3Bvc2l0aW9uTWFyZ2luBQAAAAhfYWRkcmVzcwUAAAAHX21hcmdpbgkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgkBAAAADnRvQ29tcG9zaXRlS2V5AAAAAgUAAAAWa19wb3NpdGlvbk9wZW5Ob3Rpb25hbAUAAAAIX2FkZHJlc3MFAAAADV9vcGVuTm90aW9uYWwJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIJAQAAAA50b0NvbXBvc2l0ZUtleQAAAAIFAAAALmtfcG9zaXRpb25MYXN0VXBk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AgkAAGUAAAACBQAAABZfdG90YWxMb25nUG9zaXRpb25TaXplBQAAABdfdG90YWxTaG9ydFBvc2l0aW9uU2l6ZQUAAAAXX3RvdGFsUG9zaXRpb25TaXplQWZ0ZXIJAAACAAAAAQkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAAGEludmFsaWQgQU1NIHN0YXRlIGRhdGE6IAkAAaQAAAABBQAAABZfdG90YWxMb25nUG9zaXRpb25TaXplAgAAAAQgKyAgCQABpAAAAAEFAAAAF190b3RhbFNob3J0UG9zaXRpb25TaXplAgAAAAQgIT0gCQABpAAAAAEFAAAAF190b3RhbFBvc2l0aW9uU2l6ZUFmdGVyCQAETgAAAAIJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIFAAAAE2tfcXVvdGVBc3NldFJlc2VydmUFAAAAB19xdEFzdFIJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIFAAAAEmtfYmFzZUFzc2V0UmVzZXJ2ZQUAAAAHX2JzQXN0UgkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgUAAAATa190b3RhbFBvc2l0aW9uU2l6ZQUAAAAXX3RvdGFsUG9zaXRpb25TaXplQWZ0ZXIJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIFAAAAFGtfY3VtdWxhdGl2ZU5vdGlvbmFsBQAAABhfY3VtdWxhdGl2ZU5vdGlvbmFsQWZ0ZXIJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIFAAAAFmtfb3BlbkludGVyZXN0Tm90aW9uYWwFAAAAFV9vcGVuSW50ZXJlc3ROb3Rpb25hbAkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgUAAAAXa190b3RhbExvbmdQb3NpdGlvblNpemUFAAAAFl90b3RhbExvbmdQb3NpdGlvblNpemUJAARMAAAAAgkBAAAADEludGVnZXJFbnRyeQAAAAIFAAAAGGtfdG90YWxTaG9ydFBvc2l0aW9uU2l6ZQUAAAAXX3RvdGFsU2hvcnRQb3NpdGlvblNpemUFAAAAA25pbAkBAAAACmFwcGVuZFR3YXAAAAABCQEAAAAEZGl2ZAAAAAIFAAAAB19xdEFzdFIFAAAAB19ic0FzdFIBAAAADmRlbGV0ZVBvc2l0aW9uAAAAAQAAAAhfYWRkcmVzcwkABEwAAAACCQEAAAALRGVsZXRlRW50cnkAAAABCQEAAAAOdG9Db21wb3NpdGVLZXkAAAACBQAAAA5rX3Bvc2l0aW9uU2l6ZQUAAAAIX2FkZHJlc3MJAARMAAAAAgkBAAAAC0RlbGV0ZUVudHJ5AAAAAQkBAAAADnRvQ29tcG9zaXRlS2V5AAAAAgUAAAAQa19wb3NpdGlvbk1hcmdpbgUAAAAIX2FkZHJlc3MJAARMAAAAAgkBAAAAC0RlbGV0ZUVudHJ5AAAAAQkBAAAADnRvQ29tcG9zaXRlS2V5AAAAAgUAAAAWa19wb3NpdGlvbk9wZW5Ob3Rpb25hbAUAAAAIX2FkZHJlc3MJAARMAAAAAgkBAAAAC0RlbGV0ZUVudHJ5AAAAAQkBAAAADnRvQ29tcG9zaXRlS2V5AAAAAgUAAAAua19wb3NpdGlvbkxhc3RVcGRhdGVkQ3VtdWxhdGl2ZVByZW1pdW1GcmFjdGlvbgUAAAAIX2FkZHJlc3MFAAAAA25pbAEAAAAId2l0aGRyYXcAAAACAAAACF9hZGRyZXNzAAAAB19hbW91bnQEAAAAB2JhbGFuY2UJAAPwAAAAAgUAAAAEdGhpcwkBAAAACnF1b3RlQXNzZXQAAAAAAwkAAGYAAAACBQAAAAdfYW1vdW50BQAAAAdiYWxhbmNlCQAAAgAAAAEJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAAE1VuYWJsZSB0byB3aXRoZHJhdyAJAAGkAAAAAQUAAAAHX2Ftb3VudAIAAAAXIGZyb20gY29udHJhY3QgYmFsYW5jZSAJAAGkAAAAAQUAAAAHYmFsYW5jZQkABEwAAAACCQEAAAAOU2NyaXB0VHJhbnNmZXIAAAADBQAAAAhfYWRkcmVzcwUAAAAHX2Ftb3VudAkBAAAACnF1b3RlQXNzZXQAAAAABQAAAANuaWwBAAAADXVwZGF0ZUJhbGFuY2UAAAABAAAAAWkDCQAAZgAAAAIAAAAAAAAAAAAFAAAAAWkJAAACAAAAAQIAAAAHQmFsYW5jZQkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgUAAAAJa19iYWxhbmNlBQAAAAFpBQAAAANuaWwBAAAAC3RyYW5zZmVyRmVlAAAAAQAAAAFpCQAETAAAAAIJAQAAAA5TY3JpcHRUcmFuc2ZlcgAAAAMJAQAAAA5zdGFraW5nQWRkcmVzcwAAAAAFAAAAAWkJAQAAAApxdW90ZUFzc2V0AAAAAAUAAAADbmlsAAAADQAAAAFpAQAAAAVwYXVzZQAAAAADCQEAAAACIT0AAAACCAUAAAABaQAAAAZjYWxsZXIJAQAAAAxhZG1pbkFkZHJlc3MAAAAACQAAAgAAAAECAAAAGkludmFsaWQgdG9nZ2xlUGF1c2UgcGFyYW1zCQAETAAAAAIJAQAAAAxCb29sZWFuRW50cnkAAAACBQAAAAhrX3BhdXNlZAYFAAAAA25pbAAAAAFpAQAAAAd1bnBhdXNlAAAAAAMJAQAAAAIhPQAAAAIIBQAAAAFpAAAABmNhbGxlcgkBAAAADGFkbWluQWRkcmVzcwAAAAAJAAACAAAAAQIAAAAaSW52YWxpZCB0b2dnbGVQYXVzZSBwYXJhbXMJAARMAAAAAgkBAAAADEJvb2xlYW5FbnRyeQAAAAIFAAAACGtfcGF1c2VkBwUAAAADbmlsAAAAAWkBAAAADmNoYW5nZVNldHRpbmdzAAAABwAAABBfaW5pdE1hcmdpblJhdGlvAAAABF9tbXIAAAAUX2xpcXVpZGF0aW9uRmVlUmF0aW8AAAAOX2Z1bmRpbmdQZXJpb2QAAAAEX2ZlZQAAAAxfc3ByZWFkTGltaXQAAAAPX21heFByaWNlSW1wYWN0AwkBAAAAAiE9AAAAAggFAAAAAWkAAAAGY2FsbGVyCQEAAAAMYWRtaW5BZGRyZXNzAAAAAAkAAAIAAAABAgAAAB1JbnZhbGlkIGNoYW5nZVNldHRpbmdzIHBhcmFtcwkBAAAADnVwZGF0ZVNldHRpbmdzAAAABwUAAAAQX2luaXRNYXJnaW5SYXRpbwUAAAAEX21tcgUAAAAUX2xpcXVpZGF0aW9uRmVlUmF0aW8FAAAADl9mdW5kaW5nUGVyaW9kBQAAAARfZmVlBQAAAAxfc3ByZWFkTGltaXQFAAAAD19tYXhQcmljZUltcGFjdAAAAAFpAQAAAAppbml0aWFsaXplAAAADAAAAAdfcXRBc3RSAAAAB19ic0FzdFIAAAAOX2Z1bmRpbmdQZXJpb2QAAAAQX2lu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AAQlAAAAAQgFAAAAAWkAAAAGY2FsbGVyBAAAAA9vbGRQb3NpdGlvblNpemUIBQAAAA0kdDAyNjMzOTI2NDkxAAAAAl8xBAAAABFvbGRQb3NpdGlvbk1hcmdpbggFAAAADSR0MDI2MzM5MjY0OTEAAAACXzIEAAAAF29sZFBvc2l0aW9uT3Blbk5vdGlvbmFsCAUAAAANJHQwMjYzMzkyNjQ5MQAAAAJfMwQAAAAUb2xkUG9zaXRpb25Mc3RVcGRDUEYIBQAAAA0kdDAyNjMzOTI2NDkxAAAAAl80BAAAAA1pc05ld1Bvc2l0aW9uCQAAAAAAAAIFAAAAD29sZFBvc2l0aW9uU2l6ZQAAAAAAAAAAAAQAAAAPaXNTYW1lRGlyZWN0aW9uAwkAAGYAAAACBQAAAA9vbGRQb3NpdGlvblNpemUAAAAAAAAAAAAJAAAAAAAAAgUAAAAKX2RpcmVjdGlvbgUAAAAIRElSX0xPTkcJAAAAAAAAAgUAAAAKX2RpcmVjdGlvbgUAAAAJRElSX1NIT1JUBAAAAA5leHBhbmRFeGlzdGluZwMJAQAAAAEhAAAAAQUAAAANaXNOZXdQb3NpdGlvbgUAAAAPaXNTYW1lRGlyZWN0aW9uBwQAAAAFaXNBZGQJAAAAAAAAAgUAAAAKX2RpcmVjdGlvbgUAAAAIRElSX0xPTkcEAAAADSR0MDI2NzgwMjk4MTgDAwUAAAANaXNOZXdQb3NpdGlvbgYFAAAADmV4cGFuZEV4aXN0aW5nCQAAAgAAAAECAAAANVVzZSBpbmNyZWFzZVBvc2l0aW9uIHRvIG9wZW4gbmV3IG9yIGluY3JlYXNlIHBvc2l0aW9uBAAAAAxvcGVuTm90aW9uYWwJAQAAAARtdWxkAAAAAgUAAAAHX2Ftb3VudAUAAAAJX2xldmVyYWdlBAAAAA0kdDAyNzI4NjI3NDAyCQEAAAAjZ2V0UG9zaXRpb25Ob3Rpb25hbEFuZFVucmVhbGl6ZWRQbmwAAAACCQAEJQAAAAEIBQAAAAFpAAAABmNhbGxlcgUAAAAPUE5MX09QVElPTl9TUE9UBAAAABNvbGRQb3NpdGlvbk5vdGlvbmFsCAUAAAANJHQwMjcyODYyNzQwMgAAAAJfMQQAAAANdW5yZWFsaXplZFBubAgFAAAADSR0MDI3Mjg2Mjc0MDIAAAACXzIDCQAAZgAAAAIFAAAAE29sZFBvc2l0aW9uTm90aW9uYWwFAAAADG9wZW5Ob3Rpb25hbAQAAAANJHQwMjc0NjQyNzY5NAkBAAAACXN3YXBJbnB1dAAAAAIFAAAABWlzQWRkBQAAAAxvcGVuTm90aW9uYWwEAAAAFWV4Y2hhbmdlZFBvc2l0aW9uU2l6ZQgFAAAADSR0MDI3NDY0Mjc2OTQAAAACXzEEAAAAFnF1b3RlQXNzZXRSZXNlcnZlQWZ0ZXIIBQAAAA0kdDAyNzQ2NDI3Njk0AAAAAl8yBAAAABViYXNlQXNzZXRSZXNlcnZlQWZ0ZXIIBQAAAA0kdDAyNzQ2NDI3Njk0AAAAAl8zBAAAABZ0b3RhbFBvc2l0aW9uU2l6ZUFmdGVyCAUAAAANJHQwMjc0NjQyNzY5NAAAAAJfNAQAAAAXY3VtdWxhdGl2ZU5vdGlvbmFsQWZ0ZXIIBQAAAA0kdDAyNzQ2NDI3Njk0AAAAAl81BAAAABhleGNoYW5nZWRQb3NpdGlvblNpemVBYnMJAQAAAANhYnMAAAABBQAAABVleGNoYW5nZWRQb3NpdGlvblNpemUDAwkBAAAAAiE9AAAAAgUAAAATX21pbkJhc2VBc3NldEFtb3VudAAAAAAAAAAAAAkAAGYAAAACBQAAABNfbWluQmFzZUFzc2V0QW1vdW50BQAAABhleGNoYW5nZWRQb3NpdGlvblNpemVBYnMHCQAAAgAAAAEJAAEsAAAAAgkAASwAAAACCQABLAAAAAICAAAAJVRvbyBsaXR0bGUgYmFzZSBhc3NldCBleGNoYW5nZWQsIGdvdCAJAAGkAAAAAQUAAAAYZXhjaGFuZ2VkUG9zaXRpb25TaXplQWJzAgAAAAogZXhwZWN0ZWQgCQABpAAAAAEFAAAAE19taW5CYXNlQXNzZXRBbW91bnQEAAAAC3JlYWxpemVkUG5sAwkBAAAAAiE9AAAAAgUAAAAPb2xkUG9zaXRpb25TaXplAAAAAAAAAAAACQEAAAAEZGl2ZAAAAAIJAQAAAARtdWxkAAAAAgUAAAANdW5yZWFsaXplZFBubAUAAAAYZXhjaGFuZ2VkUG9zaXRpb25TaXplQWJzBQAAAA9vbGRQb3NpdGlvblNpemUAAAAAAAAAAAAEAAAADSR0MDI4MjM0Mjg0OTEJAQAAACJjYWxjUmVtYWluTWFyZ2luV2l0aEZ1bmRpbmdQYXltZW50AAAABAUAAAAPb2xkUG9zaXRpb25TaXplBQAAABFvbGRQb3NpdGlvbk1hcmdpbgUAAAAUb2xkUG9zaXRpb25Mc3RVcGRDUEYFAAAAC3JlYWxpemVkUG5sBAAAAAxyZW1haW5NYXJnaW4IBQAAAA0kdDAyODIzNDI4NDkxAAAAAl8xBAAAAAdiYWREZWJ0CAUAAAANJHQwMjgyMzQyODQ5MQAAAAJfMgQAAAAOZnVuZGluZ1BheW1lbnQIBQAAAA0kdDAyODIzNDI4NDkxAAAAAl8zBAAAABlleGNoYW5nZWRRdW90ZUFzc2V0QW1vdW50BQAAAAxvcGVuTm90aW9uYWwEAAAAEnVucmVhbGl6ZWRQbmxBZnRlcgkAAGUAAAACBQAAAA11bnJlYWxpemVkUG5sBQAAAAtyZWFsaXplZFBubAQAAAAScmVtYWluT3Blbk5vdGlvbmFsAwkAAGYAAAACBQAAAA9vbGRQb3NpdGlvblNpemUAAAAAAAAAAAAJAABlAAAAAgkAAGUAAAACBQAAABNvbGRQb3NpdGlvbk5vdGlvbmFsBQAAABlleGNoYW5nZWRRdW90ZUFzc2V0QW1vdW50BQAAABJ1bnJlYWxpemVkUG5sQWZ0ZXIJAABlAAAAAgkAAGQAAAACBQAAABJ1bnJlYWxpemVkUG5sQWZ0ZXIFAAAAE29sZFBvc2l0aW9uTm90aW9uYWwFAAAAGWV4Y2hhbmdlZFF1b3RlQXNzZXRBbW91bnQEAAAAD25ld1Bvc2l0aW9uU2l6ZQkAAGQAAAACBQAAAA9vbGRQb3NpdGlvblNpemUFAAAAFWV4Y2hhbmdlZFBvc2l0aW9uU2l6ZQkABR0AAAALBQAAAA9uZXdQb3NpdGlvblNpemUFAAAADHJlbWFpbk1hcmdpbgkBAAAAA2FicwAAAAEFAAAAEnJlbWFpbk9wZW5Ob3Rpb25hbAkBAAAAH2xhdGVzdEN1bXVsYXRpdmVQcmVtaXVtRnJhY3Rpb24AAAABBQAAAA9uZXdQb3NpdGlvblNpemUFAAAAFWJhc2VBc3NldFJlc2VydmVBZnRlcgUAAAAWcXVvdGVBc3NldFJlc2VydmVBZnRlcgUAAAAWdG90YWxQb3NpdGlvblNpemVBZnRlcgUAAAAXY3VtdWxhdGl2ZU5vdGlvbmFsQWZ0ZXIJAABlAAAAAgkBAAAAFG9wZW5JbnRlcmVzdE5vdGlvbmFsAAAAAAUAAAAMb3Blbk5vdGlvbmFsCQAAZQAAAAIJAQAAABV0b3RhbExvbmdQb3NpdGlvblNpemUAAAAAAwkAAGYAAAACBQAAAA9uZXdQb3NpdGlvblNpemUAAAAAAAAAAAAJAQAAAANhYnMAAAABBQAAABVleGNoYW5nZWRQb3NpdGlvblNpemUAAAAAAAAAAAAJAABlAAAAAgkBAAAAFnRvdGFsU2hvcnRQb3NpdGlvblNpemUAAAAAAwkAAGYAAAACAAAAAAAAAAAABQAAAA9uZXdQb3NpdGlvblNpemUJAQAAAANhYnMAAAABBQAAABVleGNoYW5nZWRQb3NpdGlvblNpemUAAAAAAAAAAAAJAAACAAAAAQIAAAAUQ2xvc2UgcG9zaXRpb24gZmlyc3QEAAAAD25ld1Bvc2l0aW9uU2l6ZQgFAAAADSR0MDI2NzgwMjk4MTgAAAACXzEEAAAAF25ld1Bvc2l0aW9uUmVtYWluTWFyZ2luCAUAAAANJHQwMjY3ODAyOTgxOAAAAAJfMgQAAAAXbmV3UG9zaXRpb25PcGVuTm90aW9uYWwIBQAAAA0kdDAyNjc4MDI5ODE4AAAAAl8zBAAAABRuZXdQb3NpdGlvbkxhdGVzdENQRggFAAAADSR0MDI2NzgwMjk4MTgAAAACXzQEAAAAFWJhc2VBc3NldFJlc2VydmVBZnRlcggFAAAADSR0MDI2NzgwMjk4MTgAAAACXzUEAAAAFnF1b3RlQXNzZXRSZXNlcnZlQWZ0ZXIIBQAAAA0kdDAyNjc4MDI5ODE4AAAAAl82BAAAABZ0b3RhbFBvc2l0aW9uU2l6ZUFmdGVyCAUAAAANJHQwMjY3ODAyOTgxOAAAAAJfNwQAAAAXY3VtdWxhdGl2ZU5vdGlvbmFsQWZ0ZXIIBQAAAA0kdDAyNjc4MDI5ODE4AAAAAl84BAAAABlvcGVuSW50ZXJlc3ROb3Rpb25hbEFmdGVyCAUAAAANJHQwMjY3ODAyOTgxOAAAAAJfOQQAAAAOdG90YWxMb25nQWZ0ZXIIBQAAAA0kdDAyNjc4MDI5ODE4AAAAA18xMAQAAAAPdG90YWxTaG9ydEFmdGVyCAUAAAANJHQwMjY3ODAyOTgxOAAAAANfMTEJAAROAAAAAgkBAAAADnVwZGF0ZVBvc2l0aW9uAAAABQkABCUAAAABCAUAAAABaQAAAAZjYWxsZXIFAAAAD25ld1Bvc2l0aW9uU2l6ZQUAAAAXbmV3UG9zaXRpb25SZW1haW5NYXJnaW4FAAAAF25ld1Bvc2l0aW9uT3Blbk5vdGlvbmFsBQAAABRuZXdQb3NpdGlvbkxhdGVzdENQRgkBAAAACXVwZGF0ZUFtbQAAAAcFAAAAFnF1b3RlQXNzZXRSZXNlcnZlQWZ0ZXIFAAAAFWJhc2VBc3NldFJlc2VydmVBZnRlcgUAAAAWdG90YWxQb3NpdGlvblNpemVBZnRlcgUAAAAXY3VtdWxhdGl2ZU5vdGlvbmFsQWZ0ZXIFAAAAGW9wZW5JbnRlcmVzdE5vdGlvbmFsQWZ0ZXIFAAAADnRvdGFsTG9uZ0FmdGVyBQAAAA90b3RhbFNob3J0QWZ0ZXIAAAABaQEAAAAQaW5jcmVhc2VQb3NpdGlvbgAAAAMAAAAKX2RpcmVjdGlvbgAAAAlfbGV2ZXJhZ2UAAAATX21pbkJhc2VBc3NldEFtb3VudAQAAAAKX3Jhd0Ftb3VudAgJAAGRAAAAAggFAAAAAWkAAAAIcGF5bWVudHMAAAAAAAAAAAAAAAAGYW1vdW50AwMDAwMDAwMJAQAAAAIhPQAAAAIFAAAACl9kaXJlY3Rpb24FAAAACERJUl9MT05HCQEAAAACIT0AAAACBQAAAApfZGlyZWN0aW9uBQAAAAlESVJfU0hPUlQHBgkAAGcAAAACAAAAAAAAAAAABQAAAApfcmF3QW1vdW50BgMJAABmAAAAAgkAAGgAAAACAAAAAAAAAAABBQAAAAxERUNJTUFMX1VOSVQFAAAACV9sZXZlcmFnZQYJAABmAAAAAgUAAAAJX2xldmVyYWdlCQAAaAAAAAIAAAAAAAAAAAMFAAAADERFQ0lNQUxfVU5JVAYJAQAAAAEhAAAAAQkBAAAAC2luaXRpYWxpemVkAAAAAAYJAQAAAAIhPQAAAAIICQABkQAAAAIIBQAAAAFpAAAACHBheW1lbnRzAAAAAAAAAAAAAAAAB2Fzc2V0SWQJAQAAAApxdW90ZUFzc2V0AAAAAAYJAQAAAAEhAAAAAQkBAAAAFnJlcXVpcmVNb3JlTWFyZ2luUmF0aW8AAAADCQEAAAAEZGl2ZAAAAAIFAAAADERFQ0lNQUxfVU5JVAUAAAAJX2xldmVyYWdlCQEAAAAPaW5pdE1hcmdpblJhdGlvAAAAAAYGCQEAAAAGcGF1c2VkAAAAAAkAAAIAAAABAgAAACNJbnZhbGlkIGluY3JlYXNlUG9zaXRpb24gcGFyYW1ldGVycwQAAAAJZmVlQW1vdW50CQEAAAAEbXVsZAAAAAIFAAAACl9yYXdBbW91bnQJAQAAAANmZWUAAAAABAAAAAdfYW1vdW50CQAAZQAAAAIFAAAACl9yYXdBbW91bnQFAAAACWZlZUFtb3VudAQAAAANJHQwMzA4NTQzMDk3OAkBAAAAC2dldFBvc2l0aW9uAAAAAQkABCUAAAABCAUAAAABaQAAAAZjYWxsZXIEAAAAD29sZFBvc2l0aW9uU2l6ZQgFAAAADSR0MDMwODU0MzA5NzgAAAACXzEEAAAAEW9sZFBvc2l0aW9uTWFyZ2luCAUAAAANJHQwMzA4NTQzMDk3OAAAAAJfMgQAAAAXb2xkUG9zaXRpb25PcGVuTm90aW9uYWwIBQAAAA0kdDAzMDg1NDMwOTc4AAAAAl8zBAAAAA1pc05ld1Bvc2l0aW9uCQAAAAAAAAIFAAAAD29sZFBvc2l0aW9uU2l6ZQAAAAAAAAAAAAQAAAAPaXNTYW1lRGlyZWN0aW9uAwkAAGYAAAACBQAAAA9vbGRQb3NpdGlvblNpemUAAAAAAAAAAAAJAAAAAAAAAgUAAAAKX2RpcmVjdGlvbgUAAAAIRElSX0xPTkcJAAAAAAAAAgUAAAAKX2RpcmVjdGlvbgUAAAAJRElSX1NIT1JUBAAAAA5leHBhbmRFeGlzdGluZwMJAQAAAAEhAAAAAQUAAAANaXNOZXdQb3NpdGlvbgUAAAAPaXNTYW1lRGlyZWN0aW9uBwQAAAAFaXNBZGQJAAAAAAAAAgUAAAAKX2RpcmVjdGlvbgUAAAAIRElSX0xPTkcEAAAADSR0MDMxMjY3MzM3MzQDAwUAAAANaXNOZXdQb3NpdGlvbgYFAAAADmV4cGFuZEV4aXN0aW5nBAAAAAxvcGVuTm90aW9uYWwJAQAAAARtdWxkAAAAAgUAAAAHX2Ftb3VudAUAAAAJX2xldmVyYWdlBAAAAA0kdDAzMTY5MTMxODk3CQEAAAAJc3dhcElucHV0AAAAAgUAAAAFaXNBZGQFAAAADG9wZW5Ob3Rpb25hbAQAAAAVYW1vdW50QmFzZUFzc2V0Qm91Z2h0CAUAAAANJHQwMzE2OTEzMTg5NwAAAAJfMQQAAAAWcXVvdGVBc3NldFJlc2VydmVBZnRlcggFAAAADSR0MDMxNjkxMzE4OTcAAAACXzIEAAAAFWJhc2VBc3NldFJlc2VydmVBZnRlcggFAAAADSR0MDMxNjkxMzE4OTcAAAACXzMEAAAAFnRvdGFsUG9zaXRpb25TaXplQWZ0ZXIIBQAAAA0kdDAzMTY5MTMxODk3AAAAAl80BAAAABdjdW11bGF0aXZlTm90aW9uYWxBZnRlcggFAAAADSR0MDMxNjkxMzE4OTcAAAACXzUDAwkBAAAAAiE9AAAAAgUAAAATX21pbkJhc2VBc3NldEFtb3VudAAAAAAAAAAAAAkAAGYAAAACBQAAABNfbWluQmFzZUFzc2V0QW1vdW50CQEAAAADYWJzAAAAAQUAAAAVYW1vdW50QmFzZUFzc2V0Qm91Z2h0BwkAAAIAAAABCQABLAAAAAIJAAEsAAAAAgkAASwAAAACAgAAAA1MaW1pdCBlcnJvcjogCQABpAAAAAEJAQAAAANhYnMAAAABBQAAABVhbW91bnRCYXNlQXNzZXRCb3VnaHQCAAAAAyA8IAkAAaQAAAABBQAAABNfbWluQmFzZUFzc2V0QW1vdW50BAAAAA9uZXdQb3NpdGlvblNpemUJAABkAAAAAgUAAAAPb2xkUG9zaXRpb25TaXplBQAAABVhbW91bnRCYXNlQXNzZXRCb3VnaHQEAAAAEXBvc2l0aW9uTHN0VXBkQ1BGCQEAAAAfbGF0ZXN0Q3VtdWxhdGl2ZVByZW1pdW1GcmFjdGlvbgAAAAEFAAAAD25ld1Bvc2l0aW9uU2l6ZQQAAAAZaW5jcmVhc2VNYXJnaW5SZXF1aXJlbWVudAkBAAAABGRpdmQAAAACBQAAAAxvcGVuTm90aW9uYWwFAAAACV9sZXZlcmFnZQQAAAANJHQwMzIzNTkzMjU5NQkBAAAAImNhbGNSZW1haW5NYXJnaW5XaXRoRnVuZGluZ1BheW1lbnQAAAAEBQAAAA9vbGRQb3NpdGlvblNpemUFAAAAEW9sZFBvc2l0aW9uTWFyZ2luBQAAABFwb3NpdGlvbkxzdFVwZENQRgUAAAAZaW5jcmVhc2VNYXJnaW5SZXF1aXJlbWVudAQAAAAMcmVtYWluTWFyZ2luCAUAAAANJHQwMzIzNTkzMjU5NQAAAAJfMQQAAAACeDEIBQAAAA0kdDAzMjM1OTMyNTk1AAAAAl8yBAAAAAJ4MggFAAAADSR0MDMyMzU5MzI1OTUAAAACXzMJAAUdAAAACwUAAAAPbmV3UG9zaXRpb25TaXplBQAAAAxyZW1haW5NYXJnaW4JAABkAAAAAgUAAAAXb2xkUG9zaXRpb25PcGVuTm90aW9uYWwFAAAADG9wZW5Ob3Rpb25hbAkBAAAAH2xhdGVzdEN1bXVsYXRpdmVQcmVtaXVtRnJhY3Rpb24AAAABBQAAAA9uZXdQb3NpdGlvblNpemUFAAAAFWJhc2VBc3NldFJlc2VydmVBZnRlcgUAAAAWcXVvdGVBc3NldFJlc2VydmVBZnRlcgUAAAAWdG90YWxQb3NpdGlvblNpemVBZnRlcgUAAAAXY3VtdWxhdGl2ZU5vdGlvbmFsQWZ0ZXIJAABkAAAAAgkBAAAAFG9wZW5JbnRlcmVzdE5vdGlvbmFsAAAAAAUAAAAMb3Blbk5vdGlvbmFsCQAAZAAAAAIJAQAAABV0b3RhbExvbmdQb3NpdGlvblNpemUAAAAAAwkAAGYAAAACBQAAAA9uZXdQb3NpdGlvblNpemUAAAAAAAAAAAAJAQAAAANhYnMAAAABBQAAABVhbW91bnRCYXNlQXNzZXRCb3VnaHQAAAAAAAAAAAAJAABkAAAAAgkBAAAAFnRvdGFsU2hvcnRQb3NpdGlvblNpemUAAAAAAwkAAGYAAAACAAAAAAAAAAAABQAAAA9uZXdQb3NpdGlvblNpemUJAQAAAANhYnMAAAABBQAAABVhbW91bnRCYXNlQXNzZXRCb3VnaHQAAAAAAAAAAAAEAAAADG9wZW5Ob3Rpb25hbAkBAAAABG11bGQAAAACBQAAAAdfYW1vdW50BQAAAAlfbGV2ZXJhZ2UEAAAADSR0MDMzNDI3MzM1NDMJAQAAACNnZXRQb3NpdGlvbk5vdGlvbmFsQW5kVW5yZWFsaXplZFBubAAAAAIJAAQlAAAAAQgFAAAAAWkAAAAGY2FsbGVyBQAAAA9QTkxfT1BUSU9OX1NQT1QEAAAAE29sZFBvc2l0aW9uTm90aW9uYWwIBQAAAA0kdDAzMzQyNzMzNTQzAAAAAl8xBAAAAA11bnJlYWxpemVkUG5sCAUAAAANJHQwMzM0MjczMzU0MwAAAAJfMgMJAABmAAAAAgUAAAATb2xkUG9zaXRpb25Ob3Rpb25hbAUAAAAMb3Blbk5vdGlvbmFsCQAAAgAAAAECAAAALlVzZSBkZWNyZWFzZVBvc2l0aW9uIHRvIGRlY3JlYXNlIHBvc2l0aW9uIHNpemUJAAACAAAAAQIAAAAUQ2xvc2UgcG9zaXRpb24gZmlyc3QEAAAAD25ld1Bvc2l0aW9uU2l6ZQgFAAAADSR0MDMxMjY3MzM3MzQAAAACXzEEAAAAF25ld1Bvc2l0aW9uUmVtYWluTWFyZ2luCAUAAAANJHQwMzEyNjczMzczNAAAAAJfMgQAAAAXbmV3UG9zaXRpb25PcGVuTm90aW9uYWwIBQAAAA0kdDAzMTI2NzMzNzM0AAAAAl8zBAAAABRuZXdQb3NpdGlvbkxhdGVzdENQRggFAAAADSR0MDMxMjY3MzM3MzQAAAACXzQEAAAAFWJhc2VBc3NldFJlc2VydmVBZnRlcggFAAAADSR0MDMxMjY3MzM3MzQAAAACXzUEAAAAFnF1b3RlQXNzZXRSZXNlcnZlQWZ0ZXIIBQAAAA0kdDAzMTI2NzMzNzM0AAAAAl82BAAAABZ0b3RhbFBvc2l0aW9uU2l6ZUFmdGVyCAUAAAANJHQwMzEyNjczMzczNAAAAAJfNwQAAAAXY3VtdWxhdGl2ZU5vdGlvbmFsQWZ0ZXIIBQAAAA0kdDAzMTI2NzMzNzM0AAAAAl84BAAAABlvcGVuSW50ZXJlc3ROb3Rpb25hbEFmdGVyCAUAAAANJHQwMzEyNjczMzczNAAAAAJfOQQAAAAOdG90YWxMb25nQWZ0ZXIIBQAAAA0kdDAzMTI2NzMzNzM0AAAAA18xMAQAAAAPdG90YWxTaG9ydEFmdGVyCAUAAAANJHQwMzEyNjczMzczNAAAAANfMTEEAAAADGZlZVRvU3Rha2VycwkAAGkAAAACBQAAAAlmZWVBbW91bnQAAAAAAAAAAAIEAAAADmZlZVRvSW5zdXJhbmNlCQAAZQAAAAIFAAAACWZlZUFtb3VudAUAAAAMZmVlVG9TdGFrZXJzBAAAAAVzdGFrZQkAA/wAAAAECQEAAAARcXVvdGVBc3NldFN0YWtpbmcAAAAAAgAAAA5sb2NrTmV1dHJpbm9TUAkABEwAAAACCQAEJQAAAAEJAQAAAA5zdGFraW5nQWRkcmVzcwAAAAAJAARMAAAAAgUAAAAIQUxMX0ZFRVMFAAAAA25pbAkABEwAAAACCQEAAAAPQXR0YWNoZWRQYXltZW50AAAAAgkBAAAACnF1b3RlQXNzZXQAAAAABQAAAAdfYW1vdW50BQAAAANuaWwDCQAAAAAAAAIFAAAABXN0YWtlBQAAAAVzdGFrZQQAAAAQZGVwb3NpdEluc3VyYW5jZQkAA/wAAAAECQEAAAAQaW5zdXJhbmNlQWRkcmVzcwAAAAACAAAAB2RlcG9zaXQFAAAAA25pbAkABEwAAAACCQEAAAAPQXR0YWNoZWRQYXltZW50AAAAAgkBAAAACnF1b3RlQXNzZXQAAAAABQAAAA5mZWVUb0luc3VyYW5jZQUAAAADbmlsAwkAAAAAAAACBQAAABBkZXBvc2l0SW5zdXJhbmNlBQAAABBkZXBvc2l0SW5zdXJhbmNlCQAETgAAAAIJAAROAAAAAgkABE4AAAACCQEAAAAOdXBkYXRlUG9zaXRpb24AAAAFCQAEJQAAAAEIBQAAAAFpAAAABmNhbGxlcgUAAAAPbmV3UG9zaXRpb25TaXplBQAAABduZXdQb3NpdGlvblJlbWFpbk1hcmdpbgUAAAAXbmV3UG9zaXRpb25PcGVuTm90aW9uYWwFAAAAFG5ld1Bvc2l0aW9uTGF0ZXN0Q1BGCQEAAAAJdXBkYXRlQW1tAAAABwUAAAAWcXVvdGVBc3NldFJlc2VydmVBZnRlcgUAAAAVYmFzZUFzc2V0UmVzZXJ2ZUFmdGVyBQAAABZ0b3RhbFBvc2l0aW9uU2l6ZUFmdGVyBQAAABdjdW11bGF0aXZlTm90aW9uYWxBZnRlcgUAAAAZb3BlbkludGVyZXN0Tm90aW9uYWxBZnRlcgUAAAAOdG90YWxMb25nQWZ0ZXIFAAAAD3RvdGFsU2hvcnRBZnRlcgkBAAAAC3RyYW5zZmVyRmVlAAAAAQUAAAAMZmVlVG9TdGFrZXJzCQEAAAANdXBkYXRlQmFsYW5jZQAAAAEJAABkAAAAAgkBAAAACGNiYWxhbmNlAAAAAAUAAAAHX2Ftb3VudAkAAAIAAAAB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cGVuUG9zaXRpb24AAAABCQAEJQAAAAEIBQAAAAFpAAAABmNhbGxlcgYJAQAAAAEhAAAAAQkBAAAAC2luaXRpYWxpemVkAAAAAAYJAQAAAAZwYXVzZWQAAAAACQAAAgAAAAECAAAAH0ludmFsaWQgcmVtb3ZlTWFyZ2luIHBhcmFtZXRlcnMEAAAADSR0MDM2MDgyMzYyMzQJAQAAAAtnZXRQb3NpdGlvbgAAAAEJAAQlAAAAAQgFAAAAAWkAAAAGY2FsbGVyBAAAAA9vbGRQb3NpdGlvblNpemUIBQAAAA0kdDAzNjA4MjM2MjM0AAAAAl8xBAAAABFvbGRQb3NpdGlvbk1hcmdpbggFAAAADSR0MDM2MDgyMzYyMzQAAAACXzIEAAAAF29sZFBvc2l0aW9uT3Blbk5vdGlvbmFsCAUAAAANJHQwMzYwODIzNjIzNAAAAAJfMwQAAAAUb2xkUG9zaXRpb25Mc3RVcGRDUEYIBQAAAA0kdDAzNjA4MjM2MjM0AAAAAl80BAAAAAttYXJnaW5EZWx0YQkBAAAAAS0AAAABBQAAAAdfYW1vdW50BAAAAA0kdDAzNjI3MTM2NDUwCQEAAAAiY2FsY1JlbWFpbk1hcmdpbldpdGhGdW5kaW5nUGF5bWVudAAAAAQFAAAAD29sZFBvc2l0aW9uU2l6ZQUAAAARb2xkUG9zaXRpb25NYXJnaW4FAAAAFG9sZFBvc2l0aW9uTHN0VXBkQ1BGBQAAAAttYXJnaW5EZWx0YQQAAAAMcmVtYWluTWFyZ2luCAUAAAANJHQwMzYyNzEzNjQ1MAAAAAJfMQQAAAAHYmFkRGVidAgFAAAADSR0MDM2MjcxMzY0NTAAAAACXzIDCQEAAAACIT0AAAACBQAAAAdiYWREZWJ0AAAAAAAAAAAACQAAAgAAAAECAAAAG0ludmFsaWQgYWRkZWQgbWFyZ2luIGFtb3VudAQAAAAHdW5zdGFrZQkAA/wAAAAECQEAAAARcXVvdGVBc3NldFN0YWtpbmcAAAAAAgAAAA51bmxvY2tOZXV0cmlubwkABEwAAAACBQAAAAdfYW1vdW50CQAETAAAAAIJAAJYAAAAAQkBAAAACnF1b3RlQXNzZXQAAAAABQAAAANuaWwFAAAAA25pbAMJAAAAAAAAAgUAAAAHdW5zdGFrZQUAAAAHdW5zdGFrZQkABE4AAAACCQAETgAAAAIJAQAAAA51cGRhdGVQb3NpdGlvbgAAAAUJAAQlAAAAAQgFAAAAAWkAAAAGY2FsbGVyBQAAAA9vbGRQb3NpdGlvblNpemUFAAAADHJlbWFpbk1hcmdpbgUAAAAXb2xkUG9zaXRpb25PcGVuTm90aW9uYWwJAQAAAB9sYXRlc3RDdW11bGF0aXZlUHJlbWl1bUZyYWN0aW9uAAAAAQUAAAAPb2xkUG9zaXRpb25TaXplCQEAAAAId2l0aGRyYXcAAAACCAUAAAABaQAAAAZjYWxsZXIFAAAAB19hbW91bnQJAQAAAA11cGRhdGVCYWxhbmNlAAAAAQkAAGUAAAACCQEAAAAIY2JhbGFuY2UAAAAABQAAAAdfYW1vdW50CQAAAgAAAAECAAAAJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgAAAAFpAQAAAA1jbG9zZVBvc2l0aW9uAAAAAAMDAwkBAAAAASEAAAABCQEAAAATcmVxdWlyZU9wZW5Qb3NpdGlvbgAAAAEJAAQlAAAAAQgFAAAAAWkAAAAGY2FsbGVyBgkBAAAAASEAAAABCQEAAAALaW5pdGlhbGl6ZWQAAAAABgkBAAAABnBhdXNlZAAAAAAJAAACAAAAAQIAAAAgSW52YWxpZCBjbG9zZVBvc2l0aW9uIHBhcmFtZXRlcnMEAAAADSR0MDM3MjEwMzc1OTQJAQAAABVpbnRlcm5hbENsb3NlUG9zaXRpb24AAAABCQAEJQAAAAEIBQAAAAFpAAAABmNhbGxlcgQAAAACeDEIBQAAAA0kdDAzNzIxMDM3NTk0AAAAAl8xBAAAAA9wb3NpdGlvbkJhZERlYnQIBQAAAA0kdDAzNzIxMDM3NTk0AAAAAl8yBAAAAAtyZWFsaXplZFBubAgFAAAADSR0MDM3MjEwMzc1OTQAAAACXzMEAAAADW1hcmdpblRvVmF1bHQIBQAAAA0kdDAzNzIxMDM3NTk0AAAAAl80BAAAABZxdW90ZUFzc2V0UmVzZXJ2ZUFmdGVyCAUAAAANJHQwMzcyMTAzNzU5NAAAAAJfNQQAAAAVYmFzZUFzc2V0UmVzZXJ2ZUFmdGVyCAUAAAANJHQwMzcyMTAzNzU5NAAAAAJfNgQAAAAWdG90YWxQb3NpdGlvblNpemVBZnRlcggFAAAADSR0MDM3MjEwMzc1OTQAAAACXzcEAAAAF2N1bXVsYXRpdmVOb3Rpb25hbEFmdGVyCAUAAAANJHQwMzcyMTAzNzU5NAAAAAJfOAQAAAAZb3BlbkludGVyZXN0Tm90aW9uYWxBZnRlcggFAAAADSR0MDM3MjEwMzc1OTQAAAACXzkEAAAAAngyCAUAAAANJHQwMzcyMTAzNzU5NAAAAANfMTAEAAAADnRvdGFsTG9uZ0FmdGVyCAUAAAANJHQwMzcyMTAzNzU5NAAAAANfMTEEAAAAD3RvdGFsU2hvcnRBZnRlcggFAAAADSR0MDM3MjEwMzc1OTQAAAADXzEyAwkAAGYAAAACBQAAAA9wb3NpdGlvbkJhZERlYnQAAAAAAAAAAAAJAAACAAAAAQIAAAAmVW5hYmxlIHRvIGNsb3NlIHBvc2l0aW9uIHdpdGggYmFkIGRlYnQEAAAADndpdGhkcmF3QW1vdW50CQEAAAADYWJzAAAAAQUAAAANbWFyZ2luVG9WYXVsdAQAAAAKYW1tQmFsYW5jZQkAAGUAAAACCQEAAAAIY2JhbGFuY2UAAAAABQAAAA53aXRoZHJhd0Ftb3VudAQAAAANJHQwMzc4MDMzNzk0NQMJAABmAAAAAgAAAAAAAAAAAAUAAAAKYW1tQmFsYW5jZQkABRQAAAACAAAAAAAAAAAACQEAAAADYWJzAAAAAQUAAAAKYW1tQmFsYW5jZQkABRQAAAACBQAAAAphbW1CYWxhbmNlAAAAAAAAAAAABAAAAA1hbW1OZXdCYWxhbmNlCAUAAAANJHQwMzc4MDMzNzk0NQAAAAJfMQQAAAAQZ2V0RnJvbUluc3VyYW5jZQgFAAAADSR0MDM3ODAzMzc5NDUAAAACXzIEAAAAAXgDCQAAZgAAAAIFAAAAEGdldEZyb21JbnN1cmFuY2UAAAAAAAAAAAAEAAAAEXdpdGhkcmF3SW5zdXJhbmNlCQAD/AAAAAQJAQAAABBpbnN1cmFuY2VBZGRyZXNzAAAAAAIAAAAId2l0aGRyYXcJAARMAAAAAgUAAAAQZ2V0RnJvbUluc3VyYW5jZQUAAAADbmlsBQAAAANuaWwDCQAAAAAAAAIFAAAAEXdpdGhkcmF3SW5zdXJhbmNlBQAAABF3aXRoZHJhd0luc3VyYW5jZQUAAAADbmlsCQAAAgAAAAECAAAAJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgUAAAADbmlsAwkAAAAAAAACBQAAAAF4BQAAAAF4BAAAAAd1bnN0YWtlCQAD/AAAAAQJAQAAABFxdW90ZUFzc2V0U3Rha2luZwAAAAACAAAADnVubG9ja05ldXRyaW5vCQAETAAAAAIJAABlAAAAAgUAAAAOd2l0aGRyYXdBbW91bnQFAAAAEGdldEZyb21JbnN1cmFuY2UJAARMAAAAAgkAAlgAAAABCQEAAAAKcXVvdGVBc3NldAAAAAAFAAAAA25pbAUAAAADbmlsAwkAAAAAAAACBQAAAAd1bnN0YWtlBQAAAAd1bnN0YWtlCQAETgAAAAIJAAROAAAAAgkABE4AAAACCQEAAAAOZGVsZXRlUG9zaXRpb24AAAABCQAEJQAAAAEIBQAAAAFpAAAABmNhbGxlcgkBAAAACXVwZGF0ZUFtbQAAAAcFAAAAFnF1b3RlQXNzZXRSZXNlcnZlQWZ0ZXIFAAAAFWJhc2VBc3NldFJlc2VydmVBZnRlcgUAAAAWdG90YWxQb3NpdGlvblNpemVBZnRlcgUAAAAXY3VtdWxhdGl2ZU5vdGlvbmFsQWZ0ZXIFAAAAGW9wZW5JbnRlcmVzdE5vdGlvbmFsQWZ0ZXIFAAAADnRvdGFsTG9uZ0FmdGVyBQAAAA90b3RhbFNob3J0QWZ0ZXIJAQAAAAh3aXRoZHJhdwAAAAIIBQAAAAFpAAAABmNhbGxlcgUAAAAOd2l0aGRyYXdBbW91bnQJAQAAAA11cGRhdGVCYWxhbmNlAAAAAQUAAAANYW1tTmV3QmFsYW5jZQkAAAIAAAABAgAAACRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAACAAAAAQIAAAAkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAAAAAWkBAAAACWxpcXVpZGF0ZQAAAAEAAAAHX3RyYWRlcgQAAAALbWFyZ2luUmF0aW8DCQEAAAAWaXNPdmVyRmx1Y3R1YXRpb25MaW1pdAAAAAAJAQAAABZnZXRNYXJnaW5SYXRpb0J5T3B0aW9uAAAAAgUAAAAHX3RyYWRlcgUAAAARUE5MX09QVElPTl9PUkFDTEUJAQAAABZnZXRNYXJnaW5SYXRpb0J5T3B0aW9uAAAAAgUAAAAHX3RyYWRlcgUAAAAPUE5MX09QVElPTl9TUE9UAwMDAwkBAAAAASEAAAABCQEAAAAWcmVxdWlyZU1vcmVNYXJnaW5SYXRpbwAAAAMFAAAAC21hcmdpblJhdGlvCQEAAAAWbWFpbnRlbmFuY2VNYXJnaW5SYXRpbwAAAAAHBgkBAAAAASEAAAABCQEAAAATcmVxdWlyZU9wZW5Qb3NpdGlvbgAAAAEFAAAAB190cmFkZXIGCQEAAAABIQAAAAEJAQAAAAtpbml0aWFsaXplZAAAAAAGCQEAAAAGcGF1c2VkAAAAAAkAAAIAAAABAgAAABNVbmFibGUgdG8gbGlxdWlkYXRlBAAAAA0kdDAzOTM4NDM5ODExCQEAAAAVaW50ZXJuYWxDbG9zZVBvc2l0aW9uAAAAAQUAAAAHX3RyYWRlcgQAAAACeDEIBQAAAA0kdDAzOTM4NDM5ODExAAAAAl8xBAAAAAdiYWREZWJ0CAUAAAANJHQwMzkzODQzOTgxMQAAAAJfMgQAAAACeDIIBQAAAA0kdDAzOTM4NDM5ODExAAAAAl8zBAAAAA1tYXJnaW5Ub1ZhdWx0CAUAAAANJHQwMzkzODQzOTgxMQAAAAJfNAQAAAAWcXVvdGVBc3NldFJlc2VydmVBZnRlcggFAAAADSR0MDM5Mzg0Mzk4MTEAAAACXzUEAAAAFWJhc2VBc3NldFJlc2VydmVBZnRlcggFAAAADSR0MDM5Mzg0Mzk4MTEAAAACXzYEAAAAFnRvdGFsUG9zaXRpb25TaXplQWZ0ZXIIBQAAAA0kdDAzOTM4NDM5ODExAAAAAl83BAAAABdjdW11bGF0aXZlTm90aW9uYWxBZnRlcggFAAAADSR0MDM5Mzg0Mzk4MTEAAAACXzgEAAAAGW9wZW5JbnRlcmVzdE5vdGlvbmFsQWZ0ZXIIBQAAAA0kdDAzOTM4NDM5ODExAAAAAl85BAAAABlleGNoYW5nZWRRdW90ZUFzc2V0QW1vdW50CAUAAAANJHQwMzkzODQzOTgxMQAAAANfMTAEAAAADnRvdGFsTG9uZ0FmdGVyCAUAAAANJHQwMzkzODQzOTgxMQAAAANfMTEEAAAAD3RvdGFsU2hvcnRBZnRlcggFAAAADSR0MDM5Mzg0Mzk4MTEAAAADXzEyBAAAABJsaXF1aWRhdGlvblBlbmFsdHkJAQAAAARtdWxkAAAAAgUAAAAZZXhjaGFuZ2VkUXVvdGVBc3NldEFtb3VudAkBAAAAE2xpcXVpZGF0aW9uRmVlUmF0aW8AAAAABAAAAA9mZWVUb0xpcXVpZGF0b3IJAABpAAAAAgUAAAASbGlxdWlkYXRpb25QZW5hbHR5AAAAAAAAAAACBAAAAA5mZWVUb0luc3VyYW5jZQkAAGUAAAACBQAAABJsaXF1aWRhdGlvblBlbmFsdHkFAAAAD2ZlZVRvTGlxdWlkYXRvcgQAAAAKYW1tQmFkRGVidAkAAGUAAAACCQEAAAAIY2JhbGFuY2UAAAAABQAAABJsaXF1aWRhdGlvblBlbmFsdHkEAAAADSR0MDQwMjA5NDAzNDQDCQAAZgAAAAIAAAAAAAAAAAAFAAAACmFtbUJhZERlYnQJAAUUAAAAAgAAAAAAAAAAAAkBAAAAA2FicwAAAAEFAAAACmFtbUJhZERlYnQJAAUUAAAAAgUAAAAKYW1tQmFkRGVidAAAAAAAAAAAAAQAAAANbmV3QW1tQmFsYW5jZQgFAAAADSR0MDQwMjA5NDAzNDQAAAACXzEEAAAAEXRha2VGcm9tSW5zdXJhbmNlCAUAAAANJHQwNDAyMDk0MDM0NAAAAAJfMgQAAAABeAMJAABmAAAAAgUAAAARdGFrZUZyb21JbnN1cmFuY2UAAAAAAAAAAAAEAAAAEXdpdGhkcmF3SW5zdXJhbmNlCQAD/AAAAAQJAQAAABBpbnN1cmFuY2VBZGRyZXNzAAAAAAIAAAAId2l0aGRyYXcJAARMAAAAAgUAAAARdGFrZUZyb21JbnN1cmFuY2UFAAAAA25pbAUAAAADbmlsAwkAAAAAAAACBQAAABF3aXRoZHJhd0luc3VyYW5jZQUAAAARd2l0aGRyYXdJbnN1cmFuY2UFAAAAA25pbAkAAAIAAAABAgAAACRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4FAAAAA25pbAMJAAAAAAAAAgUAAAABeAUAAAABeAQAAAAQZGVwb3NpdEluc3VyYW5jZQkAA/wAAAAECQEAAAAQaW5zdXJhbmNlQWRkcmVzcwAAAAACAAAAB2RlcG9zaXQFAAAAA25pbAkABEwAAAACCQEAAAAPQXR0YWNoZWRQYXltZW50AAAAAgkBAAAACnF1b3RlQXNzZXQAAAAABQAAAA5mZWVUb0luc3VyYW5jZQUAAAADbmlsAwkAAAAAAAACBQAAABBkZXBvc2l0SW5zdXJhbmNlBQAAABBkZXBvc2l0SW5zdXJhbmNlBAAAAAd1bnN0YWtlCQAD/AAAAAQJAQAAABFxdW90ZUFzc2V0U3Rha2luZwAAAAACAAAADnVubG9ja05ldXRyaW5vCQAETAAAAAIJAABlAAAAAgUAAAAPZmVlVG9MaXF1aWRhdG9yBQAAABF0YWtlRnJvbUluc3VyYW5jZQkABEwAAAACCQACWAAAAAEJAQAAAApxdW90ZUFzc2V0AAAAAAUAAAADbmlsBQAAAANuaWwDCQAAAAAAAAIFAAAAB3Vuc3Rha2UFAAAAB3Vuc3Rha2UJAAROAAAAAgkABE4AAAACCQAETgAAAAIJAQAAAA5kZWxldGVQb3NpdGlvbgAAAAEFAAAAB190cmFkZXIJAQAAAAl1cGRhdGVBbW0AAAAHBQAAABZxdW90ZUFzc2V0UmVzZXJ2ZUFmdGVyBQAAABViYXNlQXNzZXRSZXNlcnZlQWZ0ZXIFAAAAFnRvdGFsUG9zaXRpb25TaXplQWZ0ZXIFAAAAF2N1bXVsYXRpdmVOb3Rpb25hbEFmdGVyBQAAABlvcGVuSW50ZXJlc3ROb3Rpb25hbEFmdGVyBQAAAA50b3RhbExvbmdBZnRlcgUAAAAPdG90YWxTaG9ydEFmdGVyCQEAAAAId2l0aGRyYXcAAAACCAUAAAABaQAAAAZjYWxsZXIFAAAAD2ZlZVRvTGlxdWlkYXRvcgkBAAAADXVwZGF0ZUJhbGFuY2UAAAABBQAAAAphbW1CYWREZWJ0CQAAAgAAAAECAAAAJFN0cmljdCB2YWx1ZSBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLgkAAAIAAAABAgAAACRTdHJpY3QgdmFsdWUgaXMgbm90IGVxdWFsIHRvIGl0c2VsZi4JAAACAAAAAQIAAAAkU3RyaWN0IHZhbHVlIGlzIG5vdCBlcXVhbCB0byBpdHNlbGYuAAAAAWkBAAAACnBheUZ1bmRpbmcAAAAABAAAABVmdW5kaW5nQmxvY2tUaW1lc3RhbXAJAQAAABluZXh0RnVuZGluZ0Jsb2NrVGltZXN0YW1wAAAAAAMDAwkAAGYAAAACBQAAABVmdW5kaW5nQmxvY2tUaW1lc3RhbXAIBQAAAAlsYXN0QmxvY2sAAAAJdGltZXN0YW1wBgkBAAAAASEAAAABCQEAAAALaW5pdGlhbGl6ZWQAAAAABgkBAAAABnBhdXNlZAAAAAAJAAACAAAAAQkAASwAAAACCQABLAAAAAIJAAEsAAAAAgIAAAAhSW52YWxpZCBmdW5kaW5nIGJsb2NrIHRpbWVzdGFtcDogCQABpAAAAAEIBQAAAAlsYXN0QmxvY2sAAAAJdGltZXN0YW1wAgAAAAMgPCAJAAGkAAAAAQUAAAAVZnVuZGluZ0Jsb2NrVGltZXN0YW1wBAAAAA91bmRlcmx5aW5nUHJpY2UJAQAAABJnZXRPcmFjbGVUd2FwUHJpY2UAAAAABAAAAA1zcG90VHdhcFByaWNlCQEAAAAQZ2V0VHdhcFNwb3RQcmljZQAAAAAEAAAAB3ByZW1pdW0JAABlAAAAAgUAAAANc3BvdFR3YXBQcmljZQUAAAAPdW5kZXJseWluZ1ByaWNlBAAAAA0kdDA0MTcxNDQzNTEwAwMJAAAAAAAAAgkBAAAAFnRvdGFsU2hvcnRQb3NpdGlvblNpemUAAAAAAAAAAAAAAAAABgkAAAAAAAACCQEAAAAVdG90YWxMb25nUG9zaXRpb25TaXplAAAAAAAAAAAAAAAAAAkABRYAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwkAAGYAAAACAAAAAAAAAAAABQAAAAdwcmVtaXVtBAAAABRzaG9ydFByZW1pdW1GcmFjdGlvbgkBAAAABGRpdmQAAAACCQEAAAAEbXVsZAAAAAIFAAAAB3ByZW1pdW0JAQAAABRmdW5kaW5nUGVyaW9kRGVjaW1hbAAAAAAFAAAAB09ORV9EQVkEAAAAEHNob3J0RnVuZGluZ1JhdGUJAQAAAARkaXZkAAAAAgUAAAAUc2hvcnRQcmVtaXVtRnJhY3Rpb24FAAAAD3VuZGVybHlpbmdQcmljZQQAAAATbG9uZ1ByZW1pdW1GcmFjdGlvbgkBAAAABGRpdmQAAAACCQEAAAAEbXVsZAAAAAIFAAAAFHNob3J0UHJlbWl1bUZyYWN0aW9uCQEAAAAWdG90YWxTaG9ydFBvc2l0aW9uU2l6ZQAAAAAJAQAAABV0b3RhbExvbmdQb3NpdGlvblNpemUAAAAABAAAAA9sb25nRnVuZGluZ1JhdGUJAQAAAARkaXZkAAAAAgkBAAAABG11bGQAAAACBQAAABNsb25nUHJlbWl1bUZyYWN0aW9uBQAAAA9IVU5EUkVEX1BFUkNFTlQFAAAAD3VuZGVybHlpbmdQcmljZQkABRYAAAAEBQAAABRzaG9ydFByZW1pdW1GcmFjdGlvbgUAAAATbG9uZ1ByZW1pdW1GcmFjdGlvbgUAAAAQc2hvcnRGdW5kaW5nUmF0ZQUAAAAPbG9uZ0Z1bmRpbmdSYXRlBAAAABNsb25nUHJlbWl1bUZyYWN0aW9uCQEAAAAEZGl2ZAAAAAIJAQAAAARtdWxkAAAAAgUAAAAHcHJlbWl1bQkBAAAAFGZ1bmRpbmdQZXJpb2REZWNpbWFsAAAAAAUAAAAHT05FX0RBWQQAAAAPbG9uZ0Z1bmRpbmdSYXRlCQEAAAAEZGl2ZAAAAAIFAAAAE2xvbmdQcmVtaXVtRnJhY3Rpb24FAAAAD3VuZGVybHlpbmdQcmljZQQAAAAUc2hvcnRQcmVtaXVtRnJhY3Rpb24JAQAAAARkaXZkAAAAAgkBAAAABG11bGQAAAACBQAAABNsb25nUHJlbWl1bUZyYWN0aW9uCQEAAAAVdG90YWxMb25nUG9zaXRpb25TaXplAAAAAAkBAAAAFnRvdGFsU2hvcnRQb3NpdGlvblNpemUAAAAABAAAABBzaG9ydEZ1bmRpbmdSYXRlCQEAAAAEZGl2ZAAAAAIJAQAAAARtdWxkAAAAAgUAAAAUc2hvcnRQcmVtaXVtRnJhY3Rpb24FAAAAD0hVTkRSRURfUEVSQ0VOVAUAAAAPdW5kZXJseWluZ1ByaWNlCQAFFgAAAAQFAAAAFHNob3J0UHJlbWl1bUZyYWN0aW9uBQAAABNsb25nUHJlbWl1bUZyYWN0aW9uBQAAABBzaG9ydEZ1bmRpbmdSYXRlBQAAAA9sb25nRnVuZGluZ1JhdGUEAAAAFHNob3J0UHJlbWl1bUZyYWN0aW9uCAUAAAANJHQwNDE3MTQ0MzUxMAAAAAJfMQQAAAATbG9uZ1ByZW1pdW1GcmFjdGlvbggFAAAADSR0MDQxNzE0NDM1MTAAAAACXzIEAAAAEHNob3J0RnVuZGluZ1JhdGUIBQAAAA0kdDA0MTcxNDQzNTEwAAAAAl8zBAAAAA9sb25nRnVuZGluZ1JhdGUIBQAAAA0kdDA0MTcxNDQzNTEwAAAAAl80CQEAAAANdXBkYXRlRnVuZGluZwAAAAUJAABkAAAAAgUAAAAVZnVuZGluZ0Jsb2NrVGltZXN0YW1wCQEAAAAUZnVuZGluZ1BlcmlvZFNlY29uZHMAAAAACQAAZAAAAAIJAQAAACNsYXRlc3RMb25nQ3VtdWxhdGl2ZVByZW1pdW1GcmFjdGlvbgAAAAAFAAAAE2xvbmdQcmVtaXVtRnJhY3Rpb24JAABkAAAAAgkBAAAAJGxhdGVzdFNob3J0Q3VtdWxhdGl2ZVByZW1pdW1GcmFjdGlvbgAAAAAFAAAAFHNob3J0UHJlbWl1bUZyYWN0aW9uBQAAAA9sb25nRnVuZGluZ1JhdGUFAAAAEHNob3J0RnVuZGluZ1JhdGUAAAABaQEAAAAFdl9nZXQAAAABAAAAB190cmFkZXIEAAAADSR0MDQzODMxNDM4ODQJAQAAABVpbnRlcm5hbENsb3NlUG9zaXRpb24AAAABBQAAAAdfdHJhZGVyBAAAAAJ4MQgFAAAADSR0MDQzODMxNDM4ODQAAAACXzEEAAAAAngyCAUAAAANJHQwNDM4MzE0Mzg4NAAAAAJfMgQAAAACeDMIBQAAAA0kdDA0MzgzMTQzODg0AAAAAl8zBAAAAAJ4NAgFAAAADSR0MDQzODMxNDM4ODQAAAACXzQJAAACAAAAAQkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkBAAAAAXMAAAABBQAAAAJ4MgkBAAAAAXMAAAABBQAAAAJ4MwkBAAAAAXMAAAABBQAAAAJ4NAkBAAAAAXMAAAABCQEAAAAOZ2V0TWFyZ2luUmF0aW8AAAABBQAAAAdfdHJhZGVyAAAAAWkBAAAAJ3ZpZXdfY2FsY1JlbWFpbk1hcmdpbldpdGhGdW5kaW5nUGF5bWVudAAAAAEAAAAHX3RyYWRlcgQAAAANJHQwNDQwMzE0NDE0MgkBAAAAC2dldFBvc2l0aW9uAAAAAQUAAAAHX3RyYWRlcgQAAAAMcG9zaXRpb25TaXplCAUAAAANJHQwNDQwMzE0NDE0MgAAAAJfMQQAAAAOcG9zaXRpb25NYXJnaW4IBQAAAA0kdDA0NDAzMTQ0MTQyAAAAAl8yBAAAAANwb24IBQAAAA0kdDA0NDAzMTQ0MTQyAAAAAl8zBAAAABFwb3NpdGlvbkxzdFVwZENQRggFAAAADSR0MDQ0MDMxNDQxNDIAAAACXzQEAAAADSR0MDQ0MTQ3NDQyNDgJAQAAACNnZXRQb3NpdGlvbk5vdGlvbmFsQW5kVW5yZWFsaXplZFBubAAAAAIFAAAAB190cmFkZXIFAAAAD1BOTF9PUFRJT05fU1BPVAQAAAAQcG9zaXRpb25Ob3Rpb25hbAgFAAAADSR0MDQ0MTQ3NDQyNDgAAAACXzEEAAAADXVucmVhbGl6ZWRQbmwIBQAAAA0kdDA0NDE0NzQ0MjQ4AAAAAl8yBAAAAA0kdDA0NDI1MzQ0NDM1CQEAAAAiY2FsY1JlbWFpbk1hcmdpbldpdGhGdW5kaW5nUGF5bWVudAAAAAQFAAAADHBvc2l0aW9uU2l6ZQUAAAAOcG9zaXRpb25NYXJnaW4FAAAAEXBvc2l0aW9uTHN0VXBkQ1BGBQAAAA11bnJlYWxpemVkUG5sBAAAAAxyZW1haW5NYXJnaW4IBQAAAA0kdDA0NDI1MzQ0NDM1AAAAAl8xBAAAAAdiYWREZWJ0CAUAAAANJHQwNDQyNTM0NDQzNQAAAAJfMgQAAAAOZnVuZGluZ1BheW1lbnQIBQAAAA0kdDA0NDI1MzQ0NDM1AAAAAl8zCQAAAgAAAAEJAAEsAAAAAgkAASwAAAACCQEAAAABcwAAAAEFAAAADHJlbWFpbk1hcmdpbgkBAAAAAXMAAAABBQAAAA5mdW5kaW5nUGF5bWVudAkBAAAAAXMAAAABCQEAAAAOZ2V0TWFyZ2luUmF0aW8AAAABBQAAAAdfdHJhZGVyAAAAAQAAAAJ0eAEAAAAGdmVyaWZ5AAAAAAkAAfQAAAADCAUAAAACdHgAAAAJYm9keUJ5dGVzCQABkQAAAAIIBQAAAAJ0eAAAAAZwcm9vZnMAAAAAAAAAAAAJAQAAAA5hZG1pblB1YmxpY0tleQAAAADhHWei", "height": 2122355, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: BNkkPsC22wDFt5GxsX3V2oZ33CmPStsdDoZGtVR26zA2 Next: 9UZ7omFNbh8d4fPBqHZFKVdFFALUGNMofNZtDSoC8Xp3 Full:
OldNewDifferences
11 {-# STDLIB_VERSION 5 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
44 let a = "k_ora_key"
55
66 let b = "k_ora"
77
88 let c = "k_balance"
99
1010 let d = "k_positionSize"
1111
1212 let e = "k_positionMargin"
1313
1414 let f = "k_positionOpenNotional"
1515
1616 let g = "k_positionFraction"
1717
1818 let h = "k_initialized"
1919
2020 let i = "k_paused"
2121
2222 let j = "k_fee"
2323
2424 let k = "k_fundingPeriod"
2525
2626 let l = "k_initMarginRatio"
2727
2828 let m = "k_mmr"
2929
3030 let n = "k_liquidationFeeRatio"
3131
3232 let o = "k_spreadLimit"
3333
3434 let p = "k_maxPriceImpact"
3535
3636 let q = "k_lastDataStr"
3737
3838 let r = "k_lastMinuteId"
3939
4040 let s = "k_twapDataLastCumulativePrice"
4141
4242 let t = "k_twapDataLastPrice"
4343
4444 let u = "k_latestLongPremiumFraction"
4545
4646 let v = "k_latestShortPremiumFraction"
4747
4848 let w = "k_nextFundingBlockMinTimestamp"
4949
5050 let x = "k_longFundingRate"
5151
5252 let y = "k_shortFundingRate"
5353
5454 let z = "k_qtAstR"
5555
5656 let A = "k_bsAstR"
5757
5858 let B = "k_totalPositionSize"
5959
6060 let C = "k_totalLongPositionSize"
6161
6262 let D = "k_totalShortPositionSize"
6363
6464 let E = "k_cumulativeNotional"
6565
6666 let F = "k_openInterestNotional"
6767
6868 let G = "k_coordinatorAddress"
6969
7070 let H = "k_insurance_address"
7171
7272 let I = "k_admin_address"
7373
7474 let J = "k_admin_public_key"
7575
7676 let K = "k_quote_asset"
7777
7878 let L = "k_quote_staking"
7979
8080 let M = "k_staking_address"
8181
8282 func N () = valueOrErrorMessage(addressFromString(getStringValue(this, G)), "Coordinator not set")
8383
8484
8585 func O () = addressFromString(getStringValue(N(), I))
8686
8787
8888 func P () = fromBase58String(getStringValue(N(), J))
8989
9090
9191 func Q () = fromBase58String(getStringValue(N(), K))
9292
9393
9494 func R () = valueOrErrorMessage(addressFromString(getStringValue(N(), L)), "Quote asset staking not set")
9595
9696
9797 func S () = valueOrErrorMessage(addressFromString(getStringValue(N(), M)), "Insurance not set")
9898
9999
100100 func T () = valueOrErrorMessage(addressFromString(getStringValue(N(), H)), "Insurance not set")
101101
102102
103103 let U = 1
104104
105105 let V = 2
106106
107107 let W = 60
108108
109109 let X = 15
110110
111111 let Y = 1000
112112
113113 let Z = (1 * (((((10 * 10) * 10) * 10) * 10) * 10))
114114
115115 let aa = (100 * Z)
116116
117117 let ab = (86400 * Z)
118118
119119 let ac = 100
120120
121121 let ad = 1
122122
123123 let ae = 2
124124
125125 func af (ag) = (toString(ag) + ",")
126126
127127
128128 func ah (ag,ai) = fraction(ag, Z, ai, HALFEVEN)
129129
130130
131131 func aj (ag,ai) = fraction(ag, ai, Z, HALFEVEN)
132132
133133
134134 func ak (ag) = if ((ag > 0))
135135 then ag
136136 else -(ag)
137137
138138
139139 func al (am,an) = ((am + "_") + an)
140140
141141
142142 func ao (ap) = valueOrErrorMessage(getInteger(this, ap), ("no value for " + ap))
143143
144144
145145 func aq () = ao(c)
146146
147147
148148 func ar () = ao(j)
149149
150150
151151 func as () = ao(l)
152152
153153
154154 func at () = ao(z)
155155
156156
157157 func au () = ao(A)
158158
159159
160160 func av () = ao(B)
161161
162162
163163 func aw () = ao(E)
164164
165165
166166 func ax () = ao(F)
167167
168168
169169 func ay () = ao(w)
170170
171171
172172 func az () = ao(k)
173173
174174
175175 func aA () = (az() * Z)
176176
177177
178178 func aB () = (az() * Y)
179179
180180
181181 func aC () = ao(m)
182182
183183
184184 func aD () = ao(n)
185185
186186
187187 func aE () = ao(o)
188188
189189
190190 func aF () = ao(p)
191191
192192
193193 func aG () = ao(u)
194194
195195
196196 func aH () = ao(v)
197197
198198
199199 func aI () = ao(D)
200200
201201
202202 func aJ () = ao(C)
203203
204204
205205 func aK (aL,aM,aN) = {
206206 let aO = (aL - aM)
207207 if (if (aN)
208208 then (0 > aO)
209209 else false)
210210 then throw("Invalid margin")
211211 else if (if (!(aN))
212212 then (aO >= 0)
213213 else false)
214214 then throw("Invalid margin")
215215 else true
216216 }
217217
218218
219219 func aP (aQ) = if ((aQ == 0))
220220 then throw("Should not be called with _positionSize == 0")
221221 else if ((aQ > 0))
222222 then aG()
223223 else aH()
224224
225225
226226 func aR (aS) = {
227227 let aT = getInteger(this, al(d, aS))
228228 let aU = aT
229229 if ($isInstanceOf(aU, "Int"))
230230 then {
231231 let aV = aU
232232 $Tuple4(aV, getIntegerValue(this, al(e, aS)), getIntegerValue(this, al(f, aS)), getIntegerValue(this, al(g, aS)))
233233 }
234234 else $Tuple4(0, 0, 0, 0)
235235 }
236236
237237
238238 func aW (aS) = if ((aR(aS)._1 == 0))
239239 then throw("No open position")
240240 else true
241241
242242
243243 func aX () = valueOrElse(getBoolean(this, h), false)
244244
245245
246246 func aY () = valueOrElse(getBoolean(this, i), false)
247247
248248
249249 func aZ (ba,bb,bc) = if (ba)
250250 then {
251251 let bd = (au() - bc)
252252 if ((0 >= bd))
253253 then throw("Tx lead to base asset reserve <= 0, revert")
254254 else $Tuple4((at() + bb), bd, (av() + bc), (aw() + bb))
255255 }
256256 else {
257257 let be = (at() - bb)
258258 if ((0 >= be))
259259 then throw("Tx lead to base quote reserve <= 0, revert")
260260 else $Tuple4(be, (au() + bc), (av() - bc), (aw() - bb))
261261 }
262262
263263
264264 func bf (ba,bb) = {
265265 let bg = at()
266266 let bh = au()
267267 let bi = ah(bg, bh)
268268 let bj = aj(bb, bi)
269269 let ap = aj(bg, bh)
270270 let bk = if (ba)
271271 then (bg + bb)
272272 else (bg - bb)
273273 let bl = ah(ap, bk)
274274 let bm = ak((bl - bh))
275275 let bn = if (ba)
276276 then bm
277277 else -(bm)
278278 let bo = ((bj - bm) / bj)
279279 let bp = aF()
280280 if ((bo > bp))
281281 then throw(((("Price impact " + toString(bo)) + " > max price impact ") + toString(bp)))
282282 else {
283283 let bq = aZ(ba, bb, bm)
284284 let br = bq._1
285285 let bs = bq._2
286286 let bt = bq._3
287287 let bu = bq._4
288288 $Tuple5(bn, br, bs, bt, bu)
289289 }
290290 }
291291
292292
293293 func bv (bw,bx,by,bz) = {
294294 let bA = if ((bw != 0))
295295 then {
296296 let bB = aP(bw)
297297 aj((bB - by), bw)
298298 }
299299 else 0
300300 let bC = ((bz - bA) + bx)
301301 let bD = if ((0 > bC))
302302 then $Tuple2(0, ak(bC))
303303 else $Tuple2(ak(bC), 0)
304304 let bE = bD._1
305305 let bF = bD._2
306306 $Tuple3(bE, bF, bA)
307307 }
308308
309309
310310 func bG (ba,bc) = {
311311 let bH = at()
312312 let bI = au()
313313 if ((bc == 0))
314314 then throw("Invalid base asset amount")
315315 else {
316316 let ap = aj(bH, bI)
317317 let bJ = if (ba)
318318 then (bI + bc)
319319 else (bI - bc)
320320 let bK = ah(ap, bJ)
321321 let bL = ak((bK - bH))
322322 let bM = aZ(!(ba), bL, bc)
323323 let br = bM._1
324324 let bs = bM._2
325325 let bt = bM._3
326326 let bu = bM._4
327327 $Tuple7(bL, br, bs, bt, bu, (aJ() - (if (ba)
328328 then ak(bc)
329329 else 0)), (aI() - (if (!(ba))
330330 then ak(bc)
331331 else 0)))
332332 }
333333 }
334334
335335
336336 func bN () = {
337337 let bO = valueOrErrorMessage(addressFromString(getStringValue(this, b)), "")
338338 let bP = getStringValue(this, a)
339339 getIntegerValue(bO, bP)
340340 }
341341
342342
343343 func bQ () = {
344344 let bH = at()
345345 let bI = au()
346346 ah(bH, bI)
347347 }
348348
349349
350350 func bR () = {
351351 let bS = bN()
352352 let bT = bQ()
353353 (ah(ak((bS - bT)), bS) > aE())
354354 }
355355
356356
357357 func bU (aS,bV) = {
358358 let bW = aR(aS)
359359 let aV = bW._1
360360 let bX = bW._2
361361 let bY = bW._3
362362 let bZ = bW._4
363363 let ca = ak(aV)
364364 if ((ca == 0))
365365 then throw("Invalid position size")
366366 else {
367367 let cb = (0 > aV)
368368 let cc = if ((bV == ad))
369369 then {
370370 let cd = bG(!(cb), ca)
371371 let ce = cd._1
372372 let cf = cd._2
373373 let cg = cd._3
374374 let ch = cd._4
375375 ce
376376 }
377377 else (ca * bN())
378378 let ci = if (cb)
379379 then (bY - cc)
380380 else (cc - bY)
381381 $Tuple2(cc, ci)
382382 }
383383 }
384384
385385
386386 func cj (aS,bV) = {
387387 let ck = aR(aS)
388388 let aV = ck._1
389389 let bX = ck._2
390390 let cl = ck._3
391391 let bZ = ck._4
392392 let cm = bU(aS, bV)
393393 let cc = cm._1
394394 let ci = cm._2
395395 let cn = bv(aV, bX, bZ, ci)
396396 let bE = cn._1
397397 let bF = cn._2
398398 ah((bE - bF), cc)
399399 }
400400
401401
402402 func co (aS) = cj(aS, ad)
403403
404404
405405 func cp (aS) = {
406406 let cq = aR(aS)
407407 let aV = cq._1
408408 let bX = cq._2
409409 let cl = cq._3
410410 let bZ = cq._4
411411 let cr = bU(aS, ad)
412412 let cf = cr._1
413413 let ci = cr._2
414414 let cs = bv(aV, bX, bZ, ci)
415415 let bE = cs._1
416416 let bF = cs._2
417417 let ct = -(aV)
418418 let cu = ci
419419 let cv = -(bE)
420420 let cw = bG((aV > 0), ak(aV))
421421 let cx = cw._1
422422 let bk = cw._2
423423 let bl = cw._3
424424 let cy = cw._4
425425 let cz = cw._5
426426 let cA = cw._6
427427 let cB = cw._7
428428 let cC = (ax() - cl)
429429 $Tuple12(ct, bF, cu, cv, bk, bl, cy, cz, cC, cx, cA, cB)
430430 }
431431
432432
433433 func cD () = {
434434 let cE = ((lastBlock.timestamp / 1000) / 60)
435435 let cF = (cE - X)
436436 let cG = valueOrElse(getString(this, q), "")
437437 let cH = split(cG, ",")
438438 func cI (cJ,cK) = if ((cF >= parseIntValue(cK)))
439439 then (cJ :+ parseIntValue(cK))
440440 else cJ
441441
442442 let cL = {
443443 let cM = cH
444444 let cN = size(cM)
445445 let cO = nil
446446 func cP (cQ,cR) = if ((cR >= cN))
447447 then cQ
448448 else cI(cQ, cM[cR])
449449
450450 func cS (cQ,cR) = if ((cR >= cN))
451451 then cQ
452452 else throw("List size exceeds 20")
453453
454454 cS(cP(cP(cP(cP(cP(cP(cP(cP(cP(cP(cP(cP(cP(cP(cP(cP(cP(cP(cP(cP(cO, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20)
455455 }
456456 let cT = if ((size(cL) > 0))
457457 then max(cL)
458458 else parseIntValue(cH[0])
459459 let cU = valueOrElse(getInteger(this, r), 0)
460460 let cV = valueOrElse(getInteger(this, ((s + "_") + toString(cU))), 0)
461461 let cW = valueOrElse(getInteger(this, ((t + "_") + toString(cU))), 0)
462462 let cX = (cV + ((cE - cU) * cW))
463463 let cY = valueOrElse(getInteger(this, ((s + "_") + toString(cT))), 0)
464464 let cZ = valueOrElse(getInteger(this, ((t + "_") + toString(cT))), 0)
465465 let da = (cY + ((cF - cT) * cZ))
466466 ((cX - da) / X)
467467 }
468468
469469
470470 func db (dc,dd,de,df,dg,dh,di) = [IntegerEntry(l, dc), IntegerEntry(m, dd), IntegerEntry(n, de), IntegerEntry(k, df), IntegerEntry(j, dg), IntegerEntry(o, dh), IntegerEntry(p, di)]
471471
472472
473473 func dj (dk,dl,dm,dn,do) = [IntegerEntry(w, dk), IntegerEntry(u, dl), IntegerEntry(v, dm), IntegerEntry(x, dn), IntegerEntry(y, do)]
474474
475475
476476 func dp (an,dq,dr,ds,bB) = [IntegerEntry(al(d, an), dq), IntegerEntry(al(e, an), dr), IntegerEntry(al(f, an), ds), IntegerEntry(al(g, an), bB)]
477477
478478
479479 func dt (du) = {
480480 let cE = ((lastBlock.timestamp / 1000) / 60)
481481 let dv = valueOrElse(getInteger(this, r), 0)
482482 if ((dv > cE))
483483 then throw("TWAP out-of-order")
484484 else {
485485 let cU = if ((dv == 0))
486486 then cE
487487 else dv
488488 let cG = valueOrElse(getString(this, q), "")
489489 let dw = split(cG, ",")
490490 let cH = if ((size(dw) > X))
491491 then (removeByIndex(dw, 0) :+ toString(cE))
492492 else (dw :+ toString(cE))
493493 let dx = valueOrElse(getInteger(this, ((s + "_") + toString(dv))), 0)
494494 let dy = valueOrElse(getInteger(this, ((t + "_") + toString(dv))), du)
495495 let dz = (dx + ((cE - cU) * dy))
496496 func dA (cJ,dB) = ((cJ + dB) + ",")
497497
498498 let dC = {
499499 let cM = cH
500500 let cN = size(cM)
501501 let cO = ""
502502 func cP (cQ,cR) = if ((cR >= cN))
503503 then cQ
504504 else dA(cQ, cM[cR])
505505
506506 func cS (cQ,cR) = if ((cR >= cN))
507507 then cQ
508508 else throw("List size exceeds 20")
509509
510510 cS(cP(cP(cP(cP(cP(cP(cP(cP(cP(cP(cP(cP(cP(cP(cP(cP(cP(cP(cP(cP(cO, 0), 1), 2), 3), 4), 5), 6), 7), 8), 9), 10), 11), 12), 13), 14), 15), 16), 17), 18), 19), 20)
511511 }
512512 let dD = dropRight(dC, 1)
513513 let dE = if ((take(dD, 1) == ","))
514514 then drop(dD, 1)
515515 else dD
516516 [IntegerEntry(((s + "_") + toString(cE)), dz), IntegerEntry(((t + "_") + toString(cE)), du), IntegerEntry(r, cE), StringEntry(q, dE)]
517517 }
518518 }
519519
520520
521521 func dF (bg,bh,dG,dH,dI,dJ,dK) = if (((dJ - dK) != dG))
522522 then throw(((((("Invalid AMM state data: " + toString(dJ)) + " + ") + toString(dK)) + " != ") + toString(dG)))
523523 else ([IntegerEntry(z, bg), IntegerEntry(A, bh), IntegerEntry(B, dG), IntegerEntry(E, dH), IntegerEntry(F, dI), IntegerEntry(C, dJ), IntegerEntry(D, dK)] ++ dt(ah(bg, bh)))
524524
525525
526526 func dL (an) = [DeleteEntry(al(d, an)), DeleteEntry(al(e, an)), DeleteEntry(al(f, an)), DeleteEntry(al(g, an))]
527527
528528
529529 func dM (an,dN) = {
530530 let dO = assetBalance(this, Q())
531531 if ((dN > dO))
532532 then throw(((("Unable to withdraw " + toString(dN)) + " from contract balance ") + toString(dO)))
533533 else [ScriptTransfer(an, dN, Q())]
534534 }
535535
536536
537537 func dP (dQ) = if ((0 > dQ))
538538 then throw("Balance")
539539 else [IntegerEntry(c, dQ)]
540540
541541
542542 func dR (dQ) = [ScriptTransfer(S(), dQ, Q())]
543543
544544
545545 @Callable(dQ)
546546 func pause () = if ((dQ.caller != O()))
547547 then throw("Invalid togglePause params")
548548 else [BooleanEntry(i, true)]
549549
550550
551551
552552 @Callable(dQ)
553553 func unpause () = if ((dQ.caller != O()))
554554 then throw("Invalid togglePause params")
555555 else [BooleanEntry(i, false)]
556556
557557
558558
559559 @Callable(dQ)
560560 func changeSettings (dc,dd,de,df,dg,dh,di) = if ((dQ.caller != O()))
561561 then throw("Invalid changeSettings params")
562562 else db(dc, dd, de, df, dg, dh, di)
563563
564564
565565
566566 @Callable(dQ)
567567 func initialize (bg,bh,df,dc,dd,de,dg,dS,dT,dU,dh,di) = if (if (if (if (if (if (if (if (if (if ((0 >= bg))
568568 then true
569569 else (0 >= bh))
570570 then true
571571 else (0 >= df))
572572 then true
573573 else (0 >= dc))
574574 then true
575575 else (0 >= dd))
576576 then true
577577 else (0 >= de))
578578 then true
579579 else (0 >= dg))
580580 then true
581581 else (0 >= dh))
582582 then true
583583 else (0 >= di))
584584 then true
585585 else aX())
586586 then throw("Invalid initialize parameters")
587587 else ((((dF(bg, bh, 0, 0, 0, 0, 0) ++ db(dc, dd, de, df, dg, dh, di)) ++ dj((lastBlock.timestamp + df), 0, 0, 0, 0)) ++ dP(0)) ++ [BooleanEntry(h, true), StringEntry(b, dS), StringEntry(a, dT), StringEntry(G, dU)])
588588
589589
590590
591591 @Callable(dQ)
592592 func decreasePosition (dV,dN,dW,dX) = if (if (if (if (if (if (if (if ((dV != U))
593593 then (dV != V)
594594 else false)
595595 then true
596596 else (0 >= dN))
597597 then true
598598 else if (((1 * Z) > dW))
599599 then true
600600 else (dW > (3 * Z)))
601601 then true
602602 else !(aX()))
603603 then true
604604 else !(aK(ah(Z, dW), as(), true)))
605605 then true
606606 else !(aW(toString(dQ.caller))))
607607 then true
608608 else aY())
609609 then throw("Invalid decreasePosition parameters")
610610 else {
611611 let dY = aR(toString(dQ.caller))
612612 let dZ = dY._1
613613 let ea = dY._2
614614 let eb = dY._3
615615 let ec = dY._4
616616 let ed = (dZ == 0)
617617 let ee = if ((dZ > 0))
618618 then (dV == U)
619619 else (dV == V)
620620 let ef = if (!(ed))
621621 then ee
622622 else false
623623 let eg = (dV == U)
624624 let eh = if (if (ed)
625625 then true
626626 else ef)
627627 then throw("Use increasePosition to open new or increase position")
628628 else {
629629 let ei = aj(dN, dW)
630630 let ej = bU(toString(dQ.caller), ad)
631631 let ek = ej._1
632632 let ci = ej._2
633633 if ((ek > ei))
634634 then {
635635 let el = bf(eg, ei)
636636 let ct = el._1
637637 let bk = el._2
638638 let bl = el._3
639639 let cy = el._4
640640 let cz = el._5
641641 let em = ak(ct)
642642 if (if ((dX != 0))
643643 then (dX > em)
644644 else false)
645645 then throw(((("Too little base asset exchanged, got " + toString(em)) + " expected ") + toString(dX)))
646646 else {
647647 let cu = if ((dZ != 0))
648648 then ah(aj(ci, em), dZ)
649649 else 0
650650 let en = bv(dZ, ea, ec, cu)
651651 let bE = en._1
652652 let bF = en._2
653653 let bA = en._3
654654 let cx = ei
655655 let eo = (ci - cu)
656656 let ep = if ((dZ > 0))
657657 then ((ek - cx) - eo)
658658 else ((eo + ek) - cx)
659659 let eq = (dZ + ct)
660660 $Tuple11(eq, bE, ak(ep), aP(eq), bl, bk, cy, cz, (ax() - ei), (aJ() - (if ((eq > 0))
661661 then ak(ct)
662662 else 0)), (aI() - (if ((0 > eq))
663663 then ak(ct)
664664 else 0)))
665665 }
666666 }
667667 else throw("Close position first")
668668 }
669669 let eq = eh._1
670670 let er = eh._2
671671 let es = eh._3
672672 let et = eh._4
673673 let bl = eh._5
674674 let bk = eh._6
675675 let cy = eh._7
676676 let cz = eh._8
677677 let cC = eh._9
678678 let cA = eh._10
679679 let cB = eh._11
680680 (dp(toString(dQ.caller), eq, er, es, et) ++ dF(bk, bl, cy, cz, cC, cA, cB))
681681 }
682682
683683
684684
685685 @Callable(dQ)
686686 func increasePosition (dV,dW,dX) = {
687687 let eu = dQ.payments[0].amount
688688 if (if (if (if (if (if (if (if ((dV != U))
689689 then (dV != V)
690690 else false)
691691 then true
692692 else (0 >= eu))
693693 then true
694694 else if (((1 * Z) > dW))
695695 then true
696696 else (dW > (3 * Z)))
697697 then true
698698 else !(aX()))
699699 then true
700700 else (dQ.payments[0].assetId != Q()))
701701 then true
702702 else !(aK(ah(Z, dW), as(), true)))
703703 then true
704704 else aY())
705705 then throw("Invalid increasePosition parameters")
706706 else {
707707 let ev = aj(eu, ar())
708708 let dN = (eu - ev)
709709 let ew = aR(toString(dQ.caller))
710710 let dZ = ew._1
711711 let ea = ew._2
712712 let eb = ew._3
713713 let ed = (dZ == 0)
714714 let ee = if ((dZ > 0))
715715 then (dV == U)
716716 else (dV == V)
717717 let ef = if (!(ed))
718718 then ee
719719 else false
720720 let eg = (dV == U)
721721 let ex = if (if (ed)
722722 then true
723723 else ef)
724724 then {
725725 let ei = aj(dN, dW)
726726 let ey = bf(eg, ei)
727727 let bn = ey._1
728728 let bk = ey._2
729729 let bl = ey._3
730730 let cy = ey._4
731731 let cz = ey._5
732732 if (if ((dX != 0))
733733 then (dX > ak(bn))
734734 else false)
735735 then throw(((("Limit error: " + toString(ak(bn))) + " < ") + toString(dX)))
736736 else {
737737 let eq = (dZ + bn)
738738 let bZ = aP(eq)
739739 let ez = ah(ei, dW)
740740 let eA = bv(dZ, ea, bZ, ez)
741741 let bE = eA._1
742742 let cf = eA._2
743743 let cg = eA._3
744744 $Tuple11(eq, bE, (eb + ei), aP(eq), bl, bk, cy, cz, (ax() + ei), (aJ() + (if ((eq > 0))
745745 then ak(bn)
746746 else 0)), (aI() + (if ((0 > eq))
747747 then ak(bn)
748748 else 0)))
749749 }
750750 }
751751 else {
752752 let ei = aj(dN, dW)
753753 let eB = bU(toString(dQ.caller), ad)
754754 let ek = eB._1
755755 let ci = eB._2
756756 if ((ek > ei))
757757 then throw("Use decreasePosition to decrease position size")
758758 else throw("Close position first")
759759 }
760760 let eq = ex._1
761761 let er = ex._2
762762 let es = ex._3
763763 let et = ex._4
764764 let bl = ex._5
765765 let bk = ex._6
766766 let cy = ex._7
767767 let cz = ex._8
768768 let cC = ex._9
769769 let cA = ex._10
770770 let cB = ex._11
771771 let eC = (ev / 2)
772772 let eD = (ev - eC)
773773 let eE = invoke(R(), "lockNeutrinoSP", [toString(S()), ac], [AttachedPayment(Q(), dN)])
774774 if ((eE == eE))
775775 then {
776776 let eF = invoke(T(), "deposit", nil, [AttachedPayment(Q(), eD)])
777777 if ((eF == eF))
778778 then (((dp(toString(dQ.caller), eq, er, es, et) ++ dF(bk, bl, cy, cz, cC, cA, cB)) ++ dR(eC)) ++ dP((aq() + dN)))
779779 else throw("Strict value is not equal to itself.")
780780 }
781781 else throw("Strict value is not equal to itself.")
782782 }
783783 }
784784
785785
786786
787787 @Callable(dQ)
788788 func addMargin () = {
789789 let eu = dQ.payments[0].amount
790790 if (if (if (if ((dQ.payments[0].assetId != Q()))
791791 then true
792792 else !(aW(toString(dQ.caller))))
793793 then true
794794 else !(aX()))
795795 then true
796796 else aY())
797797 then throw("Invalid addMargin parameters")
798798 else {
799799 let ev = aj(eu, ar())
800800 let dN = (eu - ev)
801801 let eG = aR(toString(dQ.caller))
802802 let dZ = eG._1
803803 let ea = eG._2
804804 let eb = eG._3
805805 let ec = eG._4
806806 let eC = (ev / 2)
807807 let eD = (ev - eC)
808808 let eE = invoke(R(), "lockNeutrinoSP", [toString(S()), ac], [AttachedPayment(Q(), dN)])
809809 if ((eE == eE))
810810 then {
811811 let eF = invoke(T(), "deposit", nil, [AttachedPayment(Q(), eD)])
812812 if ((eF == eF))
813813 then ((dp(toString(dQ.caller), dZ, (ea + dN), eb, ec) ++ dR(eC)) ++ dP((aq() + dN)))
814814 else throw("Strict value is not equal to itself.")
815815 }
816816 else throw("Strict value is not equal to itself.")
817817 }
818818 }
819819
820820
821821
822822 @Callable(dQ)
823823 func removeMargin (dN) = if (if (if (if ((0 >= dN))
824824 then true
825825 else !(aW(toString(dQ.caller))))
826826 then true
827827 else !(aX()))
828828 then true
829829 else aY())
830830 then throw("Invalid removeMargin parameters")
831831 else {
832832 let eH = aR(toString(dQ.caller))
833833 let dZ = eH._1
834834 let ea = eH._2
835835 let eb = eH._3
836836 let ec = eH._4
837837 let eI = -(dN)
838838 let eJ = bv(dZ, ea, ec, eI)
839839 let bE = eJ._1
840840 let bF = eJ._2
841841 if ((bF != 0))
842842 then throw("Invalid added margin amount")
843843 else {
844844 let eK = invoke(R(), "unlockNeutrino", [dN, toBase58String(Q())], nil)
845845 if ((eK == eK))
846846 then ((dp(toString(dQ.caller), dZ, bE, eb, aP(dZ)) ++ dM(dQ.caller, dN)) ++ dP((aq() - dN)))
847847 else throw("Strict value is not equal to itself.")
848848 }
849849 }
850850
851851
852852
853853 @Callable(dQ)
854854 func closePosition () = if (if (if (!(aW(toString(dQ.caller))))
855855 then true
856856 else !(aX()))
857857 then true
858858 else aY())
859859 then throw("Invalid closePosition parameters")
860860 else {
861861 let eL = cp(toString(dQ.caller))
862862 let cf = eL._1
863863 let eM = eL._2
864864 let cu = eL._3
865865 let cv = eL._4
866866 let bk = eL._5
867867 let bl = eL._6
868868 let cy = eL._7
869869 let cz = eL._8
870870 let cC = eL._9
871871 let cg = eL._10
872872 let cA = eL._11
873873 let cB = eL._12
874874 if ((eM > 0))
875875 then throw("Unable to close position with bad debt")
876876 else {
877877 let eN = ak(cv)
878878 let eO = (aq() - eN)
879879 let eP = if ((0 > eO))
880880 then $Tuple2(0, ak(eO))
881881 else $Tuple2(eO, 0)
882882 let eQ = eP._1
883883 let eR = eP._2
884884 let eS = if ((eR > 0))
885885 then {
886886 let eT = invoke(T(), "withdraw", [eR], nil)
887887 if ((eT == eT))
888888 then nil
889889 else throw("Strict value is not equal to itself.")
890890 }
891891 else nil
892892 if ((eS == eS))
893893 then {
894894 let eK = invoke(R(), "unlockNeutrino", [(eN - eR), toBase58String(Q())], nil)
895895 if ((eK == eK))
896896 then (((dL(toString(dQ.caller)) ++ dF(bk, bl, cy, cz, cC, cA, cB)) ++ dM(dQ.caller, eN)) ++ dP(eQ))
897897 else throw("Strict value is not equal to itself.")
898898 }
899899 else throw("Strict value is not equal to itself.")
900900 }
901901 }
902902
903903
904904
905905 @Callable(dQ)
906906 func liquidate (aS) = {
907907 let eU = if (bR())
908908 then cj(aS, ae)
909909 else cj(aS, ad)
910910 if (if (if (if (!(aK(eU, aC(), false)))
911911 then true
912912 else !(aW(aS)))
913913 then true
914914 else !(aX()))
915915 then true
916916 else aY())
917917 then throw("Unable to liquidate")
918918 else {
919919 let eV = cp(aS)
920920 let cf = eV._1
921921 let bF = eV._2
922922 let cg = eV._3
923923 let cv = eV._4
924924 let bk = eV._5
925925 let bl = eV._6
926926 let cy = eV._7
927927 let cz = eV._8
928928 let cC = eV._9
929929 let cx = eV._10
930930 let cA = eV._11
931931 let cB = eV._12
932932 let eW = aj(cx, aD())
933933 let eX = (eW / 2)
934934 let eD = (eW - eX)
935935 let eY = (aq() - eW)
936936 let eZ = if ((0 > eY))
937937 then $Tuple2(0, ak(eY))
938938 else $Tuple2(eY, 0)
939939 let fa = eZ._1
940940 let fb = eZ._2
941941 let eS = if ((fb > 0))
942942 then {
943943 let eT = invoke(T(), "withdraw", [fb], nil)
944944 if ((eT == eT))
945945 then nil
946946 else throw("Strict value is not equal to itself.")
947947 }
948948 else nil
949949 if ((eS == eS))
950950 then {
951951 let eF = invoke(T(), "deposit", nil, [AttachedPayment(Q(), eD)])
952952 if ((eF == eF))
953953 then {
954954 let eK = invoke(R(), "unlockNeutrino", [(eX - fb), toBase58String(Q())], nil)
955955 if ((eK == eK))
956956 then (((dL(aS) ++ dF(bk, bl, cy, cz, cC, cA, cB)) ++ dM(dQ.caller, eX)) ++ dP(eY))
957957 else throw("Strict value is not equal to itself.")
958958 }
959959 else throw("Strict value is not equal to itself.")
960960 }
961961 else throw("Strict value is not equal to itself.")
962962 }
963963 }
964964
965965
966966
967967 @Callable(dQ)
968968 func payFunding () = {
969969 let fc = ay()
970970 if (if (if ((fc > lastBlock.timestamp))
971971 then true
972972 else !(aX()))
973973 then true
974974 else aY())
975975 then throw(((("Invalid funding block timestamp: " + toString(lastBlock.timestamp)) + " < ") + toString(fc)))
976976 else {
977977 let fd = bN()
978978 let fe = cD()
979979 let ff = (fe - fd)
980980 let fg = if (if ((aI() == 0))
981981 then true
982982 else (aJ() == 0))
983983 then $Tuple4(0, 0, 0, 0)
984984 else if ((0 > ff))
985985 then {
986986 let fh = ah(aj(ff, aA()), ab)
987987 let fi = ah(fh, fd)
988988 let fj = ah(aj(fh, aI()), aJ())
989989 let fk = ah(aj(fj, aa), fd)
990990 $Tuple4(fh, fj, fi, fk)
991991 }
992992 else {
993993 let fj = ah(aj(ff, aA()), ab)
994994 let fk = ah(fj, fd)
995995 let fh = ah(aj(fj, aJ()), aI())
996996 let fi = ah(aj(fh, aa), fd)
997997 $Tuple4(fh, fj, fi, fk)
998998 }
999999 let fh = fg._1
10001000 let fj = fg._2
10011001 let fi = fg._3
10021002 let fk = fg._4
10031003 dj((fc + aB()), (aG() + fj), (aH() + fh), fk, fi)
10041004 }
10051005 }
10061006
10071007
10081008
10091009 @Callable(dQ)
10101010 func v_get (aS) = {
10111011 let fl = cp(aS)
10121012 let cf = fl._1
10131013 let cg = fl._2
10141014 let ch = fl._3
10151015 let fm = fl._4
10161016 throw((((af(cg) + af(ch)) + af(fm)) + af(co(aS))))
10171017 }
10181018
10191019
10201020
10211021 @Callable(dQ)
10221022 func view_calcRemainMarginWithFundingPayment (aS) = {
10231023 let fn = aR(aS)
10241024 let aV = fn._1
10251025 let bX = fn._2
10261026 let cl = fn._3
10271027 let bZ = fn._4
10281028 let fo = bU(aS, ad)
10291029 let cc = fo._1
10301030 let ci = fo._2
10311031 let fp = bv(aV, bX, bZ, ci)
10321032 let bE = fp._1
10331033 let bF = fp._2
10341034 let bA = fp._3
10351035 throw(((af(bE) + af(bA)) + af(co(aS))))
10361036 }
10371037
10381038
10391039 @Verifier(fq)
10401040 func fr () = sigVerify(fq.bodyBytes, fq.proofs[0], P())
10411041

github/deemru/w8io/169f3d6 
105.73 ms