solc-0.8.36-fakeopcode 0xd86756dbb01e75a11aadacb75c8495759ed92033 via-ir
8572 bytes
6080806040526004361015610012575f80fd5b5f3560e01c90816306a2da3d1461116d5750806306fdde0314611127578063077f22b714611104578063095ea7b3146110835780630c340a241461105457806318160ddd1461103757806323b872dd14610f31578063313ce56714610f1557806339a7919f14610ee257806340c10f1914610dc6578063430bf08a14610d9e578063456ee28614610d575780635d36b19014610c195780635f5a857714610bd9578063609350cd14610b9e5780636691cb3d14610b7b5780636b96be3914610b3b57806370a0823114610b105780637a46a9c514610af35780637d0d66ff14610ad657806395d89b4114610a945780639d01fc721461053b5780639dc29fac146104ff578063a9059cbb14610490578063baa9c9db14610450578063c2376dff14610437578063c7af335214610413578063cd6dc68714610334578063d38bfff4146102a5578063dd62ed3e1461024e578063e5c4fffe146101fd578063e696393a146101e0578063f51b0fd4146101c55763f9854bfc14610192575f80fd5b346101c15760203660031901126101c15760406101b56101b0611347565b61193c565b82519182526020820152f35b5f80fd5b346101c1575f3660031901126101c1576101de33611f60565b005b346101c1575f3660031901126101c157602060a054604051908152f35b346101c15760203660031901126101c1576060610218611347565b6001600160a01b0381165f908152609d60205260409020549061023a90611dbd565b604051918252602082015260016040820152f35b346101c15760403660031901126101c157602061029c61026c611347565b61027461135d565b6001600160a01b039182165f908152609b855260408082209290931681526020919091522090565b54604051908152f35b346101c15760203660031901126101c1576102be611347565b6102ce6102c961191f565b6118d3565b7f44c4d30b2eaad5130ad70c3ba6972730566f3e6359ab83e800d905c61b1c51db8190555f51602061215c5f395f51905f52546001600160a01b0391821691167fa39cc5eb22d0f34d8beaefee8a3f17cc229c1a1d1ef87a5ad47313487b1c4f0d5f80a3005b346101c15760403660031901126101c15761034d611347565b6103586102c961191f565b5f906001600160a01b031680156103d957609c54916001600160a01b0383160361039e57602435609f556001600160a01b03166001600160a01b03199190911617609c55005b60405162461bcd60e51b8152602060048201526013602482015272105b1c9958591e481a5b9a5d1a585b1a5e9959606a1b6044820152606490fd5b60405162461bcd60e51b81526020600482015260126024820152715a65726f207661756c74206164647265737360701b6044820152606490fd5b346101c1575f3660031901126101c157602061042d61191f565b6040519015158152f35b346101c1575f3660031901126101c1576101de33611de4565b346101c15760203660031901126101c1576101de61046c611347565b6104776102c961191f565b61048b6001600160a01b038216151561144f565b611f60565b346101c15760403660031901126101c1576104a9611347565b602435906001600160a01b038116906104cf9083906104c9841515611505565b33611aad565b6040519182526001600160a01b03169033905f51602061213c5f395f51905f5290602090a3602060405160018152f35b346101c15760403660031901126101c1576101de61051b611347565b609c54610532906001600160a01b03163314611551565b60243590611824565b346101c15760403660031901126101c157610554611347565b61055c61135d565b61056461191f565b8015610a0f575b610574906113f2565b5f916001600160a01b03811680156109ca576001600160a01b03831684811461098557808214610940576001600160a01b039081165f81815260a560205260409020549095911681149081610920575b816108fd575b816108da575b50156108895760601b60601c92835f5260a260205260405f205460ff16815f5260a260205260405f205460ff16906005811015908161080557801591821561087c575b821561086b575b5050156108265760058110159081610805578015918215610819575b82156107f4575b5050156107b6578361077661077161076b61077c947f31e39e4bb9df9d4143551c8a3a4798fc19b0854768570ce84d966f6adffd01a3985f5260a160205260405f2054156107a8575b805f5260a160205260405f205461079a575b61076561075f6106a789611757565b966106b18b611757565b93805f52609d6020526106d16106cc60405f2054968b6115aa565b61199a565b91805f5260a46020526106e78d60405f2061149b565b815f5260a56020526106fc8c60405f2061149b565b805f5260a260205260405f20600360ff19825416179055805f5260a1602052670de0b6b3a764000060405f20555f52609d6020528860405f2055805f5260a260205260405f20600460ff198254161790555f52609d6020528060405f20556119e0565b916119e0565b906114bb565b926119e0565b611814565b90611a62565b604080516001600160a01b03928316815292909116602083015290a1005b6107a388611f60565b610698565b6107b187611de4565b610686565b60405162461bcd60e51b8152602060048201526016602482015275496e76616c696420726562617365537461746520746f60501b6044820152606490fd5b90915061080557600214858061063d565b634e487b7160e01b5f52602160045260245ffd5b506001811491505f610636565b60405162461bcd60e51b815260206004820152601860248201527f496e76616c69642072656261736553746174652066726f6d00000000000000006044820152606490fd5b90915061080557600214868061061a565b506001811491505f610613565b60405162461bcd60e51b8152602060048201526024808201527f426c6f636b6564206279206578697374696e67207969656c642064656c6567616044820152633a34b7b760e11b6064820152608490fd5b6001600160a01b038084165f90815260a4602052604090205416149050856105d0565b6001600160a01b038084165f90815260a5602052604090205416811491506105ca565b5f86815260a460205260409020546001600160a01b0316811491506105c4565b60405162461bcd60e51b815260206004820152601760248201527f43616e6e6f742064656c656761746520746f2073656c660000000000000000006044820152606490fd5b60405162461bcd60e51b815260206004820152601b60248201527f5a65726f20746f2061646472657373206e6f7420616c6c6f77656400000000006044820152606490fd5b60405162461bcd60e51b815260206004820152601d60248201527f5a65726f2066726f6d2061646472657373206e6f7420616c6c6f7765640000006044820152606490fd5b50609c5460405163570d8e1d60e01b815290602090829060049082906001600160a01b03165afa8015610a8957610574915f91610a5a575b506001600160a01b03163314905061056b565b610a7c915060203d602011610a82575b610a74818361139d565b8101906113d3565b84610a47565b503d610a6a565b6040513d5f823e3d90fd5b346101c1575f3660031901126101c157610ad2604051610ab560408261139d565b600481526309e8aa8960e31b602082015260405191829182611373565b0390f35b346101c1575f3660031901126101c1576020609e54604051908152f35b346101c1575f3660031901126101c1576020609f54604051908152f35b346101c15760203660031901126101c1576020610b33610b2e611347565b611757565b604051908152f35b346101c15760203660031901126101c157610b54611347565b6001600160a01b039081165f90815260a56020908152604091829020549151919092168152f35b346101c1575f3660031901126101c1576020633b9aca00609f5404604051908152f35b346101c15760203660031901126101c157610bb7611347565b60601b60601c60601b60601c5f5260a1602052602060405f2054604051908152f35b346101c15760203660031901126101c157610bf2611347565b6001600160a01b039081165f90815260a46020908152604091829020549151919092168152f35b346101c1575f3660031901126101c1577f44c4d30b2eaad5130ad70c3ba6972730566f3e6359ab83e800d905c61b1c51db5433906001600160a01b03168103610cf9578015610cb4575f51602061215c5f395f51905f52546001600160a01b0391821691167fc7c0c772add429241571afb3805861fb3cfa2af374534088b76cdb4325a87e9a5f80a3335f51602061215c5f395f51905f5255005b60405162461bcd60e51b815260206004820152601a60248201527f4e657720476f7665726e6f7220697320616464726573732830290000000000006044820152606490fd5b60405162461bcd60e51b815260206004820152603060248201527f4f6e6c79207468652070656e64696e6720476f7665726e6f722063616e20636f60448201526f6d706c6574652074686520636c61696d60801b6064820152608490fd5b346101c15760203660031901126101c157610d70611347565b60601b60601c60601b60601c5f5260a260205260405f205460ff166040516005821015610805576020918152f35b346101c1575f3660031901126101c157609c546040516001600160a01b039091168152602090f35b346101c15760403660031901126101c157610ddf611347565b609c5460243590610dfa906001600160a01b03163314611551565b5f916001600160a01b038116908115610e9d57610776610e2391610e1d856119e0565b90611ade565b610e2f82609a546115aa565b609a8190556001600160801b031115610e6b576040519182526001600160a01b039081169216905f51602061213c5f395f51905f5290602090a3005b60405162461bcd60e51b815260206004820152600a6024820152694d617820737570706c7960b01b6044820152606490fd5b60405162461bcd60e51b815260206004820152601860248201527f4d696e7420746f20746865207a65726f206164647265737300000000000000006044820152606490fd5b346101c15760203660031901126101c157609c54610f0a906001600160a01b03163314611551565b6101de6004356115b7565b346101c1575f3660031901126101c15760405160128152602090f35b346101c15760603660031901126101c157610f4a611347565b610f5261135d565b604435916001600160a01b03821691610f6c831515611505565b6001600160a01b0382165f818152609b6020908152604080832033845290915290209093905492838611610ffd5785602093610fe192825f51602061213c5f395f51905f5297895f52609b885203610fdb3360405f209060601b60601c60601b60601c5f5260205260405f2090565b55611aad565b6040519485526001600160a01b031693a3602060405160018152f35b60405162461bcd60e51b8152602060048201526012602482015271105b1b1bddd85b98d948195e18d95959195960721b6044820152606490fd5b346101c1575f3660031901126101c1576020609a54604051908152f35b346101c1575f3660031901126101c15760205f51602061215c5f395f51905f52546040519060601b60601c8152f35b346101c15760403660031901126101c15761109c611347565b335f818152609b602090815260408083206001600160a01b03861684528252909120602435937f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92592918590556040519485526001600160a01b031693a3602060405160018152f35b346101c1575f3660031901126101c1576020633b9aca00609e5404604051908152f35b346101c1575f3660031901126101c157610ad260405161114860408261139d565b600c81526b27b934b3b4b71022ba3432b960a11b602082015260405191829182611373565b346101c15760203660031901126101c157611186611347565b61118e61191f565b9182156112bc575b506111c17fa4fa89dd14422a509261a2d4d459f93abdc84c6e92c5e7ae5448243713967bd3926113f2565b6001600160a01b038082165f81815260a4602052604081205491939261077c926111ed9116151561144f565b835f5260a460205261077661075f60405f205460601b60601c9561076561075f61121688611757565b956112208a611757565b6001600160a01b038b165f818152609d602052604090205495909161126f906112489061199a565b93835f5260a560205261125e8160405f2061149b565b825f5260a460205260405f2061149b565b805f5260a260205260405f20600160ff198254161790555f52609d6020528760405f2055805f5260a260205260405f20600260ff198254161790555f52609d6020528060405f20556119e0565b609c5463570d8e1d60e01b8252909250602090839060049082906001600160a01b03165afa918215610a89577fa4fa89dd14422a509261a2d4d459f93abdc84c6e92c5e7ae5448243713967bd3926111c1915f91611328575b506001600160a01b031633149250611196565b611341915060203d602011610a8257610a74818361139d565b84611315565b600435906001600160a01b03821682036101c157565b602435906001600160a01b03821682036101c157565b602060409281835280519182918282860152018484015e5f828201840152601f01601f1916010190565b90601f8019910116810190811067ffffffffffffffff8211176113bf57604052565b634e487b7160e01b5f52604160045260245ffd5b908160209103126101c157516001600160a01b03811681036101c15790565b156113f957565b60405162461bcd60e51b815260206004820152602860248201527f43616c6c6572206973206e6f74207468652053747261746567697374206f722060448201526723b7bb32b93737b960c11b6064820152608490fd5b1561145657565b60405162461bcd60e51b815260206004820152601860248201527f5a65726f2061646472657373206e6f7420616c6c6f77656400000000000000006044820152606490fd5b80546001600160a01b0319166001600160a01b0392909216919091179055565b81810392915f1380158285131691841216176114d357565b634e487b7160e01b5f52601160045260245ffd5b81156114f1570490565b634e487b7160e01b5f52601260045260245ffd5b1561150c57565b60405162461bcd60e51b815260206004820152601860248201527f5472616e7366657220746f207a65726f206164647265737300000000000000006044820152606490fd5b1561155857565b60405162461bcd60e51b815260206004820152601760248201527f43616c6c6572206973206e6f7420746865205661756c740000000000000000006044820152606490fd5b919082039182116114d357565b919082018092116114d357565b609a548015611712578181146116cc57506001600160801b0390818111156116c557505b80609a556115eb60a0548261159d565b609e5490670de0b6b3a76400008202828104670de0b6b3a764000014831517156114d35781611619916115aa565b5f198101919082116114d35761162e916114e7565b9182609f5582156116805761167b7f41645eb819d3011b13f97696a8109d14bfcddfaca7d063ec0564d62a3e25723593604051938493846040919493926060820195825260208201520152565b0390a1565b60405162461bcd60e51b815260206004820152601860248201527f496e76616c6964206368616e676520696e20737570706c7900000000000000006044820152606490fd5b90506115db565b609e54609f54604080519384526020840192909252908201527f41645eb819d3011b13f97696a8109d14bfcddfaca7d063ec0564d62a3e2572359150806060810161167b565b60405162461bcd60e51b815260206004820152601860248201527f43616e6e6f7420696e637265617365203020737570706c7900000000000000006044820152606490fd5b6001600160a01b0381165f81815260a2602052604090205460ff16916005831015610805576003831461180257815f52609d60205260405f205490670de0b6b3a7640000820291808304670de0b6b3a764000014901517156114d3576004916117c26117c892611dbd565b906114e7565b92146117d2575090565b5f90815260a560209081526040808320546001600160a01b03168352609d9091529020546117ff9161159d565b90565b5090505f52609d60205260405f205490565b600160ff1b81146114d3575f0390565b6001600160a01b03811691905f90831561188e578215611888575f51602061213c5f395f51905f5291611862610776602093610e1d610771886119e0565b61186e84609a5461159d565b609a556040519384526001600160a01b03908116941692a3565b50505050565b60405162461bcd60e51b815260206004820152601a60248201527f4275726e2066726f6d20746865207a65726f20616464726573730000000000006044820152606490fd5b156118da57565b60405162461bcd60e51b815260206004820152601a60248201527f43616c6c6572206973206e6f742074686520476f7665726e6f720000000000006044820152606490fd5b5f51602061215c5f395f51905f52546001600160a01b0316331490565b9061194682611dbd565b916b033b2e3c9fd0803ce80000008303611975576001600160a01b03165f908152609d60205260409020549190565b6001600160a01b03165f908152609d6020526040902054633b9aca0090819004920490565b609f54908181029181830414901517156114d357670de0b6b3a76400008101908181116114d357670de0b6b3a763ffff019081116114d357670de0b6b3a7640000900490565b6001600160ff1b0381116119f15790565b60405162461bcd60e51b815260206004820152602860248201527f53616665436173743a2076616c756520646f65736e27742066697420696e2061604482015267371034b73a191a9b60c11b6064820152608490fd5b9190915f83820193841291129080158216911516176114d357565b80611a92575b5080611a715750565b611a88611a8d91611a8360a0546119e0565b611a47565b6120ed565b60a055565b611a88611aa491611a83609e546119e0565b609e555f611a68565b611adc92611ad6611ad6610e1d94611ace61077695610e1d610771876119e0565b9690946119e0565b92611a47565b565b6001600160a01b0381165f81815260a2602052604081205491949093909260ff90921691849190611b16611b1182611757565b6119e0565b5f611b218483611a47565b12611d7857611a8883611b3392611a47565b9360058110156108055760038103611bbe5750505050835f5260a460205260405f205460601b60601c611b716106cc83611b6c84611757565b6115aa565b91611ba3611b7e846119e0565b6001600160a01b039093165f818152609d6020526040902054909390610765906119e0565b955f52609d60205260405f20555f52609d60205260405f2055565b600403611c2a575050505f84815260a560209081526040808320546001600160a01b03168352609d909152902054611bfa916106cc91906115aa565b611c1b611c06826119e0565b855f52609d60205261076560405f20546119e0565b935f52609d60205260405f2055565b809692963b8015908115611cee575b501580611cce575b80611cba575b611cab575b505f82815260a16020526040902054948515611c9d575093670de0b6b3a763ffff1901611c82575b5f52609d60205260405f2055565b805f5260a1602052670de0b6b3a764000060405f2055611c74565b9450509350611bfa9061199a565b611cb490611de4565b5f611c4c565b50825f5260a160205260405f205415611c47565b50825f5260a260205260405f205460ff1660058110156108055715611c41565b601791501480611cff575b5f611c39565b50803b67ffffffffffffffff81116113bf57604051611d28601f8301601f19166020018261139d565b81815260208101915f83853c5190516001600160e81b0319169060038110611d62575b506001600160e81b03191661ef0160f01b14611cf9565b62ffffff60e81b9060030360031b1b165f611d4b565b60405162461bcd60e51b815260206004820152601f60248201527f5472616e7366657220616d6f756e7420657863656564732062616c616e6365006044820152606490fd5b6001600160a01b03165f90815260a160205260409020548015611ddd5790565b50609f5490565b6001600160a01b0381165f81815260a160205260409020548190611f1b57815f5260a260205260405f205460ff1660058110156108055760028114908115611f12575b5015611eb957611eb08261077661075f6107717f201ace89ad3f5ab7428b91989f6a50d1998791c7b94a0fa812fd64a57687165e976020975f52609d8852611e7360405f205491611757565b94805f5260a2895260405f20600160ff19825416179055805f5260a18952670de0b6b3a764000060405f20555f52609d88528460405f20556119e0565b604051908152a1565b60405162461bcd60e51b815260206004820152602b60248201527f4f6e6c79207374616e64617264207265626173696e67206163636f756e74732060448201526a18d85b881bdc1d081bdd5d60aa1b6064820152608490fd5b9050155f611e27565b60405162461bcd60e51b815260206004820152601860248201527f4163636f756e74206d757374206265207265626173696e6700000000000000006044820152606490fd5b611f6981611757565b6001600160a01b039091165f81815260a160205260409020549091908290158015906120d9575b1561209457825f5260a260205260405f205460ff166005811015610805576001811490811561208b575b501561202f57611eb08261077661077161076b7f19a249fa2050bac8314ac10e3ad420bd9825574bf750f58810c3c7adfc7b1c6f97611ffa60209861199a565b90805f5260a2895260405f20600260ff19825416179055805f5260a189525f60408120555f52609d88528060405f20556119e0565b60405162461bcd60e51b815260206004820152602e60248201527f4f6e6c79207374616e64617264206e6f6e2d7265626173696e67206163636f7560448201526d373a399031b0b71037b83a1034b760911b6064820152608490fd5b9050155f611fba565b60405162461bcd60e51b815260206004820152601c60248201527f4163636f756e74206d757374206265206e6f6e2d7265626173696e67000000006044820152606490fd5b50825f52609d60205260405f205415611f90565b5f81126120f75790565b606460405162461bcd60e51b815260206004820152602060248201527f53616665436173743a2076616c7565206d75737420626520706f7369746976656044820152fdfeddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef7bea13895fa79d2831e0a9e28edede30099005a50d652d8957cf8a607ee6ca4a