solc-0.8.36-memorymasking-07 0xdac17f958d2ee523a2206206994597c13d831ec7 via-ir

4633 bytes

5f1960805260a06040526004361015610016575f80fd5b5f5f3560e01c806306fdde0314610ef25780630753c30c14610e7f578063095ea7b314610d5c5780630e136b1914610d365780630ecb93c014610cc857806318160ddd14610cad57806323b872dd14610a9657806326976e3f14610a7457806327e235e314610a41578063313ce56714610a235780633539071414610a055780633eaaf86b146109e75780633f4ba83a1461098d57806359bf1abe146102ea5780635c658165146109425780635c975abb1461091d57806370a08231146108f95780638456cb591461089a578063893d20e8146108785780638da5cb5b1461087857806395d89b411461076f578063a9059cbb1461055c578063c0324c77146104bf578063cc872b661461040c578063db006a7514610375578063dd62ed3e14610340578063dd644f7214610322578063e47d6060146102ea578063e4997dc51461027f578063e5b5019a14610263578063f2fde38b1461021f5763f3bdc2281461017f575f80fd5b3461021c57602036600319011261021c57610198611040565b607451825416330361021a57607451811690818352600660205260ff60408420541615610216577f61e6e66b0d6339b2980aecc6ccc0039736791f0ccde9ed512e789a7fbdd698c6916101ec6040926110f6565b8185526002602052848381205561020581600154611152565b60015582519182526020820152a180f35b8280fd5b505b80fd5b503461021c57602036600319011261021c57610239611040565b8154906074518216330361021657607451169081610255578280f35b60745119161781555f808280f35b503461021c578060031936011261021c5760206040515f198152f35b503461021c57602036600319011261021c57610299611040565b607451825416330361021a5760207fd7e9ec6e6ecd65492dce6bf513cd6867560d49544421d0783ddf06e76c24470c9160745116808452600682526040842060ff198154169055604051908152a180f35b503461021c57602036600319011261021c5760ff604060209260745161030e611040565b168152600684522054166040519015158152f35b503461021c578060031936011261021c576020600354604051908152f35b503461021c57604036600319011261021c57602061036d61035f611040565b610367611051565b9061115f565b604051908152f35b503461021c57602036600319011261021c5760043560745182541690813303610216576001549080821061040857828452600260205280604085205410610408577f702d5967f45f6513a38ffc42d6ba9bf230bd40e8f53b16363c7eb4fd2deb9a44926103e482602094611152565b600155845260028252604084206103fc828254611152565b9055604051908152a180f35b8380fd5b503461021c57602036600319011261021c576004356074518254168033036102165760015461043b8382611062565b1115610216578083526002602052610457826040852054611062565b818452600260205260408420541015610216577fcb8241adb0c3fdb35b70c24ce35c5eb0c17af7431c99f827d44a445ca624176a91602091845260028252604084206104a4828254611062565b90556104b281600154611062565b600155604051908152a180f35b503461021c57604036600319011261021c5760043560243560745183541633036102165760148210156102165760328110156102165781600355600954604d811161054857916105366040927fb044a1e409eac5c48e5af22d4af52670dd1a99059537a78b31b48c6500a6354e94600a0a906111f1565b8060045582519182526020820152a180f35b634e487b7160e01b84526011600452602484fd5b503461021c57604036600319011261021c5780610577611040565b6024359060ff835460a01c1661076b57338352600660205260ff60408420541661076b57600a5460a01c60ff161561061d57607451600a541691823b156106185760405163370c4c0560e11b815260748051331660048301525192909216602483015260448201529082908290606490829084905af1801561060d576105fc57505080f35b8161060691610fe6565b61021c5780f35b6040513d84823e3d90fd5b505050fd5b91506044361061021657612710610636600354836111f1565b0491600454808411610763575b50610650828411156111d6565b61067c61065d8484611152565b9233865260026020526040862054610677818311156111d6565b611152565b338552600260205260408520556074511691828452600260205260408420546106b16106a88483611062565b918210156111d6565b83855260026020526040852055806106f4575b506040519081527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60203392a380f35b607451845416808552600260205260408520549061071e6107158484611062565b928310156111d6565b855260026020526040852055607451845416906040519081527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60203392a35f6106c4565b92505f610643565b5050fd5b503461021c578060031936011261021c576040519080600854908160011c9160018116801561086e575b60208410811461085a5783865290811561083357506001146107d6575b6107d2846107c681860382610fe6565b60405191829182611016565b0390f35b600881527ff3f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee3939250905b808210610819575090915081016020016107c6826107b6565b919260018160209254838588010152019101909291610800565b60ff191660208087019190915292151560051b850190920192506107c691508390506107b6565b634e487b7160e01b83526022600452602483fd5b92607f1692610799565b503461021c578060031936011261021c57602090607451905416604051908152f35b503461021c578060031936011261021c5780546074518116330361021a5760ff8160a01c1661021a5760ff60a01b1916600160a01b1781557f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff6258180a180f35b503461021c57602036600319011261021c57602061036d610918611040565b6110f6565b503461021c578060031936011261021c5760ff6020915460a01c166040519015158152f35b503461021c57604036600319011261021c57604061095e611040565b91610967611051565b9260745116815260056020522090607451165f52602052602060405f2054604051908152f35b503461021c578060031936011261021c5780546074518116330361021a5760ff8160a01c161561021a5760ff60a01b191681557f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b338180a180f35b503461021c578060031936011261021c576020600154604051908152f35b503461021c578060031936011261021c576020600454604051908152f35b503461021c578060031936011261021c576020600954604051908152f35b503461021c57602036600319011261021c576040602091607451610a63611040565b168152600283522054604051908152f35b503461021c578060031936011261021c576020607451600a5416604051908152f35b503461021c57606036600319011261021c5780610ab1611040565b610ab9611051565b6044359160ff845460a01c16610618576074511690818452600660205260ff60408520541661061857600a5460a01c60ff1615610b4457607451600a5416803b15610b40578492836084926040519687958694638b477adb60e01b8652336004870152602486015260745116604485015260648401525af1801561060d576105fc57505080f35b8480fd5b925090606436106104085781845260056020526040842060745133165f5260205260405f205492612710610b7a600354846111f1565b0493600454808611610ca4575b50916020917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef93825f198210610c74575b610bc591508711156111d6565b610beb610bd28784611152565b92868952600285526040892054610677818311156111d6565b8588526002845260408820556074511694858752600283526040872054610c156106a88483611062565b86885260028452604088205580610c32575b50604051908152a380f35b60745187541680885260028452604088205490610c526107158484611062565b88526002845260408820558484846074518a541693604051908152a35f610c27565b81610677610c84938311156111d6565b858852600584526040882060745133165f52845260405f20555f82610bb8565b94506020610b87565b503461021c578060031936011261021c57602061036d611083565b503461021c57602036600319011261021c57610ce2611040565b607451825416330361021a5760207f42e160154868087d6bfdc0ca23d96a1c1cfa32f1b72ba9ba27b69b98a0d819dc91607451168084526006825260408420600160ff19825416179055604051908152a180f35b503461021c578060031936011261021c57602060ff600a5460a01c166040519015158152f35b5034610dfb576040366003190112610dfb57610d76611040565b6024359060443610610dfb57600a5460a01c60ff1615610dff57607451600a541691823b15610dfb5760405163aee92d3360e01b81526074805133166004830152519290921660248301526044820152905f908290606490829084905af18015610df057610de2575080f35b610dee91505f90610fe6565b005b6040513d5f823e3d90fd5b5f80fd5b81151580610e5c575b610dfb57335f52600560205260405f2060745182165f526020528160405f205560405191825260745116907f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560203392a380f35b50335f52600560205260405f2060745182165f5260205260405f20541515610e08565b34610dfb576020366003190112610dfb57610e98611040565b6074515f54163303610dfb57600a80546074516001600160a81b03199091169216918217600160a01b1790556040519081527fcc358699805e9a8b7f77b522628c7cb9abd07d9efb86b6fb616af1609036a99e90602090a1005b34610dfb575f366003190112610dfb576040515f6007548060011c90600181168015610fdc575b602083108114610fc857828552908115610fa45750600114610f46575b6107d2836107c681850382610fe6565b60075f9081527fa66cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c688939250905b808210610f8a575090915081016020016107c6610f36565b919260018160209254838588010152019101909291610f72565b60ff191660208086019190915291151560051b840190910191506107c69050610f36565b634e487b7160e01b5f52602260045260245ffd5b91607f1691610f19565b90601f8019910116810190811060685182111761100257604052565b634e487b7160e01b5f52604160045260245ffd5b602060409281835280519182918282860152018484015e5f828201840152601f01601f1916010190565b6004359060745182168203610dfb57565b6024359060745182168203610dfb57565b9190820180921161106f57565b634e487b7160e01b5f52601160045260245ffd5b600a5460ff8160a01c165f146110ef576020600491604051928380926318160ddd60e01b8252607451165afa908115610df0575f916110c0575090565b90506020813d6020116110e7575b816110db60209383610fe6565b81010312610dfb575190565b3d91506110ce565b5060015490565b600a549060ff8260a01c165f1461113d576020906024604051809481936370a0823160e01b8352607451166004830152607451165afa908115610df0575f916110c0575090565b9050607451165f52600260205260405f205490565b9190820391821161106f57565b90600a549160ff8360a01c165f146111b2579060446020926040519485938492636eb1769f60e11b8452607451166004840152607451166024830152607451165afa908115610df0575f916110c0575090565b909150607451165f52600560205260405f2090607451165f5260205260405f205490565b156111dd57565b634e487b7160e01b5f52600160045260245ffd5b908115611213578082029182049081810361106f5761121091146111d6565b90565b50505f9056