From f105149b2fc1f0b6acbe4c4df9225c2f65d7fa50 Mon Sep 17 00:00:00 2001 From: leekt Date: Fri, 10 May 2024 16:22:22 +0900 Subject: [PATCH] temp/3.1 --- .../11155111/run-1715192178.json | 124 ++++++++++++++++++ .../11155111/run-1715192285.json | 124 ++++++++++++++++++ .../11155111/run-1715192309.json | 124 ++++++++++++++++++ .../11155111/run-1715192359.json | 124 ++++++++++++++++++ .../11155111/run-1715263836.json | 75 +++++++++++ .../11155111/run-1715263846.json | 75 +++++++++++ .../11155111/run-1715263858.json | 75 +++++++++++ .../11155111/run-latest.json | 2 +- foundry.toml | 3 +- src/Kernel.sol | 9 +- 10 files changed, 730 insertions(+), 5 deletions(-) create mode 100644 broadcast/DeployKernel.s.sol/11155111/run-1715192178.json create mode 100644 broadcast/DeployKernel.s.sol/11155111/run-1715192285.json create mode 100644 broadcast/DeployKernel.s.sol/11155111/run-1715192309.json create mode 100644 broadcast/DeployKernel.s.sol/11155111/run-1715192359.json create mode 100644 broadcast/DeployKernel.s.sol/11155111/run-1715263836.json create mode 100644 broadcast/DeployKernel.s.sol/11155111/run-1715263846.json create mode 100644 broadcast/DeployKernel.s.sol/11155111/run-1715263858.json diff --git a/broadcast/DeployKernel.s.sol/11155111/run-1715192178.json b/broadcast/DeployKernel.s.sol/11155111/run-1715192178.json new file mode 100644 index 0000000..66a471f --- /dev/null +++ b/broadcast/DeployKernel.s.sol/11155111/run-1715192178.json @@ -0,0 +1,124 @@ +{ + "transactions": [ + { + "hash": "0x65a34bb045b90c00f563d198c725c7d2d7188f7bfe8d71aa30fbfe79a931be35", + "transactionType": "CREATE2", + "contractName": "Kernel", + "contractAddress": "0x06a30c386e3a570c04f440bf06be1f9d2919ca41", + "function": null, + "arguments": [ + "0x0000000071727De22E5E9d8BAf0edAc6f37da032" + ], + "transaction": { + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x6917ef", + "value": "0x0", + "input": "0x00000000000000000000000000000000000000000000000000000000000000006101403461020457601f6155c338819003918201601f191683019291906001600160401b0384118385101761020957816020928492604096875283398101031261020457516001600160a01b038116810361020457306080524660a05260a082516100698161021f565b600681526005602082016512d95c9b995b60d21b81526020865161008c8161021f565b838152019264302e332e3160d81b845251902091208160c0528060e0528451917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f835260208301528482015246606082015230608082015220916101009283526101209182528051602081019063deadbeef60e01b8252600481526101108161021f565b5190516001600160581b0319918282169190601581106101ef575b505090507f7bcaa2ced2a71450ed5a9a1b4848e8e5206dbc3f06011e595f7f55428cc6f84f9060581c60018060a81b03198254161790555190615388928361023b8439608051836144b5015260a051836144d8015260c0518361454a015260e051836145700152518261449401525181818161052401528181610848015281816109fe01528181610b2701528181610ec60152818161122b01528181611393015281816113f30152818161191b01528181611a8a015281816123e20152612ca70152f35b8391925060150360031b1b161680388061012b565b600080fd5b634e487b7160e01b600052604160045260246000fd5b604081019081106001600160401b038211176102095760405256fe6080604052600436101561001d575b36612b535761001b612b22565b005b60003560e01c8063112d3a7d146101fd57806312af322c146101f8578063150b7a02146101f35780631626ba7e146101ee57806319822f7c146101e95780631f1b92e3146101e45780633659cfe6146101df57806352141cd9146101da57806357b3a5f4146101d55780636e6fa0c6146101d0578063721e67f4146101cb57806384b0196e146101c65780638dd7712f146101c157806390ef8862146101bc5780639198bdf5146101b75780639517e29f146101b25780639cfd7cff146101ad578063a65d69d4146101a8578063a71763a8146101a3578063adb610a31461019e578063b8afe17d14610199578063bc197c8114610194578063c3e589781461018f578063d03c79141461018a578063d691c96414610185578063e6f3d50a14610180578063e9ae5c531461017b578063f1f7f0f914610176578063f23a6e61146101715763f2dc691d0361000e57611c17565b611bbd565b611b85565b611a59565b6118a0565b6117bc565b61176f565b611693565b61158c565b611522565b6114ee565b6113c2565b61137d565b611326565b6111fa565b6110f3565b610fa2565b610e91565b610def565b610d43565b610ce6565b610c38565b610af5565b6109be565b610806565b6104e6565b610486565b61042c565b610329565b610291565b6001600160a01b0381160361021357565b600080fd5b359061022382610202565b565b9181601f84011215610213578235916001600160401b038311610213576020838186019501011161021357565b6060600319820112610213576004359160243561026e81610202565b91604435906001600160401b0382116102135761028d91600401610225565b9091565b346102135760206102ad6102a436610252565b92919091611e17565b6040519015158152f35b6001600160581b031981160361021357565b6080600319820112610213576004356102e1816102b7565b916024356102ee81610202565b916001600160401b0391604435838111610213578261030f91600401610225565b939093926064359182116102135761028d91600401610225565b3461021357610337366102c9565b936001600160581b0393919319610378816103716103646000805160206153688339815191525460581b90565b6001600160581b03191690565b1615611ee1565b86161561041a576001600160f81b03198616600160f81b811415908161040b575b506103f957856103ab61001b97612d10565b6103cc6103b66110c2565b60018152925b6001600160a01b03166020840152565b600080516020615368833981519152805463ffffffff60a81b1916600160a81b179055612d6b565b612d6b565b6040516361c4e91b60e11b8152600490fd5b600160f91b1415905038610399565b604051631a0a9b9f60e21b8152600490fd5b3461021357608036600319011261021357610448600435610202565b610453602435610202565b6064356001600160401b03811161021357610472903690600401610225565b5050604051630a85bd0160e11b8152602090f35b34610213576040366003190112610213576024356001600160401b038111610213576104c46104bb6020923690600401610225565b90600435611ffc565b6040516001600160e01b03199091168152f35b90816101209103126102135790565b606036600319011261021357600480356001600160401b0381116102135761051190369083016104d7565b60243590604435906001600160a01b03907f0000000000000000000000000000000000000000000000000000000000000000821633036107d15780849261055b60208301356130d7565b6001600160f81b0319909116159590939091866107a7575b908461057f93926132bc565b9561059161058c84611da5565b612129565b9415948580610765575b61075457602001516001600160a01b0316918216908115610743576001926105d06105ef926000526000602052604060002090565b80546001600160a01b0319166001600160a01b03909216919091179055565b036106a25782610644575b50506106335761061d9250805b610621575b506040519081529081906020820190565b0390f35b3490349034903490335af1503861060c565b604051631a0a9b9f60e21b81528390fd5b61069b92506106979161067961067361066d61066261069095611dde565b936060810190612155565b90611c46565b90611d79565b63ffffffff60e01b16600052602052604060002090565b5460ff1690565b1590565b38806105fa565b82919291610710575b506106ff5761066d8160606106c1930190612155565b638dd7712f60e01b916001600160e01b0319916106dd91611d79565b16036106ee5761061d925080610607565b60405163dbbb044b60e01b81528390fd5b604051631a0a9b9f60e21b81528490fd5b61073d915061069061072461069792611dde565b6106796106736107376060880188612155565b90611c35565b386106ab565b604051631a0a9b9f60e21b81528990fd5b604051633ab3447f60e11b81528990fd5b50805163ffffffff1663ffffffff61079f6107966000805160206153688339815191525463ffffffff9060c81c1690565b63ffffffff1690565b91161061059b565b93509061057f916107c76000805160206153688339815191525460581b90565b9490919250610573565b6040516348f5c3ed60e01b81528590fd5b6004359063ffffffff8216820361021357565b359063ffffffff8216820361021357565b60203660031901126102135761081a6107e2565b61083c6108366000805160206153688339815191525460581b90565b60581c90565b6001600160a01b0390337f000000000000000000000000000000000000000000000000000000000000000083161415806109b4575b156109a95760405163ecd0596160e01b8152600480820152911690602081602481855afa90811561093a5760009161097a575b50156109685760405163d68f602560e01b815291600083806108cb36343360048501612218565b038183865af192831561093a5760009361093f575b506108ea90613463565b803b1561021357604051630b9dfbed60e11b81529160009183918290849082906109179060048301612254565b03925af1801561093a5761092757005b8061093461001b9261101c565b80610d9c565b611ff0565b6108ea919350610961903d806000833e61095981836110a1565b8101906121ba565b92906108e0565b6040516348f5c3ed60e01b8152600490fd5b61099c915060203d6020116109a2575b61099481836110a1565b810190612187565b386108a4565b503d61098a565b505061001b90613463565b5030331415610871565b6020366003190112610213576004356109d681610202565b6109f26108366000805160206153688339815191525460581b90565b6001600160a01b0390337f00000000000000000000000000000000000000000000000000000000000000008316141580610aeb575b15610ae05760405163ecd0596160e01b8152600480820152911690602081602481855afa90811561093a57600091610ac1575b50156109685760405163d68f602560e01b81529160008380610a8136343360048501612218565b038183865af192831561093a57600093610aa0575b506108ea90612265565b6108ea919350610aba903d806000833e61095981836110a1565b9290610a96565b610ada915060203d6020116109a25761099481836110a1565b38610a5a565b505061001b90612265565b5030331415610a27565b610afe366102c9565b91610b1b6108366000805160206153688339815191525460581b90565b6001600160a01b0390337f00000000000000000000000000000000000000000000000000000000000000008316141580610c1c575b15610c0c5760405163ecd0596160e01b815260048082015291169490602081602481895afa90811561093a57600091610bed575b50156109685760405163d68f602560e01b81529560008780610bab36343360048501612218565b0381838a5af196871561093a57600097610bcc575b506108ea9596976122b9565b6108ea969750610be6903d806000833e61095981836110a1565b9695610bc0565b610c06915060203d6020116109a25761099481836110a1565b38610b84565b5050919361001b959391936122b9565b5030331415610b50565b6001600160e01b031981160361021357565b346102135760203660031901126102135761061d610c7a600435610c5b81610c26565b600060408051610c6a81611034565b8281528260208201520152611f23565b60405190610c8782611034565b80546001600160a01b0390811680845260019092015480821660208086019182526001600160f81b031960589390931b831660409687019081528651958652915190931692840192909252905116918101919091529081906060820190565b3461021357604036600319011261021357602060ff610d37600435610d0a816102b7565b610d1f60243591610d1a83610c26565b611dde565b9063ffffffff60e01b16600052602052604060002090565b54166040519015158152f35b34610213576020366003190112610213576020610d79600435610d6581610202565b6000604051610d738161104f565b52612ce9565b60405190610d868261104f565b546001600160a01b031690819052604051908152f35b600091031261021357565b60005b838110610dba5750506000910152565b8181015183820152602001610daa565b90602091610de381518092818552858086019101610da7565b601f01601f1916010190565b3461021357600036600319011261021357610e3e610e0b613543565b90604051928392600f60f81b8452610e3060209360e0602087015260e0860190610dca565b908482036040860152610dca565b90466060840152306080840152600060a084015282820360c0840152602060605192838152019160809160005b828110610e7a57505050500390f35b835185528695509381019392810192600101610e6b565b6040366003190112610213576004356001600160401b03811161021357610ebc9036906004016104d7565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081163303610968576060906001610f18610f0b6024356000526000602052604060002090565b546001600160a01b031690565b91821614159283610f72575b610f3f610f38826060610f46940190612155565b8091611c54565b903061368a565b509215610f575761001b92506136b1565b505015610f6057005b60405163f21e646b60e01b8152600490fd5b9150610f46610f3f610f38610f98610f90610f386060880188612155565b903487613608565b9492505050610f24565b3461021357600036600319011261021357602063ffffffff6000805160206153688339815191525460c81c16604051908152f35b9181601f84011215610213578235916001600160401b038311610213576020808501948460051b01011161021357565b634e487b7160e01b600052604160045260246000fd5b6001600160401b03811161102f57604052565b611006565b606081019081106001600160401b0382111761102f57604052565b602081019081106001600160401b0382111761102f57604052565b604081019081106001600160401b0382111761102f57604052565b61012081019081106001600160401b0382111761102f57604052565b90601f801991011681019081106001600160401b0382111761102f57604052565b604051906102238261106a565b6040519061022382611085565b6001600160401b03811161102f5760051b60200190565b6080366003190112610213576001600160401b036004358181116102135761111f903690600401610fd6565b906024358381116102135736602382011215610213578060040135611143816110dc565b9160409161115460405194856110a1565b8084526020906024602086019160061b8401019236841161021357602401905b8382106111bc57505050505060443584811161021357611198903690600401610fd6565b91606435958611610213576111b461001b963690600401610fd6565b9590946123b3565b84823603126102135782859182516111d38161106a565b6111dc856107f5565b8152828501356111eb81610202565b83820152815201910190611174565b61120336610252565b61121f6108366000805160206153688339815191525460581b90565b6001600160a01b0390337f0000000000000000000000000000000000000000000000000000000000000000831614158061131c575b156113105760405163ecd0596160e01b815260048082015291169290602081602481875afa90811561093a576000916112f1575b50156109685760405163d68f602560e01b815293600085806112af36343360048501612218565b038183885af194851561093a576000956112d0575b506108ea93949561256f565b6108ea9495506112ea903d806000833e61095981836110a1565b94936112c4565b61130a915060203d6020116109a25761099481836110a1565b38611288565b50509161001b9361256f565b5030331415611254565b346102135760003660031901126102135761061d6040516113468161106a565b60168152756b65726e656c2e616476616e6365642e76302e332e3160501b6020820152604051918291602083526020830190610dca565b34610213576000366003190112610213576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b6113cb36610252565b6113e76108366000805160206153688339815191525460581b90565b6001600160a01b0390337f000000000000000000000000000000000000000000000000000000000000000083161415806114e4575b156114d85760405163ecd0596160e01b815260048082015291169290602081602481875afa90811561093a576000916114b9575b50156109685760405163d68f602560e01b8152936000858061147736343360048501612218565b038183885af194851561093a57600095611498575b506108ea93949561287e565b6108ea9495506114b2903d806000833e61095981836110a1565b949361148c565b6114d2915060203d6020116109a25761099481836110a1565b38611450565b50509161001b9361287e565b503033141561141c565b3461021357600036600319011261021357602063ffffffff6000805160206153688339815191525460a81c16604051908152f35b34610213576020366003190112610213576040611552600435611544816102b7565b61154c612a1a565b50611da5565b60208251916115608361106a565b5463ffffffff81169283815260018060a01b03928391019160201c168152835192835251166020820152f35b346102135760a0366003190112610213576115a8600435610202565b6115b3602435610202565b6001600160401b03604435818111610213576115d3903690600401610fd6565b5050606435818111610213576115ed903690600401610fd6565b505060843590811161021357611607903690600401610225565b505060405163bc197c8160e01b8152602090f35b602080825282516001600160f01b03191681830152808301516001600160a01b03166040808401919091529092015160608083015280516080830181905260a090920192908101919060005b828110611675575050505090565b83516001600160501b03191685529381019392810192600101611667565b3461021357602080600319360112610213576004356116b181610c26565b6116d660409160608380516116c581611034565b600081526000878201520152611f5b565b908051916116e383611034565b805460f081901b6001600160f01b031916845260101c6001600160a01b031684840152815160019182018054808352600091825286822083880197939490939092905b82821061174d5761061d88888861173f818e03826110a1565b81830152519182918261161b565b845460501b6001600160501b0319168952978801979383019390830190611726565b346102135760203660031901126102135760206102ad600435612a33565b9060406003198301126102135760043591602435906001600160401b0382116102135761028d91600401610225565b6117c53661178d565b916001600160a01b036117d733612ce9565b541690811561188e57606060019460018414159485611877575b6117fb9293613d74565b92611867575b5050906040519060208083016020845284518091526040840191602060408360051b8701019601926000905b83821061183a5786880387f35b90919293948380611856839a603f198b82030186528951610dca565b99970195949391909101910161182d565b611870916136b1565b3880611801565b6117fb9250611887363487613584565b92506117f1565b60405163710c949760e01b8152600490fd5b60603660031901126102135760048035906118ba826102b7565b6001600160401b0391602435838111610213576118da9036908401610225565b93604435908111610213576118f29036908501610225565b9061190f6108366000805160206153688339815191525460581b90565b6001600160a01b0390337f00000000000000000000000000000000000000000000000000000000000000008316141580611a4f575b15611a3f57169560405163ecd0596160e01b81526020818061196d8a8201906004602083019252565b03818b5afa90811561093a57600091611a20575b5015611a0f5760405163d68f602560e01b815293600085806119a73634338d8501612218565b0381838c5af194851561093a576000956119f0575b506119c79495612af5565b823b15610213576109179260009283604051809681958294630b9dfbed60e11b84528301612254565b6119c79550611a09903d806000833e61095981836110a1565b946119bc565b6040516348f5c3ed60e01b81528690fd5b611a39915060203d6020116109a25761099481836110a1565b38611981565b50509261001b9592919450612af5565b5030331415611944565b611a623661178d565b611a7e6108366000805160206153688339815191525460581b90565b6001600160a01b0390337f00000000000000000000000000000000000000000000000000000000000000008316141580611b7b575b15611b6f5760405163ecd0596160e01b815260048082015291169190602081602481865afa90811561093a57600091611b50575b50156109685760405163d68f602560e01b81529260008480611b0e36343360048501612218565b038183875af193841561093a57600094611b2f575b506108ea929394612b0a565b6108ea939450611b49903d806000833e61095981836110a1565b9392611b23565b611b69915060203d6020116109a25761099481836110a1565b38611ae7565b50509061001b92612b0a565b5030331415611ab3565b346102135760003660031901126102135760206000805160206153688339815191525460581b604051906001600160581b0319168152f35b346102135760a036600319011261021357611bd9600435610202565b611be4602435610202565b6084356001600160401b03811161021357611c03903690600401610225565b505060405163f23a6e6160e01b8152602090f35b346102135760203660031901126102135760206102ad600435612b15565b906008116102135760040190600490565b906004116102135790600490565b909291928360041161021357831161021357600401916003190190565b906018116102135760040190601490565b906014116102135790601490565b906020116102135790602090565b909291928360011161021357831161021357600101916000190190565b909291928360141161021357831161021357601401916013190190565b906016116102135790601690565b906016116102135760020190601490565b909291928360161161021357831161021357601601916015190190565b906002116102135790600290565b906009116102135760010190600890565b909291928360091161021357831161021357600901916008190190565b90602c116102135760180190601490565b90939293848311610213578411610213578101920390565b6001600160e01b03199035818116939260048110611d9657505050565b60040360031b82901b16169150565b6001600160581b0319166000527f7bcaa2ced2a71450ed5a9a1b4848e8e5206dbc3f06011e595f7f55428cc6f850602052604060002090565b6001600160581b0319166000527f7bcaa2ced2a71450ed5a9a1b4848e8e5206dbc3f06011e595f7f55428cc6f851602052604060002090565b90929060018103611e6657506001600160a01b0392611e609250611e50915060581b600160581b600160f81b0316600160f81b17611da5565b5460201c6001600160a01b031690565b16151590565b60028103611e9957506001600160a01b0392611e609250611e8d9150610f0b908416612ce9565b6001600160a01b031690565b600303611ed957611eba611eb5610673600193611ec895611c46565b611f23565b01546001600160a01b031690565b6001600160a01b0390811691161490565b505050600090565b15611ee857565b60405162461bcd60e51b8152602060048201526013602482015272185b1c9958591e481a5b9a5d1a585b1a5e9959606a1b6044820152606490fd5b63ffffffff60e01b166000527f7c341349a4360fdd5d5bc07e69f325dc6aaea3eb018b3e0ea7e53cc0bb0d6f3b602052604060002090565b63ffffffff60e01b166000527f7bcaa2ced2a71450ed5a9a1b4848e8e5206dbc3f06011e595f7f55428cc6f852602052604060002090565b908160209103126102135751611fa881610c26565b90565b908060209392818452848401376000828201840152601f01601f1916010190565b611fa8949260609260018060a01b0316825260208201528160408201520191611fab565b6040513d6000823e3d90fd5b9161200691612f5c565b91906001600160f81b031980831615612108575b6001600160a01b039081612033611e8d611e5087611da5565b161561041a578316600160f81b036120b8579060209392916120576120759661308e565b604051637aa8f17760e11b8152968795869485933360048601611fcc565b039260581c165afa90811561093a5760009161208f575090565b611fa8915060203d6020116120b1575b6120a981836110a1565b810190611f93565b503d61209f565b509060081b92600160f11b6120e66120d96120d287611f5b565b5460f01b90565b6001600160f01b03191690565b166120f657611fa8933390612fdd565b604051635b71057960e01b8152600490fd5b91506121236000805160206153688339815191525460581b90565b9161201a565b906040516121368161106a565b915463ffffffff81168352602090811c6001600160a01b031690830152565b903590601e198136030182121561021357018035906001600160401b0382116102135760200191813603831361021357565b90816020910312610213575180151581036102135790565b6001600160401b03811161102f57601f01601f191660200190565b602081830312610213578051906001600160401b038211610213570181601f820112156102135780516121ec8161219f565b926121fa60405194856110a1565b8184526020828401011161021357611fa89160208085019101610da7565b916080939160018060a01b03168352602083015260606040830152806060830152806000848401376000828201840152601f01601f1916010190565b906020611fa8928181520190610dca565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8190556001600160a01b03167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2565b94939291906001600160581b031986161561041a576001600160f81b03198616600160f81b8114159081612363575b506103f9576122f686612d10565b6001600160a01b0361230a611e5088611da5565b1615612319575b505050505050565b612358956103f46123406000805160206153688339815191525463ffffffff9060a81c1690565b926103bc61234c6110c2565b63ffffffff9095168552565b388080808080612311565b600160f91b14159050386122e8565b9060405161237f81611034565b82546001600160a01b039081168252600190930154928316602082015260589290921b6001600160f81b0319166040830152565b959294919390946123d66108366000805160206153688339815191525460581b90565b6001600160a01b0390337f00000000000000000000000000000000000000000000000000000000000000008316141580612523575b156125135760405163ecd0596160e01b8152600480820152911695906020816024818a5afa90811561093a576000916124f4575b50156109685760405163d68f602560e01b8152966000888061246636343360048501612218565b0381838b5af197881561093a576000986124d3575b5061248796979861375c565b803b1561021357604051630b9dfbed60e11b81529160009183918290849082906124b49060048301612254565b03925af1801561093a576124c6575b50565b806109346102239261101c565b6124879798506124ed903d806000833e61095981836110a1565b979661247b565b61250d915060203d6020116109a25761099481836110a1565b3861243f565b505091939092946102239661375c565b503033141561240b565b916020611fa8938181520191611fab565b6bffffffffffffffffffffffff19903581811693926014811061256057505050565b60140360031b82901b16169150565b6001810361264b57506106736102239361263761264593600160581b600160f81b039060581b16600160f81b17946126066125df611e8d6125d96125d36125cc6000805160206153688339815191525463ffffffff9060a81c1690565b9786611c82565b9061253e565b60601c90565b6125f66125ea6110c2565b63ffffffff9096168652565b6001600160a01b03166020850152565b6014810135810192603482013582019160548101350193603460148401359301916034601483013592019089612d6b565b603460148201359101611c46565b90613a70565b600281036126a75750916126986102239361267d611e8d6125d96125d360148801358801966034890135890198611c82565b928391601482013591603401906001600160a01b03166139e2565b60346014830135920190613915565b909190600381036127275750612722611e8d612712610223958461270d60186125d997013582016125d960388401358401996126e66106738787611c46565b90612707611e8d6126f78989611c71565b601888013597603801969161253e565b916137ca565b611c71565b601886013595603801949161253e565b613915565b9091906004810361276857506001600160a01b031691823b15610213576124b492600092836040518096819582946306d61fe760e41b84526004840161252d565b600581036127a657506001600160a01b031691823b15610213576124b492600092836040518096819582946306d61fe760e41b84526004840161252d565b6006036127e2576001600160a01b031691823b15610213576124b492600092836040518096819582946306d61fe760e41b84526004840161252d565b604051631092ef5760e11b8152600490fd5b604051906128018261104f565b60008252565b359060208110612815575090565b6000199060200360031b1b1690565b9190604051906128338261104f565b819360008352116102135760206000910152565b9291926128538261219f565b9161286160405193846110a1565b829481845281830111610213578281602093846000960137010152565b929190600184036128a8576124c3935060581b600160581b600160f81b0316600160f81b17613c28565b600284036128c3576124c393506001600160a01b0316613bde565b909190600384036128f257506124c3925080806128e66106736128ec9486611c46565b93611c54565b91613b84565b91926004810361297857506124c3926129459161291e6000805160206153688339815191525460581b90565b61292a611e5082611da5565b6001600160a01b0386811691161461294b575b503691612847565b90613ad5565b61295761297291611da5565b8054640100000000600160c01b031916640100000000179055565b3861293d565b600581036129fb57506000805160206153688339815191525460581b5b6129a86129a28386611c90565b90612807565b906001600160f81b03198116600160f91b146129d0575b50506124c392612945913691612847565b60081b6001600160e01b031916146129e95738806129bf565b6040516313002bdd60e31b8152600490fd5b6006036127e2576000805160206153688339815191525460581b612995565b60405190612a278261106a565b60006020838281520152565b612a47818060081b918160301b9160501b90565b929091600160f81b916001600160f81b031991908216838114159081612aeb575b81612ae0575b81612ad1575b50612ac75716908114159081612abd575b50612ab6576001600160e01b031916612ab0576001600160501b031916612aab57600190565b600090565b50600090565b5050600090565b9050151538612a85565b5050505050600090565b607f60f91b1415905038612a74565b838114159150612a6e565b8015159150612a68565b91612b0591610223959493613c28565b613f79565b906124c39291613d74565b60071115612aab57600190565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b612b70612b6b6000356001600160e01b031916611f23565b612372565b80516001600160a01b0391908290612b89908216611e8d565b1680612ba157604051631cd4b64760e21b8152600490fd5b606090600181141580612cdf575b15612c9b5750508051612bce906001600160a01b031636903490613584565b915b60408201516001600160f81b031990811680612c5e5750506020820151612c159390612c04906001600160a01b0316613fd6565b9490935b516001600160a01b031690565b918083169060018214159182612c53575b5050612c43575b5050612c3b57602081519101fd5b602081519101f35b612c4c916136b1565b3880612c2d565b141590503880612c26565b03612c89576020820151612c159390612c81906001600160a01b03163690613663565b949093612c08565b604051632d6a6bb760e01b8152600490fd5b9280919303612bd057337f0000000000000000000000000000000000000000000000000000000000000000821614612bd0576040516348f5c3ed60e01b8152600490fd5b5083811415612baf565b6001600160a01b031660009081526000805160206153488339815191526020526040902090565b60207f6789ec0c85d6458d897a36a70129b101f8b4d84c6e218046c3107373dbcbae88916000805160206153688339815191528160581c6001600160581b0360a81b825416179055604051906001600160581b0319168152a1565b9193909294612d86612d7c84611da5565b5463ffffffff1690565b9360008051602061536883398151915294612da9865463ffffffff9060a81c1690565b63ffffffff809281808416911614612f1e575b50506020820180516001600160a01b0397919291612de991891615612f15575b5460a81c63ffffffff1690565b81612dfb610796865163ffffffff1690565b91161490811591612eeb575b50612ed957612c08612e5692612e1c87611da5565b815181546020938401516001600160c01b031990911663ffffffff9290921691909117921b640100000000600160c01b0316919091179055565b91600185841603612ec8575b5050506001600160f81b03198116600160f81b8103612eac575060581c1691823b15610213576124b492600092836040518096819582946306d61fe760e41b84526004840161252d565b909350600160f91b141590506103f9576102239160081b614115565b612ed192613915565b388080612e62565b604051633ab3447f60e11b8152600490fd5b9050612ef9612d7c87611da5565b90612f0b610796855163ffffffff1690565b9116101538612e07565b60018452612ddc565b600080516020615368833981519152805463ffffffff60a81b19166001939093019190911660a81b63ffffffff60a81b169190911790553881612dbc565b9182358060f81c80600014612fa25780600114612f9557600214612f7f57600080fd5b6001600160d81b03191692600501916004190190565b5092601501916014190190565b5050600160009301916000190190565b9092608092611fa89694835260018060a01b0316602083015260408201528160608201520191611fab565b909192612ffc94612ff091858585614375565b94929391969096614469565b509065ffffffffffff8091164210918215613082575b505061306f5761305061302660209661308e565b60405163392dffaf60e01b8152978896879586959193916001600160e01b03191660048701612fb2565b03916001600160a01b03165afa90811561093a5760009161208f575090565b506001600160e01b031995945050505050565b16421190503880613012565b611fa89060405160208101917f1547321c374afde8a591d972a084b071c594c275e36724931ff96c25f2999c8383526040820152604081526130cf81611034565b519020614492565b90818060081b9160ff839260f01c166002146130ef57565b6001600160d81b031983169150565b9080601f8301121561021357816020611fa893359101612847565b9190610120838203126102135761312e6110cf565b9261313881610218565b8452602081013560208501526040810135916001600160401b039283811161021357816131669184016130fe565b6040860152606082013583811161021357816131839184016130fe565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013583811161021357816131be9184016130fe565b60e08601526101009283830135908111610213576131dc92016130fe565b90830152565b90816020910312610213575190565b80516001600160a01b03168252611fa8919061326f61323f61322d61012060208501516020870152604085015190806040880152860190610dca565b60608401518582036060870152610dca565b6080830151608085015260a083015160a085015260c083015160c085015260e083015184820360e0860152610dca565b916101008092015191818403910152610dca565b9392916132a09060409286526060602087015260608601906131f1565b930152565b9291906132a06020916040865260408601906131f1565b9290926000926132cc3682613119565b9161010091828101916132df8383612155565b90949093600160f81b936001600160f81b03199384168514613428575b505050871603613389575050604051639700320360e01b81529360209285928391600091839161332f91600484016132a5565b039260581c6001600160a01b03165af190811561093a57611fa892600092613358575b50614990565b61337b91925060203d602011613382575b61337381836110a1565b8101906131e2565b9038613352565b503d613369565b909460081b93909291600160f01b6133a66120d96120d288611f5b565b166134165760006133c76133c16020966133f199858a614790565b94614990565b604051630ccab7a160e01b8152979096889586948593926001600160e01b03191660048501613283565b03926001600160a01b03165af190811561093a57611fa8926000926133585750614990565b6040516314b9743f60e01b8152600490fd5b9091955061344493985061343d929450612155565b90886145a6565b9691929093613457858995993691612847565b908601523880806132fc565b60008051602061536883398151915280549163ffffffff92600a848260a81c16019084821161352d57828516918516821161351b5760c81c84161015612ed957600080516020615368833981519152805463ffffffff60c81b191660c89290921b63ffffffff60c81b1691909117905554818160c81c1691829160a81c16106134e95750565b600080516020615368833981519152805463ffffffff60a81b191660a89290921b63ffffffff60a81b16919091179055565b60405163e60fd64760e01b8152600490fd5b634e487b7160e01b600052601160045260246000fd5b60405161354f8161106a565b600681526512d95c9b995b60d21b60208201529060405161356f8161106a565b6005815264302e332e3160d81b602082015290565b60405163d68f602560e01b815233600482015260248101929092526060604483015260648201839052600092839183918290849060849083908084838501378181018301849052601f01601f191681010301926001600160a01b03165af191821561093a5780926135f457505090565b611fa892503d8091833e61095981836110a1565b6000928361362f95936040519687958694859363d68f602560e01b85523360048601611fcc565b03926001600160a01b03165af190811561093a5760009161364e575090565b611fa891503d806000833e61095981836110a1565b60009060405192808385378338925af4913d82523d6000602084013e60203d830101604052565b60009192806040519485378338925af4913d82523d6000602084013e60203d830101604052565b6001600160a01b0316803b1561021357604051630b9dfbed60e11b8152602060048201529160009183918290849082906136ef906024830190610dca565b03925af1801561093a576137005750565b6102239061101c565b634e487b7160e01b600052603260045260246000fd5b80511561372c5760200190565b613709565b805182101561372c5760209160051b010190565b9082101561372c5761028d9160051b810190612155565b96959192939694909460005b86811061377a57505050505050509050565b806137bb8a60019360051b850135613791816102b7565b6137a78461379f818c613731565b51938c613745565b906137b3868b8b613745565b949093612d6b565b01613768565b901561372c5790565b6001600160a01b0393919291908483161561390d575b6137e990611f23565b946138156138086137fa83856137c1565b356001600160f81b03191690565b6001600160f81b03191690565b946001600160f81b0319808716806138ee575050908061383792861693611c9e565b823b156102135761386292600092836040518096819582946306d61fe760e41b84526004840161252d565b03925af194851561093a5761389e6138be93600193610223986138db575b505b82546001600160a01b0319166001600160a01b03909116178255565b0180546001600160a01b0319166001600160a01b03909316929092178255565b805460ff60a01b191660589290921c60ff60a01b16919091179055565b806109346138e89261101c565b38613880565b925092505094919403612c895760016138be9161389e61022396613882565b8492506137e0565b6001600160a01b031691821580156139d8575b6139d35760405163d60b347f60e01b8152306004820152602081602481875afa90811561093a576000916139b4575b501561397f576001600160f81b0319806139746137fa84866137c1565b161461397f57505050565b8061398992611c9e565b823b15610213576124b492600092836040518096819582946306d61fe760e41b84526004840161252d565b6139cd915060203d6020116109a25761099481836110a1565b38613957565b505050565b5060018314613928565b919392916001600160a01b039081841615613a67575b1660008181526000805160206153488339815191526020526040812080546001600160a01b0319166001600160a01b0390951694909417909355803b15613a63576136ef9394836040518096819582946306d61fe760e41b8452602060048501526024840191611fab565b8280fd5b600193506139f8565b7f9d17cd6d095ac90a655405ab29f30a7ee7e88ef3974c1bf7544bf591043bb71a91606091613aa282610d1f83611dde565b600160ff198254161790556040519163ffffffff60e01b1682526001600160581b031916602082015260016040820152a1565b60407f2b82f87bf66300af618a9621d3f221edfab735f5bacb4e004cce1b62375396c3919392935a825195613b3587613b276020820193638a91b0e360e01b8552602060248401526044830190610dca565b03601f1981018952886110a1565b6000918291828587519a613b488c61104f565b828c525193f1943d9081613b7b575b6020818360009352013e81516001600160a01b0390911681528415156020820152a1565b60009150613b57565b613b94613bc79194939294611f23565b80546001600160a01b031981168255600190910180546001600160a01b0392831696919492169161294591369190612847565b5080546001600160a81b03191660ff60a01b179055565b6001600160a01b0390811660008181526000805160206153488339815191526020526040902080546001600160a01b0319811690915590911693926124c392612945913691612847565b90929192613c5a613c486000805160206153688339815191525460581b90565b6001600160581b031980851691161490565b6129e957613c6a611e5083611da5565b93613c8b613c7784611da5565b8054640100000000600160c01b0319169055565b6001600160f81b03198316600160f81b8103613cc457506124c39291613cb2913691612847565b9060581c6001600160a01b0316613ad5565b600160f91b141590506103f9576102239160081b614a2b565b604051613ce98161106a565b600181528060005b602080821015613d0c57906060602092828501015201613cf1565b50505090565b90613d1c826110dc565b613d2960405191826110a1565b8281528092613d3a601f19916110dc565b019060005b828110613d4b57505050565b806060602080938501015201613d3f565b906040611fa892600081528160208201520190610dca565b613d88818060081b918160301b9160501b90565b5090936001600160f81b031993600160f81b939092508416838103613e13575050613dba908035019060208201913590565b929093168015600014613dd2575050611fa891614ca9565b03613de057611fa891614bec565b60405162461bcd60e51b815260206004820152600b60248201526a155b9cdd5c1c1bdc9d195960aa1b6044820152606490fd5b94959490919080613eb5575090613e2991614b40565b93909294613e35613cdd565b971680613e5a575050613e4793614b91565b613e508361371f565b526124c38261371f565b03613de057613e6893614b68565b613e718461371f565b52610223577fe723f28f104e46b47fd3531f3608374ac226bcf3ddda334a23a266453e0efdb7613eb0613ea38461371f565b5160405191829182613d5c565b0390a1565b919593918203613de057613eec90613ee6613ece613cdd565b9780613ee06125d96125d38387611c82565b93611cbb565b9161368a565b613ef88795929561371f565b5216908103613f36575015613f0957565b7fe723f28f104e46b47fd3531f3608374ac226bcf3ddda334a23a266453e0efdb7613eb0613ea38461371f565b613de0576102235760405162461bcd60e51b815260206004820152601360248201527211195b1959d85d1958d85b1b0819985a5b1959606a1b6044820152606490fd5b6001600160a01b03169081158015613fcc575b6139d357821561372c576001600160f81b03198135811614613fad57505050565b82600111610213576124c3926129459136916000190190600101612847565b5060018214613f8c565b600080604092835136810185523683823784516014810186523360601b90528260143601925af1918151913d83523d6000602085013e60203d8401019052565b805490600090600081558261402a57505050565b6000526020600020918201915b82811061404357505050565b818155600101614037565b6001600160501b0319903581811693926016811061406b57505050565b60160360031b82901b16169150565b805482101561372c5760005260206000200190600090565b80546801000000000000000081101561102f576140b49160018201815561407a565b819291549060031b9160501c821b9160018060b01b03901b1916179055565b9092809260209483528483013701016000815290565b6001600160f01b0319903581811693926002811061410657505050565b60020360031b82901b16169150565b90803501906020808301923560fe8111801561436d575b61435b5760018061413c85611f5b565b0154614342575b60001982019260005b848110614265575061422a959461423894909361420e935061420792506141a76141f86141df6120d96141d96141d387878e6141ce8e61419f611e8d6125d96125d3614199898989613745565b90611ce6565b9a8b91611f5b565b805462010000600160b01b03191660109290921b62010000600160b01b0316919091179055565b613745565b90611d14565b906140e9565b6141e888611f5b565b9060f01c61ffff19825416179055565b6001600160a01b031696613745565b8091611cf7565b6040519586939092906001600160e01b031916602085016140d3565b03601f1981018452836110a1565b803b15610213576040516306d61fe760e41b81529160009183918290849082906124b49060048301612254565b6142bc611e8d611e8d6125d96125d3614199868a8e6141ce8f6142888e91611f5b565b016142b66142a96142a361429d888888613745565b90611cd8565b9061404e565b6001600160501b03191690565b90614092565b906142cb61420782878b613745565b906142ec60409161422a83519485928d63ffffffff60e01b168a85016140d3565b833b1561021357600093849261431692519586809481936306d61fe760e41b835260048301612254565b03925af191821561093a57849261432f575b500161414c565b8061093461433c9261101c565b38614328565b614356600161435086611f5b565b01614016565b614143565b60405163b62d956d60e01b8152600490fd5b50801561412c565b84846143f8926143e397969498956040519161439083611085565b6143f260009b8c92838652836020870152604086019d8e52606086019c8d918583528560808901528560a0890152606060c089015260e088019286845261010089019687529063ffffffff60e01b169052565b6001600160a01b039091169052565b52614d42565b60ff8061441161440b6137fa87866137c1565b60f81c90565b16036144575761444061442b8461443b9561445094611c9e565b9490955163ffffffff60e01b1690565b611f5b565b5460101c6001600160a01b031690565b9351929190565b60405163b32eeb6960e01b8152600490fd5b8065ffffffffffff91828160a01c1692831560011461448a575b5060d01c92565b925038614483565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f00000000000000000000000000000000000000000000000000000000000000004614161561451f575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220614500565b919290926145b2612a1a565b906145bd9085611c82565b6145c69161253e565b60601c602082018190526000805160206153688339815191525460a81c63ffffffff1680835260349560148082013582018089019791959294919360548601358601808b019490880135939092878c01358801808a013593908d0192918a0135918891908d84369061463792612847565b80519060200120913661464b908888612847565b805190602001203661465e908b8d612847565b8051602091820120604080517fb17ab1224aca0d4255ef8161acaf2ac121b8faa32a4b2258c912cc5f8308c5059381019384526001600160581b0319989098169088015263ffffffff9390931660608701526001600160a01b0393909316608086015260a085019390935260c084019290925260e080840192909252908252906146ea610100826110a1565b5190206146f690614492565b607489013589018d8b820135910161470d92614f94565b9a6147189488612d6b565b6147228183615131565b61472b91611c46565b61473491611d79565b61473d91613a70565b6094810135019293830192013590565b6001600160c01b0319903581811693926008811061476a57505050565b60080360031b82901b16169150565b604090611fa89392815281602082015201906131f1565b6000949391600186816147a285611f5b565b016000835b6147ef575b5050505060ff806147c361440b6137fa87896137c1565b1603614457576101006147e76147e08561444096611fa898611c9e565b3691612847565b910152611f5b565b81979697548110156149885761482061481861480b838561407a565b90549060031b1c60501b90565b908160501c90565b98909761483c61483661440b6137fa85856137c1565b60ff1690565b808403614957575090818161487561486961486361485d8461489298611d22565b9061474d565b60c01c90565b6001600160401b031690565b600901916148876147e0848484611d33565b6101008b0152611d61565b989098975b600160f01b16156148ac575b508301836147a7565b99866148e9929b60018060a01b036040918983518092633894f6e760e11b8252818b868260209c8d9760049c63ffffffff60e01b168d8401614779565b0393165af195861561093a578896614938575b5050841661491e575050614914859493928592614990565b9a919293506148a3565b51631f24c1fb60e11b81529081018c815281906020010390fd5b61494f929650803d106133825761337381836110a1565b9338806148fc565b909991989083111561497557604051630760bdcf60e11b8152600490fd5b61497d6127f4565b610100880152614897565b9695966147ac565b6001600160a01b03818318811615606083811b848601821b9081149186901b1417176001146149c157505050600190565b65ffffffffffff60a01b80831693906001600160d01b031984811691908316908615614a23575b8381168015614a1c575b878110908818028088189714614a14575b508181119082180218921716171790565b955038614a03565b50806149f2565b9550856149e8565b91908035019160209060208401933590614a4481611f5b565b92600190600185019060018254018503614b2e57906000835b614ac0575b50505050614aaf91614aaa8261420e6102239798614a87600161435061422a98611f5b565b8754614a9e9060101c6001600160a01b0316611e8d565b94600019810191613745565b613ad5565b5080546001600160b01b0319169055565b8154811015614b2957908382614b1f61422a8c614b118a614af6868e614aee61481861480b8c9f9e8e61407a565b969050613745565b6040519586939092906001600160e01b0319168c85016140d3565b6001600160a01b0316613ad5565b5001909192614a5d565b614a62565b60405163013dcc8d60e31b8152600490fd5b908060141161021357813560601c928160341161021357601483013592603401916033190190565b906000928491604051958692833738935af1913d82523d6000602084013e60203d830101604052565b9092600092819594604051968792833738935af115614bc0573d82523d6000602084013e60203d830101604052565b503d6000823e3d90fd5b919081101561372c5760051b81013590605e1981360301821215610213570190565b919091614bf883613d12565b9260005b818110614c0857505050565b80614c166001928486614bca565b8035614c2181610202565b614c4260208093604093614c3785830183612155565b939092013590614b68565b614c4c858b613731565b5215614c5b575b505001614bfc565b7fe723f28f104e46b47fd3531f3608374ac226bcf3ddda334a23a266453e0efdb791614c9f614c8a858b613731565b51838051948594888652850152830190610dca565b0390a13880614c53565b919091614cb583613d12565b9260005b818110614cc557505050565b80614cfb6020614cd86001948688614bca565b8035614ce381610202565b614cf06040830183612155565b939092013590614b91565b614d058288613731565b52614d108187613731565b5001614cb9565b9092608092611fa89594835260018060a01b0316602083015260408201528160608201520190610dca565b9190606083016001936001614d6161443b845163ffffffff60e01b1690565b01936000936000958054965b878110614d7f57505050505050505050565b80614d9161481861480b8c948661407a565b6001600160a01b031660a0880190815260808801959091614dba906001600160f01b0319168752565b614dd4614dcd61440b6137fa8a856137c1565b60ff168952565b614de2614836895160ff1690565b808403614f5c5750868181614e0761486961486361485d614e5b9c9d614e2e98611d22565b60208c018181528c60c0614e236147e060099586018789611d33565b910152510191611d61565b959095965b51600160f11b90614e4d906001600160f01b0319166120d9565b166001600160f01b03191690565b15614e68575b5001614d6d565b51909150614e7e906001600160a01b0316611e8d565b8651614ea290614e95906001600160e01b03191681565b6001600160e01b03191690565b60e08701519091906001600160a01b031691614ee76101008901519360c08a01516040948551808095819463184dfdbb60e11b835260209a8b9760049a8b8601614d17565b03915afa93841561093a578b94614f3d575b50506001600160a01b038316614f225750860180518b9392614f1a91614990565b905238614e61565b9051631f24c1fb60e11b815290810183815281906020010390fd5b614f54929450803d106133825761337381836110a1565b913880614ef9565b839196945010600014614f7b57604051630760bdcf60e11b8152600490fd5b614e5b8b93614f8a3688612824565b60c08a0152614e33565b6000805160206153688339815191525460009493929060581b916001600160f81b03198316600160f81b81036150575750604051637aa8f17760e11b8152936020938593909284928392614fec923060048601611fcc565b039160581c6001600160a01b03165afa90811561093a57600091615038575b505b6001600160e01b0319166374eca2c160e11b0161502657565b6040516362467c7760e11b8152600490fd5b615051915060203d6020116120b1576120a981836110a1565b3861500b565b919550929190600160f91b036103f95760209161507a9160081b95843088614375565b60405163392dffaf60e01b815292979295869493859384936150ad93909230906001600160e01b03191660048701612fb2565b03916001600160a01b03165afa90811561093a576000916150cf575b5061500d565b6150e8915060203d6020116120b1576120a981836110a1565b386150c9565b156150f557565b60405162461bcd60e51b8152602060048201526014602482015273496e76616c69642073656c6563746f724461746160601b6044820152606490fd5b61513e6106738383611c46565b90600483101561514d57505050565b602c83106152dd57615168611e8d6125d96125d38685611c71565b602c8201358201602c604c820191013591604c8401358401946151a26151946138086137fa87876137c1565b6001600160f81b0319161590565b8061524c575b946151e961272295611e8d956151ee956102239b956125d99a6151fe575b6151d9611e8d6125d96125d38a8a611d50565b916001600160a01b0316906137ca565b611d50565b602c86013595604c01949161253e565b615247606c8701358701615241602c604c830192013580615228611e8d6125d96125d38488611c82565b9361523c856001600160a01b038a166152eb565b611cbb565b91613915565b6151c6565b5091939092956040519163ecd0596160e01b83526020838061527660048201906002602083019252565b03816001600160a01b0389165afa92831561093a57610223986125d99761272297611e8d976151ee976151e9956000916152be575b50959a50959b50955095509550506151a8565b6152d7915060203d6020116109a25761099481836110a1565b386152ab565b5050600461022391146150ee565b61022391906001600160a01b03908183161561533e575b1660005260008051602061534883398151915260205260406000209060018060a01b03166bffffffffffffffffffffffff60a01b825416179055565b6001925061530256fe1bbee3173dbdc223633258c9f337a0fff8115f206d302bea0ed3eac003b68b867bcaa2ced2a71450ed5a9a1b4848e8e5206dbc3f06011e595f7f55428cc6f84f0000000000000000000000000000000071727de22e5e9d8baf0edac6f37da032", + "nonce": "0x4c", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xa976c0d12aae62e650b3db036da4e52fca531a03bf9cbdd2fc510feb16ae3eed", + "transactionType": "CREATE2", + "contractName": "KernelFactory", + "contractAddress": "0x587dde85064d4f7fc755418119bb36cec31c8309", + "function": null, + "arguments": [ + "0x06A30C386e3a570C04F440bF06be1f9d2919cA41" + ], + "transaction": { + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x600f4", + "value": "0x0", + "input": "0x000000000000000000000000000000000000000000000000000000000000000060a034607357601f61046c38819003918201601f19168301916001600160401b03831184841017607857808492602094604052833981010312607357516001600160a01b03811681036073576080526040516103dd908161008f823960805181818160d10152818161023401526102f00152f35b600080fd5b634e487b7160e01b600052604160045260246000fdfe60806040818152600490600436101561001757600080fd5b600092833560e01c90816348aac39214610267575080635c60da1b1461021f5763ea6d13ac1461004657600080fd5b61004f36610352565b94919083519560209661007a86828a81019486888737868201908c820152038a8101845201826103a5565b5190209483958551917fcc3735a920a3ca505d382bbc545af43d6000803e6038573d6000fd5b3d6000f36060527f5155f3363d3d373d3d363d7f360894a13ba1a3210667c828492db98dca3e2076875261600989527f0000000000000000000000000000000000000000000000000000000000000000601e5268603d3d8160223d3973600a52605f97602192605f60212060358601523060581b855260ff855380601586015260558520993415948b3b156101fe57505050506001916101f85785388180348c5af1156101ed57505b818652846060521561016b575b505091516001600160a01b0390931683525050f35b8082859493859483378101838152039082875af1903d156101e7573d9067ffffffffffffffff82116101d3578351916101ad601f8201601f19168801846103a5565b8252853d92013e5b156101c35738808080610156565b5163487e630960e11b8152600490fd5b634e487b7160e01b81526041600452602490fd5b506101b5565b63b12d13eb8652601cfd5b50610149565b91939a5091935034f59687156102145750610149565b63301164258652601cfd5b838234610263578160031936011261026357517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b5080fd5b848334610263578260209361029d8361027f36610352565b90808a879498019788378201908982015203878101845201826103a5565b51902081517fcc3735a920a3ca505d382bbc545af43d6000803e6038573d6000fd5b3d6000f36060527f5155f3363d3d373d3d363d7f360894a13ba1a3210667c828492db98dca3e2076835261600985527f0000000000000000000000000000000000000000000000000000000000000000601e5268603d3d8160223d3973600a52605f6021209083528360605260ff84536035523060601b6001526015526055822091603552519060018060a01b03168152f35b9060406003198301126103a05760043567ffffffffffffffff928382116103a057806023830112156103a05781600401359384116103a057602484830101116103a057602401919060243590565b600080fd5b90601f8019910116810190811067ffffffffffffffff8211176103c757604052565b634e487b7160e01b600052604160045260246000fd00000000000000000000000006a30c386e3a570c04f440bf06be1f9d2919ca41", + "nonce": "0x4d", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x3b97ffc32e672de2df66069ed16741fb051dc8ef5d42865b7030cf14fba0fc15", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0xd703aae79538628d27099b8c4f621be4ccd142d5", + "function": "approveFactory(address,bool)", + "arguments": [ + "0x587DDe85064d4f7fc755418119Bb36CEC31c8309", + "true" + ], + "transaction": { + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0xd703aae79538628d27099b8c4f621be4ccd142d5", + "gas": "0x108d1", + "value": "0x0", + "input": "0x6e7dbabb000000000000000000000000587dde85064d4f7fc755418119bb36cec31c83090000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x4e", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "status": "0x1", + "cumulativeGasUsed": "0x574a1c", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x0", + "transactionHash": "0x65a34bb045b90c00f563d198c725c7d2d7188f7bfe8d71aa30fbfe79a931be35", + "transactionIndex": "0xe", + "blockHash": "0x54d123c40178fb2f6ab03f9cfeae87b91b6fd43fdee551bdb87f6f5360352c48", + "blockNumber": "0x5974a8", + "gasUsed": "0x47e13b", + "effectiveGasPrice": "0xa8e52626b", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x5b654f", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x0", + "transactionHash": "0xa976c0d12aae62e650b3db036da4e52fca531a03bf9cbdd2fc510feb16ae3eed", + "transactionIndex": "0xf", + "blockHash": "0x54d123c40178fb2f6ab03f9cfeae87b91b6fd43fdee551bdb87f6f5360352c48", + "blockNumber": "0x5974a8", + "gasUsed": "0x41b33", + "effectiveGasPrice": "0xa8e52626b", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x5c1a62", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x0", + "transactionHash": "0x3b97ffc32e672de2df66069ed16741fb051dc8ef5d42865b7030cf14fba0fc15", + "transactionIndex": "0x10", + "blockHash": "0x54d123c40178fb2f6ab03f9cfeae87b91b6fd43fdee551bdb87f6f5360352c48", + "blockNumber": "0x5974a8", + "gasUsed": "0xb513", + "effectiveGasPrice": "0xa8e52626b", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0xd703aae79538628d27099b8c4f621be4ccd142d5", + "contractAddress": null + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1715192178, + "chain": 11155111, + "commit": "b0e46c2" +} \ No newline at end of file diff --git a/broadcast/DeployKernel.s.sol/11155111/run-1715192285.json b/broadcast/DeployKernel.s.sol/11155111/run-1715192285.json new file mode 100644 index 0000000..4d5a65e --- /dev/null +++ b/broadcast/DeployKernel.s.sol/11155111/run-1715192285.json @@ -0,0 +1,124 @@ +{ + "transactions": [ + { + "hash": "0x65a34bb045b90c00f563d198c725c7d2d7188f7bfe8d71aa30fbfe79a931be35", + "transactionType": "CREATE2", + "contractName": "Kernel", + "contractAddress": "0x06a30c386e3a570c04f440bf06be1f9d2919ca41", + "function": null, + "arguments": [ + "0x0000000071727De22E5E9d8BAf0edAc6f37da032" + ], + "transaction": { + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x6917ef", + "value": "0x0", + "input": "0x00000000000000000000000000000000000000000000000000000000000000006101403461020457601f6155c338819003918201601f191683019291906001600160401b0384118385101761020957816020928492604096875283398101031261020457516001600160a01b038116810361020457306080524660a05260a082516100698161021f565b600681526005602082016512d95c9b995b60d21b81526020865161008c8161021f565b838152019264302e332e3160d81b845251902091208160c0528060e0528451917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f835260208301528482015246606082015230608082015220916101009283526101209182528051602081019063deadbeef60e01b8252600481526101108161021f565b5190516001600160581b0319918282169190601581106101ef575b505090507f7bcaa2ced2a71450ed5a9a1b4848e8e5206dbc3f06011e595f7f55428cc6f84f9060581c60018060a81b03198254161790555190615388928361023b8439608051836144b5015260a051836144d8015260c0518361454a015260e051836145700152518261449401525181818161052401528181610848015281816109fe01528181610b2701528181610ec60152818161122b01528181611393015281816113f30152818161191b01528181611a8a015281816123e20152612ca70152f35b8391925060150360031b1b161680388061012b565b600080fd5b634e487b7160e01b600052604160045260246000fd5b604081019081106001600160401b038211176102095760405256fe6080604052600436101561001d575b36612b535761001b612b22565b005b60003560e01c8063112d3a7d146101fd57806312af322c146101f8578063150b7a02146101f35780631626ba7e146101ee57806319822f7c146101e95780631f1b92e3146101e45780633659cfe6146101df57806352141cd9146101da57806357b3a5f4146101d55780636e6fa0c6146101d0578063721e67f4146101cb57806384b0196e146101c65780638dd7712f146101c157806390ef8862146101bc5780639198bdf5146101b75780639517e29f146101b25780639cfd7cff146101ad578063a65d69d4146101a8578063a71763a8146101a3578063adb610a31461019e578063b8afe17d14610199578063bc197c8114610194578063c3e589781461018f578063d03c79141461018a578063d691c96414610185578063e6f3d50a14610180578063e9ae5c531461017b578063f1f7f0f914610176578063f23a6e61146101715763f2dc691d0361000e57611c17565b611bbd565b611b85565b611a59565b6118a0565b6117bc565b61176f565b611693565b61158c565b611522565b6114ee565b6113c2565b61137d565b611326565b6111fa565b6110f3565b610fa2565b610e91565b610def565b610d43565b610ce6565b610c38565b610af5565b6109be565b610806565b6104e6565b610486565b61042c565b610329565b610291565b6001600160a01b0381160361021357565b600080fd5b359061022382610202565b565b9181601f84011215610213578235916001600160401b038311610213576020838186019501011161021357565b6060600319820112610213576004359160243561026e81610202565b91604435906001600160401b0382116102135761028d91600401610225565b9091565b346102135760206102ad6102a436610252565b92919091611e17565b6040519015158152f35b6001600160581b031981160361021357565b6080600319820112610213576004356102e1816102b7565b916024356102ee81610202565b916001600160401b0391604435838111610213578261030f91600401610225565b939093926064359182116102135761028d91600401610225565b3461021357610337366102c9565b936001600160581b0393919319610378816103716103646000805160206153688339815191525460581b90565b6001600160581b03191690565b1615611ee1565b86161561041a576001600160f81b03198616600160f81b811415908161040b575b506103f957856103ab61001b97612d10565b6103cc6103b66110c2565b60018152925b6001600160a01b03166020840152565b600080516020615368833981519152805463ffffffff60a81b1916600160a81b179055612d6b565b612d6b565b6040516361c4e91b60e11b8152600490fd5b600160f91b1415905038610399565b604051631a0a9b9f60e21b8152600490fd5b3461021357608036600319011261021357610448600435610202565b610453602435610202565b6064356001600160401b03811161021357610472903690600401610225565b5050604051630a85bd0160e11b8152602090f35b34610213576040366003190112610213576024356001600160401b038111610213576104c46104bb6020923690600401610225565b90600435611ffc565b6040516001600160e01b03199091168152f35b90816101209103126102135790565b606036600319011261021357600480356001600160401b0381116102135761051190369083016104d7565b60243590604435906001600160a01b03907f0000000000000000000000000000000000000000000000000000000000000000821633036107d15780849261055b60208301356130d7565b6001600160f81b0319909116159590939091866107a7575b908461057f93926132bc565b9561059161058c84611da5565b612129565b9415948580610765575b61075457602001516001600160a01b0316918216908115610743576001926105d06105ef926000526000602052604060002090565b80546001600160a01b0319166001600160a01b03909216919091179055565b036106a25782610644575b50506106335761061d9250805b610621575b506040519081529081906020820190565b0390f35b3490349034903490335af1503861060c565b604051631a0a9b9f60e21b81528390fd5b61069b92506106979161067961067361066d61066261069095611dde565b936060810190612155565b90611c46565b90611d79565b63ffffffff60e01b16600052602052604060002090565b5460ff1690565b1590565b38806105fa565b82919291610710575b506106ff5761066d8160606106c1930190612155565b638dd7712f60e01b916001600160e01b0319916106dd91611d79565b16036106ee5761061d925080610607565b60405163dbbb044b60e01b81528390fd5b604051631a0a9b9f60e21b81528490fd5b61073d915061069061072461069792611dde565b6106796106736107376060880188612155565b90611c35565b386106ab565b604051631a0a9b9f60e21b81528990fd5b604051633ab3447f60e11b81528990fd5b50805163ffffffff1663ffffffff61079f6107966000805160206153688339815191525463ffffffff9060c81c1690565b63ffffffff1690565b91161061059b565b93509061057f916107c76000805160206153688339815191525460581b90565b9490919250610573565b6040516348f5c3ed60e01b81528590fd5b6004359063ffffffff8216820361021357565b359063ffffffff8216820361021357565b60203660031901126102135761081a6107e2565b61083c6108366000805160206153688339815191525460581b90565b60581c90565b6001600160a01b0390337f000000000000000000000000000000000000000000000000000000000000000083161415806109b4575b156109a95760405163ecd0596160e01b8152600480820152911690602081602481855afa90811561093a5760009161097a575b50156109685760405163d68f602560e01b815291600083806108cb36343360048501612218565b038183865af192831561093a5760009361093f575b506108ea90613463565b803b1561021357604051630b9dfbed60e11b81529160009183918290849082906109179060048301612254565b03925af1801561093a5761092757005b8061093461001b9261101c565b80610d9c565b611ff0565b6108ea919350610961903d806000833e61095981836110a1565b8101906121ba565b92906108e0565b6040516348f5c3ed60e01b8152600490fd5b61099c915060203d6020116109a2575b61099481836110a1565b810190612187565b386108a4565b503d61098a565b505061001b90613463565b5030331415610871565b6020366003190112610213576004356109d681610202565b6109f26108366000805160206153688339815191525460581b90565b6001600160a01b0390337f00000000000000000000000000000000000000000000000000000000000000008316141580610aeb575b15610ae05760405163ecd0596160e01b8152600480820152911690602081602481855afa90811561093a57600091610ac1575b50156109685760405163d68f602560e01b81529160008380610a8136343360048501612218565b038183865af192831561093a57600093610aa0575b506108ea90612265565b6108ea919350610aba903d806000833e61095981836110a1565b9290610a96565b610ada915060203d6020116109a25761099481836110a1565b38610a5a565b505061001b90612265565b5030331415610a27565b610afe366102c9565b91610b1b6108366000805160206153688339815191525460581b90565b6001600160a01b0390337f00000000000000000000000000000000000000000000000000000000000000008316141580610c1c575b15610c0c5760405163ecd0596160e01b815260048082015291169490602081602481895afa90811561093a57600091610bed575b50156109685760405163d68f602560e01b81529560008780610bab36343360048501612218565b0381838a5af196871561093a57600097610bcc575b506108ea9596976122b9565b6108ea969750610be6903d806000833e61095981836110a1565b9695610bc0565b610c06915060203d6020116109a25761099481836110a1565b38610b84565b5050919361001b959391936122b9565b5030331415610b50565b6001600160e01b031981160361021357565b346102135760203660031901126102135761061d610c7a600435610c5b81610c26565b600060408051610c6a81611034565b8281528260208201520152611f23565b60405190610c8782611034565b80546001600160a01b0390811680845260019092015480821660208086019182526001600160f81b031960589390931b831660409687019081528651958652915190931692840192909252905116918101919091529081906060820190565b3461021357604036600319011261021357602060ff610d37600435610d0a816102b7565b610d1f60243591610d1a83610c26565b611dde565b9063ffffffff60e01b16600052602052604060002090565b54166040519015158152f35b34610213576020366003190112610213576020610d79600435610d6581610202565b6000604051610d738161104f565b52612ce9565b60405190610d868261104f565b546001600160a01b031690819052604051908152f35b600091031261021357565b60005b838110610dba5750506000910152565b8181015183820152602001610daa565b90602091610de381518092818552858086019101610da7565b601f01601f1916010190565b3461021357600036600319011261021357610e3e610e0b613543565b90604051928392600f60f81b8452610e3060209360e0602087015260e0860190610dca565b908482036040860152610dca565b90466060840152306080840152600060a084015282820360c0840152602060605192838152019160809160005b828110610e7a57505050500390f35b835185528695509381019392810192600101610e6b565b6040366003190112610213576004356001600160401b03811161021357610ebc9036906004016104d7565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081163303610968576060906001610f18610f0b6024356000526000602052604060002090565b546001600160a01b031690565b91821614159283610f72575b610f3f610f38826060610f46940190612155565b8091611c54565b903061368a565b509215610f575761001b92506136b1565b505015610f6057005b60405163f21e646b60e01b8152600490fd5b9150610f46610f3f610f38610f98610f90610f386060880188612155565b903487613608565b9492505050610f24565b3461021357600036600319011261021357602063ffffffff6000805160206153688339815191525460c81c16604051908152f35b9181601f84011215610213578235916001600160401b038311610213576020808501948460051b01011161021357565b634e487b7160e01b600052604160045260246000fd5b6001600160401b03811161102f57604052565b611006565b606081019081106001600160401b0382111761102f57604052565b602081019081106001600160401b0382111761102f57604052565b604081019081106001600160401b0382111761102f57604052565b61012081019081106001600160401b0382111761102f57604052565b90601f801991011681019081106001600160401b0382111761102f57604052565b604051906102238261106a565b6040519061022382611085565b6001600160401b03811161102f5760051b60200190565b6080366003190112610213576001600160401b036004358181116102135761111f903690600401610fd6565b906024358381116102135736602382011215610213578060040135611143816110dc565b9160409161115460405194856110a1565b8084526020906024602086019160061b8401019236841161021357602401905b8382106111bc57505050505060443584811161021357611198903690600401610fd6565b91606435958611610213576111b461001b963690600401610fd6565b9590946123b3565b84823603126102135782859182516111d38161106a565b6111dc856107f5565b8152828501356111eb81610202565b83820152815201910190611174565b61120336610252565b61121f6108366000805160206153688339815191525460581b90565b6001600160a01b0390337f0000000000000000000000000000000000000000000000000000000000000000831614158061131c575b156113105760405163ecd0596160e01b815260048082015291169290602081602481875afa90811561093a576000916112f1575b50156109685760405163d68f602560e01b815293600085806112af36343360048501612218565b038183885af194851561093a576000956112d0575b506108ea93949561256f565b6108ea9495506112ea903d806000833e61095981836110a1565b94936112c4565b61130a915060203d6020116109a25761099481836110a1565b38611288565b50509161001b9361256f565b5030331415611254565b346102135760003660031901126102135761061d6040516113468161106a565b60168152756b65726e656c2e616476616e6365642e76302e332e3160501b6020820152604051918291602083526020830190610dca565b34610213576000366003190112610213576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b6113cb36610252565b6113e76108366000805160206153688339815191525460581b90565b6001600160a01b0390337f000000000000000000000000000000000000000000000000000000000000000083161415806114e4575b156114d85760405163ecd0596160e01b815260048082015291169290602081602481875afa90811561093a576000916114b9575b50156109685760405163d68f602560e01b8152936000858061147736343360048501612218565b038183885af194851561093a57600095611498575b506108ea93949561287e565b6108ea9495506114b2903d806000833e61095981836110a1565b949361148c565b6114d2915060203d6020116109a25761099481836110a1565b38611450565b50509161001b9361287e565b503033141561141c565b3461021357600036600319011261021357602063ffffffff6000805160206153688339815191525460a81c16604051908152f35b34610213576020366003190112610213576040611552600435611544816102b7565b61154c612a1a565b50611da5565b60208251916115608361106a565b5463ffffffff81169283815260018060a01b03928391019160201c168152835192835251166020820152f35b346102135760a0366003190112610213576115a8600435610202565b6115b3602435610202565b6001600160401b03604435818111610213576115d3903690600401610fd6565b5050606435818111610213576115ed903690600401610fd6565b505060843590811161021357611607903690600401610225565b505060405163bc197c8160e01b8152602090f35b602080825282516001600160f01b03191681830152808301516001600160a01b03166040808401919091529092015160608083015280516080830181905260a090920192908101919060005b828110611675575050505090565b83516001600160501b03191685529381019392810192600101611667565b3461021357602080600319360112610213576004356116b181610c26565b6116d660409160608380516116c581611034565b600081526000878201520152611f5b565b908051916116e383611034565b805460f081901b6001600160f01b031916845260101c6001600160a01b031684840152815160019182018054808352600091825286822083880197939490939092905b82821061174d5761061d88888861173f818e03826110a1565b81830152519182918261161b565b845460501b6001600160501b0319168952978801979383019390830190611726565b346102135760203660031901126102135760206102ad600435612a33565b9060406003198301126102135760043591602435906001600160401b0382116102135761028d91600401610225565b6117c53661178d565b916001600160a01b036117d733612ce9565b541690811561188e57606060019460018414159485611877575b6117fb9293613d74565b92611867575b5050906040519060208083016020845284518091526040840191602060408360051b8701019601926000905b83821061183a5786880387f35b90919293948380611856839a603f198b82030186528951610dca565b99970195949391909101910161182d565b611870916136b1565b3880611801565b6117fb9250611887363487613584565b92506117f1565b60405163710c949760e01b8152600490fd5b60603660031901126102135760048035906118ba826102b7565b6001600160401b0391602435838111610213576118da9036908401610225565b93604435908111610213576118f29036908501610225565b9061190f6108366000805160206153688339815191525460581b90565b6001600160a01b0390337f00000000000000000000000000000000000000000000000000000000000000008316141580611a4f575b15611a3f57169560405163ecd0596160e01b81526020818061196d8a8201906004602083019252565b03818b5afa90811561093a57600091611a20575b5015611a0f5760405163d68f602560e01b815293600085806119a73634338d8501612218565b0381838c5af194851561093a576000956119f0575b506119c79495612af5565b823b15610213576109179260009283604051809681958294630b9dfbed60e11b84528301612254565b6119c79550611a09903d806000833e61095981836110a1565b946119bc565b6040516348f5c3ed60e01b81528690fd5b611a39915060203d6020116109a25761099481836110a1565b38611981565b50509261001b9592919450612af5565b5030331415611944565b611a623661178d565b611a7e6108366000805160206153688339815191525460581b90565b6001600160a01b0390337f00000000000000000000000000000000000000000000000000000000000000008316141580611b7b575b15611b6f5760405163ecd0596160e01b815260048082015291169190602081602481865afa90811561093a57600091611b50575b50156109685760405163d68f602560e01b81529260008480611b0e36343360048501612218565b038183875af193841561093a57600094611b2f575b506108ea929394612b0a565b6108ea939450611b49903d806000833e61095981836110a1565b9392611b23565b611b69915060203d6020116109a25761099481836110a1565b38611ae7565b50509061001b92612b0a565b5030331415611ab3565b346102135760003660031901126102135760206000805160206153688339815191525460581b604051906001600160581b0319168152f35b346102135760a036600319011261021357611bd9600435610202565b611be4602435610202565b6084356001600160401b03811161021357611c03903690600401610225565b505060405163f23a6e6160e01b8152602090f35b346102135760203660031901126102135760206102ad600435612b15565b906008116102135760040190600490565b906004116102135790600490565b909291928360041161021357831161021357600401916003190190565b906018116102135760040190601490565b906014116102135790601490565b906020116102135790602090565b909291928360011161021357831161021357600101916000190190565b909291928360141161021357831161021357601401916013190190565b906016116102135790601690565b906016116102135760020190601490565b909291928360161161021357831161021357601601916015190190565b906002116102135790600290565b906009116102135760010190600890565b909291928360091161021357831161021357600901916008190190565b90602c116102135760180190601490565b90939293848311610213578411610213578101920390565b6001600160e01b03199035818116939260048110611d9657505050565b60040360031b82901b16169150565b6001600160581b0319166000527f7bcaa2ced2a71450ed5a9a1b4848e8e5206dbc3f06011e595f7f55428cc6f850602052604060002090565b6001600160581b0319166000527f7bcaa2ced2a71450ed5a9a1b4848e8e5206dbc3f06011e595f7f55428cc6f851602052604060002090565b90929060018103611e6657506001600160a01b0392611e609250611e50915060581b600160581b600160f81b0316600160f81b17611da5565b5460201c6001600160a01b031690565b16151590565b60028103611e9957506001600160a01b0392611e609250611e8d9150610f0b908416612ce9565b6001600160a01b031690565b600303611ed957611eba611eb5610673600193611ec895611c46565b611f23565b01546001600160a01b031690565b6001600160a01b0390811691161490565b505050600090565b15611ee857565b60405162461bcd60e51b8152602060048201526013602482015272185b1c9958591e481a5b9a5d1a585b1a5e9959606a1b6044820152606490fd5b63ffffffff60e01b166000527f7c341349a4360fdd5d5bc07e69f325dc6aaea3eb018b3e0ea7e53cc0bb0d6f3b602052604060002090565b63ffffffff60e01b166000527f7bcaa2ced2a71450ed5a9a1b4848e8e5206dbc3f06011e595f7f55428cc6f852602052604060002090565b908160209103126102135751611fa881610c26565b90565b908060209392818452848401376000828201840152601f01601f1916010190565b611fa8949260609260018060a01b0316825260208201528160408201520191611fab565b6040513d6000823e3d90fd5b9161200691612f5c565b91906001600160f81b031980831615612108575b6001600160a01b039081612033611e8d611e5087611da5565b161561041a578316600160f81b036120b8579060209392916120576120759661308e565b604051637aa8f17760e11b8152968795869485933360048601611fcc565b039260581c165afa90811561093a5760009161208f575090565b611fa8915060203d6020116120b1575b6120a981836110a1565b810190611f93565b503d61209f565b509060081b92600160f11b6120e66120d96120d287611f5b565b5460f01b90565b6001600160f01b03191690565b166120f657611fa8933390612fdd565b604051635b71057960e01b8152600490fd5b91506121236000805160206153688339815191525460581b90565b9161201a565b906040516121368161106a565b915463ffffffff81168352602090811c6001600160a01b031690830152565b903590601e198136030182121561021357018035906001600160401b0382116102135760200191813603831361021357565b90816020910312610213575180151581036102135790565b6001600160401b03811161102f57601f01601f191660200190565b602081830312610213578051906001600160401b038211610213570181601f820112156102135780516121ec8161219f565b926121fa60405194856110a1565b8184526020828401011161021357611fa89160208085019101610da7565b916080939160018060a01b03168352602083015260606040830152806060830152806000848401376000828201840152601f01601f1916010190565b906020611fa8928181520190610dca565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8190556001600160a01b03167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2565b94939291906001600160581b031986161561041a576001600160f81b03198616600160f81b8114159081612363575b506103f9576122f686612d10565b6001600160a01b0361230a611e5088611da5565b1615612319575b505050505050565b612358956103f46123406000805160206153688339815191525463ffffffff9060a81c1690565b926103bc61234c6110c2565b63ffffffff9095168552565b388080808080612311565b600160f91b14159050386122e8565b9060405161237f81611034565b82546001600160a01b039081168252600190930154928316602082015260589290921b6001600160f81b0319166040830152565b959294919390946123d66108366000805160206153688339815191525460581b90565b6001600160a01b0390337f00000000000000000000000000000000000000000000000000000000000000008316141580612523575b156125135760405163ecd0596160e01b8152600480820152911695906020816024818a5afa90811561093a576000916124f4575b50156109685760405163d68f602560e01b8152966000888061246636343360048501612218565b0381838b5af197881561093a576000986124d3575b5061248796979861375c565b803b1561021357604051630b9dfbed60e11b81529160009183918290849082906124b49060048301612254565b03925af1801561093a576124c6575b50565b806109346102239261101c565b6124879798506124ed903d806000833e61095981836110a1565b979661247b565b61250d915060203d6020116109a25761099481836110a1565b3861243f565b505091939092946102239661375c565b503033141561240b565b916020611fa8938181520191611fab565b6bffffffffffffffffffffffff19903581811693926014811061256057505050565b60140360031b82901b16169150565b6001810361264b57506106736102239361263761264593600160581b600160f81b039060581b16600160f81b17946126066125df611e8d6125d96125d36125cc6000805160206153688339815191525463ffffffff9060a81c1690565b9786611c82565b9061253e565b60601c90565b6125f66125ea6110c2565b63ffffffff9096168652565b6001600160a01b03166020850152565b6014810135810192603482013582019160548101350193603460148401359301916034601483013592019089612d6b565b603460148201359101611c46565b90613a70565b600281036126a75750916126986102239361267d611e8d6125d96125d360148801358801966034890135890198611c82565b928391601482013591603401906001600160a01b03166139e2565b60346014830135920190613915565b909190600381036127275750612722611e8d612712610223958461270d60186125d997013582016125d960388401358401996126e66106738787611c46565b90612707611e8d6126f78989611c71565b601888013597603801969161253e565b916137ca565b611c71565b601886013595603801949161253e565b613915565b9091906004810361276857506001600160a01b031691823b15610213576124b492600092836040518096819582946306d61fe760e41b84526004840161252d565b600581036127a657506001600160a01b031691823b15610213576124b492600092836040518096819582946306d61fe760e41b84526004840161252d565b6006036127e2576001600160a01b031691823b15610213576124b492600092836040518096819582946306d61fe760e41b84526004840161252d565b604051631092ef5760e11b8152600490fd5b604051906128018261104f565b60008252565b359060208110612815575090565b6000199060200360031b1b1690565b9190604051906128338261104f565b819360008352116102135760206000910152565b9291926128538261219f565b9161286160405193846110a1565b829481845281830111610213578281602093846000960137010152565b929190600184036128a8576124c3935060581b600160581b600160f81b0316600160f81b17613c28565b600284036128c3576124c393506001600160a01b0316613bde565b909190600384036128f257506124c3925080806128e66106736128ec9486611c46565b93611c54565b91613b84565b91926004810361297857506124c3926129459161291e6000805160206153688339815191525460581b90565b61292a611e5082611da5565b6001600160a01b0386811691161461294b575b503691612847565b90613ad5565b61295761297291611da5565b8054640100000000600160c01b031916640100000000179055565b3861293d565b600581036129fb57506000805160206153688339815191525460581b5b6129a86129a28386611c90565b90612807565b906001600160f81b03198116600160f91b146129d0575b50506124c392612945913691612847565b60081b6001600160e01b031916146129e95738806129bf565b6040516313002bdd60e31b8152600490fd5b6006036127e2576000805160206153688339815191525460581b612995565b60405190612a278261106a565b60006020838281520152565b612a47818060081b918160301b9160501b90565b929091600160f81b916001600160f81b031991908216838114159081612aeb575b81612ae0575b81612ad1575b50612ac75716908114159081612abd575b50612ab6576001600160e01b031916612ab0576001600160501b031916612aab57600190565b600090565b50600090565b5050600090565b9050151538612a85565b5050505050600090565b607f60f91b1415905038612a74565b838114159150612a6e565b8015159150612a68565b91612b0591610223959493613c28565b613f79565b906124c39291613d74565b60071115612aab57600190565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b612b70612b6b6000356001600160e01b031916611f23565b612372565b80516001600160a01b0391908290612b89908216611e8d565b1680612ba157604051631cd4b64760e21b8152600490fd5b606090600181141580612cdf575b15612c9b5750508051612bce906001600160a01b031636903490613584565b915b60408201516001600160f81b031990811680612c5e5750506020820151612c159390612c04906001600160a01b0316613fd6565b9490935b516001600160a01b031690565b918083169060018214159182612c53575b5050612c43575b5050612c3b57602081519101fd5b602081519101f35b612c4c916136b1565b3880612c2d565b141590503880612c26565b03612c89576020820151612c159390612c81906001600160a01b03163690613663565b949093612c08565b604051632d6a6bb760e01b8152600490fd5b9280919303612bd057337f0000000000000000000000000000000000000000000000000000000000000000821614612bd0576040516348f5c3ed60e01b8152600490fd5b5083811415612baf565b6001600160a01b031660009081526000805160206153488339815191526020526040902090565b60207f6789ec0c85d6458d897a36a70129b101f8b4d84c6e218046c3107373dbcbae88916000805160206153688339815191528160581c6001600160581b0360a81b825416179055604051906001600160581b0319168152a1565b9193909294612d86612d7c84611da5565b5463ffffffff1690565b9360008051602061536883398151915294612da9865463ffffffff9060a81c1690565b63ffffffff809281808416911614612f1e575b50506020820180516001600160a01b0397919291612de991891615612f15575b5460a81c63ffffffff1690565b81612dfb610796865163ffffffff1690565b91161490811591612eeb575b50612ed957612c08612e5692612e1c87611da5565b815181546020938401516001600160c01b031990911663ffffffff9290921691909117921b640100000000600160c01b0316919091179055565b91600185841603612ec8575b5050506001600160f81b03198116600160f81b8103612eac575060581c1691823b15610213576124b492600092836040518096819582946306d61fe760e41b84526004840161252d565b909350600160f91b141590506103f9576102239160081b614115565b612ed192613915565b388080612e62565b604051633ab3447f60e11b8152600490fd5b9050612ef9612d7c87611da5565b90612f0b610796855163ffffffff1690565b9116101538612e07565b60018452612ddc565b600080516020615368833981519152805463ffffffff60a81b19166001939093019190911660a81b63ffffffff60a81b169190911790553881612dbc565b9182358060f81c80600014612fa25780600114612f9557600214612f7f57600080fd5b6001600160d81b03191692600501916004190190565b5092601501916014190190565b5050600160009301916000190190565b9092608092611fa89694835260018060a01b0316602083015260408201528160608201520191611fab565b909192612ffc94612ff091858585614375565b94929391969096614469565b509065ffffffffffff8091164210918215613082575b505061306f5761305061302660209661308e565b60405163392dffaf60e01b8152978896879586959193916001600160e01b03191660048701612fb2565b03916001600160a01b03165afa90811561093a5760009161208f575090565b506001600160e01b031995945050505050565b16421190503880613012565b611fa89060405160208101917f1547321c374afde8a591d972a084b071c594c275e36724931ff96c25f2999c8383526040820152604081526130cf81611034565b519020614492565b90818060081b9160ff839260f01c166002146130ef57565b6001600160d81b031983169150565b9080601f8301121561021357816020611fa893359101612847565b9190610120838203126102135761312e6110cf565b9261313881610218565b8452602081013560208501526040810135916001600160401b039283811161021357816131669184016130fe565b6040860152606082013583811161021357816131839184016130fe565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013583811161021357816131be9184016130fe565b60e08601526101009283830135908111610213576131dc92016130fe565b90830152565b90816020910312610213575190565b80516001600160a01b03168252611fa8919061326f61323f61322d61012060208501516020870152604085015190806040880152860190610dca565b60608401518582036060870152610dca565b6080830151608085015260a083015160a085015260c083015160c085015260e083015184820360e0860152610dca565b916101008092015191818403910152610dca565b9392916132a09060409286526060602087015260608601906131f1565b930152565b9291906132a06020916040865260408601906131f1565b9290926000926132cc3682613119565b9161010091828101916132df8383612155565b90949093600160f81b936001600160f81b03199384168514613428575b505050871603613389575050604051639700320360e01b81529360209285928391600091839161332f91600484016132a5565b039260581c6001600160a01b03165af190811561093a57611fa892600092613358575b50614990565b61337b91925060203d602011613382575b61337381836110a1565b8101906131e2565b9038613352565b503d613369565b909460081b93909291600160f01b6133a66120d96120d288611f5b565b166134165760006133c76133c16020966133f199858a614790565b94614990565b604051630ccab7a160e01b8152979096889586948593926001600160e01b03191660048501613283565b03926001600160a01b03165af190811561093a57611fa8926000926133585750614990565b6040516314b9743f60e01b8152600490fd5b9091955061344493985061343d929450612155565b90886145a6565b9691929093613457858995993691612847565b908601523880806132fc565b60008051602061536883398151915280549163ffffffff92600a848260a81c16019084821161352d57828516918516821161351b5760c81c84161015612ed957600080516020615368833981519152805463ffffffff60c81b191660c89290921b63ffffffff60c81b1691909117905554818160c81c1691829160a81c16106134e95750565b600080516020615368833981519152805463ffffffff60a81b191660a89290921b63ffffffff60a81b16919091179055565b60405163e60fd64760e01b8152600490fd5b634e487b7160e01b600052601160045260246000fd5b60405161354f8161106a565b600681526512d95c9b995b60d21b60208201529060405161356f8161106a565b6005815264302e332e3160d81b602082015290565b60405163d68f602560e01b815233600482015260248101929092526060604483015260648201839052600092839183918290849060849083908084838501378181018301849052601f01601f191681010301926001600160a01b03165af191821561093a5780926135f457505090565b611fa892503d8091833e61095981836110a1565b6000928361362f95936040519687958694859363d68f602560e01b85523360048601611fcc565b03926001600160a01b03165af190811561093a5760009161364e575090565b611fa891503d806000833e61095981836110a1565b60009060405192808385378338925af4913d82523d6000602084013e60203d830101604052565b60009192806040519485378338925af4913d82523d6000602084013e60203d830101604052565b6001600160a01b0316803b1561021357604051630b9dfbed60e11b8152602060048201529160009183918290849082906136ef906024830190610dca565b03925af1801561093a576137005750565b6102239061101c565b634e487b7160e01b600052603260045260246000fd5b80511561372c5760200190565b613709565b805182101561372c5760209160051b010190565b9082101561372c5761028d9160051b810190612155565b96959192939694909460005b86811061377a57505050505050509050565b806137bb8a60019360051b850135613791816102b7565b6137a78461379f818c613731565b51938c613745565b906137b3868b8b613745565b949093612d6b565b01613768565b901561372c5790565b6001600160a01b0393919291908483161561390d575b6137e990611f23565b946138156138086137fa83856137c1565b356001600160f81b03191690565b6001600160f81b03191690565b946001600160f81b0319808716806138ee575050908061383792861693611c9e565b823b156102135761386292600092836040518096819582946306d61fe760e41b84526004840161252d565b03925af194851561093a5761389e6138be93600193610223986138db575b505b82546001600160a01b0319166001600160a01b03909116178255565b0180546001600160a01b0319166001600160a01b03909316929092178255565b805460ff60a01b191660589290921c60ff60a01b16919091179055565b806109346138e89261101c565b38613880565b925092505094919403612c895760016138be9161389e61022396613882565b8492506137e0565b6001600160a01b031691821580156139d8575b6139d35760405163d60b347f60e01b8152306004820152602081602481875afa90811561093a576000916139b4575b501561397f576001600160f81b0319806139746137fa84866137c1565b161461397f57505050565b8061398992611c9e565b823b15610213576124b492600092836040518096819582946306d61fe760e41b84526004840161252d565b6139cd915060203d6020116109a25761099481836110a1565b38613957565b505050565b5060018314613928565b919392916001600160a01b039081841615613a67575b1660008181526000805160206153488339815191526020526040812080546001600160a01b0319166001600160a01b0390951694909417909355803b15613a63576136ef9394836040518096819582946306d61fe760e41b8452602060048501526024840191611fab565b8280fd5b600193506139f8565b7f9d17cd6d095ac90a655405ab29f30a7ee7e88ef3974c1bf7544bf591043bb71a91606091613aa282610d1f83611dde565b600160ff198254161790556040519163ffffffff60e01b1682526001600160581b031916602082015260016040820152a1565b60407f2b82f87bf66300af618a9621d3f221edfab735f5bacb4e004cce1b62375396c3919392935a825195613b3587613b276020820193638a91b0e360e01b8552602060248401526044830190610dca565b03601f1981018952886110a1565b6000918291828587519a613b488c61104f565b828c525193f1943d9081613b7b575b6020818360009352013e81516001600160a01b0390911681528415156020820152a1565b60009150613b57565b613b94613bc79194939294611f23565b80546001600160a01b031981168255600190910180546001600160a01b0392831696919492169161294591369190612847565b5080546001600160a81b03191660ff60a01b179055565b6001600160a01b0390811660008181526000805160206153488339815191526020526040902080546001600160a01b0319811690915590911693926124c392612945913691612847565b90929192613c5a613c486000805160206153688339815191525460581b90565b6001600160581b031980851691161490565b6129e957613c6a611e5083611da5565b93613c8b613c7784611da5565b8054640100000000600160c01b0319169055565b6001600160f81b03198316600160f81b8103613cc457506124c39291613cb2913691612847565b9060581c6001600160a01b0316613ad5565b600160f91b141590506103f9576102239160081b614a2b565b604051613ce98161106a565b600181528060005b602080821015613d0c57906060602092828501015201613cf1565b50505090565b90613d1c826110dc565b613d2960405191826110a1565b8281528092613d3a601f19916110dc565b019060005b828110613d4b57505050565b806060602080938501015201613d3f565b906040611fa892600081528160208201520190610dca565b613d88818060081b918160301b9160501b90565b5090936001600160f81b031993600160f81b939092508416838103613e13575050613dba908035019060208201913590565b929093168015600014613dd2575050611fa891614ca9565b03613de057611fa891614bec565b60405162461bcd60e51b815260206004820152600b60248201526a155b9cdd5c1c1bdc9d195960aa1b6044820152606490fd5b94959490919080613eb5575090613e2991614b40565b93909294613e35613cdd565b971680613e5a575050613e4793614b91565b613e508361371f565b526124c38261371f565b03613de057613e6893614b68565b613e718461371f565b52610223577fe723f28f104e46b47fd3531f3608374ac226bcf3ddda334a23a266453e0efdb7613eb0613ea38461371f565b5160405191829182613d5c565b0390a1565b919593918203613de057613eec90613ee6613ece613cdd565b9780613ee06125d96125d38387611c82565b93611cbb565b9161368a565b613ef88795929561371f565b5216908103613f36575015613f0957565b7fe723f28f104e46b47fd3531f3608374ac226bcf3ddda334a23a266453e0efdb7613eb0613ea38461371f565b613de0576102235760405162461bcd60e51b815260206004820152601360248201527211195b1959d85d1958d85b1b0819985a5b1959606a1b6044820152606490fd5b6001600160a01b03169081158015613fcc575b6139d357821561372c576001600160f81b03198135811614613fad57505050565b82600111610213576124c3926129459136916000190190600101612847565b5060018214613f8c565b600080604092835136810185523683823784516014810186523360601b90528260143601925af1918151913d83523d6000602085013e60203d8401019052565b805490600090600081558261402a57505050565b6000526020600020918201915b82811061404357505050565b818155600101614037565b6001600160501b0319903581811693926016811061406b57505050565b60160360031b82901b16169150565b805482101561372c5760005260206000200190600090565b80546801000000000000000081101561102f576140b49160018201815561407a565b819291549060031b9160501c821b9160018060b01b03901b1916179055565b9092809260209483528483013701016000815290565b6001600160f01b0319903581811693926002811061410657505050565b60020360031b82901b16169150565b90803501906020808301923560fe8111801561436d575b61435b5760018061413c85611f5b565b0154614342575b60001982019260005b848110614265575061422a959461423894909361420e935061420792506141a76141f86141df6120d96141d96141d387878e6141ce8e61419f611e8d6125d96125d3614199898989613745565b90611ce6565b9a8b91611f5b565b805462010000600160b01b03191660109290921b62010000600160b01b0316919091179055565b613745565b90611d14565b906140e9565b6141e888611f5b565b9060f01c61ffff19825416179055565b6001600160a01b031696613745565b8091611cf7565b6040519586939092906001600160e01b031916602085016140d3565b03601f1981018452836110a1565b803b15610213576040516306d61fe760e41b81529160009183918290849082906124b49060048301612254565b6142bc611e8d611e8d6125d96125d3614199868a8e6141ce8f6142888e91611f5b565b016142b66142a96142a361429d888888613745565b90611cd8565b9061404e565b6001600160501b03191690565b90614092565b906142cb61420782878b613745565b906142ec60409161422a83519485928d63ffffffff60e01b168a85016140d3565b833b1561021357600093849261431692519586809481936306d61fe760e41b835260048301612254565b03925af191821561093a57849261432f575b500161414c565b8061093461433c9261101c565b38614328565b614356600161435086611f5b565b01614016565b614143565b60405163b62d956d60e01b8152600490fd5b50801561412c565b84846143f8926143e397969498956040519161439083611085565b6143f260009b8c92838652836020870152604086019d8e52606086019c8d918583528560808901528560a0890152606060c089015260e088019286845261010089019687529063ffffffff60e01b169052565b6001600160a01b039091169052565b52614d42565b60ff8061441161440b6137fa87866137c1565b60f81c90565b16036144575761444061442b8461443b9561445094611c9e565b9490955163ffffffff60e01b1690565b611f5b565b5460101c6001600160a01b031690565b9351929190565b60405163b32eeb6960e01b8152600490fd5b8065ffffffffffff91828160a01c1692831560011461448a575b5060d01c92565b925038614483565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f00000000000000000000000000000000000000000000000000000000000000004614161561451f575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220614500565b919290926145b2612a1a565b906145bd9085611c82565b6145c69161253e565b60601c602082018190526000805160206153688339815191525460a81c63ffffffff1680835260349560148082013582018089019791959294919360548601358601808b019490880135939092878c01358801808a013593908d0192918a0135918891908d84369061463792612847565b80519060200120913661464b908888612847565b805190602001203661465e908b8d612847565b8051602091820120604080517fb17ab1224aca0d4255ef8161acaf2ac121b8faa32a4b2258c912cc5f8308c5059381019384526001600160581b0319989098169088015263ffffffff9390931660608701526001600160a01b0393909316608086015260a085019390935260c084019290925260e080840192909252908252906146ea610100826110a1565b5190206146f690614492565b607489013589018d8b820135910161470d92614f94565b9a6147189488612d6b565b6147228183615131565b61472b91611c46565b61473491611d79565b61473d91613a70565b6094810135019293830192013590565b6001600160c01b0319903581811693926008811061476a57505050565b60080360031b82901b16169150565b604090611fa89392815281602082015201906131f1565b6000949391600186816147a285611f5b565b016000835b6147ef575b5050505060ff806147c361440b6137fa87896137c1565b1603614457576101006147e76147e08561444096611fa898611c9e565b3691612847565b910152611f5b565b81979697548110156149885761482061481861480b838561407a565b90549060031b1c60501b90565b908160501c90565b98909761483c61483661440b6137fa85856137c1565b60ff1690565b808403614957575090818161487561486961486361485d8461489298611d22565b9061474d565b60c01c90565b6001600160401b031690565b600901916148876147e0848484611d33565b6101008b0152611d61565b989098975b600160f01b16156148ac575b508301836147a7565b99866148e9929b60018060a01b036040918983518092633894f6e760e11b8252818b868260209c8d9760049c63ffffffff60e01b168d8401614779565b0393165af195861561093a578896614938575b5050841661491e575050614914859493928592614990565b9a919293506148a3565b51631f24c1fb60e11b81529081018c815281906020010390fd5b61494f929650803d106133825761337381836110a1565b9338806148fc565b909991989083111561497557604051630760bdcf60e11b8152600490fd5b61497d6127f4565b610100880152614897565b9695966147ac565b6001600160a01b03818318811615606083811b848601821b9081149186901b1417176001146149c157505050600190565b65ffffffffffff60a01b80831693906001600160d01b031984811691908316908615614a23575b8381168015614a1c575b878110908818028088189714614a14575b508181119082180218921716171790565b955038614a03565b50806149f2565b9550856149e8565b91908035019160209060208401933590614a4481611f5b565b92600190600185019060018254018503614b2e57906000835b614ac0575b50505050614aaf91614aaa8261420e6102239798614a87600161435061422a98611f5b565b8754614a9e9060101c6001600160a01b0316611e8d565b94600019810191613745565b613ad5565b5080546001600160b01b0319169055565b8154811015614b2957908382614b1f61422a8c614b118a614af6868e614aee61481861480b8c9f9e8e61407a565b969050613745565b6040519586939092906001600160e01b0319168c85016140d3565b6001600160a01b0316613ad5565b5001909192614a5d565b614a62565b60405163013dcc8d60e31b8152600490fd5b908060141161021357813560601c928160341161021357601483013592603401916033190190565b906000928491604051958692833738935af1913d82523d6000602084013e60203d830101604052565b9092600092819594604051968792833738935af115614bc0573d82523d6000602084013e60203d830101604052565b503d6000823e3d90fd5b919081101561372c5760051b81013590605e1981360301821215610213570190565b919091614bf883613d12565b9260005b818110614c0857505050565b80614c166001928486614bca565b8035614c2181610202565b614c4260208093604093614c3785830183612155565b939092013590614b68565b614c4c858b613731565b5215614c5b575b505001614bfc565b7fe723f28f104e46b47fd3531f3608374ac226bcf3ddda334a23a266453e0efdb791614c9f614c8a858b613731565b51838051948594888652850152830190610dca565b0390a13880614c53565b919091614cb583613d12565b9260005b818110614cc557505050565b80614cfb6020614cd86001948688614bca565b8035614ce381610202565b614cf06040830183612155565b939092013590614b91565b614d058288613731565b52614d108187613731565b5001614cb9565b9092608092611fa89594835260018060a01b0316602083015260408201528160608201520190610dca565b9190606083016001936001614d6161443b845163ffffffff60e01b1690565b01936000936000958054965b878110614d7f57505050505050505050565b80614d9161481861480b8c948661407a565b6001600160a01b031660a0880190815260808801959091614dba906001600160f01b0319168752565b614dd4614dcd61440b6137fa8a856137c1565b60ff168952565b614de2614836895160ff1690565b808403614f5c5750868181614e0761486961486361485d614e5b9c9d614e2e98611d22565b60208c018181528c60c0614e236147e060099586018789611d33565b910152510191611d61565b959095965b51600160f11b90614e4d906001600160f01b0319166120d9565b166001600160f01b03191690565b15614e68575b5001614d6d565b51909150614e7e906001600160a01b0316611e8d565b8651614ea290614e95906001600160e01b03191681565b6001600160e01b03191690565b60e08701519091906001600160a01b031691614ee76101008901519360c08a01516040948551808095819463184dfdbb60e11b835260209a8b9760049a8b8601614d17565b03915afa93841561093a578b94614f3d575b50506001600160a01b038316614f225750860180518b9392614f1a91614990565b905238614e61565b9051631f24c1fb60e11b815290810183815281906020010390fd5b614f54929450803d106133825761337381836110a1565b913880614ef9565b839196945010600014614f7b57604051630760bdcf60e11b8152600490fd5b614e5b8b93614f8a3688612824565b60c08a0152614e33565b6000805160206153688339815191525460009493929060581b916001600160f81b03198316600160f81b81036150575750604051637aa8f17760e11b8152936020938593909284928392614fec923060048601611fcc565b039160581c6001600160a01b03165afa90811561093a57600091615038575b505b6001600160e01b0319166374eca2c160e11b0161502657565b6040516362467c7760e11b8152600490fd5b615051915060203d6020116120b1576120a981836110a1565b3861500b565b919550929190600160f91b036103f95760209161507a9160081b95843088614375565b60405163392dffaf60e01b815292979295869493859384936150ad93909230906001600160e01b03191660048701612fb2565b03916001600160a01b03165afa90811561093a576000916150cf575b5061500d565b6150e8915060203d6020116120b1576120a981836110a1565b386150c9565b156150f557565b60405162461bcd60e51b8152602060048201526014602482015273496e76616c69642073656c6563746f724461746160601b6044820152606490fd5b61513e6106738383611c46565b90600483101561514d57505050565b602c83106152dd57615168611e8d6125d96125d38685611c71565b602c8201358201602c604c820191013591604c8401358401946151a26151946138086137fa87876137c1565b6001600160f81b0319161590565b8061524c575b946151e961272295611e8d956151ee956102239b956125d99a6151fe575b6151d9611e8d6125d96125d38a8a611d50565b916001600160a01b0316906137ca565b611d50565b602c86013595604c01949161253e565b615247606c8701358701615241602c604c830192013580615228611e8d6125d96125d38488611c82565b9361523c856001600160a01b038a166152eb565b611cbb565b91613915565b6151c6565b5091939092956040519163ecd0596160e01b83526020838061527660048201906002602083019252565b03816001600160a01b0389165afa92831561093a57610223986125d99761272297611e8d976151ee976151e9956000916152be575b50959a50959b50955095509550506151a8565b6152d7915060203d6020116109a25761099481836110a1565b386152ab565b5050600461022391146150ee565b61022391906001600160a01b03908183161561533e575b1660005260008051602061534883398151915260205260406000209060018060a01b03166bffffffffffffffffffffffff60a01b825416179055565b6001925061530256fe1bbee3173dbdc223633258c9f337a0fff8115f206d302bea0ed3eac003b68b867bcaa2ced2a71450ed5a9a1b4848e8e5206dbc3f06011e595f7f55428cc6f84f0000000000000000000000000000000071727de22e5e9d8baf0edac6f37da032", + "nonce": "0x4c", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xa976c0d12aae62e650b3db036da4e52fca531a03bf9cbdd2fc510feb16ae3eed", + "transactionType": "CREATE2", + "contractName": "KernelFactory", + "contractAddress": "0x587dde85064d4f7fc755418119bb36cec31c8309", + "function": null, + "arguments": [ + "0x06A30C386e3a570C04F440bF06be1f9d2919cA41" + ], + "transaction": { + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x600f4", + "value": "0x0", + "input": "0x000000000000000000000000000000000000000000000000000000000000000060a034607357601f61046c38819003918201601f19168301916001600160401b03831184841017607857808492602094604052833981010312607357516001600160a01b03811681036073576080526040516103dd908161008f823960805181818160d10152818161023401526102f00152f35b600080fd5b634e487b7160e01b600052604160045260246000fdfe60806040818152600490600436101561001757600080fd5b600092833560e01c90816348aac39214610267575080635c60da1b1461021f5763ea6d13ac1461004657600080fd5b61004f36610352565b94919083519560209661007a86828a81019486888737868201908c820152038a8101845201826103a5565b5190209483958551917fcc3735a920a3ca505d382bbc545af43d6000803e6038573d6000fd5b3d6000f36060527f5155f3363d3d373d3d363d7f360894a13ba1a3210667c828492db98dca3e2076875261600989527f0000000000000000000000000000000000000000000000000000000000000000601e5268603d3d8160223d3973600a52605f97602192605f60212060358601523060581b855260ff855380601586015260558520993415948b3b156101fe57505050506001916101f85785388180348c5af1156101ed57505b818652846060521561016b575b505091516001600160a01b0390931683525050f35b8082859493859483378101838152039082875af1903d156101e7573d9067ffffffffffffffff82116101d3578351916101ad601f8201601f19168801846103a5565b8252853d92013e5b156101c35738808080610156565b5163487e630960e11b8152600490fd5b634e487b7160e01b81526041600452602490fd5b506101b5565b63b12d13eb8652601cfd5b50610149565b91939a5091935034f59687156102145750610149565b63301164258652601cfd5b838234610263578160031936011261026357517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b5080fd5b848334610263578260209361029d8361027f36610352565b90808a879498019788378201908982015203878101845201826103a5565b51902081517fcc3735a920a3ca505d382bbc545af43d6000803e6038573d6000fd5b3d6000f36060527f5155f3363d3d373d3d363d7f360894a13ba1a3210667c828492db98dca3e2076835261600985527f0000000000000000000000000000000000000000000000000000000000000000601e5268603d3d8160223d3973600a52605f6021209083528360605260ff84536035523060601b6001526015526055822091603552519060018060a01b03168152f35b9060406003198301126103a05760043567ffffffffffffffff928382116103a057806023830112156103a05781600401359384116103a057602484830101116103a057602401919060243590565b600080fd5b90601f8019910116810190811067ffffffffffffffff8211176103c757604052565b634e487b7160e01b600052604160045260246000fd00000000000000000000000006a30c386e3a570c04f440bf06be1f9d2919ca41", + "nonce": "0x4d", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x3b97ffc32e672de2df66069ed16741fb051dc8ef5d42865b7030cf14fba0fc15", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0xd703aae79538628d27099b8c4f621be4ccd142d5", + "function": "approveFactory(address,bool)", + "arguments": [ + "0x587DDe85064d4f7fc755418119Bb36CEC31c8309", + "true" + ], + "transaction": { + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0xd703aae79538628d27099b8c4f621be4ccd142d5", + "gas": "0x108d1", + "value": "0x0", + "input": "0x6e7dbabb000000000000000000000000587dde85064d4f7fc755418119bb36cec31c83090000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x4e", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "status": "0x1", + "cumulativeGasUsed": "0x574a1c", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x0", + "transactionHash": "0x65a34bb045b90c00f563d198c725c7d2d7188f7bfe8d71aa30fbfe79a931be35", + "transactionIndex": "0xe", + "blockHash": "0x54d123c40178fb2f6ab03f9cfeae87b91b6fd43fdee551bdb87f6f5360352c48", + "blockNumber": "0x5974a8", + "gasUsed": "0x47e13b", + "effectiveGasPrice": "0xa8e52626b", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x5b654f", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x0", + "transactionHash": "0xa976c0d12aae62e650b3db036da4e52fca531a03bf9cbdd2fc510feb16ae3eed", + "transactionIndex": "0xf", + "blockHash": "0x54d123c40178fb2f6ab03f9cfeae87b91b6fd43fdee551bdb87f6f5360352c48", + "blockNumber": "0x5974a8", + "gasUsed": "0x41b33", + "effectiveGasPrice": "0xa8e52626b", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x5c1a62", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x0", + "transactionHash": "0x3b97ffc32e672de2df66069ed16741fb051dc8ef5d42865b7030cf14fba0fc15", + "transactionIndex": "0x10", + "blockHash": "0x54d123c40178fb2f6ab03f9cfeae87b91b6fd43fdee551bdb87f6f5360352c48", + "blockNumber": "0x5974a8", + "gasUsed": "0xb513", + "effectiveGasPrice": "0xa8e52626b", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0xd703aae79538628d27099b8c4f621be4ccd142d5", + "contractAddress": null + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1715192285, + "chain": 11155111, + "commit": "b0e46c2" +} \ No newline at end of file diff --git a/broadcast/DeployKernel.s.sol/11155111/run-1715192309.json b/broadcast/DeployKernel.s.sol/11155111/run-1715192309.json new file mode 100644 index 0000000..fef442a --- /dev/null +++ b/broadcast/DeployKernel.s.sol/11155111/run-1715192309.json @@ -0,0 +1,124 @@ +{ + "transactions": [ + { + "hash": "0x65a34bb045b90c00f563d198c725c7d2d7188f7bfe8d71aa30fbfe79a931be35", + "transactionType": "CREATE2", + "contractName": "Kernel", + "contractAddress": "0x06a30c386e3a570c04f440bf06be1f9d2919ca41", + "function": null, + "arguments": [ + "0x0000000071727De22E5E9d8BAf0edAc6f37da032" + ], + "transaction": { + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x6917ef", + "value": "0x0", + "input": "0x00000000000000000000000000000000000000000000000000000000000000006101403461020457601f6155c338819003918201601f191683019291906001600160401b0384118385101761020957816020928492604096875283398101031261020457516001600160a01b038116810361020457306080524660a05260a082516100698161021f565b600681526005602082016512d95c9b995b60d21b81526020865161008c8161021f565b838152019264302e332e3160d81b845251902091208160c0528060e0528451917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f835260208301528482015246606082015230608082015220916101009283526101209182528051602081019063deadbeef60e01b8252600481526101108161021f565b5190516001600160581b0319918282169190601581106101ef575b505090507f7bcaa2ced2a71450ed5a9a1b4848e8e5206dbc3f06011e595f7f55428cc6f84f9060581c60018060a81b03198254161790555190615388928361023b8439608051836144b5015260a051836144d8015260c0518361454a015260e051836145700152518261449401525181818161052401528181610848015281816109fe01528181610b2701528181610ec60152818161122b01528181611393015281816113f30152818161191b01528181611a8a015281816123e20152612ca70152f35b8391925060150360031b1b161680388061012b565b600080fd5b634e487b7160e01b600052604160045260246000fd5b604081019081106001600160401b038211176102095760405256fe6080604052600436101561001d575b36612b535761001b612b22565b005b60003560e01c8063112d3a7d146101fd57806312af322c146101f8578063150b7a02146101f35780631626ba7e146101ee57806319822f7c146101e95780631f1b92e3146101e45780633659cfe6146101df57806352141cd9146101da57806357b3a5f4146101d55780636e6fa0c6146101d0578063721e67f4146101cb57806384b0196e146101c65780638dd7712f146101c157806390ef8862146101bc5780639198bdf5146101b75780639517e29f146101b25780639cfd7cff146101ad578063a65d69d4146101a8578063a71763a8146101a3578063adb610a31461019e578063b8afe17d14610199578063bc197c8114610194578063c3e589781461018f578063d03c79141461018a578063d691c96414610185578063e6f3d50a14610180578063e9ae5c531461017b578063f1f7f0f914610176578063f23a6e61146101715763f2dc691d0361000e57611c17565b611bbd565b611b85565b611a59565b6118a0565b6117bc565b61176f565b611693565b61158c565b611522565b6114ee565b6113c2565b61137d565b611326565b6111fa565b6110f3565b610fa2565b610e91565b610def565b610d43565b610ce6565b610c38565b610af5565b6109be565b610806565b6104e6565b610486565b61042c565b610329565b610291565b6001600160a01b0381160361021357565b600080fd5b359061022382610202565b565b9181601f84011215610213578235916001600160401b038311610213576020838186019501011161021357565b6060600319820112610213576004359160243561026e81610202565b91604435906001600160401b0382116102135761028d91600401610225565b9091565b346102135760206102ad6102a436610252565b92919091611e17565b6040519015158152f35b6001600160581b031981160361021357565b6080600319820112610213576004356102e1816102b7565b916024356102ee81610202565b916001600160401b0391604435838111610213578261030f91600401610225565b939093926064359182116102135761028d91600401610225565b3461021357610337366102c9565b936001600160581b0393919319610378816103716103646000805160206153688339815191525460581b90565b6001600160581b03191690565b1615611ee1565b86161561041a576001600160f81b03198616600160f81b811415908161040b575b506103f957856103ab61001b97612d10565b6103cc6103b66110c2565b60018152925b6001600160a01b03166020840152565b600080516020615368833981519152805463ffffffff60a81b1916600160a81b179055612d6b565b612d6b565b6040516361c4e91b60e11b8152600490fd5b600160f91b1415905038610399565b604051631a0a9b9f60e21b8152600490fd5b3461021357608036600319011261021357610448600435610202565b610453602435610202565b6064356001600160401b03811161021357610472903690600401610225565b5050604051630a85bd0160e11b8152602090f35b34610213576040366003190112610213576024356001600160401b038111610213576104c46104bb6020923690600401610225565b90600435611ffc565b6040516001600160e01b03199091168152f35b90816101209103126102135790565b606036600319011261021357600480356001600160401b0381116102135761051190369083016104d7565b60243590604435906001600160a01b03907f0000000000000000000000000000000000000000000000000000000000000000821633036107d15780849261055b60208301356130d7565b6001600160f81b0319909116159590939091866107a7575b908461057f93926132bc565b9561059161058c84611da5565b612129565b9415948580610765575b61075457602001516001600160a01b0316918216908115610743576001926105d06105ef926000526000602052604060002090565b80546001600160a01b0319166001600160a01b03909216919091179055565b036106a25782610644575b50506106335761061d9250805b610621575b506040519081529081906020820190565b0390f35b3490349034903490335af1503861060c565b604051631a0a9b9f60e21b81528390fd5b61069b92506106979161067961067361066d61066261069095611dde565b936060810190612155565b90611c46565b90611d79565b63ffffffff60e01b16600052602052604060002090565b5460ff1690565b1590565b38806105fa565b82919291610710575b506106ff5761066d8160606106c1930190612155565b638dd7712f60e01b916001600160e01b0319916106dd91611d79565b16036106ee5761061d925080610607565b60405163dbbb044b60e01b81528390fd5b604051631a0a9b9f60e21b81528490fd5b61073d915061069061072461069792611dde565b6106796106736107376060880188612155565b90611c35565b386106ab565b604051631a0a9b9f60e21b81528990fd5b604051633ab3447f60e11b81528990fd5b50805163ffffffff1663ffffffff61079f6107966000805160206153688339815191525463ffffffff9060c81c1690565b63ffffffff1690565b91161061059b565b93509061057f916107c76000805160206153688339815191525460581b90565b9490919250610573565b6040516348f5c3ed60e01b81528590fd5b6004359063ffffffff8216820361021357565b359063ffffffff8216820361021357565b60203660031901126102135761081a6107e2565b61083c6108366000805160206153688339815191525460581b90565b60581c90565b6001600160a01b0390337f000000000000000000000000000000000000000000000000000000000000000083161415806109b4575b156109a95760405163ecd0596160e01b8152600480820152911690602081602481855afa90811561093a5760009161097a575b50156109685760405163d68f602560e01b815291600083806108cb36343360048501612218565b038183865af192831561093a5760009361093f575b506108ea90613463565b803b1561021357604051630b9dfbed60e11b81529160009183918290849082906109179060048301612254565b03925af1801561093a5761092757005b8061093461001b9261101c565b80610d9c565b611ff0565b6108ea919350610961903d806000833e61095981836110a1565b8101906121ba565b92906108e0565b6040516348f5c3ed60e01b8152600490fd5b61099c915060203d6020116109a2575b61099481836110a1565b810190612187565b386108a4565b503d61098a565b505061001b90613463565b5030331415610871565b6020366003190112610213576004356109d681610202565b6109f26108366000805160206153688339815191525460581b90565b6001600160a01b0390337f00000000000000000000000000000000000000000000000000000000000000008316141580610aeb575b15610ae05760405163ecd0596160e01b8152600480820152911690602081602481855afa90811561093a57600091610ac1575b50156109685760405163d68f602560e01b81529160008380610a8136343360048501612218565b038183865af192831561093a57600093610aa0575b506108ea90612265565b6108ea919350610aba903d806000833e61095981836110a1565b9290610a96565b610ada915060203d6020116109a25761099481836110a1565b38610a5a565b505061001b90612265565b5030331415610a27565b610afe366102c9565b91610b1b6108366000805160206153688339815191525460581b90565b6001600160a01b0390337f00000000000000000000000000000000000000000000000000000000000000008316141580610c1c575b15610c0c5760405163ecd0596160e01b815260048082015291169490602081602481895afa90811561093a57600091610bed575b50156109685760405163d68f602560e01b81529560008780610bab36343360048501612218565b0381838a5af196871561093a57600097610bcc575b506108ea9596976122b9565b6108ea969750610be6903d806000833e61095981836110a1565b9695610bc0565b610c06915060203d6020116109a25761099481836110a1565b38610b84565b5050919361001b959391936122b9565b5030331415610b50565b6001600160e01b031981160361021357565b346102135760203660031901126102135761061d610c7a600435610c5b81610c26565b600060408051610c6a81611034565b8281528260208201520152611f23565b60405190610c8782611034565b80546001600160a01b0390811680845260019092015480821660208086019182526001600160f81b031960589390931b831660409687019081528651958652915190931692840192909252905116918101919091529081906060820190565b3461021357604036600319011261021357602060ff610d37600435610d0a816102b7565b610d1f60243591610d1a83610c26565b611dde565b9063ffffffff60e01b16600052602052604060002090565b54166040519015158152f35b34610213576020366003190112610213576020610d79600435610d6581610202565b6000604051610d738161104f565b52612ce9565b60405190610d868261104f565b546001600160a01b031690819052604051908152f35b600091031261021357565b60005b838110610dba5750506000910152565b8181015183820152602001610daa565b90602091610de381518092818552858086019101610da7565b601f01601f1916010190565b3461021357600036600319011261021357610e3e610e0b613543565b90604051928392600f60f81b8452610e3060209360e0602087015260e0860190610dca565b908482036040860152610dca565b90466060840152306080840152600060a084015282820360c0840152602060605192838152019160809160005b828110610e7a57505050500390f35b835185528695509381019392810192600101610e6b565b6040366003190112610213576004356001600160401b03811161021357610ebc9036906004016104d7565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081163303610968576060906001610f18610f0b6024356000526000602052604060002090565b546001600160a01b031690565b91821614159283610f72575b610f3f610f38826060610f46940190612155565b8091611c54565b903061368a565b509215610f575761001b92506136b1565b505015610f6057005b60405163f21e646b60e01b8152600490fd5b9150610f46610f3f610f38610f98610f90610f386060880188612155565b903487613608565b9492505050610f24565b3461021357600036600319011261021357602063ffffffff6000805160206153688339815191525460c81c16604051908152f35b9181601f84011215610213578235916001600160401b038311610213576020808501948460051b01011161021357565b634e487b7160e01b600052604160045260246000fd5b6001600160401b03811161102f57604052565b611006565b606081019081106001600160401b0382111761102f57604052565b602081019081106001600160401b0382111761102f57604052565b604081019081106001600160401b0382111761102f57604052565b61012081019081106001600160401b0382111761102f57604052565b90601f801991011681019081106001600160401b0382111761102f57604052565b604051906102238261106a565b6040519061022382611085565b6001600160401b03811161102f5760051b60200190565b6080366003190112610213576001600160401b036004358181116102135761111f903690600401610fd6565b906024358381116102135736602382011215610213578060040135611143816110dc565b9160409161115460405194856110a1565b8084526020906024602086019160061b8401019236841161021357602401905b8382106111bc57505050505060443584811161021357611198903690600401610fd6565b91606435958611610213576111b461001b963690600401610fd6565b9590946123b3565b84823603126102135782859182516111d38161106a565b6111dc856107f5565b8152828501356111eb81610202565b83820152815201910190611174565b61120336610252565b61121f6108366000805160206153688339815191525460581b90565b6001600160a01b0390337f0000000000000000000000000000000000000000000000000000000000000000831614158061131c575b156113105760405163ecd0596160e01b815260048082015291169290602081602481875afa90811561093a576000916112f1575b50156109685760405163d68f602560e01b815293600085806112af36343360048501612218565b038183885af194851561093a576000956112d0575b506108ea93949561256f565b6108ea9495506112ea903d806000833e61095981836110a1565b94936112c4565b61130a915060203d6020116109a25761099481836110a1565b38611288565b50509161001b9361256f565b5030331415611254565b346102135760003660031901126102135761061d6040516113468161106a565b60168152756b65726e656c2e616476616e6365642e76302e332e3160501b6020820152604051918291602083526020830190610dca565b34610213576000366003190112610213576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b6113cb36610252565b6113e76108366000805160206153688339815191525460581b90565b6001600160a01b0390337f000000000000000000000000000000000000000000000000000000000000000083161415806114e4575b156114d85760405163ecd0596160e01b815260048082015291169290602081602481875afa90811561093a576000916114b9575b50156109685760405163d68f602560e01b8152936000858061147736343360048501612218565b038183885af194851561093a57600095611498575b506108ea93949561287e565b6108ea9495506114b2903d806000833e61095981836110a1565b949361148c565b6114d2915060203d6020116109a25761099481836110a1565b38611450565b50509161001b9361287e565b503033141561141c565b3461021357600036600319011261021357602063ffffffff6000805160206153688339815191525460a81c16604051908152f35b34610213576020366003190112610213576040611552600435611544816102b7565b61154c612a1a565b50611da5565b60208251916115608361106a565b5463ffffffff81169283815260018060a01b03928391019160201c168152835192835251166020820152f35b346102135760a0366003190112610213576115a8600435610202565b6115b3602435610202565b6001600160401b03604435818111610213576115d3903690600401610fd6565b5050606435818111610213576115ed903690600401610fd6565b505060843590811161021357611607903690600401610225565b505060405163bc197c8160e01b8152602090f35b602080825282516001600160f01b03191681830152808301516001600160a01b03166040808401919091529092015160608083015280516080830181905260a090920192908101919060005b828110611675575050505090565b83516001600160501b03191685529381019392810192600101611667565b3461021357602080600319360112610213576004356116b181610c26565b6116d660409160608380516116c581611034565b600081526000878201520152611f5b565b908051916116e383611034565b805460f081901b6001600160f01b031916845260101c6001600160a01b031684840152815160019182018054808352600091825286822083880197939490939092905b82821061174d5761061d88888861173f818e03826110a1565b81830152519182918261161b565b845460501b6001600160501b0319168952978801979383019390830190611726565b346102135760203660031901126102135760206102ad600435612a33565b9060406003198301126102135760043591602435906001600160401b0382116102135761028d91600401610225565b6117c53661178d565b916001600160a01b036117d733612ce9565b541690811561188e57606060019460018414159485611877575b6117fb9293613d74565b92611867575b5050906040519060208083016020845284518091526040840191602060408360051b8701019601926000905b83821061183a5786880387f35b90919293948380611856839a603f198b82030186528951610dca565b99970195949391909101910161182d565b611870916136b1565b3880611801565b6117fb9250611887363487613584565b92506117f1565b60405163710c949760e01b8152600490fd5b60603660031901126102135760048035906118ba826102b7565b6001600160401b0391602435838111610213576118da9036908401610225565b93604435908111610213576118f29036908501610225565b9061190f6108366000805160206153688339815191525460581b90565b6001600160a01b0390337f00000000000000000000000000000000000000000000000000000000000000008316141580611a4f575b15611a3f57169560405163ecd0596160e01b81526020818061196d8a8201906004602083019252565b03818b5afa90811561093a57600091611a20575b5015611a0f5760405163d68f602560e01b815293600085806119a73634338d8501612218565b0381838c5af194851561093a576000956119f0575b506119c79495612af5565b823b15610213576109179260009283604051809681958294630b9dfbed60e11b84528301612254565b6119c79550611a09903d806000833e61095981836110a1565b946119bc565b6040516348f5c3ed60e01b81528690fd5b611a39915060203d6020116109a25761099481836110a1565b38611981565b50509261001b9592919450612af5565b5030331415611944565b611a623661178d565b611a7e6108366000805160206153688339815191525460581b90565b6001600160a01b0390337f00000000000000000000000000000000000000000000000000000000000000008316141580611b7b575b15611b6f5760405163ecd0596160e01b815260048082015291169190602081602481865afa90811561093a57600091611b50575b50156109685760405163d68f602560e01b81529260008480611b0e36343360048501612218565b038183875af193841561093a57600094611b2f575b506108ea929394612b0a565b6108ea939450611b49903d806000833e61095981836110a1565b9392611b23565b611b69915060203d6020116109a25761099481836110a1565b38611ae7565b50509061001b92612b0a565b5030331415611ab3565b346102135760003660031901126102135760206000805160206153688339815191525460581b604051906001600160581b0319168152f35b346102135760a036600319011261021357611bd9600435610202565b611be4602435610202565b6084356001600160401b03811161021357611c03903690600401610225565b505060405163f23a6e6160e01b8152602090f35b346102135760203660031901126102135760206102ad600435612b15565b906008116102135760040190600490565b906004116102135790600490565b909291928360041161021357831161021357600401916003190190565b906018116102135760040190601490565b906014116102135790601490565b906020116102135790602090565b909291928360011161021357831161021357600101916000190190565b909291928360141161021357831161021357601401916013190190565b906016116102135790601690565b906016116102135760020190601490565b909291928360161161021357831161021357601601916015190190565b906002116102135790600290565b906009116102135760010190600890565b909291928360091161021357831161021357600901916008190190565b90602c116102135760180190601490565b90939293848311610213578411610213578101920390565b6001600160e01b03199035818116939260048110611d9657505050565b60040360031b82901b16169150565b6001600160581b0319166000527f7bcaa2ced2a71450ed5a9a1b4848e8e5206dbc3f06011e595f7f55428cc6f850602052604060002090565b6001600160581b0319166000527f7bcaa2ced2a71450ed5a9a1b4848e8e5206dbc3f06011e595f7f55428cc6f851602052604060002090565b90929060018103611e6657506001600160a01b0392611e609250611e50915060581b600160581b600160f81b0316600160f81b17611da5565b5460201c6001600160a01b031690565b16151590565b60028103611e9957506001600160a01b0392611e609250611e8d9150610f0b908416612ce9565b6001600160a01b031690565b600303611ed957611eba611eb5610673600193611ec895611c46565b611f23565b01546001600160a01b031690565b6001600160a01b0390811691161490565b505050600090565b15611ee857565b60405162461bcd60e51b8152602060048201526013602482015272185b1c9958591e481a5b9a5d1a585b1a5e9959606a1b6044820152606490fd5b63ffffffff60e01b166000527f7c341349a4360fdd5d5bc07e69f325dc6aaea3eb018b3e0ea7e53cc0bb0d6f3b602052604060002090565b63ffffffff60e01b166000527f7bcaa2ced2a71450ed5a9a1b4848e8e5206dbc3f06011e595f7f55428cc6f852602052604060002090565b908160209103126102135751611fa881610c26565b90565b908060209392818452848401376000828201840152601f01601f1916010190565b611fa8949260609260018060a01b0316825260208201528160408201520191611fab565b6040513d6000823e3d90fd5b9161200691612f5c565b91906001600160f81b031980831615612108575b6001600160a01b039081612033611e8d611e5087611da5565b161561041a578316600160f81b036120b8579060209392916120576120759661308e565b604051637aa8f17760e11b8152968795869485933360048601611fcc565b039260581c165afa90811561093a5760009161208f575090565b611fa8915060203d6020116120b1575b6120a981836110a1565b810190611f93565b503d61209f565b509060081b92600160f11b6120e66120d96120d287611f5b565b5460f01b90565b6001600160f01b03191690565b166120f657611fa8933390612fdd565b604051635b71057960e01b8152600490fd5b91506121236000805160206153688339815191525460581b90565b9161201a565b906040516121368161106a565b915463ffffffff81168352602090811c6001600160a01b031690830152565b903590601e198136030182121561021357018035906001600160401b0382116102135760200191813603831361021357565b90816020910312610213575180151581036102135790565b6001600160401b03811161102f57601f01601f191660200190565b602081830312610213578051906001600160401b038211610213570181601f820112156102135780516121ec8161219f565b926121fa60405194856110a1565b8184526020828401011161021357611fa89160208085019101610da7565b916080939160018060a01b03168352602083015260606040830152806060830152806000848401376000828201840152601f01601f1916010190565b906020611fa8928181520190610dca565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8190556001600160a01b03167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2565b94939291906001600160581b031986161561041a576001600160f81b03198616600160f81b8114159081612363575b506103f9576122f686612d10565b6001600160a01b0361230a611e5088611da5565b1615612319575b505050505050565b612358956103f46123406000805160206153688339815191525463ffffffff9060a81c1690565b926103bc61234c6110c2565b63ffffffff9095168552565b388080808080612311565b600160f91b14159050386122e8565b9060405161237f81611034565b82546001600160a01b039081168252600190930154928316602082015260589290921b6001600160f81b0319166040830152565b959294919390946123d66108366000805160206153688339815191525460581b90565b6001600160a01b0390337f00000000000000000000000000000000000000000000000000000000000000008316141580612523575b156125135760405163ecd0596160e01b8152600480820152911695906020816024818a5afa90811561093a576000916124f4575b50156109685760405163d68f602560e01b8152966000888061246636343360048501612218565b0381838b5af197881561093a576000986124d3575b5061248796979861375c565b803b1561021357604051630b9dfbed60e11b81529160009183918290849082906124b49060048301612254565b03925af1801561093a576124c6575b50565b806109346102239261101c565b6124879798506124ed903d806000833e61095981836110a1565b979661247b565b61250d915060203d6020116109a25761099481836110a1565b3861243f565b505091939092946102239661375c565b503033141561240b565b916020611fa8938181520191611fab565b6bffffffffffffffffffffffff19903581811693926014811061256057505050565b60140360031b82901b16169150565b6001810361264b57506106736102239361263761264593600160581b600160f81b039060581b16600160f81b17946126066125df611e8d6125d96125d36125cc6000805160206153688339815191525463ffffffff9060a81c1690565b9786611c82565b9061253e565b60601c90565b6125f66125ea6110c2565b63ffffffff9096168652565b6001600160a01b03166020850152565b6014810135810192603482013582019160548101350193603460148401359301916034601483013592019089612d6b565b603460148201359101611c46565b90613a70565b600281036126a75750916126986102239361267d611e8d6125d96125d360148801358801966034890135890198611c82565b928391601482013591603401906001600160a01b03166139e2565b60346014830135920190613915565b909190600381036127275750612722611e8d612712610223958461270d60186125d997013582016125d960388401358401996126e66106738787611c46565b90612707611e8d6126f78989611c71565b601888013597603801969161253e565b916137ca565b611c71565b601886013595603801949161253e565b613915565b9091906004810361276857506001600160a01b031691823b15610213576124b492600092836040518096819582946306d61fe760e41b84526004840161252d565b600581036127a657506001600160a01b031691823b15610213576124b492600092836040518096819582946306d61fe760e41b84526004840161252d565b6006036127e2576001600160a01b031691823b15610213576124b492600092836040518096819582946306d61fe760e41b84526004840161252d565b604051631092ef5760e11b8152600490fd5b604051906128018261104f565b60008252565b359060208110612815575090565b6000199060200360031b1b1690565b9190604051906128338261104f565b819360008352116102135760206000910152565b9291926128538261219f565b9161286160405193846110a1565b829481845281830111610213578281602093846000960137010152565b929190600184036128a8576124c3935060581b600160581b600160f81b0316600160f81b17613c28565b600284036128c3576124c393506001600160a01b0316613bde565b909190600384036128f257506124c3925080806128e66106736128ec9486611c46565b93611c54565b91613b84565b91926004810361297857506124c3926129459161291e6000805160206153688339815191525460581b90565b61292a611e5082611da5565b6001600160a01b0386811691161461294b575b503691612847565b90613ad5565b61295761297291611da5565b8054640100000000600160c01b031916640100000000179055565b3861293d565b600581036129fb57506000805160206153688339815191525460581b5b6129a86129a28386611c90565b90612807565b906001600160f81b03198116600160f91b146129d0575b50506124c392612945913691612847565b60081b6001600160e01b031916146129e95738806129bf565b6040516313002bdd60e31b8152600490fd5b6006036127e2576000805160206153688339815191525460581b612995565b60405190612a278261106a565b60006020838281520152565b612a47818060081b918160301b9160501b90565b929091600160f81b916001600160f81b031991908216838114159081612aeb575b81612ae0575b81612ad1575b50612ac75716908114159081612abd575b50612ab6576001600160e01b031916612ab0576001600160501b031916612aab57600190565b600090565b50600090565b5050600090565b9050151538612a85565b5050505050600090565b607f60f91b1415905038612a74565b838114159150612a6e565b8015159150612a68565b91612b0591610223959493613c28565b613f79565b906124c39291613d74565b60071115612aab57600190565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b612b70612b6b6000356001600160e01b031916611f23565b612372565b80516001600160a01b0391908290612b89908216611e8d565b1680612ba157604051631cd4b64760e21b8152600490fd5b606090600181141580612cdf575b15612c9b5750508051612bce906001600160a01b031636903490613584565b915b60408201516001600160f81b031990811680612c5e5750506020820151612c159390612c04906001600160a01b0316613fd6565b9490935b516001600160a01b031690565b918083169060018214159182612c53575b5050612c43575b5050612c3b57602081519101fd5b602081519101f35b612c4c916136b1565b3880612c2d565b141590503880612c26565b03612c89576020820151612c159390612c81906001600160a01b03163690613663565b949093612c08565b604051632d6a6bb760e01b8152600490fd5b9280919303612bd057337f0000000000000000000000000000000000000000000000000000000000000000821614612bd0576040516348f5c3ed60e01b8152600490fd5b5083811415612baf565b6001600160a01b031660009081526000805160206153488339815191526020526040902090565b60207f6789ec0c85d6458d897a36a70129b101f8b4d84c6e218046c3107373dbcbae88916000805160206153688339815191528160581c6001600160581b0360a81b825416179055604051906001600160581b0319168152a1565b9193909294612d86612d7c84611da5565b5463ffffffff1690565b9360008051602061536883398151915294612da9865463ffffffff9060a81c1690565b63ffffffff809281808416911614612f1e575b50506020820180516001600160a01b0397919291612de991891615612f15575b5460a81c63ffffffff1690565b81612dfb610796865163ffffffff1690565b91161490811591612eeb575b50612ed957612c08612e5692612e1c87611da5565b815181546020938401516001600160c01b031990911663ffffffff9290921691909117921b640100000000600160c01b0316919091179055565b91600185841603612ec8575b5050506001600160f81b03198116600160f81b8103612eac575060581c1691823b15610213576124b492600092836040518096819582946306d61fe760e41b84526004840161252d565b909350600160f91b141590506103f9576102239160081b614115565b612ed192613915565b388080612e62565b604051633ab3447f60e11b8152600490fd5b9050612ef9612d7c87611da5565b90612f0b610796855163ffffffff1690565b9116101538612e07565b60018452612ddc565b600080516020615368833981519152805463ffffffff60a81b19166001939093019190911660a81b63ffffffff60a81b169190911790553881612dbc565b9182358060f81c80600014612fa25780600114612f9557600214612f7f57600080fd5b6001600160d81b03191692600501916004190190565b5092601501916014190190565b5050600160009301916000190190565b9092608092611fa89694835260018060a01b0316602083015260408201528160608201520191611fab565b909192612ffc94612ff091858585614375565b94929391969096614469565b509065ffffffffffff8091164210918215613082575b505061306f5761305061302660209661308e565b60405163392dffaf60e01b8152978896879586959193916001600160e01b03191660048701612fb2565b03916001600160a01b03165afa90811561093a5760009161208f575090565b506001600160e01b031995945050505050565b16421190503880613012565b611fa89060405160208101917f1547321c374afde8a591d972a084b071c594c275e36724931ff96c25f2999c8383526040820152604081526130cf81611034565b519020614492565b90818060081b9160ff839260f01c166002146130ef57565b6001600160d81b031983169150565b9080601f8301121561021357816020611fa893359101612847565b9190610120838203126102135761312e6110cf565b9261313881610218565b8452602081013560208501526040810135916001600160401b039283811161021357816131669184016130fe565b6040860152606082013583811161021357816131839184016130fe565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013583811161021357816131be9184016130fe565b60e08601526101009283830135908111610213576131dc92016130fe565b90830152565b90816020910312610213575190565b80516001600160a01b03168252611fa8919061326f61323f61322d61012060208501516020870152604085015190806040880152860190610dca565b60608401518582036060870152610dca565b6080830151608085015260a083015160a085015260c083015160c085015260e083015184820360e0860152610dca565b916101008092015191818403910152610dca565b9392916132a09060409286526060602087015260608601906131f1565b930152565b9291906132a06020916040865260408601906131f1565b9290926000926132cc3682613119565b9161010091828101916132df8383612155565b90949093600160f81b936001600160f81b03199384168514613428575b505050871603613389575050604051639700320360e01b81529360209285928391600091839161332f91600484016132a5565b039260581c6001600160a01b03165af190811561093a57611fa892600092613358575b50614990565b61337b91925060203d602011613382575b61337381836110a1565b8101906131e2565b9038613352565b503d613369565b909460081b93909291600160f01b6133a66120d96120d288611f5b565b166134165760006133c76133c16020966133f199858a614790565b94614990565b604051630ccab7a160e01b8152979096889586948593926001600160e01b03191660048501613283565b03926001600160a01b03165af190811561093a57611fa8926000926133585750614990565b6040516314b9743f60e01b8152600490fd5b9091955061344493985061343d929450612155565b90886145a6565b9691929093613457858995993691612847565b908601523880806132fc565b60008051602061536883398151915280549163ffffffff92600a848260a81c16019084821161352d57828516918516821161351b5760c81c84161015612ed957600080516020615368833981519152805463ffffffff60c81b191660c89290921b63ffffffff60c81b1691909117905554818160c81c1691829160a81c16106134e95750565b600080516020615368833981519152805463ffffffff60a81b191660a89290921b63ffffffff60a81b16919091179055565b60405163e60fd64760e01b8152600490fd5b634e487b7160e01b600052601160045260246000fd5b60405161354f8161106a565b600681526512d95c9b995b60d21b60208201529060405161356f8161106a565b6005815264302e332e3160d81b602082015290565b60405163d68f602560e01b815233600482015260248101929092526060604483015260648201839052600092839183918290849060849083908084838501378181018301849052601f01601f191681010301926001600160a01b03165af191821561093a5780926135f457505090565b611fa892503d8091833e61095981836110a1565b6000928361362f95936040519687958694859363d68f602560e01b85523360048601611fcc565b03926001600160a01b03165af190811561093a5760009161364e575090565b611fa891503d806000833e61095981836110a1565b60009060405192808385378338925af4913d82523d6000602084013e60203d830101604052565b60009192806040519485378338925af4913d82523d6000602084013e60203d830101604052565b6001600160a01b0316803b1561021357604051630b9dfbed60e11b8152602060048201529160009183918290849082906136ef906024830190610dca565b03925af1801561093a576137005750565b6102239061101c565b634e487b7160e01b600052603260045260246000fd5b80511561372c5760200190565b613709565b805182101561372c5760209160051b010190565b9082101561372c5761028d9160051b810190612155565b96959192939694909460005b86811061377a57505050505050509050565b806137bb8a60019360051b850135613791816102b7565b6137a78461379f818c613731565b51938c613745565b906137b3868b8b613745565b949093612d6b565b01613768565b901561372c5790565b6001600160a01b0393919291908483161561390d575b6137e990611f23565b946138156138086137fa83856137c1565b356001600160f81b03191690565b6001600160f81b03191690565b946001600160f81b0319808716806138ee575050908061383792861693611c9e565b823b156102135761386292600092836040518096819582946306d61fe760e41b84526004840161252d565b03925af194851561093a5761389e6138be93600193610223986138db575b505b82546001600160a01b0319166001600160a01b03909116178255565b0180546001600160a01b0319166001600160a01b03909316929092178255565b805460ff60a01b191660589290921c60ff60a01b16919091179055565b806109346138e89261101c565b38613880565b925092505094919403612c895760016138be9161389e61022396613882565b8492506137e0565b6001600160a01b031691821580156139d8575b6139d35760405163d60b347f60e01b8152306004820152602081602481875afa90811561093a576000916139b4575b501561397f576001600160f81b0319806139746137fa84866137c1565b161461397f57505050565b8061398992611c9e565b823b15610213576124b492600092836040518096819582946306d61fe760e41b84526004840161252d565b6139cd915060203d6020116109a25761099481836110a1565b38613957565b505050565b5060018314613928565b919392916001600160a01b039081841615613a67575b1660008181526000805160206153488339815191526020526040812080546001600160a01b0319166001600160a01b0390951694909417909355803b15613a63576136ef9394836040518096819582946306d61fe760e41b8452602060048501526024840191611fab565b8280fd5b600193506139f8565b7f9d17cd6d095ac90a655405ab29f30a7ee7e88ef3974c1bf7544bf591043bb71a91606091613aa282610d1f83611dde565b600160ff198254161790556040519163ffffffff60e01b1682526001600160581b031916602082015260016040820152a1565b60407f2b82f87bf66300af618a9621d3f221edfab735f5bacb4e004cce1b62375396c3919392935a825195613b3587613b276020820193638a91b0e360e01b8552602060248401526044830190610dca565b03601f1981018952886110a1565b6000918291828587519a613b488c61104f565b828c525193f1943d9081613b7b575b6020818360009352013e81516001600160a01b0390911681528415156020820152a1565b60009150613b57565b613b94613bc79194939294611f23565b80546001600160a01b031981168255600190910180546001600160a01b0392831696919492169161294591369190612847565b5080546001600160a81b03191660ff60a01b179055565b6001600160a01b0390811660008181526000805160206153488339815191526020526040902080546001600160a01b0319811690915590911693926124c392612945913691612847565b90929192613c5a613c486000805160206153688339815191525460581b90565b6001600160581b031980851691161490565b6129e957613c6a611e5083611da5565b93613c8b613c7784611da5565b8054640100000000600160c01b0319169055565b6001600160f81b03198316600160f81b8103613cc457506124c39291613cb2913691612847565b9060581c6001600160a01b0316613ad5565b600160f91b141590506103f9576102239160081b614a2b565b604051613ce98161106a565b600181528060005b602080821015613d0c57906060602092828501015201613cf1565b50505090565b90613d1c826110dc565b613d2960405191826110a1565b8281528092613d3a601f19916110dc565b019060005b828110613d4b57505050565b806060602080938501015201613d3f565b906040611fa892600081528160208201520190610dca565b613d88818060081b918160301b9160501b90565b5090936001600160f81b031993600160f81b939092508416838103613e13575050613dba908035019060208201913590565b929093168015600014613dd2575050611fa891614ca9565b03613de057611fa891614bec565b60405162461bcd60e51b815260206004820152600b60248201526a155b9cdd5c1c1bdc9d195960aa1b6044820152606490fd5b94959490919080613eb5575090613e2991614b40565b93909294613e35613cdd565b971680613e5a575050613e4793614b91565b613e508361371f565b526124c38261371f565b03613de057613e6893614b68565b613e718461371f565b52610223577fe723f28f104e46b47fd3531f3608374ac226bcf3ddda334a23a266453e0efdb7613eb0613ea38461371f565b5160405191829182613d5c565b0390a1565b919593918203613de057613eec90613ee6613ece613cdd565b9780613ee06125d96125d38387611c82565b93611cbb565b9161368a565b613ef88795929561371f565b5216908103613f36575015613f0957565b7fe723f28f104e46b47fd3531f3608374ac226bcf3ddda334a23a266453e0efdb7613eb0613ea38461371f565b613de0576102235760405162461bcd60e51b815260206004820152601360248201527211195b1959d85d1958d85b1b0819985a5b1959606a1b6044820152606490fd5b6001600160a01b03169081158015613fcc575b6139d357821561372c576001600160f81b03198135811614613fad57505050565b82600111610213576124c3926129459136916000190190600101612847565b5060018214613f8c565b600080604092835136810185523683823784516014810186523360601b90528260143601925af1918151913d83523d6000602085013e60203d8401019052565b805490600090600081558261402a57505050565b6000526020600020918201915b82811061404357505050565b818155600101614037565b6001600160501b0319903581811693926016811061406b57505050565b60160360031b82901b16169150565b805482101561372c5760005260206000200190600090565b80546801000000000000000081101561102f576140b49160018201815561407a565b819291549060031b9160501c821b9160018060b01b03901b1916179055565b9092809260209483528483013701016000815290565b6001600160f01b0319903581811693926002811061410657505050565b60020360031b82901b16169150565b90803501906020808301923560fe8111801561436d575b61435b5760018061413c85611f5b565b0154614342575b60001982019260005b848110614265575061422a959461423894909361420e935061420792506141a76141f86141df6120d96141d96141d387878e6141ce8e61419f611e8d6125d96125d3614199898989613745565b90611ce6565b9a8b91611f5b565b805462010000600160b01b03191660109290921b62010000600160b01b0316919091179055565b613745565b90611d14565b906140e9565b6141e888611f5b565b9060f01c61ffff19825416179055565b6001600160a01b031696613745565b8091611cf7565b6040519586939092906001600160e01b031916602085016140d3565b03601f1981018452836110a1565b803b15610213576040516306d61fe760e41b81529160009183918290849082906124b49060048301612254565b6142bc611e8d611e8d6125d96125d3614199868a8e6141ce8f6142888e91611f5b565b016142b66142a96142a361429d888888613745565b90611cd8565b9061404e565b6001600160501b03191690565b90614092565b906142cb61420782878b613745565b906142ec60409161422a83519485928d63ffffffff60e01b168a85016140d3565b833b1561021357600093849261431692519586809481936306d61fe760e41b835260048301612254565b03925af191821561093a57849261432f575b500161414c565b8061093461433c9261101c565b38614328565b614356600161435086611f5b565b01614016565b614143565b60405163b62d956d60e01b8152600490fd5b50801561412c565b84846143f8926143e397969498956040519161439083611085565b6143f260009b8c92838652836020870152604086019d8e52606086019c8d918583528560808901528560a0890152606060c089015260e088019286845261010089019687529063ffffffff60e01b169052565b6001600160a01b039091169052565b52614d42565b60ff8061441161440b6137fa87866137c1565b60f81c90565b16036144575761444061442b8461443b9561445094611c9e565b9490955163ffffffff60e01b1690565b611f5b565b5460101c6001600160a01b031690565b9351929190565b60405163b32eeb6960e01b8152600490fd5b8065ffffffffffff91828160a01c1692831560011461448a575b5060d01c92565b925038614483565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f00000000000000000000000000000000000000000000000000000000000000004614161561451f575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220614500565b919290926145b2612a1a565b906145bd9085611c82565b6145c69161253e565b60601c602082018190526000805160206153688339815191525460a81c63ffffffff1680835260349560148082013582018089019791959294919360548601358601808b019490880135939092878c01358801808a013593908d0192918a0135918891908d84369061463792612847565b80519060200120913661464b908888612847565b805190602001203661465e908b8d612847565b8051602091820120604080517fb17ab1224aca0d4255ef8161acaf2ac121b8faa32a4b2258c912cc5f8308c5059381019384526001600160581b0319989098169088015263ffffffff9390931660608701526001600160a01b0393909316608086015260a085019390935260c084019290925260e080840192909252908252906146ea610100826110a1565b5190206146f690614492565b607489013589018d8b820135910161470d92614f94565b9a6147189488612d6b565b6147228183615131565b61472b91611c46565b61473491611d79565b61473d91613a70565b6094810135019293830192013590565b6001600160c01b0319903581811693926008811061476a57505050565b60080360031b82901b16169150565b604090611fa89392815281602082015201906131f1565b6000949391600186816147a285611f5b565b016000835b6147ef575b5050505060ff806147c361440b6137fa87896137c1565b1603614457576101006147e76147e08561444096611fa898611c9e565b3691612847565b910152611f5b565b81979697548110156149885761482061481861480b838561407a565b90549060031b1c60501b90565b908160501c90565b98909761483c61483661440b6137fa85856137c1565b60ff1690565b808403614957575090818161487561486961486361485d8461489298611d22565b9061474d565b60c01c90565b6001600160401b031690565b600901916148876147e0848484611d33565b6101008b0152611d61565b989098975b600160f01b16156148ac575b508301836147a7565b99866148e9929b60018060a01b036040918983518092633894f6e760e11b8252818b868260209c8d9760049c63ffffffff60e01b168d8401614779565b0393165af195861561093a578896614938575b5050841661491e575050614914859493928592614990565b9a919293506148a3565b51631f24c1fb60e11b81529081018c815281906020010390fd5b61494f929650803d106133825761337381836110a1565b9338806148fc565b909991989083111561497557604051630760bdcf60e11b8152600490fd5b61497d6127f4565b610100880152614897565b9695966147ac565b6001600160a01b03818318811615606083811b848601821b9081149186901b1417176001146149c157505050600190565b65ffffffffffff60a01b80831693906001600160d01b031984811691908316908615614a23575b8381168015614a1c575b878110908818028088189714614a14575b508181119082180218921716171790565b955038614a03565b50806149f2565b9550856149e8565b91908035019160209060208401933590614a4481611f5b565b92600190600185019060018254018503614b2e57906000835b614ac0575b50505050614aaf91614aaa8261420e6102239798614a87600161435061422a98611f5b565b8754614a9e9060101c6001600160a01b0316611e8d565b94600019810191613745565b613ad5565b5080546001600160b01b0319169055565b8154811015614b2957908382614b1f61422a8c614b118a614af6868e614aee61481861480b8c9f9e8e61407a565b969050613745565b6040519586939092906001600160e01b0319168c85016140d3565b6001600160a01b0316613ad5565b5001909192614a5d565b614a62565b60405163013dcc8d60e31b8152600490fd5b908060141161021357813560601c928160341161021357601483013592603401916033190190565b906000928491604051958692833738935af1913d82523d6000602084013e60203d830101604052565b9092600092819594604051968792833738935af115614bc0573d82523d6000602084013e60203d830101604052565b503d6000823e3d90fd5b919081101561372c5760051b81013590605e1981360301821215610213570190565b919091614bf883613d12565b9260005b818110614c0857505050565b80614c166001928486614bca565b8035614c2181610202565b614c4260208093604093614c3785830183612155565b939092013590614b68565b614c4c858b613731565b5215614c5b575b505001614bfc565b7fe723f28f104e46b47fd3531f3608374ac226bcf3ddda334a23a266453e0efdb791614c9f614c8a858b613731565b51838051948594888652850152830190610dca565b0390a13880614c53565b919091614cb583613d12565b9260005b818110614cc557505050565b80614cfb6020614cd86001948688614bca565b8035614ce381610202565b614cf06040830183612155565b939092013590614b91565b614d058288613731565b52614d108187613731565b5001614cb9565b9092608092611fa89594835260018060a01b0316602083015260408201528160608201520190610dca565b9190606083016001936001614d6161443b845163ffffffff60e01b1690565b01936000936000958054965b878110614d7f57505050505050505050565b80614d9161481861480b8c948661407a565b6001600160a01b031660a0880190815260808801959091614dba906001600160f01b0319168752565b614dd4614dcd61440b6137fa8a856137c1565b60ff168952565b614de2614836895160ff1690565b808403614f5c5750868181614e0761486961486361485d614e5b9c9d614e2e98611d22565b60208c018181528c60c0614e236147e060099586018789611d33565b910152510191611d61565b959095965b51600160f11b90614e4d906001600160f01b0319166120d9565b166001600160f01b03191690565b15614e68575b5001614d6d565b51909150614e7e906001600160a01b0316611e8d565b8651614ea290614e95906001600160e01b03191681565b6001600160e01b03191690565b60e08701519091906001600160a01b031691614ee76101008901519360c08a01516040948551808095819463184dfdbb60e11b835260209a8b9760049a8b8601614d17565b03915afa93841561093a578b94614f3d575b50506001600160a01b038316614f225750860180518b9392614f1a91614990565b905238614e61565b9051631f24c1fb60e11b815290810183815281906020010390fd5b614f54929450803d106133825761337381836110a1565b913880614ef9565b839196945010600014614f7b57604051630760bdcf60e11b8152600490fd5b614e5b8b93614f8a3688612824565b60c08a0152614e33565b6000805160206153688339815191525460009493929060581b916001600160f81b03198316600160f81b81036150575750604051637aa8f17760e11b8152936020938593909284928392614fec923060048601611fcc565b039160581c6001600160a01b03165afa90811561093a57600091615038575b505b6001600160e01b0319166374eca2c160e11b0161502657565b6040516362467c7760e11b8152600490fd5b615051915060203d6020116120b1576120a981836110a1565b3861500b565b919550929190600160f91b036103f95760209161507a9160081b95843088614375565b60405163392dffaf60e01b815292979295869493859384936150ad93909230906001600160e01b03191660048701612fb2565b03916001600160a01b03165afa90811561093a576000916150cf575b5061500d565b6150e8915060203d6020116120b1576120a981836110a1565b386150c9565b156150f557565b60405162461bcd60e51b8152602060048201526014602482015273496e76616c69642073656c6563746f724461746160601b6044820152606490fd5b61513e6106738383611c46565b90600483101561514d57505050565b602c83106152dd57615168611e8d6125d96125d38685611c71565b602c8201358201602c604c820191013591604c8401358401946151a26151946138086137fa87876137c1565b6001600160f81b0319161590565b8061524c575b946151e961272295611e8d956151ee956102239b956125d99a6151fe575b6151d9611e8d6125d96125d38a8a611d50565b916001600160a01b0316906137ca565b611d50565b602c86013595604c01949161253e565b615247606c8701358701615241602c604c830192013580615228611e8d6125d96125d38488611c82565b9361523c856001600160a01b038a166152eb565b611cbb565b91613915565b6151c6565b5091939092956040519163ecd0596160e01b83526020838061527660048201906002602083019252565b03816001600160a01b0389165afa92831561093a57610223986125d99761272297611e8d976151ee976151e9956000916152be575b50959a50959b50955095509550506151a8565b6152d7915060203d6020116109a25761099481836110a1565b386152ab565b5050600461022391146150ee565b61022391906001600160a01b03908183161561533e575b1660005260008051602061534883398151915260205260406000209060018060a01b03166bffffffffffffffffffffffff60a01b825416179055565b6001925061530256fe1bbee3173dbdc223633258c9f337a0fff8115f206d302bea0ed3eac003b68b867bcaa2ced2a71450ed5a9a1b4848e8e5206dbc3f06011e595f7f55428cc6f84f0000000000000000000000000000000071727de22e5e9d8baf0edac6f37da032", + "nonce": "0x4c", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xa976c0d12aae62e650b3db036da4e52fca531a03bf9cbdd2fc510feb16ae3eed", + "transactionType": "CREATE2", + "contractName": "KernelFactory", + "contractAddress": "0x587dde85064d4f7fc755418119bb36cec31c8309", + "function": null, + "arguments": [ + "0x06A30C386e3a570C04F440bF06be1f9d2919cA41" + ], + "transaction": { + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x600f4", + "value": "0x0", + "input": "0x000000000000000000000000000000000000000000000000000000000000000060a034607357601f61046c38819003918201601f19168301916001600160401b03831184841017607857808492602094604052833981010312607357516001600160a01b03811681036073576080526040516103dd908161008f823960805181818160d10152818161023401526102f00152f35b600080fd5b634e487b7160e01b600052604160045260246000fdfe60806040818152600490600436101561001757600080fd5b600092833560e01c90816348aac39214610267575080635c60da1b1461021f5763ea6d13ac1461004657600080fd5b61004f36610352565b94919083519560209661007a86828a81019486888737868201908c820152038a8101845201826103a5565b5190209483958551917fcc3735a920a3ca505d382bbc545af43d6000803e6038573d6000fd5b3d6000f36060527f5155f3363d3d373d3d363d7f360894a13ba1a3210667c828492db98dca3e2076875261600989527f0000000000000000000000000000000000000000000000000000000000000000601e5268603d3d8160223d3973600a52605f97602192605f60212060358601523060581b855260ff855380601586015260558520993415948b3b156101fe57505050506001916101f85785388180348c5af1156101ed57505b818652846060521561016b575b505091516001600160a01b0390931683525050f35b8082859493859483378101838152039082875af1903d156101e7573d9067ffffffffffffffff82116101d3578351916101ad601f8201601f19168801846103a5565b8252853d92013e5b156101c35738808080610156565b5163487e630960e11b8152600490fd5b634e487b7160e01b81526041600452602490fd5b506101b5565b63b12d13eb8652601cfd5b50610149565b91939a5091935034f59687156102145750610149565b63301164258652601cfd5b838234610263578160031936011261026357517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b5080fd5b848334610263578260209361029d8361027f36610352565b90808a879498019788378201908982015203878101845201826103a5565b51902081517fcc3735a920a3ca505d382bbc545af43d6000803e6038573d6000fd5b3d6000f36060527f5155f3363d3d373d3d363d7f360894a13ba1a3210667c828492db98dca3e2076835261600985527f0000000000000000000000000000000000000000000000000000000000000000601e5268603d3d8160223d3973600a52605f6021209083528360605260ff84536035523060601b6001526015526055822091603552519060018060a01b03168152f35b9060406003198301126103a05760043567ffffffffffffffff928382116103a057806023830112156103a05781600401359384116103a057602484830101116103a057602401919060243590565b600080fd5b90601f8019910116810190811067ffffffffffffffff8211176103c757604052565b634e487b7160e01b600052604160045260246000fd00000000000000000000000006a30c386e3a570c04f440bf06be1f9d2919ca41", + "nonce": "0x4d", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x3b97ffc32e672de2df66069ed16741fb051dc8ef5d42865b7030cf14fba0fc15", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0xd703aae79538628d27099b8c4f621be4ccd142d5", + "function": "approveFactory(address,bool)", + "arguments": [ + "0x587DDe85064d4f7fc755418119Bb36CEC31c8309", + "true" + ], + "transaction": { + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0xd703aae79538628d27099b8c4f621be4ccd142d5", + "gas": "0x108d1", + "value": "0x0", + "input": "0x6e7dbabb000000000000000000000000587dde85064d4f7fc755418119bb36cec31c83090000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x4e", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "status": "0x1", + "cumulativeGasUsed": "0x574a1c", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x0", + "transactionHash": "0x65a34bb045b90c00f563d198c725c7d2d7188f7bfe8d71aa30fbfe79a931be35", + "transactionIndex": "0xe", + "blockHash": "0x54d123c40178fb2f6ab03f9cfeae87b91b6fd43fdee551bdb87f6f5360352c48", + "blockNumber": "0x5974a8", + "gasUsed": "0x47e13b", + "effectiveGasPrice": "0xa8e52626b", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x5b654f", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x0", + "transactionHash": "0xa976c0d12aae62e650b3db036da4e52fca531a03bf9cbdd2fc510feb16ae3eed", + "transactionIndex": "0xf", + "blockHash": "0x54d123c40178fb2f6ab03f9cfeae87b91b6fd43fdee551bdb87f6f5360352c48", + "blockNumber": "0x5974a8", + "gasUsed": "0x41b33", + "effectiveGasPrice": "0xa8e52626b", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "contractAddress": null + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x5c1a62", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x0", + "transactionHash": "0x3b97ffc32e672de2df66069ed16741fb051dc8ef5d42865b7030cf14fba0fc15", + "transactionIndex": "0x10", + "blockHash": "0x54d123c40178fb2f6ab03f9cfeae87b91b6fd43fdee551bdb87f6f5360352c48", + "blockNumber": "0x5974a8", + "gasUsed": "0xb513", + "effectiveGasPrice": "0xa8e52626b", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0xd703aae79538628d27099b8c4f621be4ccd142d5", + "contractAddress": null + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1715192309, + "chain": 11155111, + "commit": "b0e46c2" +} \ No newline at end of file diff --git a/broadcast/DeployKernel.s.sol/11155111/run-1715192359.json b/broadcast/DeployKernel.s.sol/11155111/run-1715192359.json new file mode 100644 index 0000000..43f30c8 --- /dev/null +++ b/broadcast/DeployKernel.s.sol/11155111/run-1715192359.json @@ -0,0 +1,124 @@ +{ + "transactions": [ + { + "hash": "0x65a34bb045b90c00f563d198c725c7d2d7188f7bfe8d71aa30fbfe79a931be35", + "transactionType": "CREATE2", + "contractName": "Kernel", + "contractAddress": "0x06a30c386e3a570c04f440bf06be1f9d2919ca41", + "function": null, + "arguments": [ + "0x0000000071727De22E5E9d8BAf0edAc6f37da032" + ], + "transaction": { + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x6917ef", + "value": "0x0", + "input": "0x00000000000000000000000000000000000000000000000000000000000000006101403461020457601f6155c338819003918201601f191683019291906001600160401b0384118385101761020957816020928492604096875283398101031261020457516001600160a01b038116810361020457306080524660a05260a082516100698161021f565b600681526005602082016512d95c9b995b60d21b81526020865161008c8161021f565b838152019264302e332e3160d81b845251902091208160c0528060e0528451917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f835260208301528482015246606082015230608082015220916101009283526101209182528051602081019063deadbeef60e01b8252600481526101108161021f565b5190516001600160581b0319918282169190601581106101ef575b505090507f7bcaa2ced2a71450ed5a9a1b4848e8e5206dbc3f06011e595f7f55428cc6f84f9060581c60018060a81b03198254161790555190615388928361023b8439608051836144b5015260a051836144d8015260c0518361454a015260e051836145700152518261449401525181818161052401528181610848015281816109fe01528181610b2701528181610ec60152818161122b01528181611393015281816113f30152818161191b01528181611a8a015281816123e20152612ca70152f35b8391925060150360031b1b161680388061012b565b600080fd5b634e487b7160e01b600052604160045260246000fd5b604081019081106001600160401b038211176102095760405256fe6080604052600436101561001d575b36612b535761001b612b22565b005b60003560e01c8063112d3a7d146101fd57806312af322c146101f8578063150b7a02146101f35780631626ba7e146101ee57806319822f7c146101e95780631f1b92e3146101e45780633659cfe6146101df57806352141cd9146101da57806357b3a5f4146101d55780636e6fa0c6146101d0578063721e67f4146101cb57806384b0196e146101c65780638dd7712f146101c157806390ef8862146101bc5780639198bdf5146101b75780639517e29f146101b25780639cfd7cff146101ad578063a65d69d4146101a8578063a71763a8146101a3578063adb610a31461019e578063b8afe17d14610199578063bc197c8114610194578063c3e589781461018f578063d03c79141461018a578063d691c96414610185578063e6f3d50a14610180578063e9ae5c531461017b578063f1f7f0f914610176578063f23a6e61146101715763f2dc691d0361000e57611c17565b611bbd565b611b85565b611a59565b6118a0565b6117bc565b61176f565b611693565b61158c565b611522565b6114ee565b6113c2565b61137d565b611326565b6111fa565b6110f3565b610fa2565b610e91565b610def565b610d43565b610ce6565b610c38565b610af5565b6109be565b610806565b6104e6565b610486565b61042c565b610329565b610291565b6001600160a01b0381160361021357565b600080fd5b359061022382610202565b565b9181601f84011215610213578235916001600160401b038311610213576020838186019501011161021357565b6060600319820112610213576004359160243561026e81610202565b91604435906001600160401b0382116102135761028d91600401610225565b9091565b346102135760206102ad6102a436610252565b92919091611e17565b6040519015158152f35b6001600160581b031981160361021357565b6080600319820112610213576004356102e1816102b7565b916024356102ee81610202565b916001600160401b0391604435838111610213578261030f91600401610225565b939093926064359182116102135761028d91600401610225565b3461021357610337366102c9565b936001600160581b0393919319610378816103716103646000805160206153688339815191525460581b90565b6001600160581b03191690565b1615611ee1565b86161561041a576001600160f81b03198616600160f81b811415908161040b575b506103f957856103ab61001b97612d10565b6103cc6103b66110c2565b60018152925b6001600160a01b03166020840152565b600080516020615368833981519152805463ffffffff60a81b1916600160a81b179055612d6b565b612d6b565b6040516361c4e91b60e11b8152600490fd5b600160f91b1415905038610399565b604051631a0a9b9f60e21b8152600490fd5b3461021357608036600319011261021357610448600435610202565b610453602435610202565b6064356001600160401b03811161021357610472903690600401610225565b5050604051630a85bd0160e11b8152602090f35b34610213576040366003190112610213576024356001600160401b038111610213576104c46104bb6020923690600401610225565b90600435611ffc565b6040516001600160e01b03199091168152f35b90816101209103126102135790565b606036600319011261021357600480356001600160401b0381116102135761051190369083016104d7565b60243590604435906001600160a01b03907f0000000000000000000000000000000000000000000000000000000000000000821633036107d15780849261055b60208301356130d7565b6001600160f81b0319909116159590939091866107a7575b908461057f93926132bc565b9561059161058c84611da5565b612129565b9415948580610765575b61075457602001516001600160a01b0316918216908115610743576001926105d06105ef926000526000602052604060002090565b80546001600160a01b0319166001600160a01b03909216919091179055565b036106a25782610644575b50506106335761061d9250805b610621575b506040519081529081906020820190565b0390f35b3490349034903490335af1503861060c565b604051631a0a9b9f60e21b81528390fd5b61069b92506106979161067961067361066d61066261069095611dde565b936060810190612155565b90611c46565b90611d79565b63ffffffff60e01b16600052602052604060002090565b5460ff1690565b1590565b38806105fa565b82919291610710575b506106ff5761066d8160606106c1930190612155565b638dd7712f60e01b916001600160e01b0319916106dd91611d79565b16036106ee5761061d925080610607565b60405163dbbb044b60e01b81528390fd5b604051631a0a9b9f60e21b81528490fd5b61073d915061069061072461069792611dde565b6106796106736107376060880188612155565b90611c35565b386106ab565b604051631a0a9b9f60e21b81528990fd5b604051633ab3447f60e11b81528990fd5b50805163ffffffff1663ffffffff61079f6107966000805160206153688339815191525463ffffffff9060c81c1690565b63ffffffff1690565b91161061059b565b93509061057f916107c76000805160206153688339815191525460581b90565b9490919250610573565b6040516348f5c3ed60e01b81528590fd5b6004359063ffffffff8216820361021357565b359063ffffffff8216820361021357565b60203660031901126102135761081a6107e2565b61083c6108366000805160206153688339815191525460581b90565b60581c90565b6001600160a01b0390337f000000000000000000000000000000000000000000000000000000000000000083161415806109b4575b156109a95760405163ecd0596160e01b8152600480820152911690602081602481855afa90811561093a5760009161097a575b50156109685760405163d68f602560e01b815291600083806108cb36343360048501612218565b038183865af192831561093a5760009361093f575b506108ea90613463565b803b1561021357604051630b9dfbed60e11b81529160009183918290849082906109179060048301612254565b03925af1801561093a5761092757005b8061093461001b9261101c565b80610d9c565b611ff0565b6108ea919350610961903d806000833e61095981836110a1565b8101906121ba565b92906108e0565b6040516348f5c3ed60e01b8152600490fd5b61099c915060203d6020116109a2575b61099481836110a1565b810190612187565b386108a4565b503d61098a565b505061001b90613463565b5030331415610871565b6020366003190112610213576004356109d681610202565b6109f26108366000805160206153688339815191525460581b90565b6001600160a01b0390337f00000000000000000000000000000000000000000000000000000000000000008316141580610aeb575b15610ae05760405163ecd0596160e01b8152600480820152911690602081602481855afa90811561093a57600091610ac1575b50156109685760405163d68f602560e01b81529160008380610a8136343360048501612218565b038183865af192831561093a57600093610aa0575b506108ea90612265565b6108ea919350610aba903d806000833e61095981836110a1565b9290610a96565b610ada915060203d6020116109a25761099481836110a1565b38610a5a565b505061001b90612265565b5030331415610a27565b610afe366102c9565b91610b1b6108366000805160206153688339815191525460581b90565b6001600160a01b0390337f00000000000000000000000000000000000000000000000000000000000000008316141580610c1c575b15610c0c5760405163ecd0596160e01b815260048082015291169490602081602481895afa90811561093a57600091610bed575b50156109685760405163d68f602560e01b81529560008780610bab36343360048501612218565b0381838a5af196871561093a57600097610bcc575b506108ea9596976122b9565b6108ea969750610be6903d806000833e61095981836110a1565b9695610bc0565b610c06915060203d6020116109a25761099481836110a1565b38610b84565b5050919361001b959391936122b9565b5030331415610b50565b6001600160e01b031981160361021357565b346102135760203660031901126102135761061d610c7a600435610c5b81610c26565b600060408051610c6a81611034565b8281528260208201520152611f23565b60405190610c8782611034565b80546001600160a01b0390811680845260019092015480821660208086019182526001600160f81b031960589390931b831660409687019081528651958652915190931692840192909252905116918101919091529081906060820190565b3461021357604036600319011261021357602060ff610d37600435610d0a816102b7565b610d1f60243591610d1a83610c26565b611dde565b9063ffffffff60e01b16600052602052604060002090565b54166040519015158152f35b34610213576020366003190112610213576020610d79600435610d6581610202565b6000604051610d738161104f565b52612ce9565b60405190610d868261104f565b546001600160a01b031690819052604051908152f35b600091031261021357565b60005b838110610dba5750506000910152565b8181015183820152602001610daa565b90602091610de381518092818552858086019101610da7565b601f01601f1916010190565b3461021357600036600319011261021357610e3e610e0b613543565b90604051928392600f60f81b8452610e3060209360e0602087015260e0860190610dca565b908482036040860152610dca565b90466060840152306080840152600060a084015282820360c0840152602060605192838152019160809160005b828110610e7a57505050500390f35b835185528695509381019392810192600101610e6b565b6040366003190112610213576004356001600160401b03811161021357610ebc9036906004016104d7565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081163303610968576060906001610f18610f0b6024356000526000602052604060002090565b546001600160a01b031690565b91821614159283610f72575b610f3f610f38826060610f46940190612155565b8091611c54565b903061368a565b509215610f575761001b92506136b1565b505015610f6057005b60405163f21e646b60e01b8152600490fd5b9150610f46610f3f610f38610f98610f90610f386060880188612155565b903487613608565b9492505050610f24565b3461021357600036600319011261021357602063ffffffff6000805160206153688339815191525460c81c16604051908152f35b9181601f84011215610213578235916001600160401b038311610213576020808501948460051b01011161021357565b634e487b7160e01b600052604160045260246000fd5b6001600160401b03811161102f57604052565b611006565b606081019081106001600160401b0382111761102f57604052565b602081019081106001600160401b0382111761102f57604052565b604081019081106001600160401b0382111761102f57604052565b61012081019081106001600160401b0382111761102f57604052565b90601f801991011681019081106001600160401b0382111761102f57604052565b604051906102238261106a565b6040519061022382611085565b6001600160401b03811161102f5760051b60200190565b6080366003190112610213576001600160401b036004358181116102135761111f903690600401610fd6565b906024358381116102135736602382011215610213578060040135611143816110dc565b9160409161115460405194856110a1565b8084526020906024602086019160061b8401019236841161021357602401905b8382106111bc57505050505060443584811161021357611198903690600401610fd6565b91606435958611610213576111b461001b963690600401610fd6565b9590946123b3565b84823603126102135782859182516111d38161106a565b6111dc856107f5565b8152828501356111eb81610202565b83820152815201910190611174565b61120336610252565b61121f6108366000805160206153688339815191525460581b90565b6001600160a01b0390337f0000000000000000000000000000000000000000000000000000000000000000831614158061131c575b156113105760405163ecd0596160e01b815260048082015291169290602081602481875afa90811561093a576000916112f1575b50156109685760405163d68f602560e01b815293600085806112af36343360048501612218565b038183885af194851561093a576000956112d0575b506108ea93949561256f565b6108ea9495506112ea903d806000833e61095981836110a1565b94936112c4565b61130a915060203d6020116109a25761099481836110a1565b38611288565b50509161001b9361256f565b5030331415611254565b346102135760003660031901126102135761061d6040516113468161106a565b60168152756b65726e656c2e616476616e6365642e76302e332e3160501b6020820152604051918291602083526020830190610dca565b34610213576000366003190112610213576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b6113cb36610252565b6113e76108366000805160206153688339815191525460581b90565b6001600160a01b0390337f000000000000000000000000000000000000000000000000000000000000000083161415806114e4575b156114d85760405163ecd0596160e01b815260048082015291169290602081602481875afa90811561093a576000916114b9575b50156109685760405163d68f602560e01b8152936000858061147736343360048501612218565b038183885af194851561093a57600095611498575b506108ea93949561287e565b6108ea9495506114b2903d806000833e61095981836110a1565b949361148c565b6114d2915060203d6020116109a25761099481836110a1565b38611450565b50509161001b9361287e565b503033141561141c565b3461021357600036600319011261021357602063ffffffff6000805160206153688339815191525460a81c16604051908152f35b34610213576020366003190112610213576040611552600435611544816102b7565b61154c612a1a565b50611da5565b60208251916115608361106a565b5463ffffffff81169283815260018060a01b03928391019160201c168152835192835251166020820152f35b346102135760a0366003190112610213576115a8600435610202565b6115b3602435610202565b6001600160401b03604435818111610213576115d3903690600401610fd6565b5050606435818111610213576115ed903690600401610fd6565b505060843590811161021357611607903690600401610225565b505060405163bc197c8160e01b8152602090f35b602080825282516001600160f01b03191681830152808301516001600160a01b03166040808401919091529092015160608083015280516080830181905260a090920192908101919060005b828110611675575050505090565b83516001600160501b03191685529381019392810192600101611667565b3461021357602080600319360112610213576004356116b181610c26565b6116d660409160608380516116c581611034565b600081526000878201520152611f5b565b908051916116e383611034565b805460f081901b6001600160f01b031916845260101c6001600160a01b031684840152815160019182018054808352600091825286822083880197939490939092905b82821061174d5761061d88888861173f818e03826110a1565b81830152519182918261161b565b845460501b6001600160501b0319168952978801979383019390830190611726565b346102135760203660031901126102135760206102ad600435612a33565b9060406003198301126102135760043591602435906001600160401b0382116102135761028d91600401610225565b6117c53661178d565b916001600160a01b036117d733612ce9565b541690811561188e57606060019460018414159485611877575b6117fb9293613d74565b92611867575b5050906040519060208083016020845284518091526040840191602060408360051b8701019601926000905b83821061183a5786880387f35b90919293948380611856839a603f198b82030186528951610dca565b99970195949391909101910161182d565b611870916136b1565b3880611801565b6117fb9250611887363487613584565b92506117f1565b60405163710c949760e01b8152600490fd5b60603660031901126102135760048035906118ba826102b7565b6001600160401b0391602435838111610213576118da9036908401610225565b93604435908111610213576118f29036908501610225565b9061190f6108366000805160206153688339815191525460581b90565b6001600160a01b0390337f00000000000000000000000000000000000000000000000000000000000000008316141580611a4f575b15611a3f57169560405163ecd0596160e01b81526020818061196d8a8201906004602083019252565b03818b5afa90811561093a57600091611a20575b5015611a0f5760405163d68f602560e01b815293600085806119a73634338d8501612218565b0381838c5af194851561093a576000956119f0575b506119c79495612af5565b823b15610213576109179260009283604051809681958294630b9dfbed60e11b84528301612254565b6119c79550611a09903d806000833e61095981836110a1565b946119bc565b6040516348f5c3ed60e01b81528690fd5b611a39915060203d6020116109a25761099481836110a1565b38611981565b50509261001b9592919450612af5565b5030331415611944565b611a623661178d565b611a7e6108366000805160206153688339815191525460581b90565b6001600160a01b0390337f00000000000000000000000000000000000000000000000000000000000000008316141580611b7b575b15611b6f5760405163ecd0596160e01b815260048082015291169190602081602481865afa90811561093a57600091611b50575b50156109685760405163d68f602560e01b81529260008480611b0e36343360048501612218565b038183875af193841561093a57600094611b2f575b506108ea929394612b0a565b6108ea939450611b49903d806000833e61095981836110a1565b9392611b23565b611b69915060203d6020116109a25761099481836110a1565b38611ae7565b50509061001b92612b0a565b5030331415611ab3565b346102135760003660031901126102135760206000805160206153688339815191525460581b604051906001600160581b0319168152f35b346102135760a036600319011261021357611bd9600435610202565b611be4602435610202565b6084356001600160401b03811161021357611c03903690600401610225565b505060405163f23a6e6160e01b8152602090f35b346102135760203660031901126102135760206102ad600435612b15565b906008116102135760040190600490565b906004116102135790600490565b909291928360041161021357831161021357600401916003190190565b906018116102135760040190601490565b906014116102135790601490565b906020116102135790602090565b909291928360011161021357831161021357600101916000190190565b909291928360141161021357831161021357601401916013190190565b906016116102135790601690565b906016116102135760020190601490565b909291928360161161021357831161021357601601916015190190565b906002116102135790600290565b906009116102135760010190600890565b909291928360091161021357831161021357600901916008190190565b90602c116102135760180190601490565b90939293848311610213578411610213578101920390565b6001600160e01b03199035818116939260048110611d9657505050565b60040360031b82901b16169150565b6001600160581b0319166000527f7bcaa2ced2a71450ed5a9a1b4848e8e5206dbc3f06011e595f7f55428cc6f850602052604060002090565b6001600160581b0319166000527f7bcaa2ced2a71450ed5a9a1b4848e8e5206dbc3f06011e595f7f55428cc6f851602052604060002090565b90929060018103611e6657506001600160a01b0392611e609250611e50915060581b600160581b600160f81b0316600160f81b17611da5565b5460201c6001600160a01b031690565b16151590565b60028103611e9957506001600160a01b0392611e609250611e8d9150610f0b908416612ce9565b6001600160a01b031690565b600303611ed957611eba611eb5610673600193611ec895611c46565b611f23565b01546001600160a01b031690565b6001600160a01b0390811691161490565b505050600090565b15611ee857565b60405162461bcd60e51b8152602060048201526013602482015272185b1c9958591e481a5b9a5d1a585b1a5e9959606a1b6044820152606490fd5b63ffffffff60e01b166000527f7c341349a4360fdd5d5bc07e69f325dc6aaea3eb018b3e0ea7e53cc0bb0d6f3b602052604060002090565b63ffffffff60e01b166000527f7bcaa2ced2a71450ed5a9a1b4848e8e5206dbc3f06011e595f7f55428cc6f852602052604060002090565b908160209103126102135751611fa881610c26565b90565b908060209392818452848401376000828201840152601f01601f1916010190565b611fa8949260609260018060a01b0316825260208201528160408201520191611fab565b6040513d6000823e3d90fd5b9161200691612f5c565b91906001600160f81b031980831615612108575b6001600160a01b039081612033611e8d611e5087611da5565b161561041a578316600160f81b036120b8579060209392916120576120759661308e565b604051637aa8f17760e11b8152968795869485933360048601611fcc565b039260581c165afa90811561093a5760009161208f575090565b611fa8915060203d6020116120b1575b6120a981836110a1565b810190611f93565b503d61209f565b509060081b92600160f11b6120e66120d96120d287611f5b565b5460f01b90565b6001600160f01b03191690565b166120f657611fa8933390612fdd565b604051635b71057960e01b8152600490fd5b91506121236000805160206153688339815191525460581b90565b9161201a565b906040516121368161106a565b915463ffffffff81168352602090811c6001600160a01b031690830152565b903590601e198136030182121561021357018035906001600160401b0382116102135760200191813603831361021357565b90816020910312610213575180151581036102135790565b6001600160401b03811161102f57601f01601f191660200190565b602081830312610213578051906001600160401b038211610213570181601f820112156102135780516121ec8161219f565b926121fa60405194856110a1565b8184526020828401011161021357611fa89160208085019101610da7565b916080939160018060a01b03168352602083015260606040830152806060830152806000848401376000828201840152601f01601f1916010190565b906020611fa8928181520190610dca565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8190556001600160a01b03167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2565b94939291906001600160581b031986161561041a576001600160f81b03198616600160f81b8114159081612363575b506103f9576122f686612d10565b6001600160a01b0361230a611e5088611da5565b1615612319575b505050505050565b612358956103f46123406000805160206153688339815191525463ffffffff9060a81c1690565b926103bc61234c6110c2565b63ffffffff9095168552565b388080808080612311565b600160f91b14159050386122e8565b9060405161237f81611034565b82546001600160a01b039081168252600190930154928316602082015260589290921b6001600160f81b0319166040830152565b959294919390946123d66108366000805160206153688339815191525460581b90565b6001600160a01b0390337f00000000000000000000000000000000000000000000000000000000000000008316141580612523575b156125135760405163ecd0596160e01b8152600480820152911695906020816024818a5afa90811561093a576000916124f4575b50156109685760405163d68f602560e01b8152966000888061246636343360048501612218565b0381838b5af197881561093a576000986124d3575b5061248796979861375c565b803b1561021357604051630b9dfbed60e11b81529160009183918290849082906124b49060048301612254565b03925af1801561093a576124c6575b50565b806109346102239261101c565b6124879798506124ed903d806000833e61095981836110a1565b979661247b565b61250d915060203d6020116109a25761099481836110a1565b3861243f565b505091939092946102239661375c565b503033141561240b565b916020611fa8938181520191611fab565b6bffffffffffffffffffffffff19903581811693926014811061256057505050565b60140360031b82901b16169150565b6001810361264b57506106736102239361263761264593600160581b600160f81b039060581b16600160f81b17946126066125df611e8d6125d96125d36125cc6000805160206153688339815191525463ffffffff9060a81c1690565b9786611c82565b9061253e565b60601c90565b6125f66125ea6110c2565b63ffffffff9096168652565b6001600160a01b03166020850152565b6014810135810192603482013582019160548101350193603460148401359301916034601483013592019089612d6b565b603460148201359101611c46565b90613a70565b600281036126a75750916126986102239361267d611e8d6125d96125d360148801358801966034890135890198611c82565b928391601482013591603401906001600160a01b03166139e2565b60346014830135920190613915565b909190600381036127275750612722611e8d612712610223958461270d60186125d997013582016125d960388401358401996126e66106738787611c46565b90612707611e8d6126f78989611c71565b601888013597603801969161253e565b916137ca565b611c71565b601886013595603801949161253e565b613915565b9091906004810361276857506001600160a01b031691823b15610213576124b492600092836040518096819582946306d61fe760e41b84526004840161252d565b600581036127a657506001600160a01b031691823b15610213576124b492600092836040518096819582946306d61fe760e41b84526004840161252d565b6006036127e2576001600160a01b031691823b15610213576124b492600092836040518096819582946306d61fe760e41b84526004840161252d565b604051631092ef5760e11b8152600490fd5b604051906128018261104f565b60008252565b359060208110612815575090565b6000199060200360031b1b1690565b9190604051906128338261104f565b819360008352116102135760206000910152565b9291926128538261219f565b9161286160405193846110a1565b829481845281830111610213578281602093846000960137010152565b929190600184036128a8576124c3935060581b600160581b600160f81b0316600160f81b17613c28565b600284036128c3576124c393506001600160a01b0316613bde565b909190600384036128f257506124c3925080806128e66106736128ec9486611c46565b93611c54565b91613b84565b91926004810361297857506124c3926129459161291e6000805160206153688339815191525460581b90565b61292a611e5082611da5565b6001600160a01b0386811691161461294b575b503691612847565b90613ad5565b61295761297291611da5565b8054640100000000600160c01b031916640100000000179055565b3861293d565b600581036129fb57506000805160206153688339815191525460581b5b6129a86129a28386611c90565b90612807565b906001600160f81b03198116600160f91b146129d0575b50506124c392612945913691612847565b60081b6001600160e01b031916146129e95738806129bf565b6040516313002bdd60e31b8152600490fd5b6006036127e2576000805160206153688339815191525460581b612995565b60405190612a278261106a565b60006020838281520152565b612a47818060081b918160301b9160501b90565b929091600160f81b916001600160f81b031991908216838114159081612aeb575b81612ae0575b81612ad1575b50612ac75716908114159081612abd575b50612ab6576001600160e01b031916612ab0576001600160501b031916612aab57600190565b600090565b50600090565b5050600090565b9050151538612a85565b5050505050600090565b607f60f91b1415905038612a74565b838114159150612a6e565b8015159150612a68565b91612b0591610223959493613c28565b613f79565b906124c39291613d74565b60071115612aab57600190565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b612b70612b6b6000356001600160e01b031916611f23565b612372565b80516001600160a01b0391908290612b89908216611e8d565b1680612ba157604051631cd4b64760e21b8152600490fd5b606090600181141580612cdf575b15612c9b5750508051612bce906001600160a01b031636903490613584565b915b60408201516001600160f81b031990811680612c5e5750506020820151612c159390612c04906001600160a01b0316613fd6565b9490935b516001600160a01b031690565b918083169060018214159182612c53575b5050612c43575b5050612c3b57602081519101fd5b602081519101f35b612c4c916136b1565b3880612c2d565b141590503880612c26565b03612c89576020820151612c159390612c81906001600160a01b03163690613663565b949093612c08565b604051632d6a6bb760e01b8152600490fd5b9280919303612bd057337f0000000000000000000000000000000000000000000000000000000000000000821614612bd0576040516348f5c3ed60e01b8152600490fd5b5083811415612baf565b6001600160a01b031660009081526000805160206153488339815191526020526040902090565b60207f6789ec0c85d6458d897a36a70129b101f8b4d84c6e218046c3107373dbcbae88916000805160206153688339815191528160581c6001600160581b0360a81b825416179055604051906001600160581b0319168152a1565b9193909294612d86612d7c84611da5565b5463ffffffff1690565b9360008051602061536883398151915294612da9865463ffffffff9060a81c1690565b63ffffffff809281808416911614612f1e575b50506020820180516001600160a01b0397919291612de991891615612f15575b5460a81c63ffffffff1690565b81612dfb610796865163ffffffff1690565b91161490811591612eeb575b50612ed957612c08612e5692612e1c87611da5565b815181546020938401516001600160c01b031990911663ffffffff9290921691909117921b640100000000600160c01b0316919091179055565b91600185841603612ec8575b5050506001600160f81b03198116600160f81b8103612eac575060581c1691823b15610213576124b492600092836040518096819582946306d61fe760e41b84526004840161252d565b909350600160f91b141590506103f9576102239160081b614115565b612ed192613915565b388080612e62565b604051633ab3447f60e11b8152600490fd5b9050612ef9612d7c87611da5565b90612f0b610796855163ffffffff1690565b9116101538612e07565b60018452612ddc565b600080516020615368833981519152805463ffffffff60a81b19166001939093019190911660a81b63ffffffff60a81b169190911790553881612dbc565b9182358060f81c80600014612fa25780600114612f9557600214612f7f57600080fd5b6001600160d81b03191692600501916004190190565b5092601501916014190190565b5050600160009301916000190190565b9092608092611fa89694835260018060a01b0316602083015260408201528160608201520191611fab565b909192612ffc94612ff091858585614375565b94929391969096614469565b509065ffffffffffff8091164210918215613082575b505061306f5761305061302660209661308e565b60405163392dffaf60e01b8152978896879586959193916001600160e01b03191660048701612fb2565b03916001600160a01b03165afa90811561093a5760009161208f575090565b506001600160e01b031995945050505050565b16421190503880613012565b611fa89060405160208101917f1547321c374afde8a591d972a084b071c594c275e36724931ff96c25f2999c8383526040820152604081526130cf81611034565b519020614492565b90818060081b9160ff839260f01c166002146130ef57565b6001600160d81b031983169150565b9080601f8301121561021357816020611fa893359101612847565b9190610120838203126102135761312e6110cf565b9261313881610218565b8452602081013560208501526040810135916001600160401b039283811161021357816131669184016130fe565b6040860152606082013583811161021357816131839184016130fe565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013583811161021357816131be9184016130fe565b60e08601526101009283830135908111610213576131dc92016130fe565b90830152565b90816020910312610213575190565b80516001600160a01b03168252611fa8919061326f61323f61322d61012060208501516020870152604085015190806040880152860190610dca565b60608401518582036060870152610dca565b6080830151608085015260a083015160a085015260c083015160c085015260e083015184820360e0860152610dca565b916101008092015191818403910152610dca565b9392916132a09060409286526060602087015260608601906131f1565b930152565b9291906132a06020916040865260408601906131f1565b9290926000926132cc3682613119565b9161010091828101916132df8383612155565b90949093600160f81b936001600160f81b03199384168514613428575b505050871603613389575050604051639700320360e01b81529360209285928391600091839161332f91600484016132a5565b039260581c6001600160a01b03165af190811561093a57611fa892600092613358575b50614990565b61337b91925060203d602011613382575b61337381836110a1565b8101906131e2565b9038613352565b503d613369565b909460081b93909291600160f01b6133a66120d96120d288611f5b565b166134165760006133c76133c16020966133f199858a614790565b94614990565b604051630ccab7a160e01b8152979096889586948593926001600160e01b03191660048501613283565b03926001600160a01b03165af190811561093a57611fa8926000926133585750614990565b6040516314b9743f60e01b8152600490fd5b9091955061344493985061343d929450612155565b90886145a6565b9691929093613457858995993691612847565b908601523880806132fc565b60008051602061536883398151915280549163ffffffff92600a848260a81c16019084821161352d57828516918516821161351b5760c81c84161015612ed957600080516020615368833981519152805463ffffffff60c81b191660c89290921b63ffffffff60c81b1691909117905554818160c81c1691829160a81c16106134e95750565b600080516020615368833981519152805463ffffffff60a81b191660a89290921b63ffffffff60a81b16919091179055565b60405163e60fd64760e01b8152600490fd5b634e487b7160e01b600052601160045260246000fd5b60405161354f8161106a565b600681526512d95c9b995b60d21b60208201529060405161356f8161106a565b6005815264302e332e3160d81b602082015290565b60405163d68f602560e01b815233600482015260248101929092526060604483015260648201839052600092839183918290849060849083908084838501378181018301849052601f01601f191681010301926001600160a01b03165af191821561093a5780926135f457505090565b611fa892503d8091833e61095981836110a1565b6000928361362f95936040519687958694859363d68f602560e01b85523360048601611fcc565b03926001600160a01b03165af190811561093a5760009161364e575090565b611fa891503d806000833e61095981836110a1565b60009060405192808385378338925af4913d82523d6000602084013e60203d830101604052565b60009192806040519485378338925af4913d82523d6000602084013e60203d830101604052565b6001600160a01b0316803b1561021357604051630b9dfbed60e11b8152602060048201529160009183918290849082906136ef906024830190610dca565b03925af1801561093a576137005750565b6102239061101c565b634e487b7160e01b600052603260045260246000fd5b80511561372c5760200190565b613709565b805182101561372c5760209160051b010190565b9082101561372c5761028d9160051b810190612155565b96959192939694909460005b86811061377a57505050505050509050565b806137bb8a60019360051b850135613791816102b7565b6137a78461379f818c613731565b51938c613745565b906137b3868b8b613745565b949093612d6b565b01613768565b901561372c5790565b6001600160a01b0393919291908483161561390d575b6137e990611f23565b946138156138086137fa83856137c1565b356001600160f81b03191690565b6001600160f81b03191690565b946001600160f81b0319808716806138ee575050908061383792861693611c9e565b823b156102135761386292600092836040518096819582946306d61fe760e41b84526004840161252d565b03925af194851561093a5761389e6138be93600193610223986138db575b505b82546001600160a01b0319166001600160a01b03909116178255565b0180546001600160a01b0319166001600160a01b03909316929092178255565b805460ff60a01b191660589290921c60ff60a01b16919091179055565b806109346138e89261101c565b38613880565b925092505094919403612c895760016138be9161389e61022396613882565b8492506137e0565b6001600160a01b031691821580156139d8575b6139d35760405163d60b347f60e01b8152306004820152602081602481875afa90811561093a576000916139b4575b501561397f576001600160f81b0319806139746137fa84866137c1565b161461397f57505050565b8061398992611c9e565b823b15610213576124b492600092836040518096819582946306d61fe760e41b84526004840161252d565b6139cd915060203d6020116109a25761099481836110a1565b38613957565b505050565b5060018314613928565b919392916001600160a01b039081841615613a67575b1660008181526000805160206153488339815191526020526040812080546001600160a01b0319166001600160a01b0390951694909417909355803b15613a63576136ef9394836040518096819582946306d61fe760e41b8452602060048501526024840191611fab565b8280fd5b600193506139f8565b7f9d17cd6d095ac90a655405ab29f30a7ee7e88ef3974c1bf7544bf591043bb71a91606091613aa282610d1f83611dde565b600160ff198254161790556040519163ffffffff60e01b1682526001600160581b031916602082015260016040820152a1565b60407f2b82f87bf66300af618a9621d3f221edfab735f5bacb4e004cce1b62375396c3919392935a825195613b3587613b276020820193638a91b0e360e01b8552602060248401526044830190610dca565b03601f1981018952886110a1565b6000918291828587519a613b488c61104f565b828c525193f1943d9081613b7b575b6020818360009352013e81516001600160a01b0390911681528415156020820152a1565b60009150613b57565b613b94613bc79194939294611f23565b80546001600160a01b031981168255600190910180546001600160a01b0392831696919492169161294591369190612847565b5080546001600160a81b03191660ff60a01b179055565b6001600160a01b0390811660008181526000805160206153488339815191526020526040902080546001600160a01b0319811690915590911693926124c392612945913691612847565b90929192613c5a613c486000805160206153688339815191525460581b90565b6001600160581b031980851691161490565b6129e957613c6a611e5083611da5565b93613c8b613c7784611da5565b8054640100000000600160c01b0319169055565b6001600160f81b03198316600160f81b8103613cc457506124c39291613cb2913691612847565b9060581c6001600160a01b0316613ad5565b600160f91b141590506103f9576102239160081b614a2b565b604051613ce98161106a565b600181528060005b602080821015613d0c57906060602092828501015201613cf1565b50505090565b90613d1c826110dc565b613d2960405191826110a1565b8281528092613d3a601f19916110dc565b019060005b828110613d4b57505050565b806060602080938501015201613d3f565b906040611fa892600081528160208201520190610dca565b613d88818060081b918160301b9160501b90565b5090936001600160f81b031993600160f81b939092508416838103613e13575050613dba908035019060208201913590565b929093168015600014613dd2575050611fa891614ca9565b03613de057611fa891614bec565b60405162461bcd60e51b815260206004820152600b60248201526a155b9cdd5c1c1bdc9d195960aa1b6044820152606490fd5b94959490919080613eb5575090613e2991614b40565b93909294613e35613cdd565b971680613e5a575050613e4793614b91565b613e508361371f565b526124c38261371f565b03613de057613e6893614b68565b613e718461371f565b52610223577fe723f28f104e46b47fd3531f3608374ac226bcf3ddda334a23a266453e0efdb7613eb0613ea38461371f565b5160405191829182613d5c565b0390a1565b919593918203613de057613eec90613ee6613ece613cdd565b9780613ee06125d96125d38387611c82565b93611cbb565b9161368a565b613ef88795929561371f565b5216908103613f36575015613f0957565b7fe723f28f104e46b47fd3531f3608374ac226bcf3ddda334a23a266453e0efdb7613eb0613ea38461371f565b613de0576102235760405162461bcd60e51b815260206004820152601360248201527211195b1959d85d1958d85b1b0819985a5b1959606a1b6044820152606490fd5b6001600160a01b03169081158015613fcc575b6139d357821561372c576001600160f81b03198135811614613fad57505050565b82600111610213576124c3926129459136916000190190600101612847565b5060018214613f8c565b600080604092835136810185523683823784516014810186523360601b90528260143601925af1918151913d83523d6000602085013e60203d8401019052565b805490600090600081558261402a57505050565b6000526020600020918201915b82811061404357505050565b818155600101614037565b6001600160501b0319903581811693926016811061406b57505050565b60160360031b82901b16169150565b805482101561372c5760005260206000200190600090565b80546801000000000000000081101561102f576140b49160018201815561407a565b819291549060031b9160501c821b9160018060b01b03901b1916179055565b9092809260209483528483013701016000815290565b6001600160f01b0319903581811693926002811061410657505050565b60020360031b82901b16169150565b90803501906020808301923560fe8111801561436d575b61435b5760018061413c85611f5b565b0154614342575b60001982019260005b848110614265575061422a959461423894909361420e935061420792506141a76141f86141df6120d96141d96141d387878e6141ce8e61419f611e8d6125d96125d3614199898989613745565b90611ce6565b9a8b91611f5b565b805462010000600160b01b03191660109290921b62010000600160b01b0316919091179055565b613745565b90611d14565b906140e9565b6141e888611f5b565b9060f01c61ffff19825416179055565b6001600160a01b031696613745565b8091611cf7565b6040519586939092906001600160e01b031916602085016140d3565b03601f1981018452836110a1565b803b15610213576040516306d61fe760e41b81529160009183918290849082906124b49060048301612254565b6142bc611e8d611e8d6125d96125d3614199868a8e6141ce8f6142888e91611f5b565b016142b66142a96142a361429d888888613745565b90611cd8565b9061404e565b6001600160501b03191690565b90614092565b906142cb61420782878b613745565b906142ec60409161422a83519485928d63ffffffff60e01b168a85016140d3565b833b1561021357600093849261431692519586809481936306d61fe760e41b835260048301612254565b03925af191821561093a57849261432f575b500161414c565b8061093461433c9261101c565b38614328565b614356600161435086611f5b565b01614016565b614143565b60405163b62d956d60e01b8152600490fd5b50801561412c565b84846143f8926143e397969498956040519161439083611085565b6143f260009b8c92838652836020870152604086019d8e52606086019c8d918583528560808901528560a0890152606060c089015260e088019286845261010089019687529063ffffffff60e01b169052565b6001600160a01b039091169052565b52614d42565b60ff8061441161440b6137fa87866137c1565b60f81c90565b16036144575761444061442b8461443b9561445094611c9e565b9490955163ffffffff60e01b1690565b611f5b565b5460101c6001600160a01b031690565b9351929190565b60405163b32eeb6960e01b8152600490fd5b8065ffffffffffff91828160a01c1692831560011461448a575b5060d01c92565b925038614483565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f00000000000000000000000000000000000000000000000000000000000000004614161561451f575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220614500565b919290926145b2612a1a565b906145bd9085611c82565b6145c69161253e565b60601c602082018190526000805160206153688339815191525460a81c63ffffffff1680835260349560148082013582018089019791959294919360548601358601808b019490880135939092878c01358801808a013593908d0192918a0135918891908d84369061463792612847565b80519060200120913661464b908888612847565b805190602001203661465e908b8d612847565b8051602091820120604080517fb17ab1224aca0d4255ef8161acaf2ac121b8faa32a4b2258c912cc5f8308c5059381019384526001600160581b0319989098169088015263ffffffff9390931660608701526001600160a01b0393909316608086015260a085019390935260c084019290925260e080840192909252908252906146ea610100826110a1565b5190206146f690614492565b607489013589018d8b820135910161470d92614f94565b9a6147189488612d6b565b6147228183615131565b61472b91611c46565b61473491611d79565b61473d91613a70565b6094810135019293830192013590565b6001600160c01b0319903581811693926008811061476a57505050565b60080360031b82901b16169150565b604090611fa89392815281602082015201906131f1565b6000949391600186816147a285611f5b565b016000835b6147ef575b5050505060ff806147c361440b6137fa87896137c1565b1603614457576101006147e76147e08561444096611fa898611c9e565b3691612847565b910152611f5b565b81979697548110156149885761482061481861480b838561407a565b90549060031b1c60501b90565b908160501c90565b98909761483c61483661440b6137fa85856137c1565b60ff1690565b808403614957575090818161487561486961486361485d8461489298611d22565b9061474d565b60c01c90565b6001600160401b031690565b600901916148876147e0848484611d33565b6101008b0152611d61565b989098975b600160f01b16156148ac575b508301836147a7565b99866148e9929b60018060a01b036040918983518092633894f6e760e11b8252818b868260209c8d9760049c63ffffffff60e01b168d8401614779565b0393165af195861561093a578896614938575b5050841661491e575050614914859493928592614990565b9a919293506148a3565b51631f24c1fb60e11b81529081018c815281906020010390fd5b61494f929650803d106133825761337381836110a1565b9338806148fc565b909991989083111561497557604051630760bdcf60e11b8152600490fd5b61497d6127f4565b610100880152614897565b9695966147ac565b6001600160a01b03818318811615606083811b848601821b9081149186901b1417176001146149c157505050600190565b65ffffffffffff60a01b80831693906001600160d01b031984811691908316908615614a23575b8381168015614a1c575b878110908818028088189714614a14575b508181119082180218921716171790565b955038614a03565b50806149f2565b9550856149e8565b91908035019160209060208401933590614a4481611f5b565b92600190600185019060018254018503614b2e57906000835b614ac0575b50505050614aaf91614aaa8261420e6102239798614a87600161435061422a98611f5b565b8754614a9e9060101c6001600160a01b0316611e8d565b94600019810191613745565b613ad5565b5080546001600160b01b0319169055565b8154811015614b2957908382614b1f61422a8c614b118a614af6868e614aee61481861480b8c9f9e8e61407a565b969050613745565b6040519586939092906001600160e01b0319168c85016140d3565b6001600160a01b0316613ad5565b5001909192614a5d565b614a62565b60405163013dcc8d60e31b8152600490fd5b908060141161021357813560601c928160341161021357601483013592603401916033190190565b906000928491604051958692833738935af1913d82523d6000602084013e60203d830101604052565b9092600092819594604051968792833738935af115614bc0573d82523d6000602084013e60203d830101604052565b503d6000823e3d90fd5b919081101561372c5760051b81013590605e1981360301821215610213570190565b919091614bf883613d12565b9260005b818110614c0857505050565b80614c166001928486614bca565b8035614c2181610202565b614c4260208093604093614c3785830183612155565b939092013590614b68565b614c4c858b613731565b5215614c5b575b505001614bfc565b7fe723f28f104e46b47fd3531f3608374ac226bcf3ddda334a23a266453e0efdb791614c9f614c8a858b613731565b51838051948594888652850152830190610dca565b0390a13880614c53565b919091614cb583613d12565b9260005b818110614cc557505050565b80614cfb6020614cd86001948688614bca565b8035614ce381610202565b614cf06040830183612155565b939092013590614b91565b614d058288613731565b52614d108187613731565b5001614cb9565b9092608092611fa89594835260018060a01b0316602083015260408201528160608201520190610dca565b9190606083016001936001614d6161443b845163ffffffff60e01b1690565b01936000936000958054965b878110614d7f57505050505050505050565b80614d9161481861480b8c948661407a565b6001600160a01b031660a0880190815260808801959091614dba906001600160f01b0319168752565b614dd4614dcd61440b6137fa8a856137c1565b60ff168952565b614de2614836895160ff1690565b808403614f5c5750868181614e0761486961486361485d614e5b9c9d614e2e98611d22565b60208c018181528c60c0614e236147e060099586018789611d33565b910152510191611d61565b959095965b51600160f11b90614e4d906001600160f01b0319166120d9565b166001600160f01b03191690565b15614e68575b5001614d6d565b51909150614e7e906001600160a01b0316611e8d565b8651614ea290614e95906001600160e01b03191681565b6001600160e01b03191690565b60e08701519091906001600160a01b031691614ee76101008901519360c08a01516040948551808095819463184dfdbb60e11b835260209a8b9760049a8b8601614d17565b03915afa93841561093a578b94614f3d575b50506001600160a01b038316614f225750860180518b9392614f1a91614990565b905238614e61565b9051631f24c1fb60e11b815290810183815281906020010390fd5b614f54929450803d106133825761337381836110a1565b913880614ef9565b839196945010600014614f7b57604051630760bdcf60e11b8152600490fd5b614e5b8b93614f8a3688612824565b60c08a0152614e33565b6000805160206153688339815191525460009493929060581b916001600160f81b03198316600160f81b81036150575750604051637aa8f17760e11b8152936020938593909284928392614fec923060048601611fcc565b039160581c6001600160a01b03165afa90811561093a57600091615038575b505b6001600160e01b0319166374eca2c160e11b0161502657565b6040516362467c7760e11b8152600490fd5b615051915060203d6020116120b1576120a981836110a1565b3861500b565b919550929190600160f91b036103f95760209161507a9160081b95843088614375565b60405163392dffaf60e01b815292979295869493859384936150ad93909230906001600160e01b03191660048701612fb2565b03916001600160a01b03165afa90811561093a576000916150cf575b5061500d565b6150e8915060203d6020116120b1576120a981836110a1565b386150c9565b156150f557565b60405162461bcd60e51b8152602060048201526014602482015273496e76616c69642073656c6563746f724461746160601b6044820152606490fd5b61513e6106738383611c46565b90600483101561514d57505050565b602c83106152dd57615168611e8d6125d96125d38685611c71565b602c8201358201602c604c820191013591604c8401358401946151a26151946138086137fa87876137c1565b6001600160f81b0319161590565b8061524c575b946151e961272295611e8d956151ee956102239b956125d99a6151fe575b6151d9611e8d6125d96125d38a8a611d50565b916001600160a01b0316906137ca565b611d50565b602c86013595604c01949161253e565b615247606c8701358701615241602c604c830192013580615228611e8d6125d96125d38488611c82565b9361523c856001600160a01b038a166152eb565b611cbb565b91613915565b6151c6565b5091939092956040519163ecd0596160e01b83526020838061527660048201906002602083019252565b03816001600160a01b0389165afa92831561093a57610223986125d99761272297611e8d976151ee976151e9956000916152be575b50959a50959b50955095509550506151a8565b6152d7915060203d6020116109a25761099481836110a1565b386152ab565b5050600461022391146150ee565b61022391906001600160a01b03908183161561533e575b1660005260008051602061534883398151915260205260406000209060018060a01b03166bffffffffffffffffffffffff60a01b825416179055565b6001925061530256fe1bbee3173dbdc223633258c9f337a0fff8115f206d302bea0ed3eac003b68b867bcaa2ced2a71450ed5a9a1b4848e8e5206dbc3f06011e595f7f55428cc6f84f0000000000000000000000000000000071727de22e5e9d8baf0edac6f37da032", + "nonce": "0x4c", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xa976c0d12aae62e650b3db036da4e52fca531a03bf9cbdd2fc510feb16ae3eed", + "transactionType": "CREATE2", + "contractName": "KernelFactory", + "contractAddress": "0x587dde85064d4f7fc755418119bb36cec31c8309", + "function": null, + "arguments": [ + "0x06A30C386e3a570C04F440bF06be1f9d2919cA41" + ], + "transaction": { + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x600f4", + "value": "0x0", + "input": "0x000000000000000000000000000000000000000000000000000000000000000060a034607357601f61046c38819003918201601f19168301916001600160401b03831184841017607857808492602094604052833981010312607357516001600160a01b03811681036073576080526040516103dd908161008f823960805181818160d10152818161023401526102f00152f35b600080fd5b634e487b7160e01b600052604160045260246000fdfe60806040818152600490600436101561001757600080fd5b600092833560e01c90816348aac39214610267575080635c60da1b1461021f5763ea6d13ac1461004657600080fd5b61004f36610352565b94919083519560209661007a86828a81019486888737868201908c820152038a8101845201826103a5565b5190209483958551917fcc3735a920a3ca505d382bbc545af43d6000803e6038573d6000fd5b3d6000f36060527f5155f3363d3d373d3d363d7f360894a13ba1a3210667c828492db98dca3e2076875261600989527f0000000000000000000000000000000000000000000000000000000000000000601e5268603d3d8160223d3973600a52605f97602192605f60212060358601523060581b855260ff855380601586015260558520993415948b3b156101fe57505050506001916101f85785388180348c5af1156101ed57505b818652846060521561016b575b505091516001600160a01b0390931683525050f35b8082859493859483378101838152039082875af1903d156101e7573d9067ffffffffffffffff82116101d3578351916101ad601f8201601f19168801846103a5565b8252853d92013e5b156101c35738808080610156565b5163487e630960e11b8152600490fd5b634e487b7160e01b81526041600452602490fd5b506101b5565b63b12d13eb8652601cfd5b50610149565b91939a5091935034f59687156102145750610149565b63301164258652601cfd5b838234610263578160031936011261026357517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b5080fd5b848334610263578260209361029d8361027f36610352565b90808a879498019788378201908982015203878101845201826103a5565b51902081517fcc3735a920a3ca505d382bbc545af43d6000803e6038573d6000fd5b3d6000f36060527f5155f3363d3d373d3d363d7f360894a13ba1a3210667c828492db98dca3e2076835261600985527f0000000000000000000000000000000000000000000000000000000000000000601e5268603d3d8160223d3973600a52605f6021209083528360605260ff84536035523060601b6001526015526055822091603552519060018060a01b03168152f35b9060406003198301126103a05760043567ffffffffffffffff928382116103a057806023830112156103a05781600401359384116103a057602484830101116103a057602401919060243590565b600080fd5b90601f8019910116810190811067ffffffffffffffff8211176103c757604052565b634e487b7160e01b600052604160045260246000fd00000000000000000000000006a30c386e3a570c04f440bf06be1f9d2919ca41", + "nonce": "0x4d", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x3b97ffc32e672de2df66069ed16741fb051dc8ef5d42865b7030cf14fba0fc15", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0xd703aae79538628d27099b8c4f621be4ccd142d5", + "function": "approveFactory(address,bool)", + "arguments": [ + "0x587DDe85064d4f7fc755418119Bb36CEC31c8309", + "true" + ], + "transaction": { + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0xd703aae79538628d27099b8c4f621be4ccd142d5", + "gas": "0x108d1", + "value": "0x0", + "input": "0x6e7dbabb000000000000000000000000587dde85064d4f7fc755418119bb36cec31c83090000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x4e", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "status": "0x1", + "cumulativeGasUsed": "0x574a1c", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x0", + "transactionHash": "0x65a34bb045b90c00f563d198c725c7d2d7188f7bfe8d71aa30fbfe79a931be35", + "transactionIndex": "0xe", + "blockHash": "0x54d123c40178fb2f6ab03f9cfeae87b91b6fd43fdee551bdb87f6f5360352c48", + "blockNumber": "0x5974a8", + "gasUsed": "0x47e13b", + "effectiveGasPrice": "0xa8e52626b", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "contractAddress": "0x06a30c386e3a570c04f440bf06be1f9d2919ca41" + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x5b654f", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x0", + "transactionHash": "0xa976c0d12aae62e650b3db036da4e52fca531a03bf9cbdd2fc510feb16ae3eed", + "transactionIndex": "0xf", + "blockHash": "0x54d123c40178fb2f6ab03f9cfeae87b91b6fd43fdee551bdb87f6f5360352c48", + "blockNumber": "0x5974a8", + "gasUsed": "0x41b33", + "effectiveGasPrice": "0xa8e52626b", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "contractAddress": "0x587dde85064d4f7fc755418119bb36cec31c8309" + }, + { + "status": "0x1", + "cumulativeGasUsed": "0x5c1a62", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x0", + "transactionHash": "0x3b97ffc32e672de2df66069ed16741fb051dc8ef5d42865b7030cf14fba0fc15", + "transactionIndex": "0x10", + "blockHash": "0x54d123c40178fb2f6ab03f9cfeae87b91b6fd43fdee551bdb87f6f5360352c48", + "blockNumber": "0x5974a8", + "gasUsed": "0xb513", + "effectiveGasPrice": "0xa8e52626b", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0xd703aae79538628d27099b8c4f621be4ccd142d5", + "contractAddress": null + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1715192359, + "chain": 11155111, + "commit": "b0e46c2" +} \ No newline at end of file diff --git a/broadcast/DeployKernel.s.sol/11155111/run-1715263836.json b/broadcast/DeployKernel.s.sol/11155111/run-1715263836.json new file mode 100644 index 0000000..3e1db8c --- /dev/null +++ b/broadcast/DeployKernel.s.sol/11155111/run-1715263836.json @@ -0,0 +1,75 @@ +{ + "transactions": [ + { + "hash": null, + "transactionType": "CREATE2", + "contractName": "Kernel", + "contractAddress": "0xec9aa3a41d6baf3cdb2268ef7a8b116ea74925ef", + "function": null, + "arguments": [ + "0x0000000071727De22E5E9d8BAf0edAc6f37da032" + ], + "transaction": { + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x60aa8f", + "value": "0x0", + "input": "0x0000000000000000000000000000000000000000000000000000000000000000610140346101fd57601f61538438819003918201601f191683019291906001600160401b038411838510176102025781602092849260409687528339810103126101fd57516001600160a01b03811681036101fd57306080524660a05260a0825161006981610218565b600681526005602082016512d95c9b995b60d21b81526020865161008c81610218565b838152019264302e332e3160d81b845251902091208160c0528060e0528451917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f835260208301528482015246606082015230608082015220916101009283526101209182528051602081019063deadbeef60e01b82526004815261011081610218565b5190516001600160581b0319918282169190601581106101e8575b505090507f7bcaa2ced2a71450ed5a9a1b4848e8e5206dbc3f06011e595f7f55428cc6f84f9060581c60018060a81b03198254161790555190615150928361023484396080518361427d015260a051836142a0015260c05183614312015260e051836143380152518261425c01525181818161050301528181610827015281816109dd01528181610d74015281816110d901528181611241015281816112a1015281816117c901528181611938015281816121d7015261299b0152f35b8391925060150360031b1b161680388061012b565b600080fd5b634e487b7160e01b600052604160045260246000fd5b604081019081106001600160401b038211176102025760405256fe6080604052600436101561001d575b366129485761001b612917565b005b60003560e01c8063112d3a7d146101ed57806312af322c146101e8578063150b7a02146101e35780631626ba7e146101de57806319822f7c146101d95780631f1b92e3146101d45780633659cfe6146101cf57806357b3a5f4146101ca5780636e6fa0c6146101c5578063721e67f4146101c057806384b0196e146101bb5780638dd7712f146101b657806390ef8862146101b15780639198bdf5146101ac5780639517e29f146101a75780639cfd7cff146101a2578063a65d69d41461019d578063a71763a814610198578063adb610a314610193578063b8afe17d1461018e578063bc197c8114610189578063c3e5897814610184578063d03c79141461017f578063d691c9641461017a578063e6f3d50a14610175578063e9ae5c5314610170578063f1f7f0f91461016b578063f23a6e61146101665763f2dc691d0361000e57611ac5565b611a6b565b611a33565b611907565b61174e565b61166a565b61161d565b611541565b61143a565b6113d0565b61139c565b611270565b61122b565b6111d4565b6110a8565b610fa1565b610e50565b610d3f565b610c9d565b610bf1565b610b94565b610ae6565b61099d565b6107e5565b6104c5565b610465565b61040b565b6102b9565b610281565b6001600160a01b0381160361020357565b600080fd5b3590610213826101f2565b565b9181601f84011215610203578235916001600160401b038311610203576020838186019501011161020357565b6060600319820112610203576004359160243561025e816101f2565b91604435906001600160401b0382116102035761027d91600401610215565b9091565b3461020357602061029d61029436610242565b92919091611cc5565b6040519015158152f35b6001600160581b031981160361020357565b34610203576080366003190112610203576004356102d6816102a7565b6024356102e2816101f2565b6001600160401b039060443582811161020357610303903690600401610215565b90926064359081116102035761031d903690600401610215565b9390926001600160581b031961035d816103566103496000805160206151308339815191525460581b90565b6001600160581b03191690565b1615611d8f565b8616156103f9576001600160f81b03198616600160f81b81141590816103ea575b506103d8578561039061001b97612ad8565b6103b061039b610f70565b60018152926001600160a01b03166020840152565b600080516020615130833981519152805463ffffffff60a81b1916600160a81b179055612b33565b6040516361c4e91b60e11b8152600490fd5b600160f91b141590503861037e565b604051631a0a9b9f60e21b8152600490fd5b34610203576080366003190112610203576104276004356101f2565b6104326024356101f2565b6064356001600160401b03811161020357610451903690600401610215565b5050604051630a85bd0160e11b8152602090f35b34610203576040366003190112610203576024356001600160401b038111610203576104a361049a6020923690600401610215565b90600435611eaa565b6040516001600160e01b03199091168152f35b90816101209103126102035790565b606036600319011261020357600480356001600160401b038111610203576104f090369083016104b6565b60243590604435906001600160a01b03907f0000000000000000000000000000000000000000000000000000000000000000821633036107b05780849261053a6020830135612e9f565b6001600160f81b031990911615959093909186610786575b908461055e9392613084565b9561057061056b84611c53565b611fd7565b9415948580610744575b61073357602001516001600160a01b0316918216908115610722576001926105af6105ce926000526000602052604060002090565b80546001600160a01b0319166001600160a01b03909216919091179055565b036106815782610623575b5050610612576105fc9250805b610600575b506040519081529081906020820190565b0390f35b3490349034903490335af150386105eb565b604051631a0a9b9f60e21b81528390fd5b61067a92506106769161065861065261064c61064161066f95611c8c565b936060810190612003565b90611af4565b90611c27565b63ffffffff60e01b16600052602052604060002090565b5460ff1690565b1590565b38806105d9565b829192916106ef575b506106de5761064c8160606106a0930190612003565b638dd7712f60e01b916001600160e01b0319916106bc91611c27565b16036106cd576105fc9250806105e6565b60405163dbbb044b60e01b81528390fd5b604051631a0a9b9f60e21b81528490fd5b61071c915061066f61070361067692611c8c565b6106586106526107166060880188612003565b90611ae3565b3861068a565b604051631a0a9b9f60e21b81528990fd5b604051633ab3447f60e11b81528990fd5b50805163ffffffff1663ffffffff61077e6107756000805160206151308339815191525463ffffffff9060c81c1690565b63ffffffff1690565b91161061057a565b93509061055e916107a66000805160206151308339815191525460581b90565b9490919250610552565b6040516348f5c3ed60e01b81528590fd5b6004359063ffffffff8216820361020357565b359063ffffffff8216820361020357565b6020366003190112610203576107f96107c1565b61081b6108156000805160206151308339815191525460581b90565b60581c90565b6001600160a01b0390337f00000000000000000000000000000000000000000000000000000000000000008316141580610993575b156109885760405163ecd0596160e01b8152600480820152911690602081602481855afa90811561091957600091610959575b50156109475760405163d68f602560e01b815291600083806108aa363433600485016120c6565b038183865af19283156109195760009361091e575b506108c99061322b565b803b1561020357604051630b9dfbed60e11b81529160009183918290849082906108f69060048301612102565b03925af180156109195761090657005b8061091361001b92610eca565b80610c4a565b611e9e565b6108c9919350610940903d806000833e6109388183610f4f565b810190612068565b92906108bf565b6040516348f5c3ed60e01b8152600490fd5b61097b915060203d602011610981575b6109738183610f4f565b810190612035565b38610883565b503d610969565b505061001b9061322b565b5030331415610850565b6020366003190112610203576004356109b5816101f2565b6109d16108156000805160206151308339815191525460581b90565b6001600160a01b0390337f00000000000000000000000000000000000000000000000000000000000000008316141580610aca575b15610abf5760405163ecd0596160e01b8152600480820152911690602081602481855afa90811561091957600091610aa0575b50156109475760405163d68f602560e01b81529160008380610a60363433600485016120c6565b038183865af192831561091957600093610a7f575b506108c990612113565b6108c9919350610a99903d806000833e6109388183610f4f565b9290610a75565b610ab9915060203d602011610981576109738183610f4f565b38610a39565b505061001b90612113565b5030331415610a06565b6001600160e01b031981160361020357565b34610203576020366003190112610203576105fc610b28600435610b0981610ad4565b600060408051610b1881610ee2565b8281528260208201520152611dd1565b60405190610b3582610ee2565b80546001600160a01b0390811680845260019092015480821660208086019182526001600160f81b031960589390931b831660409687019081528651958652915190931692840192909252905116918101919091529081906060820190565b3461020357604036600319011261020357602060ff610be5600435610bb8816102a7565b610bcd60243591610bc883610ad4565b611c8c565b9063ffffffff60e01b16600052602052604060002090565b54166040519015158152f35b34610203576020366003190112610203576020610c27600435610c13816101f2565b6000604051610c2181610efd565b52612ab1565b60405190610c3482610efd565b546001600160a01b031690819052604051908152f35b600091031261020357565b60005b838110610c685750506000910152565b8181015183820152602001610c58565b90602091610c9181518092818552858086019101610c55565b601f01601f1916010190565b3461020357600036600319011261020357610cec610cb961330b565b90604051928392600f60f81b8452610cde60209360e0602087015260e0860190610c78565b908482036040860152610c78565b90466060840152306080840152600060a084015282820360c0840152602060605192838152019160809160005b828110610d2857505050500390f35b835185528695509381019392810192600101610d19565b6040366003190112610203576004356001600160401b03811161020357610d6a9036906004016104b6565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081163303610947576060906001610dc6610db96024356000526000602052604060002090565b546001600160a01b031690565b91821614159283610e20575b610ded610de6826060610df4940190612003565b8091611b02565b9030613452565b509215610e055761001b9250613479565b505015610e0e57005b60405163f21e646b60e01b8152600490fd5b9150610df4610ded610de6610e46610e3e610de66060880188612003565b9034876133d0565b9492505050610dd2565b3461020357600036600319011261020357602063ffffffff6000805160206151308339815191525460c81c16604051908152f35b9181601f84011215610203578235916001600160401b038311610203576020808501948460051b01011161020357565b634e487b7160e01b600052604160045260246000fd5b6001600160401b038111610edd57604052565b610eb4565b606081019081106001600160401b03821117610edd57604052565b602081019081106001600160401b03821117610edd57604052565b604081019081106001600160401b03821117610edd57604052565b61012081019081106001600160401b03821117610edd57604052565b90601f801991011681019081106001600160401b03821117610edd57604052565b6040519061021382610f18565b6040519061021382610f33565b6001600160401b038111610edd5760051b60200190565b6080366003190112610203576001600160401b0360043581811161020357610fcd903690600401610e84565b906024358381116102035736602382011215610203578060040135610ff181610f8a565b916040916110026040519485610f4f565b8084526020906024602086019160061b8401019236841161020357602401905b83821061106a57505050505060443584811161020357611046903690600401610e84565b916064359586116102035761106261001b963690600401610e84565b9590946121a8565b848236031261020357828591825161108181610f18565b61108a856107d4565b815282850135611099816101f2565b83820152815201910190611022565b6110b136610242565b6110cd6108156000805160206151308339815191525460581b90565b6001600160a01b0390337f000000000000000000000000000000000000000000000000000000000000000083161415806111ca575b156111be5760405163ecd0596160e01b815260048082015291169290602081602481875afa9081156109195760009161119f575b50156109475760405163d68f602560e01b8152936000858061115d363433600485016120c6565b038183885af19485156109195760009561117e575b506108c9939495612364565b6108c9949550611198903d806000833e6109388183610f4f565b9493611172565b6111b8915060203d602011610981576109738183610f4f565b38611136565b50509161001b93612364565b5030331415611102565b34610203576000366003190112610203576105fc6040516111f481610f18565b60168152756b65726e656c2e616476616e6365642e76302e332e3160501b6020820152604051918291602083526020830190610c78565b34610203576000366003190112610203576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b61127936610242565b6112956108156000805160206151308339815191525460581b90565b6001600160a01b0390337f00000000000000000000000000000000000000000000000000000000000000008316141580611392575b156113865760405163ecd0596160e01b815260048082015291169290602081602481875afa90811561091957600091611367575b50156109475760405163d68f602560e01b81529360008580611325363433600485016120c6565b038183885af194851561091957600095611346575b506108c9939495612673565b6108c9949550611360903d806000833e6109388183610f4f565b949361133a565b611380915060203d602011610981576109738183610f4f565b386112fe565b50509161001b93612673565b50303314156112ca565b3461020357600036600319011261020357602063ffffffff6000805160206151308339815191525460a81c16604051908152f35b346102035760203660031901126102035760406114006004356113f2816102a7565b6113fa61280f565b50611c53565b602082519161140e83610f18565b5463ffffffff81169283815260018060a01b03928391019160201c168152835192835251166020820152f35b346102035760a0366003190112610203576114566004356101f2565b6114616024356101f2565b6001600160401b0360443581811161020357611481903690600401610e84565b50506064358181116102035761149b903690600401610e84565b5050608435908111610203576114b5903690600401610215565b505060405163bc197c8160e01b8152602090f35b602080825282516001600160f01b03191681830152808301516001600160a01b03166040808401919091529092015160608083015280516080830181905260a090920192908101919060005b828110611523575050505090565b83516001600160501b03191685529381019392810192600101611515565b34610203576020806003193601126102035760043561155f81610ad4565b611584604091606083805161157381610ee2565b600081526000878201520152611e09565b9080519161159183610ee2565b805460f081901b6001600160f01b031916845260101c6001600160a01b031684840152815160019182018054808352600091825286822083880197939490939092905b8282106115fb576105fc8888886115ed818e0382610f4f565b8183015251918291826114c9565b845460501b6001600160501b03191689529788019793830193908301906115d4565b3461020357602036600319011261020357602061029d600435612828565b9060406003198301126102035760043591602435906001600160401b0382116102035761027d91600401610215565b6116733661163b565b916001600160a01b0361168533612ab1565b541690811561173c57606060019460018414159485611725575b6116a99293613b3c565b92611715575b5050906040519060208083016020845284518091526040840191602060408360051b8701019601926000905b8382106116e85786880387f35b90919293948380611704839a603f198b82030186528951610c78565b9997019594939190910191016116db565b61171e91613479565b38806116af565b6116a9925061173536348761334c565b925061169f565b60405163710c949760e01b8152600490fd5b6060366003190112610203576004803590611768826102a7565b6001600160401b0391602435838111610203576117889036908401610215565b93604435908111610203576117a09036908501610215565b906117bd6108156000805160206151308339815191525460581b90565b6001600160a01b0390337f000000000000000000000000000000000000000000000000000000000000000083161415806118fd575b156118ed57169560405163ecd0596160e01b81526020818061181b8a8201906004602083019252565b03818b5afa908115610919576000916118ce575b50156118bd5760405163d68f602560e01b815293600085806118553634338d85016120c6565b0381838c5af19485156109195760009561189e575b5061187594956128ea565b823b15610203576108f69260009283604051809681958294630b9dfbed60e11b84528301612102565b61187595506118b7903d806000833e6109388183610f4f565b9461186a565b6040516348f5c3ed60e01b81528690fd5b6118e7915060203d602011610981576109738183610f4f565b3861182f565b50509261001b95929194506128ea565b50303314156117f2565b6119103661163b565b61192c6108156000805160206151308339815191525460581b90565b6001600160a01b0390337f00000000000000000000000000000000000000000000000000000000000000008316141580611a29575b15611a1d5760405163ecd0596160e01b815260048082015291169190602081602481865afa908115610919576000916119fe575b50156109475760405163d68f602560e01b815292600084806119bc363433600485016120c6565b038183875af1938415610919576000946119dd575b506108c99293946128ff565b6108c99394506119f7903d806000833e6109388183610f4f565b93926119d1565b611a17915060203d602011610981576109738183610f4f565b38611995565b50509061001b926128ff565b5030331415611961565b346102035760003660031901126102035760206000805160206151308339815191525460581b604051906001600160581b0319168152f35b346102035760a036600319011261020357611a876004356101f2565b611a926024356101f2565b6084356001600160401b03811161020357611ab1903690600401610215565b505060405163f23a6e6160e01b8152602090f35b3461020357602036600319011261020357602061029d60043561290a565b906008116102035760040190600490565b906004116102035790600490565b909291928360041161020357831161020357600401916003190190565b906018116102035760040190601490565b906014116102035790601490565b906020116102035790602090565b909291928360011161020357831161020357600101916000190190565b909291928360141161020357831161020357601401916013190190565b906016116102035790601690565b906016116102035760020190601490565b909291928360161161020357831161020357601601916015190190565b906002116102035790600290565b906009116102035760010190600890565b909291928360091161020357831161020357600901916008190190565b90602c116102035760180190601490565b90939293848311610203578411610203578101920390565b6001600160e01b03199035818116939260048110611c4457505050565b60040360031b82901b16169150565b6001600160581b0319166000527f7bcaa2ced2a71450ed5a9a1b4848e8e5206dbc3f06011e595f7f55428cc6f850602052604060002090565b6001600160581b0319166000527f7bcaa2ced2a71450ed5a9a1b4848e8e5206dbc3f06011e595f7f55428cc6f851602052604060002090565b90929060018103611d1457506001600160a01b0392611d0e9250611cfe915060581b600160581b600160f81b0316600160f81b17611c53565b5460201c6001600160a01b031690565b16151590565b60028103611d4757506001600160a01b0392611d0e9250611d3b9150610db9908416612ab1565b6001600160a01b031690565b600303611d8757611d68611d63610652600193611d7695611af4565b611dd1565b01546001600160a01b031690565b6001600160a01b0390811691161490565b505050600090565b15611d9657565b60405162461bcd60e51b8152602060048201526013602482015272185b1c9958591e481a5b9a5d1a585b1a5e9959606a1b6044820152606490fd5b63ffffffff60e01b166000527f7c341349a4360fdd5d5bc07e69f325dc6aaea3eb018b3e0ea7e53cc0bb0d6f3b602052604060002090565b63ffffffff60e01b166000527f7bcaa2ced2a71450ed5a9a1b4848e8e5206dbc3f06011e595f7f55428cc6f852602052604060002090565b908160209103126102035751611e5681610ad4565b90565b908060209392818452848401376000828201840152601f01601f1916010190565b611e56949260609260018060a01b0316825260208201528160408201520191611e59565b6040513d6000823e3d90fd5b91611eb491612d24565b91906001600160f81b031980831615611fb6575b6001600160a01b039081611ee1611d3b611cfe87611c53565b16156103f9578316600160f81b03611f6657906020939291611f05611f2396612e56565b604051637aa8f17760e11b8152968795869485933360048601611e7a565b039260581c165afa90811561091957600091611f3d575090565b611e56915060203d602011611f5f575b611f578183610f4f565b810190611e41565b503d611f4d565b509060081b92600160f11b611f94611f87611f8087611e09565b5460f01b90565b6001600160f01b03191690565b16611fa457611e56933390612da5565b604051635b71057960e01b8152600490fd5b9150611fd16000805160206151308339815191525460581b90565b91611ec8565b90604051611fe481610f18565b915463ffffffff81168352602090811c6001600160a01b031690830152565b903590601e198136030182121561020357018035906001600160401b0382116102035760200191813603831361020357565b90816020910312610203575180151581036102035790565b6001600160401b038111610edd57601f01601f191660200190565b602081830312610203578051906001600160401b038211610203570181601f8201121561020357805161209a8161204d565b926120a86040519485610f4f565b8184526020828401011161020357611e569160208085019101610c55565b916080939160018060a01b03168352602083015260606040830152806060830152806000848401376000828201840152601f01601f1916010190565b906020611e56928181520190610c78565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8190556001600160a01b03167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2565b9060405161217481610ee2565b82546001600160a01b039081168252600190930154928316602082015260589290921b6001600160f81b0319166040830152565b959294919390946121cb6108156000805160206151308339815191525460581b90565b6001600160a01b0390337f00000000000000000000000000000000000000000000000000000000000000008316141580612318575b156123085760405163ecd0596160e01b8152600480820152911695906020816024818a5afa908115610919576000916122e9575b50156109475760405163d68f602560e01b8152966000888061225b363433600485016120c6565b0381838b5af1978815610919576000986122c8575b5061227c969798613524565b803b1561020357604051630b9dfbed60e11b81529160009183918290849082906122a99060048301612102565b03925af18015610919576122bb575b50565b8061091361021392610eca565b61227c9798506122e2903d806000833e6109388183610f4f565b9796612270565b612302915060203d602011610981576109738183610f4f565b38612234565b5050919390929461021396613524565b5030331415612200565b916020611e56938181520191611e59565b6bffffffffffffffffffffffff19903581811693926014811061235557505050565b60140360031b82901b16169150565b6001810361244057506106526102139361242c61243a93600160581b600160f81b039060581b16600160f81b17946123fb6123d4611d3b6123ce6123c86123c16000805160206151308339815191525463ffffffff9060a81c1690565b9786611b30565b90612333565b60601c90565b6123eb6123df610f70565b63ffffffff9096168652565b6001600160a01b03166020850152565b6014810135810192603482013582019160548101350193603460148401359301916034601483013592019089612b33565b603460148201359101611af4565b90613838565b6002810361249c57509161248d61021393612472611d3b6123ce6123c860148801358801966034890135890198611b30565b928391601482013591603401906001600160a01b03166137aa565b603460148301359201906136dd565b9091906003810361251c5750612517611d3b612507610213958461250260186123ce97013582016123ce60388401358401996124db6106528787611af4565b906124fc611d3b6124ec8989611b1f565b6018880135976038019691612333565b91613592565b611b1f565b6018860135956038019491612333565b6136dd565b9091906004810361255d57506001600160a01b031691823b15610203576122a992600092836040518096819582946306d61fe760e41b845260048401612322565b6005810361259b57506001600160a01b031691823b15610203576122a992600092836040518096819582946306d61fe760e41b845260048401612322565b6006036125d7576001600160a01b031691823b15610203576122a992600092836040518096819582946306d61fe760e41b845260048401612322565b604051631092ef5760e11b8152600490fd5b604051906125f682610efd565b60008252565b35906020811061260a575090565b6000199060200360031b1b1690565b91906040519061262882610efd565b819360008352116102035760206000910152565b9291926126488261204d565b916126566040519384610f4f565b829481845281830111610203578281602093846000960137010152565b9291906001840361269d576122b8935060581b600160581b600160f81b0316600160f81b176139f0565b600284036126b8576122b893506001600160a01b03166139a6565b909190600384036126e757506122b8925080806126db6106526126e19486611af4565b93611b02565b9161394c565b91926004810361276d57506122b89261273a916127136000805160206151308339815191525460581b90565b61271f611cfe82611c53565b6001600160a01b03868116911614612740575b50369161263c565b9061389d565b61274c61276791611c53565b8054640100000000600160c01b031916640100000000179055565b38612732565b600581036127f057506000805160206151308339815191525460581b5b61279d6127978386611b3e565b906125fc565b906001600160f81b03198116600160f91b146127c5575b50506122b89261273a91369161263c565b60081b6001600160e01b031916146127de5738806127b4565b6040516313002bdd60e31b8152600490fd5b6006036125d7576000805160206151308339815191525460581b61278a565b6040519061281c82610f18565b60006020838281520152565b61283c818060081b918160301b9160501b90565b929091600160f81b916001600160f81b0319919082168381141590816128e0575b816128d5575b816128c6575b506128bc57169081141590816128b2575b506128ab576001600160e01b0319166128a5576001600160501b0319166128a057600190565b600090565b50600090565b5050600090565b905015153861287a565b5050505050600090565b607f60f91b1415905038612869565b838114159150612863565b801515915061285d565b916128fa916102139594936139f0565b613d41565b906122b89291613b3c565b600711156128a057600190565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b6129656129606000356001600160e01b031916611dd1565b612167565b80516001600160a01b039081169190828061298c57604051631cd4b64760e21b8152600490fd5b606093828103612a8d575050807f0000000000000000000000000000000000000000000000000000000000000000163303610947575b60408201516001600160f81b031990811680612a505750506020820151612a0793906129f6906001600160a01b0316613d9e565b9490935b516001600160a01b031690565b918083169060018214159182612a45575b5050612a35575b5050612a2d57602081519101fd5b602081519101f35b612a3e91613479565b3880612a1f565b141590503880612a18565b03612a7b576020820151612a079390612a73906001600160a01b0316369061342b565b9490936129fa565b604051632d6a6bb760e01b8152600490fd5b600103612a9b575b506129c2565b612aaa9193503690349061334c565b9138612a95565b6001600160a01b031660009081526000805160206151108339815191526020526040902090565b60207f6789ec0c85d6458d897a36a70129b101f8b4d84c6e218046c3107373dbcbae88916000805160206151308339815191528160581c6001600160581b0360a81b825416179055604051906001600160581b0319168152a1565b9193909294612b4e612b4484611c53565b5463ffffffff1690565b9360008051602061513083398151915294612b71865463ffffffff9060a81c1690565b63ffffffff809281808416911614612ce6575b50506020820180516001600160a01b0397919291612bb191891615612cdd575b5460a81c63ffffffff1690565b81612bc3610775865163ffffffff1690565b91161490811591612cb3575b50612ca1576129fa612c1e92612be487611c53565b815181546020938401516001600160c01b031990911663ffffffff9290921691909117921b640100000000600160c01b0316919091179055565b91600185841603612c90575b5050506001600160f81b03198116600160f81b8103612c74575060581c1691823b15610203576122a992600092836040518096819582946306d61fe760e41b845260048401612322565b909350600160f91b141590506103d8576102139160081b613edd565b612c99926136dd565b388080612c2a565b604051633ab3447f60e11b8152600490fd5b9050612cc1612b4487611c53565b90612cd3610775855163ffffffff1690565b9116101538612bcf565b60018452612ba4565b600080516020615130833981519152805463ffffffff60a81b19166001939093019190911660a81b63ffffffff60a81b169190911790553881612b84565b9182358060f81c80600014612d6a5780600114612d5d57600214612d4757600080fd5b6001600160d81b03191692600501916004190190565b5092601501916014190190565b5050600160009301916000190190565b9092608092611e569694835260018060a01b0316602083015260408201528160608201520191611e59565b909192612dc494612db89185858561413d565b94929391969096614231565b509065ffffffffffff8091164210918215612e4a575b5050612e3757612e18612dee602096612e56565b60405163392dffaf60e01b8152978896879586959193916001600160e01b03191660048701612d7a565b03916001600160a01b03165afa90811561091957600091611f3d575090565b506001600160e01b031995945050505050565b16421190503880612dda565b611e569060405160208101917f1547321c374afde8a591d972a084b071c594c275e36724931ff96c25f2999c838352604082015260408152612e9781610ee2565b51902061425a565b90818060081b9160ff839260f01c16600214612eb757565b6001600160d81b031983169150565b9080601f8301121561020357816020611e569335910161263c565b91906101208382031261020357612ef6610f7d565b92612f0081610208565b8452602081013560208501526040810135916001600160401b03928381116102035781612f2e918401612ec6565b604086015260608201358381116102035781612f4b918401612ec6565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e08201358381116102035781612f86918401612ec6565b60e0860152610100928383013590811161020357612fa49201612ec6565b90830152565b90816020910312610203575190565b80516001600160a01b03168252611e569190613037613007612ff561012060208501516020870152604085015190806040880152860190610c78565b60608401518582036060870152610c78565b6080830151608085015260a083015160a085015260c083015160c085015260e083015184820360e0860152610c78565b916101008092015191818403910152610c78565b939291613068906040928652606060208701526060860190612fb9565b930152565b929190613068602091604086526040860190612fb9565b9290926000926130943682612ee1565b9161010091828101916130a78383612003565b90949093600160f81b936001600160f81b031993841685146131f0575b505050871603613151575050604051639700320360e01b8152936020928592839160009183916130f7916004840161306d565b039260581c6001600160a01b03165af190811561091957611e5692600092613120575b50614758565b61314391925060203d60201161314a575b61313b8183610f4f565b810190612faa565b903861311a565b503d613131565b909460081b93909291600160f01b61316e611f87611f8088611e09565b166131de57600061318f6131896020966131b999858a614558565b94614758565b604051630ccab7a160e01b8152979096889586948593926001600160e01b0319166004850161304b565b03926001600160a01b03165af190811561091957611e56926000926131205750614758565b6040516314b9743f60e01b8152600490fd5b9091955061320c939850613205929450612003565b908861436e565b969192909361321f85899599369161263c565b908601523880806130c4565b60008051602061513083398151915280549163ffffffff92600a848260a81c1601908482116132f55782851691851682116132e35760c81c84161015612ca157600080516020615130833981519152805463ffffffff60c81b191660c89290921b63ffffffff60c81b1691909117905554818160c81c1691829160a81c16106132b15750565b600080516020615130833981519152805463ffffffff60a81b191660a89290921b63ffffffff60a81b16919091179055565b60405163e60fd64760e01b8152600490fd5b634e487b7160e01b600052601160045260246000fd5b60405161331781610f18565b600681526512d95c9b995b60d21b60208201529060405161333781610f18565b6005815264302e332e3160d81b602082015290565b60405163d68f602560e01b815233600482015260248101929092526060604483015260648201839052600092839183918290849060849083908084838501378181018301849052601f01601f191681010301926001600160a01b03165af19182156109195780926133bc57505090565b611e5692503d8091833e6109388183610f4f565b600092836133f795936040519687958694859363d68f602560e01b85523360048601611e7a565b03926001600160a01b03165af190811561091957600091613416575090565b611e5691503d806000833e6109388183610f4f565b60009060405192808385378338925af4913d82523d6000602084013e60203d830101604052565b60009192806040519485378338925af4913d82523d6000602084013e60203d830101604052565b6001600160a01b0316803b1561020357604051630b9dfbed60e11b8152602060048201529160009183918290849082906134b7906024830190610c78565b03925af18015610919576134c85750565b61021390610eca565b634e487b7160e01b600052603260045260246000fd5b8051156134f45760200190565b6134d1565b80518210156134f45760209160051b010190565b908210156134f45761027d9160051b810190612003565b96959192939694909460005b86811061354257505050505050509050565b806135838a60019360051b850135613559816102a7565b61356f84613567818c6134f9565b51938c61350d565b9061357b868b8b61350d565b949093612b33565b01613530565b90156134f45790565b6001600160a01b039391929190848316156136d5575b6135b190611dd1565b946135dd6135d06135c28385613589565b356001600160f81b03191690565b6001600160f81b03191690565b946001600160f81b0319808716806136b657505090806135ff92861693611b4c565b823b156102035761362a92600092836040518096819582946306d61fe760e41b845260048401612322565b03925af19485156109195761366661368693600193610213986136a3575b505b82546001600160a01b0319166001600160a01b03909116178255565b0180546001600160a01b0319166001600160a01b03909316929092178255565b805460ff60a01b191660589290921c60ff60a01b16919091179055565b806109136136b092610eca565b38613648565b925092505094919403612a7b576001613686916136666102139661364a565b8492506135a8565b6001600160a01b031691821580156137a0575b61379b5760405163d60b347f60e01b8152306004820152602081602481875afa9081156109195760009161377c575b5015613747576001600160f81b03198061373c6135c28486613589565b161461374757505050565b8061375192611b4c565b823b15610203576122a992600092836040518096819582946306d61fe760e41b845260048401612322565b613795915060203d602011610981576109738183610f4f565b3861371f565b505050565b50600183146136f0565b919392916001600160a01b03908184161561382f575b1660008181526000805160206151108339815191526020526040812080546001600160a01b0319166001600160a01b0390951694909417909355803b1561382b576134b79394836040518096819582946306d61fe760e41b8452602060048501526024840191611e59565b8280fd5b600193506137c0565b7f9d17cd6d095ac90a655405ab29f30a7ee7e88ef3974c1bf7544bf591043bb71a9160609161386a82610bcd83611c8c565b600160ff198254161790556040519163ffffffff60e01b1682526001600160581b031916602082015260016040820152a1565b60407f2b82f87bf66300af618a9621d3f221edfab735f5bacb4e004cce1b62375396c3919392935a8251956138fd876138ef6020820193638a91b0e360e01b8552602060248401526044830190610c78565b03601f198101895288610f4f565b6000918291828587519a6139108c610efd565b828c525193f1943d9081613943575b6020818360009352013e81516001600160a01b0390911681528415156020820152a1565b6000915061391f565b61395c61398f9194939294611dd1565b80546001600160a01b031981168255600190910180546001600160a01b0392831696919492169161273a9136919061263c565b5080546001600160a81b03191660ff60a01b179055565b6001600160a01b0390811660008181526000805160206151108339815191526020526040902080546001600160a01b0319811690915590911693926122b89261273a91369161263c565b90929192613a22613a106000805160206151308339815191525460581b90565b6001600160581b031980851691161490565b6127de57613a32611cfe83611c53565b93613a53613a3f84611c53565b8054640100000000600160c01b0319169055565b6001600160f81b03198316600160f81b8103613a8c57506122b89291613a7a91369161263c565b9060581c6001600160a01b031661389d565b600160f91b141590506103d8576102139160081b6147f3565b604051613ab181610f18565b600181528060005b602080821015613ad457906060602092828501015201613ab9565b50505090565b90613ae482610f8a565b613af16040519182610f4f565b8281528092613b02601f1991610f8a565b019060005b828110613b1357505050565b806060602080938501015201613b07565b906040611e5692600081528160208201520190610c78565b613b50818060081b918160301b9160501b90565b5090936001600160f81b031993600160f81b939092508416838103613bdb575050613b82908035019060208201913590565b929093168015600014613b9a575050611e5691614a71565b03613ba857611e56916149b4565b60405162461bcd60e51b815260206004820152600b60248201526a155b9cdd5c1c1bdc9d195960aa1b6044820152606490fd5b94959490919080613c7d575090613bf191614908565b93909294613bfd613aa5565b971680613c22575050613c0f93614959565b613c18836134e7565b526122b8826134e7565b03613ba857613c3093614930565b613c39846134e7565b52610213577fe723f28f104e46b47fd3531f3608374ac226bcf3ddda334a23a266453e0efdb7613c78613c6b846134e7565b5160405191829182613b24565b0390a1565b919593918203613ba857613cb490613cae613c96613aa5565b9780613ca86123ce6123c88387611b30565b93611b69565b91613452565b613cc0879592956134e7565b5216908103613cfe575015613cd157565b7fe723f28f104e46b47fd3531f3608374ac226bcf3ddda334a23a266453e0efdb7613c78613c6b846134e7565b613ba8576102135760405162461bcd60e51b815260206004820152601360248201527211195b1959d85d1958d85b1b0819985a5b1959606a1b6044820152606490fd5b6001600160a01b03169081158015613d94575b61379b5782156134f4576001600160f81b03198135811614613d7557505050565b82600111610203576122b89261273a913691600019019060010161263c565b5060018214613d54565b600080604092835136810185523683823784516014810186523360601b90528260143601925af1918151913d83523d6000602085013e60203d8401019052565b8054906000906000815582613df257505050565b6000526020600020918201915b828110613e0b57505050565b818155600101613dff565b6001600160501b03199035818116939260168110613e3357505050565b60160360031b82901b16169150565b80548210156134f45760005260206000200190600090565b805468010000000000000000811015610edd57613e7c91600182018155613e42565b819291549060031b9160501c821b9160018060b01b03901b1916179055565b9092809260209483528483013701016000815290565b6001600160f01b03199035818116939260028110613ece57505050565b60020360031b82901b16169150565b90803501906020808301923560fe81118015614135575b61412357600180613f0485611e09565b015461410a575b60001982019260005b84811061402d5750613ff29594614000949093613fd69350613fcf9250613f6f613fc0613fa7611f87613fa1613f9b87878e613f968e613f67611d3b6123ce6123c8613f6189898961350d565b90611b94565b9a8b91611e09565b805462010000600160b01b03191660109290921b62010000600160b01b0316919091179055565b61350d565b90611bc2565b90613eb1565b613fb088611e09565b9060f01c61ffff19825416179055565b6001600160a01b03169661350d565b8091611ba5565b6040519586939092906001600160e01b03191660208501613e9b565b03601f198101845283610f4f565b803b15610203576040516306d61fe760e41b81529160009183918290849082906122a99060048301612102565b614084611d3b611d3b6123ce6123c8613f61868a8e613f968f6140508e91611e09565b0161407e61407161406b61406588888861350d565b90611b86565b90613e16565b6001600160501b03191690565b90613e5a565b90614093613fcf82878b61350d565b906140b4604091613ff283519485928d63ffffffff60e01b168a8501613e9b565b833b156102035760009384926140de92519586809481936306d61fe760e41b835260048301612102565b03925af19182156109195784926140f7575b5001613f14565b8061091361410492610eca565b386140f0565b61411e600161411886611e09565b01613dde565b613f0b565b60405163b62d956d60e01b8152600490fd5b508015613ef4565b84846141c0926141ab97969498956040519161415883610f33565b6141ba60009b8c92838652836020870152604086019d8e52606086019c8d918583528560808901528560a0890152606060c089015260e088019286845261010089019687529063ffffffff60e01b169052565b6001600160a01b039091169052565b52614b0a565b60ff806141d96141d36135c28786613589565b60f81c90565b160361421f576142086141f3846142039561421894611b4c565b9490955163ffffffff60e01b1690565b611e09565b5460101c6001600160a01b031690565b9351929190565b60405163b32eeb6960e01b8152600490fd5b8065ffffffffffff91828160a01c16928315600114614252575b5060d01c92565b92503861424b565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f0000000000000000000000000000000000000000000000000000000000000000461416156142e7575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f00000000000000000000000000000000000000000000000000000000000000006040820152466060820152306080820152206142c8565b9192909261437a61280f565b906143859085611b30565b61438e91612333565b60601c602082018190526000805160206151308339815191525460a81c63ffffffff1680835260349560148082013582018089019791959294919360548601358601808b019490880135939092878c01358801808a013593908d0192918a0135918891908d8436906143ff9261263c565b80519060200120913661441390888861263c565b8051906020012036614426908b8d61263c565b8051602091820120604080517fb17ab1224aca0d4255ef8161acaf2ac121b8faa32a4b2258c912cc5f8308c5059381019384526001600160581b0319989098169088015263ffffffff9390931660608701526001600160a01b0393909316608086015260a085019390935260c084019290925260e080840192909252908252906144b261010082610f4f565b5190206144be9061425a565b607489013589018d8b82013591016144d592614d5c565b9a6144e09488612b33565b6144ea8183614ef9565b6144f391611af4565b6144fc91611c27565b61450591613838565b6094810135019293830192013590565b6001600160c01b0319903581811693926008811061453257505050565b60080360031b82901b16169150565b604090611e56939281528160208201520190612fb9565b60009493916001868161456a85611e09565b016000835b6145b7575b5050505060ff8061458b6141d36135c28789613589565b160361421f576101006145af6145a88561420896611e5698611b4c565b369161263c565b910152611e09565b8197969754811015614750576145e86145e06145d38385613e42565b90549060031b1c60501b90565b908160501c90565b9890976146046145fe6141d36135c28585613589565b60ff1690565b80840361471f575090818161463d61463161462b6146258461465a98611bd0565b90614515565b60c01c90565b6001600160401b031690565b6009019161464f6145a8848484611be1565b6101008b0152611c0f565b989098975b600160f01b1615614674575b5083018361456f565b99866146b1929b60018060a01b036040918983518092633894f6e760e11b8252818b868260209c8d9760049c63ffffffff60e01b168d8401614541565b0393165af1958615610919578896614700575b505084166146e65750506146dc859493928592614758565b9a9192935061466b565b51631f24c1fb60e11b81529081018c815281906020010390fd5b614717929650803d1061314a5761313b8183610f4f565b9338806146c4565b909991989083111561473d57604051630760bdcf60e11b8152600490fd5b6147456125e9565b61010088015261465f565b969596614574565b6001600160a01b03818318811615606083811b848601821b9081149186901b14171760011461478957505050600190565b65ffffffffffff60a01b80831693906001600160d01b0319848116919083169086156147eb575b83811680156147e4575b8781109088180280881897146147dc575b508181119082180218921716171790565b9550386147cb565b50806147ba565b9550856147b0565b9190803501916020906020840193359061480c81611e09565b926001906001850190600182540185036148f657906000835b614888575b505050506148779161487282613fd6610213979861484f6001614118613ff298611e09565b87546148669060101c6001600160a01b0316611d3b565b9460001981019161350d565b61389d565b5080546001600160b01b0319169055565b81548110156148f1579083826148e7613ff28c6148d98a6148be868e6148b66145e06145d38c9f9e8e613e42565b96905061350d565b6040519586939092906001600160e01b0319168c8501613e9b565b6001600160a01b031661389d565b5001909192614825565b61482a565b60405163013dcc8d60e31b8152600490fd5b908060141161020357813560601c928160341161020357601483013592603401916033190190565b906000928491604051958692833738935af1913d82523d6000602084013e60203d830101604052565b9092600092819594604051968792833738935af115614988573d82523d6000602084013e60203d830101604052565b503d6000823e3d90fd5b91908110156134f45760051b81013590605e1981360301821215610203570190565b9190916149c083613ada565b9260005b8181106149d057505050565b806149de6001928486614992565b80356149e9816101f2565b614a0a602080936040936149ff85830183612003565b939092013590614930565b614a14858b6134f9565b5215614a23575b5050016149c4565b7fe723f28f104e46b47fd3531f3608374ac226bcf3ddda334a23a266453e0efdb791614a67614a52858b6134f9565b51838051948594888652850152830190610c78565b0390a13880614a1b565b919091614a7d83613ada565b9260005b818110614a8d57505050565b80614ac36020614aa06001948688614992565b8035614aab816101f2565b614ab86040830183612003565b939092013590614959565b614acd82886134f9565b52614ad881876134f9565b5001614a81565b9092608092611e569594835260018060a01b0316602083015260408201528160608201520190610c78565b9190606083016001936001614b29614203845163ffffffff60e01b1690565b01936000936000958054965b878110614b4757505050505050505050565b80614b596145e06145d38c9486613e42565b6001600160a01b031660a0880190815260808801959091614b82906001600160f01b0319168752565b614b9c614b956141d36135c28a85613589565b60ff168952565b614baa6145fe895160ff1690565b808403614d245750868181614bcf61463161462b614625614c239c9d614bf698611bd0565b60208c018181528c60c0614beb6145a860099586018789611be1565b910152510191611c0f565b959095965b51600160f11b90614c15906001600160f01b031916611f87565b166001600160f01b03191690565b15614c30575b5001614b35565b51909150614c46906001600160a01b0316611d3b565b8651614c6a90614c5d906001600160e01b03191681565b6001600160e01b03191690565b60e08701519091906001600160a01b031691614caf6101008901519360c08a01516040948551808095819463184dfdbb60e11b835260209a8b9760049a8b8601614adf565b03915afa938415610919578b94614d05575b50506001600160a01b038316614cea5750860180518b9392614ce291614758565b905238614c29565b9051631f24c1fb60e11b815290810183815281906020010390fd5b614d1c929450803d1061314a5761313b8183610f4f565b913880614cc1565b839196945010600014614d4357604051630760bdcf60e11b8152600490fd5b614c238b93614d523688612619565b60c08a0152614bfb565b6000805160206151308339815191525460009493929060581b916001600160f81b03198316600160f81b8103614e1f5750604051637aa8f17760e11b8152936020938593909284928392614db4923060048601611e7a565b039160581c6001600160a01b03165afa90811561091957600091614e00575b505b6001600160e01b0319166374eca2c160e11b01614dee57565b6040516362467c7760e11b8152600490fd5b614e19915060203d602011611f5f57611f578183610f4f565b38614dd3565b919550929190600160f91b036103d857602091614e429160081b9584308861413d565b60405163392dffaf60e01b81529297929586949385938493614e7593909230906001600160e01b03191660048701612d7a565b03916001600160a01b03165afa90811561091957600091614e97575b50614dd5565b614eb0915060203d602011611f5f57611f578183610f4f565b38614e91565b15614ebd57565b60405162461bcd60e51b8152602060048201526014602482015273496e76616c69642073656c6563746f724461746160601b6044820152606490fd5b614f066106528383611af4565b906004831015614f1557505050565b602c83106150a557614f30611d3b6123ce6123c88685611b1f565b602c8201358201602c604c820191013591604c840135840194614f6a614f5c6135d06135c28787613589565b6001600160f81b0319161590565b80615014575b94614fb161251795611d3b95614fb6956102139b956123ce9a614fc6575b614fa1611d3b6123ce6123c88a8a611bfe565b916001600160a01b031690613592565b611bfe565b602c86013595604c019491612333565b61500f606c8701358701615009602c604c830192013580614ff0611d3b6123ce6123c88488611b30565b93615004856001600160a01b038a166150b3565b611b69565b916136dd565b614f8e565b5091939092956040519163ecd0596160e01b83526020838061503e60048201906002602083019252565b03816001600160a01b0389165afa92831561091957610213986123ce9761251797611d3b97614fb697614fb195600091615086575b50959a50959b5095509550955050614f70565b61509f915060203d602011610981576109738183610f4f565b38615073565b505060046102139114614eb6565b61021391906001600160a01b039081831615615106575b1660005260008051602061511083398151915260205260406000209060018060a01b03166bffffffffffffffffffffffff60a01b825416179055565b600192506150ca56fe1bbee3173dbdc223633258c9f337a0fff8115f206d302bea0ed3eac003b68b867bcaa2ced2a71450ed5a9a1b4848e8e5206dbc3f06011e595f7f55428cc6f84f0000000000000000000000000000000071727de22e5e9d8baf0edac6f37da032", + "nonce": "0x49", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": null, + "transactionType": "CREATE2", + "contractName": "KernelFactory", + "contractAddress": "0xb52f3c04aeaf9364fbf68310a8128aabb40c9abb", + "function": null, + "arguments": [ + "0xec9aA3A41D6bAf3cDb2268ef7a8B116EA74925Ef" + ], + "transaction": { + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x600f4", + "value": "0x0", + "input": "0x000000000000000000000000000000000000000000000000000000000000000060a034607357601f61046c38819003918201601f19168301916001600160401b03831184841017607857808492602094604052833981010312607357516001600160a01b03811681036073576080526040516103dd908161008f823960805181818160d10152818161023401526102f00152f35b600080fd5b634e487b7160e01b600052604160045260246000fdfe60806040818152600490600436101561001757600080fd5b600092833560e01c90816348aac39214610267575080635c60da1b1461021f5763ea6d13ac1461004657600080fd5b61004f36610352565b94919083519560209661007a86828a81019486888737868201908c820152038a8101845201826103a5565b5190209483958551917fcc3735a920a3ca505d382bbc545af43d6000803e6038573d6000fd5b3d6000f36060527f5155f3363d3d373d3d363d7f360894a13ba1a3210667c828492db98dca3e2076875261600989527f0000000000000000000000000000000000000000000000000000000000000000601e5268603d3d8160223d3973600a52605f97602192605f60212060358601523060581b855260ff855380601586015260558520993415948b3b156101fe57505050506001916101f85785388180348c5af1156101ed57505b818652846060521561016b575b505091516001600160a01b0390931683525050f35b8082859493859483378101838152039082875af1903d156101e7573d9067ffffffffffffffff82116101d3578351916101ad601f8201601f19168801846103a5565b8252853d92013e5b156101c35738808080610156565b5163487e630960e11b8152600490fd5b634e487b7160e01b81526041600452602490fd5b506101b5565b63b12d13eb8652601cfd5b50610149565b91939a5091935034f59687156102145750610149565b63301164258652601cfd5b838234610263578160031936011261026357517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b5080fd5b848334610263578260209361029d8361027f36610352565b90808a879498019788378201908982015203878101845201826103a5565b51902081517fcc3735a920a3ca505d382bbc545af43d6000803e6038573d6000fd5b3d6000f36060527f5155f3363d3d373d3d363d7f360894a13ba1a3210667c828492db98dca3e2076835261600985527f0000000000000000000000000000000000000000000000000000000000000000601e5268603d3d8160223d3973600a52605f6021209083528360605260ff84536035523060601b6001526015526055822091603552519060018060a01b03168152f35b9060406003198301126103a05760043567ffffffffffffffff928382116103a057806023830112156103a05781600401359384116103a057602484830101116103a057602401919060243590565b600080fd5b90601f8019910116810190811067ffffffffffffffff8211176103c757604052565b634e487b7160e01b600052604160045260246000fd000000000000000000000000ec9aa3a41d6baf3cdb2268ef7a8b116ea74925ef", + "nonce": "0x4a", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": null, + "transactionType": "CALL", + "contractName": "FactoryStaker", + "contractAddress": "0xd703aae79538628d27099b8c4f621be4ccd142d5", + "function": "approveFactory(address,bool)", + "arguments": [ + "0xB52f3C04AeAF9364FBf68310a8128aabb40C9ABb", + "true" + ], + "transaction": { + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0xd703aae79538628d27099b8c4f621be4ccd142d5", + "gas": "0x108d1", + "value": "0x0", + "input": "0x6e7dbabb000000000000000000000000b52f3c04aeaf9364fbf68310a8128aabb40c9abb0000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x4b", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1715263836, + "chain": 11155111, + "commit": "10c0997" +} \ No newline at end of file diff --git a/broadcast/DeployKernel.s.sol/11155111/run-1715263846.json b/broadcast/DeployKernel.s.sol/11155111/run-1715263846.json new file mode 100644 index 0000000..2c785c2 --- /dev/null +++ b/broadcast/DeployKernel.s.sol/11155111/run-1715263846.json @@ -0,0 +1,75 @@ +{ + "transactions": [ + { + "hash": null, + "transactionType": "CREATE2", + "contractName": "Kernel", + "contractAddress": "0xec9aa3a41d6baf3cdb2268ef7a8b116ea74925ef", + "function": null, + "arguments": [ + "0x0000000071727De22E5E9d8BAf0edAc6f37da032" + ], + "transaction": { + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x60aa8f", + "value": "0x0", + "input": "0x0000000000000000000000000000000000000000000000000000000000000000610140346101fd57601f61538438819003918201601f191683019291906001600160401b038411838510176102025781602092849260409687528339810103126101fd57516001600160a01b03811681036101fd57306080524660a05260a0825161006981610218565b600681526005602082016512d95c9b995b60d21b81526020865161008c81610218565b838152019264302e332e3160d81b845251902091208160c0528060e0528451917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f835260208301528482015246606082015230608082015220916101009283526101209182528051602081019063deadbeef60e01b82526004815261011081610218565b5190516001600160581b0319918282169190601581106101e8575b505090507f7bcaa2ced2a71450ed5a9a1b4848e8e5206dbc3f06011e595f7f55428cc6f84f9060581c60018060a81b03198254161790555190615150928361023484396080518361427d015260a051836142a0015260c05183614312015260e051836143380152518261425c01525181818161050301528181610827015281816109dd01528181610d74015281816110d901528181611241015281816112a1015281816117c901528181611938015281816121d7015261299b0152f35b8391925060150360031b1b161680388061012b565b600080fd5b634e487b7160e01b600052604160045260246000fd5b604081019081106001600160401b038211176102025760405256fe6080604052600436101561001d575b366129485761001b612917565b005b60003560e01c8063112d3a7d146101ed57806312af322c146101e8578063150b7a02146101e35780631626ba7e146101de57806319822f7c146101d95780631f1b92e3146101d45780633659cfe6146101cf57806357b3a5f4146101ca5780636e6fa0c6146101c5578063721e67f4146101c057806384b0196e146101bb5780638dd7712f146101b657806390ef8862146101b15780639198bdf5146101ac5780639517e29f146101a75780639cfd7cff146101a2578063a65d69d41461019d578063a71763a814610198578063adb610a314610193578063b8afe17d1461018e578063bc197c8114610189578063c3e5897814610184578063d03c79141461017f578063d691c9641461017a578063e6f3d50a14610175578063e9ae5c5314610170578063f1f7f0f91461016b578063f23a6e61146101665763f2dc691d0361000e57611ac5565b611a6b565b611a33565b611907565b61174e565b61166a565b61161d565b611541565b61143a565b6113d0565b61139c565b611270565b61122b565b6111d4565b6110a8565b610fa1565b610e50565b610d3f565b610c9d565b610bf1565b610b94565b610ae6565b61099d565b6107e5565b6104c5565b610465565b61040b565b6102b9565b610281565b6001600160a01b0381160361020357565b600080fd5b3590610213826101f2565b565b9181601f84011215610203578235916001600160401b038311610203576020838186019501011161020357565b6060600319820112610203576004359160243561025e816101f2565b91604435906001600160401b0382116102035761027d91600401610215565b9091565b3461020357602061029d61029436610242565b92919091611cc5565b6040519015158152f35b6001600160581b031981160361020357565b34610203576080366003190112610203576004356102d6816102a7565b6024356102e2816101f2565b6001600160401b039060443582811161020357610303903690600401610215565b90926064359081116102035761031d903690600401610215565b9390926001600160581b031961035d816103566103496000805160206151308339815191525460581b90565b6001600160581b03191690565b1615611d8f565b8616156103f9576001600160f81b03198616600160f81b81141590816103ea575b506103d8578561039061001b97612ad8565b6103b061039b610f70565b60018152926001600160a01b03166020840152565b600080516020615130833981519152805463ffffffff60a81b1916600160a81b179055612b33565b6040516361c4e91b60e11b8152600490fd5b600160f91b141590503861037e565b604051631a0a9b9f60e21b8152600490fd5b34610203576080366003190112610203576104276004356101f2565b6104326024356101f2565b6064356001600160401b03811161020357610451903690600401610215565b5050604051630a85bd0160e11b8152602090f35b34610203576040366003190112610203576024356001600160401b038111610203576104a361049a6020923690600401610215565b90600435611eaa565b6040516001600160e01b03199091168152f35b90816101209103126102035790565b606036600319011261020357600480356001600160401b038111610203576104f090369083016104b6565b60243590604435906001600160a01b03907f0000000000000000000000000000000000000000000000000000000000000000821633036107b05780849261053a6020830135612e9f565b6001600160f81b031990911615959093909186610786575b908461055e9392613084565b9561057061056b84611c53565b611fd7565b9415948580610744575b61073357602001516001600160a01b0316918216908115610722576001926105af6105ce926000526000602052604060002090565b80546001600160a01b0319166001600160a01b03909216919091179055565b036106815782610623575b5050610612576105fc9250805b610600575b506040519081529081906020820190565b0390f35b3490349034903490335af150386105eb565b604051631a0a9b9f60e21b81528390fd5b61067a92506106769161065861065261064c61064161066f95611c8c565b936060810190612003565b90611af4565b90611c27565b63ffffffff60e01b16600052602052604060002090565b5460ff1690565b1590565b38806105d9565b829192916106ef575b506106de5761064c8160606106a0930190612003565b638dd7712f60e01b916001600160e01b0319916106bc91611c27565b16036106cd576105fc9250806105e6565b60405163dbbb044b60e01b81528390fd5b604051631a0a9b9f60e21b81528490fd5b61071c915061066f61070361067692611c8c565b6106586106526107166060880188612003565b90611ae3565b3861068a565b604051631a0a9b9f60e21b81528990fd5b604051633ab3447f60e11b81528990fd5b50805163ffffffff1663ffffffff61077e6107756000805160206151308339815191525463ffffffff9060c81c1690565b63ffffffff1690565b91161061057a565b93509061055e916107a66000805160206151308339815191525460581b90565b9490919250610552565b6040516348f5c3ed60e01b81528590fd5b6004359063ffffffff8216820361020357565b359063ffffffff8216820361020357565b6020366003190112610203576107f96107c1565b61081b6108156000805160206151308339815191525460581b90565b60581c90565b6001600160a01b0390337f00000000000000000000000000000000000000000000000000000000000000008316141580610993575b156109885760405163ecd0596160e01b8152600480820152911690602081602481855afa90811561091957600091610959575b50156109475760405163d68f602560e01b815291600083806108aa363433600485016120c6565b038183865af19283156109195760009361091e575b506108c99061322b565b803b1561020357604051630b9dfbed60e11b81529160009183918290849082906108f69060048301612102565b03925af180156109195761090657005b8061091361001b92610eca565b80610c4a565b611e9e565b6108c9919350610940903d806000833e6109388183610f4f565b810190612068565b92906108bf565b6040516348f5c3ed60e01b8152600490fd5b61097b915060203d602011610981575b6109738183610f4f565b810190612035565b38610883565b503d610969565b505061001b9061322b565b5030331415610850565b6020366003190112610203576004356109b5816101f2565b6109d16108156000805160206151308339815191525460581b90565b6001600160a01b0390337f00000000000000000000000000000000000000000000000000000000000000008316141580610aca575b15610abf5760405163ecd0596160e01b8152600480820152911690602081602481855afa90811561091957600091610aa0575b50156109475760405163d68f602560e01b81529160008380610a60363433600485016120c6565b038183865af192831561091957600093610a7f575b506108c990612113565b6108c9919350610a99903d806000833e6109388183610f4f565b9290610a75565b610ab9915060203d602011610981576109738183610f4f565b38610a39565b505061001b90612113565b5030331415610a06565b6001600160e01b031981160361020357565b34610203576020366003190112610203576105fc610b28600435610b0981610ad4565b600060408051610b1881610ee2565b8281528260208201520152611dd1565b60405190610b3582610ee2565b80546001600160a01b0390811680845260019092015480821660208086019182526001600160f81b031960589390931b831660409687019081528651958652915190931692840192909252905116918101919091529081906060820190565b3461020357604036600319011261020357602060ff610be5600435610bb8816102a7565b610bcd60243591610bc883610ad4565b611c8c565b9063ffffffff60e01b16600052602052604060002090565b54166040519015158152f35b34610203576020366003190112610203576020610c27600435610c13816101f2565b6000604051610c2181610efd565b52612ab1565b60405190610c3482610efd565b546001600160a01b031690819052604051908152f35b600091031261020357565b60005b838110610c685750506000910152565b8181015183820152602001610c58565b90602091610c9181518092818552858086019101610c55565b601f01601f1916010190565b3461020357600036600319011261020357610cec610cb961330b565b90604051928392600f60f81b8452610cde60209360e0602087015260e0860190610c78565b908482036040860152610c78565b90466060840152306080840152600060a084015282820360c0840152602060605192838152019160809160005b828110610d2857505050500390f35b835185528695509381019392810192600101610d19565b6040366003190112610203576004356001600160401b03811161020357610d6a9036906004016104b6565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081163303610947576060906001610dc6610db96024356000526000602052604060002090565b546001600160a01b031690565b91821614159283610e20575b610ded610de6826060610df4940190612003565b8091611b02565b9030613452565b509215610e055761001b9250613479565b505015610e0e57005b60405163f21e646b60e01b8152600490fd5b9150610df4610ded610de6610e46610e3e610de66060880188612003565b9034876133d0565b9492505050610dd2565b3461020357600036600319011261020357602063ffffffff6000805160206151308339815191525460c81c16604051908152f35b9181601f84011215610203578235916001600160401b038311610203576020808501948460051b01011161020357565b634e487b7160e01b600052604160045260246000fd5b6001600160401b038111610edd57604052565b610eb4565b606081019081106001600160401b03821117610edd57604052565b602081019081106001600160401b03821117610edd57604052565b604081019081106001600160401b03821117610edd57604052565b61012081019081106001600160401b03821117610edd57604052565b90601f801991011681019081106001600160401b03821117610edd57604052565b6040519061021382610f18565b6040519061021382610f33565b6001600160401b038111610edd5760051b60200190565b6080366003190112610203576001600160401b0360043581811161020357610fcd903690600401610e84565b906024358381116102035736602382011215610203578060040135610ff181610f8a565b916040916110026040519485610f4f565b8084526020906024602086019160061b8401019236841161020357602401905b83821061106a57505050505060443584811161020357611046903690600401610e84565b916064359586116102035761106261001b963690600401610e84565b9590946121a8565b848236031261020357828591825161108181610f18565b61108a856107d4565b815282850135611099816101f2565b83820152815201910190611022565b6110b136610242565b6110cd6108156000805160206151308339815191525460581b90565b6001600160a01b0390337f000000000000000000000000000000000000000000000000000000000000000083161415806111ca575b156111be5760405163ecd0596160e01b815260048082015291169290602081602481875afa9081156109195760009161119f575b50156109475760405163d68f602560e01b8152936000858061115d363433600485016120c6565b038183885af19485156109195760009561117e575b506108c9939495612364565b6108c9949550611198903d806000833e6109388183610f4f565b9493611172565b6111b8915060203d602011610981576109738183610f4f565b38611136565b50509161001b93612364565b5030331415611102565b34610203576000366003190112610203576105fc6040516111f481610f18565b60168152756b65726e656c2e616476616e6365642e76302e332e3160501b6020820152604051918291602083526020830190610c78565b34610203576000366003190112610203576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b61127936610242565b6112956108156000805160206151308339815191525460581b90565b6001600160a01b0390337f00000000000000000000000000000000000000000000000000000000000000008316141580611392575b156113865760405163ecd0596160e01b815260048082015291169290602081602481875afa90811561091957600091611367575b50156109475760405163d68f602560e01b81529360008580611325363433600485016120c6565b038183885af194851561091957600095611346575b506108c9939495612673565b6108c9949550611360903d806000833e6109388183610f4f565b949361133a565b611380915060203d602011610981576109738183610f4f565b386112fe565b50509161001b93612673565b50303314156112ca565b3461020357600036600319011261020357602063ffffffff6000805160206151308339815191525460a81c16604051908152f35b346102035760203660031901126102035760406114006004356113f2816102a7565b6113fa61280f565b50611c53565b602082519161140e83610f18565b5463ffffffff81169283815260018060a01b03928391019160201c168152835192835251166020820152f35b346102035760a0366003190112610203576114566004356101f2565b6114616024356101f2565b6001600160401b0360443581811161020357611481903690600401610e84565b50506064358181116102035761149b903690600401610e84565b5050608435908111610203576114b5903690600401610215565b505060405163bc197c8160e01b8152602090f35b602080825282516001600160f01b03191681830152808301516001600160a01b03166040808401919091529092015160608083015280516080830181905260a090920192908101919060005b828110611523575050505090565b83516001600160501b03191685529381019392810192600101611515565b34610203576020806003193601126102035760043561155f81610ad4565b611584604091606083805161157381610ee2565b600081526000878201520152611e09565b9080519161159183610ee2565b805460f081901b6001600160f01b031916845260101c6001600160a01b031684840152815160019182018054808352600091825286822083880197939490939092905b8282106115fb576105fc8888886115ed818e0382610f4f565b8183015251918291826114c9565b845460501b6001600160501b03191689529788019793830193908301906115d4565b3461020357602036600319011261020357602061029d600435612828565b9060406003198301126102035760043591602435906001600160401b0382116102035761027d91600401610215565b6116733661163b565b916001600160a01b0361168533612ab1565b541690811561173c57606060019460018414159485611725575b6116a99293613b3c565b92611715575b5050906040519060208083016020845284518091526040840191602060408360051b8701019601926000905b8382106116e85786880387f35b90919293948380611704839a603f198b82030186528951610c78565b9997019594939190910191016116db565b61171e91613479565b38806116af565b6116a9925061173536348761334c565b925061169f565b60405163710c949760e01b8152600490fd5b6060366003190112610203576004803590611768826102a7565b6001600160401b0391602435838111610203576117889036908401610215565b93604435908111610203576117a09036908501610215565b906117bd6108156000805160206151308339815191525460581b90565b6001600160a01b0390337f000000000000000000000000000000000000000000000000000000000000000083161415806118fd575b156118ed57169560405163ecd0596160e01b81526020818061181b8a8201906004602083019252565b03818b5afa908115610919576000916118ce575b50156118bd5760405163d68f602560e01b815293600085806118553634338d85016120c6565b0381838c5af19485156109195760009561189e575b5061187594956128ea565b823b15610203576108f69260009283604051809681958294630b9dfbed60e11b84528301612102565b61187595506118b7903d806000833e6109388183610f4f565b9461186a565b6040516348f5c3ed60e01b81528690fd5b6118e7915060203d602011610981576109738183610f4f565b3861182f565b50509261001b95929194506128ea565b50303314156117f2565b6119103661163b565b61192c6108156000805160206151308339815191525460581b90565b6001600160a01b0390337f00000000000000000000000000000000000000000000000000000000000000008316141580611a29575b15611a1d5760405163ecd0596160e01b815260048082015291169190602081602481865afa908115610919576000916119fe575b50156109475760405163d68f602560e01b815292600084806119bc363433600485016120c6565b038183875af1938415610919576000946119dd575b506108c99293946128ff565b6108c99394506119f7903d806000833e6109388183610f4f565b93926119d1565b611a17915060203d602011610981576109738183610f4f565b38611995565b50509061001b926128ff565b5030331415611961565b346102035760003660031901126102035760206000805160206151308339815191525460581b604051906001600160581b0319168152f35b346102035760a036600319011261020357611a876004356101f2565b611a926024356101f2565b6084356001600160401b03811161020357611ab1903690600401610215565b505060405163f23a6e6160e01b8152602090f35b3461020357602036600319011261020357602061029d60043561290a565b906008116102035760040190600490565b906004116102035790600490565b909291928360041161020357831161020357600401916003190190565b906018116102035760040190601490565b906014116102035790601490565b906020116102035790602090565b909291928360011161020357831161020357600101916000190190565b909291928360141161020357831161020357601401916013190190565b906016116102035790601690565b906016116102035760020190601490565b909291928360161161020357831161020357601601916015190190565b906002116102035790600290565b906009116102035760010190600890565b909291928360091161020357831161020357600901916008190190565b90602c116102035760180190601490565b90939293848311610203578411610203578101920390565b6001600160e01b03199035818116939260048110611c4457505050565b60040360031b82901b16169150565b6001600160581b0319166000527f7bcaa2ced2a71450ed5a9a1b4848e8e5206dbc3f06011e595f7f55428cc6f850602052604060002090565b6001600160581b0319166000527f7bcaa2ced2a71450ed5a9a1b4848e8e5206dbc3f06011e595f7f55428cc6f851602052604060002090565b90929060018103611d1457506001600160a01b0392611d0e9250611cfe915060581b600160581b600160f81b0316600160f81b17611c53565b5460201c6001600160a01b031690565b16151590565b60028103611d4757506001600160a01b0392611d0e9250611d3b9150610db9908416612ab1565b6001600160a01b031690565b600303611d8757611d68611d63610652600193611d7695611af4565b611dd1565b01546001600160a01b031690565b6001600160a01b0390811691161490565b505050600090565b15611d9657565b60405162461bcd60e51b8152602060048201526013602482015272185b1c9958591e481a5b9a5d1a585b1a5e9959606a1b6044820152606490fd5b63ffffffff60e01b166000527f7c341349a4360fdd5d5bc07e69f325dc6aaea3eb018b3e0ea7e53cc0bb0d6f3b602052604060002090565b63ffffffff60e01b166000527f7bcaa2ced2a71450ed5a9a1b4848e8e5206dbc3f06011e595f7f55428cc6f852602052604060002090565b908160209103126102035751611e5681610ad4565b90565b908060209392818452848401376000828201840152601f01601f1916010190565b611e56949260609260018060a01b0316825260208201528160408201520191611e59565b6040513d6000823e3d90fd5b91611eb491612d24565b91906001600160f81b031980831615611fb6575b6001600160a01b039081611ee1611d3b611cfe87611c53565b16156103f9578316600160f81b03611f6657906020939291611f05611f2396612e56565b604051637aa8f17760e11b8152968795869485933360048601611e7a565b039260581c165afa90811561091957600091611f3d575090565b611e56915060203d602011611f5f575b611f578183610f4f565b810190611e41565b503d611f4d565b509060081b92600160f11b611f94611f87611f8087611e09565b5460f01b90565b6001600160f01b03191690565b16611fa457611e56933390612da5565b604051635b71057960e01b8152600490fd5b9150611fd16000805160206151308339815191525460581b90565b91611ec8565b90604051611fe481610f18565b915463ffffffff81168352602090811c6001600160a01b031690830152565b903590601e198136030182121561020357018035906001600160401b0382116102035760200191813603831361020357565b90816020910312610203575180151581036102035790565b6001600160401b038111610edd57601f01601f191660200190565b602081830312610203578051906001600160401b038211610203570181601f8201121561020357805161209a8161204d565b926120a86040519485610f4f565b8184526020828401011161020357611e569160208085019101610c55565b916080939160018060a01b03168352602083015260606040830152806060830152806000848401376000828201840152601f01601f1916010190565b906020611e56928181520190610c78565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8190556001600160a01b03167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2565b9060405161217481610ee2565b82546001600160a01b039081168252600190930154928316602082015260589290921b6001600160f81b0319166040830152565b959294919390946121cb6108156000805160206151308339815191525460581b90565b6001600160a01b0390337f00000000000000000000000000000000000000000000000000000000000000008316141580612318575b156123085760405163ecd0596160e01b8152600480820152911695906020816024818a5afa908115610919576000916122e9575b50156109475760405163d68f602560e01b8152966000888061225b363433600485016120c6565b0381838b5af1978815610919576000986122c8575b5061227c969798613524565b803b1561020357604051630b9dfbed60e11b81529160009183918290849082906122a99060048301612102565b03925af18015610919576122bb575b50565b8061091361021392610eca565b61227c9798506122e2903d806000833e6109388183610f4f565b9796612270565b612302915060203d602011610981576109738183610f4f565b38612234565b5050919390929461021396613524565b5030331415612200565b916020611e56938181520191611e59565b6bffffffffffffffffffffffff19903581811693926014811061235557505050565b60140360031b82901b16169150565b6001810361244057506106526102139361242c61243a93600160581b600160f81b039060581b16600160f81b17946123fb6123d4611d3b6123ce6123c86123c16000805160206151308339815191525463ffffffff9060a81c1690565b9786611b30565b90612333565b60601c90565b6123eb6123df610f70565b63ffffffff9096168652565b6001600160a01b03166020850152565b6014810135810192603482013582019160548101350193603460148401359301916034601483013592019089612b33565b603460148201359101611af4565b90613838565b6002810361249c57509161248d61021393612472611d3b6123ce6123c860148801358801966034890135890198611b30565b928391601482013591603401906001600160a01b03166137aa565b603460148301359201906136dd565b9091906003810361251c5750612517611d3b612507610213958461250260186123ce97013582016123ce60388401358401996124db6106528787611af4565b906124fc611d3b6124ec8989611b1f565b6018880135976038019691612333565b91613592565b611b1f565b6018860135956038019491612333565b6136dd565b9091906004810361255d57506001600160a01b031691823b15610203576122a992600092836040518096819582946306d61fe760e41b845260048401612322565b6005810361259b57506001600160a01b031691823b15610203576122a992600092836040518096819582946306d61fe760e41b845260048401612322565b6006036125d7576001600160a01b031691823b15610203576122a992600092836040518096819582946306d61fe760e41b845260048401612322565b604051631092ef5760e11b8152600490fd5b604051906125f682610efd565b60008252565b35906020811061260a575090565b6000199060200360031b1b1690565b91906040519061262882610efd565b819360008352116102035760206000910152565b9291926126488261204d565b916126566040519384610f4f565b829481845281830111610203578281602093846000960137010152565b9291906001840361269d576122b8935060581b600160581b600160f81b0316600160f81b176139f0565b600284036126b8576122b893506001600160a01b03166139a6565b909190600384036126e757506122b8925080806126db6106526126e19486611af4565b93611b02565b9161394c565b91926004810361276d57506122b89261273a916127136000805160206151308339815191525460581b90565b61271f611cfe82611c53565b6001600160a01b03868116911614612740575b50369161263c565b9061389d565b61274c61276791611c53565b8054640100000000600160c01b031916640100000000179055565b38612732565b600581036127f057506000805160206151308339815191525460581b5b61279d6127978386611b3e565b906125fc565b906001600160f81b03198116600160f91b146127c5575b50506122b89261273a91369161263c565b60081b6001600160e01b031916146127de5738806127b4565b6040516313002bdd60e31b8152600490fd5b6006036125d7576000805160206151308339815191525460581b61278a565b6040519061281c82610f18565b60006020838281520152565b61283c818060081b918160301b9160501b90565b929091600160f81b916001600160f81b0319919082168381141590816128e0575b816128d5575b816128c6575b506128bc57169081141590816128b2575b506128ab576001600160e01b0319166128a5576001600160501b0319166128a057600190565b600090565b50600090565b5050600090565b905015153861287a565b5050505050600090565b607f60f91b1415905038612869565b838114159150612863565b801515915061285d565b916128fa916102139594936139f0565b613d41565b906122b89291613b3c565b600711156128a057600190565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b6129656129606000356001600160e01b031916611dd1565b612167565b80516001600160a01b039081169190828061298c57604051631cd4b64760e21b8152600490fd5b606093828103612a8d575050807f0000000000000000000000000000000000000000000000000000000000000000163303610947575b60408201516001600160f81b031990811680612a505750506020820151612a0793906129f6906001600160a01b0316613d9e565b9490935b516001600160a01b031690565b918083169060018214159182612a45575b5050612a35575b5050612a2d57602081519101fd5b602081519101f35b612a3e91613479565b3880612a1f565b141590503880612a18565b03612a7b576020820151612a079390612a73906001600160a01b0316369061342b565b9490936129fa565b604051632d6a6bb760e01b8152600490fd5b600103612a9b575b506129c2565b612aaa9193503690349061334c565b9138612a95565b6001600160a01b031660009081526000805160206151108339815191526020526040902090565b60207f6789ec0c85d6458d897a36a70129b101f8b4d84c6e218046c3107373dbcbae88916000805160206151308339815191528160581c6001600160581b0360a81b825416179055604051906001600160581b0319168152a1565b9193909294612b4e612b4484611c53565b5463ffffffff1690565b9360008051602061513083398151915294612b71865463ffffffff9060a81c1690565b63ffffffff809281808416911614612ce6575b50506020820180516001600160a01b0397919291612bb191891615612cdd575b5460a81c63ffffffff1690565b81612bc3610775865163ffffffff1690565b91161490811591612cb3575b50612ca1576129fa612c1e92612be487611c53565b815181546020938401516001600160c01b031990911663ffffffff9290921691909117921b640100000000600160c01b0316919091179055565b91600185841603612c90575b5050506001600160f81b03198116600160f81b8103612c74575060581c1691823b15610203576122a992600092836040518096819582946306d61fe760e41b845260048401612322565b909350600160f91b141590506103d8576102139160081b613edd565b612c99926136dd565b388080612c2a565b604051633ab3447f60e11b8152600490fd5b9050612cc1612b4487611c53565b90612cd3610775855163ffffffff1690565b9116101538612bcf565b60018452612ba4565b600080516020615130833981519152805463ffffffff60a81b19166001939093019190911660a81b63ffffffff60a81b169190911790553881612b84565b9182358060f81c80600014612d6a5780600114612d5d57600214612d4757600080fd5b6001600160d81b03191692600501916004190190565b5092601501916014190190565b5050600160009301916000190190565b9092608092611e569694835260018060a01b0316602083015260408201528160608201520191611e59565b909192612dc494612db89185858561413d565b94929391969096614231565b509065ffffffffffff8091164210918215612e4a575b5050612e3757612e18612dee602096612e56565b60405163392dffaf60e01b8152978896879586959193916001600160e01b03191660048701612d7a565b03916001600160a01b03165afa90811561091957600091611f3d575090565b506001600160e01b031995945050505050565b16421190503880612dda565b611e569060405160208101917f1547321c374afde8a591d972a084b071c594c275e36724931ff96c25f2999c838352604082015260408152612e9781610ee2565b51902061425a565b90818060081b9160ff839260f01c16600214612eb757565b6001600160d81b031983169150565b9080601f8301121561020357816020611e569335910161263c565b91906101208382031261020357612ef6610f7d565b92612f0081610208565b8452602081013560208501526040810135916001600160401b03928381116102035781612f2e918401612ec6565b604086015260608201358381116102035781612f4b918401612ec6565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e08201358381116102035781612f86918401612ec6565b60e0860152610100928383013590811161020357612fa49201612ec6565b90830152565b90816020910312610203575190565b80516001600160a01b03168252611e569190613037613007612ff561012060208501516020870152604085015190806040880152860190610c78565b60608401518582036060870152610c78565b6080830151608085015260a083015160a085015260c083015160c085015260e083015184820360e0860152610c78565b916101008092015191818403910152610c78565b939291613068906040928652606060208701526060860190612fb9565b930152565b929190613068602091604086526040860190612fb9565b9290926000926130943682612ee1565b9161010091828101916130a78383612003565b90949093600160f81b936001600160f81b031993841685146131f0575b505050871603613151575050604051639700320360e01b8152936020928592839160009183916130f7916004840161306d565b039260581c6001600160a01b03165af190811561091957611e5692600092613120575b50614758565b61314391925060203d60201161314a575b61313b8183610f4f565b810190612faa565b903861311a565b503d613131565b909460081b93909291600160f01b61316e611f87611f8088611e09565b166131de57600061318f6131896020966131b999858a614558565b94614758565b604051630ccab7a160e01b8152979096889586948593926001600160e01b0319166004850161304b565b03926001600160a01b03165af190811561091957611e56926000926131205750614758565b6040516314b9743f60e01b8152600490fd5b9091955061320c939850613205929450612003565b908861436e565b969192909361321f85899599369161263c565b908601523880806130c4565b60008051602061513083398151915280549163ffffffff92600a848260a81c1601908482116132f55782851691851682116132e35760c81c84161015612ca157600080516020615130833981519152805463ffffffff60c81b191660c89290921b63ffffffff60c81b1691909117905554818160c81c1691829160a81c16106132b15750565b600080516020615130833981519152805463ffffffff60a81b191660a89290921b63ffffffff60a81b16919091179055565b60405163e60fd64760e01b8152600490fd5b634e487b7160e01b600052601160045260246000fd5b60405161331781610f18565b600681526512d95c9b995b60d21b60208201529060405161333781610f18565b6005815264302e332e3160d81b602082015290565b60405163d68f602560e01b815233600482015260248101929092526060604483015260648201839052600092839183918290849060849083908084838501378181018301849052601f01601f191681010301926001600160a01b03165af19182156109195780926133bc57505090565b611e5692503d8091833e6109388183610f4f565b600092836133f795936040519687958694859363d68f602560e01b85523360048601611e7a565b03926001600160a01b03165af190811561091957600091613416575090565b611e5691503d806000833e6109388183610f4f565b60009060405192808385378338925af4913d82523d6000602084013e60203d830101604052565b60009192806040519485378338925af4913d82523d6000602084013e60203d830101604052565b6001600160a01b0316803b1561020357604051630b9dfbed60e11b8152602060048201529160009183918290849082906134b7906024830190610c78565b03925af18015610919576134c85750565b61021390610eca565b634e487b7160e01b600052603260045260246000fd5b8051156134f45760200190565b6134d1565b80518210156134f45760209160051b010190565b908210156134f45761027d9160051b810190612003565b96959192939694909460005b86811061354257505050505050509050565b806135838a60019360051b850135613559816102a7565b61356f84613567818c6134f9565b51938c61350d565b9061357b868b8b61350d565b949093612b33565b01613530565b90156134f45790565b6001600160a01b039391929190848316156136d5575b6135b190611dd1565b946135dd6135d06135c28385613589565b356001600160f81b03191690565b6001600160f81b03191690565b946001600160f81b0319808716806136b657505090806135ff92861693611b4c565b823b156102035761362a92600092836040518096819582946306d61fe760e41b845260048401612322565b03925af19485156109195761366661368693600193610213986136a3575b505b82546001600160a01b0319166001600160a01b03909116178255565b0180546001600160a01b0319166001600160a01b03909316929092178255565b805460ff60a01b191660589290921c60ff60a01b16919091179055565b806109136136b092610eca565b38613648565b925092505094919403612a7b576001613686916136666102139661364a565b8492506135a8565b6001600160a01b031691821580156137a0575b61379b5760405163d60b347f60e01b8152306004820152602081602481875afa9081156109195760009161377c575b5015613747576001600160f81b03198061373c6135c28486613589565b161461374757505050565b8061375192611b4c565b823b15610203576122a992600092836040518096819582946306d61fe760e41b845260048401612322565b613795915060203d602011610981576109738183610f4f565b3861371f565b505050565b50600183146136f0565b919392916001600160a01b03908184161561382f575b1660008181526000805160206151108339815191526020526040812080546001600160a01b0319166001600160a01b0390951694909417909355803b1561382b576134b79394836040518096819582946306d61fe760e41b8452602060048501526024840191611e59565b8280fd5b600193506137c0565b7f9d17cd6d095ac90a655405ab29f30a7ee7e88ef3974c1bf7544bf591043bb71a9160609161386a82610bcd83611c8c565b600160ff198254161790556040519163ffffffff60e01b1682526001600160581b031916602082015260016040820152a1565b60407f2b82f87bf66300af618a9621d3f221edfab735f5bacb4e004cce1b62375396c3919392935a8251956138fd876138ef6020820193638a91b0e360e01b8552602060248401526044830190610c78565b03601f198101895288610f4f565b6000918291828587519a6139108c610efd565b828c525193f1943d9081613943575b6020818360009352013e81516001600160a01b0390911681528415156020820152a1565b6000915061391f565b61395c61398f9194939294611dd1565b80546001600160a01b031981168255600190910180546001600160a01b0392831696919492169161273a9136919061263c565b5080546001600160a81b03191660ff60a01b179055565b6001600160a01b0390811660008181526000805160206151108339815191526020526040902080546001600160a01b0319811690915590911693926122b89261273a91369161263c565b90929192613a22613a106000805160206151308339815191525460581b90565b6001600160581b031980851691161490565b6127de57613a32611cfe83611c53565b93613a53613a3f84611c53565b8054640100000000600160c01b0319169055565b6001600160f81b03198316600160f81b8103613a8c57506122b89291613a7a91369161263c565b9060581c6001600160a01b031661389d565b600160f91b141590506103d8576102139160081b6147f3565b604051613ab181610f18565b600181528060005b602080821015613ad457906060602092828501015201613ab9565b50505090565b90613ae482610f8a565b613af16040519182610f4f565b8281528092613b02601f1991610f8a565b019060005b828110613b1357505050565b806060602080938501015201613b07565b906040611e5692600081528160208201520190610c78565b613b50818060081b918160301b9160501b90565b5090936001600160f81b031993600160f81b939092508416838103613bdb575050613b82908035019060208201913590565b929093168015600014613b9a575050611e5691614a71565b03613ba857611e56916149b4565b60405162461bcd60e51b815260206004820152600b60248201526a155b9cdd5c1c1bdc9d195960aa1b6044820152606490fd5b94959490919080613c7d575090613bf191614908565b93909294613bfd613aa5565b971680613c22575050613c0f93614959565b613c18836134e7565b526122b8826134e7565b03613ba857613c3093614930565b613c39846134e7565b52610213577fe723f28f104e46b47fd3531f3608374ac226bcf3ddda334a23a266453e0efdb7613c78613c6b846134e7565b5160405191829182613b24565b0390a1565b919593918203613ba857613cb490613cae613c96613aa5565b9780613ca86123ce6123c88387611b30565b93611b69565b91613452565b613cc0879592956134e7565b5216908103613cfe575015613cd157565b7fe723f28f104e46b47fd3531f3608374ac226bcf3ddda334a23a266453e0efdb7613c78613c6b846134e7565b613ba8576102135760405162461bcd60e51b815260206004820152601360248201527211195b1959d85d1958d85b1b0819985a5b1959606a1b6044820152606490fd5b6001600160a01b03169081158015613d94575b61379b5782156134f4576001600160f81b03198135811614613d7557505050565b82600111610203576122b89261273a913691600019019060010161263c565b5060018214613d54565b600080604092835136810185523683823784516014810186523360601b90528260143601925af1918151913d83523d6000602085013e60203d8401019052565b8054906000906000815582613df257505050565b6000526020600020918201915b828110613e0b57505050565b818155600101613dff565b6001600160501b03199035818116939260168110613e3357505050565b60160360031b82901b16169150565b80548210156134f45760005260206000200190600090565b805468010000000000000000811015610edd57613e7c91600182018155613e42565b819291549060031b9160501c821b9160018060b01b03901b1916179055565b9092809260209483528483013701016000815290565b6001600160f01b03199035818116939260028110613ece57505050565b60020360031b82901b16169150565b90803501906020808301923560fe81118015614135575b61412357600180613f0485611e09565b015461410a575b60001982019260005b84811061402d5750613ff29594614000949093613fd69350613fcf9250613f6f613fc0613fa7611f87613fa1613f9b87878e613f968e613f67611d3b6123ce6123c8613f6189898961350d565b90611b94565b9a8b91611e09565b805462010000600160b01b03191660109290921b62010000600160b01b0316919091179055565b61350d565b90611bc2565b90613eb1565b613fb088611e09565b9060f01c61ffff19825416179055565b6001600160a01b03169661350d565b8091611ba5565b6040519586939092906001600160e01b03191660208501613e9b565b03601f198101845283610f4f565b803b15610203576040516306d61fe760e41b81529160009183918290849082906122a99060048301612102565b614084611d3b611d3b6123ce6123c8613f61868a8e613f968f6140508e91611e09565b0161407e61407161406b61406588888861350d565b90611b86565b90613e16565b6001600160501b03191690565b90613e5a565b90614093613fcf82878b61350d565b906140b4604091613ff283519485928d63ffffffff60e01b168a8501613e9b565b833b156102035760009384926140de92519586809481936306d61fe760e41b835260048301612102565b03925af19182156109195784926140f7575b5001613f14565b8061091361410492610eca565b386140f0565b61411e600161411886611e09565b01613dde565b613f0b565b60405163b62d956d60e01b8152600490fd5b508015613ef4565b84846141c0926141ab97969498956040519161415883610f33565b6141ba60009b8c92838652836020870152604086019d8e52606086019c8d918583528560808901528560a0890152606060c089015260e088019286845261010089019687529063ffffffff60e01b169052565b6001600160a01b039091169052565b52614b0a565b60ff806141d96141d36135c28786613589565b60f81c90565b160361421f576142086141f3846142039561421894611b4c565b9490955163ffffffff60e01b1690565b611e09565b5460101c6001600160a01b031690565b9351929190565b60405163b32eeb6960e01b8152600490fd5b8065ffffffffffff91828160a01c16928315600114614252575b5060d01c92565b92503861424b565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f0000000000000000000000000000000000000000000000000000000000000000461416156142e7575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f00000000000000000000000000000000000000000000000000000000000000006040820152466060820152306080820152206142c8565b9192909261437a61280f565b906143859085611b30565b61438e91612333565b60601c602082018190526000805160206151308339815191525460a81c63ffffffff1680835260349560148082013582018089019791959294919360548601358601808b019490880135939092878c01358801808a013593908d0192918a0135918891908d8436906143ff9261263c565b80519060200120913661441390888861263c565b8051906020012036614426908b8d61263c565b8051602091820120604080517fb17ab1224aca0d4255ef8161acaf2ac121b8faa32a4b2258c912cc5f8308c5059381019384526001600160581b0319989098169088015263ffffffff9390931660608701526001600160a01b0393909316608086015260a085019390935260c084019290925260e080840192909252908252906144b261010082610f4f565b5190206144be9061425a565b607489013589018d8b82013591016144d592614d5c565b9a6144e09488612b33565b6144ea8183614ef9565b6144f391611af4565b6144fc91611c27565b61450591613838565b6094810135019293830192013590565b6001600160c01b0319903581811693926008811061453257505050565b60080360031b82901b16169150565b604090611e56939281528160208201520190612fb9565b60009493916001868161456a85611e09565b016000835b6145b7575b5050505060ff8061458b6141d36135c28789613589565b160361421f576101006145af6145a88561420896611e5698611b4c565b369161263c565b910152611e09565b8197969754811015614750576145e86145e06145d38385613e42565b90549060031b1c60501b90565b908160501c90565b9890976146046145fe6141d36135c28585613589565b60ff1690565b80840361471f575090818161463d61463161462b6146258461465a98611bd0565b90614515565b60c01c90565b6001600160401b031690565b6009019161464f6145a8848484611be1565b6101008b0152611c0f565b989098975b600160f01b1615614674575b5083018361456f565b99866146b1929b60018060a01b036040918983518092633894f6e760e11b8252818b868260209c8d9760049c63ffffffff60e01b168d8401614541565b0393165af1958615610919578896614700575b505084166146e65750506146dc859493928592614758565b9a9192935061466b565b51631f24c1fb60e11b81529081018c815281906020010390fd5b614717929650803d1061314a5761313b8183610f4f565b9338806146c4565b909991989083111561473d57604051630760bdcf60e11b8152600490fd5b6147456125e9565b61010088015261465f565b969596614574565b6001600160a01b03818318811615606083811b848601821b9081149186901b14171760011461478957505050600190565b65ffffffffffff60a01b80831693906001600160d01b0319848116919083169086156147eb575b83811680156147e4575b8781109088180280881897146147dc575b508181119082180218921716171790565b9550386147cb565b50806147ba565b9550856147b0565b9190803501916020906020840193359061480c81611e09565b926001906001850190600182540185036148f657906000835b614888575b505050506148779161487282613fd6610213979861484f6001614118613ff298611e09565b87546148669060101c6001600160a01b0316611d3b565b9460001981019161350d565b61389d565b5080546001600160b01b0319169055565b81548110156148f1579083826148e7613ff28c6148d98a6148be868e6148b66145e06145d38c9f9e8e613e42565b96905061350d565b6040519586939092906001600160e01b0319168c8501613e9b565b6001600160a01b031661389d565b5001909192614825565b61482a565b60405163013dcc8d60e31b8152600490fd5b908060141161020357813560601c928160341161020357601483013592603401916033190190565b906000928491604051958692833738935af1913d82523d6000602084013e60203d830101604052565b9092600092819594604051968792833738935af115614988573d82523d6000602084013e60203d830101604052565b503d6000823e3d90fd5b91908110156134f45760051b81013590605e1981360301821215610203570190565b9190916149c083613ada565b9260005b8181106149d057505050565b806149de6001928486614992565b80356149e9816101f2565b614a0a602080936040936149ff85830183612003565b939092013590614930565b614a14858b6134f9565b5215614a23575b5050016149c4565b7fe723f28f104e46b47fd3531f3608374ac226bcf3ddda334a23a266453e0efdb791614a67614a52858b6134f9565b51838051948594888652850152830190610c78565b0390a13880614a1b565b919091614a7d83613ada565b9260005b818110614a8d57505050565b80614ac36020614aa06001948688614992565b8035614aab816101f2565b614ab86040830183612003565b939092013590614959565b614acd82886134f9565b52614ad881876134f9565b5001614a81565b9092608092611e569594835260018060a01b0316602083015260408201528160608201520190610c78565b9190606083016001936001614b29614203845163ffffffff60e01b1690565b01936000936000958054965b878110614b4757505050505050505050565b80614b596145e06145d38c9486613e42565b6001600160a01b031660a0880190815260808801959091614b82906001600160f01b0319168752565b614b9c614b956141d36135c28a85613589565b60ff168952565b614baa6145fe895160ff1690565b808403614d245750868181614bcf61463161462b614625614c239c9d614bf698611bd0565b60208c018181528c60c0614beb6145a860099586018789611be1565b910152510191611c0f565b959095965b51600160f11b90614c15906001600160f01b031916611f87565b166001600160f01b03191690565b15614c30575b5001614b35565b51909150614c46906001600160a01b0316611d3b565b8651614c6a90614c5d906001600160e01b03191681565b6001600160e01b03191690565b60e08701519091906001600160a01b031691614caf6101008901519360c08a01516040948551808095819463184dfdbb60e11b835260209a8b9760049a8b8601614adf565b03915afa938415610919578b94614d05575b50506001600160a01b038316614cea5750860180518b9392614ce291614758565b905238614c29565b9051631f24c1fb60e11b815290810183815281906020010390fd5b614d1c929450803d1061314a5761313b8183610f4f565b913880614cc1565b839196945010600014614d4357604051630760bdcf60e11b8152600490fd5b614c238b93614d523688612619565b60c08a0152614bfb565b6000805160206151308339815191525460009493929060581b916001600160f81b03198316600160f81b8103614e1f5750604051637aa8f17760e11b8152936020938593909284928392614db4923060048601611e7a565b039160581c6001600160a01b03165afa90811561091957600091614e00575b505b6001600160e01b0319166374eca2c160e11b01614dee57565b6040516362467c7760e11b8152600490fd5b614e19915060203d602011611f5f57611f578183610f4f565b38614dd3565b919550929190600160f91b036103d857602091614e429160081b9584308861413d565b60405163392dffaf60e01b81529297929586949385938493614e7593909230906001600160e01b03191660048701612d7a565b03916001600160a01b03165afa90811561091957600091614e97575b50614dd5565b614eb0915060203d602011611f5f57611f578183610f4f565b38614e91565b15614ebd57565b60405162461bcd60e51b8152602060048201526014602482015273496e76616c69642073656c6563746f724461746160601b6044820152606490fd5b614f066106528383611af4565b906004831015614f1557505050565b602c83106150a557614f30611d3b6123ce6123c88685611b1f565b602c8201358201602c604c820191013591604c840135840194614f6a614f5c6135d06135c28787613589565b6001600160f81b0319161590565b80615014575b94614fb161251795611d3b95614fb6956102139b956123ce9a614fc6575b614fa1611d3b6123ce6123c88a8a611bfe565b916001600160a01b031690613592565b611bfe565b602c86013595604c019491612333565b61500f606c8701358701615009602c604c830192013580614ff0611d3b6123ce6123c88488611b30565b93615004856001600160a01b038a166150b3565b611b69565b916136dd565b614f8e565b5091939092956040519163ecd0596160e01b83526020838061503e60048201906002602083019252565b03816001600160a01b0389165afa92831561091957610213986123ce9761251797611d3b97614fb697614fb195600091615086575b50959a50959b5095509550955050614f70565b61509f915060203d602011610981576109738183610f4f565b38615073565b505060046102139114614eb6565b61021391906001600160a01b039081831615615106575b1660005260008051602061511083398151915260205260406000209060018060a01b03166bffffffffffffffffffffffff60a01b825416179055565b600192506150ca56fe1bbee3173dbdc223633258c9f337a0fff8115f206d302bea0ed3eac003b68b867bcaa2ced2a71450ed5a9a1b4848e8e5206dbc3f06011e595f7f55428cc6f84f0000000000000000000000000000000071727de22e5e9d8baf0edac6f37da032", + "nonce": "0x49", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": null, + "transactionType": "CREATE2", + "contractName": "KernelFactory", + "contractAddress": "0xb52f3c04aeaf9364fbf68310a8128aabb40c9abb", + "function": null, + "arguments": [ + "0xec9aA3A41D6bAf3cDb2268ef7a8B116EA74925Ef" + ], + "transaction": { + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x600f4", + "value": "0x0", + "input": "0x000000000000000000000000000000000000000000000000000000000000000060a034607357601f61046c38819003918201601f19168301916001600160401b03831184841017607857808492602094604052833981010312607357516001600160a01b03811681036073576080526040516103dd908161008f823960805181818160d10152818161023401526102f00152f35b600080fd5b634e487b7160e01b600052604160045260246000fdfe60806040818152600490600436101561001757600080fd5b600092833560e01c90816348aac39214610267575080635c60da1b1461021f5763ea6d13ac1461004657600080fd5b61004f36610352565b94919083519560209661007a86828a81019486888737868201908c820152038a8101845201826103a5565b5190209483958551917fcc3735a920a3ca505d382bbc545af43d6000803e6038573d6000fd5b3d6000f36060527f5155f3363d3d373d3d363d7f360894a13ba1a3210667c828492db98dca3e2076875261600989527f0000000000000000000000000000000000000000000000000000000000000000601e5268603d3d8160223d3973600a52605f97602192605f60212060358601523060581b855260ff855380601586015260558520993415948b3b156101fe57505050506001916101f85785388180348c5af1156101ed57505b818652846060521561016b575b505091516001600160a01b0390931683525050f35b8082859493859483378101838152039082875af1903d156101e7573d9067ffffffffffffffff82116101d3578351916101ad601f8201601f19168801846103a5565b8252853d92013e5b156101c35738808080610156565b5163487e630960e11b8152600490fd5b634e487b7160e01b81526041600452602490fd5b506101b5565b63b12d13eb8652601cfd5b50610149565b91939a5091935034f59687156102145750610149565b63301164258652601cfd5b838234610263578160031936011261026357517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b5080fd5b848334610263578260209361029d8361027f36610352565b90808a879498019788378201908982015203878101845201826103a5565b51902081517fcc3735a920a3ca505d382bbc545af43d6000803e6038573d6000fd5b3d6000f36060527f5155f3363d3d373d3d363d7f360894a13ba1a3210667c828492db98dca3e2076835261600985527f0000000000000000000000000000000000000000000000000000000000000000601e5268603d3d8160223d3973600a52605f6021209083528360605260ff84536035523060601b6001526015526055822091603552519060018060a01b03168152f35b9060406003198301126103a05760043567ffffffffffffffff928382116103a057806023830112156103a05781600401359384116103a057602484830101116103a057602401919060243590565b600080fd5b90601f8019910116810190811067ffffffffffffffff8211176103c757604052565b634e487b7160e01b600052604160045260246000fd000000000000000000000000ec9aa3a41d6baf3cdb2268ef7a8b116ea74925ef", + "nonce": "0x4a", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": null, + "transactionType": "CALL", + "contractName": "FactoryStaker", + "contractAddress": "0xd703aae79538628d27099b8c4f621be4ccd142d5", + "function": "approveFactory(address,bool)", + "arguments": [ + "0xB52f3C04AeAF9364FBf68310a8128aabb40C9ABb", + "true" + ], + "transaction": { + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0xd703aae79538628d27099b8c4f621be4ccd142d5", + "gas": "0x108d1", + "value": "0x0", + "input": "0x6e7dbabb000000000000000000000000b52f3c04aeaf9364fbf68310a8128aabb40c9abb0000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x4b", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1715263846, + "chain": 11155111, + "commit": "10c0997" +} \ No newline at end of file diff --git a/broadcast/DeployKernel.s.sol/11155111/run-1715263858.json b/broadcast/DeployKernel.s.sol/11155111/run-1715263858.json new file mode 100644 index 0000000..926080e --- /dev/null +++ b/broadcast/DeployKernel.s.sol/11155111/run-1715263858.json @@ -0,0 +1,75 @@ +{ + "transactions": [ + { + "hash": null, + "transactionType": "CREATE2", + "contractName": "Kernel", + "contractAddress": "0xec9aa3a41d6baf3cdb2268ef7a8b116ea74925ef", + "function": null, + "arguments": [ + "0x0000000071727De22E5E9d8BAf0edAc6f37da032" + ], + "transaction": { + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x60aa8f", + "value": "0x0", + "input": "0x0000000000000000000000000000000000000000000000000000000000000000610140346101fd57601f61538438819003918201601f191683019291906001600160401b038411838510176102025781602092849260409687528339810103126101fd57516001600160a01b03811681036101fd57306080524660a05260a0825161006981610218565b600681526005602082016512d95c9b995b60d21b81526020865161008c81610218565b838152019264302e332e3160d81b845251902091208160c0528060e0528451917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f835260208301528482015246606082015230608082015220916101009283526101209182528051602081019063deadbeef60e01b82526004815261011081610218565b5190516001600160581b0319918282169190601581106101e8575b505090507f7bcaa2ced2a71450ed5a9a1b4848e8e5206dbc3f06011e595f7f55428cc6f84f9060581c60018060a81b03198254161790555190615150928361023484396080518361427d015260a051836142a0015260c05183614312015260e051836143380152518261425c01525181818161050301528181610827015281816109dd01528181610d74015281816110d901528181611241015281816112a1015281816117c901528181611938015281816121d7015261299b0152f35b8391925060150360031b1b161680388061012b565b600080fd5b634e487b7160e01b600052604160045260246000fd5b604081019081106001600160401b038211176102025760405256fe6080604052600436101561001d575b366129485761001b612917565b005b60003560e01c8063112d3a7d146101ed57806312af322c146101e8578063150b7a02146101e35780631626ba7e146101de57806319822f7c146101d95780631f1b92e3146101d45780633659cfe6146101cf57806357b3a5f4146101ca5780636e6fa0c6146101c5578063721e67f4146101c057806384b0196e146101bb5780638dd7712f146101b657806390ef8862146101b15780639198bdf5146101ac5780639517e29f146101a75780639cfd7cff146101a2578063a65d69d41461019d578063a71763a814610198578063adb610a314610193578063b8afe17d1461018e578063bc197c8114610189578063c3e5897814610184578063d03c79141461017f578063d691c9641461017a578063e6f3d50a14610175578063e9ae5c5314610170578063f1f7f0f91461016b578063f23a6e61146101665763f2dc691d0361000e57611ac5565b611a6b565b611a33565b611907565b61174e565b61166a565b61161d565b611541565b61143a565b6113d0565b61139c565b611270565b61122b565b6111d4565b6110a8565b610fa1565b610e50565b610d3f565b610c9d565b610bf1565b610b94565b610ae6565b61099d565b6107e5565b6104c5565b610465565b61040b565b6102b9565b610281565b6001600160a01b0381160361020357565b600080fd5b3590610213826101f2565b565b9181601f84011215610203578235916001600160401b038311610203576020838186019501011161020357565b6060600319820112610203576004359160243561025e816101f2565b91604435906001600160401b0382116102035761027d91600401610215565b9091565b3461020357602061029d61029436610242565b92919091611cc5565b6040519015158152f35b6001600160581b031981160361020357565b34610203576080366003190112610203576004356102d6816102a7565b6024356102e2816101f2565b6001600160401b039060443582811161020357610303903690600401610215565b90926064359081116102035761031d903690600401610215565b9390926001600160581b031961035d816103566103496000805160206151308339815191525460581b90565b6001600160581b03191690565b1615611d8f565b8616156103f9576001600160f81b03198616600160f81b81141590816103ea575b506103d8578561039061001b97612ad8565b6103b061039b610f70565b60018152926001600160a01b03166020840152565b600080516020615130833981519152805463ffffffff60a81b1916600160a81b179055612b33565b6040516361c4e91b60e11b8152600490fd5b600160f91b141590503861037e565b604051631a0a9b9f60e21b8152600490fd5b34610203576080366003190112610203576104276004356101f2565b6104326024356101f2565b6064356001600160401b03811161020357610451903690600401610215565b5050604051630a85bd0160e11b8152602090f35b34610203576040366003190112610203576024356001600160401b038111610203576104a361049a6020923690600401610215565b90600435611eaa565b6040516001600160e01b03199091168152f35b90816101209103126102035790565b606036600319011261020357600480356001600160401b038111610203576104f090369083016104b6565b60243590604435906001600160a01b03907f0000000000000000000000000000000000000000000000000000000000000000821633036107b05780849261053a6020830135612e9f565b6001600160f81b031990911615959093909186610786575b908461055e9392613084565b9561057061056b84611c53565b611fd7565b9415948580610744575b61073357602001516001600160a01b0316918216908115610722576001926105af6105ce926000526000602052604060002090565b80546001600160a01b0319166001600160a01b03909216919091179055565b036106815782610623575b5050610612576105fc9250805b610600575b506040519081529081906020820190565b0390f35b3490349034903490335af150386105eb565b604051631a0a9b9f60e21b81528390fd5b61067a92506106769161065861065261064c61064161066f95611c8c565b936060810190612003565b90611af4565b90611c27565b63ffffffff60e01b16600052602052604060002090565b5460ff1690565b1590565b38806105d9565b829192916106ef575b506106de5761064c8160606106a0930190612003565b638dd7712f60e01b916001600160e01b0319916106bc91611c27565b16036106cd576105fc9250806105e6565b60405163dbbb044b60e01b81528390fd5b604051631a0a9b9f60e21b81528490fd5b61071c915061066f61070361067692611c8c565b6106586106526107166060880188612003565b90611ae3565b3861068a565b604051631a0a9b9f60e21b81528990fd5b604051633ab3447f60e11b81528990fd5b50805163ffffffff1663ffffffff61077e6107756000805160206151308339815191525463ffffffff9060c81c1690565b63ffffffff1690565b91161061057a565b93509061055e916107a66000805160206151308339815191525460581b90565b9490919250610552565b6040516348f5c3ed60e01b81528590fd5b6004359063ffffffff8216820361020357565b359063ffffffff8216820361020357565b6020366003190112610203576107f96107c1565b61081b6108156000805160206151308339815191525460581b90565b60581c90565b6001600160a01b0390337f00000000000000000000000000000000000000000000000000000000000000008316141580610993575b156109885760405163ecd0596160e01b8152600480820152911690602081602481855afa90811561091957600091610959575b50156109475760405163d68f602560e01b815291600083806108aa363433600485016120c6565b038183865af19283156109195760009361091e575b506108c99061322b565b803b1561020357604051630b9dfbed60e11b81529160009183918290849082906108f69060048301612102565b03925af180156109195761090657005b8061091361001b92610eca565b80610c4a565b611e9e565b6108c9919350610940903d806000833e6109388183610f4f565b810190612068565b92906108bf565b6040516348f5c3ed60e01b8152600490fd5b61097b915060203d602011610981575b6109738183610f4f565b810190612035565b38610883565b503d610969565b505061001b9061322b565b5030331415610850565b6020366003190112610203576004356109b5816101f2565b6109d16108156000805160206151308339815191525460581b90565b6001600160a01b0390337f00000000000000000000000000000000000000000000000000000000000000008316141580610aca575b15610abf5760405163ecd0596160e01b8152600480820152911690602081602481855afa90811561091957600091610aa0575b50156109475760405163d68f602560e01b81529160008380610a60363433600485016120c6565b038183865af192831561091957600093610a7f575b506108c990612113565b6108c9919350610a99903d806000833e6109388183610f4f565b9290610a75565b610ab9915060203d602011610981576109738183610f4f565b38610a39565b505061001b90612113565b5030331415610a06565b6001600160e01b031981160361020357565b34610203576020366003190112610203576105fc610b28600435610b0981610ad4565b600060408051610b1881610ee2565b8281528260208201520152611dd1565b60405190610b3582610ee2565b80546001600160a01b0390811680845260019092015480821660208086019182526001600160f81b031960589390931b831660409687019081528651958652915190931692840192909252905116918101919091529081906060820190565b3461020357604036600319011261020357602060ff610be5600435610bb8816102a7565b610bcd60243591610bc883610ad4565b611c8c565b9063ffffffff60e01b16600052602052604060002090565b54166040519015158152f35b34610203576020366003190112610203576020610c27600435610c13816101f2565b6000604051610c2181610efd565b52612ab1565b60405190610c3482610efd565b546001600160a01b031690819052604051908152f35b600091031261020357565b60005b838110610c685750506000910152565b8181015183820152602001610c58565b90602091610c9181518092818552858086019101610c55565b601f01601f1916010190565b3461020357600036600319011261020357610cec610cb961330b565b90604051928392600f60f81b8452610cde60209360e0602087015260e0860190610c78565b908482036040860152610c78565b90466060840152306080840152600060a084015282820360c0840152602060605192838152019160809160005b828110610d2857505050500390f35b835185528695509381019392810192600101610d19565b6040366003190112610203576004356001600160401b03811161020357610d6a9036906004016104b6565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081163303610947576060906001610dc6610db96024356000526000602052604060002090565b546001600160a01b031690565b91821614159283610e20575b610ded610de6826060610df4940190612003565b8091611b02565b9030613452565b509215610e055761001b9250613479565b505015610e0e57005b60405163f21e646b60e01b8152600490fd5b9150610df4610ded610de6610e46610e3e610de66060880188612003565b9034876133d0565b9492505050610dd2565b3461020357600036600319011261020357602063ffffffff6000805160206151308339815191525460c81c16604051908152f35b9181601f84011215610203578235916001600160401b038311610203576020808501948460051b01011161020357565b634e487b7160e01b600052604160045260246000fd5b6001600160401b038111610edd57604052565b610eb4565b606081019081106001600160401b03821117610edd57604052565b602081019081106001600160401b03821117610edd57604052565b604081019081106001600160401b03821117610edd57604052565b61012081019081106001600160401b03821117610edd57604052565b90601f801991011681019081106001600160401b03821117610edd57604052565b6040519061021382610f18565b6040519061021382610f33565b6001600160401b038111610edd5760051b60200190565b6080366003190112610203576001600160401b0360043581811161020357610fcd903690600401610e84565b906024358381116102035736602382011215610203578060040135610ff181610f8a565b916040916110026040519485610f4f565b8084526020906024602086019160061b8401019236841161020357602401905b83821061106a57505050505060443584811161020357611046903690600401610e84565b916064359586116102035761106261001b963690600401610e84565b9590946121a8565b848236031261020357828591825161108181610f18565b61108a856107d4565b815282850135611099816101f2565b83820152815201910190611022565b6110b136610242565b6110cd6108156000805160206151308339815191525460581b90565b6001600160a01b0390337f000000000000000000000000000000000000000000000000000000000000000083161415806111ca575b156111be5760405163ecd0596160e01b815260048082015291169290602081602481875afa9081156109195760009161119f575b50156109475760405163d68f602560e01b8152936000858061115d363433600485016120c6565b038183885af19485156109195760009561117e575b506108c9939495612364565b6108c9949550611198903d806000833e6109388183610f4f565b9493611172565b6111b8915060203d602011610981576109738183610f4f565b38611136565b50509161001b93612364565b5030331415611102565b34610203576000366003190112610203576105fc6040516111f481610f18565b60168152756b65726e656c2e616476616e6365642e76302e332e3160501b6020820152604051918291602083526020830190610c78565b34610203576000366003190112610203576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b61127936610242565b6112956108156000805160206151308339815191525460581b90565b6001600160a01b0390337f00000000000000000000000000000000000000000000000000000000000000008316141580611392575b156113865760405163ecd0596160e01b815260048082015291169290602081602481875afa90811561091957600091611367575b50156109475760405163d68f602560e01b81529360008580611325363433600485016120c6565b038183885af194851561091957600095611346575b506108c9939495612673565b6108c9949550611360903d806000833e6109388183610f4f565b949361133a565b611380915060203d602011610981576109738183610f4f565b386112fe565b50509161001b93612673565b50303314156112ca565b3461020357600036600319011261020357602063ffffffff6000805160206151308339815191525460a81c16604051908152f35b346102035760203660031901126102035760406114006004356113f2816102a7565b6113fa61280f565b50611c53565b602082519161140e83610f18565b5463ffffffff81169283815260018060a01b03928391019160201c168152835192835251166020820152f35b346102035760a0366003190112610203576114566004356101f2565b6114616024356101f2565b6001600160401b0360443581811161020357611481903690600401610e84565b50506064358181116102035761149b903690600401610e84565b5050608435908111610203576114b5903690600401610215565b505060405163bc197c8160e01b8152602090f35b602080825282516001600160f01b03191681830152808301516001600160a01b03166040808401919091529092015160608083015280516080830181905260a090920192908101919060005b828110611523575050505090565b83516001600160501b03191685529381019392810192600101611515565b34610203576020806003193601126102035760043561155f81610ad4565b611584604091606083805161157381610ee2565b600081526000878201520152611e09565b9080519161159183610ee2565b805460f081901b6001600160f01b031916845260101c6001600160a01b031684840152815160019182018054808352600091825286822083880197939490939092905b8282106115fb576105fc8888886115ed818e0382610f4f565b8183015251918291826114c9565b845460501b6001600160501b03191689529788019793830193908301906115d4565b3461020357602036600319011261020357602061029d600435612828565b9060406003198301126102035760043591602435906001600160401b0382116102035761027d91600401610215565b6116733661163b565b916001600160a01b0361168533612ab1565b541690811561173c57606060019460018414159485611725575b6116a99293613b3c565b92611715575b5050906040519060208083016020845284518091526040840191602060408360051b8701019601926000905b8382106116e85786880387f35b90919293948380611704839a603f198b82030186528951610c78565b9997019594939190910191016116db565b61171e91613479565b38806116af565b6116a9925061173536348761334c565b925061169f565b60405163710c949760e01b8152600490fd5b6060366003190112610203576004803590611768826102a7565b6001600160401b0391602435838111610203576117889036908401610215565b93604435908111610203576117a09036908501610215565b906117bd6108156000805160206151308339815191525460581b90565b6001600160a01b0390337f000000000000000000000000000000000000000000000000000000000000000083161415806118fd575b156118ed57169560405163ecd0596160e01b81526020818061181b8a8201906004602083019252565b03818b5afa908115610919576000916118ce575b50156118bd5760405163d68f602560e01b815293600085806118553634338d85016120c6565b0381838c5af19485156109195760009561189e575b5061187594956128ea565b823b15610203576108f69260009283604051809681958294630b9dfbed60e11b84528301612102565b61187595506118b7903d806000833e6109388183610f4f565b9461186a565b6040516348f5c3ed60e01b81528690fd5b6118e7915060203d602011610981576109738183610f4f565b3861182f565b50509261001b95929194506128ea565b50303314156117f2565b6119103661163b565b61192c6108156000805160206151308339815191525460581b90565b6001600160a01b0390337f00000000000000000000000000000000000000000000000000000000000000008316141580611a29575b15611a1d5760405163ecd0596160e01b815260048082015291169190602081602481865afa908115610919576000916119fe575b50156109475760405163d68f602560e01b815292600084806119bc363433600485016120c6565b038183875af1938415610919576000946119dd575b506108c99293946128ff565b6108c99394506119f7903d806000833e6109388183610f4f565b93926119d1565b611a17915060203d602011610981576109738183610f4f565b38611995565b50509061001b926128ff565b5030331415611961565b346102035760003660031901126102035760206000805160206151308339815191525460581b604051906001600160581b0319168152f35b346102035760a036600319011261020357611a876004356101f2565b611a926024356101f2565b6084356001600160401b03811161020357611ab1903690600401610215565b505060405163f23a6e6160e01b8152602090f35b3461020357602036600319011261020357602061029d60043561290a565b906008116102035760040190600490565b906004116102035790600490565b909291928360041161020357831161020357600401916003190190565b906018116102035760040190601490565b906014116102035790601490565b906020116102035790602090565b909291928360011161020357831161020357600101916000190190565b909291928360141161020357831161020357601401916013190190565b906016116102035790601690565b906016116102035760020190601490565b909291928360161161020357831161020357601601916015190190565b906002116102035790600290565b906009116102035760010190600890565b909291928360091161020357831161020357600901916008190190565b90602c116102035760180190601490565b90939293848311610203578411610203578101920390565b6001600160e01b03199035818116939260048110611c4457505050565b60040360031b82901b16169150565b6001600160581b0319166000527f7bcaa2ced2a71450ed5a9a1b4848e8e5206dbc3f06011e595f7f55428cc6f850602052604060002090565b6001600160581b0319166000527f7bcaa2ced2a71450ed5a9a1b4848e8e5206dbc3f06011e595f7f55428cc6f851602052604060002090565b90929060018103611d1457506001600160a01b0392611d0e9250611cfe915060581b600160581b600160f81b0316600160f81b17611c53565b5460201c6001600160a01b031690565b16151590565b60028103611d4757506001600160a01b0392611d0e9250611d3b9150610db9908416612ab1565b6001600160a01b031690565b600303611d8757611d68611d63610652600193611d7695611af4565b611dd1565b01546001600160a01b031690565b6001600160a01b0390811691161490565b505050600090565b15611d9657565b60405162461bcd60e51b8152602060048201526013602482015272185b1c9958591e481a5b9a5d1a585b1a5e9959606a1b6044820152606490fd5b63ffffffff60e01b166000527f7c341349a4360fdd5d5bc07e69f325dc6aaea3eb018b3e0ea7e53cc0bb0d6f3b602052604060002090565b63ffffffff60e01b166000527f7bcaa2ced2a71450ed5a9a1b4848e8e5206dbc3f06011e595f7f55428cc6f852602052604060002090565b908160209103126102035751611e5681610ad4565b90565b908060209392818452848401376000828201840152601f01601f1916010190565b611e56949260609260018060a01b0316825260208201528160408201520191611e59565b6040513d6000823e3d90fd5b91611eb491612d24565b91906001600160f81b031980831615611fb6575b6001600160a01b039081611ee1611d3b611cfe87611c53565b16156103f9578316600160f81b03611f6657906020939291611f05611f2396612e56565b604051637aa8f17760e11b8152968795869485933360048601611e7a565b039260581c165afa90811561091957600091611f3d575090565b611e56915060203d602011611f5f575b611f578183610f4f565b810190611e41565b503d611f4d565b509060081b92600160f11b611f94611f87611f8087611e09565b5460f01b90565b6001600160f01b03191690565b16611fa457611e56933390612da5565b604051635b71057960e01b8152600490fd5b9150611fd16000805160206151308339815191525460581b90565b91611ec8565b90604051611fe481610f18565b915463ffffffff81168352602090811c6001600160a01b031690830152565b903590601e198136030182121561020357018035906001600160401b0382116102035760200191813603831361020357565b90816020910312610203575180151581036102035790565b6001600160401b038111610edd57601f01601f191660200190565b602081830312610203578051906001600160401b038211610203570181601f8201121561020357805161209a8161204d565b926120a86040519485610f4f565b8184526020828401011161020357611e569160208085019101610c55565b916080939160018060a01b03168352602083015260606040830152806060830152806000848401376000828201840152601f01601f1916010190565b906020611e56928181520190610c78565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8190556001600160a01b03167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2565b9060405161217481610ee2565b82546001600160a01b039081168252600190930154928316602082015260589290921b6001600160f81b0319166040830152565b959294919390946121cb6108156000805160206151308339815191525460581b90565b6001600160a01b0390337f00000000000000000000000000000000000000000000000000000000000000008316141580612318575b156123085760405163ecd0596160e01b8152600480820152911695906020816024818a5afa908115610919576000916122e9575b50156109475760405163d68f602560e01b8152966000888061225b363433600485016120c6565b0381838b5af1978815610919576000986122c8575b5061227c969798613524565b803b1561020357604051630b9dfbed60e11b81529160009183918290849082906122a99060048301612102565b03925af18015610919576122bb575b50565b8061091361021392610eca565b61227c9798506122e2903d806000833e6109388183610f4f565b9796612270565b612302915060203d602011610981576109738183610f4f565b38612234565b5050919390929461021396613524565b5030331415612200565b916020611e56938181520191611e59565b6bffffffffffffffffffffffff19903581811693926014811061235557505050565b60140360031b82901b16169150565b6001810361244057506106526102139361242c61243a93600160581b600160f81b039060581b16600160f81b17946123fb6123d4611d3b6123ce6123c86123c16000805160206151308339815191525463ffffffff9060a81c1690565b9786611b30565b90612333565b60601c90565b6123eb6123df610f70565b63ffffffff9096168652565b6001600160a01b03166020850152565b6014810135810192603482013582019160548101350193603460148401359301916034601483013592019089612b33565b603460148201359101611af4565b90613838565b6002810361249c57509161248d61021393612472611d3b6123ce6123c860148801358801966034890135890198611b30565b928391601482013591603401906001600160a01b03166137aa565b603460148301359201906136dd565b9091906003810361251c5750612517611d3b612507610213958461250260186123ce97013582016123ce60388401358401996124db6106528787611af4565b906124fc611d3b6124ec8989611b1f565b6018880135976038019691612333565b91613592565b611b1f565b6018860135956038019491612333565b6136dd565b9091906004810361255d57506001600160a01b031691823b15610203576122a992600092836040518096819582946306d61fe760e41b845260048401612322565b6005810361259b57506001600160a01b031691823b15610203576122a992600092836040518096819582946306d61fe760e41b845260048401612322565b6006036125d7576001600160a01b031691823b15610203576122a992600092836040518096819582946306d61fe760e41b845260048401612322565b604051631092ef5760e11b8152600490fd5b604051906125f682610efd565b60008252565b35906020811061260a575090565b6000199060200360031b1b1690565b91906040519061262882610efd565b819360008352116102035760206000910152565b9291926126488261204d565b916126566040519384610f4f565b829481845281830111610203578281602093846000960137010152565b9291906001840361269d576122b8935060581b600160581b600160f81b0316600160f81b176139f0565b600284036126b8576122b893506001600160a01b03166139a6565b909190600384036126e757506122b8925080806126db6106526126e19486611af4565b93611b02565b9161394c565b91926004810361276d57506122b89261273a916127136000805160206151308339815191525460581b90565b61271f611cfe82611c53565b6001600160a01b03868116911614612740575b50369161263c565b9061389d565b61274c61276791611c53565b8054640100000000600160c01b031916640100000000179055565b38612732565b600581036127f057506000805160206151308339815191525460581b5b61279d6127978386611b3e565b906125fc565b906001600160f81b03198116600160f91b146127c5575b50506122b89261273a91369161263c565b60081b6001600160e01b031916146127de5738806127b4565b6040516313002bdd60e31b8152600490fd5b6006036125d7576000805160206151308339815191525460581b61278a565b6040519061281c82610f18565b60006020838281520152565b61283c818060081b918160301b9160501b90565b929091600160f81b916001600160f81b0319919082168381141590816128e0575b816128d5575b816128c6575b506128bc57169081141590816128b2575b506128ab576001600160e01b0319166128a5576001600160501b0319166128a057600190565b600090565b50600090565b5050600090565b905015153861287a565b5050505050600090565b607f60f91b1415905038612869565b838114159150612863565b801515915061285d565b916128fa916102139594936139f0565b613d41565b906122b89291613b3c565b600711156128a057600190565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b6129656129606000356001600160e01b031916611dd1565b612167565b80516001600160a01b039081169190828061298c57604051631cd4b64760e21b8152600490fd5b606093828103612a8d575050807f0000000000000000000000000000000000000000000000000000000000000000163303610947575b60408201516001600160f81b031990811680612a505750506020820151612a0793906129f6906001600160a01b0316613d9e565b9490935b516001600160a01b031690565b918083169060018214159182612a45575b5050612a35575b5050612a2d57602081519101fd5b602081519101f35b612a3e91613479565b3880612a1f565b141590503880612a18565b03612a7b576020820151612a079390612a73906001600160a01b0316369061342b565b9490936129fa565b604051632d6a6bb760e01b8152600490fd5b600103612a9b575b506129c2565b612aaa9193503690349061334c565b9138612a95565b6001600160a01b031660009081526000805160206151108339815191526020526040902090565b60207f6789ec0c85d6458d897a36a70129b101f8b4d84c6e218046c3107373dbcbae88916000805160206151308339815191528160581c6001600160581b0360a81b825416179055604051906001600160581b0319168152a1565b9193909294612b4e612b4484611c53565b5463ffffffff1690565b9360008051602061513083398151915294612b71865463ffffffff9060a81c1690565b63ffffffff809281808416911614612ce6575b50506020820180516001600160a01b0397919291612bb191891615612cdd575b5460a81c63ffffffff1690565b81612bc3610775865163ffffffff1690565b91161490811591612cb3575b50612ca1576129fa612c1e92612be487611c53565b815181546020938401516001600160c01b031990911663ffffffff9290921691909117921b640100000000600160c01b0316919091179055565b91600185841603612c90575b5050506001600160f81b03198116600160f81b8103612c74575060581c1691823b15610203576122a992600092836040518096819582946306d61fe760e41b845260048401612322565b909350600160f91b141590506103d8576102139160081b613edd565b612c99926136dd565b388080612c2a565b604051633ab3447f60e11b8152600490fd5b9050612cc1612b4487611c53565b90612cd3610775855163ffffffff1690565b9116101538612bcf565b60018452612ba4565b600080516020615130833981519152805463ffffffff60a81b19166001939093019190911660a81b63ffffffff60a81b169190911790553881612b84565b9182358060f81c80600014612d6a5780600114612d5d57600214612d4757600080fd5b6001600160d81b03191692600501916004190190565b5092601501916014190190565b5050600160009301916000190190565b9092608092611e569694835260018060a01b0316602083015260408201528160608201520191611e59565b909192612dc494612db89185858561413d565b94929391969096614231565b509065ffffffffffff8091164210918215612e4a575b5050612e3757612e18612dee602096612e56565b60405163392dffaf60e01b8152978896879586959193916001600160e01b03191660048701612d7a565b03916001600160a01b03165afa90811561091957600091611f3d575090565b506001600160e01b031995945050505050565b16421190503880612dda565b611e569060405160208101917f1547321c374afde8a591d972a084b071c594c275e36724931ff96c25f2999c838352604082015260408152612e9781610ee2565b51902061425a565b90818060081b9160ff839260f01c16600214612eb757565b6001600160d81b031983169150565b9080601f8301121561020357816020611e569335910161263c565b91906101208382031261020357612ef6610f7d565b92612f0081610208565b8452602081013560208501526040810135916001600160401b03928381116102035781612f2e918401612ec6565b604086015260608201358381116102035781612f4b918401612ec6565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e08201358381116102035781612f86918401612ec6565b60e0860152610100928383013590811161020357612fa49201612ec6565b90830152565b90816020910312610203575190565b80516001600160a01b03168252611e569190613037613007612ff561012060208501516020870152604085015190806040880152860190610c78565b60608401518582036060870152610c78565b6080830151608085015260a083015160a085015260c083015160c085015260e083015184820360e0860152610c78565b916101008092015191818403910152610c78565b939291613068906040928652606060208701526060860190612fb9565b930152565b929190613068602091604086526040860190612fb9565b9290926000926130943682612ee1565b9161010091828101916130a78383612003565b90949093600160f81b936001600160f81b031993841685146131f0575b505050871603613151575050604051639700320360e01b8152936020928592839160009183916130f7916004840161306d565b039260581c6001600160a01b03165af190811561091957611e5692600092613120575b50614758565b61314391925060203d60201161314a575b61313b8183610f4f565b810190612faa565b903861311a565b503d613131565b909460081b93909291600160f01b61316e611f87611f8088611e09565b166131de57600061318f6131896020966131b999858a614558565b94614758565b604051630ccab7a160e01b8152979096889586948593926001600160e01b0319166004850161304b565b03926001600160a01b03165af190811561091957611e56926000926131205750614758565b6040516314b9743f60e01b8152600490fd5b9091955061320c939850613205929450612003565b908861436e565b969192909361321f85899599369161263c565b908601523880806130c4565b60008051602061513083398151915280549163ffffffff92600a848260a81c1601908482116132f55782851691851682116132e35760c81c84161015612ca157600080516020615130833981519152805463ffffffff60c81b191660c89290921b63ffffffff60c81b1691909117905554818160c81c1691829160a81c16106132b15750565b600080516020615130833981519152805463ffffffff60a81b191660a89290921b63ffffffff60a81b16919091179055565b60405163e60fd64760e01b8152600490fd5b634e487b7160e01b600052601160045260246000fd5b60405161331781610f18565b600681526512d95c9b995b60d21b60208201529060405161333781610f18565b6005815264302e332e3160d81b602082015290565b60405163d68f602560e01b815233600482015260248101929092526060604483015260648201839052600092839183918290849060849083908084838501378181018301849052601f01601f191681010301926001600160a01b03165af19182156109195780926133bc57505090565b611e5692503d8091833e6109388183610f4f565b600092836133f795936040519687958694859363d68f602560e01b85523360048601611e7a565b03926001600160a01b03165af190811561091957600091613416575090565b611e5691503d806000833e6109388183610f4f565b60009060405192808385378338925af4913d82523d6000602084013e60203d830101604052565b60009192806040519485378338925af4913d82523d6000602084013e60203d830101604052565b6001600160a01b0316803b1561020357604051630b9dfbed60e11b8152602060048201529160009183918290849082906134b7906024830190610c78565b03925af18015610919576134c85750565b61021390610eca565b634e487b7160e01b600052603260045260246000fd5b8051156134f45760200190565b6134d1565b80518210156134f45760209160051b010190565b908210156134f45761027d9160051b810190612003565b96959192939694909460005b86811061354257505050505050509050565b806135838a60019360051b850135613559816102a7565b61356f84613567818c6134f9565b51938c61350d565b9061357b868b8b61350d565b949093612b33565b01613530565b90156134f45790565b6001600160a01b039391929190848316156136d5575b6135b190611dd1565b946135dd6135d06135c28385613589565b356001600160f81b03191690565b6001600160f81b03191690565b946001600160f81b0319808716806136b657505090806135ff92861693611b4c565b823b156102035761362a92600092836040518096819582946306d61fe760e41b845260048401612322565b03925af19485156109195761366661368693600193610213986136a3575b505b82546001600160a01b0319166001600160a01b03909116178255565b0180546001600160a01b0319166001600160a01b03909316929092178255565b805460ff60a01b191660589290921c60ff60a01b16919091179055565b806109136136b092610eca565b38613648565b925092505094919403612a7b576001613686916136666102139661364a565b8492506135a8565b6001600160a01b031691821580156137a0575b61379b5760405163d60b347f60e01b8152306004820152602081602481875afa9081156109195760009161377c575b5015613747576001600160f81b03198061373c6135c28486613589565b161461374757505050565b8061375192611b4c565b823b15610203576122a992600092836040518096819582946306d61fe760e41b845260048401612322565b613795915060203d602011610981576109738183610f4f565b3861371f565b505050565b50600183146136f0565b919392916001600160a01b03908184161561382f575b1660008181526000805160206151108339815191526020526040812080546001600160a01b0319166001600160a01b0390951694909417909355803b1561382b576134b79394836040518096819582946306d61fe760e41b8452602060048501526024840191611e59565b8280fd5b600193506137c0565b7f9d17cd6d095ac90a655405ab29f30a7ee7e88ef3974c1bf7544bf591043bb71a9160609161386a82610bcd83611c8c565b600160ff198254161790556040519163ffffffff60e01b1682526001600160581b031916602082015260016040820152a1565b60407f2b82f87bf66300af618a9621d3f221edfab735f5bacb4e004cce1b62375396c3919392935a8251956138fd876138ef6020820193638a91b0e360e01b8552602060248401526044830190610c78565b03601f198101895288610f4f565b6000918291828587519a6139108c610efd565b828c525193f1943d9081613943575b6020818360009352013e81516001600160a01b0390911681528415156020820152a1565b6000915061391f565b61395c61398f9194939294611dd1565b80546001600160a01b031981168255600190910180546001600160a01b0392831696919492169161273a9136919061263c565b5080546001600160a81b03191660ff60a01b179055565b6001600160a01b0390811660008181526000805160206151108339815191526020526040902080546001600160a01b0319811690915590911693926122b89261273a91369161263c565b90929192613a22613a106000805160206151308339815191525460581b90565b6001600160581b031980851691161490565b6127de57613a32611cfe83611c53565b93613a53613a3f84611c53565b8054640100000000600160c01b0319169055565b6001600160f81b03198316600160f81b8103613a8c57506122b89291613a7a91369161263c565b9060581c6001600160a01b031661389d565b600160f91b141590506103d8576102139160081b6147f3565b604051613ab181610f18565b600181528060005b602080821015613ad457906060602092828501015201613ab9565b50505090565b90613ae482610f8a565b613af16040519182610f4f565b8281528092613b02601f1991610f8a565b019060005b828110613b1357505050565b806060602080938501015201613b07565b906040611e5692600081528160208201520190610c78565b613b50818060081b918160301b9160501b90565b5090936001600160f81b031993600160f81b939092508416838103613bdb575050613b82908035019060208201913590565b929093168015600014613b9a575050611e5691614a71565b03613ba857611e56916149b4565b60405162461bcd60e51b815260206004820152600b60248201526a155b9cdd5c1c1bdc9d195960aa1b6044820152606490fd5b94959490919080613c7d575090613bf191614908565b93909294613bfd613aa5565b971680613c22575050613c0f93614959565b613c18836134e7565b526122b8826134e7565b03613ba857613c3093614930565b613c39846134e7565b52610213577fe723f28f104e46b47fd3531f3608374ac226bcf3ddda334a23a266453e0efdb7613c78613c6b846134e7565b5160405191829182613b24565b0390a1565b919593918203613ba857613cb490613cae613c96613aa5565b9780613ca86123ce6123c88387611b30565b93611b69565b91613452565b613cc0879592956134e7565b5216908103613cfe575015613cd157565b7fe723f28f104e46b47fd3531f3608374ac226bcf3ddda334a23a266453e0efdb7613c78613c6b846134e7565b613ba8576102135760405162461bcd60e51b815260206004820152601360248201527211195b1959d85d1958d85b1b0819985a5b1959606a1b6044820152606490fd5b6001600160a01b03169081158015613d94575b61379b5782156134f4576001600160f81b03198135811614613d7557505050565b82600111610203576122b89261273a913691600019019060010161263c565b5060018214613d54565b600080604092835136810185523683823784516014810186523360601b90528260143601925af1918151913d83523d6000602085013e60203d8401019052565b8054906000906000815582613df257505050565b6000526020600020918201915b828110613e0b57505050565b818155600101613dff565b6001600160501b03199035818116939260168110613e3357505050565b60160360031b82901b16169150565b80548210156134f45760005260206000200190600090565b805468010000000000000000811015610edd57613e7c91600182018155613e42565b819291549060031b9160501c821b9160018060b01b03901b1916179055565b9092809260209483528483013701016000815290565b6001600160f01b03199035818116939260028110613ece57505050565b60020360031b82901b16169150565b90803501906020808301923560fe81118015614135575b61412357600180613f0485611e09565b015461410a575b60001982019260005b84811061402d5750613ff29594614000949093613fd69350613fcf9250613f6f613fc0613fa7611f87613fa1613f9b87878e613f968e613f67611d3b6123ce6123c8613f6189898961350d565b90611b94565b9a8b91611e09565b805462010000600160b01b03191660109290921b62010000600160b01b0316919091179055565b61350d565b90611bc2565b90613eb1565b613fb088611e09565b9060f01c61ffff19825416179055565b6001600160a01b03169661350d565b8091611ba5565b6040519586939092906001600160e01b03191660208501613e9b565b03601f198101845283610f4f565b803b15610203576040516306d61fe760e41b81529160009183918290849082906122a99060048301612102565b614084611d3b611d3b6123ce6123c8613f61868a8e613f968f6140508e91611e09565b0161407e61407161406b61406588888861350d565b90611b86565b90613e16565b6001600160501b03191690565b90613e5a565b90614093613fcf82878b61350d565b906140b4604091613ff283519485928d63ffffffff60e01b168a8501613e9b565b833b156102035760009384926140de92519586809481936306d61fe760e41b835260048301612102565b03925af19182156109195784926140f7575b5001613f14565b8061091361410492610eca565b386140f0565b61411e600161411886611e09565b01613dde565b613f0b565b60405163b62d956d60e01b8152600490fd5b508015613ef4565b84846141c0926141ab97969498956040519161415883610f33565b6141ba60009b8c92838652836020870152604086019d8e52606086019c8d918583528560808901528560a0890152606060c089015260e088019286845261010089019687529063ffffffff60e01b169052565b6001600160a01b039091169052565b52614b0a565b60ff806141d96141d36135c28786613589565b60f81c90565b160361421f576142086141f3846142039561421894611b4c565b9490955163ffffffff60e01b1690565b611e09565b5460101c6001600160a01b031690565b9351929190565b60405163b32eeb6960e01b8152600490fd5b8065ffffffffffff91828160a01c16928315600114614252575b5060d01c92565b92503861424b565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f0000000000000000000000000000000000000000000000000000000000000000461416156142e7575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f00000000000000000000000000000000000000000000000000000000000000006040820152466060820152306080820152206142c8565b9192909261437a61280f565b906143859085611b30565b61438e91612333565b60601c602082018190526000805160206151308339815191525460a81c63ffffffff1680835260349560148082013582018089019791959294919360548601358601808b019490880135939092878c01358801808a013593908d0192918a0135918891908d8436906143ff9261263c565b80519060200120913661441390888861263c565b8051906020012036614426908b8d61263c565b8051602091820120604080517fb17ab1224aca0d4255ef8161acaf2ac121b8faa32a4b2258c912cc5f8308c5059381019384526001600160581b0319989098169088015263ffffffff9390931660608701526001600160a01b0393909316608086015260a085019390935260c084019290925260e080840192909252908252906144b261010082610f4f565b5190206144be9061425a565b607489013589018d8b82013591016144d592614d5c565b9a6144e09488612b33565b6144ea8183614ef9565b6144f391611af4565b6144fc91611c27565b61450591613838565b6094810135019293830192013590565b6001600160c01b0319903581811693926008811061453257505050565b60080360031b82901b16169150565b604090611e56939281528160208201520190612fb9565b60009493916001868161456a85611e09565b016000835b6145b7575b5050505060ff8061458b6141d36135c28789613589565b160361421f576101006145af6145a88561420896611e5698611b4c565b369161263c565b910152611e09565b8197969754811015614750576145e86145e06145d38385613e42565b90549060031b1c60501b90565b908160501c90565b9890976146046145fe6141d36135c28585613589565b60ff1690565b80840361471f575090818161463d61463161462b6146258461465a98611bd0565b90614515565b60c01c90565b6001600160401b031690565b6009019161464f6145a8848484611be1565b6101008b0152611c0f565b989098975b600160f01b1615614674575b5083018361456f565b99866146b1929b60018060a01b036040918983518092633894f6e760e11b8252818b868260209c8d9760049c63ffffffff60e01b168d8401614541565b0393165af1958615610919578896614700575b505084166146e65750506146dc859493928592614758565b9a9192935061466b565b51631f24c1fb60e11b81529081018c815281906020010390fd5b614717929650803d1061314a5761313b8183610f4f565b9338806146c4565b909991989083111561473d57604051630760bdcf60e11b8152600490fd5b6147456125e9565b61010088015261465f565b969596614574565b6001600160a01b03818318811615606083811b848601821b9081149186901b14171760011461478957505050600190565b65ffffffffffff60a01b80831693906001600160d01b0319848116919083169086156147eb575b83811680156147e4575b8781109088180280881897146147dc575b508181119082180218921716171790565b9550386147cb565b50806147ba565b9550856147b0565b9190803501916020906020840193359061480c81611e09565b926001906001850190600182540185036148f657906000835b614888575b505050506148779161487282613fd6610213979861484f6001614118613ff298611e09565b87546148669060101c6001600160a01b0316611d3b565b9460001981019161350d565b61389d565b5080546001600160b01b0319169055565b81548110156148f1579083826148e7613ff28c6148d98a6148be868e6148b66145e06145d38c9f9e8e613e42565b96905061350d565b6040519586939092906001600160e01b0319168c8501613e9b565b6001600160a01b031661389d565b5001909192614825565b61482a565b60405163013dcc8d60e31b8152600490fd5b908060141161020357813560601c928160341161020357601483013592603401916033190190565b906000928491604051958692833738935af1913d82523d6000602084013e60203d830101604052565b9092600092819594604051968792833738935af115614988573d82523d6000602084013e60203d830101604052565b503d6000823e3d90fd5b91908110156134f45760051b81013590605e1981360301821215610203570190565b9190916149c083613ada565b9260005b8181106149d057505050565b806149de6001928486614992565b80356149e9816101f2565b614a0a602080936040936149ff85830183612003565b939092013590614930565b614a14858b6134f9565b5215614a23575b5050016149c4565b7fe723f28f104e46b47fd3531f3608374ac226bcf3ddda334a23a266453e0efdb791614a67614a52858b6134f9565b51838051948594888652850152830190610c78565b0390a13880614a1b565b919091614a7d83613ada565b9260005b818110614a8d57505050565b80614ac36020614aa06001948688614992565b8035614aab816101f2565b614ab86040830183612003565b939092013590614959565b614acd82886134f9565b52614ad881876134f9565b5001614a81565b9092608092611e569594835260018060a01b0316602083015260408201528160608201520190610c78565b9190606083016001936001614b29614203845163ffffffff60e01b1690565b01936000936000958054965b878110614b4757505050505050505050565b80614b596145e06145d38c9486613e42565b6001600160a01b031660a0880190815260808801959091614b82906001600160f01b0319168752565b614b9c614b956141d36135c28a85613589565b60ff168952565b614baa6145fe895160ff1690565b808403614d245750868181614bcf61463161462b614625614c239c9d614bf698611bd0565b60208c018181528c60c0614beb6145a860099586018789611be1565b910152510191611c0f565b959095965b51600160f11b90614c15906001600160f01b031916611f87565b166001600160f01b03191690565b15614c30575b5001614b35565b51909150614c46906001600160a01b0316611d3b565b8651614c6a90614c5d906001600160e01b03191681565b6001600160e01b03191690565b60e08701519091906001600160a01b031691614caf6101008901519360c08a01516040948551808095819463184dfdbb60e11b835260209a8b9760049a8b8601614adf565b03915afa938415610919578b94614d05575b50506001600160a01b038316614cea5750860180518b9392614ce291614758565b905238614c29565b9051631f24c1fb60e11b815290810183815281906020010390fd5b614d1c929450803d1061314a5761313b8183610f4f565b913880614cc1565b839196945010600014614d4357604051630760bdcf60e11b8152600490fd5b614c238b93614d523688612619565b60c08a0152614bfb565b6000805160206151308339815191525460009493929060581b916001600160f81b03198316600160f81b8103614e1f5750604051637aa8f17760e11b8152936020938593909284928392614db4923060048601611e7a565b039160581c6001600160a01b03165afa90811561091957600091614e00575b505b6001600160e01b0319166374eca2c160e11b01614dee57565b6040516362467c7760e11b8152600490fd5b614e19915060203d602011611f5f57611f578183610f4f565b38614dd3565b919550929190600160f91b036103d857602091614e429160081b9584308861413d565b60405163392dffaf60e01b81529297929586949385938493614e7593909230906001600160e01b03191660048701612d7a565b03916001600160a01b03165afa90811561091957600091614e97575b50614dd5565b614eb0915060203d602011611f5f57611f578183610f4f565b38614e91565b15614ebd57565b60405162461bcd60e51b8152602060048201526014602482015273496e76616c69642073656c6563746f724461746160601b6044820152606490fd5b614f066106528383611af4565b906004831015614f1557505050565b602c83106150a557614f30611d3b6123ce6123c88685611b1f565b602c8201358201602c604c820191013591604c840135840194614f6a614f5c6135d06135c28787613589565b6001600160f81b0319161590565b80615014575b94614fb161251795611d3b95614fb6956102139b956123ce9a614fc6575b614fa1611d3b6123ce6123c88a8a611bfe565b916001600160a01b031690613592565b611bfe565b602c86013595604c019491612333565b61500f606c8701358701615009602c604c830192013580614ff0611d3b6123ce6123c88488611b30565b93615004856001600160a01b038a166150b3565b611b69565b916136dd565b614f8e565b5091939092956040519163ecd0596160e01b83526020838061503e60048201906002602083019252565b03816001600160a01b0389165afa92831561091957610213986123ce9761251797611d3b97614fb697614fb195600091615086575b50959a50959b5095509550955050614f70565b61509f915060203d602011610981576109738183610f4f565b38615073565b505060046102139114614eb6565b61021391906001600160a01b039081831615615106575b1660005260008051602061511083398151915260205260406000209060018060a01b03166bffffffffffffffffffffffff60a01b825416179055565b600192506150ca56fe1bbee3173dbdc223633258c9f337a0fff8115f206d302bea0ed3eac003b68b867bcaa2ced2a71450ed5a9a1b4848e8e5206dbc3f06011e595f7f55428cc6f84f0000000000000000000000000000000071727de22e5e9d8baf0edac6f37da032", + "nonce": "0x49", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": null, + "transactionType": "CREATE2", + "contractName": "KernelFactory", + "contractAddress": "0xb52f3c04aeaf9364fbf68310a8128aabb40c9abb", + "function": null, + "arguments": [ + "0xec9aA3A41D6bAf3cDb2268ef7a8B116EA74925Ef" + ], + "transaction": { + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x600f4", + "value": "0x0", + "input": "0x000000000000000000000000000000000000000000000000000000000000000060a034607357601f61046c38819003918201601f19168301916001600160401b03831184841017607857808492602094604052833981010312607357516001600160a01b03811681036073576080526040516103dd908161008f823960805181818160d10152818161023401526102f00152f35b600080fd5b634e487b7160e01b600052604160045260246000fdfe60806040818152600490600436101561001757600080fd5b600092833560e01c90816348aac39214610267575080635c60da1b1461021f5763ea6d13ac1461004657600080fd5b61004f36610352565b94919083519560209661007a86828a81019486888737868201908c820152038a8101845201826103a5565b5190209483958551917fcc3735a920a3ca505d382bbc545af43d6000803e6038573d6000fd5b3d6000f36060527f5155f3363d3d373d3d363d7f360894a13ba1a3210667c828492db98dca3e2076875261600989527f0000000000000000000000000000000000000000000000000000000000000000601e5268603d3d8160223d3973600a52605f97602192605f60212060358601523060581b855260ff855380601586015260558520993415948b3b156101fe57505050506001916101f85785388180348c5af1156101ed57505b818652846060521561016b575b505091516001600160a01b0390931683525050f35b8082859493859483378101838152039082875af1903d156101e7573d9067ffffffffffffffff82116101d3578351916101ad601f8201601f19168801846103a5565b8252853d92013e5b156101c35738808080610156565b5163487e630960e11b8152600490fd5b634e487b7160e01b81526041600452602490fd5b506101b5565b63b12d13eb8652601cfd5b50610149565b91939a5091935034f59687156102145750610149565b63301164258652601cfd5b838234610263578160031936011261026357517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b5080fd5b848334610263578260209361029d8361027f36610352565b90808a879498019788378201908982015203878101845201826103a5565b51902081517fcc3735a920a3ca505d382bbc545af43d6000803e6038573d6000fd5b3d6000f36060527f5155f3363d3d373d3d363d7f360894a13ba1a3210667c828492db98dca3e2076835261600985527f0000000000000000000000000000000000000000000000000000000000000000601e5268603d3d8160223d3973600a52605f6021209083528360605260ff84536035523060601b6001526015526055822091603552519060018060a01b03168152f35b9060406003198301126103a05760043567ffffffffffffffff928382116103a057806023830112156103a05781600401359384116103a057602484830101116103a057602401919060243590565b600080fd5b90601f8019910116810190811067ffffffffffffffff8211176103c757604052565b634e487b7160e01b600052604160045260246000fd000000000000000000000000ec9aa3a41d6baf3cdb2268ef7a8b116ea74925ef", + "nonce": "0x4a", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": null, + "transactionType": "CALL", + "contractName": "FactoryStaker", + "contractAddress": "0xd703aae79538628d27099b8c4f621be4ccd142d5", + "function": "approveFactory(address,bool)", + "arguments": [ + "0xB52f3C04AeAF9364FBf68310a8128aabb40C9ABb", + "true" + ], + "transaction": { + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0xd703aae79538628d27099b8c4f621be4ccd142d5", + "gas": "0x108d1", + "value": "0x0", + "input": "0x6e7dbabb000000000000000000000000b52f3c04aeaf9364fbf68310a8128aabb40c9abb0000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x4b", + "chainId": "0xaa36a7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1715263858, + "chain": 11155111, + "commit": "10c0997" +} \ No newline at end of file diff --git a/broadcast/DeployKernel.s.sol/11155111/run-latest.json b/broadcast/DeployKernel.s.sol/11155111/run-latest.json index 747f900..926080e 100644 --- a/broadcast/DeployKernel.s.sol/11155111/run-latest.json +++ b/broadcast/DeployKernel.s.sol/11155111/run-latest.json @@ -69,7 +69,7 @@ "libraries": [], "pending": [], "returns": {}, - "timestamp": 1715101470, + "timestamp": 1715263858, "chain": 11155111, "commit": "10c0997" } \ No newline at end of file diff --git a/foundry.toml b/foundry.toml index a3d2d35..46a5c59 100644 --- a/foundry.toml +++ b/foundry.toml @@ -4,9 +4,10 @@ out = "out" libs = ["lib"] bytecode_hash = "none" cbor_metadata = false +solc_version = "0.8.25" optimize = true via-ir = false -runs = 1000 +runs = 200 [profile.deploy] via-ir = true diff --git a/src/Kernel.sol b/src/Kernel.sol index 114e442..d1f3784 100644 --- a/src/Kernel.sol +++ b/src/Kernel.sol @@ -173,15 +173,18 @@ contract Kernel is IAccount, IAccountExecute, IERC7579Account, ValidationManager } else { // action installed bytes memory context; - if (address(config.hook) == 0xFFfFfFffFFfffFFfFFfFFFFFffFFFffffFfFFFfF) { + if ( + address(config.hook) != address(1) && address(config.hook) != 0xFFfFfFffFFfffFFfFFfFFFFFffFFFffffFfFFFfF + ) { + context = _doPreHook(config.hook, msg.value, msg.data); + } else if (address(config.hook) == 0xFFfFfFffFFfffFFfFFfFFFFFffFFFffffFfFFFfF) { // for selector manager, address(0) for the hook will default to type(address).max, // and this will only allow entrypoints to interact if (msg.sender != address(entrypoint)) { revert InvalidCaller(); } - } else if (address(config.hook) != address(1)) { - context = _doPreHook(config.hook, msg.value, msg.data); } + // execute action if (config.callType == CALLTYPE_SINGLE) { (success, result) = ExecLib.doFallback2771Call(config.target); } else if (config.callType == CALLTYPE_DELEGATECALL) {