tx · 8Ak3pn2xYeZH25SsHWWepfEnxCtp7VTUxBKJ43s1ThLw 3NBHyQ67TPHySpoiugp35ZBDmy57KGbLiqH: -0.09000000 Waves 2021.03.24 16:20 [1451898] smart account 3NBHyQ67TPHySpoiugp35ZBDmy57KGbLiqH > SELF 0.00000000 Waves
{ "type": 13, "id": "8Ak3pn2xYeZH25SsHWWepfEnxCtp7VTUxBKJ43s1ThLw", "fee": 9000000, "feeAssetId": null, "timestamp": 1616592087728, "version": 2, "chainId": 84, "sender": "3NBHyQ67TPHySpoiugp35ZBDmy57KGbLiqH", "senderPublicKey": "BEhKtjrMZynwX3AJB6WJbFrM6UxW9ytKVsn1nRb7pKrX", "proofs": [ "gkRKRsVA2hSWgwuBNEy2BVHifrZ12ZrbdArCPre7ia35UXfnJy575foLyKRsi4qi32KtbuJfWvGnoK12vJH3sL1" ], "script": "base64:AAIEAAAAAAAAABEIAhIDCgEIEgMKAQgSAwoBCAAAAAIBAAAAE2dldERhdGFGcm9tQ3VzdG9tZXIAAAACAAAAA2tleQAAAANhZHIEAAAABGRhdGEEAAAAByRtYXRjaDAJAAQdAAAAAgUAAAADYWRyBQAAAANrZXkDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAABlN0cmluZwQAAAABYQUAAAAHJG1hdGNoMAUAAAABYQIAAAAABQAAAARkYXRhAQAAABBwbGF1c2liaWxpdHlDaGVrAAAABAAAAAVmaWVsZAAAAARwdWJrAAAAA2FkcgAAAARkYXRlBAAAAA1wcmljZUN1c3RvbWVyBAAAAAckbWF0Y2gwCQAEHQAAAAIFAAAAA2FkcgkAASwAAAACCQABLAAAAAIJAAEsAAAAAgkAASwAAAACBQAAAARwdWJrAgAAAAFfBQAAAAVmaWVsZAIAAAABXwUAAAAEZGF0ZQMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAGU3RyaW5nBAAAAAFhBQAAAAckbWF0Y2gwBQAAAAFhAgAAAAAEAAAACXByaWNlUGllbAQAAAAHJG1hdGNoMAkABB0AAAACBQAAAAR0aGlzBQAAAAVmaWVsZAMJAAABAAAAAgUAAAAHJG1hdGNoMAIAAAAGU3RyaW5nBAAAAAFhBQAAAAckbWF0Y2gwBQAAAAFhAgAAAAADCQAAAAAAAAIFAAAADXByaWNlQ3VzdG9tZXIFAAAACXByaWNlUGllbAYHAAAAAwAAAAFpAQAAAAtwZXJmb21PcmRlcgAAAAEAAAAEZGF0ZQQAAAANY2FsbGVyQWRkcmVzcwkBAAAAFGFkZHJlc3NGcm9tUHVibGljS2V5AAAAAQgFAAAAAWkAAAAPY2FsbGVyUHVibGljS2V5BAAAAAZmaWVsZDEJAQAAABNnZXREYXRhRnJvbUN1c3RvbWVyAAAAAgkAASwAAAACCQABLAAAAAIJAAJYAAAAAQgFAAAAAWkAAAAPY2FsbGVyUHVibGljS2V5AgAAACBfL09SREVSUzA1L0lET0MvRURJX0RDNDAvRE9DTlVNXwUAAAAEZGF0ZQUAAAANY2FsbGVyQWRkcmVzcwQAAAAGZmllbGQyCQEAAAATZ2V0RGF0YUZyb21DdXN0b21lcgAAAAIJAAEsAAAAAgkAASwAAAACCQACWAAAAAEIBQAAAAFpAAAAD2NhbGxlclB1YmxpY0tleQIAAAAgXy9PUkRFUlMwNS9JRE9DL0VESV9EQzQwL0RJUkVDVF8FAAAABGRhdGUFAAAADWNhbGxlckFkZHJlc3MEAAAABmZpZWxkMwkBAAAAE2dldERhdGFGcm9tQ3VzdG9tZXIAAAACCQABLAAAAAIJAAEsAAAAAgkAAlgAAAABCAUAAAABaQAAAA9jYWxsZXJQdWJsaWNLZXkCAAAAIF8vT1JERVJTMDUvSURPQy9FRElfREM0MC9ESVJFQ1RfBQAAAARkYXRlBQAAAA1jYWxsZXJBZGRyZXNzBAAAAAZmaWVsZDQJAQAAABNnZXREYXRhRnJvbUN1c3RvbWVyAAAAAgkAASwAAAACCQABLAAAAAIJAAJYAAAAAQgFAAAAAWkAAAAPY2FsbGVyUHVibGljS2V5AgAAACBfL09SREVSUzA1L0lET0MvRURJX0RDNDAvTUVTVFlQXwUAAAAEZGF0ZQUAAAANY2FsbGVyQWRkcmVzcwQAAAAGZmllbGQ1CQEAAAATZ2V0RGF0YUZyb21DdXN0b21lcgAAAAIJAAEsAAAAAgkAASwAAAACCQACWAAAAAEIBQAAAAFpAAAAD2NhbGxlclB1YmxpY0tleQIAAAAgXy9PUkRFUlMwNS9JRE9DL0VESV9EQzQwL01FU1RZUF8FAAAABGRhdGUFAAAADWNhbGxlckFkZHJlc3MEAAAABmZpZWxkNgkBAAAAE2dldERhdGFGcm9tQ3VzdG9tZXIAAAACCQABLAAAAAIJAAEsAAAAAgkAAlgAAAABCAUAAAABaQAAAA9jYWxsZXJQdWJsaWNLZXkCAAAAIF8vT1JERVJTMDUvSURPQy9FRElfREM0MC9SQ1ZQUk5fBQAAAARkYXRlBQAAAA1jYWxsZXJBZGRyZXNzBAAAAAZmaWVsZDcJAQAAABNnZXREYXRhRnJvbUN1c3RvbWVyAAAAAgkAASwAAAACCQABLAAAAAIJAAJYAAAAAQgFAAAAAWkAAAAPY2FsbGVyUHVibGljS2V5AgAAAB5fL09SREVSUzA1L0lET0MvRTFFREswMS9DVVJDWV8FAAAABGRhdGUFAAAADWNhbGxlckFkZHJlc3MEAAAABmZpZWxkOAkBAAAAE2dldERhdGFGcm9tQ3VzdG9tZXIAAAACCQABLAAAAAIJAAEsAAAAAgkAAlgAAAABCAUAAAABaQAAAA9jYWxsZXJQdWJsaWNLZXkCAAAAHl8vT1JERVJTMDUvSURPQy9FMUVESzAxL0hXQUVSXwUAAAAEZGF0ZQUAAAANY2FsbGVyQWRkcmVzcwQAAAAGZmllbGQ5CQEAAAATZ2V0RGF0YUZyb21DdXN0b21lcgAAAAIJAAEsAAAAAgkAASwAAAACCQACWAAAAAEIBQAAAAFpAAAAD2NhbGxlclB1YmxpY0tleQIAAAAeXy9PUkRFUlMwNS9JRE9DL0UxRURLMDEvQkVMTlJfBQAAAARkYXRlBQAAAA1jYWxsZXJBZGRyZXNzBAAAAAdmaWVsZDEwCQEAAAATZ2V0RGF0YUZyb21DdXN0b21lcgAAAAIJAAEsAAAAAgkAASwAAAACCQACWAAAAAEIBQAAAAFpAAAAD2NhbGxlclB1YmxpY0tleQIAAAAeXy9PUkRFUlMwNS9JRE9DL0UxRURLMDEvQkVMTlJfBQAAAARkYXRlBQAAAA1jYWxsZXJBZGRyZXNzBAAAAAdmaWVsZDExCQEAAAATZ2V0RGF0YUZyb21DdXN0b21lcgAAAAIJAAEsAAAAAgkAASwAAAACCQACWAAAAAEIBQAAAAFpAAAAD2NhbGxlclB1YmxpY0tleQIAAAAjXy9PUkRFUlMwNS9JRE9DL0UxRURLMDEvUkVDSVBOVF9OT18FAAAABGRhdGUFAAAADWNhbGxlckFkZHJlc3MEAAAAB2ZpZWxkMTIJAQAAABNnZXREYXRhRnJvbUN1c3RvbWVyAAAAAgkAASwAAAACCQABLAAAAAIJAAJYAAAAAQgFAAAAAWkAAAAPY2FsbGVyUHVibGljS2V5AgAAACFfL09SREVSUzA1L0lET0MvRTFFREtBMVsxXS9QQVJUTl8FAAAABGRhdGUFAAAADWNhbGxlckFkZHJlc3MEAAAAB2ZpZWxkMTMJAQAAABNnZXREYXRhRnJvbUN1c3RvbWVyAAAAAgkAASwAAAACCQABLAAAAAIJAAJYAAAAAQgFAAAAAWkAAAAPY2FsbGVyUHVibGljS2V5AgAAACFfL09SREVSUzA1L0lET0MvRTFFREtBMVsxXS9QQVJUTl8FAAAABGRhdGUFAAAADWNhbGxlckFkZHJlc3MEAAAAB2ZpZWxkMTQJAQAAABNnZXREYXRhRnJvbUN1c3RvbWVyAAAAAgkAASwAAAACCQABLAAAAAIJAAJYAAAAAQgFAAAAAWkAAAAPY2FsbGVyUHVibGljS2V5AgAAACFfL09SREVSUzA1L0lET0MvRTFFREtBMVsyXS9QQVJUTl8FAAAABGRhdGUFAAAADWNhbGxlckFkZHJlc3MEAAAAB2ZpZWxkMTUJAQAAABNnZXREYXRhRnJvbUN1c3RvbWVyAAAAAgkAASwAAAACCQABLAAAAAIJAAJYAAAAAQgFAAAAAWkAAAAPY2FsbGVyUHVibGljS2V5AgAAACVfL09SREVSUzA1L0lET0MvRTFFREtBMVsyXS9TUFJBU19JU09fBQAAAARkYXRlBQAAAA1jYWxsZXJBZGRyZXNzAwMDAwMDAwMDAwMDAwMDCQEAAAACIT0AAAACBQAAAAZmaWVsZDECAAAAAAkBAAAAAiE9AAAAAgUAAAAGZmllbGQyAgAAAAAHCQEAAAACIT0AAAACBQAAAAZmaWVsZDMCAAAAAAcJAQAAAAIhPQAAAAIFAAAABmZpZWxkNAIAAAAABwkBAAAAAiE9AAAAAgUAAAAGZmllbGQ1AgAAAAAHCQEAAAACIT0AAAACBQAAAAZmaWVsZDYCAAAAAAcJAQAAAAIhPQAAAAIFAAAABmZpZWxkNwIAAAAABwkBAAAAAiE9AAAAAgUAAAAGZmllbGQ4AgAAAAAHCQEAAAACIT0AAAACBQAAAAZmaWVsZDkCAAAAAAcJAQAAAAIhPQAAAAIFAAAAB2ZpZWxkMTACAAAAAAcJAQAAAAIhPQAAAAIFAAAAB2ZpZWxkMTECAAAAAAcJAQAAAAIhPQAAAAIFAAAAB2ZpZWxkMTICAAAAAAcJAQAAAAIhPQAAAAIFAAAAB2ZpZWxkMTMCAAAAAAcJAQAAAAIhPQAAAAIFAAAAB2ZpZWxkMTQCAAAAAAcJAQAAAAIhPQAAAAIFAAAAB2ZpZWxkMTUCAAAAAAcJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkAASwAAAACCQABLAAAAAIJAAJYAAAAAQgFAAAAAWkAAAAPY2FsbGVyUHVibGljS2V5AgAAADFfL0dFVklTRURJMDEvSGVhZGVyL0tvcGZkYXRlbi9FREktUmVmZXJlbnpudW1tZXJfBQAAAARkYXRlBQAAAAZmaWVsZDEJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkAASwAAAACCQABLAAAAAIJAAJYAAAAAQgFAAAAAWkAAAAPY2FsbGVyUHVibGljS2V5AgAAADpfL0dFVklTRURJMDEvSGVhZGVyL0tvcGZkYXRlbi9Qb3NpdGlvbnNkYXRlbi9QcmVpc2VpbmhlaXRfBQAAAARkYXRlBQAAAAZmaWVsZDIJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkAASwAAAACCQABLAAAAAIJAAJYAAAAAQgFAAAAAWkAAAAPY2FsbGVyUHVibGljS2V5AgAAAEpfL0dFVklTRURJMDEvSGVhZGVyL0tvcGZkYXRlbi9Qb3NpdGlvbnNkYXRlbi9Qb3NpdGlvbnNyZWZlcmVuemVuL1plaWxlbm5yXwUAAAAEZGF0ZQUAAAAGZmllbGQzCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAAEsAAAAAgkAASwAAAACCQACWAAAAAEIBQAAAAFpAAAAD2NhbGxlclB1YmxpY0tleQIAAAAjXy9HRVZJU0VESTAxL0hlYWRlci9OYWNocmljaHRlbnR5cF8FAAAABGRhdGUFAAAABmZpZWxkNAkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQABLAAAAAIJAAEsAAAAAgkAAlgAAAABCAUAAAABaQAAAA9jYWxsZXJQdWJsaWNLZXkCAAAAMV8vR0VWSVNFREkwMS9IZWFkZXIvS29wZmRhdGVuL0VESS1OYWNocmljaHRlbnR5cF8FAAAABGRhdGUFAAAABmZpZWxkNQkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQABLAAAAAIJAAEsAAAAAgkAAlgAAAABCAUAAAABaQAAAA9jYWxsZXJQdWJsaWNLZXkCAAAAPV8vR0VWSVNFREkwMS9IZWFkZXIvS29wZmRhdGVuL0tvcGZhZHJlc3NlblsyXS9SZWZlcmVuem51bW1lcl8FAAAABGRhdGUFAAAABmZpZWxkNgkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQABLAAAAAIJAAEsAAAAAgkAAlgAAAABCAUAAAABaQAAAA9jYWxsZXJQdWJsaWNLZXkCAAAALF8vR0VWSVNFREkwMS9IZWFkZXIvS29wZmRhdGVuL1dhZWhydW5nc2NvZGVfBQAAAARkYXRlBQAAAAZmaWVsZDcJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkAASwAAAACCQABLAAAAAIJAAJYAAAAAQgFAAAAAWkAAAAPY2FsbGVyUHVibGljS2V5AgAAACxfL0dFVklTRURJMDEvSGVhZGVyL0tvcGZkYXRlbi9XYWVocnVuZ3Njb2RlXwUAAAAEZGF0ZQUAAAAGZmllbGQ4CQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAAEsAAAAAgkAASwAAAACCQACWAAAAAEIBQAAAAFpAAAAD2NhbGxlclB1YmxpY0tleQIAAAAhXy9HRVZJU0VESTAxL0hlYWRlci9Lb3BmZGF0ZW4vTnJfBQAAAARkYXRlBQAAAAZmaWVsZDkJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkAASwAAAACCQABLAAAAAIJAAJYAAAAAQgFAAAAAWkAAAAPY2FsbGVyUHVibGljS2V5AgAAACxfL0dFVklTRURJMDEvSGVhZGVyL0tvcGZkYXRlbi9JaHJlLVJlZmVyZW56XwUAAAAEZGF0ZQUAAAAHZmllbGQxMAkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQABLAAAAAIJAAEsAAAAAgkAAlgAAAABCAUAAAABaQAAAA9jYWxsZXJQdWJsaWNLZXkCAAAAPV8vR0VWSVNFREkwMS9IZWFkZXIvS29wZmRhdGVuL0tvcGZhZHJlc3NlblsyXS9SZWZlcmVuem51bW1lcl8FAAAABGRhdGUFAAAAB2ZpZWxkMTEJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkAASwAAAACCQABLAAAAAIJAAJYAAAAAQgFAAAAAWkAAAAPY2FsbGVyUHVibGljS2V5AgAAAD1fL0dFVklTRURJMDEvSGVhZGVyL0tvcGZkYXRlbi9Lb3BmYWRyZXNzZW5bMV0vUmVmZXJlbnpudW1tZXJfBQAAAARkYXRlBQAAAAdmaWVsZDEyCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAAEsAAAAAgkAASwAAAACCQACWAAAAAEIBQAAAAFpAAAAD2NhbGxlclB1YmxpY0tleQIAAAA9Xy9HRVZJU0VESTAxL0hlYWRlci9Lb3BmZGF0ZW4vS29wZmFkcmVzc2VuWzNdL1JlZmVyZW56bnVtbWVyXwUAAAAEZGF0ZQUAAAAHZmllbGQxMwkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQABLAAAAAIJAAEsAAAAAgkAAlgAAAABCAUAAAABaQAAAA9jYWxsZXJQdWJsaWNLZXkCAAAAPV8vR0VWSVNFREkwMS9IZWFkZXIvS29wZmRhdGVuL0tvcGZhZHJlc3NlblsyXS9SZWZlcmVuem51bW1lcl8FAAAABGRhdGUFAAAAB2ZpZWxkMTQJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkAASwAAAACCQABLAAAAAIJAAJYAAAAAQgFAAAAAWkAAAAPY2FsbGVyUHVibGljS2V5AgAAADNfL0dFVklTRURJMDEvSGVhZGVyL0tvcGZkYXRlbi9Lb3BmYWRyZXNzZW5bMl0vTGFuZF8FAAAABGRhdGUFAAAAB2ZpZWxkMTUFAAAAA25pbAkAAAIAAAABAgAAABthdCBsZWFzdCBvbmUgZmllbGQgaXMgZW1wdHkAAAABaQEAAAAMcGVyZm9tT3JkZXIyAAAAAQAAAARkYXRlBAAAAA1jYWxsZXJBZGRyZXNzCQEAAAAUYWRkcmVzc0Zyb21QdWJsaWNLZXkAAAABCAUAAAABaQAAAA9jYWxsZXJQdWJsaWNLZXkEAAAAB2ZpZWxkMTYJAQAAABNnZXREYXRhRnJvbUN1c3RvbWVyAAAAAgkAASwAAAACCQABLAAAAAIJAAJYAAAAAQgFAAAAAWkAAAAPY2FsbGVyUHVibGljS2V5AgAAACVfL09SREVSUzA1L0lET0MvRTFFREtBMVsyXS9TUFJBU19JU09fBQAAAARkYXRlBQAAAA1jYWxsZXJBZGRyZXNzBAAAAAdmaWVsZDE3CQEAAAATZ2V0RGF0YUZyb21DdXN0b21lcgAAAAIJAAEsAAAAAgkAASwAAAACCQACWAAAAAEIBQAAAAFpAAAAD2NhbGxlclB1YmxpY0tleQIAAAAhXy9PUkRFUlMwNS9JRE9DL0UxRURLQTFbM10vUEFSVE5fBQAAAARkYXRlBQAAAA1jYWxsZXJBZGRyZXNzBAAAAAdmaWVsZDE4CQEAAAATZ2V0RGF0YUZyb21DdXN0b21lcgAAAAIJAAEsAAAAAgkAASwAAAACCQACWAAAAAEIBQAAAAFpAAAAD2NhbGxlclB1YmxpY0tleQIAAAAhXy9PUkRFUlMwNS9JRE9DL0UxRURLQTFbM10vUEFSVE5fBQAAAARkYXRlBQAAAA1jYWxsZXJBZGRyZXNzBAAAAAdmaWVsZDE5CQEAAAATZ2V0RGF0YUZyb21DdXN0b21lcgAAAAIJAAEsAAAAAgkAASwAAAACCQACWAAAAAEIBQAAAAFpAAAAD2NhbGxlclB1YmxpY0tleQIAAAAhXy9PUkRFUlMwNS9JRE9DL0UxRURLQTFbM10vTkFNRTFfBQAAAARkYXRlBQAAAA1jYWxsZXJBZGRyZXNzBAAAAAdmaWVsZDIwCQEAAAATZ2V0RGF0YUZyb21DdXN0b21lcgAAAAIJAAEsAAAAAgkAASwAAAACCQACWAAAAAEIBQAAAAFpAAAAD2NhbGxlclB1YmxpY0tleQIAAAAhXy9PUkRFUlMwNS9JRE9DL0UxRURLQTFbM10vU1RSQVNfBQAAAARkYXRlBQAAAA1jYWxsZXJBZGRyZXNzBAAAAAdmaWVsZDIxCQEAAAATZ2V0RGF0YUZyb21DdXN0b21lcgAAAAIJAAEsAAAAAgkAASwAAAACCQACWAAAAAEIBQAAAAFpAAAAD2NhbGxlclB1YmxpY0tleQIAAAAhXy9PUkRFUlMwNS9JRE9DL0UxRURLQTFbM10vT1JUMDFfBQAAAARkYXRlBQAAAA1jYWxsZXJBZGRyZXNzBAAAAAdmaWVsZDIyCQEAAAATZ2V0RGF0YUZyb21DdXN0b21lcgAAAAIJAAEsAAAAAgkAASwAAAACCQACWAAAAAEIBQAAAAFpAAAAD2NhbGxlclB1YmxpY0tleQIAAAAhXy9PUkRFUlMwNS9JRE9DL0UxRURLQTFbM10vUFNUTFpfBQAAAARkYXRlBQAAAA1jYWxsZXJBZGRyZXNzBAAAAAdmaWVsZDIzCQEAAAATZ2V0RGF0YUZyb21DdXN0b21lcgAAAAIJAAEsAAAAAgkAASwAAAACCQACWAAAAAEIBQAAAAFpAAAAD2NhbGxlclB1YmxpY0tleQIAAAAhXy9PUkRFUlMwNS9JRE9DL0UxRURLQTFbM10vTEFORDFfBQAAAARkYXRlBQAAAA1jYWxsZXJBZGRyZXNzBAAAAAdmaWVsZDI0CQEAAAATZ2V0RGF0YUZyb21DdXN0b21lcgAAAAIJAAEsAAAAAgkAASwAAAACCQACWAAAAAEIBQAAAAFpAAAAD2NhbGxlclB1YmxpY0tleQIAAAAhXy9PUkRFUlMwNS9JRE9DL0UxRURLQTFbM10vTEFORDFfBQAAAARkYXRlBQAAAA1jYWxsZXJBZGRyZXNzBAAAAAdmaWVsZDI1CQEAAAATZ2V0RGF0YUZyb21DdXN0b21lcgAAAAIJAAEsAAAAAgkAASwAAAACCQACWAAAAAEIBQAAAAFpAAAAD2NhbGxlclB1YmxpY0tleQIAAAAeXy9PUkRFUlMwNS9JRE9DL0UxRURLMDIvQkVMTlJfBQAAAARkYXRlBQAAAA1jYWxsZXJBZGRyZXNzBAAAAAdmaWVsZDI2CQEAAAATZ2V0RGF0YUZyb21DdXN0b21lcgAAAAIJAAEsAAAAAgkAASwAAAACCQACWAAAAAEIBQAAAAFpAAAAD2NhbGxlclB1YmxpY0tleQIAAAAeXy9PUkRFUlMwNS9JRE9DL0UxRURLMDIvQkVMTlJfBQAAAARkYXRlBQAAAA1jYWxsZXJBZGRyZXNzBAAAAAdmaWVsZDI3CQEAAAATZ2V0RGF0YUZyb21DdXN0b21lcgAAAAIJAAEsAAAAAgkAASwAAAACCQACWAAAAAEIBQAAAAFpAAAAD2NhbGxlclB1YmxpY0tleQIAAAAeXy9PUkRFUlMwNS9JRE9DL0UxRURQMDEvUE9TRVhfBQAAAARkYXRlBQAAAA1jYWxsZXJBZGRyZXNzBAAAAAdmaWVsZDI4CQEAAAATZ2V0RGF0YUZyb21DdXN0b21lcgAAAAIJAAEsAAAAAgkAASwAAAACCQACWAAAAAEIBQAAAAFpAAAAD2NhbGxlclB1YmxpY0tleQIAAAAeXy9PUkRFUlMwNS9JRE9DL0UxRURQMDEvUE9TRVhfBQAAAARkYXRlBQAAAA1jYWxsZXJBZGRyZXNzBAAAAAdmaWVsZDI5CQEAAAATZ2V0RGF0YUZyb21DdXN0b21lcgAAAAIJAAEsAAAAAgkAASwAAAACCQACWAAAAAEIBQAAAAFpAAAAD2NhbGxlclB1YmxpY0tleQIAAAAeXy9PUkRFUlMwNS9JRE9DL0UxRURQMDEvUE9TRVhfBQAAAARkYXRlBQAAAA1jYWxsZXJBZGRyZXNzBAAAAAdmaWVsZDMwCQEAAAATZ2V0RGF0YUZyb21DdXN0b21lcgAAAAIJAAEsAAAAAgkAASwAAAACCQACWAAAAAEIBQAAAAFpAAAAD2NhbGxlclB1YmxpY0tleQIAAAAeXy9PUkRFUlMwNS9JRE9DL0UxRURQMDEvTUVOR0VfBQAAAARkYXRlBQAAAA1jYWxsZXJBZGRyZXNzAwMDAwMDAwMDAwMDAwMDCQEAAAACIT0AAAACBQAAAAdmaWVsZDE2AgAAAAAJAQAAAAIhPQAAAAIFAAAAB2ZpZWxkMTcCAAAAAAcJAQAAAAIhPQAAAAIFAAAAB2ZpZWxkMTgCAAAAAAcJAQAAAAIhPQAAAAIFAAAAB2ZpZWxkMTkCAAAAAAcJAQAAAAIhPQAAAAIFAAAAB2ZpZWxkMjACAAAAAAcJAQAAAAIhPQAAAAIFAAAAB2ZpZWxkMjECAAAAAAcJAQAAAAIhPQAAAAIFAAAAB2ZpZWxkMjICAAAAAAcJAQAAAAIhPQAAAAIFAAAAB2ZpZWxkMjMCAAAAAAcJAQAAAAIhPQAAAAIFAAAAB2ZpZWxkMjQCAAAAAAcJAQAAAAIhPQAAAAIFAAAAB2ZpZWxkMjUCAAAAAAcJAQAAAAIhPQAAAAIFAAAAB2ZpZWxkMjYCAAAAAAcJAQAAAAIhPQAAAAIFAAAAB2ZpZWxkMjcCAAAAAAcJAQAAAAIhPQAAAAIFAAAAB2ZpZWxkMjgCAAAAAAcJAQAAAAIhPQAAAAIFAAAAB2ZpZWxkMjkCAAAAAAcJAQAAAAIhPQAAAAIFAAAAB2ZpZWxkMzACAAAAAAcJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkAASwAAAACCQABLAAAAAIJAAJYAAAAAQgFAAAAAWkAAAAPY2FsbGVyUHVibGljS2V5AgAAADNfL0dFVklTRURJMDEvSGVhZGVyL0tvcGZkYXRlbi9Lb3BmYWRyZXNzZW5bM10vTGFuZF8FAAAABGRhdGUFAAAAB2ZpZWxkMTYJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkAASwAAAACCQABLAAAAAIJAAJYAAAAAQgFAAAAAWkAAAAPY2FsbGVyUHVibGljS2V5AgAAAD1fL0dFVklTRURJMDEvSGVhZGVyL0tvcGZkYXRlbi9Lb3BmYWRyZXNzZW5bMV0vUmVmZXJlbnpudW1tZXJfBQAAAARkYXRlBQAAAAdmaWVsZDE3CQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAAEsAAAAAgkAASwAAAACCQACWAAAAAEIBQAAAAFpAAAAD2NhbGxlclB1YmxpY0tleQIAAAA9Xy9HRVZJU0VESTAxL0hlYWRlci9Lb3BmZGF0ZW4vS29wZmFkcmVzc2VuWzNdL1JlZmVyZW56bnVtbWVyXwUAAAAEZGF0ZQUAAAAHZmllbGQxOAkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQABLAAAAAIJAAEsAAAAAgkAAlgAAAABCAUAAAABaQAAAA9jYWxsZXJQdWJsaWNLZXkCAAAAM18vR0VWSVNFREkwMS9IZWFkZXIvS29wZmRhdGVuL0tvcGZhZHJlc3NlblszXS9OYW1lXwUAAAAEZGF0ZQUAAAAHZmllbGQxOQkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQABLAAAAAIJAAEsAAAAAgkAAlgAAAABCAUAAAABaQAAAA9jYWxsZXJQdWJsaWNLZXkCAAAANl8vR0VWSVNFREkwMS9IZWFkZXIvS29wZmRhdGVuL0tvcGZhZHJlc3NlblszXS9BZHJlc3NlXwUAAAAEZGF0ZQUAAAAHZmllbGQyMAkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQABLAAAAAIJAAEsAAAAAgkAAlgAAAABCAUAAAABaQAAAA9jYWxsZXJQdWJsaWNLZXkCAAAAMl8vR0VWSVNFREkwMS9IZWFkZXIvS29wZmRhdGVuL0tvcGZhZHJlc3NlblszXS9PcnRfBQAAAARkYXRlBQAAAAdmaWVsZDIxCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAAEsAAAAAgkAASwAAAACCQACWAAAAAEIBQAAAAFpAAAAD2NhbGxlclB1YmxpY0tleQIAAAA3Xy9HRVZJU0VESTAxL0hlYWRlci9Lb3BmZGF0ZW4vS29wZmFkcmVzc2VuWzNdL1BMWi1Db2RlXwUAAAAEZGF0ZQUAAAAHZmllbGQyMgkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQABLAAAAAIJAAEsAAAAAgkAAlgAAAABCAUAAAABaQAAAA9jYWxsZXJQdWJsaWNLZXkCAAAAM18vR0VWSVNFREkwMS9IZWFkZXIvS29wZmRhdGVuL0tvcGZhZHJlc3NlblsyXS9MYW5kXwUAAAAEZGF0ZQUAAAAHZmllbGQyMwkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQABLAAAAAIJAAEsAAAAAgkAAlgAAAABCAUAAAABaQAAAA9jYWxsZXJQdWJsaWNLZXkCAAAAM18vR0VWSVNFREkwMS9IZWFkZXIvS29wZmRhdGVuL0tvcGZhZHJlc3NlblszXS9MYW5kXwUAAAAEZGF0ZQUAAAAHZmllbGQyNAkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQABLAAAAAIJAAEsAAAAAgkAAlgAAAABCAUAAAABaQAAAA9jYWxsZXJQdWJsaWNLZXkCAAAAIV8vR0VWSVNFREkwMS9IZWFkZXIvS29wZmRhdGVuL05yXwUAAAAEZGF0ZQUAAAAHZmllbGQyNQkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQABLAAAAAIJAAEsAAAAAgkAAlgAAAABCAUAAAABaQAAAA9jYWxsZXJQdWJsaWNLZXkCAAAALF8vR0VWSVNFREkwMS9IZWFkZXIvS29wZmRhdGVuL0locmUtUmVmZXJlbnpfBQAAAARkYXRlBQAAAAdmaWVsZDI2CQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAAEsAAAAAgkAASwAAAACCQACWAAAAAEIBQAAAAFpAAAAD2NhbGxlclB1YmxpY0tleQIAAAA2Xy9HRVZJU0VESTAxL0hlYWRlci9Lb3BmZGF0ZW4vUG9zaXRpb25zZGF0ZW4vWmVpbGVubnJfBQAAAARkYXRlBQAAAAdmaWVsZDI3CQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAAEsAAAAAgkAASwAAAACCQACWAAAAAEIBQAAAAFpAAAAD2NhbGxlclB1YmxpY0tleQIAAAAwXy9HRVZJU0VESTAxL0hlYWRlci9Lb3BmZGF0ZW4vUG9zaXRpb25zZGF0ZW4vTnJfBQAAAARkYXRlBQAAAAdmaWVsZDI4CQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAAEsAAAAAgkAASwAAAACCQACWAAAAAEIBQAAAAFpAAAAD2NhbGxlclB1YmxpY0tleQIAAABVXy9HRVZJU0VESTAxL0hlYWRlci9Lb3BmZGF0ZW4vUG9zaXRpb25zZGF0ZW4vUG9zaXRpb25zcmVmZXJlbnplbi9HZWhvZXJ0LXp1LVplaWxlbm5yXwUAAAAEZGF0ZQUAAAAHZmllbGQyOQkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQABLAAAAAIJAAEsAAAAAgkAAlgAAAABCAUAAAABaQAAAA9jYWxsZXJQdWJsaWNLZXkCAAAAM18vR0VWSVNFREkwMS9IZWFkZXIvS29wZmRhdGVuL1Bvc2l0aW9uc2RhdGVuL01lbmdlXwUAAAAEZGF0ZQUAAAAHZmllbGQzMAUAAAADbmlsCQAAAgAAAAECAAAAG2F0IGxlYXN0IG9uZSBmaWVsZCBpcyBlbXB0eQAAAAFpAQAAAAxwZXJmb21PcmRlcjMAAAABAAAABGRhdGUEAAAADWNhbGxlckFkZHJlc3MJAQAAABRhZGRyZXNzRnJvbVB1YmxpY0tleQAAAAEIBQAAAAFpAAAAD2NhbGxlclB1YmxpY0tleQQAAAAHZmllbGQzMQkBAAAAE2dldERhdGFGcm9tQ3VzdG9tZXIAAAACCQABLAAAAAIJAAEsAAAAAgkAAlgAAAABCAUAAAABaQAAAA9jYWxsZXJQdWJsaWNLZXkCAAAAHl8vT1JERVJTMDUvSURPQy9FMUVEUDAxL01FTkVFXwUAAAAEZGF0ZQUAAAANY2FsbGVyQWRkcmVzcwQAAAAHZmllbGQzMgkBAAAAE2dldERhdGFGcm9tQ3VzdG9tZXIAAAACCQABLAAAAAIJAAEsAAAAAgkAAlgAAAABCAUAAAABaQAAAA9jYWxsZXJQdWJsaWNLZXkCAAAAHl8vT1JERVJTMDUvSURPQy9FMUVEUDAxL01FTkVFXwUAAAAEZGF0ZQUAAAANY2FsbGVyQWRkcmVzcwQAAAAHZmllbGQzMwkBAAAAE2dldERhdGFGcm9tQ3VzdG9tZXIAAAACCQABLAAAAAIJAAEsAAAAAgkAAlgAAAABCAUAAAABaQAAAA9jYWxsZXJQdWJsaWNLZXkCAAAAHl8vT1JERVJTMDUvSURPQy9FMUVEUDAxL0JNTkcyXwUAAAAEZGF0ZQUAAAANY2FsbGVyQWRkcmVzcwQAAAAHZmllbGQzNAkBAAAAE2dldERhdGFGcm9tQ3VzdG9tZXIAAAACCQABLAAAAAIJAAEsAAAAAgkAAlgAAAABCAUAAAABaQAAAA9jYWxsZXJQdWJsaWNLZXkCAAAAHl8vT1JERVJTMDUvSURPQy9FMUVEUDAxL1BNRU5FXwUAAAAEZGF0ZQUAAAANY2FsbGVyQWRkcmVzcwQAAAAHZmllbGQzNQkBAAAAE2dldERhdGFGcm9tQ3VzdG9tZXIAAAACCQABLAAAAAIJAAEsAAAAAgkAAlgAAAABCAUAAAABaQAAAA9jYWxsZXJQdWJsaWNLZXkCAAAAHl8vT1JERVJTMDUvSURPQy9FMUVEUDAxL1BNRU5FXwUAAAAEZGF0ZQUAAAANY2FsbGVyQWRkcmVzcwQAAAAHZmllbGQzNgkBAAAAE2dldERhdGFGcm9tQ3VzdG9tZXIAAAACCQABLAAAAAIJAAEsAAAAAgkAAlgAAAABCAUAAAABaQAAAA9jYWxsZXJQdWJsaWNLZXkCAAAAHl8vT1JERVJTMDUvSURPQy9FMUVEUDAxL1ZQUkVJXwUAAAAEZGF0ZQUAAAANY2FsbGVyQWRkcmVzcwQAAAAHZmllbGQzNwkBAAAAE2dldERhdGFGcm9tQ3VzdG9tZXIAAAACCQABLAAAAAIJAAEsAAAAAgkAAlgAAAABCAUAAAABaQAAAA9jYWxsZXJQdWJsaWNLZXkCAAAAHl8vT1JERVJTMDUvSURPQy9FMUVEUDAxL1BFSU5IXwUAAAAEZGF0ZQUAAAANY2FsbGVyQWRkcmVzcwQAAAAHZmllbGQzOAkBAAAAE2dldERhdGFGcm9tQ3VzdG9tZXIAAAACCQABLAAAAAIJAAEsAAAAAgkAAlgAAAABCAUAAAABaQAAAA9jYWxsZXJQdWJsaWNLZXkCAAAAHl8vT1JERVJTMDUvSURPQy9FMUVEUDAxL1BFSU5IXwUAAAAEZGF0ZQUAAAANY2FsbGVyQWRkcmVzcwQAAAAHZmllbGQzOQkBAAAAE2dldERhdGFGcm9tQ3VzdG9tZXIAAAACCQABLAAAAAIJAAEsAAAAAgkAAlgAAAABCAUAAAABaQAAAA9jYWxsZXJQdWJsaWNLZXkCAAAAHl8vT1JERVJTMDUvSURPQy9FMUVEUDAxL0JQVU1OXwUAAAAEZGF0ZQUAAAANY2FsbGVyQWRkcmVzcwQAAAAHZmllbGQ0MAkBAAAAE2dldERhdGFGcm9tQ3VzdG9tZXIAAAACCQABLAAAAAIJAAEsAAAAAgkAAlgAAAABCAUAAAABaQAAAA9jYWxsZXJQdWJsaWNLZXkCAAAAHl8vT1JERVJTMDUvSURPQy9FMUVEUDAxL0JQVU1OXwUAAAAEZGF0ZQUAAAANY2FsbGVyQWRkcmVzcwQAAAAHZmllbGQ0MQkBAAAAE2dldERhdGFGcm9tQ3VzdG9tZXIAAAACCQABLAAAAAIJAAEsAAAAAgkAAlgAAAABCAUAAAABaQAAAA9jYWxsZXJQdWJsaWNLZXkCAAAAHl8vT1JERVJTMDUvSURPQy9FMUVEUDAxL0JQVU1aXwUAAAAEZGF0ZQUAAAANY2FsbGVyQWRkcmVzcwQAAAAHZmllbGQ0MgkBAAAAE2dldERhdGFGcm9tQ3VzdG9tZXIAAAACCQABLAAAAAIJAAEsAAAAAgkAAlgAAAABCAUAAAABaQAAAA9jYWxsZXJQdWJsaWNLZXkCAAAAHl8vT1JERVJTMDUvSURPQy9FMUVEUDAxL0JQVU1aXwUAAAAEZGF0ZQUAAAANY2FsbGVyQWRkcmVzcwQAAAAHZmllbGQ0MwkBAAAAE2dldERhdGFGcm9tQ3VzdG9tZXIAAAACCQABLAAAAAIJAAEsAAAAAgkAAlgAAAABCAUAAAABaQAAAA9jYWxsZXJQdWJsaWNLZXkCAAAAHl8vT1JERVJTMDUvSURPQy9FMUVEUDAxL0VNUFNUXwUAAAAEZGF0ZQUAAAANY2FsbGVyQWRkcmVzcwQAAAAHZmllbGQ0NAkBAAAAE2dldERhdGFGcm9tQ3VzdG9tZXIAAAACCQABLAAAAAIJAAEsAAAAAgkAAlgAAAABCAUAAAABaQAAAA9jYWxsZXJQdWJsaWNLZXkCAAAAJl8vT1JERVJTMDUvSURPQy9FMUVEUDAxL0UxRURQMjAvV01FTkdfBQAAAARkYXRlBQAAAA1jYWxsZXJBZGRyZXNzBAAAAAdmaWVsZDQ1CQEAAAATZ2V0RGF0YUZyb21DdXN0b21lcgAAAAIJAAEsAAAAAgkAASwA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AAIJAAEsAAAAAgkAASwAAAACCQACWAAAAAEIBQAAAAFpAAAAD2NhbGxlclB1YmxpY0tleQIAAAA/Xy9HRVZJU0VESTAxL0hlYWRlci9Lb3BmZGF0ZW4vUG9zaXRpb25zZGF0ZW4vRWluaGVpdGVuY29kZS1FRElfBQAAAARkYXRlBQAAAAdmaWVsZDM1CQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAAEsAAAAAgkAASwAAAACCQACWAAAAAEIBQAAAAFpAAAAD2NhbGxlclB1YmxpY0tleQIAAAAzXy9HRVZJU0VESTAxL0hlYWRlci9Lb3BmZGF0ZW4vUG9zaXRpb25zZGF0ZW4vUHJlaXNfBQAAAARkYXRlBQAAAAdmaWVsZDM2CQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAAEsAAAAAgkAASwAAAACCQACWAAAAAEIBQAAAAFpAAAAD2NhbGxlclB1YmxpY0tleQIAAAA6Xy9HRVZJU0VESTAxL0hlYWRlci9Lb3BmZGF0ZW4vUG9zaXRpb25zZGF0ZW4vUHJlaXNlaW5oZWl0XwUAAAAEZGF0ZQUAAAAHZmllbGQzNwkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQABLAAAAAIJAAEsAAAAAgkAAlgAAAABCAUAAAABaQAAAA9jYWxsZXJQdWJsaWNLZXkCAAAASl8vR0VWSVNFREkwMS9IZWFkZXIvS29wZmRhdGVuL1Bvc2l0aW9uc2RhdGVuL1Bvc2l0aW9uc3JlZmVyZW56ZW4vWmVpbGVubnJfBQAAAARkYXRlBQAAAAdmaWVsZDM4CQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAAEsAAAAAgkAASwAAAACCQACWAAAAAEIBQAAAAFpAAAAD2NhbGxlclB1YmxpY0tleQIAAAA6Xy9HRVZJU0VESTAxL0hlYWRlci9Lb3BmZGF0ZW4vUG9zaXRpb25zZGF0ZW4vUHJlaXNlaW5oZWl0XwUAAAAEZGF0ZQUAAAAHZmllbGQzOQkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQABLAAAAAIJAAEsAAAAAgkAAlgAAAABCAUAAAABaQAAAA9jYWxsZXJQdWJsaWNLZXkCAAAASl8vR0VWSVNFREkwMS9IZWFkZXIvS29wZmRhdGVuL1Bvc2l0aW9uc2RhdGVuL1Bvc2l0aW9uc3JlZmVyZW56ZW4vWmVpbGVubnJfBQAAAARkYXRlBQAAAAdmaWVsZDQwCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAAEsAAAAAgkAASwAAAACCQACWAAAAAEIBQAAAAFpAAAAD2NhbGxlclB1YmxpY0tleQIAAAA6Xy9HRVZJU0VESTAxL0hlYWRlci9Lb3BmZGF0ZW4vUG9zaXRpb25zZGF0ZW4vUHJlaXNlaW5oZWl0XwUAAAAEZGF0ZQUAAAAHZmllbGQ0MQkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQABLAAAAAIJAAEsAAAAAgkAAlgAAAABCAUAAAABaQAAAA9jYWxsZXJQdWJsaWNLZXkCAAAASl8vR0VWSVNFREkwMS9IZWFkZXIvS29wZmRhdGVuL1Bvc2l0aW9uc2RhdGVuL1Bvc2l0aW9uc3JlZmVyZW56ZW4vWmVpbGVubnJfBQAAAARkYXRlBQAAAAdmaWVsZDQyCQAETAAAAAIJAQAAAAtTdHJpbmdFbnRyeQAAAAIJAAEsAAAAAgkAASwAAAACCQACWAAAAAEIBQAAAAFpAAAAD2NhbGxlclB1YmxpY0tleQIAAAA4Xy9HRVZJU0VESTAxL0hlYWRlci9Lb3BmZGF0ZW4vS29wZmFkcmVzc2VuWzNdL0FkcmVzc2UtMl8FAAAABGRhdGUFAAAAB2ZpZWxkNDMJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkAASwAAAACCQABLAAAAAIJAAJYAAAAAQgFAAAAAWkAAAAPY2FsbGVyUHVibGljS2V5AgAAADNfL0dFVklTRURJMDEvSGVhZGVyL0tvcGZkYXRlbi9Qb3NpdGlvbnNkYXRlbi9NZW5nZV8FAAAABGRhdGUFAAAAB2ZpZWxkNDQJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkAASwAAAACCQABLAAAAAIJAAJYAAAAAQgFAAAAAWkAAAAPY2FsbGVyUHVibGljS2V5AgAAADlfL0dFVklTRURJMDEvSGVhZGVyL0tvcGZkYXRlbi9Qb3NpdGlvbnNkYXRlbi9BcnRpa2VsLUVESV8FAAAABGRhdGUFAAAAB2ZpZWxkNDUJAARMAAAAAgkBAAAAC1N0cmluZ0VudHJ5AAAAAgkAASwAAAACCQABLAAAAAIJAAJYAAAAAQgFAAAAAWkAAAAPY2FsbGVyUHVibGljS2V5AgAAAE1fL0dFVklTRURJMDEvSGVhZGVyL0tvcGZkYXRlbi9Qb3NpdGlvbnNkYXRlbi9Qb3NpdGlvbnNyZWZlcmVuemVuL0FydGlrZWwtRURJXwUAAAAEZGF0ZQUAAAAHZmllbGQ0NgkABEwAAAACCQEAAAALU3RyaW5nRW50cnkAAAACCQABLAAAAAIJAAEsAAAAAgkAAlgAAAABCAUAAAABaQAAAA9jYWxsZXJQdWJsaWNLZXkCAAAALF8vR0VWSVNFREkwMS9IZWFkZXIvS29wZmRhdGVuL1dhZWhydW5nc2NvZGVfBQAAAARkYXRlBQAAAAdmaWVsZDQ3BQAAAANuaWwJAAACAAAAAQIAAAAbYXQgbGVhc3Qgb25lIGZpZWxkIGlzIGVtcHR5AAAAAQAAAAJ0eAEAAAAGdmVyaWZ5AAAAAAQAAAAHJG1hdGNoMAUAAAACdHgDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAD0RhdGFUcmFuc2FjdGlvbgYDCQAAAQAAAAIFAAAAByRtYXRjaDACAAAAFFNldFNjcmlwdFRyYW5zYWN0aW9uBgZwOApd", "height": 1451898, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: CL6gyBC5Phg5LXMYxmr7C1fYa263ZfvRwNxEDHh78xsV Next: 5vh287f8fBZ9nyDYADD5wEBibtRMB3nQSh2ownXwcV59 Diff:
Old | New | Differences | |
---|---|---|---|
9 | 9 | "" | |
10 | 10 | } | |
11 | 11 | data | |
12 | + | } | |
13 | + | ||
14 | + | ||
15 | + | func plausibilityChek (field,pubk,adr,date) = { | |
16 | + | let priceCustomer = match getString(adr, ((((pubk + "_") + field) + "_") + date)) { | |
17 | + | case a: String => | |
18 | + | a | |
19 | + | case _ => | |
20 | + | "" | |
21 | + | } | |
22 | + | let pricePiel = match getString(this, field) { | |
23 | + | case a: String => | |
24 | + | a | |
25 | + | case _ => | |
26 | + | "" | |
27 | + | } | |
28 | + | if ((priceCustomer == pricePiel)) | |
29 | + | then true | |
30 | + | else false | |
12 | 31 | } | |
13 | 32 | ||
14 | 33 | ||
138 | 157 | let field45 = getDataFromCustomer(((toBase58String(i.callerPublicKey) + "_/ORDERS05/IDOC/E1EDP01/E1EDP19[1]/IDTNR_") + date), callerAddress) | |
139 | 158 | let field46 = getDataFromCustomer(((toBase58String(i.callerPublicKey) + "_/ORDERS05/IDOC/E1EDP01/E1EDP19[1]/IDTNR_") + date), callerAddress) | |
140 | 159 | let field47 = getDataFromCustomer(((toBase58String(i.callerPublicKey) + "_/ORDERS05/IDOC/E1EDS01/SUNIT_") + date), callerAddress) | |
141 | - | if (if (if (if (if (if (if (if (if (if (if (if (if (if (if (if (if ((field31 != "")) | |
142 | - | then (field32 != "") | |
143 | - | else false) | |
144 | - | then (field33 != "") | |
145 | - | else false) | |
146 | - | then (field34 != "") | |
147 | - | else false) | |
148 | - | then (field35 != "") | |
149 | - | else false) | |
150 | - | then (field36 != "") | |
151 | - | else false) | |
152 | - | then (field37 != "") | |
153 | - | else false) | |
154 | - | then (field38 != "") | |
155 | - | else false) | |
156 | - | then (field39 != "") | |
157 | - | else false) | |
158 | - | then (field40 != "") | |
159 | - | else false) | |
160 | - | then (field41 != "") | |
161 | - | else false) | |
162 | - | then (field42 != "") | |
163 | - | else false) | |
164 | - | then (field43 != "") | |
165 | - | else false) | |
166 | - | then (field44 != "") | |
167 | - | else false) | |
168 | - | then (field45 != "") | |
169 | - | else false) | |
170 | - | then (field46 != "") | |
171 | - | else false) | |
172 | - | then (field47 != "") | |
173 | - | else false) | |
174 | - | then [StringEntry(((toBase58String(i.callerPublicKey) + "_/GEVISEDI01/Header/Kopfdaten/Positionsdaten/Einheitencode_") + date), field31), StringEntry(((toBase58String(i.callerPublicKey) + "_/GEVISEDI01/Header/Kopfdaten/Positionsdaten/Einheitencode-EDI_") + date), field32), StringEntry(((toBase58String(i.callerPublicKey) + "_/GEVISEDI01/Header/Kopfdaten/Positionsdaten/Menge_") + date), field33), StringEntry(((toBase58String(i.callerPublicKey) + "_/GEVISEDI01/Header/Kopfdaten/Positionsdaten/Einheitencode_") + date), field34), StringEntry(((toBase58String(i.callerPublicKey) + "_/GEVISEDI01/Header/Kopfdaten/Positionsdaten/Einheitencode-EDI_") + date), field35), StringEntry(((toBase58String(i.callerPublicKey) + "_/GEVISEDI01/Header/Kopfdaten/Positionsdaten/Preis_") + date), field36), StringEntry(((toBase58String(i.callerPublicKey) + "_/GEVISEDI01/Header/Kopfdaten/Positionsdaten/Preiseinheit_") + date), field37), StringEntry(((toBase58String(i.callerPublicKey) + "_/GEVISEDI01/Header/Kopfdaten/Positionsdaten/Positionsreferenzen/Zeilennr_") + date), field38), StringEntry(((toBase58String(i.callerPublicKey) + "_/GEVISEDI01/Header/Kopfdaten/Positionsdaten/Preiseinheit_") + date), field39), StringEntry(((toBase58String(i.callerPublicKey) + "_/GEVISEDI01/Header/Kopfdaten/Positionsdaten/Positionsreferenzen/Zeilennr_") + date), field40), StringEntry(((toBase58String(i.callerPublicKey) + "_/GEVISEDI01/Header/Kopfdaten/Positionsdaten/Preiseinheit_") + date), field41), StringEntry(((toBase58String(i.callerPublicKey) + "_/GEVISEDI01/Header/Kopfdaten/Positionsdaten/Positionsreferenzen/Zeilennr_") + date), field42), StringEntry(((toBase58String(i.callerPublicKey) + "_/GEVISEDI01/Header/Kopfdaten/Kopfadressen[3]/Adresse-2_") + date), field43), StringEntry(((toBase58String(i.callerPublicKey) + "_/GEVISEDI01/Header/Kopfdaten/Positionsdaten/Menge_") + date), field44), StringEntry(((toBase58String(i.callerPublicKey) + "_/GEVISEDI01/Header/Kopfdaten/Positionsdaten/Artikel-EDI_") + date), field45), StringEntry(((toBase58String(i.callerPublicKey) + "_/GEVISEDI01/Header/Kopfdaten/Positionsdaten/Positionsreferenzen/Artikel-EDI_") + date), field46), StringEntry(((toBase58String(i.callerPublicKey) + "_/GEVISEDI01/Header/Kopfdaten/Waehrungscode_") + date), field47)] | |
175 | - | else throw("at least one field is empty") | |
160 | + | let verfication = plausibilityChek("VPREI", toBase58String(i.callerPublicKey), callerAddress, date) | |
161 | + | if (!(verfication)) | |
162 | + | then throw("Invalid Price!") | |
163 | + | else if (if (if (if (if (if (if (if (if (if (if (if (if (if (if (if (if ((field31 != "")) | |
164 | + | then (field32 != "") | |
165 | + | else false) | |
166 | + | then (field33 != "") | |
167 | + | else false) | |
168 | + | then (field34 != "") | |
169 | + | else false) | |
170 | + | then (field35 != "") | |
171 | + | else false) | |
172 | + | then (field36 != "") | |
173 | + | else false) | |
174 | + | then (field37 != "") | |
175 | + | else false) | |
176 | + | then (field38 != "") | |
177 | + | else false) | |
178 | + | then (field39 != "") | |
179 | + | else false) | |
180 | + | then (field40 != "") | |
181 | + | else false) | |
182 | + | then (field41 != "") | |
183 | + | else false) | |
184 | + | then (field42 != "") | |
185 | + | else false) | |
186 | + | then (field43 != "") | |
187 | + | else false) | |
188 | + | then (field44 != "") | |
189 | + | else false) | |
190 | + | then (field45 != "") | |
191 | + | else false) | |
192 | + | then (field46 != "") | |
193 | + | else false) | |
194 | + | then (field47 != "") | |
195 | + | else false) | |
196 | + | then [StringEntry(((toBase58String(i.callerPublicKey) + "_/GEVISEDI01/Header/Kopfdaten/Positionsdaten/Einheitencode_") + date), field31), StringEntry(((toBase58String(i.callerPublicKey) + "_/GEVISEDI01/Header/Kopfdaten/Positionsdaten/Einheitencode-EDI_") + date), field32), StringEntry(((toBase58String(i.callerPublicKey) + "_/GEVISEDI01/Header/Kopfdaten/Positionsdaten/Menge_") + date), field33), StringEntry(((toBase58String(i.callerPublicKey) + "_/GEVISEDI01/Header/Kopfdaten/Positionsdaten/Einheitencode_") + date), field34), StringEntry(((toBase58String(i.callerPublicKey) + "_/GEVISEDI01/Header/Kopfdaten/Positionsdaten/Einheitencode-EDI_") + date), field35), StringEntry(((toBase58String(i.callerPublicKey) + "_/GEVISEDI01/Header/Kopfdaten/Positionsdaten/Preis_") + date), field36), StringEntry(((toBase58String(i.callerPublicKey) + "_/GEVISEDI01/Header/Kopfdaten/Positionsdaten/Preiseinheit_") + date), field37), StringEntry(((toBase58String(i.callerPublicKey) + "_/GEVISEDI01/Header/Kopfdaten/Positionsdaten/Positionsreferenzen/Zeilennr_") + date), field38), StringEntry(((toBase58String(i.callerPublicKey) + "_/GEVISEDI01/Header/Kopfdaten/Positionsdaten/Preiseinheit_") + date), field39), StringEntry(((toBase58String(i.callerPublicKey) + "_/GEVISEDI01/Header/Kopfdaten/Positionsdaten/Positionsreferenzen/Zeilennr_") + date), field40), StringEntry(((toBase58String(i.callerPublicKey) + "_/GEVISEDI01/Header/Kopfdaten/Positionsdaten/Preiseinheit_") + date), field41), StringEntry(((toBase58String(i.callerPublicKey) + "_/GEVISEDI01/Header/Kopfdaten/Positionsdaten/Positionsreferenzen/Zeilennr_") + date), field42), StringEntry(((toBase58String(i.callerPublicKey) + "_/GEVISEDI01/Header/Kopfdaten/Kopfadressen[3]/Adresse-2_") + date), field43), StringEntry(((toBase58String(i.callerPublicKey) + "_/GEVISEDI01/Header/Kopfdaten/Positionsdaten/Menge_") + date), field44), StringEntry(((toBase58String(i.callerPublicKey) + "_/GEVISEDI01/Header/Kopfdaten/Positionsdaten/Artikel-EDI_") + date), field45), StringEntry(((toBase58String(i.callerPublicKey) + "_/GEVISEDI01/Header/Kopfdaten/Positionsdaten/Positionsreferenzen/Artikel-EDI_") + date), field46), StringEntry(((toBase58String(i.callerPublicKey) + "_/GEVISEDI01/Header/Kopfdaten/Waehrungscode_") + date), field47)] | |
197 | + | else throw("at least one field is empty") | |
176 | 198 | } | |
177 | 199 | ||
178 | 200 |
Old | New | Differences | |
---|---|---|---|
1 | 1 | {-# STDLIB_VERSION 4 #-} | |
2 | 2 | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | 3 | {-# CONTENT_TYPE DAPP #-} | |
4 | 4 | func getDataFromCustomer (key,adr) = { | |
5 | 5 | let data = match getString(adr, key) { | |
6 | 6 | case a: String => | |
7 | 7 | a | |
8 | 8 | case _ => | |
9 | 9 | "" | |
10 | 10 | } | |
11 | 11 | data | |
12 | + | } | |
13 | + | ||
14 | + | ||
15 | + | func plausibilityChek (field,pubk,adr,date) = { | |
16 | + | let priceCustomer = match getString(adr, ((((pubk + "_") + field) + "_") + date)) { | |
17 | + | case a: String => | |
18 | + | a | |
19 | + | case _ => | |
20 | + | "" | |
21 | + | } | |
22 | + | let pricePiel = match getString(this, field) { | |
23 | + | case a: String => | |
24 | + | a | |
25 | + | case _ => | |
26 | + | "" | |
27 | + | } | |
28 | + | if ((priceCustomer == pricePiel)) | |
29 | + | then true | |
30 | + | else false | |
12 | 31 | } | |
13 | 32 | ||
14 | 33 | ||
15 | 34 | @Callable(i) | |
16 | 35 | func perfomOrder (date) = { | |
17 | 36 | let callerAddress = addressFromPublicKey(i.callerPublicKey) | |
18 | 37 | let field1 = getDataFromCustomer(((toBase58String(i.callerPublicKey) + "_/ORDERS05/IDOC/EDI_DC40/DOCNUM_") + date), callerAddress) | |
19 | 38 | let field2 = getDataFromCustomer(((toBase58String(i.callerPublicKey) + "_/ORDERS05/IDOC/EDI_DC40/DIRECT_") + date), callerAddress) | |
20 | 39 | let field3 = getDataFromCustomer(((toBase58String(i.callerPublicKey) + "_/ORDERS05/IDOC/EDI_DC40/DIRECT_") + date), callerAddress) | |
21 | 40 | let field4 = getDataFromCustomer(((toBase58String(i.callerPublicKey) + "_/ORDERS05/IDOC/EDI_DC40/MESTYP_") + date), callerAddress) | |
22 | 41 | let field5 = getDataFromCustomer(((toBase58String(i.callerPublicKey) + "_/ORDERS05/IDOC/EDI_DC40/MESTYP_") + date), callerAddress) | |
23 | 42 | let field6 = getDataFromCustomer(((toBase58String(i.callerPublicKey) + "_/ORDERS05/IDOC/EDI_DC40/RCVPRN_") + date), callerAddress) | |
24 | 43 | let field7 = getDataFromCustomer(((toBase58String(i.callerPublicKey) + "_/ORDERS05/IDOC/E1EDK01/CURCY_") + date), callerAddress) | |
25 | 44 | let field8 = getDataFromCustomer(((toBase58String(i.callerPublicKey) + "_/ORDERS05/IDOC/E1EDK01/HWAER_") + date), callerAddress) | |
26 | 45 | let field9 = getDataFromCustomer(((toBase58String(i.callerPublicKey) + "_/ORDERS05/IDOC/E1EDK01/BELNR_") + date), callerAddress) | |
27 | 46 | let field10 = getDataFromCustomer(((toBase58String(i.callerPublicKey) + "_/ORDERS05/IDOC/E1EDK01/BELNR_") + date), callerAddress) | |
28 | 47 | let field11 = getDataFromCustomer(((toBase58String(i.callerPublicKey) + "_/ORDERS05/IDOC/E1EDK01/RECIPNT_NO_") + date), callerAddress) | |
29 | 48 | let field12 = getDataFromCustomer(((toBase58String(i.callerPublicKey) + "_/ORDERS05/IDOC/E1EDKA1[1]/PARTN_") + date), callerAddress) | |
30 | 49 | let field13 = getDataFromCustomer(((toBase58String(i.callerPublicKey) + "_/ORDERS05/IDOC/E1EDKA1[1]/PARTN_") + date), callerAddress) | |
31 | 50 | let field14 = getDataFromCustomer(((toBase58String(i.callerPublicKey) + "_/ORDERS05/IDOC/E1EDKA1[2]/PARTN_") + date), callerAddress) | |
32 | 51 | let field15 = getDataFromCustomer(((toBase58String(i.callerPublicKey) + "_/ORDERS05/IDOC/E1EDKA1[2]/SPRAS_ISO_") + date), callerAddress) | |
33 | 52 | if (if (if (if (if (if (if (if (if (if (if (if (if (if (if ((field1 != "")) | |
34 | 53 | then (field2 != "") | |
35 | 54 | else false) | |
36 | 55 | then (field3 != "") | |
37 | 56 | else false) | |
38 | 57 | then (field4 != "") | |
39 | 58 | else false) | |
40 | 59 | then (field5 != "") | |
41 | 60 | else false) | |
42 | 61 | then (field6 != "") | |
43 | 62 | else false) | |
44 | 63 | then (field7 != "") | |
45 | 64 | else false) | |
46 | 65 | then (field8 != "") | |
47 | 66 | else false) | |
48 | 67 | then (field9 != "") | |
49 | 68 | else false) | |
50 | 69 | then (field10 != "") | |
51 | 70 | else false) | |
52 | 71 | then (field11 != "") | |
53 | 72 | else false) | |
54 | 73 | then (field12 != "") | |
55 | 74 | else false) | |
56 | 75 | then (field13 != "") | |
57 | 76 | else false) | |
58 | 77 | then (field14 != "") | |
59 | 78 | else false) | |
60 | 79 | then (field15 != "") | |
61 | 80 | else false) | |
62 | 81 | then [StringEntry(((toBase58String(i.callerPublicKey) + "_/GEVISEDI01/Header/Kopfdaten/EDI-Referenznummer_") + date), field1), StringEntry(((toBase58String(i.callerPublicKey) + "_/GEVISEDI01/Header/Kopfdaten/Positionsdaten/Preiseinheit_") + date), field2), StringEntry(((toBase58String(i.callerPublicKey) + "_/GEVISEDI01/Header/Kopfdaten/Positionsdaten/Positionsreferenzen/Zeilennr_") + date), field3), StringEntry(((toBase58String(i.callerPublicKey) + "_/GEVISEDI01/Header/Nachrichtentyp_") + date), field4), StringEntry(((toBase58String(i.callerPublicKey) + "_/GEVISEDI01/Header/Kopfdaten/EDI-Nachrichtentyp_") + date), field5), StringEntry(((toBase58String(i.callerPublicKey) + "_/GEVISEDI01/Header/Kopfdaten/Kopfadressen[2]/Referenznummer_") + date), field6), StringEntry(((toBase58String(i.callerPublicKey) + "_/GEVISEDI01/Header/Kopfdaten/Waehrungscode_") + date), field7), StringEntry(((toBase58String(i.callerPublicKey) + "_/GEVISEDI01/Header/Kopfdaten/Waehrungscode_") + date), field8), StringEntry(((toBase58String(i.callerPublicKey) + "_/GEVISEDI01/Header/Kopfdaten/Nr_") + date), field9), StringEntry(((toBase58String(i.callerPublicKey) + "_/GEVISEDI01/Header/Kopfdaten/Ihre-Referenz_") + date), field10), StringEntry(((toBase58String(i.callerPublicKey) + "_/GEVISEDI01/Header/Kopfdaten/Kopfadressen[2]/Referenznummer_") + date), field11), StringEntry(((toBase58String(i.callerPublicKey) + "_/GEVISEDI01/Header/Kopfdaten/Kopfadressen[1]/Referenznummer_") + date), field12), StringEntry(((toBase58String(i.callerPublicKey) + "_/GEVISEDI01/Header/Kopfdaten/Kopfadressen[3]/Referenznummer_") + date), field13), StringEntry(((toBase58String(i.callerPublicKey) + "_/GEVISEDI01/Header/Kopfdaten/Kopfadressen[2]/Referenznummer_") + date), field14), StringEntry(((toBase58String(i.callerPublicKey) + "_/GEVISEDI01/Header/Kopfdaten/Kopfadressen[2]/Land_") + date), field15)] | |
63 | 82 | else throw("at least one field is empty") | |
64 | 83 | } | |
65 | 84 | ||
66 | 85 | ||
67 | 86 | ||
68 | 87 | @Callable(i) | |
69 | 88 | func perfomOrder2 (date) = { | |
70 | 89 | let callerAddress = addressFromPublicKey(i.callerPublicKey) | |
71 | 90 | let field16 = getDataFromCustomer(((toBase58String(i.callerPublicKey) + "_/ORDERS05/IDOC/E1EDKA1[2]/SPRAS_ISO_") + date), callerAddress) | |
72 | 91 | let field17 = getDataFromCustomer(((toBase58String(i.callerPublicKey) + "_/ORDERS05/IDOC/E1EDKA1[3]/PARTN_") + date), callerAddress) | |
73 | 92 | let field18 = getDataFromCustomer(((toBase58String(i.callerPublicKey) + "_/ORDERS05/IDOC/E1EDKA1[3]/PARTN_") + date), callerAddress) | |
74 | 93 | let field19 = getDataFromCustomer(((toBase58String(i.callerPublicKey) + "_/ORDERS05/IDOC/E1EDKA1[3]/NAME1_") + date), callerAddress) | |
75 | 94 | let field20 = getDataFromCustomer(((toBase58String(i.callerPublicKey) + "_/ORDERS05/IDOC/E1EDKA1[3]/STRAS_") + date), callerAddress) | |
76 | 95 | let field21 = getDataFromCustomer(((toBase58String(i.callerPublicKey) + "_/ORDERS05/IDOC/E1EDKA1[3]/ORT01_") + date), callerAddress) | |
77 | 96 | let field22 = getDataFromCustomer(((toBase58String(i.callerPublicKey) + "_/ORDERS05/IDOC/E1EDKA1[3]/PSTLZ_") + date), callerAddress) | |
78 | 97 | let field23 = getDataFromCustomer(((toBase58String(i.callerPublicKey) + "_/ORDERS05/IDOC/E1EDKA1[3]/LAND1_") + date), callerAddress) | |
79 | 98 | let field24 = getDataFromCustomer(((toBase58String(i.callerPublicKey) + "_/ORDERS05/IDOC/E1EDKA1[3]/LAND1_") + date), callerAddress) | |
80 | 99 | let field25 = getDataFromCustomer(((toBase58String(i.callerPublicKey) + "_/ORDERS05/IDOC/E1EDK02/BELNR_") + date), callerAddress) | |
81 | 100 | let field26 = getDataFromCustomer(((toBase58String(i.callerPublicKey) + "_/ORDERS05/IDOC/E1EDK02/BELNR_") + date), callerAddress) | |
82 | 101 | let field27 = getDataFromCustomer(((toBase58String(i.callerPublicKey) + "_/ORDERS05/IDOC/E1EDP01/POSEX_") + date), callerAddress) | |
83 | 102 | let field28 = getDataFromCustomer(((toBase58String(i.callerPublicKey) + "_/ORDERS05/IDOC/E1EDP01/POSEX_") + date), callerAddress) | |
84 | 103 | let field29 = getDataFromCustomer(((toBase58String(i.callerPublicKey) + "_/ORDERS05/IDOC/E1EDP01/POSEX_") + date), callerAddress) | |
85 | 104 | let field30 = getDataFromCustomer(((toBase58String(i.callerPublicKey) + "_/ORDERS05/IDOC/E1EDP01/MENGE_") + date), callerAddress) | |
86 | 105 | if (if (if (if (if (if (if (if (if (if (if (if (if (if (if ((field16 != "")) | |
87 | 106 | then (field17 != "") | |
88 | 107 | else false) | |
89 | 108 | then (field18 != "") | |
90 | 109 | else false) | |
91 | 110 | then (field19 != "") | |
92 | 111 | else false) | |
93 | 112 | then (field20 != "") | |
94 | 113 | else false) | |
95 | 114 | then (field21 != "") | |
96 | 115 | else false) | |
97 | 116 | then (field22 != "") | |
98 | 117 | else false) | |
99 | 118 | then (field23 != "") | |
100 | 119 | else false) | |
101 | 120 | then (field24 != "") | |
102 | 121 | else false) | |
103 | 122 | then (field25 != "") | |
104 | 123 | else false) | |
105 | 124 | then (field26 != "") | |
106 | 125 | else false) | |
107 | 126 | then (field27 != "") | |
108 | 127 | else false) | |
109 | 128 | then (field28 != "") | |
110 | 129 | else false) | |
111 | 130 | then (field29 != "") | |
112 | 131 | else false) | |
113 | 132 | then (field30 != "") | |
114 | 133 | else false) | |
115 | 134 | then [StringEntry(((toBase58String(i.callerPublicKey) + "_/GEVISEDI01/Header/Kopfdaten/Kopfadressen[3]/Land_") + date), field16), StringEntry(((toBase58String(i.callerPublicKey) + "_/GEVISEDI01/Header/Kopfdaten/Kopfadressen[1]/Referenznummer_") + date), field17), StringEntry(((toBase58String(i.callerPublicKey) + "_/GEVISEDI01/Header/Kopfdaten/Kopfadressen[3]/Referenznummer_") + date), field18), StringEntry(((toBase58String(i.callerPublicKey) + "_/GEVISEDI01/Header/Kopfdaten/Kopfadressen[3]/Name_") + date), field19), StringEntry(((toBase58String(i.callerPublicKey) + "_/GEVISEDI01/Header/Kopfdaten/Kopfadressen[3]/Adresse_") + date), field20), StringEntry(((toBase58String(i.callerPublicKey) + "_/GEVISEDI01/Header/Kopfdaten/Kopfadressen[3]/Ort_") + date), field21), StringEntry(((toBase58String(i.callerPublicKey) + "_/GEVISEDI01/Header/Kopfdaten/Kopfadressen[3]/PLZ-Code_") + date), field22), StringEntry(((toBase58String(i.callerPublicKey) + "_/GEVISEDI01/Header/Kopfdaten/Kopfadressen[2]/Land_") + date), field23), StringEntry(((toBase58String(i.callerPublicKey) + "_/GEVISEDI01/Header/Kopfdaten/Kopfadressen[3]/Land_") + date), field24), StringEntry(((toBase58String(i.callerPublicKey) + "_/GEVISEDI01/Header/Kopfdaten/Nr_") + date), field25), StringEntry(((toBase58String(i.callerPublicKey) + "_/GEVISEDI01/Header/Kopfdaten/Ihre-Referenz_") + date), field26), StringEntry(((toBase58String(i.callerPublicKey) + "_/GEVISEDI01/Header/Kopfdaten/Positionsdaten/Zeilennr_") + date), field27), StringEntry(((toBase58String(i.callerPublicKey) + "_/GEVISEDI01/Header/Kopfdaten/Positionsdaten/Nr_") + date), field28), StringEntry(((toBase58String(i.callerPublicKey) + "_/GEVISEDI01/Header/Kopfdaten/Positionsdaten/Positionsreferenzen/Gehoert-zu-Zeilennr_") + date), field29), StringEntry(((toBase58String(i.callerPublicKey) + "_/GEVISEDI01/Header/Kopfdaten/Positionsdaten/Menge_") + date), field30)] | |
116 | 135 | else throw("at least one field is empty") | |
117 | 136 | } | |
118 | 137 | ||
119 | 138 | ||
120 | 139 | ||
121 | 140 | @Callable(i) | |
122 | 141 | func perfomOrder3 (date) = { | |
123 | 142 | let callerAddress = addressFromPublicKey(i.callerPublicKey) | |
124 | 143 | let field31 = getDataFromCustomer(((toBase58String(i.callerPublicKey) + "_/ORDERS05/IDOC/E1EDP01/MENEE_") + date), callerAddress) | |
125 | 144 | let field32 = getDataFromCustomer(((toBase58String(i.callerPublicKey) + "_/ORDERS05/IDOC/E1EDP01/MENEE_") + date), callerAddress) | |
126 | 145 | let field33 = getDataFromCustomer(((toBase58String(i.callerPublicKey) + "_/ORDERS05/IDOC/E1EDP01/BMNG2_") + date), callerAddress) | |
127 | 146 | let field34 = getDataFromCustomer(((toBase58String(i.callerPublicKey) + "_/ORDERS05/IDOC/E1EDP01/PMENE_") + date), callerAddress) | |
128 | 147 | let field35 = getDataFromCustomer(((toBase58String(i.callerPublicKey) + "_/ORDERS05/IDOC/E1EDP01/PMENE_") + date), callerAddress) | |
129 | 148 | let field36 = getDataFromCustomer(((toBase58String(i.callerPublicKey) + "_/ORDERS05/IDOC/E1EDP01/VPREI_") + date), callerAddress) | |
130 | 149 | let field37 = getDataFromCustomer(((toBase58String(i.callerPublicKey) + "_/ORDERS05/IDOC/E1EDP01/PEINH_") + date), callerAddress) | |
131 | 150 | let field38 = getDataFromCustomer(((toBase58String(i.callerPublicKey) + "_/ORDERS05/IDOC/E1EDP01/PEINH_") + date), callerAddress) | |
132 | 151 | let field39 = getDataFromCustomer(((toBase58String(i.callerPublicKey) + "_/ORDERS05/IDOC/E1EDP01/BPUMN_") + date), callerAddress) | |
133 | 152 | let field40 = getDataFromCustomer(((toBase58String(i.callerPublicKey) + "_/ORDERS05/IDOC/E1EDP01/BPUMN_") + date), callerAddress) | |
134 | 153 | let field41 = getDataFromCustomer(((toBase58String(i.callerPublicKey) + "_/ORDERS05/IDOC/E1EDP01/BPUMZ_") + date), callerAddress) | |
135 | 154 | let field42 = getDataFromCustomer(((toBase58String(i.callerPublicKey) + "_/ORDERS05/IDOC/E1EDP01/BPUMZ_") + date), callerAddress) | |
136 | 155 | let field43 = getDataFromCustomer(((toBase58String(i.callerPublicKey) + "_/ORDERS05/IDOC/E1EDP01/EMPST_") + date), callerAddress) | |
137 | 156 | let field44 = getDataFromCustomer(((toBase58String(i.callerPublicKey) + "_/ORDERS05/IDOC/E1EDP01/E1EDP20/WMENG_") + date), callerAddress) | |
138 | 157 | let field45 = getDataFromCustomer(((toBase58String(i.callerPublicKey) + "_/ORDERS05/IDOC/E1EDP01/E1EDP19[1]/IDTNR_") + date), callerAddress) | |
139 | 158 | let field46 = getDataFromCustomer(((toBase58String(i.callerPublicKey) + "_/ORDERS05/IDOC/E1EDP01/E1EDP19[1]/IDTNR_") + date), callerAddress) | |
140 | 159 | let field47 = getDataFromCustomer(((toBase58String(i.callerPublicKey) + "_/ORDERS05/IDOC/E1EDS01/SUNIT_") + date), callerAddress) | |
141 | - | if (if (if (if (if (if (if (if (if (if (if (if (if (if (if (if (if ((field31 != "")) | |
142 | - | then (field32 != "") | |
143 | - | else false) | |
144 | - | then (field33 != "") | |
145 | - | else false) | |
146 | - | then (field34 != "") | |
147 | - | else false) | |
148 | - | then (field35 != "") | |
149 | - | else false) | |
150 | - | then (field36 != "") | |
151 | - | else false) | |
152 | - | then (field37 != "") | |
153 | - | else false) | |
154 | - | then (field38 != "") | |
155 | - | else false) | |
156 | - | then (field39 != "") | |
157 | - | else false) | |
158 | - | then (field40 != "") | |
159 | - | else false) | |
160 | - | then (field41 != "") | |
161 | - | else false) | |
162 | - | then (field42 != "") | |
163 | - | else false) | |
164 | - | then (field43 != "") | |
165 | - | else false) | |
166 | - | then (field44 != "") | |
167 | - | else false) | |
168 | - | then (field45 != "") | |
169 | - | else false) | |
170 | - | then (field46 != "") | |
171 | - | else false) | |
172 | - | then (field47 != "") | |
173 | - | else false) | |
174 | - | then [StringEntry(((toBase58String(i.callerPublicKey) + "_/GEVISEDI01/Header/Kopfdaten/Positionsdaten/Einheitencode_") + date), field31), StringEntry(((toBase58String(i.callerPublicKey) + "_/GEVISEDI01/Header/Kopfdaten/Positionsdaten/Einheitencode-EDI_") + date), field32), StringEntry(((toBase58String(i.callerPublicKey) + "_/GEVISEDI01/Header/Kopfdaten/Positionsdaten/Menge_") + date), field33), StringEntry(((toBase58String(i.callerPublicKey) + "_/GEVISEDI01/Header/Kopfdaten/Positionsdaten/Einheitencode_") + date), field34), StringEntry(((toBase58String(i.callerPublicKey) + "_/GEVISEDI01/Header/Kopfdaten/Positionsdaten/Einheitencode-EDI_") + date), field35), StringEntry(((toBase58String(i.callerPublicKey) + "_/GEVISEDI01/Header/Kopfdaten/Positionsdaten/Preis_") + date), field36), StringEntry(((toBase58String(i.callerPublicKey) + "_/GEVISEDI01/Header/Kopfdaten/Positionsdaten/Preiseinheit_") + date), field37), StringEntry(((toBase58String(i.callerPublicKey) + "_/GEVISEDI01/Header/Kopfdaten/Positionsdaten/Positionsreferenzen/Zeilennr_") + date), field38), StringEntry(((toBase58String(i.callerPublicKey) + "_/GEVISEDI01/Header/Kopfdaten/Positionsdaten/Preiseinheit_") + date), field39), StringEntry(((toBase58String(i.callerPublicKey) + "_/GEVISEDI01/Header/Kopfdaten/Positionsdaten/Positionsreferenzen/Zeilennr_") + date), field40), StringEntry(((toBase58String(i.callerPublicKey) + "_/GEVISEDI01/Header/Kopfdaten/Positionsdaten/Preiseinheit_") + date), field41), StringEntry(((toBase58String(i.callerPublicKey) + "_/GEVISEDI01/Header/Kopfdaten/Positionsdaten/Positionsreferenzen/Zeilennr_") + date), field42), StringEntry(((toBase58String(i.callerPublicKey) + "_/GEVISEDI01/Header/Kopfdaten/Kopfadressen[3]/Adresse-2_") + date), field43), StringEntry(((toBase58String(i.callerPublicKey) + "_/GEVISEDI01/Header/Kopfdaten/Positionsdaten/Menge_") + date), field44), StringEntry(((toBase58String(i.callerPublicKey) + "_/GEVISEDI01/Header/Kopfdaten/Positionsdaten/Artikel-EDI_") + date), field45), StringEntry(((toBase58String(i.callerPublicKey) + "_/GEVISEDI01/Header/Kopfdaten/Positionsdaten/Positionsreferenzen/Artikel-EDI_") + date), field46), StringEntry(((toBase58String(i.callerPublicKey) + "_/GEVISEDI01/Header/Kopfdaten/Waehrungscode_") + date), field47)] | |
175 | - | else throw("at least one field is empty") | |
160 | + | let verfication = plausibilityChek("VPREI", toBase58String(i.callerPublicKey), callerAddress, date) | |
161 | + | if (!(verfication)) | |
162 | + | then throw("Invalid Price!") | |
163 | + | else if (if (if (if (if (if (if (if (if (if (if (if (if (if (if (if (if ((field31 != "")) | |
164 | + | then (field32 != "") | |
165 | + | else false) | |
166 | + | then (field33 != "") | |
167 | + | else false) | |
168 | + | then (field34 != "") | |
169 | + | else false) | |
170 | + | then (field35 != "") | |
171 | + | else false) | |
172 | + | then (field36 != "") | |
173 | + | else false) | |
174 | + | then (field37 != "") | |
175 | + | else false) | |
176 | + | then (field38 != "") | |
177 | + | else false) | |
178 | + | then (field39 != "") | |
179 | + | else false) | |
180 | + | then (field40 != "") | |
181 | + | else false) | |
182 | + | then (field41 != "") | |
183 | + | else false) | |
184 | + | then (field42 != "") | |
185 | + | else false) | |
186 | + | then (field43 != "") | |
187 | + | else false) | |
188 | + | then (field44 != "") | |
189 | + | else false) | |
190 | + | then (field45 != "") | |
191 | + | else false) | |
192 | + | then (field46 != "") | |
193 | + | else false) | |
194 | + | then (field47 != "") | |
195 | + | else false) | |
196 | + | then [StringEntry(((toBase58String(i.callerPublicKey) + "_/GEVISEDI01/Header/Kopfdaten/Positionsdaten/Einheitencode_") + date), field31), StringEntry(((toBase58String(i.callerPublicKey) + "_/GEVISEDI01/Header/Kopfdaten/Positionsdaten/Einheitencode-EDI_") + date), field32), StringEntry(((toBase58String(i.callerPublicKey) + "_/GEVISEDI01/Header/Kopfdaten/Positionsdaten/Menge_") + date), field33), StringEntry(((toBase58String(i.callerPublicKey) + "_/GEVISEDI01/Header/Kopfdaten/Positionsdaten/Einheitencode_") + date), field34), StringEntry(((toBase58String(i.callerPublicKey) + "_/GEVISEDI01/Header/Kopfdaten/Positionsdaten/Einheitencode-EDI_") + date), field35), StringEntry(((toBase58String(i.callerPublicKey) + "_/GEVISEDI01/Header/Kopfdaten/Positionsdaten/Preis_") + date), field36), StringEntry(((toBase58String(i.callerPublicKey) + "_/GEVISEDI01/Header/Kopfdaten/Positionsdaten/Preiseinheit_") + date), field37), StringEntry(((toBase58String(i.callerPublicKey) + "_/GEVISEDI01/Header/Kopfdaten/Positionsdaten/Positionsreferenzen/Zeilennr_") + date), field38), StringEntry(((toBase58String(i.callerPublicKey) + "_/GEVISEDI01/Header/Kopfdaten/Positionsdaten/Preiseinheit_") + date), field39), StringEntry(((toBase58String(i.callerPublicKey) + "_/GEVISEDI01/Header/Kopfdaten/Positionsdaten/Positionsreferenzen/Zeilennr_") + date), field40), StringEntry(((toBase58String(i.callerPublicKey) + "_/GEVISEDI01/Header/Kopfdaten/Positionsdaten/Preiseinheit_") + date), field41), StringEntry(((toBase58String(i.callerPublicKey) + "_/GEVISEDI01/Header/Kopfdaten/Positionsdaten/Positionsreferenzen/Zeilennr_") + date), field42), StringEntry(((toBase58String(i.callerPublicKey) + "_/GEVISEDI01/Header/Kopfdaten/Kopfadressen[3]/Adresse-2_") + date), field43), StringEntry(((toBase58String(i.callerPublicKey) + "_/GEVISEDI01/Header/Kopfdaten/Positionsdaten/Menge_") + date), field44), StringEntry(((toBase58String(i.callerPublicKey) + "_/GEVISEDI01/Header/Kopfdaten/Positionsdaten/Artikel-EDI_") + date), field45), StringEntry(((toBase58String(i.callerPublicKey) + "_/GEVISEDI01/Header/Kopfdaten/Positionsdaten/Positionsreferenzen/Artikel-EDI_") + date), field46), StringEntry(((toBase58String(i.callerPublicKey) + "_/GEVISEDI01/Header/Kopfdaten/Waehrungscode_") + date), field47)] | |
197 | + | else throw("at least one field is empty") | |
176 | 198 | } | |
177 | 199 | ||
178 | 200 | ||
179 | 201 | @Verifier(tx) | |
180 | 202 | func verify () = match tx { | |
181 | 203 | case _: DataTransaction => | |
182 | 204 | true | |
183 | 205 | case _: SetScriptTransaction => | |
184 | 206 | true | |
185 | 207 | case _ => | |
186 | 208 | true | |
187 | 209 | } | |
188 | 210 |
github/deemru/w8io/169f3d6 46.58 ms ◑