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

8132 bytes

5f1960805260a0806040526004361015610017575f80fd5b5f3560e01c90816306a2da3d1461108a5750806306fdde0314611044578063077f22b714611021578063095ea7b314610fac5780630c340a2414610f7f57806318160ddd14610f6257806323b872dd14610e7e578063313ce56714610e6357806339a7919f14610e3657806340c10f1914610d3c578063430bf08a14610d1b578063456ee28614610cdc5780635d36b19014610bad5780635f5a857714610b76578063609350cd14610b435780636691cb3d14610b205780636b96be3914610ae957806370a0823114610abe5780637a46a9c514610aa15780637d0d66ff14610a8457806395d89b4114610a425780639d01fc72146105275780639dc29fac146104f1578063a9059cbb14610496578063baa9c9db14610449578063c2376dff14610430578063c7af3352146103ff578063cd6dc6871461032d578063d38bfff414610295578063dd62ed3e1461024b578063e5c4fffe14610202578063e696393a146101e5578063f51b0fd4146101ca5763f9854bfc14610197575f80fd5b346101c65760203660031901126101c65760406101ba6101b561124c565b6117c8565b82519182526020820152f35b5f80fd5b346101c6575f3660031901126101c6576101e333611db3565b005b346101c6575f3660031901126101c657602060a054604051908152f35b346101c65760203660031901126101c657606061021d61124c565b60745181165f52609d60205261023760405f205491611c1b565b604051918252602082015260016040820152f35b346101c65760403660031901126101c65761026461124c565b61026c61125d565b90607451165f52609b60205260405f2090607451165f52602052602060405f2054604051908152f35b346101c65760203660031901126101c6576102ae61124c565b6102cb6074515f516020611fa45f395f51905f525416331461177c565b807f44c4d30b2eaad5130ad70c3ba6972730566f3e6359ab83e800d905c61b1c51db556074515f516020611fa45f395f51905f5254169060745116907fa39cc5eb22d0f34d8beaefee8a3f17cc229c1a1d1ef87a5ad47313487b1c4f0d5f80a3005b346101c65760403660031901126101c65761034661124c565b6103636074515f516020611fa45f395f51905f525416331461177c565b6074511680156103c557609c54607451811661038a57602435609f55607451191617609c55005b60405162461bcd60e51b8152602060048201526013602482015272105b1c9958591e481a5b9a5d1a585b1a5e9959606a1b6044820152606490fd5b60405162461bcd60e51b81526020600482015260126024820152715a65726f207661756c74206164647265737360701b6044820152606490fd5b346101c6575f3660031901126101c65760206074515f516020611fa45f395f51905f52541633146040519015158152f35b346101c6575f3660031901126101c6576101e333611c3d565b346101c65760203660031901126101c6576101e361046561124c565b6104826074515f516020611fa45f395f51905f525416331461177c565b6104916074518216151561133f565b611db3565b346101c65760403660031901126101c6576104af61124c565b6024356104cd816074518416936104c78515156113d5565b33611929565b6040519081525f516020611f845f395f51905f5260203392a3602060405160018152f35b346101c65760403660031901126101c6576101e361050d61124c565b61051e607451609c54163314611421565b602435906116e2565b346101c65760403660031901126101c65761054061124c565b61054861125d565b6074515f516020611fa45f395f51905f525416331480156109ca575b61056d906112e2565b60745182169182156109855760745182168015610940578084146108fb57805f5260a560205260745160405f20541615806108e3575b806108cb575b806108b3575b1561086257835f5260a260205260ff60405f205416815f5260a260205260ff60405f20541690600581101590816107de578015918215610855575b8215610844575b5050156107ff57600581101590816107de5780159182156107f2575b82156107cd575b50501561078f578361075161074c610746610757947f31e39e4bb9df9d4143551c8a3a4798fc19b0854768570ce84d966f6adffd01a3985f5260a160205260405f205415610781575b805f5260a160205260405f2054610773575b61074061073a61067e89611621565b966106888b611621565b93805f52609d6020526106a86106a360405f2054968b61147a565b611816565b91805f5260a460205260405f208260745119825416179055815f5260a560205260405f208160745119825416179055805f5260a260205260405f20600360ff19825416179055805f5260a1602052670de0b6b3a764000060405f20555f52609d6020528860405f2055805f5260a260205260405f20600460ff198254161790555f52609d6020528060405f205561185c565b9161185c565b9061138b565b9261185c565b6116d2565b906118de565b60408051607480519390931681529151929092166020820152a1005b61077c88611db3565b61066f565b61078a87611c3d565b61065d565b60405162461bcd60e51b8152602060048201526016602482015275496e76616c696420726562617365537461746520746f60501b6044820152606490fd5b9091506107de576002148580610614565b634e487b7160e01b5f52602160045260245ffd5b506001811491505f61060d565b60405162461bcd60e51b815260206004820152601860248201527f496e76616c69642072656261736553746174652066726f6d00000000000000006044820152606490fd5b9091506107de5760021486806105f1565b506001811491505f6105ea565b60405162461bcd60e51b8152602060048201526024808201527f426c6f636b6564206279206578697374696e67207969656c642064656c6567616044820152633a34b7b760e11b6064820152608490fd5b50835f5260a460205260745160405f205416156105af565b50835f5260a560205260745160405f205416156105a9565b50805f5260a460205260745160405f205416156105a3565b60405162461bcd60e51b815260206004820152601760248201527f43616e6e6f742064656c656761746520746f2073656c660000000000000000006044820152606490fd5b60405162461bcd60e51b815260206004820152601b60248201527f5a65726f20746f2061646472657373206e6f7420616c6c6f77656400000000006044820152606490fd5b60405162461bcd60e51b815260206004820152601d60248201527f5a65726f2066726f6d2061646472657373206e6f7420616c6c6f7765640000006044820152606490fd5b5060046020607451609c54166040519283809263570d8e1d60e01b82525afa8015610a375761056d915f91610a08575b506074511633149050610564565b610a2a915060203d602011610a30575b610a228183611298565b8101906112c8565b846109fa565b503d610a18565b6040513d5f823e3d90fd5b346101c6575f3660031901126101c657610a80604051610a63604082611298565b600481526309e8aa8960e31b60208201526040519182918261126e565b0390f35b346101c6575f3660031901126101c6576020609e54604051908152f35b346101c6575f3660031901126101c6576020609f54604051908152f35b346101c65760203660031901126101c6576020610ae1610adc61124c565b611621565b604051908152f35b346101c65760203660031901126101c657607451610b0561124c565b165f5260a5602052602060745160405f205416604051908152f35b346101c6575f3660031901126101c6576020633b9aca00609f5404604051908152f35b346101c65760203660031901126101c657607451610b5f61124c565b165f5260a1602052602060405f2054604051908152f35b346101c65760203660031901126101c657607451610b9261124c565b165f5260a4602052602060745160405f205416604051908152f35b346101c6575f3660031901126101c6576074517f44c4d30b2eaad5130ad70c3ba6972730566f3e6359ab83e800d905c61b1c51db54163303610c7e573315610c3957336074515f516020611fa45f395f51905f5254167fc7c0c772add429241571afb3805861fb3cfa2af374534088b76cdb4325a87e9a5f80a3335f516020611fa45f395f51905f5255005b60405162461bcd60e51b815260206004820152601a60248201527f4e657720476f7665726e6f7220697320616464726573732830290000000000006044820152606490fd5b60405162461bcd60e51b815260206004820152603060248201527f4f6e6c79207468652070656e64696e6720476f7665726e6f722063616e20636f60448201526f6d706c6574652074686520636c61696d60801b6064820152608490fd5b346101c65760203660031901126101c657607451610cf861124c565b165f5260a260205260ff60405f20541660405160058210156107de576020918152f35b346101c6575f3660031901126101c6576020607451609c5416604051908152f35b346101c65760403660031901126101c657610d5561124c565b602435610d69607451609c54163314611421565b6074518216918215610df157610751610d8b91610d858461185c565b9061195a565b607051610d9a82609a5461147a565b80609a551015610dbf575f516020611f845f395f51905f5260205f92604051908152a3005b60405162461bcd60e51b815260206004820152600a6024820152694d617820737570706c7960b01b6044820152606490fd5b60405162461bcd60e51b815260206004820152601860248201527f4d696e7420746f20746865207a65726f206164647265737300000000000000006044820152606490fd5b346101c65760203660031901126101c657610e58607451609c54163314611421565b6101e3600435611487565b346101c6575f3660031901126101c657602060405160128152f35b346101c65760603660031901126101c657610e9761124c565b610e9f61125d565b60745181169160443591610eb48415156113d5565b607451821692835f52609b60205260405f2060745133165f5260205260405f205492838211610f285781602093610f16925f516020611f845f395f51905f5296885f52609b875260405f2060745133165f5287528360405f2091039055611929565b604051908152a3602060405160018152f35b60405162461bcd60e51b8152602060048201526012602482015271105b1b1bddd85b98d948195e18d95959195960721b6044820152606490fd5b346101c6575f3660031901126101c6576020609a54604051908152f35b346101c6575f3660031901126101c65760205f516020611fa45f395f51905f525460405190607451168152f35b346101c65760403660031901126101c657610fc561124c565b60243590335f52609b60205260405f2060745182165f526020528160405f205560405191825260745116907f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560203392a3602060405160018152f35b346101c6575f3660031901126101c6576020633b9aca00609e5404604051908152f35b346101c6575f3660031901126101c657610a80604051611065604082611298565b600c81526b27b934b3b4b71022ba3432b960a11b60208201526040519182918261126e565b346101c65760203660031901126101c6576110a361124c565b6074515f516020611fa45f395f51905f52541633149182156111d0575b506110eb7fa4fa89dd14422a509261a2d4d459f93abdc84c6e92c5e7ae5448243713967bd3926112e2565b607451811690815f5260a460205261110c60745160405f205416151561133f565b815f5260a460205261075760745160405f2054169261075161073a61113085611621565b9261074061073a61114089611621565b92895f52609d60205261115760405f205494611816565b908a5f5260a560205260405f20607451198154169055805f5260a460205260405f20607451198154169055805f5260a260205260405f20600160ff198254161790555f52609d6020528660405f2055895f5260a260205260405f20600260ff19825416179055895f52609d6020528060405f205561185c565b9150602082600481607451609c541663570d8e1d60e01b82525afa918215610a37577fa4fa89dd14422a509261a2d4d459f93abdc84c6e92c5e7ae5448243713967bd3926110eb915f9161122d575b5060745116331492506110c0565b611246915060203d602011610a3057610a228183611298565b8461121f565b60043590607451821682036101c657565b60243590607451821682036101c657565b602060409281835280519182918282860152018484015e5f828201840152601f01601f1916010190565b90601f801991011681019081106068518211176112b457604052565b634e487b7160e01b5f52604160045260245ffd5b908160209103126101c65751607451811681036101c65790565b156112e957565b60405162461bcd60e51b815260206004820152602860248201527f43616c6c6572206973206e6f74207468652053747261746567697374206f722060448201526723b7bb32b93737b960c11b6064820152608490fd5b1561134657565b60405162461bcd60e51b815260206004820152601860248201527f5a65726f2061646472657373206e6f7420616c6c6f77656400000000000000006044820152606490fd5b81810392915f1380158285131691841216176113a357565b634e487b7160e01b5f52601160045260245ffd5b81156113c1570490565b634e487b7160e01b5f52601260045260245ffd5b156113dc57565b60405162461bcd60e51b815260206004820152601860248201527f5472616e7366657220746f207a65726f206164647265737300000000000000006044820152606490fd5b1561142857565b60405162461bcd60e51b815260206004820152601760248201527f43616c6c6572206973206e6f7420746865205661756c740000000000000000006044820152606490fd5b919082039182116113a357565b919082018092116113a357565b609a5480156115dc57818114611596575060705181111561159157506070515b80609a556114b760a0548261146d565b609e5490670de0b6b3a76400008202828104670de0b6b3a764000014831517156113a357816114e59161147a565b5f198101919082116113a3576114fa916113b7565b9182609f55821561154c576115477f41645eb819d3011b13f97696a8109d14bfcddfaca7d063ec0564d62a3e25723593604051938493846040919493926060820195825260208201520152565b0390a1565b60405162461bcd60e51b815260206004820152601860248201527f496e76616c6964206368616e676520696e20737570706c7900000000000000006044820152606490fd5b6114a7565b609e54609f54604080519384526020840192909252908201527f41645eb819d3011b13f97696a8109d14bfcddfaca7d063ec0564d62a3e25723591508060608101611547565b60405162461bcd60e51b815260206004820152601860248201527f43616e6e6f7420696e637265617365203020737570706c7900000000000000006044820152606490fd5b6074518116805f5260a260205260ff60405f2054169160058310156107de57600383146116c057815f52609d60205260405f205490670de0b6b3a7640000820291808304670de0b6b3a764000014901517156113a35760049161168661168c92611c1b565b906113b7565b9214611696575090565b906116bd915f5260a560205260745160405f2054165f52609d60205260405f20549061146d565b90565b5090505f52609d60205260405f205490565b600160ff1b81146113a3575f0390565b9060745182169081156117375780156117325760208161171a6107515f96610d8561074c5f516020611f845f395f51905f529761185c565b61172681609a5461146d565b609a55604051908152a3565b505050565b60405162461bcd60e51b815260206004820152601a60248201527f4275726e2066726f6d20746865207a65726f20616464726573730000000000006044820152606490fd5b1561178357565b60405162461bcd60e51b815260206004820152601a60248201527f43616c6c6572206973206e6f742074686520476f7665726e6f720000000000006044820152606490fd5b906117d282611c1b565b916b033b2e3c9fd0803ce800000083036117fa57607451165f52609d60205260405f20549190565b607451165f52609d602052633b9aca008060405f205404920490565b609f54908181029181830414901517156113a357670de0b6b3a76400008101908181116113a357670de0b6b3a763ffff019081116113a357670de0b6b3a7640000900490565b6001600160ff1b03811161186d5790565b60405162461bcd60e51b815260206004820152602860248201527f53616665436173743a2076616c756520646f65736e27742066697420696e2061604482015267371034b73a191a9b60c11b6064820152608490fd5b9190915f83820193841291129080158216911516176113a357565b8061190e575b50806118ed5750565b611904611909916118ff60a05461185c565b6118c3565b611f35565b60a055565b611904611920916118ff609e5461185c565b609e555f6118e4565b61195892611952611952610d859461194a61075195610d8561074c8761185c565b96909461185c565b926118c3565b565b90915f915f92607451821694855f5260a260205260ff60405f2054169261198861198382611621565b61185c565b5f61199384836118c3565b12611bd657611904836119a5926118c3565b9360058110156107de5760038103611a1e5750505050835f5260a460205260745160405f2054166119e16106a3836119dc84611621565b61147a565b91611a036119ee8461185c565b835f52609d60205261074060405f205461185c565b955f52609d60205260405f20555f52609d60205260405f2055565b600403611a82575050506106a3611a5291855f5260a560205260745160405f2054165f52609d60205260405f20549061147a565b611a73611a5e8261185c565b855f52609d60205261074060405f205461185c565b935f52609d60205260405f2055565b809692963b8015908115611b46575b501580611b26575b80611b12575b611b03575b505f82815260a16020526040902054948515611af5575093670de0b6b3a763ffff1901611ada575b5f52609d60205260405f2055565b805f5260a1602052670de0b6b3a764000060405f2055611acc565b9450509350611a5290611816565b611b0c90611c3d565b5f611aa4565b50825f5260a160205260405f205415611a9f565b50825f5260a260205260ff60405f20541660058110156107de5715611a99565b601791501480611b57575b5f611a91565b50803b60685181116112b457604051611b7a601f8301601f191660200182611298565b81815260208101915f83853c5190516001600160e81b03198116919060038210611bb7575b50506001600160e81b03191661ef0160f01b14611b51565b6001600160e81b0319600392830390921b82901b161690505f80611b9f565b60405162461bcd60e51b815260206004820152601f60248201527f5472616e7366657220616d6f756e7420657863656564732062616c616e6365006044820152606490fd5b607451165f90815260a160205260409020548015611c365790565b50609f5490565b607451811690815f5260a160205260405f2054611d6e57815f5260a260205260ff60405f20541660058110156107de5760028114908115611d65575b5015611d0c5781611d036020927f201ace89ad3f5ab7428b91989f6a50d1998791c7b94a0fa812fd64a57687165e945f52609d845261075161073a61074c611cc560405f205494611621565b93865f5260a2885260405f20600160ff19825416179055865f5260a18852670de0b6b3a764000060405f2055865f52609d88528460405f205561185c565b604051908152a1565b60405162461bcd60e51b815260206004820152602b60248201527f4f6e6c79207374616e64617264207265626173696e67206163636f756e74732060448201526a18d85b881bdc1d081bdd5d60aa1b6064820152608490fd5b9050155f611c79565b60405162461bcd60e51b815260206004820152601860248201527f4163636f756e74206d757374206265207265626173696e6700000000000000006044820152606490fd5b611dbc81611621565b906074511690815f5260a160205260405f205415801590611f21575b15611edc57815f5260a260205260ff60405f20541660058110156107de5760018114908115611ed3575b5015611e77577f19a249fa2050bac8314ac10e3ad420bd9825574bf750f58810c3c7adfc7b1c6f91611d038261075161074c610746611e42602097611816565b865f5260a2885260405f20600260ff19825416179055865f5260a188525f6040812055865f52609d88528060405f205561185c565b60405162461bcd60e51b815260206004820152602e60248201527f4f6e6c79207374616e64617264206e6f6e2d7265626173696e67206163636f7560448201526d373a399031b0b71037b83a1034b760911b6064820152608490fd5b9050155f611e02565b60405162461bcd60e51b815260206004820152601c60248201527f4163636f756e74206d757374206265206e6f6e2d7265626173696e67000000006044820152606490fd5b50815f52609d60205260405f205415611dd8565b5f8112611f3f5790565b606460405162461bcd60e51b815260206004820152602060248201527f53616665436173743a2076616c7565206d75737420626520706f7369746976656044820152fdfeddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef7bea13895fa79d2831e0a9e28edede30099005a50d652d8957cf8a607ee6ca4a