From eccfec9ff39d11cef30680fc19bceae0915bb947 Mon Sep 17 00:00:00 2001 From: Austin Green Date: Thu, 11 Jan 2024 13:51:33 -0500 Subject: [PATCH] docs: add token governor audit for v1.0.0 release (#92) **Motivation:** This PR will allow us to make the repo public and mark the `v1.0.0` release of `llama-periphery`. **Modifications:** - Add Spearbit's audit of the token governor module to the audits directory - Added a link to the audit in the `README` - Added deployments section to README with token voting module and factory contract addresses. - Hardcode `evm_version = 'paris'` in `foundry.toml` - Add build artifacts from token voting module and factory deploy **Result:** Users will be able to easily find our audits and verified contract addresses. This commit marks `v1.0.0` of the `llama-periphery` repo. --- README.md | 42 +++- .../Llama-Token-Governor-Spearbit-Audit.pdf | Bin 0 -> 115104 bytes .../1/run-1704995733.json | 75 +++++++ .../1/run-1704995739.json | 148 +++++++++++++ .../1/run-1704995794.json | 148 +++++++++++++ .../1/run-latest.json | 148 +++++++++++++ .../10/run-1704995573.json | 75 +++++++ .../10/run-1704995579.json | 148 +++++++++++++ .../10/run-1704995629.json | 148 +++++++++++++ .../10/run-latest.json | 148 +++++++++++++ .../11155111/run-1704991681.json | 74 +++++++ .../11155111/run-1704991771.json | 33 +++ .../11155111/run-1704991777.json | 62 ++++++ .../11155111/run-1704991820.json | 62 ++++++ .../11155111/run-latest.json | 62 ++++++ .../137/run-1704995454.json | 75 +++++++ .../137/run-1704995466.json | 197 ++++++++++++++++++ .../137/run-1704995530.json | 197 ++++++++++++++++++ .../137/run-latest.json | 197 ++++++++++++++++++ .../420/run-1704991432.json | 75 +++++++ .../420/run-1704991438.json | 148 +++++++++++++ .../420/run-1704991492.json | 148 +++++++++++++ .../420/run-latest.json | 148 +++++++++++++ .../42161/run-1704995373.json | 71 +++++++ .../42161/run-1704995940.json | 148 +++++++++++++ .../42161/run-1704995990.json | 148 +++++++++++++ .../42161/run-latest.json | 148 +++++++++++++ .../5/run-1704991305.json | 75 +++++++ .../5/run-1704991312.json | 148 +++++++++++++ .../5/run-1704991380.json | 148 +++++++++++++ .../5/run-latest.json | 148 +++++++++++++ .../8453/run-1704995262.json | 75 +++++++ .../8453/run-1704995268.json | 148 +++++++++++++ .../8453/run-1704995320.json | 148 +++++++++++++ .../8453/run-latest.json | 148 +++++++++++++ .../84531/run-1704991516.json | 75 +++++++ .../84531/run-1704991522.json | 148 +++++++++++++ .../84531/run-1704991580.json | 148 +++++++++++++ .../84531/run-latest.json | 148 +++++++++++++ .../token_voting_module_deployment_info.md | 2 + foundry.toml | 2 + 41 files changed, 4623 insertions(+), 11 deletions(-) create mode 100644 audits/Llama-Token-Governor-Spearbit-Audit.pdf create mode 100644 broadcast/DeployLlamaTokenVotingFactory.s.sol/1/run-1704995733.json create mode 100644 broadcast/DeployLlamaTokenVotingFactory.s.sol/1/run-1704995739.json create mode 100644 broadcast/DeployLlamaTokenVotingFactory.s.sol/1/run-1704995794.json create mode 100644 broadcast/DeployLlamaTokenVotingFactory.s.sol/1/run-latest.json create mode 100644 broadcast/DeployLlamaTokenVotingFactory.s.sol/10/run-1704995573.json create mode 100644 broadcast/DeployLlamaTokenVotingFactory.s.sol/10/run-1704995579.json create mode 100644 broadcast/DeployLlamaTokenVotingFactory.s.sol/10/run-1704995629.json create mode 100644 broadcast/DeployLlamaTokenVotingFactory.s.sol/10/run-latest.json create mode 100644 broadcast/DeployLlamaTokenVotingFactory.s.sol/11155111/run-1704991681.json create mode 100644 broadcast/DeployLlamaTokenVotingFactory.s.sol/11155111/run-1704991771.json create mode 100644 broadcast/DeployLlamaTokenVotingFactory.s.sol/11155111/run-1704991777.json create mode 100644 broadcast/DeployLlamaTokenVotingFactory.s.sol/11155111/run-1704991820.json create mode 100644 broadcast/DeployLlamaTokenVotingFactory.s.sol/11155111/run-latest.json create mode 100644 broadcast/DeployLlamaTokenVotingFactory.s.sol/137/run-1704995454.json create mode 100644 broadcast/DeployLlamaTokenVotingFactory.s.sol/137/run-1704995466.json create mode 100644 broadcast/DeployLlamaTokenVotingFactory.s.sol/137/run-1704995530.json create mode 100644 broadcast/DeployLlamaTokenVotingFactory.s.sol/137/run-latest.json create mode 100644 broadcast/DeployLlamaTokenVotingFactory.s.sol/420/run-1704991432.json create mode 100644 broadcast/DeployLlamaTokenVotingFactory.s.sol/420/run-1704991438.json create mode 100644 broadcast/DeployLlamaTokenVotingFactory.s.sol/420/run-1704991492.json create mode 100644 broadcast/DeployLlamaTokenVotingFactory.s.sol/420/run-latest.json create mode 100644 broadcast/DeployLlamaTokenVotingFactory.s.sol/42161/run-1704995373.json create mode 100644 broadcast/DeployLlamaTokenVotingFactory.s.sol/42161/run-1704995940.json create mode 100644 broadcast/DeployLlamaTokenVotingFactory.s.sol/42161/run-1704995990.json create mode 100644 broadcast/DeployLlamaTokenVotingFactory.s.sol/42161/run-latest.json create mode 100644 broadcast/DeployLlamaTokenVotingFactory.s.sol/5/run-1704991305.json create mode 100644 broadcast/DeployLlamaTokenVotingFactory.s.sol/5/run-1704991312.json create mode 100644 broadcast/DeployLlamaTokenVotingFactory.s.sol/5/run-1704991380.json create mode 100644 broadcast/DeployLlamaTokenVotingFactory.s.sol/5/run-latest.json create mode 100644 broadcast/DeployLlamaTokenVotingFactory.s.sol/8453/run-1704995262.json create mode 100644 broadcast/DeployLlamaTokenVotingFactory.s.sol/8453/run-1704995268.json create mode 100644 broadcast/DeployLlamaTokenVotingFactory.s.sol/8453/run-1704995320.json create mode 100644 broadcast/DeployLlamaTokenVotingFactory.s.sol/8453/run-latest.json create mode 100644 broadcast/DeployLlamaTokenVotingFactory.s.sol/84531/run-1704991516.json create mode 100644 broadcast/DeployLlamaTokenVotingFactory.s.sol/84531/run-1704991522.json create mode 100644 broadcast/DeployLlamaTokenVotingFactory.s.sol/84531/run-1704991580.json create mode 100644 broadcast/DeployLlamaTokenVotingFactory.s.sol/84531/run-latest.json create mode 100644 build_info/token_voting_module_deployment_info.md diff --git a/README.md b/README.md index 845500a..fa0dd2c 100644 --- a/README.md +++ b/README.md @@ -56,16 +56,27 @@ The comments in that file explain what each variable is for and when they're nee - `just deploy` - deploy and verify payload on mainnet - Run `just -l` or see the [`justfile`](https://github.com/llamaxyz/llama-periphery/blob/main/justfile) for other commands such as dry runs. -## Testnet deployment - -| Name | Sepolia | -| ------------------------------------------------ | ----------------------------------------------------------------------------------------------------------------------------- | -|_Factory_| -| LlamaTokenVotingFactory | [0x6A97643633eafEEC00b7Ec4CE84269203645aaBC](https://sepolia.etherscan.io/address/0x6A97643633eafEEC00b7Ec4CE84269203645aaBC) | -|_Governor_| -| LlamaTokenGovernor (logic contract) | [0x0A01C701013E6d6F1c1759457324303Bf25CC7E3](https://sepolia.etherscan.io/address/0x0A01C701013E6d6F1c1759457324303Bf25CC7E3) | -|_Token Adapters_| -| LlamaTokenAdapterVotesTimestamp (logic contract) | [0x8CCe1b824EfF3A7966348528B6951A84eC0541A5](https://sepolia.etherscan.io/address/0x8CCe1b824EfF3A7966348528B6951A84eC0541A5) | +## Deployments + +| Name | Ethereum | Optimism | Arbitrum | Base | Polygon | +| ------------------------------------------------ | --------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------ | +| _Factory_| +| LlamaTokenVotingFactory | [0xFBE17545dffD75A92A5A72926AE581478973FE65](https://etherscan.io/address/0xFBE17545dffD75A92A5A72926AE581478973FE65) | [0xFBE17545dffD75A92A5A72926AE581478973FE65](https://optimistic.etherscan.io/address/0xFBE17545dffD75A92A5A72926AE581478973FE65) | [0xFBE17545dffD75A92A5A72926AE581478973FE65](https://arbiscan.io/address/0xFBE17545dffD75A92A5A72926AE581478973FE65) | [0xFBE17545dffD75A92A5A72926AE581478973FE65](https://basescan.org/address/0xFBE17545dffD75A92A5A72926AE581478973FE65) | [0xFBE17545dffD75A92A5A72926AE581478973FE65](https://polygonscan.com/address/0xFBE17545dffD75A92A5A72926AE581478973FE65) | +| _Governor_| +| LlamaTokenGovernor (logic contract) | [0x3f3DAB3ab8cEc2FBd06767c2A5F66Cb6BFF21A4A](https://etherscan.io/address/0x3f3DAB3ab8cEc2FBd06767c2A5F66Cb6BFF21A4A) | [0x3f3DAB3ab8cEc2FBd06767c2A5F66Cb6BFF21A4A](https://optimistic.etherscan.io/address/0x3f3DAB3ab8cEc2FBd06767c2A5F66Cb6BFF21A4A) | [0x3f3DAB3ab8cEc2FBd06767c2A5F66Cb6BFF21A4A](https://arbiscan.io/address/0x3f3DAB3ab8cEc2FBd06767c2A5F66Cb6BFF21A4A) | [0x3f3DAB3ab8cEc2FBd06767c2A5F66Cb6BFF21A4A](https://basescan.org/address/0x3f3DAB3ab8cEc2FBd06767c2A5F66Cb6BFF21A4A) | [0x3f3DAB3ab8cEc2FBd06767c2A5F66Cb6BFF21A4A](https://polygonscan.com/address/0x3f3DAB3ab8cEc2FBd06767c2A5F66Cb6BFF21A4A) | +| _Token Adapters_| +| LlamaTokenAdapterVotesTimestamp (logic contract) | [0x088C268cb00226D6A9b29e5488905Aa94D2f0239](https://etherscan.io/address/0x088C268cb00226D6A9b29e5488905Aa94D2f0239) | [0x088C268cb00226D6A9b29e5488905Aa94D2f0239](https://optimistic.etherscan.io/address/0x088C268cb00226D6A9b29e5488905Aa94D2f0239) | [0x088C268cb00226D6A9b29e5488905Aa94D2f0239](https://arbiscan.io/address/0x088C268cb00226D6A9b29e5488905Aa94D2f0239) | [0x088C268cb00226D6A9b29e5488905Aa94D2f0239](https://basescan.org/address/0x088C268cb00226D6A9b29e5488905Aa94D2f0239) | [0x088C268cb00226D6A9b29e5488905Aa94D2f0239](https://polygonscan.com/address/0x088C268cb00226D6A9b29e5488905Aa94D2f0239) | + +## Testnet deployments + +| Name | Sepolia | Goerli | Optimism Goerli | Base Goerli | +| ------------------------------------------------ | ----------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------- | +| _Factory_| +| LlamaTokenVotingFactory | [0xFBE17545dffD75A92A5A72926AE581478973FE65](https://sepolia.etherscan.io/address/0xFBE17545dffD75A92A5A72926AE581478973FE65) | [0xFBE17545dffD75A92A5A72926AE581478973FE65](https://goerli.etherscan.io/address/0xFBE17545dffD75A92A5A72926AE581478973FE65) | [0xFBE17545dffD75A92A5A72926AE581478973FE65](https://goerli-optimism.etherscan.io/address/0xFBE17545dffD75A92A5A72926AE581478973FE65) | [0xFBE17545dffD75A92A5A72926AE581478973FE65](https://goerli.basescan.org/address/0xFBE17545dffD75A92A5A72926AE581478973FE65) | +| _Governor_| +| LlamaTokenGovernor (logic contract) | [0x3f3DAB3ab8cEc2FBd06767c2A5F66Cb6BFF21A4A](https://sepolia.etherscan.io/address/0x3f3DAB3ab8cEc2FBd06767c2A5F66Cb6BFF21A4A) | [0x3f3DAB3ab8cEc2FBd06767c2A5F66Cb6BFF21A4A](https://goerli.etherscan.io/address/0x3f3DAB3ab8cEc2FBd06767c2A5F66Cb6BFF21A4A) | [0x3f3DAB3ab8cEc2FBd06767c2A5F66Cb6BFF21A4A](https://goerli-optimism.etherscan.io/address/0x3f3DAB3ab8cEc2FBd06767c2A5F66Cb6BFF21A4A) | [0x3f3DAB3ab8cEc2FBd06767c2A5F66Cb6BFF21A4A](https://goerli.basescan.org/address/0x3f3DAB3ab8cEc2FBd06767c2A5F66Cb6BFF21A4A) | +| _Token Adapters_| +| LlamaTokenAdapterVotesTimestamp (logic contract) | [0x088C268cb00226D6A9b29e5488905Aa94D2f0239](https://sepolia.etherscan.io/address/0x088C268cb00226D6A9b29e5488905Aa94D2f0239) | [0x088C268cb00226D6A9b29e5488905Aa94D2f0239](https://goerli.etherscan.io/address/0x088C268cb00226D6A9b29e5488905Aa94D2f0239) | [0x088C268cb00226D6A9b29e5488905Aa94D2f0239](https://goerli-optimism.etherscan.io/address/0x088C268cb00226D6A9b29e5488905Aa94D2f0239) | [0x088C268cb00226D6A9b29e5488905Aa94D2f0239](https://goerli.basescan.org/address/0x088C268cb00226D6A9b29e5488905Aa94D2f0239) | ## Smart contract reference @@ -74,7 +85,16 @@ Run the following command to generate smart contract reference documentation fro ```sh $ forge doc -o reference/ -b -s ``` -## Bug bounty program + +## Security + +### Audit + +We received an audit from Spearbit. You can find the link to the report below: + +- [Llama Token Governor Spearbit Audit](https://github.com/llamaxyz/llama/blob/main/audits/Llama-Token-Governor-Spearbit-Audit.pdf) + +### Bug bounty program This repository is subject to the [Llama bug bounty program](https://github.com/llamaxyz/llama/blob/main/README.md#bug-bounty-program). diff --git a/audits/Llama-Token-Governor-Spearbit-Audit.pdf b/audits/Llama-Token-Governor-Spearbit-Audit.pdf new file mode 100644 index 0000000000000000000000000000000000000000..0c82625e2ef5b248688fc36041b047136b4a3936 GIT binary patch literal 115104 zcmd?QWmKF^&>#u{5+K3dAwU=i!Ciw5fnbAsu)$q|2MsO(26qN`cXzko8bWY)haK|1 z-|pV??LGIqd(PfJcYaV$KV4N_U0qdOUGzh%AP)S%%EXCEJ3iGjhsw)I$wFykV2&yv zfXXZbwl;AzrR3n^qWtHF$_zBKbOhT|G6OC39l_#YLmMM7s*n(>gQGoI-wM@bAy!G& zW{L%~WlL=sg;tTB%&T|v{L}XB=%FANM{7;>gL*#5eNh!`KY>R!L&Ctxr#x|SRlZWb3z12J~ zqtXM}z39>Sax!syp_O07S5~l!ufM|k2NY0H*CGg-2c>Ivp;e{u%Do**9E^ARdIQAy zBx;f4bNl*J$pm4C0BWj(LfJ1auR80-TmX3E6#CIed1?B!@mu9suq&~k3d${GhcTYh z8sMnyyDXpX#rN!c!T?!eapDgXu4nv1vg+gkU!Ne-rD9Yv-z?WpdGNtydm2Kz8PxF7 zRb1kqR>gzUN{DlF8s7|d#)W<5MU6a=<8ULMwj(e`*(X?b=2s5D9-mdgos#* z+fAVcm(@2z-+t=Kz<)Q6{W@XM(K2EZ;OsMTMMX>V;r&F^Y^eBM!QF}_YDZS*?QaU# zETza5>Etkbb8KlVkgCvxZr}%g#s-nQ?sBruTB1&xi?g}Lye*Tfw*KbzwbK-fr1-AN z`P7AFxvX#5nXGuyeN<*4N`xn&QO>77SyH;vND~H9XbKG1pYC6|Vt#v(L9jrE3br=- zcX44)&xXOv_CHyOva2nal388ez#MGoh{~+wWZ?Msjg*zX2^f`G&CCd9Kdh`QT&T>S zz-A_#iNnL5GSpqwF<{W!dP86Exhupo@ZuTftC7zjz+i^f zzX%4a{~+wf{)4cs`Y*zq^FJKi{^ij4F9P6_>>m!g|Nk5!;{90UJ%tYEvo=lsC!MgX z@K(NngKN({El)c!kD`NhKkGCfhX4!q*wfnOhAXu_eQw!xVyTnc)}WZ1rFnb0N4UA= zQ^Za!aH%4Ut~g~gKJkCuMx3w~8NRN?9~YHF5kcF13GydAM5 z>+b=}>!^~yo=T}M%NcZ2kMwC!wO`PHk?0d}_#zc@HK)H*oUbIuC{uFzckntF^~lrm zvK(_XSB&tB{FYm}c!oVJHke6#t@He#Vi9yvPL7vf1LKD4V0zMa=X@GJVjQ1#XZj+t z^hKB)KgGoO+J9q9s1u_0*Jy>_XXAZ&8bfLTc3#T@5K4uoMZF_j#c--NxO z4U-3cwawT0(fIAUjx=jyIOq?;QGa@C9(BdgXH2g2lifQ@YUZfX^# zq<>$(4AR&w_5TJFwIUB6CXr*=j<0(ZkakaBFuj$jx8STH?r)!_@N}xJMk5-g1%|HQ*Ck#ht3v32#?mpgmzSXIH*}}!?-y5md2Q$3JI6!$@X=@lW)U9 zi@7Iv;zdF!wUpax7>sF~7oKm)KL1be3&%F4ybTSEJysoOn4HCuwX5!Ux%hjmXzG!d zN7qAtd-h`f@WXn1FBmNStv7DwpCT?z1dIEIIP_*mFUen&CF>UOu~w4LK$|IQ(}v=s zFSZ>6)&EgpIeAAVIn1MA8dHZ2lF0qcimv67W&k#yg-77^UxS=6WQ(NP!N=I65`y_P z*NeRq5{KeGT(ID^J&wnt!tO_M<-pVGGL6UuW5Hs{yee`S^D;oBVZ%GON?Zx^FID8< zAMOSgkG_@l;a>cr|5?K+1@pHtQQ45Gqlhr>Dd5=T~BjRgyDuMA<6%q#o(P@OfffB(@{eJuC7SO;0@ zb8X=*(caD-X_KIq0^T>x38T$B^tfV^CAY7oK?Ss0v?FfnW5#)RBCausNBmNi?6qbr+MKsdv*CkJDt2m z&r!2t$uH&Pzt?rjI>t6&nm;SQ;CPUhSW21QQ6=At%Ffjj>^7<0hpp_%vd4_W<#%yq z#tl1FXShWVw>1~5Phr>HIzKn~r`BT!+#WY;%G0{J(HtAuVWfWo7gXVq!>^axD*e8g zz?Nc5XRiTg86v*zXd*B}Ed>+R|0tvW=A4Ri$Ihs@k6tIt!US)NLkgQ>W*ytIG_0nK zed`;o2+?Z8#M#UfDERhe`iiq^Jk5!|;3w^mxig_^O7xX!1SNS+>o)id&q6JoZer|V z#arom1#+J+(2LeF!sNzU-=vp#5$)I%cv1g0*}eP97R+xgIQ02TRcO=&Po9)wWI6dP z*eF)vujN6-d$w_`N6m($cClvGcNvSZ?=)-4+lJjB`GkTa?Y!X^rZ8V6b}GXj(ySet zVQ;;f&Le!#jdVz&3C7s7%Sjn7F?+UPD36odd~gr1Y&6Ds<%=KKS0_w4ccyPYXf+i} zf=4yww=R>WW9+1!Y`3()hOiQt)%|YYYnMZdc zWH_Id15MS4%wg1m=?|A?PfEBEh93=!(@Wasmo?Nmmcmix2dm0iD{tA+Ql@F8Jk&8z zYm+?>`V?q9Jk~17Q%BuWrc;Ap{)H7W zFy0e8V2h!1mcUrly$M+${GP_0K!ceryOvsW#)H%CytJ( zQ^2>Jk?`6pyI6`=^)nO%vhK|nkS0==T9`(JQ>wspv8&m${(a!+UMjl!sY>BFf0ygw@}b3r_H>u2bm zs>Bk%wazX!k%g&rkM+l1j1kPH^|C|$_UyXu!(xp)2o`c-qVGh2q7pQ@d_QT(O9y`? zrTI(nJSAk<9?76l3)?Qr$!FGc5(jqvu4v@smy8gVfnpO?55D593uApj4V+wYDLF}ZzCC1S%wV5x=1LnnGOlc6h()Ru?YHuVg`d}W&W z3GXRECHWT7>`=twyg2Gd?ve`_qk+GSOqfgMoYP<%z<`?!3M>>W4FNL*inlC-E6GFW zE-Kg6Bi9>M4Pdd8=yUXSd0Lgu^ENZk9Fq-g1yp12`B=jC&v_4=SeOJ|iLgJ*Gy}IW z0h+NNU~=U#Rm;_Vmo=6$M+1GD%wVapM4S=x7>xt$ReaZB<{yQ3GGVrOOC5iauRpK& z9O%QCnMWclmZeq8t)GWP8;ZMN)RNy0&MN!qxzq_;I0W;NBfBayzfRZ!sAIsKpD*=! znsn1S5Cn4U1-lO;b)z|k zwPGc?W5YLsgtdAWkh7`)p(R_7s~T16O1W_Zj03s)ht5QfsvBDjvM{FBJd^n# zF$CLyHY0JX$Y-cO&L}l3)dcwcPJK;w-j|@sP;2brYQ(e`+_c=~?7^RWQJ(h7Ug0bv z>Ro0*j<&|w=owVb6OF4V){$?|?uFww9<7vQvb7A;HSJ5x zA4mA5i2ZWoG!KeY#v%;_gX`P@k;*WqxKW_ZcTMogjS~e6HcW4KU=>TQ!%|W8!$)2~ zVO_BeY7y|e+ZHILIIro!6W_vI9wi3WX->{hYhqrYIHRNy0!s@_T?;D7hjbc5r@@}G z>SV-W#dK;OzuB&;Syy@S==Um?@bZ*$cG+sCOstnnM~q-5!AK9INY>#rXug;E&@h!_G0!KQFY}7G@3V@DIsK3YXESfL zhJ5(7sqJ49+E+O)ZO7GNzOb+mc(Hvxcw~z*e?OyPqef6a!T+PYF!~$?Du4t8WI};>IuvU+=Qy+@D94JSPXa7o@JZX=vbY zmE+3t&jMM4N*2QN^}QAROO&MVldcWYU)|M`3tvMgEq3^kV} z)BbIT{R`dxg{J>P)qkP*zmV-;Nck^Be}@0p-*)fSUus5mjH~BEw?dh~5^Qw1_Mi(} zif7b|!7k5d820}i!bgwi0V$U~{hyEj8H=9X&w^*nd1j;i)Bf}3pLX}_f7*zD;hg6m zlz-YZf8m@bBJw|N@#h)A=xJX5(>6l-r!9{7Puu@*HDS)v2zK^;9xwZE`C-n}AJ&BX zMf45+`p3T2e=f!RQx*A-YTf_QT8yN>u8U&yPI6_Lnb~9Gc{DK2;jG_LBnBs~eGo6eB z{4uqEXM&Ka>bu2Y1meLa4bMG*lYN3`8kUr2fCBlyLAU*X%m4o*L2Izd!n5q}PEs15 zXOz%gRS@uxE{>iOazL6TeLI1mr_LFg?4a%#D5%ly=E`Puwm{8NMf6loV4f)F3;DNe z)+j1nxta8*H=3#hvg-ajHutk%=0dbA9rPYs{N;`#&4d@U z7i@?P?y0%^>8OfvP5dJ&GrIJNDC7x*Gpt6>h1l&xfPal5D-fBp)v9(HS3i%OC_X>L5 zI_z>#kpgHe~h8tjBB`yGF3k^tmR-myY;LH7JsqjkVqiIY}M+`9W z2AsAWCRE#j9b6Vxk5~SOIbot zZ0j7)Cj@a#aUI}`qDgvG=|4f|=yMF9!@h?JqX1C4t=fy6KZX#5=-)4hdMeQ}fel}Y zX~lm_nd3T%TF+t$<6z_v<#;71_O}DRN_PDn3^c_0ugiLF~RuW@p#b{xC_v=*Qp{7y=O`LCNcPKJ1>T^X+|Gc;kT4AWL^o-dr}c- z@ifr%X`l;m#E;UH4`dZa%hLmzHR80AY$*XnXw!^<^A8k+eyjPI+Bs6IN?1V9ktaC9 z0s<@%>WS_Lyvy0=K;<~0VIQO=v|Zh9kPP9kiZws-j8$C32bKUG{g}So&8_JCa)r#CK(*>(i5^_p@4f=g^cm? zQ<#05FX!RUVJ~Gl*k__LQD%=UNA(Xd1aix zAMxj7Y7@mI$ws}3WZ=RMEt|9$G@D&IzdPpVaPfK3O2=Z`N2qC+(J7TyGxH4KRX8@! zNjBSHkS7vXDk!%(ypqryOL?Du1VHjnPYAH>l{9q8p19j5M6ehn%`u3}0wV}nL%aJ9 z^qC~#U-Q{X`;s8J^PW9qLG*cnSX2Gm#sNNJW2R{d7Q!|V^aV;Vu|(jru^J?q>*9rD zbDURiR&ah>0hIFV37JC1gXt1MVP6{f-HB;`$*xd@bPHC37Pf)&K4m%tW{~6OZt~Xd zrX7KB#g%W6i%j&6Zt^J5?Of9_c+11H9f0-hZUQP_L{i?i4z_YY^Xbg=3?lmhpDm%@ z?rwI#icbQD`RT+ffHBF?1F>(w6Bj(85>P;&9zw9-TPSISp}0BB!W0_uq3SegP>Vs% z!J*lfGDB;2_Cei+WZ%7YYEz&kD}->Pb~Cw)XyftEZdE}y06+Lu4I|7W4)*X4mExm7 z)}e*ehS2=2#ArFU4F4%W-Geocq@n>gt(?Dr=$93dl|x?7V)GGX>4ZuUZUW-h^; zfmM{SsQJ|Vkz^2%8@|&ERHCNBW0#+t(E!zWu+;DYAXZ6J4no21=X)mME~4KD2c5 zIB`Yj3$*$O?<3up+hca=I(IbNW{^>z38Z?as#{v1Al#tl*IC<%q=b!^n0tzBE0E{| zgSS|-U{@btaBed%#1c|U3>9GXJ0Hmln|zb!E~)M~b*UDBy5ULAo(Vz^O@ALLcnEY& zp!KvsuLt?3HUpr5b*oh&V@U4B4xlePtER02=;c+#lnUZYrmGaVT%s_s$x4q~H#>_8 zvB2Gl^7(#{7_OF0!!;=Ha|p`S&MQ(9D4W!VYQ1T71SXc`3ieb;_AwH*19=wmi5x*N)ZM36{aN z+iBc^E4OpsFQQD-0IO}JKZ;?ewRZMP8ib(tXt!EH-7O)x9;t>il2sZ#IjuOLcgnM{? z3)vjf(s$l44s2K?xxS}EtdKOo-ST1N3^|E$5Ca2G9;&;z!wnvN4~EFF4*e(dg$U*V zC3jq<^Ij4|rz!JjirGQo28x5AWRT;WXH^bS&%MSr?GI3Mn@K`D0D8w>e^%!GVXSlZ z2ZNS1ZdV?a;1`1fWZ(|d0nynM~|i&H|TZhz$Te{ zaX1^C8%sCfYL8UR3TP%~ZU5N_LJ`lH{3Og-e>u(&_S@BZfB&jayH(Mx-;ci+K+F}T zSP6RLP-U111i7U=U0$G$9e?FH>?-aAupi^`A#o0RMpgE34<6uls-}Vt^YUj;!%i{c zgRF;s@n{#Z48n5^!ol>Aw{s2D*!MaM3^xc8+#o`#LoFqh6hQ;}d<$^tAqHa;&{IOg zI6`$*17^hYD2ps=}mF-#0UZlxOxC zY_3iKQu9B-6Mptaq0rPzaE zkzoY0O21m1Q-P&`&Lr38V_y@#2vd<9j=sr%yO9lg93}4r*i`h*1ESv|8A4FFC^VWu zT;0in2lbim{-^lvDdBH<$+2NapBbzW?m>oD-)|K{!qmUi zwOCKA9QG3_xCfVuCx<$go`yDc1?x#9Yz1h#0SMNo87@$ntoI6jKQ%wLR~TU#YZTz9SUm$|cjhfh{e8GFf9j5-`E+^4rl zdJy>Wi&jJ20~6eXnlt)8>g=*_(SN5+s98Y7$lczI6_Z=x9<5Vt0Es+Szhr?PpUB

KuG(LPbe>&RqIOY;aa8Z|@E30cOP@13Av$Ixmcb#CBbXuHpE|^=mZ*sU&3w|^7hyV<$gcpeZ^^RiG7{{MEEt&%5Qfth;UOJI6qHxt#q%1L&Lf@pWSN`|#hO>|fzo z$%Wze8D&RvxgtgH$nv}5#%c@Z0Poq(345(xbBFYu{IG?-kzEG*#JMj*rf3y%NOhDd zKrlyV!Q);JXXEKpD+kFfPg&t=1Lt~62N2N`KF_Pb27mb^;wjv+5e-BH+6lX&SU_4V z7`Rb4UB5B4n6qW!nD7qaUE{$dOy%7I@aREeREe!aMmYY$zD@B)c7Js%;o zBLlmMz^Z8Br)L}lEpYX_@6?)CAwrUC&z!zGKHG0NcgWtrX8@GZD(iA+1c044x7y8t zQ?1ocHxeK2iy;_LY0^Q`bK&wS2qYJudF%@1NTaI)AL0n-)$2}i|HV-0VfO}+hT?jI zE=6c9+Ze-tuR%Dy((k8v;}ztSm`P|qZnMfHUb;Ye$T8?S1{)%*7A}XT01Tuo*S!x4P@oVU(TT(9gPI%L7s#q3TY8%qB{^6~EJr6jh?MM`v z>Iv=D;wu~sDjMdz6aK&JA?gfZ~PRHXZ`dPVKuJ~tXH2P=_Y3--mpptm$cxJhpZ#w1rfQwf=>ANxD( zE#+riK3JKQ5ws2KsQlmTs14ha$ioy>$RAjs|8Rs)g}4C;uM5F6SclB_0+P64PZCY# z;#B_Pj;NpiPJ$6uujI*le$}4Ri47ay;eWGZl)f3s|A+G<0*ZLZ!vCTk&c^jW-A(-W z_9`no%fHuG|DSKK9%u~NFLL27-@UKS#uq<+*Rb8`v>wKv#)Z>VRQ)MnszdTQ#RG*H=YD0#_5s+#TF`4DZcH=A#%XpSiGc-9KALrD)NSl-HllX&o3ek zngm}+Qk207E8m0)T~Vpdqtne^{mh5qkG-sQd%xcHA{tGVeH`L}a`5Tyv}*P8NI^q2 zLyU78O9b&bsNvoXFV%xx?#u)PB3NG#Ne4(-A5|4v#1R4;x6kBuc7-idZl$_y?nP>5 zA5$HgyyzEHA5f@9dwlu`{f`m+4U)3qu&RTicp(+GfO2&z!c;5ssH65X*4#G|dPMBV z>06>z`x;|+k4*e8KfcN3|4NqLsV6OzfbFi7R%9_ms!>=o({mW{=1gtR(+f!Y5amKm zewY9Ig$VW2p$heDuPZYtnK`q2+4l#_BiL1+lBl}hPA}g`Zum)p`Expo2GFagr}2!qLDh&bz>XH&ZrTok_?*XLl%%t2DmBV~UarUSXs8mGvi#Pp_%s z%Beo2?B%RY2|wa!n=f>{UmviLyMBqAbGC+P*oDx(t3F{s6u2Them(s>WhrTn2C@#I{LW+i>{H?Jpo&!-gG)`yLI>e_lIaIrDTz4 zw9vB}$C?p;83BD}%rn9&L|gIP{BtJaf@tqolL}$=*s^bl2)%|xR6Z5Wa2zI1I4Q@8!!2(NAnDblj zJNM;+@LK_>Tw9!n#|OAg?MT5)IKm=cOH^-W9^JA+^b;aU>Xq2Qr4NPDfw_ay=+aO$ zqwSfuruaNqq`BG;cKfwG^9aKP4(OC=h;sW&qqw#No%nLPQ?41WHR2Z-S}>pNmtUR* z6%w8sPHgGl0s)J%?9;l0wn*PFe^}6WVyjUGkloFEdh_&CYEWzX>sO-y1zZH=z6=k8 z-R3>bqWPrpKlc5Bi8-1FS&)oBn9jc&*{)-&`=0MM0182c61bUvc=Ra}k4%@HU;vdDnU=?`P|S?!iv3 zp0tdWASyV|IpQ_Qxioe1&3lzR@dBYEymz&A(Tb1LkO9)t9qNJDV?^6D+4-?nWvki; zbLhfMO+DyOGRD!_{0bIF&z_(%x)ta$(+$+YV<@{&CzkGU%(QAI+! z*QHDHz&af|Uu8@Ay*2zOUpHmFm855CRWaSL*$Ul1cc$cG^A-GYZ}jQ)9r4Kg3XnaQ zlqFhohSED`Eqx*I^NKF{!)x3#S-}4y)Uvbx=TOVW%Fgy*{l8$1#-7c3J=RlNTPIJ3 z_nTssV7FTZ+_@D840nK=)C7k6l~0^$GJ(dq)Tyz9m!}Djm`3GBcCZp-IWEQ7ADe(Q zDVD`y-+2sf_{gXFrklMhJC@gm!XZkmOj5rnPedUUyLau8bST99>wR}kw zB4&?9B7|e=Pmk~;nU;5Ln2u>t&9u&Ibx_r4r*ht7WU5*NE$Z$6P?wY9lf@!wJBA6g*J_PC%`NOiRUJ zrwm@MrzL;QnMj_x%ag!yufK)9(|e7__Bzx2!q+{OdmTPw4pAq+P*^l(nUfNnnH~|J6d93Hvl{@Db9IG{V zQggLLA_9Q64koBd6Z48SZc6MwzjBY0alKyGlbU@o<^Rga#0E*oS~lnN3t!s#11BVM zsTX7EY}bS+tk+J{hUGa()xzk8M+(mNZIa7&7l?NCQv;~J0Sy@!k>dI0QbIMY9m`dK zjvgl{T;-*r9YaTas+s2R2?nRtm?vUHtcvmXI%FFp#PTfupS^#ebU7^-0Bg`oZ;+38 zj~4+X2Go7vN4AilM`-5|eEqa|IeT~(v#ZRfSDWvwqWQJFh2 z_2yfO<(tiRq1tidR))`@Q%U%p@AK-}Z*%P`-whuEqEeSI4#%M5Olw9#H)%?du9Uvb zQ4$qbM{$_&lEp-rY<6!3qy|!dibNa<(n3Gilntkxis729+$yNt7g)?GA5*+Y#HSp! z7*1m8A&hATF?eU@xsmO?Ee! z{;N93L3pIn4&qU?m=*2ziYxsrj9nN_vG3f1gYEpV_L6rrtI8QIuGi)*_;eERE<-$& z`KL%_5nqm}yfw|rJNfOoI0qhK2@03lfh{Gg4_5~>^&?5W=$2WYZlJdWvh|3Wdc@z* zj*BbmD)rp^Y>wipUiy1wVyPgFP`z%q&{qjemf*)`6I!%pbZU2_{M44yvsSy)ORs+WajoL5`u1J@rzLBKR%%V`{Nc}Ta48w*>b<5 z&q(rJ?@+ReGOyUkJ>_TOn7Yy|AsgTRd=v56EhW+S`kZ>n+FgI@PXJe#nUfBtns{Om zXUj_T)TC)2G4A*tgkvKjmSYqgi_yNQDpXG6+E@L-bG~!G-Y1;1RIt2NabUn7Y}j z1DO1vw?pI8{pF2{)o=Hb7Q~f%*X7D+Ez5B02-RzPL=UfGzup(~d*?1HGULrMct)Dw z9oYU1YMif4uGa5J-TP1%5onY-H%UxiU{qAn7Jq%^+v5MbRlpCeFSn^i1e&51Pcln6 zS)-{{Z{S5{W%no){(vOZrJ%|Dwx8H_+jq6*ZKV7-37t2!G`NQS19h%#i;?*(#&~^C zuG0tr!9*~k?y7L-&YCdhsP}sF+vE>>e`Q7!(gmk*FOJFdyEX#Ztn-Ztm$1CfshnOJ z+V^$UuMjN=NT{dfr(NHT@2`e(_;j*5+m?`*h1Ek@m%PkVJ?2x4Ff>lS2nT2Yoyoe@ zOz>-nNKB?v{qy|dzUSE_ zcRt#cvdekZ*`p(Q44yCC)cCxLDIs)hKl%3gZl>jBsfh@00sC%+BB{x)^7mA$+C?p$ zbn)f)vG~jp6^kXj${PwNvo40H$EyMZ>Tm*nwAniX=Lqq+J=<^YL++WCUkA4TFOn3_ z=dZ^8<9^hCoCi60SpTa@N=c%u!y*@Ez|k$9fHXT+h>dUGRQR&-WNwXMOFeHn_J=Ag z36-q<>b6!m_{j`Zku0A95l7_1rX|mEb#E38T9$^yk7sue4}Y30P;tcJGfC;LB2m`8 zO=zT8k$eZAG~Qt-@g-9uubp?*5&8Z!urnRpGT`bfNLV2&WLPb@`{`x;rQCW9vgSQeM2d7wEFo+&_no#8gz|V>Goilu}$UPY4fr0JAq*9*dR|==R=yX;ZR4 zmHi|9F(%cG%G1@IU5b3cE`7!|Hd+7n`$)J!)u39BqLw>-a^6|(VXZ{#U6rNwW|F4X z0^Z=_R%L=dkEg5WP*v~j;KYrp#LEh^22Vw`ZvS(2tEQr4H&B^R1ou{#3l!I=o93_- z@Dl&e_AqgH4guS&0>;dQIc*x&N4VX+qQ=4y*(zZ!qoKFm@N#x0JD~5GTxO-asRIX< zrlw+Z9+M#g_Vb?g{t<+F_Y1t>@8;XtAvjOK+>8tN!U z=4wCf2i^^=;!OSij@`{d8AQWq=&cmZSUAu{kifVx5*aPj5gq^4D3)^g&%WANNlep# zjZLM99_pt-53WB&dNB=*&#P_BvTckioZ;8JL1^xDA-i+cBsO7&A-c%i_)i}>cr zVT>%F96pot65TnJUQyAHmQHXas88j(CcCL^}mhBks!>r z3AJirPF~1eNNuaQJ*?atC_I<}gXdFEDk2&U(SCC9eCgo&G=ras%$xV7U1s}Np;HfI z-l1}2ELp1gA_;_mMIIjRweP@-FF$@&95x_?vSX*D=#f-n^nZd(hBZ{1n*V+X8!D(2 zG~eI%_2j#aM7b37G?t#Vm|LL_O&0fGRgP%JldKlra|x&H)RNs~s+$u0NI)aLczhX<#u0fj zh^L3BNUHvgdM<;F&%Y0_ri}b!ayV&?`M`tggEh!wTFvWYP}{{roq3DAu~)Ujle~&| z@GPc&gM5yUKDouZ3$-CKLxPeYA?{$Zs{RV+5C$LCK3 zidNjXha?5_NjfhQX?Po-)fLp0>fmu|^BtzB0#vhie?f43_ZsT#!EUoKd+phM( zI}e1ewl5`=XNnw=F$eDftUz!o&I-kN$tHq86sjjyQj*XI7u#QhCt3yfpkA8B^qXC~ z4Z$(v2!TVplKQ;ZNYWHh%5R%@fPA7N+M0_+yu$-&@dsH>1`R4SV-oEBgV7@ zB*1-K$=v-H6h@YJo?;|vhBy#0$sR43V@SK~s6gY3^14=p%G(Z=9_*dOte@_9=ZKZv zfqovQiH?bp)!{3c8Ao{uN6a*LVutb-BaIq~Oc}EW?KSoL0JJc;%d{iih&+w~4RiEC z`>LV)W~;%%dv2RSx2mg;#D|jd1qZJ#^@y3~9n3$!#mL8^;a42{beSI!>&TkbyZ&+X z?VLB^coNT_# zfzz<*0yC~CkJv^ABRycukro>rj>H|8ux8|j7i^Q z56E6~pp=q7@_M=D5`H(1#j%f5%wtUq82>~Gh$Ll}u4FCBX zX4ogpN{&{j%yO`Ajai;6h4v1x&yv~L|NEs^Hcqbp@+ZeFnv3>}Kx|LgSMbn>^7bWW zdYeKc-qXUt`Fh42290?P8YC@kC7O7GzQNfeGfZMrWN$<=K8$YfkI=32owT$xc*ON# zmYzhgs40HJcoNEJHj5149VhV!q(h<)(&sr=opmRp#r`9j$Sjd#SiQq`Q$~-C<(1SY z*P}#5#$QxO8~6ld)effTrf7~R)g2hs;?AR$mBK#wF22z+(7s>euNxtx>ON8oj(Lg7 z+x6>)`!IufQ)BeUJ>( z-TU}ONgV5?VQVQ@(jt9fvhW&SX~I0A7>+E%56N+kgjDlDecTj*0y#?t zv68&kET2FdE4ZBGH;WIBNcm8VFk_WALkf?&sni^M5zjz77n(g%igCCT0zB@_8iUyWC#@vp#EmT-{G0dg zq_3mu3K@LAsL^BTWJyMHCa$6e z^{qDGbv_`r2Ac{=*2%2bG$A{D-i3cCq^8l-IfnFr_wT$WY+}xP50q{qK_jO-8!C`T z?6Ei}qlvY(g8OQT*5=yX2#n?G6FNSRaN=IGeR;))0fjkn`IWr&wM-IkvlsP255sR& zE>`7r@TW`Jt@JP7Mc?-+{c3_{>eyv9$=;P=t+I{0S|@brN+8Nby9J&M=qoD=-vBtx z#23KT#pKnTS6gPv+@U^Kz#rnJph#YSSd5 zb*BZT61N#9VYBiIxt4{%H3{4V*o_gfB!|3$ym(Io38%32TGO@&K~K3B2gdhzVLB3O zjEal#Q7tM>rCF?EQ^mNiCN+kBxTeZYMuvC==kG>&Qj9$c*e}SjROhtFCdEmY_@dWF zG3<7${%p1W)1Kuis&#-erBD6-RA{E!)(vl(ldhi6mH=y^8H;?~#dW&eCSlZc#6Ul< z|8rwmmq*|M->|cB#OC#K@MDu>R-@JR+X~B=IA5m)cU*u$QcCuvbANi>2*pl9QuUaC zQxXvwA-DOL;1(sPW#@=+J~N7lq8ZdHl_^fSq3o>Xc9o=?z=A5_gW$$gw#M3Q-6)wW z@$l&p#cqpXx))R`Um?Hi(2Aer!dEr2!mq|>P)j8fTR&MW>la$2qBrW! z)cPMdovR26G!Atl#9ee`V6d&Qma0YhN7AEUyejHz4ST|UeZ>~s&$cCucO5;-LiTA^ z2T6>(B9#+3GQyJT6MC6t5f{-ZrAasw<22Ey_Q4{*QI05wwtY0Zm3;axbfRu2go>)M zcexmpjAz`p-zKHjTzB^{4$39h+Bu-9O@;6amHQY*0_1Qy#kGT`O`2J`$@^u{w7ErC zMpr8C4Jsc$_Ukqi{+Y!H_1&-uOb-$HCX`+hI`7uwOVuIrSgJn4J!DsrH8OHKIM#Du zbZ!3_yKJkSACc`F&oDt5B1vZyj|*X>*E7v{jKY2P$r;qv=? z1}_zl#IR83vM-hQ(IxT8Sud^;uWZ_$0*PWY@}1Ce3eYTT6Xk^8@QEL&D(fTL#)s&( zD+BMf$G<|$Tr$IZ6w<^PpAOU^egiD}g(qbFk_bhSzZCanr zMC5a638TrNE`>iknaJrA$PjOD9}94Q7)M}KevD)=3Rlb|i@r`SOTY)`AdNb1>GK^B zPb!L7S?0L;{Z)PGr7sJeb4UfBSR8f&tw3c?N4LSXNM3>x(EMY3ubz2KkW3fkOyhXt zy_oiq_+;&dha%6Q3HDh*hd|*rS}uBGd?Q`jPZKU`AHNmbmv4*$p9VX8yo6IE-7u^9 z)N`|kwriN!QZGE$QiRrtnW|1Da-oi|98trCNqh6?fUgqG2ol7XKD`2H8;xEV0>1_F z%n-@}mEZ89d61%?37({U!ym_YQD}U723`uqroh-OFPhpZVCAdQh7bj=KrAfSGjBoA z*1#eKuKLp^bVOE98+eb-qBNIQF#r_e7fAEAkHJ^6{C4t;Z0Y-L2mNhyFL*K1iKX30 zp6B-5mgm>_EDOYf#R*&B@NUvjPDlh`6LrQS;u2zDwD}RI_wmJltr5m@rndI68Us3s`D!< z6FOiw`%lqL)LMLeksJmT7bwOQ7a;C-C@Xuy-C&*%#fYvf@%C{t1tH`BQsCd;WZ7+pSyWJ9fWZfKDrx=)#(_%O{teXM6+d zN7-pM><6S#8CM^3MJDx-cTHpkvQnu|@|bYUdcX6OP@F#e?%PuCPr*NtI4KDuNcDDy zU;f4Rc`F&9!ToRuGuac}L&xO^p!L=;^;ryPEo=mEd0P#vuI9ziu@N=DtQ%ePWa!+C zR`{uhd6qypW#guD_AVBI5U5eRr4qk@%QsiLxc^E2{&s8j)kSpp3=k4`U#5&JK!N;+ z_skA_Io{`Ia4`Tl!QaOv>gzh?H&f+Y(#y{2aC#dJqJ@b>KkCS1V+S>Ayqw%B>|tui zsTBi_)3Z!%K&&$+&8n2Z3qC8{ONm~Z5|~JI>ZWu-4C(twhrEWZvbT43E+87zL0Aeo z3{7OUTr_Km3jJP#af~$lthDx?S!}u zk=jd=oOvm z6Z#*B55RB?e}RX9^eV~B^LQKd|E>8Y5Tf-eE3Gp#Nv$&Hwts1;;p|@YDRl$PAJ~LJoJ zWvk#)PvDQbX3Jf$$B1kS^CYkMIX>3N1+GOfFfHV*lmWJ?Wujl}WfGu9}(MLyQb0K8lf*M+=LNHvMVSTFS1of_+AbR;y?D?XmbwB?hi~xI2hx2P z_f4E5j)~U`%r7I(xh6ihA6FS&0w41dM#R$IUQSoyAPmc-T2>>YYo+OceAwAEP}agH zP)d-%YZD`#vqG|47tcRzPrRD{`YJ+8*n^QGi#z>DHOG^gi6|qlihFHd(Fu>wd2_0U z?4+~~PgEBc2j5rFibBxj7EqF?w+;P;Nx-YyW9vGA4d438*&%Vf$2>E4KdKQg%{~am z^UPB-M&|(BL{wi083)1&t`GaS#^oY4eH=N8-&KJc{7T;)BZ`&kv8b#jQ^UX;_|lVD z7Epr>1p7udT_48ty6sItyjVdj@lnvOwq2BJGH>WY+~|S~Q|asKDq63OyibA>T9QN> zdH-px8yepqK~xU!ci0(^9MUK*9;a4#3q(=P(Bp%!C_iZfV*MyYS!vj4cQ}{^eS?gm zQTRR$`2=rxh$xUXz_7ZjZg_HbxO4t9aTLNTkTkHGA3C6rEVO$Uh*k=I4EYl1gY|2F z!uIE!k1Qel(fF)@@raoYI}2Z|y<;Uv^|iUb(20>CSkqOG@l@Jt+%C$4gC_VKj*n3X zQgf`}tuMkCze)k6MQiL0Zc8PuUV?RM@t#f>-(Dw^qT9qN&PvYU(*3ff`=l`mqb2Z6 zq$z>|swtmGmdG*(lYy$-d!9L(r0vD~4W1eH7DLu;FFQ+Xrgs7e{o$rSTG`7#$xc%og%QB#O3Ou|@8Ko+U~I z{q@>te*LhlIh7Ty@$A|4>mw~i@7g&UF5MLdsaz)|YcEunRrPrMRF&zdSW?g#5)1I8%I` z#swcJ3LnJV`fhE%pd~G~0z&_JrqFb&kwF zLtOmR0ato32{Uc2gw6rN7P~q!UFMuDRFqnKkk&q)JOv2 zS&Fh6n1FtSo`L=|CpBXHgwp1}3C?rj01bYtLlAiS4ROpGwM!n8JK5;pf&2=Ih;gh% z-XT^=HY+q-BwkKgh!Ydyfxq9#0`ZuyfwQTs6nwF5`14}yICGl^P3DgH;MJo+vtAS#RPAogFCNb1Li)qWfRZ+(8?Y4u1 z>VZQNBF=dcVjR2J#o*HII4kKV_jP4+>CnL272qexz)Q&}_b30PL{mM340 z+4756n~!%YCbo#vXBxWWl$40UcZ1r7lajNp7`8;$n8}U-T7=c;`1f?Hlqz+`BE>qc z2#=u&4RH%S)iITH9`D+W0#V>;p1yt4k+*Xf6-$xk8eEq$+ntu~3|u?3yST>r{r848 zwO6afKMtEVy<0b#Z#t@$$iLCDpD@6Wt(+nm__l<8KeN+^CwuWYUz6bK+t-N&%LxY7 zpFbOWdP?u*;ZSzGcTlguZFVeeDaEL<=K&CV?wnA4?OOLlB7Pxc)Rz1}OG7&YX4vi+ zB3Z1)^m(Bu7byQF?GLm29FCg@RbfJ^--zgIZ@>uKY)VeIgVH`R4Gp5#{JLf1Vr*n; zZM_=-8L)q89<);JeChp(rQPQvz*~}!M4-<!%QqE9sV< zRe5Bd$UGosvELRfH}1XQoIUA~UJ`zCg}r44?U_R~FO#q!mJr+jT~zC=1ln40j(z1M zD!GKwZo}o!4BVo6(?@@AWQM(oGFK2la>?cdU%Cm{p~+N4p{NBA%$YG`bOaN#f{$LV z6`R4bQ+SFU3<`|A@Tmc$FpRR5n;h@07JiSZ%>apO6$3e3ZHW2BG&BSmoYeq3ci-KSHJ0QWWBXp0(v zfNp!33WH>9hRi6ql*Q3VsMKpFe`>0AUExlg3{H(2A5nwylaID6fqr7;0$52UAEP?k z_^S9;ZV~^@1XEy4t>LL39XxDC0!n4@j9d-XTF!g+pT-(6IxRUw2jRS@!Khecj|%KI zE_qZn>=}LEZdw`_80+A&$;Qz%;Wh8R$h;;t@3V&+n01ZG)g;wOgOR+BguMmLt}$-EWDXgljaaW@axiKjkBvuYNE9aBYoRDzCoqi< z1BU>0@r{J5&w09hu{lc|(f;{r@ocG+hozaRBBP@z9wPI0)ZCDnc8M;%VWPA8?vXMP z&#d$de|8Em%o8pwd}9$(4V|f#%N$I!e5F0&S37Ym3u&hP_*K3Nda&uL9hlmW@x);$ zuWF>s38ee1TR#9|)@g)qVjQ+_VjM;$mVcZXwykMnx5bM1^-C{*&}aUjfm))w!HomI z`(+C|lGtTyC#(pf39*|>oyvyTMiK4vj%_f1$F*7Z3Z%V&UOxhvgDGp(%-qTB+Wzz) zdh^sx&20B$^Yo`7Wm3MA%QXlAbn>Y%qkhf}msm`#8aVwomwpvuNeIv#jftfG1+vRE*uXo%G09ZV+SV(DnnQ*b4YJD&as)T~Y9q;g(d`>`67G}`g#Gi->$Bi~v? zPNIG!6GSuKfDO0Sexc4Z;u5oUvbQ$`nER+>+r2`RQR@nSTG^HDq>blz0^cRK5OVZO zMnW1YyV`{n3)^*5afJFOiVZBf@rVYUv0#~mwYCad$560GUJC;pN}#V-vp|n z#XVn5ML2;)zxS6ORr-rK&^bZDY8rI}3`rd=77_cBA81cWkaK>qpJcQ%1(|;6UdQ4u zOO_F5X2Ak`^pKO6U>bsjZEPH>Fek2XGK5I{PysxZi4SbY3Byz?B~`u=Qaq1Q-t7Hx6Q%PkziA81xSbNFx*mwA>+~iarrs1Obav zUMS1H0F<_!XMQi3cH3qwv$L;gDn=;Jy(mL_|Mgt>7LZpig%F2{yAQiNU2AdLg*FbK z@BvTjR@gmu4=0z*EYm{^xfu9>Vqg=2-`F%-B>c<2El`3lLv!c|i9G;erBObGNExVW zZVrH771UaE;&8;`*5eA<6#Vy36hOqRv?QIa6|O*x0g4LduxpGM8fp< zp>)i9N>TD>5Ay592{dL0gykeqrTjL8eH5i;4tD?n2w6N#^`oQ1I{51;I`fioR_K*b zrmL>p!2zudQ6QO_Q|I83fK*$nZ6iVgt>>CJ>nCMaLdKI@V2s>=Z3HzOw5l@G-MiZw-sLL|&fBK~1O*WWKv49uQaQ`C0-=^? zUxmU|?40wm10b)dh5f-qZ9%FfOOUBH|G9B~RENUaDOE`zp4x2twi&PmmAmQEhIAqe zY;oGGLFSSY9Ka{iPwFz|!GLoSz_VNoHfDo09l+fll*O!s3roBt&HFR+d zs()kig=Jx~BP{d|^q&4=&eSqHsT#~Q#EmzX&Nt-d;VdNN!>B=9zj1o>+hEN2Ov7PF zXro+?=N_-DIMT2uSnnX}Sp{g$nESl)XJI#7?7ktG*v%7)%FSm>?~5eC9)plV8~*|u zj^AR~Yz^GfPbj`F&qa4J$uj+L-56(EI76In(-H7|p);1x*irdv0dw9}B7P-y{pr7* zk>^%|;mYZS#(TyjY>st`ksPGhvDkhaZ#A`c%FgSACoK-}{47hR9chL5m>2kQ7URO- zu(`W;Z1^+##@6bM6DcUv-N1mBK(11j%S*_o`EZ8o9FQeS>40xmCdjLL4)lp=iIWmBeSptI)2%`~`TLh>$TM=ss=lO9A zV+!)wEMEi9v>EMDAB-hm22W?omyUp8??{ z48u?5PyaVH_$p+p5z${e=aW01WaMC7qUhy0Xow`_FlYmi#xPC5dAtv+!{zW5;3|{^ zXrS)>D;2W3{Mp5|w{`jF4>%X4+cPUHTwL9~T?2RV-dqFs#&>88UqPwp;degFuN_q` z)~;Y`XvlqnP&U*NuCATi#Pm*>o8hTv>&chaT7c9l3-IYtX8dYiXEcHxIy zFn@}PzV33V4sL9ki3XvI)1vvH&AnkE1*OFUc4hYA8L~g{KoJV>hVY6qf3?PJoX57z z(a~AhU~l(Eq&(Xcur2`0G5=symJ09-M{D5(59@j5BSepJ`v$<+ze~-h zXaC0lcCBS&clZ~;a`f`wNrA0WZV)#M_-ngq<&n=^k@oyIX<#FVh6Jt0&BilNbidwz z=oP7_Tnj54yub?hrgD<(|r9ZaT@iJE0LW#4Ev?@r;#Ee&TvXfJJ9e7+iDV$8pJOgoXUuN_2cEsS_>f5cxmQ% zPt^OfmUYVPDcf7Hytdu$0h1HX}^&))DB3F4Xuglu3qh| z&%Q1PWq&%c7`8x!yzkATz!oau{j{D=}K28be~puqSSIzV~V=B2{E_@gZ^V za4=YM#rg{+|Fpj)-jTs*14AwzX#o9s4WU4xuY(ZQ%yJ>kf~}{8vxEqchU(M_o5Rqv z0@_fN`@Cs^RJDs8MtISL5bM``Qk{$Ucb_BbhUkWa8B}a7i-%c){!TW+eu%d3L-08{ zJH4)LB1Uof7gt!p_CpL9#_cf~yT*`e+SAV@%kK(#;t-x-9iGz_blZ0S2(WY#2!vJWtpFmkg(004C z@kB{XJaRkDP0SWWp|kR1e;nWrtzQ&T7}ji+hA2Nt)RQ-E=|_VZKHMgrgM2jMIY0o~ zj=qo&5x55v(u%#FKp^Tu^ieBd<3Kt>z~aT%YSpfYY#9Hsf&c z83n)%<@a-5RAR)5OCKst83a-ahj+~y2;&YCrst5kmDqwLt}QsYt#@wX2Q{y=LF^@< zJ3B{$5ik%Ea<&L84B75_&*{VKO~Wya>-#*(0HKRy6EC5%3kna9wum?PXdkI03;l$S za*Zk;^k}6CrED;Rf*q5B{0*ZXOBF$W4}md2y?!G&nErJ96A-5?ks8IF8vc>ixJ5(F zl+Vogyi>c@8{u}UvF?FGzuB{!vZCIwW&P2i$_-T!&TCeG@wpqkj>U9VVgELqNYp39 zNk7PteY9t8tN3OR9^P5#VB|O#xp}0m$2eT#qG{jTQuxKY=s6PDHkc{A?8jG~K=Wg@ zL4$qg;rXBS`s^Gpjh;`}p=iA6kokJ4$6Y!MSy=QUP`p2CPw0S1T@$)vxTdGuBFWuc zYCH5aU=*wY`3$pcww-_l*kM44^zWn*!cQ#OyLRrUVYe{^#)pqPxws>YgM(Upf{bCM zxdc^Cf$sMkk9{M{_CI~{%Y(Ay2jVMyy^uujxFjp_7%U^X;R9qxFEr zelg?gvQpH0N>u&ccB}Qr>5js6FJ@ko^UN7Zs!SLmGc6$`uJ@#8fID47<8&RKN*m&i z3`HX<(C2e48k!;mG#alYIl!Ycsm4fVoJmw zn{VCn4)zHSbGo+|JAcmrATYec9@n5p7P;C#;!ZQtGe3bEQyBMv`9TNf!v82fo{oUb zCPt`Bz>zyBxVc8+IXP?h>anVNqJ+KYKJIZFc}?eeU>T<*J%bz+{u?>*UMRx4PVwEf zAMvm6GEyfPE(p6{lMm$*HWim-JTYEFNBk9@ncoM8RvydSEN&E#5k=DbkwBfGV}?R- zBRSuL^-{?(WoAb`v`<}+7Js!2vYL3#Ji9dvi9)(6p{v~Nl|Yx`)IImL6M9~5=5ef5 z{N5i!Q2N;5@hhU_(+c?sJ}enbqPKOFfNfll zESYQKjBJBrLcN`$g{{KT52~K}O_hrm%s->O2>N@bV;8!eGX9XFKCh1X7y5 z6G5@xIh5NCZZ@4uL&wx*c56ppA-!GKk(XKB01j~W<&~yc8J0u1V#@ENjCa`Sx8%** zoG<897}P)CAP2|y$nifEUT^>F&d2XrFTa4U(;|hm{Kl(;*(L^AWSI->GEG!K8uf|myP#&+`l0D4R=## z9%Bx{sl#>1l6akXX4_}7;HcVk>_ASvA8WcaqD>8Dom9iW`Ymv{6@$F@p-VE z*mCD_aM=J*5fr*QXuOYsi`s8asf;5hj)4$qr=mtndK7CZaS)A1>Y4zT#(#aA0T3!G zE+RqA6g-F2%vDPNhtatp_9SqRv27jq4-o1EpQkYikhjh$uPpr$V^p~sNQjoq zxu)fHWm(k(k7Qc`>UbqZMXE zMka%NwNUo_q1ihedL?&DnB9}LYoI0*}x&fD5?cIDfht)Y}^0!|4ld zmj}arn5sS;Mt}wh?6BX-{bbN3iX^E5TqcFU)e7QD81}ykLh;TsI6aNf-^u%_X{7q8$)^Iu0Iuq|LR-ZKZSWbMu0ZDaG#l-UB$x7dzLGU;Yh&p zZqtlPzHt3P>gBz%4rk{tVX;tr!yvXV1J!t=?5U^L4hHj+L?+RjrIk&lxmcjfy>jyd zIz<@U0;M{D7_8PK-9QmbDazrtdJ~Q7y6=Ye)@}<<>I0Ww)&Tpt>mg=WjA-R1uB61* zEgrN(x!%szq@r?aPIkus`sUC1vKWyXT2MQXh$Hf^VbfpcLrb_1=hYXq47TtkSB%#? zu!bzO!WpI+^+;F2ul(a&=is{o;Vn`bwiP#4imnkuN-&G`pP?gwvzd?~Y2)4?U&mwF zfPBcn?w^5E&j}>bP@^bY`VwGlWE_J9rm0W?PGe)%wU-{Av}yhsvd6VzOG&(jxl8wX z3iUyfC_;^;bt(HeiY{zF39O1i;mtQ&52&VL?@W7?-~&d1YHz9`0FY#yeeUt*hsIiu z9m|49Lo(yu_aeJfz=YThPtcKg5w40228Qa8`UVPjl4*bl`Yvu$v|Z!~bpI$77slp?Z5%_15Vo{qJd zHBo=ICq?KepbPG>S#9g=&8-ssTQPHmBAk(U4A-*qVV|GzkcNO-&tg}K>ZmUu0VFzyDqM67*@wOR}ff}$wGP2Ht!6MKx2;o6T4>y(T;)} z4CIugOG^;-uGm}R(PR9tMV(H;ZHau`JiPG@0vnOP@A3X>7%Sy{`dF?!H1TZ@1ZRze zC)|IPbB9#y2(OBn-Qx^v30zBimmern7214@)Qpk#$>#;mgsBo(V&UGRaC#D!5ficz z+xdwZ-egwSVv*KFVY7Ob$AwUttpk{DGlN_R*KybJW{#q!y4mp_xpc__NnO4^Ue0Gx z*-f4)75%38tnO_ z7FCgW&6EN-zRb^BWG0*-9u{Sdoj=?bwGv(%wfdm?SZBWym$bifGjheJcQf#U!rv;+ z?aB#%K2~J%1GJMK1utIxwrjgYkp6G%VEp$~xc_&39}6q}KTfAplZyRY-`8_fOFtI{ zBOLt#Pttrw5IfB(Qm13R^)!bZpjxmhXgnTwCbOlti;<8(lPT$VR(|^zAor)d@27?4 z4;&C^Y-4UP($%Py4u9h*_i3o-00Ph@$%AeR9)WDZu=_6_*7*a z?^f#N_U=Cnv62!cOu$h8ojr8>62-V{0XhP@jjwS|SzGCs)NOE}!>*065KSD>ecG+L z!0xW7Qw+z)N#III-1o8(Wrt5HD*+uBK|Sw{EWnWH_9l=yH6h#=w zSD2a;Cfuj1x1F=qA1QsTKhVvkXIf1vGS64g92~iWFNFfA;!UMlrF*8elOz^+q4g2& z#&G{(eM}GCN<})_r~0j+()BDK4oyOWdZE8!Q*{&I$i)Z2f(QKqUEzp!25#c(#!H3s z&KDoNkBemVDAEYo-s$jHyM+w3g6cX1%V0WC-c4M#M}7pI?o2Ku$a95xtJZSTD>f8{ z_^^>Revgkzfh8@!k_A%8{S-G>O&X6h_Af;6=cvS@{!dGr)flU`I=iXvJzXDkI~R1U zfF0V$cga&Yca>{mu`<$UnLMcZMv=2DND2}SY^_v)J~#w9PrOL`c!-@WQNjI5G<{tg z^RFvv-i~DtA5?iY@uyCm>qznABo^RO*5yOdnEDx?;Q+BD@iKK<__sPGyaM(OwU`oh zTy?10BiB+%K2}+qyD1({kUH8BCrz7+LuYqGCuZF@(A8#3T5o0 z3x;!s<+Tu^!Hoz6R#dI?Ey$KxkFsI-ba!x3eNsAjeUsqb3mEI9RqZO*5u}(kIL3i}lL%Ze7})==Ov%Or{*o zsQwf=v(1=0pgAc^VoGB=gLNboT4xp-Mz~m9iSkhqWYSycYf??$votBUQIP{9ci(M4 z2ZXPOzO31Pg9?`xM{Jb9?6%}OZiK4t+SH7pseP%EfFWDN5iFFw@v~`+2!1_;ZLH73qD0JK|F`!|0rj28&64_ zIe=3kZ>x&NO_-4T|Y%T|_&UHm&1_gU@bOnm5ti=kBqBpF`Nd=qQ3zdoB)5lc;GBhqh{{Z|7sbyTqD z*}eP8^c0pH`38Pu3bf~EuO8jsCfvvj62VK@)mlZ&^P+i?Qi@V_?hijM3yhN#KRnEy zTgW|B4w;Ce=c0Ee$4w#GkD`kcc!^7KO#3dIHJ@#|bE8}7R5HoDVq-cDrr*mxcGD zD#X*K>Mc~q3K&Grdykc(7Rg{KL)8e8wAcON4(xvU=DHyRNkmNrS>$4W>2v&|Tr8PM zs}M(bucG6cWx3rkZowt~*eMBa4(Lp%&x1#g>y;s2QF+n4R7CI4RlKd&?qeoF?medL zBvk3lAe(`qxZQ~;6D^BEfnYHz%l^SzG6S0|-bz%i&u?0G z#HdOyPtOdBC~6873I;_HsvV-uj|uW4pK-ihTQ*1gZJ!^I)(4LM{Jc_LQ8{Cx_y&2e zN`I{QrU2fiOdo#o_`INRR)1ICFYl|*kG{&T%q-4m&++jH>Iet`rxzRbyH$TPMVf)_ z|HrCT=2(>I85HPQ6vY{iD32Ih0HA54hW|EGX0ZlmeK6 z3eozYg_sM02C37^p@D+o*8w1~;unAke*_>z^ZA3^gQNF<0SIFQAb#Kr_5g~m1u-x6 zL)Lxau|M1wo}2a64Os^JDpy`BREwVd@fYIDSiGix4BDQR2OwOV+{BOYO~n6&lFB|wcVe-H{g~0>+oEIhxN3iqD{wMC*u?PxQ zk!nV>>A55)uls~$<7uQy&5q98tW~W`00}!SYMd@2GU~dvX4YEJ+WJK0n)Vin5C-s` z`JfPNT^DIZL1#ZRHP~60ZtLUS>xle5(yPf{8l(2|9cFO@8({;{vM|||ywMI|Z<_~j zzJT!^EtIKn?K2gYH3604*LtaFNmbp>D9l6Qv2xO$b&kEeOuD zW)>ckdj%%}hE*X!dwAb4NY`f_gBCZ*-$zGg)nM?-vn`)V$4=r*VkQ>uq*?pv+?+jn z@6uB|TTRfHpCu`Hj&u-)WBb24>vsd+=;R63(_*$odHymS%}!s)NFk%&UjY)jH#1m5 zHCF{9qM{05mMJ4diBcyT*nvA4eX6g6es3F=i2?rrqL`K?{7wOm?-cmw2TaU#{f_~9 zc+j~hazdR$1aG9hHCmwLVt8V0d;yVwGXDf15SxQ}?np85bfDupeZa`)C_hf0&MYh` zlyk~3oj4Zfd3Q0T#a4#i$=A>rF&BKL!i^)${2?g@x->^ z%=OA|=6Ek6UEK@rpO2xhzg}}Ro4`G-$~{K+`2j=$+`r6_$12(~RF72xFUSJMA-g6x zP%Dt}DkF@N-K&UVO(p1wz>&~VvAZ1m>VDHx0k$HgX?ReWo=Q5@C^m<)5oX;Rf4wL} zk1{R;;(>Yh>)|@+fqy5>cm00;hmBz~%>X+<4+AQ%1{2?P1n~$do(UULu1JB16Q^&; zFWol=5ZF9E@0f(0ZxmKB(l>F-?fpJE>}U%;K|X7Y3{6R`xFu zRj@7|U9$aevnY3?nwV#Ho}%C~*o2<~^LGZazY5?WHe@|714D7CHN@m~uIhq?t(YUZ z!f7-!<-il6K`GsX=We*pt%8DKrlL>^oT%eOuYkeh1|Q?Wpq8Il5Hdg zNlrP4hyu;_p8mYkA-%l7v*ojMN`D5&lpZ0uN4b`gZDYtZ4&(Txhq#mJBqE8>78 zws`^@u~Xf_{8_cWz7y)Z7pwm>*6tq&B{I`1ImG{0C`h$`x#>6$!0kyJejvfUUm!{l zni^v&mKOQ$*Vnw7oO(pt%@nN=5xc}+7QVx5gKUSDlQF5yNsbEI5w$~hN5y+?Pb7** z%d=;%F|9v3#qLNtwT`YbxL!Zldm1)(Zi@6g{{RH z{#yJ>m>mkS;trV%uy+PBUFr~!*jTq9bER=S$PC4M!3t=%RQ*n{Z%CAp;XiW#|AAmC zGxh(rtUYL4kk&HDK z_q|@f*U9xoCkYOj*NVUj3L7YHeGP{hCFx<$uzSo$vSgGC5V-s7ugs002r}e5AQ82)0l^QnwF?)pfb1xZyLzZ9GC>CW1==7|2<1x-?y9HBM2N z1cwEk`sjMgp+G>Fda$YCW_{#E%1wSILu-9^T_g_;EJR=Aqjtkmu0T1K1-y#!716u_5*?@JpH5JHx7>h2tLR;@hBzV-ty8 zpOkIEumz08Z9fpb_Bh8(RTNB760MCep|D(~&Lw|P0)8fSceM*FrlmZ9jd2L5eW%HH zNc=yM-GBC)T{|JY3@*Vvi0uJx(+RG{$WOJbIK38*q5GsGsjoeQx?8oxE9L^-KM8wIhV=SUj4Onc5udOsij+S zI`=Yzk2K9zHH7|@6uj3Z7|vb?Idy{{L`)l~iXg?&>e9T6V#rDt@*l#-O3t4dgcCOk z5}A207+pqKMwx$`9B|APc^gBO@5Lw!*$vI+y%&lxFPIPpN(da1D0l|+#kvc&17SZ)He*w!115*@PDw$WG3ou|8fnOz7{U^c7oU~51_1J3UxDxGNDkh>%To1 z|FR?u`O*Au@?Th6q2N?C+0-z9$UfbAEl`{L5uH-NWMWF8YV zyJghouED>&|KteN@~)}}?CkXn{06uNThC4X$rD6~D|YD-%^)3KCP+3i&>JB?7yU5d zlCWf->rl~)HuFSq7}ehZ^K9vE|96fy!PrxweM$%&v!I)7Y1b-U3R`@@6z)X4-OP zZpNx*H?JZ*Jae0u?~sq4UQ$FCKd!|vbL=cGk#=OfN3Ma+_6izauE8qmjSe6@{oMY?hGQ_^WPP&1nXDVbQCqoj4 z2fVc%5c>e8S<@E!PMPmWnEgL5ApgK(c&2G!{~Zfhs4`?N@wF*i=J3_%ztuIM5rD5Gv`302p}SslS3|k^=FU>NPt)M(IxC03u&$6@T&b_GP6D#32APOFI zgLMbiYfVAk0lr(f`l$Q#;_|G<0%9&QuEJBGRrARtUFx5OrE1zM=D)^M%xg%*ly>Ld zH%Fl}j;~2j%vB%c=l)J`M+vZH16XEjo%^T*J^|)^Kd#0125UAVc^K%KH0+5TP?g_| z6B!GV1R47bfASaza)rD$IA}s54XoA7kMGX;J2~B+4IU5^78q7vDF7es&95W=N*G&# ztVl?5!)Woge2~h-UF8tx3-A`%$@)9hzNO{=G&%bRrlT^!05w3547P_HHlXDg+=Z0Z zQXi<4r%E4`ml(ueUKmu6+0-7PHm=|p{1Zpeh*8<$h3{qeeb`VFV#*$ukxCxfeP$o5 z0EQ=ug;!Rs4EdHP67hvoJD~Ch@2^?tTg%QNZ1_(z8%tYR6@ryP7GCLlF9WNY) z-`8pJRi!NkIzwPZ`K}P?WGpOnLZxbO@O>fpj6;SXSS(9D<^V;lB|uJXuqdd;@ZP{^@TdO`{Zk z7{%yKe>0t#ntD&2Dhw5emSE;6`#PclnH}xOomHdVYWjfitj3!t+d=Ts8?*)1?tRkpfbtz1!PtyL-m~q-=OgSA_B_{7i{2P6yDpFkCPrm zaFyMIdI?XCFeD6#P(>Y)q@iKnfKt_sDzpcYgc{(iv%Q-(#vPaD#uH_TWrradV#1Ys zMO?@(h*&DDxgtBoqET7^|4CZJwm_O~`}*pxBSGgz1uH@3oivS93^@o6e^daFl&A#_ zuKM(xVvIRI5MH&aKi5}5Gh0r*OHtiNp-iSWTtHOHG%x5g)EdCZ0;JT>M#4?>rwO21 zX=4$t=~isuI}yIa+y5b|W|{mq-j3YOn$vF`ph3Lk^jI&f` z99gv`Sf_fwaQY@#@8q--x9`b}52tK^l7TTnL~$^N!KT9Sf;#}0L8+^CwbkLm((B;Pe$1LE(nxBrQ z`V0?^Rm1T+X}&{R_J4j(h)n(Goakjo-qDYZa|2prWp{>Jf^vm-c7!K$ah7+cva#Ds z_5`loL%_y~yb~cG$c6je+m&XWfcevda@5#bk(bz+^ssYH?^EBepo_TMz(|~~h~)ob z?aSk#?7RPG3^SHt?2&!n8C$lPv9H;qkiBS;T@uFFcam%&ds@j-XtQTa(xy^&Ar(Tl z%%3i|E}}d&ikD6KJRlxay6))L;vG-R-qEA4}$Dp%f(rk+R51& zHD23j-KxInlXv2Ci|?Ksy>gszc4&!?XH-|SMnBeEbKxUQ9~CFGGSA8K0N#9MR)_O- zr}ZtebQo=?n$AMTq`=K-st*A=FToZA49m*y9N!;!Ds4b24Lq8-EZ(^scAl>!IoWx1 zZ$v9^4Ks#YF*}!LFvkbTFw8+Xo36KB8hB%4Oh@kkKXZGPb5%3czF}$P+E{eTN`dO+ z!;#Z%XCze3UmL#ldbD}3A*A35b~*lD{%rQRYm9GbXi&Y-y?VuwjM_N0C#6^>gPcw>9^OlAr1MLu`l}tL#w?21&{bCD~ zkx~7kYFLroTK+>y0qxSOc5BAaUP|o41dW=)aCPy_D+wep+Wn4LA*xh8DzpepaJ7;D zoaPT4cOZm!lMq(PGfFNmqZf4kfM#t%_sa`nsZ@|D2GP$T2SE4I{;l{;thXP7(_o>i@C8p>(eSg~ASN=H;8F%w#%2KWI_^HH@Q{_V}wU*gbhMALH330oOgYY519`XVsM5p!=kcqBJPu?q4E^#Hk>M%|@7nrAXw?v{#;G^*S_|vb~DUROGzo2ut z-}u7YVlj%y7~w`?EIs%4xf{dOMNl(MOU;e&tdxfWS8aTz&LZ769ajiq)5`ZkIY*T^ zCyp~aCRs&aOsn8Dq)efTVcURw$-_#3EdiLjR@nIq6t%Skj}DQRb<*WhO&w#X$`YmJ zt0R_|O3V$_wQZjebDT{w+UVrC^1Qigm==OmtWIbnCmZM9W$G9;Pk9b~UHTyQIo!JoHQ4ykUz)zCLM((+aCt6n~0^V6UbFr(}=RCCV!n# zcQo~pcY>7h>g6GViT>+1ORp=GST7!@qoqDiS6cRxLEo(OYN>!K^u8As4`x5e#gkUp zdBh{p`|}8p^>K-lJP#!ONcu&PjmJtOahRF-{xV5OFy4GZO#N5Z(2i{;i9b5~?F@?o z$4BFv%p>)2%=MfyN(t3nAG;LYjm^(W+xlDe$dt1@>i;wmz-V#vV@}*v|IDlJ6DpXn ztP9YzR5{lb_%V~=O>93j!qcSKn%~cZf1my-xQ6@k@pEH|907a_Qs?i*4sx9La9(?a zzgv(Vm6@~w88K4=3xnlBJn?pJX(w;ab~V@nD6B$c4kR&}BkL*ad&0uulx57O+2eMS zLMDa<|^A3H_HbaTm_vyJbNO=Rn;Ad)LX!4p&b-0a$@K=rfRu2u3VSot?_^dTyG{m)sqH9&4vTR@-%w2EDxVB{Kg-2KQ@}H zs3}uedf;SvRP`CE^@9i}STo$HVVF8PPss~Ex2K~atdE+MVafgaJzFmZDPGSN1d3eQ z9?WvEM9#jQm*{@Kv}iM81$^JZ?F#rlQ;50+RjiSZWab5-%+R{<+tAF12-7UXq370x zCFOD#4TnS;4>zS64r%keHErU~=zgw^$K!t>U=csK;L!veOIFhg0=ABU!#7db4M;4? zGHIFgv+l0U(_S1f|i04A1D+v(i0$>K8 zElVLwD?AQAjy)ku?ijEQ+YWo6t;SP%jWJr3k5Kn!BQ~02p#_1YinSy z`{XTuc~#(Ii$|r(q3C= z;6R8Lm@C)^mcfwU`TMeM!a+2!@Mh>cTMJ(WiDwlC*rNj5cqUPtXvDwc%74W($PFYC zxj=o$J1TfA0=Mv)YqR@1ZUu)U#HvY|~whRpY`~&<3;7;IC0hl$WTL+CK9;$tyk$xL=w(Ag4 zr`dl*o$z)T64`^&YhMPA+iD8DLmH8YKmD5-^y#~rA(#bV;6>&iyo+*Hee!aqXc=or z+D}GPG`CX$xt*j^W_RZWLkxSz$NujS1Fz|GYoh6l7t4I6Rmc>@SbV1M32U*5vb6e~ zZ4jQ59pI|OnG&GnxEF*{iJ5KTZ5SSVSxE|II2Fb$YJAYer4 zw>i7=$UiU9Kjdd|KQqvm>ew$ah9|; zxrLR4^f@XW1=|)d;DP?VFaMpdxozaHx2;|0fAF?pxnm_Bhfz6NbWhB5GIfwaS`>tx z!M+^~I>`M47rK2#(EGMxOHv9p;VhP>@!!uHK9~seNdJ>VA;CoafUd)qP~5bwlWvV< zjVHKX;2_OhOPE=FDgiNuYDe{O4RCc}$}w|~MldayXcG9=-UQl6SAy9G1`*IZFC=g8 zjTKtXjQEOeSx3?j$GW>i&+GS2_$-X~qYz!b)8`;jKt3RZ$spdqqJA-tB$o+Uzj%bP zh?)uMT)+Pa<1FxWedD4=(?X_Z)Q|o4HfF<$u3#Sy>gWH###sFPa4U4pmb;N5M$cIq z{J*z_DX|CeHjKnn#{d24GX#R?3h?<*7WjPqFGiwYA@4NEcLTA}-yFS+?9Lb5Bjxr9 z5_Q^Wp+iWcF}}h3VQ*AkGu)(k5oS%Uf04IDMud#%IY)k8MeSoIk#FSonad5QycJpH zNqL-BSXN?w1hmt5-pkPZ;(g`mzR9|7DY}~-(ZSaOy|R1u$Qg9*ucGcWk{7(t8(1BB zPC&MS%UA1Ivk6_y({y7N8x@Ejj^YGFNyE@JhF6mIYWP#lyxE~2%!ZepM%et4Fcup{ z*_a~R$(fGtH1yuI!XEQs7`0Si)8nSFP~lPV$F;d;?Md%faM_zQoj$^pU^gk3 zIO27G_=ZMxF|TfQnncct1K;0`B_6wzZ4rG;eLb-sW<^CZ0d+o&t&YmEb^OAp8!~Rm zb!Irt3d3M~?tSI!_z>3Hm)ku<+azLIWRG{zUb$5Dx_}_C(eZV0&pLfHLk7b!saa!X z8+Ds$cD*yKO66@)ZJi017#NPZ7k+kyWJd3u{B94J^1 z??qg&4J7?SA$~|>)HOV7ph-&zF;prXBvm6->LoXIJh8{A2ST?k9hKoPDESF zzC5zRr};+CtHcwL8eYvO(wz&wz(|sL*T_Q$Y9HW&GwozXu)~kZLvR%#f>4IE6a^WL z_fMV~w>~g$YHx;ya>e;w0$T+zRHL->8bAKdRnnc|C*#8G__S~|jkEK~dHL!Kc@9q>7YbgMOCsrKh%fV_oQqdZFEn{}1E*w< zmM#w{(XYxpCF?mwagU?Q;@zwzGs@7h zg4U!%MH)NUsr|~Atfpwy;_js%b*tZ>CJ)A9?oxJ)2Z&K8)yVZ*8rljZmDVs1OY5l& z_YX4zq)$_@pa@I_Qd;33JeH)+F0y0{vcJ;3E)3kne6K$LM<1oLKGQK`ESCU`2hj$7 zDelLLg|r&VJ(i>as=J7V-ZxZ zqnHj6Mv6I0nq%fT_Ic#a%i=n+S-D9r+K=HJG|MDCvfPiLsvTQCT+Hkg7+DHP$NlZe z{YM}Ru-^AC>n;9fz0VG;Cjd)EKyj0&4nUU?$c;dXWjJ?JW0-oS0)%1{)4y5-2LE}T0HcIv@Emdwsc8QYE=Fp}yoBW3?)r1yU} z@-_iCN5BvWC~^|<_RX-uWV}Huu-lakmNkGh_absDPgO|m?F(iJ8013#gE*4R*@a=- z5vJk)yI53TUKY;*+E;L_hla04vzng8?c)1Z=0|nE&BE zV9>;`N30W2w4L z-V?)-)UlNj3_jc%oLY0m^t0=xazHR9GVNZjvOj1=##4z>bHkY?aFTqUNF0HmaT=&HiLr6|L76gOKM z=VD&1aKXm7TvgOhL+aZ$@f(QLcaC33>siMGwr-!Ash=N+wE#=u?@!Dw(%^sY`v3O> z>jsoE2m~1IJXCAL5fcBy$r0DMfzm^7An2C3n;!y?YD63i8_p#KwIZ=XzOq8eQo0Hc z1g2`wa*MrD&!~>bg<5K`nh{c<ZP;d8EGV5WnhGHJz~lbmaNrHO=vD8Sub zG8&`HqMDMFj64LmTk|aUqfW#Ih+>K1C;PiNp$+mp$=oy4J>w@QvCD81_itz;k?x_+FR^3vOF5^KgE-sE zyUC99zJ|@r`)I(I()UI8OJrF1%tEtl@tzuF$@TDq--EFfd4j20`Op<@qcQvYv3L9F z*Gmp}rl2mCXjnfKDI6oTA-+7>bL#*nwQqAi>xUP&$gH7Ql$X^grGvsqm@e3AfZ#Bh zU4;Edev`VTN)BZS5=q^j3<^b7h%-W4tuf}NW_2@Zy4}UIe6#){8tqbVW08-XH)TeA z{P))M>zJINc6*!q$yeelz37pm`jyZ7A9R&5;VKI0aZjpNmUS?ghxVsEb!>tRmEZnWA=pcAI7t$Y@h-2B5MsL8(kxQR3VXZiB zC*bLX!GIq~?+EUc431W>#RoEgt-h=Y1%|xaNLCPVZV%QHJ9eP+S!2_4+hqLtDEj1l`gtnARBTEPS~IH;ax_!j7)&cMV@%+0W)W zx_W;veDeFZ5mHRLWAIZ4y!wU<0k4GyenJE`(XcqmcEs;I?jaHf60l_eMSVL*-yXdW zfYbyMGVC6sk#R0^lH&fWV$CZWHysh`LI`hjU4-_>PsQ(x2l*5Ogp=ZiCsR>At18wK z8Oc6tI@+i8GfBQq8Fcy{sP%g2^t@0tRqWa6aVC$ur60%qwcpKJSr&LqA2JPXzE#Sq z8g=>a!Bi(`qOka{Kl} zr@Kg!b@T&MajT{XyEAoT87MIBI0W%p-BYHs5u>j@m`gVAMMnOyD<{5_ z9VW;m;3sQ_ee81f#t$C1R+GBY@=Fe0VNb6+=E~21nfW00X<{=`h3iEX9CBrE<_hU^ zwc{!vOQ8e`2zP!U{F8n*ziA)wFCQ1sEjPiw)k5a+UgSLwr4WR-k|rX#4;}xB1z2SZ z;CrMi(f3Ez--R}0iyUBj!m28CbINjz>0nEJ&Zs53)PPO8iaB)`lZn||`S+eFvRwhy z1$&R`uIF5Xy-mjQhpE+z3tYa!NU77xoBoizec}TWy$G4xkddjtBx245GxVftk5wI7 z+aE8i_UO&Xn~4DmZrwu2!;rJdV;@yXUPpyHssyGR#g;%LJcWgKPG zL=$dIGYX`k;%}9uOcpQFDF=`zoq5@&?bU%eqrW*ce&K3iWLdD0adl#{h&>?hEhN*` zHj;QWDacSz^TD{pOpx~7Pd_3X?4F8fA9*HO>YC!O4e>@nqSkqthfzhzw|nsmAJn-c zHD35y4o1_&yEV#n;mIa>hIHUfKU@PbR$StGFZ37;f?KtZNL#ICbcbBo7*?rNWw?8% zO*@G#7{Ib$Q6q_udfqSwcTO7%TIU_`q3l%Hf)wWwx&>TPu$||l$a9Kk$$q?J9r%I;p#K@YP$3DsIO3W_-E{TWn=#x_cUWx zbi3NZ+B*cV@m=_#Y1*U${{!dNAYPW{Ad-|aV3L&5@;j#qZMz8o>--hdyJ-GsCe1ZDb1|bH&O2EJaxF-paR>Y=s2UodMs;6UP^d}&CB1ZjO zK-52GZYXjG_#M)>fdKyNyHx_up|b>Y13;GXZ($%XZDq#*$Uo&aQEmW8?*CL9_(n4S zrHb9XHdU*G3Hr0QN`mpT#%UFYlTCZxDCjj#Qg*I<71$SE8C)ql)QkBf_0-M&M0RIQ zJ#EU^#O;wi%M#aWYo1(Pn(O(NeBE|l!dmP_{miR{<+aV$mm5Jmby5?z&adU)E2TB# z_R;5Ca>x<9mh+S{aYpi82;uw@pUV__<3$Jh4s3E2`=nE$xzi2`42QA*fUl{B2`ZIb zri}|#eL@Cv-A^$PrI9P_ar^inHa5%YIo5U4`Bb8T!+03Rj3tp%H(Q1gr`aIdFX8ua zW+fU2F}&_;33f}sz~k-{1`y4EMULdDR7HQ`CyD<~99TjDm~Rt@<(W|@l|3H$0}7u^ z!M^VqA^>Lw;Bug1R}lQ1VdMaQ1aczF$Q~TF6{R?jZ_xTdm?W}2fWIgJd;F$OE=Rb4 zbqXngfyP~wfwnIMkmRx;WAOczk>xY|_X}|t>_Yr&*^Om|m4#&-K)SQ20_Ri~JsMOc zVW`m*IP>i9VA3#*hZjI&;o8)kL(x)iUjQ`{9ncE^0ta`~4!?x}Abrd+%@U#E-^t44 zo&81sB&XMg+O%r|{Uvn1a#nuG%o0SPp_o$AM zL)2<oW`*+7R0 z0p{>>f8uRwhD>XEUIRPdU=VQ^&EVTR4*j{~zjN>~GFnm}^*_iW@c&8{iCQC2 zBY`aq8w=t-Hq2#L2OMiI;Ef}|TDaA=aXdPxCsGxau@;zk_II8 z9Lo_GHgGeTO~+w^BMzdcR_O^zL(H=Fb--0}(w4Y3xi+895gr47*urRnY51E?#VT$Y zjPN^-{`;=UqQP+7E(jVoI{^&^*9mM!?$34X)o*jtV^$_=w@7_ z`>xz9*prHQguq!F-MDZnSFH8$8#cAu-I%uIyDB~thb!79ZhZXO^;W7x$${p^^$APl zC!2jbRTAqq8nz$EQGSs^yih&Huzbe1P|A`ZQT$@7g{(ZeC$c&}GCNYaCJ3NP-%U#a9Eo0AX6)WbKafv#$2^N+CCKVsoqpvBS z64pKVTuCTI-IhTQ(U;8KOsY?w8r^qP^G&y!@6k*e0e(%Y&K0Qi7<2<8NV|FFG3Fai zOL!zRkx9 z`puw&QtluUEnbMp@XTaSl|NU?Gs#q)36$pH^4BMJ6W^AweMKae0!77dcNlLolXJ5A!00!d5~btKtv!I2!*a3%b=yWCdI z4dFx`hF?v1IZAKYi8Ntx1~<|r2=nUj1MAkLm{;coFFj4_IQ*7vf8llCR{|MMXIk5f zZ7y6ld*YkWB{k*qkkeGYTZGk8!UH)iv6fNy=?wSPv>vT+{)`TNev&KdlZOK>p(`I? z!{pg>WNL$(k=i7BXV=HxkMxXDIxIcW-4C|^Ab3rB7sy<-2Z&Svl_Q|(QX@l6;~S~{ zJBxCQLaVv0`>n3sbo0A=Ncy=**q)}AtN^bSZUPs*D%+kMnH)-0o+EwIkHwfv$8V(k z81-s@TkzK0tjNY7q3gy}=($|em!Fg-%J;sVNdNpyj&!3++BY-aphnf!ADZ^%$DVf( z$W100%UPZYh!29UIx14-I0tq%AH4uAYC3~n5LdnT;`Ro!Rio|~shbEpmce0Ev*^Kh zU`qf7yX5{s_Uach-|7U~DKZZRl)(xzehGuI!Qs)$8$@S>B03`|;EZ@w11m{si(805 z3&%2h2@lkt;Aaa~HvnvoCSV#H=Pu*7=)j3a>Skc(f#R%Pm!W>5N*BJZx;Is9EM1nt z7PHA3eP?*yk|0w3Wwx%==Pqd_psK%mxcIxn{I#Lx8cwr&3`eLP2`KbdS2prlY{ z7fj<^1pWtf39(xw5#haa^+ixDEwG&FJJes5>I__QPbHJW>4PpNCs9 z+)V^Tlp_Jk7nZTjG-gZEd<|wg7?j$DzuGqaXRUkN^nYCI=F$sZAzbFt3p?Z}y$Oe( zh4YU>B2;1PP`HZGC@fWRr6n1^I)8aDa&&dSaMMb#J(TL{LZ;sDl3;ektz!ZPrc#2tHV3^hp-IhB@-rLUUn!(vo)JS%DF8 z#x(7K!;))Y9ex(b$caCX_gd~{i3y!1-2HJqBKk=BF~g^iKgCxK+!R(n+%H|Y5?RKtN=da;^2j~-IQ%u0Wb|v8R?zpn6#hVjt974@L>vDt+F?|1At->KN~GuRJmh(M0Hi_bz{Q>l`qQP z-}u$ySA@?39pj{9v(8AQ!#trUG5dgwCdE-X<14O#GRh?@5rQA(3WJxgJv2F#4(L$$ zykP4!%j8=8zK+v65-cgA{h%nspmR@#Sk=whYhMZ**0CL5|UmD>icJ=GVL4AhXUW{UV?-j9GoK7CgJFU~n?kl{zKxNFHdJJsywV7nIssYDL~`HJ>>k?qAUkyWh~gcBbptiw7$U$)D8S|Mhl{q#XY5!9 zM-W{F2iw7p3>et^Cm}cDXAbIj$o;ohBm4hm$o#Iiv8(_&hVjAy&e%_dD;OAzk5(4u ztx8LX8To-k`Y)T-`n3Wa1%(%yb5P;;ja&711v)u;Ftb4L+HOMb1Buc^1v>3VrcPNp zx_!BgVrM;!MDaucx>=$CU7ep3gJwMKw7XgtXVV08f}jJ-EP8)*_IJ097Qe~bex-S; zJgKGXjEEJ3$D@kzDGzSgcvsAbc|RSDKk2aeDe!Hatp{f<^W9f>ZLXg={yJWeyE=9d z&Uh^3c))3mJvk4_IRrBu#=Wu33{EC6ud$e6oqhBb<9vJOIE6_}^YPJss*Z_s%5K5U zhnn-5vpEzWC)Ma{ujzBKvPJ%2F1rXTdR zQQYPkMa7*_>mGt~{Xm!Unf_@FW;OrB=ZR}&uujUk9(^&?}MootQ9yY-DGl)P>)A!@X)GqmgYDc z)cYGBHeM$+DVNQ6VLf_V#re4DO?|iW$=o6ts)pPOgyn>f0mZfWeH3lBa!gQ035Z-? zi_8ZU;R&gUZs4BNM*NKUV&O!eQCuwS80>*O?mdIx?xBF@diZ z#(bo?S$mPU=BVg+T?fFH0SqPXLR8^r+G=|lpoM3l4_;l5PeA+;3BHe9e)h%e3*G5i z)1WfO`0J6L`kRp*6Rx5nW$En{ovfw44T39JRtxLtqRVz)vY3RE`CS-oPZtXZECxOF z6t4P_L(iy`M<4(6&^V)#Te|OZj2UDuvm@Mx+BYx$_|c1I$~BZE_edUb;;l6+MlLqR z)WRw(6mmVA?g~WSxxrg(banNq==eH*EOJb?6h6op*eGQebND^jVt@e4-KZ8G=v6gt z1>`)3Z<`;=5!9WtgXFe~g^C(>^PVT65T(>2OJ}_I)`P)UmP?G&XoFE6`% zZtS!aLYG6SVXE`Uv&kH_puu7`*MVn~llRXOnm@-bM-7H8tGBy9)>Y;-zU+S2q6yk|>RA#sE}p+gGI<>HmZHYE=nEbY8DRbp^2mi&ztgo`xyiL*^D>$M8gESRkB zZLiY|Qp&!j+Iy{PyDX%s2ySb-3-`x+on@fc;!alRDStX;&R1`+Fws7@ZW}Zo+Um9e z?ejkhQrD4{27{ryh#sSQe%5uOM@)Y8K9e-)?^}UsaOweTUb*fX!`Fc(WV^iJVP znY4*lh}+$T%Oj;qcc4G&V&>iWe$(J5J?_VvTdq+JdJSL7XpyM+x>8)~NtqWRIUK_d%MWOw624St)r?k$s8XMPG*EskIoltH%u($1EP*V?M%vtO2 z)f_GX2JEBUZ>DvHgbsCxg2bnKwcVYrJd&<0PzHxa8p_>0HB^~ zp&Ou@LXft`lS-d&))J#~0km88dPEg_Gp1nm)nnJ83@R6_pY-+`p)W;K1-zjOr2lrR z*Qv)X<@ES^Q3Jd7*tB1%oKUUXkWejip5?=l$3M>UTs)mQd%kOB`1ZMy{Vv>a8y1Nk zW-HjeXbT<@GsqDs1@y^7&1`o}n?&TD^$Y06J{exA-hBS!J|l~7nvYQirAV5x$i)+^ zjz~=Vn?{`N-Ka|0Hk=N5Iqk})!1FN)&MvlUS$K!=MdE&FZqQ)6_4R8!~l zH(Est=!|&WkMdZZ5Gi-hW0%nFq!X9m_wI?PX|_}u;)rUQH@a!;PkY?mpMAPB^AagE z#Y%|bF}oBnZF*LYy!A#P^MzYW-njg>9tEnUHvWe1FFE-SEK&xCQI_Myb?pkQo6i-l z>pZ4orDafBBb_F(e-p-wFt82IxsNNjQQP;$hh-}5a1-yV+j6JjmKa1-x)-Oe&x!Xp zT-Y5_kBZu^l3edTAPROkz@C=fH0?{jlC8BQO1hwly~Ka9s^CC7aTd#;?Zio7GBy9! zPK-nvVS5^fApGO%TB@-tDE=%0zLgNx3UJ1_xD%>d+CGnr5=KTbsco#-QPU!*Ady_# zlPLKOD)|j1X@SZd(aprGu+NeS{_efKQ^`zo&p^UY<=XFq+6vDHhNKzz8hItkZ^NX8a%&0TnAG za9sdfY_OPc7s+nf?QaHz0_4om`-oaRTPi$IN}#{YWv&?h21pCW5Kt{#(OgIj3l89C5`MQwV+*%iJ)=;H zDPXpO1d7r?9%ZNLfNfiWR!^W?9U$eKZ87o@M7<#!?4LYE;*I*xf`JlN-h1as0rv0~SsZ%zFCeb#81t%gq$iht|(6enJb|Jv`lO%eIc z2}zmY4+Z;f&=70q?PwmIKo-Uk2(jqlX_D;t{Kk|ad>r89{_4q#YE3w==tX^+n-5kP zTEH(%6SB5^^OMp3%SKfbb^Ffl`z*1)@Oi+ob9YkS)3va)0oArPyF0?8KPlnyUP=N~ z+FEQ0JreD7P&r7!9LvS$`EDu8f}c9iE#6-l<&pj}fg>s1>m9L%skLhyM4D!;YLYcU zYDxKis9$ikfd*yBHTpMGz7{{;@WNj)!8=N-*~#+&*g}8>S-VI_g{1uKPK-8G&Khjy z^D=Qf-bh@C+kfRQDFIg4961Lo`O+=A0hTX@gir5rtIu8QyU;oZE}pPEe*Z)uw)sJp z0M71C#} zX?8O#2@l(Vd>@Sm3$tWFz>f?NQtb3R=RK7+CQc6MGVnT+0& zF_u#JJVZUA<%tg?SJMPH8A_H-Jt)Vz#{frgC>fhfKWQ8c49Kci8i~=9O3w(mQLn$A zxh`bm&v;re?L6&Zz&ajRDqEDw$! zn_G_f?0)y5``9~2F^Rk8>xD0#_0JlADR z^6#hQ^J6?nM}@2`7$lP0IXv8c!GU$)`)eIivjFl%n%-aatZ|Tf7G(7gvA93p?$iMk zvAh#W5sl&whekLCL-@l^`H{G@29R8Gjujb5jG+gn{UnoYjzod{X#BzGH~PG0{lRUsL+4abneUn88K;U$R}&jpAJo(} zRrWb)9#Oot|IvsKmZ0Z^-?Vx>6{8X~6nekN;e&%kLa4Thg#1Z%D^hJyKFftp)9z#^ zdMDaaS|PhKjW-dM>-f0qo>TSxd3J1O(@S#Sy^if4DI#%Xmzf?)uQD0tXN~E}avK}^ z^tpCTYroqw%Z!Sr`d3_z8G5STIPd>F?3!5P}x87!uyG?C8yeO~*lJjF@#=#5$17W++ zFxWN(C_+&Eb%l4v0wdz&-!f!{f0Djn1ZZ?q^6mOdTjfV!q9z!W0aMwOmiY(oF#KQM zVc&lzEnXsOh5UOP`M2kPsGG>0}Z2BERl z)qZ|7;L;uLNy86p(yWia+~eHq{!Ed%LGZNEK!k*frcV8#uZ<{mhl0;|wL<1aulUC; z$Eg}HYyi6>Q*f^sIV{nfd4kuaNVqdj_=>SuR(q}P6AK^D*tkpK)^;)hvRQd zZagh06PteN$EY8bF*j7~(RRsQKA8L!cil#8LXqnsjU!Ug-sHY3Bn{BGV6Y_t18BQw zVr@$W*ib+v2|*MHjO-!vt40g31vkON@v3! z^1739(@i^yFN9l`07SD!e|;?~=-${Xfsi_>$k;mwJpxr;;mVuuthYG7C{adSvbk1~ z^9kiO?VaGsQFsc3oGA-9(Z5xSqyg20fAYS-{<@aF++02XqK~kHgAFvBZvclF5xWB8 z-IRs2Z7Kj^-U>iw9Ec#_L}0^zz!Dwd48Y(#K6{cIk*lzH`${uMO?-QV1j*q}WK}Nf zIPzF(L|7H_1^)~I=-~@P>ipHXHyL@x7;NW30M>2_Wo>=Zz@!Vt_IatUu*D2cKu7rn zg`nQy6LH}$kQd)x)qF|8!iueIS2~fBDy=#GIKlARhk~>vw%LjGbH};5<9#L1+KUfZ z*+~XE^u^tH`7YPGd;R$ry-ztk2wTHR?XR6LDuR_9P_C~$pW3CqnR9De-Sd(ydJi|# zYI}rUijiv=1BKUnqvLeLg+l$1FDUin2<~-Enz8=+4eH}x-wLw&*^o9(52I=j(+pV^O4)K)ne9UnCb(Cwj2d{x4vz)4%O>cn@4E|at{Q# zLN?|7x)v^#k)0LGRD?pe7ac90fZOrt4#?=4^_&TV$4z#Q5j+T2 zua8YyQeK@XPj5(_)Z#Sw;QO*5&TZ-DAZEU7B9QN3%RGrk^5@d~`yZ+K4BF-CcY2H6 zEoD42csi;%i!OVjL1w+Lr$_Egq$c{nkG)|f97b!#FQ$#s{npf1sLGX^5Fbg%`XP~> zPO5&I_50El&xSqLDeAfO!il}q;J{r8aR1Id{ZG(5pvp-oq{9J|!Dr?en6S;! zP(3sjuz&N5sI zSHzBzWvkxH>amf{c5X>o|E3}MPV!A!=c=QUviW&mk%OYOdPfYteIEG1Y#;OJOxER< z<`S|O@F}`-f#$t>*K5q#%rxmB_{D2dc{6dLYwXY(QFmQWykdA3nB8D_PI2cg|3`a% zj%)ZSHuT(!bdsb&JS7~cVR%z*+f7Cp(ng7gkOiybAnhNr@?bf-UC;?ipZ=s1gpH)rAPxr;=>!>fBDfh(kZlj# zYPb_pa}MCsCe!rGp8wGQl80+N8K;-g`;DwEy|Xo4$WMPR`FQWT=f#w7)ZKfR@cryd z(GF&>ZG+V8tzS%>*1m7;XC$oVbi`~VS60GBNDgw|DZckP$#ZfTL$D)76B|TBeJMYi zOkY(Skro8!G}hfT)MQvLxIwRY6v;r5o9uP%#)SmIj*IZu@?Yku*597$1v?a=*mCFO zG>>0}VPGUE6b2xvJcc@oxbTO0T=Xp;^TGu}P*? z_x+{mlp$mj49Z6X+w7_>A1N!^ds!8|H&fHTm&WK(U$*|)TSw(xkBH{If)Jf)Xg8Vm zAe5gSg7m#vGki$nb(XzedPl_7rWOd68Jdp?P9bA+*2W;j4SKGb2U`bF7v& z4llhSulGtgE}OUUIE6;VMnv8++%IW3ILdZH%5D$XdVm4TU6i%*wyMN#m9%B^sC!{pvdSCKh)C!@#aitAuB*Y}T6Mh}np zXp{|WHqW28Ya%a!@*c+<1SM+G#gezHl8)HY$#Y7jcbqUvRX3S13w`z@ZYZS?dtJj} z?@OBsce$x9gG|JzJiM^?dab?r0e>1BrMJ%zRsPxrV9Nl4IHiFu(VYTrfN?`)vi{17 z?*f7?z4 zt@MX8w1HoF7YcJ$pE9(lvev|+Gvy9YGluzS;JVm z8zi@=F8vxL?32LcaX{^JNY^@PH{QhYb@uVA7haUUvQV{L5b|$X zRT6X}hb;fCml9jyDnwW_N#8qau48;M)hdG# z25QZwS~Z$n{*8*Wrc^TpW6gzuy-4>SuXOBCuJ_6hZgQpx$BUzVIySgWV=@PbqI zIK#*}WoUgST^gYa?>lWaq59t)HbKq`s5Um>YIb^7wsR(MC*Qwfvwxdak_cJ^{?}P0 zFrfPY4qwM%futZD-VW$Vv1F-}u3ruUbT;(nFqH^V6^I}UFv1at-(WdVIWqOIwz-qV z2tZPVfJn6s<)(9#-pYP1wAmMfnF@jlW#o5$Er1#caS&=Wflu2pCj`m^%uZ_^Pd_Q? zmH(ITxW{*?_wn4p1%TF^ZY$2}7M{dhHT$^o8-dXC>Sbq83)$rb@A{F3(V5)K20^6_ zjw+w3FTWb2`fStnwN6s_QU95)cPB$}>w#s#XMCFkCeA&Sst+s(cnV1ildFq8b^2H! z-QnqrTCU6beoa>_=~F7kzu6yf=@liX0SydDFmEmeQJU6COoXbsF_FgUu4dH35_1xPO%l3Dz2c=-o?_OnF! zbp-doCX}S56}u3K{Xu|XH^N3Rw68U#VJacSreYkB!6Tre)q}S##m0b%2$)e|sB#x1 zv%Fsz8$K++$PZxbkE9Ed<$AOXBHJu>tGYPr5#c~sVw5dyJ1f1z&9>0ajp}bPP3ZV% z+Ls-sT*gP*BUDM#>Sel|A4JF@-0K6NssOLMGiItYG z7SaOZ<)$uj6w{t-M*jEZZQ5TXzC;H|>|wf)Zp1^z;d?Us-dyVWsV7l{^H28V4c=ic zK5$iL@w)v|ZdAz?SNKtNrdloQ8MQ^$MBl6y2DAFJjbO_HhBBr9L8XMunSuLgd8%{A z!H%P+NX8@Tx#PA+kGL=pMX81VRg{_}^=lEWN4XZBO5xRm|yybws3mw`Oj6Mk>ob9_|y_#)4AHRX-(|wsK@ys9Yi|$*xhn1n!a< z_+T*Eapon`7fpS7q8|2+TQ&C!qpIc%(<5glM(=S{c5%NnwMFUC8|lk&h8F|$g=W*1 zV?2BaQX-c5>|_hGisp_(>knhHKL;J_0<#?q3H}rA${(o6SE zqAx=_x0QH@g($5;stTj9Ag+K>J&xo^1e2fm!@a{)5{-z9kALV|_BQ6#V&5sgW+hR5 zu9Km5|JDd)VMX*q{Cc5B z8$QoS^?aPXmrRc0O{^6Z*SI~$?~b6toWVI@sv$LyDQ0)8rnI5l=Pf+m1%&< zR9hrD9XU#KlW(vvnV(wZS%t}UiDg;jWC50bu2S;9dOtC6eDc zW8`Khu|C5{+IQJtC3Eg_<9q+&))PEBUR1xb3hLUQmH-){`|4ecP2Mg%Z*6-bvh_bZ z%F#)*WW9*x=>9O5?ZJHS%ZW3y$+_pOPTpp{e%9{rYLuPSUD)+tC8m~ZsY!GXjymWC zritN6<@+>Yi_hSSHRH{E;r#vPnzsrW>T_c4mI`O<2pR-l2otpYQK08fRf44@{WD-k z0t~(FqS^64_s?<^Ssz_OqZ}uXFNuP;d}=$^@;AGlR=cSSn61W`0_Y~C&LhOdKgd*n zBfLmaIHw ziy3DLYs@DtA|f{=cHIBEfbY4D8A6{E%-W*#B>@*aL)jfCB`$K2bLaO-O!L9C{8V zERv%27S@SDE+K#dG=8vsj*FZHm}cb)i%`u6sAU&0<6GIW#JS{Gm zLXvNW9m(xg`+$D&HlWVKl{JLo(COXZ#E2zX-@TFUc(`*@w zSz>7;+84DGe^TDHJ@t5u#^`gIR_Kev4>qE3W62_!nYf1M85RgI?#L zPd;+E->(RhqBJQeXJm#*M$delx$b$HjrpV+vi?rZ4Y@mOj8Ua>)>AhGbp-R%v&YTj zi>_UH`;5PkECgB}cvui@X+Qv?3_u&)Y54lHeUX?W8*(L&4d-eK!Y|Jbh&-X!%mJn# z_g~fQOn2?+>p$Hd(9!q$#B>6wvfmSCl;ECDRrcidFR5Sn1?Hc4wep}=lpDre8|Nh| zc!Nq074x7NGHp(~r=34L8K^aBHtJf%`sh)}jZUM<@9gKZ7YtiR!mC6wUsWg7+McTl zxYBVmX=!;*?CYF~=~;P_#`7f9?but4RpUJzS4+kZexAE4fzTz`uD($Tdek+vXSkN# zRur-vekz?~ELo#dWp8PKUFUthqdw^>6BcWX59#$1%&D%}C@NAs4E=0KznJ=rArCtA z#OWN^>VZK{g`L+XLx|%J0c{rx8S=yX0UeWyHc@g7K-z^LBc*etQ{+6Oo0rl_vQ|BL-Lo0QI#M zHts{5@t^T^|BteFjuj>7+I+Wd+qP}nwr$(CZQJ%f+dkX2ZR?(IGT*(E%$wYqPCDuO zx4LW9>RP|`Ja`fRg=_#ZawDt)-}@ul)mk@36F%= za#OPFv94raub;1fm!uZot|hT${#5J|9g{7}1At*8WU_`J;~H@$P6O{CrcWiz@6XxP z9BxC7nYi1qP22&5`5NLX$Sk7#ctLu`01uE)-kpSs_*f7G4)slCX>0jZxCra7`jbkG z4D%Ni+B#}s2QNx{I8)Z|-=Cmfn)YCxNq7!$i~j@{{;R(H@6+{vAyi&E`#=9Z{wvY+ z{vY5I86^ne-v6=*tz@>SrnobmlUBSZXM1Y zql`J(__$Hiwl+6EODQ)WXBxwn|JTretKeE5{OB*75Jde`h!$8n z0rQ{*kdjbT($YkU{tHyMpe`s`Lv3mN$L_!VD`i~5hSy8G-n zs5|>l(8JaH30TIKpuwa%*BfFpphfy6CsPV z$gUU#%6Mr9&0YpPYgw^@=u)wZh~9%A@;C5P6kDYThRP_g9!?dAFE15lv{J~YYEp?W z2p|b51)mgT2jZPU|FAkp{-+uI4@oW4|AkeguYC7^k##u+jt#PWgrC4(k&;l=0r3C* zC-Ywg(DGyDuYZwv@VQBSEy4lDy_?yYS(9s$9LITdD5N>#kr5xcOChVf(7VjfnPahq zr2CkKyxYaN>G*#{;;Vm=IOHnF9dgW@>J(-XkfH=kBo8B^$3TQDB-fMJ3RrNdKuED$ z89-5&(*jT64LPLGR{n7fmarr4at|*beVM%+i0*OlBnbr!L3=MK5D&XYOLbM8L?v#>o2L z!+)RUe?Jm1GP3+nSHAy$7OU3HR7H0)i4|{4*a2=3H>exT-JPEUXN$B0d29Q>F5V9B zpv|$~`fmOB*XR11SL66bb=6wUW~&t~?_|U&>Ul`4V3@!n0&Hgw_oPQpotObk$AQm8RFR%l{6BCf~Uc1*qdISQdwGfcO176(Ar$I5PnN z$j;OR0vd99!a`~=0+eLcKnTDa0N1cJ01t9uYA0dqFWn5!9ETtIxyV^NXc!NvLMf&2O`xD$Lk zfbk>Z1q_p;Cv{2xPd)>_o;a`*HaGzBg6c#4PMAOdV`p$}YT)+xEqsHvmlOX*2PcMh z#&2?9tpMJ?O9MM=P-lC0fRBOS>h3?9NE{IrjM`Xj&Uvwqlzzx{gU{i13uO-xFy415>^{5TE* z@Y!L22e9nbbD#W1vo^4`JAL98{jw^+zQKq6B1eQ24~k=h*vjyi7?hZQh0kvZE^VP& z(AeKtn1C@bHhi4T@4BI48yEDZcEa8XPxWs?6c`(sexv6%Wp*Z(&gjdUAAW6uwlMyv zpWr`y&14J8>Zz#;rJm^9FZLH7@vFG2xHW$hyx_Zz2gLkZ-=l{mAdI8#362fV!W0;r znf!9t#7qOop~=<%67KE_$o%R|VQ_3@cLTNXMVXm=bU*!i{B$n7qi5W*i4h$3pNLG% z4~)JUxBN`qrEiW;?EDDN_sf5ZPyBZNc#j7Ps23o9O%jbqa1Ri1(vCEKNU!X5M5x)b zBOe(Q*ed2a`Q5}zDWuCgjiZ@o{z$75_}^R^g5j_R|=JQkacmrH>#VFmNSAo|*oxo}qYH_1besc++^) zE*XS{TaFPk8W4xL@qsu{=T;n@gdn$W!Z+pINGRNm&+T~O%j4f$8R)9Oi-|`aqroqK z)T>a@IC6qgQd#a_!u$0}1FdP+(=Phkj$)Qnj1J;s&Y_I@EX4?tldcAToihb~$(}h) zt(FkC!NL!O8zm72*butXioMk^y2e2iUUJgg(f*Cz)ph^I(3k$-5!C+E6acQnhp)QrqjdSLDP-!Xiq|MX=BsD`Kd^ zz7@}m#1KHVT$ojk**TBBh~Ybo>IZR;%SF3WEu8hcw*`j`MN$oR*D63uu(t56!tG~E z*vJ*K-4ike?Tbs3_m+2!F$f=uwD@#yn_JkgO*G@#Ql#4D8D{f>9QLOvZ(ofi64i$g zOi`zBS~9QO&z?f`#iA%$^Uv!Wx`8{!dCw=RMY2BQA(w)7Ii?lC3VrCFO{Q0qLS_7)l z#`mj7Wb7^EBubF>%S9u4xWy@B<~||vC!6;?LrsZEIUBSj{CzQ56{oulca&ANQ>v-A z76lCPeub~}iI;Eb%EeFa^~ZUGN6QLL!>-4AAlcnv$J*#V@#&2S#$Z45#TT+q7yRZe zQ{zM=G8UANd~r1AfpMdI?=_TWBnrQYWpcI%o*4n=*5D~@_VZCiC~>jciu zAQ^89c;zgq6KBPiQi2GHNQe}<#nxfw-OcT12WeGnu;}<`S-;@pu)zs;(QyU?OUl$E=b1#ST@f(gCc$oadF=`Wo2o+`rYSV{*uMm!InAEAEnb}v=SOt_; z$*JYAF`ZQzm}U`Va($<~F70(jj6ki4ro^8jhnH`65h^yf^t4hQajLK<-Jj{O0*%&^7k2W^PY@BV^b}<+Y3fSY+ zw=g`8xw3ey##f^<*f*&4Wxm4`>;tH67hfrcAO34z(CxbDcGJ*$-dAUoJ;wYc!#rSB zFOdF~Cz^}C7xFl{#?n8bxLWsOV}AleWXU*F3HooCXDoEGchFm_WMiOu#JWv5y^&BK zsJKD^{?b0}UZ|F!)YU0Nm_9)FfpOCpF)YELh&+`6dk|mc(vt(-0e%JC%EC}5$-5584sx?Be8$YiIJ(jP-NUZ)+%5w8c+cG>J&bp0CGhG<+y)3R1;{f0s|JEHY z+AR7>zo&6K-(}c%7Wgayb2_-G?v380nhqh}NV?vL{s;{WDM4IKEkz!hZ1r=MWb>_X zy6uIwpy*wtWHkPZD-tzBwo&j;E%3RMyqX@8k;WTpz87vqaN=DXE(FMjw{wd^2{^X- z@v@fr_k=4`+c$7Qj;IRQ*Fd(Ueto(+tB-*ocxgc^x=!abzj6lTTjYh$nd345LO9UH z5@)8y<+`-fUNeqgY^J2Rt7|>+47CcFS{nF~Rkn@Y8NCbt8_C>UE6zv}MQEZw4XZ?~ zcnuDG)GF{L=9;kkmQs?`3^5rBFJ6TFQ2q}zj_5e2+XK^M4})n$-(05peL4>kP>8KZ zY%WCh{LUv3ASQ-gus)T>+75*MeY=At!WhtgAr5U$B|>!&t1=j?&dk0hkeseec`HvO zXT(g%kNpc>hAAjIZd0aV;elKGZ%K1!PbBLi8*C_I$KTOd#6EnNbURgM~tMTVA#IN+96&-B=XC}7KQF4T;LS*aCHSvRqnHr z?bR+O?(&;U(a$h#MyaVDaA;?VV1ixvJka14OlV9fm$^oTGnggvYBYA*7D}<4g=Ppr z1@|%b2<+T`y&man9Fs4a&6~KUBu@s%igr=yv6$xBMxXbui&6m{qjY-W3Tusd6LdPJ zdEqqx2hmNF*Y~2k=Ccvt*!o62*8pThOX2umS@$tpbK=sukZw9kkl{j=6R}UO#!#Xr z)mQ4V_4Mx8$T@Hkm(LRS2c-C*d<;TugGt}aYEsD|sJW`PeJFyktf-19A}sfvl9ciO z@)Z{EPShO3?DKNN0?~zv?GE8_YiM=l)+e#|U(m~TuZyC$xO2cBv~^jC;kD!reAJ^? zo_v4QWr`=~<2mv+>!DbrbSjUj@8Z;=&P&lnPF&F^Ep-$|tqMh(->~SjJ8fc48Kzz) z)7bqgd<-0|onZdiuhe4i_J#IFZ@V+NtR`kNEEMH$&NCv zcK@cCNI9+KrfW5+_ZT;sTp6Q}SWCwf!Y8I)cf(Qh`dL!6tAg8oT^GECeo@Q5Sac6O z<>LWeb~q|*?)bPQ<2%QIz{%_Od|BLGp6(ImmKBbV&-{Xc&F!aT^~6twZx>`=fk??XRh(}#o2uCj`| z>x95ZR zd#xltD{>~d$cQh7vxpZ75i9&wtyQmZ&{?$Z#e8S2-_VSKjD+*hk7`v({#!XaeUQHyF680)5~*VLo91Wv z^JCLG7fB4guAn0CV8Ny-qs~OcvLZQcx(^)@nV7i9m2H^x@A9_oUqdnI2@xp- zn#L+S)YKT3T!9y8;z4qiTyD{x#x zoY8Wn*RfcEW+YeGSGk&otoUtYz1WV=dU3^ME6k1Q_qs&6yhjn)zfL90$NSPrh*gk< zY0#uY3$REATAD-DF8z;g^3Hd7d@|yW9gK7+kEF^n?lRh8#C9k_6n(NB!n|kU(}#x5 z&ZL=yLQ$VPGeS2YS87%+NpemJ{WUmuU|&hh-fGx&EEZ(pJQ#pD)U>duzYq2wB3yz- zeA0_T_fi(oTV&+6l@oKUfyVCru-+oh=)WShAAV9iW&~bs%)J*w$ZA2nah3=^F-dLr z+c91@8JEhOM~5Eh{a*Xc`t8PVwU)dr$SIVU_u1%MW)-{gRaTQ~sIlK15#64jS+4;R z?Wv9Fe{UCXG1olHXeI=HII|tP0tHuDAwNc`0BvmhiPG0Nw_=T<bXC4A-aM)9W2!Ge?uN6U_q>L2e3 zNx!^`OOdoc$e{R5fLHa!a7~dby8xD!#$?q5{N2+7g#oq1+OkIy=ds*cKKJTIycuFK zqNnS6nY|Lt(LB~(!u+zxJkOLu7w7D*EpzO^a`Ad@^%=m~W)1LIC zz;%Y7IHxzI6pm7?af}V#n`c4W;U>Q1RTqPvbN`=WEgddwqN{YqKO^l!4QG^as^Ujk zM@a{-WF$!*^6!(AS$`-23o@`Y5wfV_7(r7xL$)Upt| zf9m~{>+GZ65%*7bQ0`_6dQX*>^0R_K5_XS^km`>kuQtT_szBOb1VllkRczETaIwhZ zly7Hj_;`wOBzJ90@UN4KMaE51XiSp+r7#bntBZZf5!JmTY=r#8a4LpZS{vn zLnWsDcP7J5?!_K`CX@cCt<;lG(2xWmgvHCX=t9~SP73d4xim%dsExVN0&UK2S-}`W zx~APr-ia*u?x}?i(Dv$LOK3J@Xb#`faHC`fe3sF!T~r@^;UdwU9*0?C38U=z)Nkg& zl~AR&l}C{e>_S>jf?1-#OUEnjLDqXW>|y6tops&R=g$Y&>Z+6qn%YO!8uL=Y*=E6l zUfP6;M?*(4H8_aiXXGlBt_|~JOg=5bBX)lfrgJ1EF`q-n#hUc;iJdHrl34E(bQTb_ znOM6NqSr(BB(o1SORWqcxOcajDj#Etdr8sKuESectivfLxO>}4xcK^+y`Yv%AyA@_SS*UZ!=Ei|KR{J)=8>`XCYH*Ql7m(cC zw)~6v7uy~$PM;ciV0#lX05XIW4xH(Cu3(=Q64?7lZdM;UUWn%yKcHI#gU5V(4Oq5O z8=+-}ykSd`UBG-BXD69Og!EW_LsHd^KklqrRA01JjlQ$5l%%mUEA8<&^d$tps5ZkBga-6!jQqa~2)@y)cSN_m2u-V^A zSt(ghM)4ekFhwoSc$))9i4xrUy<9w)uC`%)6?XA0z-0)?o_HTSOR~MoSl7!qs0E+S z4Gis=ez!6x^2vETbgs^;RU0A3TZ3{{no^GjggUg0#aE}`9VWhE)zwcb{=S33z#>F3 z^ftJG8_r{M;HnQiRMVf#4{eEpO`;k_bKGIht^ z@u-N-Fxq3P66%&@4-3eWnRqdPqtYMhNNd@iMi<&ZJ^i`Jv~M+CGDEv!=XihWM<|Ky zW~A5fkb2gz%wwO6oP5VczFx<+S|u{JoNQ|v)SI$fQl(DpZ!x_IA19%M^DloCz!9K0 z#86DlNSy0vO8>!s)YwcB$n%5_3q@nB4KWx~0kDS`z?!4t6A!%%f%LLD&=T|$eKH0T z3{s3HFaEkh2W#9+(S{0xWk1Ep*Zp(LFc*vBn!G~?%nFhdEd0n8yOh#Q+XF>w4#umM zNiMtX4P=!o_6N~<(dH62Wa`>6#H#um;_?X?5&4H^(-V>^JH51mDx^3mUGH4oEr%IQ zI@4quS4yF66WIfLab@CnA$pamOi=(A)!PArhYzQo=!*X1ZcSH(7uL|m4&8(-?x9Ui zGvng5!YF&8(<{AJzLKGTcxP{0BYi&5`imQ5m7O9SO7>88JdW-oLC;84f@Xmk$s<0A&NdJ8cv^%9s%Qb~n9UrE~rVia+3f4<*GN*S;`Ma%Y^NGF#)FrzzUe|P`pfA`Y-&fp7}KP5^FlKvjgi0No5uG%!~ zA4Y9G8LC`mL*8u}F-bHZ6W)mS)X7FsAo(=n!O=vVJ0V>AeICAjh6iKYLENOwXW=$% zuobnJf9jgrTRN}jb1m$^T>Qby7>QR@n=>qJM0jifewi4;o5VP9^!+{6Xfhf>aF8-d zpX@Q_CYnPxjHLI+QjO?*WMU``xJ$L3RITWsOM=}fx@Xxa%jTq@(j4*I ztzA(PGAV*Of zGUlh|&QPfj?WK6qsQ_iMFr{VvbvyV3xM6e9TLe<e`b@D7A-AH0ICl!;>+WRLH!D`}ee6uClIG#a~Wmf$txqvqA0p{YF31 ziu<+7OLEaTbA8sv96-@$TS%aFH{j(&(x8eeLZKXU-En;QgPc+N=hS?AyYBPN7F=P? zZ`dd(S7tg=&p{1$C?2_1Q#m6}M*j}b4pBZql1YEsEbp6_Dd8Af`;_K4HhpH@F2h#t}ABA8~&~n$09r zPTI>TFe_imW+1?kTwHEYJq%?9mhXVk+?6h6{Hs;8?ZI=>%HpomK*t|u0v#?~ zP5bvu&+OtV@M^^STn$~fzBRvu!d4|&;stv~%XEV-DZkYobD; zg#AoN1qnyPe87fi^g<74q(vCTb!RIy>1xY>rZ8mSgSRS-&rSvY@+CpcSY}KSt7ag# zpY?{WXW!3VYS%wZpDqi5Y&j}M*;eS83+iQR0DF!y4gIMuKRHd=z^`5BfhDOx3?ckd z_ka!4y+LFSMh3EV&8iX<%M9$r)$`)5q0vaReh2!2I=>*8qRbZ9#K+)+m@F(QD(B1Q zYovyMPR{twhpcSpl~epAA`+2jSQ+3dJWR%Tp5WXE9vYn3R%Z)#_n?R}YKDyV;_L@5 zQ^oMvJ1xv8mCj4*wb4xhvR6vg(UB)fX(Or~Rvam@73FW#3B!T1Qw7oQJjv^( zhW%jMM>R6D00&yWZ$-4xm7r8Q#AiJf3bTj9+AxO5KCW==5*}NhHH0aCn$k#GD!kXc zZKSjEmORU~+<_C(SQ^2aXx3tgOVWSUUX0nC;0sQMT#rLsU4M@g9jRsaySYW!Kza`e z7ymo`4z1Y^1Mh^^u^!B76}Dx|{#`|OChzR^mZ3Igt?7Y7J`*{r((!l(HnP%bx(J{Q zi2Ze@5v%4!8eQ(rks@(4;S%Tcdr+k7Qj^#wEyEjmc<^@pTtyKGoWsx_r~V$RjMPII z<-IDEx4HzBOZ5>`7nHtRz)*+=*par+tby*t14H^^!B^ zJpvIt7oY@HXtI_JO1vo_MD=lGR8}%~wRv!HKzKnZ^c_L~Mo2FySWPseJJ*|btRMC_ zZjfaeDoy(Xyj;#nu`uqNui9ZY2MjStDH1XAxnEJ>Ew@)ItkioajlX(oAKMKVaYdUk zotHEzAKjdEoY2$g;3#M{z(2+W;bvNU3N;)nnY>2=0NTZF+gsv|Z0K6P-z$N891{x5 z&UQ}-C>DJ|ahEG-gofzux;s$n0PO>g->ztc;CgF|-Gw+C?-WCb=_ET&XZoQ+)8K^>*LQg{5N1IGZL_uEBl7 z8K99{K8T4znG`VFusU3?+>{@v#}R?R4Zsj>I2=|xNk570RMa~g{h1M1Wr|!_{hLeP z6-B0kMkWxNv+dk9xLyffFyVeEc*IbcQ@r?T4outgQpUjr5dZc zhc0@Uz&l$Hg4Tq@GT(J@UL>v_>cq{fteMA!T#Gxpk2Ix;hZ}PLRB%w(j*;x%{y;ak z{2i?#flvJHA(R=P`Q=jsFKwZG>%yIIZ7w5-Z-}i)1F3RS6Q6&vFfMD9lN~jp#a#M( z1gw-#1Eq&-uA3qheLrUTq*3LmNj#{@-X?6R(?}ktVI{(F;xI2A>+*#1bb&LF09Hrj z(O9yzH|x^v>7Qp^22WNyJ4uL>Z&`Y*qj%j};4v2b)fWQZYUU0~drEQvN9na>6t&i4 z4re*iNV7yivDy-;9rOJ6fS){AP+w%A`SM|m70+zQWEIZkX*BE({x`4TE$2rD!Y6i= zjbR66yti_%clT>oFo()DT0Ma+mLR>@w;odNn_~`tvEf3}52&CwMJ*OMk}Nr8!=k}` zoPN6p)6Ip(zoxFER>CSWJ~?I3pL)?|H@qn^kNGv}Enp78S9b!^U$);z<$)N@HZnjc z$NfwV)afuN!qse4)Q!awCxP~YgB<@PC2m36PQhYS@nXdINSA~7eGK5o6@W1E69s&VY)Jnu9;)C zNc=7XkUZ2#l~yoG$=PoW4ER>h6rDd8e&S4~^jO^YJipq9NvEPqN{n26-U-ePlt}~ z0o$@4Azh@}V7$qiY8w|8s%KpBAx>(m5En?YWyZSHd_@G;aVrB!<*lh+{Cf){$@ZN} zG9PntmAsA1E|e__KpI6BR5zAmSIpc+fUHH90XYPbWIM5MsBUFAP`|r5n>}0af{lhv8ke9#B8V2}=L^kNGdO-Ro z)v*)h7hRV&7lWlMJCyk&CADP(Yj^WmTG}N3EFnaC$+V!5LO{ptZc)L(FyR=N-5#~S zyWGBSx7(OJP1HE*t1f%?21$;Tdalf=S={*mv?d{zMQ3mtZGGLl#7z24;d2lEfv6_1 zISGAvy7dReuF5w;l815k+oc#7L*>5n+E@)-(0H&tZJu~iboUaU^h65=EaB{ZbFzr~ zK)JRO4^F7l{(<+*4n5VmFMc%g?U>PAO9#Y-5U~ckHQ_8*lc%3&$cZP}AtCNkR65g! ze+eQDjn{x4arLUAk{dh8Ks+!ZAD=y>zSjabZ}?hZzK@>Y>tFq)*NCdD(ERCOPYqpV zw-+Xz5ourA!gBSf62c3|%kipt=lB(;`JunWsV@xG= zp&?q3_UH52DuhN!I2-Ho7Gf7|E&pOqLdYO?^LgcdWFj@`uSnKLUKNMP+X}4MvHiuJ zK?)0G8jSpEoG{r%^w}S`M}|gCYdKNZwF6MVVXOe(7*{1U!Sl*Gv7dKPMS|q^#hByj z%KGCP62hepGQcfZguUf9AS~vcgJhr`PdGNbB~pyJ{q}}KAoUc|pqNe~<8@?BZDy`y zdiP<1{5N0sBsl6vyobxUp1&OG5{;x!!T>L<3z$e zgcGWezoW=ffa(Dub*RY{NGcTi++XFp{e?%X@~mNNav>^-?M6Jl!tGfq(R9bU^a0sC zm|3pEy@*iyj!;-eZ!G1MY;O0k5y_oe;cY*QqE>3!O-A{%%wPG$KAJ9&iJHB%@irM>MeG!7>nKuS zXD)wr2JGQ>TJ1Py_0_o_-dPGlM=GLZB#*>2uap3>b^p1^FYA9ggGT&NBZYd$w6M-` ze|QJ)Vki5>isG7T*3`>*C=kk!> q3vHDG>rXzgq$A7|`82d3k6QC&W_$Hi4E$8~ zzgRNbT(snKYbTJ>h(X~SH=8Qtq?KnznJBaB_ry-pSh>}H-paXGUQ08PBE{ufQwXVv z?F{r`dxhM?M)v|C$~*{o=uZv%!_df{PyDitU4-JhPap_?>k}3z@fx>Awr!aSYMvGM_$+`~RM|*Sh|F7I zbwY5#+?Ujn`gY=1At1f^(G7?gfsZvEbd6g9EN3Rqo<;JKG%7stMhYNf&9R^baYgHK zs*X8LLngXS;o1aB?2>)_I#-UzG=q85x!?IL3QN?4;tTabO z_PFZPM{beO97H&+;3WcSg-c-Ig;6V1WpjK58r#$bX-&{PO~91Rn**yP1dEGUTx*a* zK{PNfn8r%Y%r(b=37+__t1kA*Bpi@b(RF_MIe) zu7^Y-92-H-v_CvER%>s^6`u3is&8tdxh%0^TnkFOS=MO-sZk>*MX_Hc95ni128(>R zanp#*vB#UCc5Op;6VzGRFPM%K!gZz>{C>Fh_~7VSA~pRA8;Qvz8|#e#k*c1-hj+>PG-V0WgJYW=9Lwxk`6SESl>kcBa;s!o!E)G4kNjbGVO;W^4kDj&8YCuZ7N@Wz-NjaunFzMapl|+u`05pELbhr? z^WYcl<(A`j?@@HOX3p=SbLuMBAChREm4XBp0U$O!Cn<>d<#no{N#v7 z+GfUov=VSeepNPNTo4Um=uVRAp5>I3Beul6J_8fQn&DF0Ht!}3b`J68o|8lf9jz^D zs4!4Zw5L?|dCdWXIMi3U5lp_!LIttSDyCpcnk4-H7<2#($ub?qP9F3_8n=BXgnKhD zN-2w%_AjZv2PYN#_!aMFgONVKFj(Se$F+*jS^SoX_D0oW7T@zmGG*7+!=i<;X~0OZ zS>upF$39BOae}ueS3@C?`hi2P0Wj(0ec|>I6gpDY2O?-IvBmpRTF3lr((qWBtXwRM zSVq9lhJo>KruD4dQxDxCuIkmq)jTg+#&gWxbJ?Hy64*pN_m`n9>bQU2QZp-CfPsR` z8((1IN5M^RVfF#)-dxa)jtMZC!?sviHocF;lEgErvDd?W+Gr?`u|4%D=N*- z@ZXZ*{|BhFim67*bz51fup}Zzm$8LHSGRVEA%+17SXd#pCFOaNm=xBzSeLMrRAO3! z9o$E5?`vmYvwv>0|Fq6+^G)lGYrO}an3gQA9Hn#ys0iLkz#fRxeFV@_;R_nwEEfT| zs+?s;ZYdIw3AhIUNCPIO=^g?C5R`KQC?P=+0B{7U02&b3-2+en5fRZ^3;D*PBD=+91v~AzTD_)UR^^90-uWngD>B z0yl(!nDC;6q%Pn7XG7kS?w)z#lxuzXeVp!haI?4`5sye$s*90C0?8 zgS0mUb8_)5@H+h6PxW1ae#D;%#KpPe`R5z>^?sKCL^*`7YC0MMd*C?-Bf_^<6u@n6 zcBhJt3_yVaJb#+ByEuM;okItHSt5>KXB+q;05t#LT=4*;AyC`cxndj;k_H_AvYFQX zZYBHz6aU1+yzw*b{O&sZ@)iF&M*jA{zTYlA(7Cx?5PXJ%zFj5)^7Jsx0;mq$x`W+) z76u0WszZ$9S)Jb72mRbw0K7||+1K?O`zuOwYVga1AdgRtJf>q_(7?NfYgh>(8ej*Y zj^7k&`d@j$r6F|SE&)C;Eb)K)KmY;#hMjK+47S1bchgfmfCq7C{OEoT<@`{bvMI1D zsVkZPy31eU%g=Xy2m$=k&IrJoz0VEV<5^l}a1TTyQ;>k{9UUS90tE610U!eM z<@+Z;!Xw`4o3kPS!MTEG+&SFe0Ra9poPPVhH2Gl1;sj@yet2CtBM^W~gZF-sAF{`| z0t)Akd7WGKr})G_<;R8(><}JUdt_#~dn{O`JgFgA>}^Q-gc ztl6d~wNWiu`YI#JsCH9%s+&KYiaWf9H*I_Vfm7l>c_A71n`OrLTA9@;A}uo`e0dhQ zQ4jT~>;_BJ17ED7wipfK`MBH-Yi-f@?HDY;vONhl#>;8`SnNLeKxWS2JopSst~Qp? zg0N1+Q$M-BVj8i}&1dw-JG;EL{0-gt7e{%S!J_XuBc|CM!`T4$4dM7J0e8C`)1v$0 z;qeMV-Jgvebk!L4To?*!r4^-=)~~Y5BJOKN0xr>f%1znw?WiB)lvFdjdc2j;m$(KL zxdAl1HBZZkzcE&AD(K;;+e&E_{(6XO{rF5Ls2bSr4#W#sMcx9p@JENBxS}90^RqcB zEzr1_KWz-cOfW3RWU7Rk?vKb`Elq)i!oH7>otxC^^Vbp{&j8K4K9xSruCg_a=e-C< zu@RIf-hXveu2aUmneQ1Vo%O_yGy=P-rjJ+=Vbx*ELz$gK4E6{w5XE^lCFa_i9)$Ty zMFp1@Dp9wil|+yd8EwNot5d;Dpb`v!=n9;)zk*Z2{pGlKXUG7TKY^Z@joN3!C+J&A zrqKcAE|rN?1$CBMh$c|tyClv@W~jP`ZeY6bsLqE#mC`b@;@eMlF(nPnZWJW1BuO7% zTww+sst|VGnqzDW`_96}zSx@HxJQ@2CG+8jDqh5030>s!QOj(9pm{Yk?4(Tf-X@4d zx5-u0K2aXX$c(5P7&#L%GxOH#U!=kw=(JR5V%}Jg z0K$$pnD}+%CK7<#(ABF<%wZ{>gBqR2C2*?y$6Y=-U-C&j7 zw2tJGQAoO2*czC!_j3zvjJx*MHxpj?>+|-2Zv2Q(OQtI{zxZY-{bIzTjfT_HZKX5mn7Dm*BAp7q zqKZ%4!@5GWD9z5t_FD4Ib9ZMtFYsJe;rTbtE0$xEL`C~M%h$6Vv|I$9tfD8YWH6;2 zB$EKEwlQSBP6Mj_q5!?N!}0RtW<(YgI@IB9>ww@`0gHeR&AUtcNi-X=%}Fpi58^ygz#9GK?%Ti=JV17y5M&82!ZLvf|VKzdL?W^)Gadhqt{BU-)Y z*m1ayqcLX=gMW}8 zSp^{2$HG-d4NT(1x8eu!I1xghWCI5Gr#TWHAg+bi-^@w^UULCV_7OVfIMD5F`{Rtf zbU_xo$M7v)ZJwSdncShcd6@mf=ooo!Rz0v;x$mJlo;$2z_K6*Eds6nlc91Ww%W2^; z4KMq%_>0u4J*RMsSP#Tg%a!GEITQ(&W-tSfS8#Y{S*RA^A#BHBNb+##osgJ-s2jjo zN&&F^GgtYENar$9!lWT4i2bc`0DHA{;Czcn42>@F(%~82TC0hIYgRKV6MLe4Dn4h! z;)@{c2bK{8yAqO@BbQt+0=5W2@VoM+__|+? zq7voZ%I_ zu~RT>S=`-WV^^UNq?700)mv8QJ6H8-=>mR;|9qwJxakvrQ=T~LZ&3^lr&%3coa?>| z;TeB(&nU5=NI$bfWp*M!xm9)^(n^6w*SIe1GiE~JUDpbqXJiqY4%Ums82|0XXQArl z?Ti_qAHH?4Bl=Qc1w6en-v(j)EMw23yXX9Y>dA{ELL#a^?ALH<&|P;B;6t7P^G!Bn ztfhVfv9Wxew_TfpD%sjuu6hV0Y_u>45QmN|pQ+Lczw<}&y>talx|X*L;VZ^OV;;*l zK>c@EX2vb%>jLHYPY{q>IZZ`c19L>IVRc#Rio3O||C<0wNRgLdB@25Jv0T_FHNUsg zPGJeCmEM8L>W&jd%mq3b39=|5%JP8xqoXId?CdvTxzYmVi^O_bcVlxm0NoJ@qVsk15eaEBU`2K+Q`xh{2SY^0k5nS_jKDO>d$o-kEXv6 znL@YtOFbR`_PgU%FV-t5_d^^6n&IDc#Uk}T$25XZOV^7&J1fC9Vwx;e>qIll1o6c} zqe~7e>ASFY%QBYdR1|fD{eHueum`+zMDK0#_CKOaan(v9DQ(oEyo@>AMOkitDu(Z0 zhH{Z_-}Yp_$(dqE8#P8I9;@o5((CDy=%|@(TYw{3N075~#t)nQ<67=4#c9d*r3RV)U}|P4kEHtw7t>D4mOUKFY><(2 zZCvA>yja;tJ}Kyws6t*0E&gp<9+w}{1mf@CrU5j=5m#v2|7bP6eB_b{#2r5gZFNDi zA+2+ZPreuUDK6>OrdZ08a^>Jq<@$QOz08D$jmF%#`%8H_;m=J7n(96={8{7N??q&rlzIhIaYV+0m-5Fkw6LW>4HcJwX#gI(|&pgvO#R zZ;HpN)z@*IfGj2?eqWIa1?>)r##WYdvBFd42!IL{+9l}8pJxxTd|0BTS;^0*;Nhb7 z3}G8YT4+E8FJaT=So_|@9O=(3{(6n8WdXY4OorGA+!dRUcXF|5T}}r?noL7K&`Skg z?_t;ghtz9Ya$YO{(i6U87R;rpZ&lrPsK=4z584I+?l*aGR z&gknGiSH2d_ka{d0mJF?SPt@OC{CfW%5r_ly7OUNWpHr}SY=(Nw}rOEA{)70M!dx9 z0Tt2&tquIrXfbTs!B^?x@i~PMwBx1^MRj4YNXbQwZYtQ(5d|*pUp_b_&o2P6s~AC>CWLITs>#wKm0zlWI-kX&e?hZWyZrg+1cqid;Uo{jGQDv9F{>$ z4!pIh(Kyj)x*PPzNUazeP}Uxmop$LyDW}Y5B!=1d(tMhNvG#in(}U^frRq}JEph_7 ztu9X|dNFnQn9j|{n#+8R_9?g5qVSPMRHPQx97-EkI>i)>$i{prd3&-ro140%1!E23 zX7P%9EG)zBZgG+=_+z$ty=1_1T_|byLVtjF5gxP=^Ut_t#id7U5)Yy`o>YD}Btvca zxU<*N>cp6NUyV{((-kbb@!J`yR`5NeJjL1z^z>PeQ;AD-*$tM{i4P9tqYx(xHl@iu z@+-%;&PKW~r#@-0mkkJ*2^ zU%e|f+LNdC<6Sukjt^-VD}o*D)6(Uizc?>K7b49y^|_+2nFh~#J|N{Cf}2wdlyrKa zwe3EWev|N=UJK?^aeR&k3I_vvFg7F~%vK1LsYu`vOF|@=W3OCG0G60(aPb96vLcM` zOgg4)nQvPk%MLIVbRFZnlGv4dF#VF!Am(tc7kGRl(Yc6T1>mRe>tB{kwzi$_a8vo5 zXCwDp?_PDeSaxy+j?SMwPlQzAYhnsR-#;nJdz;ne#CnJ529VSQPLgW%23 z<(W#4VuP8?RBD10gWl>>`k&aMG(jydW@ooUT5O?FfnBm5C9c>~FJ3^6{v z5K+bI`5K+6HwpTm$TGza++kUITKcu|sE~CSz1_MAf8j17swIG*gvjGt%~qeFh6Zwn z)?;Y~jyo_l7H&M8^UGzXb5L6Qa*Nr!%Mzd-qld}Q)NF39M*Vxg{;RVyt0-rw)NQn` z#al@@JR_$36HBycT6r#)J8rxCdX!BT`q5r5hWYMp#v#e|p1NaI);O6&}G@*xD@!Stx{h+5!20B4^{Q{IS43HC6ngLh1ZOn%xwaDD2bL3jz|tF zJFoX3FpR4vEtf=j?I5<@aVZ98G-B(U5D%tVCA*Zo{meP{1R%6@ma3=8xK)-oZn$~_ z>d;2)E>4F(FK@Z0Sgvj-%||g(-76{OKz(eo$C84{xlX>nY?O1gp&q?WPnf#BEGdQi zM1_0NxnNtFpJ#?M6O89MDrtTQ!@xa&rla}EP7rC9i81vN?5Hit@Y);QZ=P4y^Xqn6 zWs|8`5tXMbbMOks)N7J_GCpA#YKlV9N1QvA5 z*JW&!T%5O1afT8VQfG4nt^u0dE`ZEcLNP29DbbGc6v)yW4;l8)0G-RYtYQ1!IJ3flk3(keRbjtv*48apN9uav+I{$ zMQ5|c3KH|+s^LYS+qfS#Hp`{&ov6TYeFA=-L_X?5$?ESE+czhZONZ1&| zxoPeD3)R2}&?P&BDEsI}pf%?rNlvY&KT^whQkiTH`-)>d?Q*Afc}xXd1bXVnl}Kgy zZQM^Qa*C!7V<$0jU6vglloQ{YrG`Z4!HB3y=HZC=Bn2o~Wp)nS%NhTrZOx99wHLBy zwNz>=Q@O}_B5nHx{H5*6y z9nhg96QQW;G85lA<`WeilK7&>BD#m-aunZ*jB$||6-^6M%1snn`WW26Qu{`w3)1Kt zaa_UNDkCPgVahvgXp6h&g+sV1!n|K~oj+7Hj|#22+>&a$B73z?DnSDRSh-Hdu#1v4 z#oW|8ZDRz)?18I>`zUGmw6G&M;D+mhW>s0TF17BjEKn?k=|%<*y-Q6xd^fGfqZRd-A5hUyQB+NE?F9_GGjSqIMqk<=KikQC&s z){3=8MFY7Bru<}ylwSG~k@kHsr|`iOaW5iW*LcjujtH&0a6i3;+vQa$6x#kr@5W4C zJ|hDz@{i+5Eu{t`V$U-M5{%Q=u>xb~#KeRCXOTzJEtM{B%tx0a9fKc-+gzbXrq5q!kE|HeJ= z{8p;EGpEDfqnI5=;9k8Yb5}_k8$0bO`}Q9PkLk!fp>ph`W%PGPY_qqZ43#>GJpW{$ zsJvpVo5;16Ox%ozNmY+Ah0uFN|~4#w7W*Mb~TiJQ{!z`PJs|LsB6Mx~O%stR~RU9rOCVYpg_An)S zHb~YavMNVNRD+6xXg!_9)DfHA&aZ;RqM=N)PHaWvR;xDfJPC`~RB(h?UN^9dcCIGH>EqxAq*sV)>Xg)e7y5Td>Sl zRM`C6g&ZQ@vT3Kwa3UVQhv~$;5n~4A0p9eUc!j$@-@94eDZ_z|X@xTMwp8`RU8$!{ z$q-keNAoD*nJvru56|UsAx)8h6*j}pkyM&9Nwa*E4KG}Ct29YjKJWau(Z^cn=O_gMwc^^d@aXY38D|#m%dy)X>(o}0_Ph)E( zd?#zFdysW?Xk?8EvVjKq4-4rTJaZwVn~iC$mr>=rRDY$5=KGkRP=6K)%#=>D8`jL8 ztujI3(&Zb|#ci~4#QTQYk&Bu#_#WKV~4888Ej)v|H|1)UNT*B~V$!iOJ>NnXDe zjRdP)x9ehwf|dAwO1IOq=1Bz=U+XK-`>6L|$a3(1i~s&lq11oz-+vCI{}CcF;&ZSu zvHs8Me~4L@N27Jj=Uo5{`emhEZB>~CGgs^>+sW>d~aQ&I&+6@q>lnh?sx-sHsi2p))1 zYb$F&n^_tMS!0DDm3|*;+$vH)s>{W%u0$%4L>Ng6PAdHX{rxFRzN@?KjVxKBcFMAWOETv z{Eg8*Xk7s3FY@_N5cUwj!B+zFJFTWNqyl<<^QF!)09v)SHdgTZIu^Aw9xZxiBya}s zaB}uNu{;`B9n$hI4HzxD&y&>V2AaW-VlwH6@5}TGz{TzUmu`J<6Y$$jLO-3TD>bME z3Azyf$1g??KibbI61&M%89Yg5Sodh;?eQxkFePvfhvnwX@3j#h)? z!^6K?8>pL3(&K@AeCj6;S4F1g&rTHkPq%tsAMhXKFVRC<><^O%TX@q{6l4IjA5<#B zJ0A~)kWS4E0e`4p)Np)I+K~tz9o_7o3in^opB~9`9)q!gtE=DI+#A$+-&Eiq^K!tq(AggzA7pK*>*^^YY^v*@Wl~F2bqg3swdIYa?F*d2 zH}IMxz@N_{ex*FxRo^Uid`eQ<6Cb+_m6ekgSa{S_)aP$0KJ5M_06obs!dP zy=Sva=wGyZG#gkaS6_>{J*?-(*E}bvt27V-c(`zm(QoQyZT9(6()ycHNud4NPL|P~ zp)!{j=%W3B@aCXBeW7zz(gqsPdt*IFZ<#bzoL0mtdVXcWV7OSoapA|VElA1Mrh-Ex zkOQLeums%3l}K_ZgPcMJ>F=<R?+=Rn7zS@gbx9#Bj9b} z0+=seNKDc_r=*YLLM?Y|5Ryk>*-L(qRbLzwh6@LCANbg@T^+ zJU&3-xb#87&ygx6a6awM12u=BT|IY{43Y@SIC3J(CABf0TIYVtx|m`+}cM&ZC^QmX1&^TUO*DoCgz0ADdfAR22P>1)Fb z?yt-y29I_LZ2%}0zS*3bkl-M;och)dPmG17s@WZ>d-hq;o8j6H1!uBA8lqxe2QvFN z36F-zwi%>}zp|L_runKF)5)_{BGajd^R<(zkz6)@ddYz6QLY4GMk_Ihrl+SW!s-c` z(MGFM$jo!nv80I?nD2919Ge1qgG|?jTXcQVF^jG7U;%@$-823kOX;J|gtcW-1*oIW zOkJ>(C(1kPiR->!1*+JuZxb-z&P1JbK)y-vkgQrcF^ik~K$yE($%x%OV`cbSLlf#A z^53$|rTf}S`Ao`G<@f4cjBngg7*L6YqaSK*u^3H7Pl>!l~I<&+<9-gj&vzAX`U5^1c?HKjyZW5d(LgUar6twt%h_mfNagGv9@^*V4I$KVXSd`e_x@C{O2{UvOqr>J)HwZWy4R^r{ zWJ#-klxSxP0=;Xegf2o59&8`o7SEk@I0MG})pp9x?WECM1R<&o+Je=0kmdohFN z(r#{pj~#AKOJ=qxFZMrO#)KILJ9wRD#8=9%Sxe3bhkbUx$q()4BM5qxI~uiFg6rkj zCx)iqw?W$jBLU;Tp`e+w00t8PRA&Ntu*13~&bhxeT!UinG|Q6G+0;-N8h1!_f^?cA zxQMr{K^N0eP)ngy;f4L46eN2h&*8oL(q<4U`xH;aBaE#Atd@GggD|FO7rekK8H(>s zXLxE`YbJdKz=e!6PXtp3tb`H8;o81o|M7z$5a{YYX9aj*TZRKe8i6u<+(JxY8_U-XV`2rw$IaVobpE-pxPb@o-q5VdoE*R#5yzYo0dXBN5{?H{F zzviwuKlyjF0{{JHiY60Xo|7L~w;hO#$~B2rddThOI%GyWn@joXR~xid)7qHx+OQ&u zsO+8(*r!+U1LNHX^gRn>!>hz=+;R@DXGeKyVgK{(70x-jgJBwL-Rhzwa*n&|*4_l?$ zwVzwxo{C&Obm!~yy$H$7d``9Wj%LRRiSBE2X}A7l6Bjo8JYaP6Rho~aMpUJ-$WPxu zcsMMDn$L`6!i&q}TA9O}pZK{`|4+tYf1;yWTtH`Mo{SIoCpvo!etrYaP=SUTt>Ol{ z%YE z^kQxkl><+MqR!+soqV+hkiPI9)a4<|l%L1x+j|m!NN9@jB5q@(Z}m2Y-UnCHm#DoDjnEYBQ;^&qmojgbv!HzwvPmxi*Oua$>-4)jM4@LIM4uWWvzOy%O0+dmI z_qXBi(YtwP`HWy1lui?RC zEw!*O?HI%NMv8t01>*NX%W)DO{?MVSXlcyCwE-C zOuIaVjybo}=&}=lqj%;Vy{ru6+&mSpXl^@<-hnyxsnTMvBP5IByCNGCL-Z!_UV_ry zAanx<^l20{7PCCf%WCZSP-NZ*J@KYmQsFn*UrbTA$f|2;_q@1Id!WPeUWMG+GYZXP zJxNV7TTwuart|OorGg1Xao(1cll(EdPx#-UYmTIn%0vnwbU8;8s+t%}-#7l(2on#; z51IyK_00S&wH&3-tzN!K$9q*{0ni!M4}jW8IEJk@j!Q2ZJn6;ul(UX_whOLoRj(_7 zN7Dum>ogyO_PEo^qW!V^`Du|R(qTNIw`iBl0M#X6=GP%$b{?cVanZz6$GF?=mAadN&lXF;iRH%8hb>A@N93bl75Ti+8@$kO z3E3x5GJ8IK`+Zv}tk!iIE|vb%tSw}K7zrJ?SJyt)mCnkN9ylb$I170zA9cekSJb{| znnYQdNm*J#dUXVHOOCsv0Z>spK|k{_e+crflH*r?Wy}&!J1;LDGudl1U3~jbNs}@k zdiGfqSk2A-%q;YR$hVs5@8TWH(ykJSe_`m^%pi1Eufq2tVr(^>{2gH|;$)S^cxfLmT+tdSm3bVC8X;2v~%q zUZF%oA4!LEVtyeL`-n29US-)KjIxur`TK$W#Ri_e7s0E_K4~t5BW4%-LY{Lbd}a$# zinmNdN{N?qrG#WYzy)@6#Zmgj^>JQs95sQXwhQ32pIR7?J zP8@NttagNG(N}zABF&doh`BW?-IdNSB{e)Ed`urAaJzC~M z-8Ua04V*@4un27fyC_9R2lL@j9gU3oNd0)Zw)MOyFJv$ynrBO>&n5|s7l=M|+$o$Y zNKzhpTD#ZF@x-|(^jmb0kA;Ev`1R449{&b(dN^}ylxKF!B<}XAeFu8h<)@cky*$TZLItzs*Z!!l>K5Jxdf+qoMyad%3Zy8PLueqkDDGqUiH#@4r&T>RU~95P`q5xBZ;R^xYXWDOhdnYB zcF)S|vft~gI`EMFBhdU2#PupSjk$AJ^$Z9_ggk&hcd~>TvEaNts}Gi@f1LU&hn`V) zH~7%;WLJ2V2c;;ZUTltnv`#qcbMVczou)E^ZNb9WhItwo%D-A*r$$A!KPLHx3i|0x z2NbW#?5|V$28=31#{jB)i4Yb$1>+rA7nD)(gDc zP`Ma-!`o<&gyqa%bYysH+gPFJ6%bh8!_F; zB`joFT_ty?2qSitUitzJGtz5ToA!$e;`4Ez{03Td>`DXlF1g+*L?(9&Y$@2pAtuUO z`BaUXp-)`it95X9$3@`a|2h>*@6aq-&4SZa2zJm%TXPH&FO5XxqkQps+y)?-07<=& z)zU0ZX#Hjc_w0cW&BuCVvE3<^bdXm{PrteTFOR56+ZA+vbvGy6gA~p)zNL4{#D=)_ zj#EV{zc_c`m(ahpYGk!>T-oD7#wSx{3$W;!J9jWeo2Pf6T{9w!j`DZaCr)#4E$dzk zjLQ?b1XT?Au2FuMO;UYQ#`i=`t|DY)ma~~}J8P#U6y;JTSpub1e|)^*rKTsNZ}eRuCBghh6O?0cO zabeSG$c3`n?{CKtjo_1%C1=0wt=y{sV+8;f4SDKdQA*qNqWO5>S*+*nfpT zie)`0rWr_L9EJ09rTB-`(C&rX%MOdai{y`sxnhT<_ybzfgFJ$dsR9fy3T3LbUR-v} zX~oY0$!g<`T4_gOo_LDhlGU0=8Mcw;sk_2Fp)b0fT;JM_m>qQ$0PAQ5A-yzPZ;6IU zUHf2cZoVCH+om+nbooZ;t$t^WRCG1AA$(`h#lkPvO{^_`$^S_1ryyEc!75fT9VroC@I52KJtdwfhpxMDP-*ixI~>&r`K6W8AEBYw7Fb^78tWW z4Om3MeLY%NHAg-pz;lf}Z1~W3B6*E)^Iwb3KMIa>`ORXVv zIbg9&+}Wzcm|lzLYzRb=wIYz00jW#(Xoi;%2fc(^Cw(K1H|S_x6lPjQs3@w=C~f(Z@1E{SNDc zgUL=C#ruVSIL3*8Xia?^oWpqK?pk64-W+U|L0uQ!EC5rDMj-`+cRpAnaXP)(iSvX+ zWvrJrb^;%OMiWVVZ!Ze$Kv^T1@K;;eC&IgB%&dG*ed&LL^mzU;My15$*%RVWMSZU!%i&gqm)&msA+F}6)5~eVW1_8yn)h$K_W5hTWWi7KC`^2NEiUH5y#?$P?A%z=evT{Gl z{(%8&FcJJ$3K%2h71qBMx;|H55BbaEbmUO60={tXlxTvH{oze0a^>Z-)RJIvYpp*lp8|;8fR1op|r+ zb%p}d&J~t4>r+RvxwZHAK03=?I@x&6d7D|N7B!k~r$|Hg z=RE8)PRtgYZL}mt!FL zNVvDeSR>HsJ++1ac*^LM8N9zgm$&7##u8lkpJ8>WMAr56z?+=5+^u+p1Cl3+mWrBx z9N(Ep<`%S)dAD3XAp@9LQH*-RU6LRUQmK*`#Lx|pg^kox_#ux4KI2{E3B*Sg1=R!t zc9BXJkA?!^9mL2c)TSlcdGm=i^cJjhd4JJnFTCm)k~3(6aUc9q6YZvzkWA*{o%`k* zEOP;*w?ZGFad77n2wMlv8xgV035$Fr6YWyBgcWlqQ!Ce0vpq#={Vf7D!7#D`a4~vw z8|&6ZUL&kv3jt1-dS3j;m8j%KiG>K>)nRq!8UZaweL+A@?WQDgef`h!^a<@KyNhUV ze0$wB(9NE^LLLD$Kyy+0{rmA8pO&Vu3*(TWiqyvWSU{v5->zhmePx7k;+j5+9f8}Y z@whj2i$m497j})MxkQ+cOmhBmeE>SE*5sw&^}_fCV_=sgX5~k62pGakMpUU2DEjtO zE`K=Ff-HrrrEDl>udw2FG(S3`(cWqpo~r@3jUQO1B^+!&=Y<+fcdITCR!rT^QM0}73Py~NlT80S z>txWYWjMdD&C}SXZqmZ!zai+s?#@#fFK+}oZJBjvNB4Rt#HU8UNP(ie+CnftZKJH7 zcDjpA?!g;Dr&vEtIq4tsJ8KsCNqnOxb0Er=8%ThH9d4#Jq~`15V6)cE_jK8BPE4IDd@w z1>1$2Y7h2W3My7-tT74D{2wlH3W396rnE%OJ?jE%7T|8)s-sLSDp^Ownt&7AVcMJY>Lw)QuM6%FlacJ zH5wk?4&H#;bPhhaC)8zetOe@|-vDQK0wVLAuA-)>tayhwE^s>5Hp}Z0o+2o}ta%PVeK$Z(4zvtK!p@!ERvg7d1@; zavI!!byYylE8^24a)Pt}O~ym_1~`^!xV({7MXi&wu~p5I3;c=}j5Fz~;W?i^0jS(9 zGbi4{#M}2c=;#X&Jz|e8D0u<_EdI`Gp%wb1bMrsIv>WXaYwV>daLVaGvxRY2GzEFQ zWPY8aIF7$!2l4<+v0lr6Hub*tC!Pd)&iM1QW7c+sC_cpeBn(^DnEcI?|4^6fT&0c|o;|Cqtp^H=0O%K_bOO=ZtqW(z^(olv9}C?xZ#@{B#zFpy3=^{D(i! zYo1=k@^G@>JTu7c_!_^2e7fb$_T0*2ApS^<22o_8=TALUTB<5}i@gc7iH+upx^Ii! zPV88SbrlsSO^9xUV9F!kwK9ddFC=R+6AP#d{i*gjW~gpD`ak&Sc6 z`B-!;tYE$**;fZ0rNhH-KK8zzU-yQ(iK5S;&fpuYj5G)>6#Sd{B}n|>nGt6LUr_&J$-uo6L&{XX-z z>{W9gLu~}LATw4)_4$l^IP+kHI(_Fru`+ELr%vB|n3-?5sH8WC)>E`cr-=Nw+|K+# zAnM-2C#LdD<4*a{_FRQKCR@MGtEn-h)u>LP<$g46F27F2G>@I|Y-z};s^~lh>?;PE zh7&8?lYppt_~K#B&{Frz+woB?gmG?k{?-XnRxZNoky4k)AqR2dBX!x9?MtPx04KSJ z0-iOCD!qg$1(*X%lOjm*t`7xhQj84BYPY$NKXJlJTvM+(*5L&emOiML@xAHT+u!2_ zsKsw<|HIs?}9XtIl|alGH(Vp%PSU zLmVMAw)FaRkDXH#49r6O@Gugg*b0JM$xa@6x3(^vZ5**@)MrBHTW;ZRHa1S)+xhzW z(B1pHOm~p2^{k0n!9s)u_v2h0f^m{N2@(}X49TUjY;cYY$U*xh;KM(uT051OjnkOA zwB^#<&DcO;r1vSXF3|tV1bCh@5LD)&szY;vGQ(wq`);P5hAAz?+Dxe+WdI_Y_kYH~ z?10hXt&~n`uTo3E%itd|0D7}-zYauUegfRx)GP9mr*-mlsT^>!L6BpndN$xX{pkJ$ zb#OnEY%7y2oO4*PSB-!G?&%il^w2ZH@!GRYh_0<;dYxpBL79GywZRT)#>h(^}(iMUCO z&S}=~u(N1Z#AsANjau|&Te}{?BvB_xe|5#9nm|UmH!@y z6|65n-wAEpso;Eq6+R)bw7|yN=Y_0?pF7s$6Rr=nT9;#vHxtI7I43S2PsxOyK!&6r!uDkvJiQsdxr1J>krN zUNu+PI==+Lq5L9*ZE89dioz@OVzr6gs*;$W0(E7CuS$~DnQC;hlqo4-q~nf*#*-X6 zGbgxrrUmxV!;FZm`15%MdfBV(K(TgwSdu(BHoP}dgOY4b-}LgNpGAv7emQ>l;Bm0o zylp_ML~pOSL4i=9zWTW9He=sXDVh%asIoZL5`-uw>U~lK&5v$MEtI%z$D_AP>wW82 z6J0|zr}zly4g|;Xb_-iJ{YuZij*}p^u?+mbCQ^eHcqhQPG$fHAj<+zoW``#d2})Qe(mI&U=Xqt9;_Cw$ zlv++?XuhIe1QIEW}UYT#=nNaDiHAkLWTA4W8xj3tEz zISzgSp&0C+56==Fx#HsJgy!o`&!sJME%ro_bLi$mj62;22&6(Xv|#^O6;$m#YOP4u;CcbCa73@+_*3^5NH7+qQFo;5eYqx zfJ$5`YGtIz1^ku|C|=!n8ZP!_IKMpRgZ$ez)Yd%^ZTGG%83{G+cLO(5P`Q54h=)9V z>i&;io*>na-V7R}7(^ksTu_-G9S(jJ>!k3WsHFrB;VCKj*FVAC*&i=~AB2Ozfmj+~ z6+%cy{abuo3mtwVDG=iR%P-=Or-8o!pBYsIl*2H)LhVt`nKIhp(}h(qk*8rd{|cTS z1n8fDulL{1h5{X$O#hMhF9Vxsrx8Eo8azFg57frq%b%VUdNe-_6`YDH-~?4=Hkd%c zGOtR?>#p;CH^0~-Y6FWe`Q}}ne5FSsI39FgtAItv2Ub0=5t>{G=woVByi%V z*ni!{lJJ$P#$ej;n5Tu1cy9_5F0@KTFIo<{Sf>Wq^oX_CGNs_xHoW#J4Y z@%4PTOe-P~pLDZ}|Dqg+jKqm6k^L0Wxj*$JTpq}QFr(Z+HR3A_g*^-ZpuY1Jkmckq zvwe4wSKjWLkWw`XL62et8l+|5<uhEG&o;12`Wg_iQU0)aZ-a=GxyPfi47I?Q6Oiv9!vN zR;+2o!ww8{0bOwTUA#MEcylWCnh_OLFpb+F2(Y6Nd+T>KUK%(e;w$RP4_G&H64Xq- zksKFA0MgD&-yEyoF|iM`5HseyOg?oU3^l1)Yh10qc~EM0;Ea-S8eB^X7$JO8A7{#l z`O9Q9ZZ-{^Me1p5BBbRmv`(Om9Ovq6D4^@}WL~9U7;#a=XOnZ!yoUMrS8Yj#-lCPs zOZ!JZe9x{LROqs%NO;(E4`mvaq?u1g+iAGgrUQ(`EBM(S>*gH8QzUkiT*p(t&4eF`rO7Ao!?&) zg|n7f^NEQ!4hiC10B*ptm{T3utHM0?2!*Ih{dUQ(7vvbwMQPB?6EFu8W^&lH*hT9mt``?YN z$kv&KB(%%9H?q55)LBf&XRqaY{g*YbwmyRgwq1HL$xQEOZ^vJ|5u2y z!wVn7j`P;3@OpyXw`73Up%*mORaNXtf9=nJ@lhC-w#15^i^^wbuPibdiro-=0c!Pe z_Ho)?9a8pn`!LO?pJd%m^Us$X(=AeINcea;65h>)=qKszqjDNzeTOqprbl}b63na% z@5idY11f7Tg>MzBr&iK{7$Qe{VZKr!Uz)Wk#b|k$&oqEfZ$hU64i&|H^bayRqM_RMu=QD+}{z9lIn5~S*xQN0pqb1vfqv}-JN2Ih-0V; zyu{H9hA?7c+CH$?V&0SkVlS}s_4x$-WUgZzp*4%e^74W$V?)LcWRm}qsre0r9Bph3 z*bK+*1c1`Ct?C573j^DC*kOjX=1TQ4Mf9goP}r8G3OjF=50toYy^+fXBGc& zvpwbooxTTicTS1R!Gq&nV_WV-GT>w>~MZ23B9rNYq zexk#7!?pfwAjZ2uH4gx$xP~t4p?Xm2@#pE1YaRG%f9|N08yQRlTpi|a#uks~cPoG4 zsVmCblx8W$a7F1emz@z|n}_wMOW94Yc+qW_An7jK@It3ptf~-(8`j8;lrF`mTw`)b z#={OZlg?ALJ7JLAUiNWT=WnVDWfv0$wX%!c*{hDGrl+;ArNngM*v9lN{>!=8gLh%# zxhGY#&i1H`Q7CoQlV8Sz&Rn%?xF zZFwTG>ZOM)6&u&Y6GCni3pb}Jg@f;1LaX`X1l(jy(|bD$LH4!uT^?R(nvQ{tC7sn_ zs~v1 zr58r0C*B}hy1NDwM1v+ppO+FjH1(Pzsxr`^#p&nRAQFjiV!Kma+m!08si_k0H zkG+o3S)6qeoHZ85lY#l9?R>~LV%%Pv+upXJ{4OzpuddR$Hmg@*R^Ua8FX5G7&&ewa zNa_=f*z7r4ntuTy7Fw2&?R;bfTf}ERbA19%_VHw4s_oTicY}323@b}xwd$3ea1W_i zESuwRWgFogq^o@U8Z?n1!)+kC_wZ}m>*sMRypMSV!D~29GjTC`rjT@S5;Py(piAsX zo1|9O<-Bezxw?Q~5xjr9X*%R+Oj90(MbW-{Nc!HeBDB^y@>W7+PldJgTpbV&0i+|3 zB+s_`L<2y|=;Ru0#p3{Xq4}5_1u+6>?5Bt`gS(T%j0Bn9y|o?K)K8+5M5|##4{rcB z#w>q1CHKc=DNhHgqL82+z`Fq0gQv@_#<|&&V!lCj>_3w&PNbJyM+*~32pI_~Asm*E zYGme~m^3+}RN;E?kkHSadiE2GBA!@B`_c&itF*HKit9<+eSqNZ?jCe-cL~AWogw(( z5Hth`?(R--cXxMpcY?cL^55NicfZ}L@4NTb^r<;#rjPX0Q~gf;o_@RK4!*{Rf=V=T z69PX9d+Ad_xA;yLlS>1bTvwGr3wTwNAp1;?w;c9)zI?q*aV|O59)oCUZ)$?C>CN{x zyhK|Jm$wiJ+F`HmZCPQ>KAx$Rh9#Tldp7>6+c6$p$eOL$iD6CzTBLR5+*r?p2X=h5bSo2+UZldms{4M_%hzmA;+w|u zwSoTLp-Y|gTi0Txz&__upkymD&a+@MjDCfwjU4=&vrW9Tc1;!x&Uf~)UAdr3NGHA~ z43ilLKVyte@c#8#!EZXkPqNp*(1+HoSo^&Ap#Ae)pP;Vb?gNT8O!Jqe%8)E;?ol?` zFwe8fw91Cp+Haj_xdtFd@%@XfuIH5BKk~33)e$hevXi zlFlhZ+jerr(7do;<&5>Y>b9ws+G<{LxdgS)N%186m3>{G(M;RY2H-rEFdE|W9;a}m zG)G(p9K9rtIr)-T?(n2Iht?@3d2gIlMx55T`##+*tg6_3_tovtFrbkzTr6I_I%L5~ z9z3tx)5V;WFUe^kp`2yV+P)U$-;RYr_fn4Aa5hXx-}-USxGgqU6dnPunU!J`qmBlA zzR5S7HZ5Tk-n|5L&M&< zc_vToQuc~0_Rc!Az;T}{Y}H}5c^Mtl#0rOd8GjKd9-R8Bptdzu99J*&5??C2%$6`y zQ=olPBa;Q#7$>$zVF|_Opv+iLlUUw7t^|+Qq0y_Xa8)76-uJ&kSelT{&m6nZh!RY^ zZ#86={y@X4;K$q42UN{vDllCnkDU#=h{pkkJQ@$?*TjtSWN`HvEmmoN#`&(ZXQIo# zo)V}N#{0JC2vFEO7Sj%@5Rs$U3WnkDUl8k%+dyybyNK`lP|JDismf;+ccogtaD;s- zPK{iv!^9+K;4?E0ow{X(=DKDykOW&dZ7q$4KM%vurMcMCcY2#XA7-&V%jX86t z2>#J7nOYTo08ScK6o$xUMBU2VHxj62&ql~mHl1)jww7mxO#Ky6Uasa}2c-&7J2>B* zBD{2yEdHdoBT$2J?O^OoN7e0C->-d69}&dP@3netHax;K(Tn2;4m zk&{lw^zU?Q?M0B5G(R33Ctg!J(nQ;f;9zC+EWpPk#Ne+Qv{f6Y&;RrgibSUvb?N4w zz0{2sy3urS>yZ+&qkMKR8Oe`km2PaS$S;ngg^<0z1u7qlVlla%OZiw?*%$>^*Sf34 zE?_@TY2_bEnL3t9XSqW@@PoZy%U739o-OPQ0nj+3;t;@}tOyyWb9#QL+mLO&6xl0n z;Z@``o5#X`;4W8tjv$0Qgcohou*oM>?kHDrD&$+QfFH2+j7zK-Ls*jdCh zM%lTUOiQanhFI0N-6L2we5LZ}TU|xK()J((WpHZu_Hm))v1B_h)1+-8<`?6c2IJRXgt_KRr14;m(lC&UQ2{$K z&!@ey3>#Nz{MiJXUdl}JDkv`!lC}>&qTkY2JVlWr@+7?Blhq#*cuug-uFX%+pHMA_ zQ&pEi;L3vTovG^kWaNpZ0)!T1+2!d~i?;^Q2unH0#%IJ$i3EzbL6nxagXAOqRH?9@ zV6w-=4{G)5m->^){uQf_*N6@J)_l;5^{?rlr;U|pmVNDy3zu7QZ^KMd7BT&*TU{Tm zpwr^6mmGZ=mCb6#_Roh(-&gAXa3)3jROct#`3Xq=>$K3r`GycbElfTiy9u_$+Lone zvgCc*W8*api7BiS{e@jyevIIlM!BzR9t`Vj+yCD?P0(TeUdBc&ngzPtc;#9Ri#e&OC1XIvr3mCIMX*-8oT zIOkHjtSv?n1_7LwPG;^z?RqU%^z2(cePB45FhACmY{H(RC`rn>$6E_ZJywVi%-!8l1mxxx~sYn&acse(XoY?D7pb=yY%X$jRV$fx#L!(s(&#rTwn zHkk#-kFo0RudF<_i&0hydqz`MX;6()J28>?17?bmcLee?QNV4hnLvlOCie{Md4~o( ziQE`LSI72mBIicdBK(jeStReYkQm&p)gUE{+BZSInGUS~1Pr-Im`OlJ7I1ug|A2xd z931R_1A!#}eKxkWimc@}GfL}|x*4+nZKOmMq2wphjRn}93TyMBs`(x@Em33qWzB>3 z^>5_dCqMmrT5v~4+*uzR9xhr^a)AyNF$a3V*vp*zWfd{M_uCL{Y%cS;GOYOdw6vG( zbxw$T9Of~2c>|ZNQb5NR4LKXux*n<0yb>>hX2A8LN4k%ETeq{X={0BGNKGjd@?@vA zcmifGZc>p9jCC6m`gO;}`CceTdS9f%open{VVj-|jv9L%RUAr=s;>gR4G4 zfiCK~CO<^BJpG1tUz+Qu(xC6T_Q!h4dNKjJbY2(IS*y>2wr;b7Tbdn~y)L z%_CGo-8@$^N)q)roix2(tV&@P)#PL+W9vY7{wKFLDTr7~jJ-zHnoxC&<#Vy}+ywm# zenz_l#F)jD+;biH&La-?G_o4FkA8+|G2~(okyjLk_9RAic1W_}VyNj3q)C|t5;aiL z2TC$x3q8LTa0vpL8AZf*J}Z)sHb?~H9WFWbhO={WI-|blh;4bUDF zf8~9w5~fcJ#7P@W8Wvqv;%x!vK>F1|7clv2#P!pso~?CoVijcf@0>y;&2n@dGHN2mTrO2aSz zN$K4GN$DK_7fSE6$$3}$73P{~-fd(bl*sQ-!D1v)_6v0uMYDS7wpzJRD3NiGcf260 zWann3AL+!bS8JixWnO%zROX8WzbTsHwgzuU8|i*iJT-!Ri;G)m$EdZD@8;s`2-a_1 zwkj=y(+GQ<>PG9G*jE(J>loL@@(6QYiEFBuR6SvR!W+Em+Nn>DGemQmVP7b~Gm1CE zz}s5U#RB0;x$YBA9*YXk{F>sF&??J@OSn7Th-F$^62pIntLi$h`EqqAW{N1P^=_y? z)620zP@Jtjb*9(dRKjAx13a@6UM5r)IKC*tagkFf1LE5)x*SL#4mSbhlc(uzyu zsySX~chq$G>yMAFZ_jI5sFzyYg5t_cZL8RI%kxYe8lM|6LPkw-7n+{;(=KTPwsBGv zN>aD8jA|*25L*n5($TZn41ouzKc!^E0xwDTrMkraNZpT$Own&&=Q9;e5o&1`S`!93 zDhB}l6NC@UHkpc;STLS>AG^}b=lL=^s=1Yw1#zpsvfz17Nq!RbpN+zTS=CV!8S|4s zM8iXwo&%XN9ipZ9rA^EVJ1$5)?oa_>pRyupA4SsmUPnne*@9XLvBZe?lw3u)U}>u$ z`_oWo&X<*I05`i!vgJl>rO8X&w&wK1zbbv>UFiW{e^)xuzbf7JUFn#^=?i%$B#=2>f*Tx7IMZc8E;2gsgd zYZe$g{kzlw?4183b(L?nKoTZ-BMW6mYd9u35&$#vpKjgW!I6ZE`+v{PLBhty#r!|D ze@=9)9hSMGUr+Tri=L{q)v5IG%C!qihlWi#+>@+022J#o%ILmiTkDz(k`E@Cc)jo= zMw3u3<7x(frFP=PRrJJNaKW$k5k7Mdkd! z*bnH^@L$((h18-}93iF+;5#H^Nd)6UVSyolF^53%bLmU!LV=T>*-6BwP)Kix?MG}B z$W}U^oa!UrrL;ia*ip@5Fi~6+Q99=!YX2;Rh2jTpf80Ue%IFwtfJWjw1H}#2RiP(< zWfIGy1h&P6#fCEgxtoP3u14&HJNPK6i!%^JppHXGs(a3iUW~-EjfoSWk=XG*#Dcp- zKnb-ZPzKCWQ>1kad(I3|d2_z;2V@T-;@&e zST@qY89@Vd7gIxVAOi9&9=&cPvwu%{Zs756HSO5vH??q^Dn}b*A$)b(dAL%S?910E9N5e>^rlR&FB70`ShqGzn zrv~3T{7F)}a(dAT;KM^X<|^nkF0^AO(hKE2F9f0uNpYHa1s`@TTIr!oJvkGQ(b*_e%OgxBj9(nrAWs(TNpIC zC_)i@zDM`ScHB7Nk6VG=Q?FheoYa4FV=c8b8;tjhf1awbt(n?#!PeRa4mz)8dNw7N zhd?94UCex*6U1~IB0^pMnozPzX;g(s-67PX!`N4T>~v9v!j!?s(3A4G-89g$?$K0o zk?QWx-vhPCJlW0y-Y7ajUu4XfZw{d|r|C{9#cyH?@|iOk_)9I z72_tC4x0$nQ-M<1m7#A9BXRd+*YeGC6-aBxMkeO_j2RfPed7qgF7I_IPrtbNb#?P- ze}hdrmVbOztjMjW6S!E?R3PB>So@8utt4T3_{!};D%3P2Nq`U)s6)2Y=rfRakgeiG>hq@b)GRf9h(O}OR90*tl1W~?BSEzj;jHBSs zj^U6)tphhD?#v6t%t?)OHFQMd4{qQ-P=bJ^{-99daHMcuu`)5vSseVS*e(sB=yE#e z2a*Uo<$wr*jtI&~4y!YAf(&Yz#4#V@fNImj4vI9qi5=Ftc^G^Y7$rR8ijzy%Sw| zQo?(rWA$b9!sjE#k1w8vdok*)eF|3EUCjOU{0sHJevrW&&U}r8x}Tpl`sQ>YUdu@u zn^;MfDEiIO99p9%1fIb8MY!qhsw(|WMPF~O`cQ{H^1fDQN8A!+W9=l=OlbLE*8X<(EVtQAF16`nYDTqsdUi)m!fYaCbIXZsYoj0 z9V7jSo6L>7dWv|}DmtDNJjH)8{;Ozy;LV4Cn7_IoR%0EyX@-QZZSsd~Im`W!E3QwvI%ra*xr#=M59x6sz=$ zHl6LRsbG@eY#Nx7x>iy;cDk~xe+%E2&+ar(*!y?Cv4 zbQ}$)W37pWbT#%Sd&gftL(?PEW^8nZF9ssy%~g!uP-hBx8WOnlAa>7!ref0}=v8L* zJZFmx=hU^*z3ZD$z1R!ah3hBpRnQHoh9;RpMbDue#_b4VX31T&irpwAe_1%XR+9?2 z5`Q~{5@w)MmGYE|uo8I^_b+q-PnBAo#W^Zlt}KCFob}LYms=!gLN;U53*AF)os}tm z_vH88C+M?e(UB7=%sRx^l%xG?6CHRwBf9kPS+@xLLR|v@zA)MAxT?I7>x1vA)GBBoq_gc|p{+k6iWj@jJk&IW~C{{}an z%h{qBd~$5kF*H?WfZq=9xhj&SDGl$rn;v}hh`X)K^*IDxT^ND$#cx)QHc0pVLF6K!c}8y3^k(|9?&oV~o;VsVT$ zDkzkX8@U1usi<+R{?**nW{QxyABVUnL*OQvZ}W`AkQgZ`*D==F)&oI5LGdmRJK$g3 z#&$+U3?q{?&Se3_y&kT|$w$Y1eu=EpqnD!>VM&GG6Dp}^bhL_p|5k{{9>kY7EUmRb zMWQQ-vqXQkR;p#}v#`Ky5(|#7{?VRt`P#&o7pcSzNu;%pk)NAv4;N=1ql`tHqFf-? zoVrEmkw(D`dsZ+^TgEgTT?cETnMr}%q8ofyWTJ_|6b979kk_c9560H3qMwk6Id+>2 z-xSeD#$L)ji0=}=Yr$n~__BsraEpW`=4;Ry#HfZ-OGp>mhDC?4tKqX@>2k>Tv7hS5 zGsLw!rKPxXMz0V2)gWL=uqxT7k}E0j;S7LJE7rz1#;{w@E=>h+i1c*8%wr+yW+&`aAX63K7Yt9f=;ddjBR{ zfBs6W^)BHLAs`)%VJKpnQfSwZV~~xG#`5Uoq|><{MAaD@4r}d6N6=;tI3Y(TSE(+v z5d!Og2@byw6-1LAA(D~b{!f^3C$pc}<*IvF(?Nk$o%kK9{fLvvEMhet7}>@h`V%Z- zJF{U3sHNiB-9W6eWYX-LK-0AR7T;+gl#p|o@x}s_ZeC00n$t>VRh`WTCC^{r-kZNU z?mO`xOvDp}_yrt9`P-Cz+RGop@egXxC^jHIwiU-x&$TI&3e`;%qD%#afyp4HeFR%+ zYGtvtpx}W8&p17xfC-OqbA%mVw&yjo{-(YA!7%`#iBvlf;v>;6ijO3_*oGo9s%tJO zc!X(SM-Cy``N2;ZKGP8f#c%JSlxX`yL`*CMpPUlnIhPcF$2Nue_kO8lFd}MmXxG$S z{0+Nk{?~x{A$s_X;V8TBvr<4!wll@iUAByl14Vv(9^)XFCTll%&gEUQFZ$8&AyB7` z(5vJvq2tvEO#2>g`<;SmPUgo_?~5G3DT)sFTMI2u?%JQQ5?{TKDG`_-Z>b{iu*lyX zJqu`;=^pn$blP42P=B=Mgq?wb8{d63xLO)}2(7l|(fhQ+t14hg#f7!+kmWf#1KXKk z7pBEWJNn}iEZ?W&L6b8^J%y@)XVyCgKle_Tn@==6Mz@o8^@Ci>I4mNUbq46euS%hw z0EjdGhba6FmAef#t8p(Hos<`agRg==zlfFWtqE0*rWzLgY6_BA`{Jqm%ILzq(JBbt zc;Ug-|1xyaXP%&G1{LmqXea$643-DW^aD#biWpW$iO|kLe{-wO|y0^B+^i_@opx0DE_DNd-;6HnESGKgSAQ8Bk(CHOF0Pze%aquMIZ8 zkApoDF)Hbyh^l0^L<6}*3c;?2UHfu%7a$H2E)XDELcdP!)8QF3g?_znG1rrIpqKj{ zg})oeF3^*hFm)eG-bhq}`tZK_zi&<}-y;Vde>^%a6$RMMFc?*4L>_+HWo_=eP7Dt{ z0TANO8}qQV^*fq~L>vzE5KTwL@#m8lyU9r6)<6r;tVnh2v$4j8SwSos^9<2^j0|Qe zgUrq*Dm~{`z=uiLhv_H>QJMW`l<7w1 z9>+3C?}Alib)CWgx-FCD4}ah{i)`-L%z6yL(6K@ zbQ1!(cGWkH#AfU61mV^7g>M{ZCaMC>_XR8DMexfKA|6H{H<;VnMADs?0>yuf<&mo!0>3e(wBhFeD!~ zyfvdoTlT#)!F0uo?W4=Ho9o{#viAPZry6wL6zQeKi;mB>UL3{n8;A49k6R4HO@e5G zHU9L6P@Jq3Z!xYkL?P5$psm7tD$hl4#x_i*9>HGei!Uu$pdOcOwAo%@tB&eb5Kd4f z4wGp}V`89IYVb7e>)Utg4o^F(v0jzu2v;W4Es>F451#T~5qjHpj0AIsvU^SX-Y+Hj z#JyT2q@#NAz(R`ZDkwQ|NOm{ymYP%k&S*WOP@4=HCvNH^Z9 z8M>?a%|2w$33wDguVhze^G_|5U7C8QyA2~8jjOrv<+BRpj3-N7J`XYh!WR^*-mh*8brm&_dCsaffatS9Y7~mo!l#o-=}%!^X_~Prye8X!F(4?Ej16N2C7> z#h>|CiXZ=fDE{L`Lq;y}YK!Wk6hpr3eP)17s>N|pd|lmLSv!G7w+5Fo$K8gd^`QPT z+FKix`9;R{*;!lB&gLdp!33MoNAHQHR<)b2Fs?l})ldB9>#vUae^LBKyfyQer)Uyw z9jnf)cAa^3Sx@Sj(%5K%l%|nnbjQ0%HrtTHf<28{Aoj;V?17+IETAev=N8B=8;s=J z+a&U7O>u;5jZW|(I>W8#UFVQZ_MxbHQ(2LI?~OR-x4Zp1PZtFelNzm{DZ)aW8#iw* zZotdh4DjJ0$4R8Rv?V#4R(G8UZl3T+9h)IfCurBXIao*6OIw+AcbBV=3WE;&z92~} z${3;r*iS|sz~UE|7cn;&N`SY^{*E?xgnB%V34am z9Yg$!;x9cVO&|Y_ZKm4UETHunwr5HQH2Mlg5#c^N2P$ue6?}~pL zh8%a(_#0U#F#=Jiz!(C1EOqo{r308`nQkZ3fVA<&L9m`L^)I&RioiHu&*eh6YUKsE zpWA9vt8M1{WIat5^7f1uc1BndV112kEoPYfpOpUZYmB}t{r{cfbNDT&Vgw11?N%%o z6{@+*cA7`w2}PF7y!%zg(~k9Ylm`z0*0a%t_f>zoZK73As#ALEmH3*n`0w&kcGmB7 z9i3Ebb{`Isr;+zRsfU3AcrPaEcgNCtoZ1-bWIda*HmsG~(&#w<7*@M_M|)`Cgmy1G zUb0Q|>zba@m;t192z{ccE;p}qkK5ebj- zk9?so5G13fvWte5H7=_8rVt`q+==B*8?2G6Ycv86$y*8JUU=P`gYxe@cORR+q0VD# zi=B<>-t8F(512J##PKSyAKmr89`syG>l2@4tnpH_mB-yF*TvyCc^*D`UTtOj$4XZ& zSj9(K7J07~MqYa07%KGp_8!RSxHN-op;-)3bXZsCBKC`6fH!jJUFs$X@SPqA+6ql2gt};_iCm-v1zVz&~5F z3icoqCu5*J35~6Z>H7k>3;;$pW=0kkS~wwUQZTe^50cau{X4}1)7jBNf=r=0O6PvRKztHC7i6R zj0|mT{xm?v%-n(Gz5J~q^dxFPdx!U1ldv)Z*Z}O@EFA2t3@nTs|7hX+3GdG?W9|$j zd4DPvCKI4DlNiv*+|Y)W#M0K#(aZs8NaFnWYj7~KGP3=tLJKD#@aH%EV{N~;!+E42@a5Qlk)(X>^h zG?T`Ta9v|iMP1w%`-+DrB&i^2&Dds7z~Sad66;r*FEev{6foG3*)rrMTt+ga zY6?BHK2fAd9C?ujA8CJ@_(Xk*+`*Ib!C+v4nK!_IGf#wrGN=&(?*MED!sB3O3Zr!~ zgWFoM0?v*7{ScVH_|x3mePa0>4A~p_J;P5N+zSp}tV3Sv9!wCC%b-ikG8d&23kqtZ z8!jBit_RYOC25hs&zGF8Llv%|d?L^cd<-WT%AUD1Pzh=0L!7-iH3kmY*PpoA(b~k} zG_mmLVCb?eKPj{Erhi|v4WF&+Aq;sJy6DEQpCqI`S%z^9uP2mN($Tza-yXegKKCD6 zG_TaV?4DZKS*G76g*3CB6cy?{CdLdm;G zo?TF=l)K(DXU(ghv)3T_zqixkL$Efh>fQ%ftY*vOEqf2x@N+6{N$TAzDhPhz6d;o7 z+*2}`HMS5$V`2(@Y-hGZ6?!Cj>XG#oIBk}#t+ta>nxQkn6c_D>CjHq_w2YHmqt7Q< zG|xRVVZ6e&hdEijn7}mz*EJ>Wiq#UN4Aid?!i11QX*#e$nV9Z z_+UmfS*GGB(2_4RX_@w6d?ZA zU_o0F3QwcpDx-HQiJZV-v4IP(N0PGQL3{i@>p>BoB7!E{nMIpOY3O0{;{%f0wy|5k zeN5B}S9}UV+|#nT1BJ53<%Zv!uth4=1ut26Gh;o}n#397@$6O^UCQalhXign^|Gd- zH3qz^@ivPQw~Iy_tkQ4nva_uW9L$R~)FiZrt@Fo2j|nNgMQb*s3?*nQ<;mrywP!`@ z)n<3g){8A^3+4RnYS#KBasHp&y2~t&Zr1XktJkX|GL33Wn;@!;_xro6IA*b{3)7F? ztS?@Ebv9$WlE3+7DWJYkbD)PH%qUSr`S^4apS1e;3SWxa+YNPsx`r1ady2X8_$t@y zqJ(|?#7Bg+WuI7*i(aZUtcU7K1=Ne}6{H_#=eVT2D*TPekTsD$8nwd?dyR@rpcbi0 zhcl=#@^SbW>~z3Wcq)wl@e zWU+2UwA4gzk^Z}k5VX^z8|6Ka{5qpScPousULzwjfnJLIo=bzs9&#yeYT8ASP8a;~ zHCy`{XjvXo=Jay7nw3w6h}8S_qWAZh?&#-$GaqlT%sSxXe+p~=JPzY;ow0@z@O_ZB zl#L0{l|-BQJwuUM7mi8U+zt3=7mi7tL>oZDN&tX!Egf2(z-Wy@xGvHZe|aW;S6lPJlQYv#^LTfQw6vLqve&zpwIspMOMw_Yn9$ zHN^>Mzr~ING5Rm|ACmf5Sbv&W;)Ggb@d65e`VFwK8c`hwdZ+Tl@%*YW&&gGijV_?u zHLC?FqDNCk2PK23(qiYP6A`=!Ml%y4eck;=ee< z1{^B*(ub8`1+Z@#RUMg>pn3h^rB54Sx(K+mR7(i`Md2a(d*&$WVfzK>DqSq!hlHjV z2xSsB=wXRS8bcotx=M{FY+R+o;$2D=DIPDm2U^2Oj;bZQie?MIG9esnv0xxgDM3$4 zV1>3HY>N8UdzFb<6HYq0#=8Ku)Q>XtQo&HOT?bf^C?7@#%oLqh6K0|7K&55D?{x1@ zV3vKS+x&C@wYq6>05&fqe*oFKsdWJ1nMLdvNb1u3cJK7NC{`5=;XCSt;7@1W=V%`V zm|m-uua|B(;FPuy2)>F6P&u0tI1t7Uq#4sufSt4b!M$_7t7@4#%3ibK=Z~12T87sH zX6X;ll>HNTSnYmP+JFkXD=CxLk^P85){OjQKrF@+p@1JoS3%^14nTHqx~D}$0s+YT zvL(?{eiobsAjXsE^-y`AVgOMS5PH1pa^Et6oU^~j4??b)Tk2t6bGIS~8tQZFS~tWu0to5^hCJ8`;;n z)+q3CsL3Qz5oIvtm!ZpBVaTUr%BNw=UlF?HSGjUX$JXBvGVAo&YL4TiH!rgO9L8Zh zM(@7%823m{WS+j45j@4+HV%!z>^*-b<9CEg@c=VrL}3a?ss7UQ+h;3}$X237hcr}r zZ{?F7?e`d?Q=1EmM%NQ(024M+&;w%cvCf@@{Do*y+kbqI2RIOq#PNzQj_iCxp4OQh&!j`)@*9CCB#w}5f z#!beHNo%8RiprqbJ>H&pqYJzAg(VRyOA3KO)Me;E`NHAw@GaJ(%Lmts-j9_IRSUHW z9*ttZ*S4I9K0fO%8Ei0(-^15NTY1Sk;^Qow|RK%z%uyCs7V*H}2bT%wnY zepwv|kki^Io&=2XWlD~&kztLa7qgk#Ewa7MP=h^v0)0RvMSp(UdYera!ea9`ogmN> vk{$@R%lkq=2iN_^{YlC4-+N96M?-r@*Z05fZ~y=+CmSmqC8fB$1l<1uiAqfA literal 0 HcmV?d00001 diff --git a/broadcast/DeployLlamaTokenVotingFactory.s.sol/1/run-1704995733.json b/broadcast/DeployLlamaTokenVotingFactory.s.sol/1/run-1704995733.json new file mode 100644 index 0000000..8031196 --- /dev/null +++ b/broadcast/DeployLlamaTokenVotingFactory.s.sol/1/run-1704995733.json @@ -0,0 +1,75 @@ +{ + "transactions": [ + { + "hash": "0xa55e424bce783294f3bb68dd6f7d2f6781c8cbf4cc62d109d9ccf6679a1fc1d8", + "transactionType": "CREATE", + "contractName": "LlamaTokenGovernor", + "contractAddress": "0x3f3DAB3ab8cEc2FBd06767c2A5F66Cb6BFF21A4A", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0xb72276d9ff15c7998b9962ffcfb21a6c7249441b", + "gas": "0x6398ff", + "value": "0x0", + "data": "0x60806040523480156200001157600080fd5b506200001c62000022565b620000d6565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff1615620000735760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b0390811614620000d35780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b6159f880620000e66000396000f3fe608060405234801561001057600080fd5b50600436106101da5760003560e01c80637e4a56bb11610104578063b92cdd9a116100a2578063cae3bdff11610071578063cae3bdff1461053d578063dcae21b714610552578063e45061ea14610565578063e5589b9d1461057857600080fd5b8063b92cdd9a146104e4578063b9b2cf6c146104f7578063c193c2691461050a578063c26c12eb1461053557600080fd5b80638734852a116100de5780638734852a1461049857806396ff6e2e146104ab578063a1d9b412146104be578063b3c678b0146104d157600080fd5b80637e4a56bb1461046a5780637ed7238e14610472578063807ad1141461048557600080fd5b80633fed8f161161017c57806359e5332d1161014b57806359e5332d1461036457806364f6b3161461037b5780637186dd9c1461038e57806374f717cd1461044757600080fd5b80633fed8f16146103165780634d61ebf4146103365780634ec0ab1c1461033e578063509c5fbd1461035157600080fd5b806319a39740116101b857806319a397401461025b5780631e127ddf1461026e578063372fa8e8146102c25780633df91222146102d557600080fd5b80630669b1ce146101df57806311f900b5146101f45780631650080714610227575b600080fd5b6101f26101ed366004614a11565b61058b565b005b610207610202366004614a46565b610b79565b6040805161ffff9384168152929091166020830152015b60405180910390f35b61023a610235366004614ac0565b610b90565b6040516fffffffffffffffffffffffffffffffff909116815260200161021e565b6101f2610269366004614a46565b610baa565b6101f261027c366004614b82565b3360009081526007602090815260408083207fffffffff000000000000000000000000000000000000000000000000000000009490941683529290522080546001019055565b6101f26102d0366004614bbd565b610c75565b6102fe6102e3366004614a46565b6005602052600090815260409020546001600160a01b031681565b6040516001600160a01b03909116815260200161021e565b610329610324366004614c31565b610d76565b60405161021e9190614c53565b610207610f4e565b6101f261034c366004614ce2565b610f63565b61023a61035f366004614ac0565b611030565b61036d60025481565b60405190815260200161021e565b6000546102fe906001600160a01b031681565b6103fc61039c366004614a46565b6006602052600090815260409020805460018201546002909201546fffffffffffffffffffffffffffffffff8083169370010000000000000000000000000000000093849004821693818316939181900483169282811692919091041686565b604080516fffffffffffffffffffffffffffffffff978816815295871660208701529386169385019390935290841660608401528316608083015290911660a082015260c00161021e565b61045a610455366004614d23565b611040565b604051901515815260200161021e565b6103296110a9565b61036d610480366004614ea9565b61114c565b6001546102fe906001600160a01b031681565b6101f26104a6366004614f88565b611263565b61023a6104b9366004615066565b6114b5565b61023a6104cc366004615066565b6115c6565b61036d6104df366004615131565b6116c7565b6101f26104f2366004614a11565b61171c565b6101f2610505366004614ce2565b611726565b61036d6105183660046151e2565b600760209081526000928352604080842090915290825290205481565b6102076117ef565b6105456117fc565b60405161021e919061520e565b610545610560366004614c31565b61188f565b6101f2610573366004614a11565b611a4d565b610207610586366004614a46565b612026565b600080546040517fb6e76873000000000000000000000000000000000000000000000000000000008152833560048201526001600160a01b039091169063b6e768739060240161012060405180830381865afa1580156105ef573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061061391906152c8565b9050600060018260a0015161062891906153a6565b67ffffffffffffffff169050600160009054906101000a90046001600160a01b03166001600160a01b031663ae2a6df26040518163ffffffff1660e01b815260040160006040518083038186803b15801561068257600080fd5b505afa158015610696573d6000803e3d6000fd5b505050506000806000806106b485600461203490919063ffffffff16565b909250905060006106cb6080890160608a016153ce565b6001600160a01b031663b02bd9206040518163ffffffff1660e01b8152600401602060405180830381865afa158015610708573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061072c91906153eb565b67ffffffffffffffff16905061271061ffff8416820204818860c0015167ffffffffffffffff16030194506127108261ffff1682028161076e5761076e615406565b04850193508342116107ac576040517f038d8a6a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8660c0015167ffffffffffffffff1642106107f3576040517f08c8d62700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050843560009081526006602052604080822060015491517fcdfda4dd000000000000000000000000000000000000000000000000000000008152600481018690529092916001600160a01b03169063edb8ee5a90829063cdfda4dd90602401602060405180830381865afa158015610871573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108959190615435565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b16815265ffffffffffff9091166004820152602401602060405180830381865afa1580156108f0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610914919061545d565b600183015460028401549192506fffffffffffffffffffffffffffffffff7001000000000000000000000000000000009182900481169291820481169116600061095f60038a6121cd565b9150506000610975868361ffff166127106122d8565b905080856fffffffffffffffffffffffffffffffff1610156109e3576040517fbfb9aa550000000000000000000000000000000000000000000000000000000081526fffffffffffffffffffffffffffffffff86166004820152602481018290526044015b60405180910390fd5b836fffffffffffffffffffffffffffffffff16856fffffffffffffffffffffffffffffffff1611610a5c576040517f8a0df63f0000000000000000000000000000000000000000000000000000000081526fffffffffffffffffffffffffffffffff8087166004830152851660248201526044016109da565b6000610a7b8d6060016020810190610a7491906153ce565b600061231c565b905060008054906101000a90046001600160a01b03166001600160a01b03166394004706828f6040518363ffffffff1660e01b8152600401610abe9291906155b2565b6020604051808303816000875af1158015610add573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b0191906155e8565b50604080518e3581526fffffffffffffffffffffffffffffffff808916602083015280881692820192909252908516606082015260ff82169033907ff5bc433f16cc3d0e9fcb5ac4f8de9f17eb90de1fd2a9ede5952c2097d4ef1a59906080015b60405180910390a350505050505050505050505050565b600080610b87600484612034565b91509150915091565b6000610ba0338787878787612612565b9695505050505050565b60008054906101000a90046001600160a01b03166001600160a01b031663c34c08e56040518163ffffffff1660e01b8152600401602060405180830381865afa158015610bfb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c1f9190615603565b6001600160a01b0316336001600160a01b031614610c69576040517f26bee1ce00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610c7281612c5e565b50565b6000610c818686612e2e565b6040805160008082526020820180845284905260ff88169282019290925260608101869052608081018590529192509060019060a0016020604051602081039080840390855afa158015610cd9573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001519150506001600160a01b0381161580610d2c5750866001600160a01b0316816001600160a01b031614155b15610d63576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610d6d8187612f50565b50505050505050565b60408051602081019091526060815281831115610dbf576040517f2cd4dad300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60045480831115610dfc576040517f2cd4dad300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610e088585615620565b905060008167ffffffffffffffff811115610e2557610e25614d65565b604051908082528060200260200182016040528015610e8e57816020015b60408051606081018252600080825260208083018290529282015282527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff909201910181610e435790505b509050855b85811015610f34576004805482908110610eaf57610eaf615633565b600091825260209182902060408051606081018252919092015465ffffffffffff8116825261ffff660100000000000082048116948301949094526801000000000000000090049092169082015282610f088984615620565b81518110610f1857610f18615633565b6020026020010181905250610f2d8160010190565b9050610e93565b506040805160208101909152908152925050505b92915050565b600080610f5b6004613063565b915091509091565b60008054906101000a90046001600160a01b03166001600160a01b031663c34c08e56040518163ffffffff1660e01b8152600401602060405180830381865afa158015610fb4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fd89190615603565b6001600160a01b0316336001600160a01b031614611022576040517f26bee1ce00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61102c82826130db565b5050565b6000610ba03387878787876131cf565b60008115611077575060008381526006602090815260408083206001600160a01b038616845260030190915290205460ff166110a2565b5060008381526006602090815260408083206001600160a01b038616845260040190915290205460ff165b9392505050565b6040805160208101909152606081526040805160048054602081810284018501855283018181529293919284929091849160009085015b8282101561113f576000848152602090819020604080516060810182529185015465ffffffffffff8116835261ffff660100000000000082048116848601526801000000000000000090910416908201528252600190920191016110e0565b5050505081525050905090565b60008061115f8d8d8d8d8d8d8d8d613714565b6040805160008082526020820180845284905260ff89169282019290925260608101879052608081018690529192509060019060a0016020604051602081039080840390855afa1580156111b7573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001519150506001600160a01b038116158061120a57508d6001600160a01b0316816001600160a01b031614155b15611241576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611251818e8e8e8e8e8e8e613885565b9e9d5050505050505050505050505050565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000810460ff16159067ffffffffffffffff166000811580156112ae5750825b905060008267ffffffffffffffff1660011480156112cb5750303b155b9050811580156112d9575080155b15611310576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b84547fffffffffffffffffffffffffffffffffffffffffffffffff000000000000000016600117855583156113715784547fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff16680100000000000000001785555b886001600160a01b0316639bccfe496040518163ffffffff1660e01b8152600401602060405180830381865afa1580156113af573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113d3919061545d565b50600080546001600160a01b03808c167fffffffffffffffffffffffff00000000000000000000000000000000000000009283161790925560018054928b169290911691909117905561142587612c5e565b611437866000015187602001516130db565b61144986604001518760600151613b89565b83156114aa5784547fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b505050505050505050565b6000806114c68b8b8b8b8b8b613c26565b6040805160008082526020820180845284905260ff89169282019290925260608101879052608081018690529192509060019060a0016020604051602081039080840390855afa15801561151e573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001519150506001600160a01b038116158061157157508b6001600160a01b0316816001600160a01b031614155b156115a8576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6115b6818c8c8c8c8c6131cf565b9c9b505050505050505050505050565b6000806115d78b8b8b8b8b8b613d84565b6040805160008082526020820180845284905260ff89169282019290925260608101879052608081018690529192509060019060a0016020604051602081039080840390855afa15801561162f573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001519150506001600160a01b038116158061168257508b6001600160a01b0316816001600160a01b031614155b156116b9576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6115b6818c8c8c8c8c612612565b600061170f338a8a8a8a8a8a8a8a8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061388592505050565b9998505050505050505050565b610c723382612f50565b60008054906101000a90046001600160a01b03166001600160a01b031663c34c08e56040518163ffffffff1660e01b8152600401602060405180830381865afa158015611777573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061179b9190615603565b6001600160a01b0316336001600160a01b0316146117e5576040517f26bee1ce00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61102c8282613b89565b600080610f5b6003613063565b604080516020810190915260608152604080516003805460208082028401850185528301818152929391928492909184916000908501821561113f576000848152602090819020604080516060810182529185015465ffffffffffff8116835261ffff660100000000000082048116848601526801000000000000000090910416908201528252600190920191016110e0565b604080516020810190915260608152818311156118d8576040517f2cd4dad300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60035480831115611915576040517f2cd4dad300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006119218585615620565b905060008167ffffffffffffffff81111561193e5761193e614d65565b6040519080825280602002602001820160405280156119a757816020015b60408051606081018252600080825260208083018290529282015282527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90920191018161195c5790505b509050855b85811015610f345760038054829081106119c8576119c8615633565b600091825260209182902060408051606081018252919092015465ffffffffffff8116825261ffff660100000000000082048116948301949094526801000000000000000090049092169082015282611a218984615620565b81518110611a3157611a31615633565b6020026020010181905250611a468160010190565b90506119ac565b600080546040517fb6e76873000000000000000000000000000000000000000000000000000000008152833560048201526001600160a01b039091169063b6e768739060240161012060405180830381865afa158015611ab1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ad591906152c8565b9050600060018260a00151611aea91906153a6565b67ffffffffffffffff169050600160009054906101000a90046001600160a01b03166001600160a01b031663ae2a6df26040518163ffffffff1660e01b815260040160006040518083038186803b158015611b4457600080fd5b505afa158015611b58573d6000803e3d6000fd5b50505050600080600080611b7685600461203490919063ffffffff16565b90925090506000611b8d6080890160608a016153ce565b6001600160a01b0316637999762c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611bca573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bee91906153eb565b67ffffffffffffffff16905061271061ffff84168202048760a0015167ffffffffffffffff160194506127108261ffff16820281611c2e57611c2e615406565b0485019350834211611c6c576040517f038d8a6a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b808760a0015167ffffffffffffffff16611c869190615662565b421115611cbf576040517f08c8d62700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050843560009081526006602052604080822060015491517fcdfda4dd000000000000000000000000000000000000000000000000000000008152600481018690529092916001600160a01b03169063edb8ee5a90829063cdfda4dd90602401602060405180830381865afa158015611d3d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d619190615435565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b16815265ffffffffffff9091166004820152602401602060405180830381865afa158015611dbc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611de0919061545d565b825460018401549192506fffffffffffffffffffffffffffffffff808216928116917001000000000000000000000000000000009004166000611e2460038a6121cd565b5090506000611e3a868361ffff166127106122d8565b905080856fffffffffffffffffffffffffffffffff161015611ea3576040517f0425fab10000000000000000000000000000000000000000000000000000000081526fffffffffffffffffffffffffffffffff86166004820152602481018290526044016109da565b836fffffffffffffffffffffffffffffffff16856fffffffffffffffffffffffffffffffff1611611f1c576040517f8a0df63f0000000000000000000000000000000000000000000000000000000081526fffffffffffffffffffffffffffffffff8087166004830152851660248201526044016109da565b6000611f3b8d6060016020810190611f3491906153ce565b600161231c565b905060008054906101000a90046001600160a01b03166001600160a01b03166389e7d126828f6040518363ffffffff1660e01b8152600401611f7e9291906155b2565b6020604051808303816000875af1158015611f9d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fc191906155e8565b50604080518e3581526fffffffffffffffffffffffffffffffff808916602083015280881692820192909252908516606082015260ff82169033907ff23279e924757f3bfe4f543bc1b43685e851d6ace53f8518b806dcd8d42fc13990608001610b62565b600080610b876003846121cd565b6000804283106120c6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f506572696f64506374436865636b706f696e74733a2074696d657374616d702060448201527f6973206e6f7420696e207468652070617374000000000000000000000000000060648201526084016109da565b60006120d184613db3565b855490915060008160058111156121315760006120ed84613dfc565b6120f79085615620565b60008a81526020902090915081015465ffffffffffff90811690861610156121215780915061212f565b61212c816001615662565b92505b505b600061213f89868585613eae565b90508060000361215a576000809650965050505050506121c6565b60006121798a61216b600185615620565b600091825260209091200190565b60408051606081018252915465ffffffffffff8116835261ffff66010000000000008204811660208501819052680100000000000000009092041692909101829052985096505050505050505b9250929050565b60008042831061225f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602f60248201527f51756f72756d436865636b706f696e74733a2074696d657374616d702069732060448201527f6e6f7420696e207468652070617374000000000000000000000000000000000060648201526084016109da565b600061226a84613db3565b855490915060008160058111156122ca57600061228684613dfc565b6122909085615620565b60008a81526020902090915081015465ffffffffffff90811690861610156122ba578091506122c8565b6122c5816001615662565b92505b505b600061213f89868585613f10565b6000827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048411830215820261230d57600080fd5b50910281810615159190040190565b60008054604080517f0505c8c9000000000000000000000000000000000000000000000000000000008152905183926001600160a01b031691630505c8c99160048083019260209291908290030181865afa15801561237f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123a39190615603565b6001600160a01b0316638b2ed3886040518163ffffffff1660e01b8152600401602060405180830381865afa1580156123e0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124049190615675565b905060015b8160ff16811161253b57836124a1576040517fc167ebae00000000000000000000000000000000000000000000000000000000815260ff821660048201526001600160a01b0386169063c167ebae90602401602060405180830381865afa158015612478573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061249c9190615692565b612525565b6040517ffb847c4300000000000000000000000000000000000000000000000000000000815260ff821660048201526001600160a01b0386169063fb847c4390602401602060405180830381865afa158015612501573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125259190615692565b15612533579150610f489050565b600101612409565b50826125a857836001600160a01b03166312a52f006040518163ffffffff1660e01b8152600401602060405180830381865afa15801561257f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125a39190615675565b61260a565b836001600160a01b03166366cacdc96040518163ffffffff1660e01b8152600401602060405180830381865afa1580156125e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061260a9190615675565b949350505050565b600080546040517fb6e768730000000000000000000000000000000000000000000000000000000081528635600482015282916001600160a01b03169063b6e768739060240161012060405180830381865afa158015612676573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061269a91906152c8565b9050600060018260a001516126af91906153a6565b8735600090815260066020526040902067ffffffffffffffff9190911691506126de6080890160608a016153ce565b6001600160a01b03166302674e4b89308c6040518463ffffffff1660e01b815260040161270d939291906156af565b60006040518083038186803b15801561272557600080fd5b505afa158015612739573d6000803e3d6000fd5b505050506001600160a01b038a16600090815260048201602052604090205460ff1615612792576040517f9dd6544b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6127a0888a89600486613f6a565b60008080806127b0600487612034565b909250905060006127c760808e0160608f016153ce565b6001600160a01b031663b02bd9206040518163ffffffff1660e01b8152600401602060405180830381865afa158015612804573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061282891906153eb565b67ffffffffffffffff16905061271061ffff8416820204818960c0015167ffffffffffffffff16030194506127108261ffff1682028161286a5761286a615406565b04850193508442116128a8576040517fd0b72b4900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b834211156128e2576040517f5b73d19300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050506000612a25600160009054906101000a90046001600160a01b03166001600160a01b0316639556de738f600160009054906101000a90046001600160a01b03166001600160a01b031663cdfda4dd886040518263ffffffff1660e01b815260040161295291815260200190565b602060405180830381865afa15801561296f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906129939190615435565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b1681526001600160a01b03909216600483015265ffffffffffff166024820152604401602060405180830381865afa1580156129fc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a20919061545d565b61425e565b905060ff8a16612a9e576002840154612a649070010000000000000000000000000000000090046fffffffffffffffffffffffffffffffff16826142ad565b6002850180546fffffffffffffffffffffffffffffffff928316700100000000000000000000000000000000029216919091179055612bc6565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60ff8b1601612b37576001840154612afd9070010000000000000000000000000000000090046fffffffffffffffffffffffffffffffff16826142ad565b6001850180546fffffffffffffffffffffffffffffffff928316700100000000000000000000000000000000029216919091179055612bc6565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe60ff8b1601612bc6576002840154612b82906fffffffffffffffffffffffffffffffff16826142ad565b6002850180547fffffffffffffffffffffffffffffffff00000000000000000000000000000000166fffffffffffffffffffffffffffffffff929092169190911790555b6001600160a01b038d1660008181526004860160205260409081902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790555160ff8c1691907f4e3e2ad68670a2709cb408c31c5afd8da0b6d3d06c75b11feb404a455639fe7c90612c46908f359086908f908f90615713565b60405180910390a39c9b505050505050505050505050565b60018054604080517f91ddadf400000000000000000000000000000000000000000000000000000000815290516000936001600160a01b039093169263edb8ee5a92909184916391ddadf49160048083019260209291908290030181865afa158015612cce573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612cf29190615435565b612cfc9190615745565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b16815265ffffffffffff9091166004820152602401602060405180830381865afa158015612d57573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612d7b919061545d565b905080600003612db7576040517f34bbd58500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80821115612df1576040517f8a5e746800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60028290556040518281527fd91a985c173545ab0e0bd11c021a1ae84c1ea6eab9350d9bf3812d5b8bff49a4906020015b60405180910390a15050565b6000807f6da9390b4f29da2c44fa5a9da00b392393d01e989d16e4a3dec5a538318e352584612e5c856142f4565b6001600160a01b03871660009081526007602090815260408083207fffffffff00000000000000000000000000000000000000000000000000000000843516845290915290208054600181019091556040805160208101959095526001600160a01b03909316928401929092526060830152608082015260a001604051602081830303815290604052805190602001209050612ef66143eb565b6040517f190100000000000000000000000000000000000000000000000000000000000060208201526022810191909152604281018290526062016040516020818303038152906040528051906020012091505092915050565b80356000908152600560205260409020546001600160a01b03838116911614612fa5576040517f86ba025600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000546040517fb92cdd9a0000000000000000000000000000000000000000000000000000000081526001600160a01b039091169063b92cdd9a90612fee908490600401615764565b600060405180830381600087803b15801561300857600080fd5b505af115801561301c573d6000803e3d6000fd5b5050604051833581526001600160a01b03851692507fdcccc5725b7256a6975da00de8953e5d326756a3079d203ff6df9e52331f411a915060200160405180910390a25050565b8054600090819080820361307d5750600093849350915050565b600061308e8561216b600185615620565b60408051606081018252915465ffffffffffff8116835261ffff66010000000000008204811660208501819052680100000000000000009092041692909101829052969095509350505050565b6127108261ffff1611806130f1575061ffff8216155b1561312e576040517f8f6febc000000000000000000000000000000000000000000000000000000000815261ffff831660048201526024016109da565b6127108161ffff161180613144575061ffff8116155b15613181576040517f3bec511c00000000000000000000000000000000000000000000000000000000815261ffff821660048201526024016109da565b613194600361ffff80851690841661454d565b6040805161ffff8085168252831660208201527f77c3f43700db02acb49792bbf699b39f72c2ed4b920bd5c0b1843dcd7c832f4c9101612e22565b600080546040517fb6e768730000000000000000000000000000000000000000000000000000000081528635600482015282916001600160a01b03169063b6e768739060240161012060405180830381865afa158015613233573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061325791906152c8565b9050600060018260a0015161326c91906153a6565b8735600090815260066020526040902067ffffffffffffffff91909116915061329b6080890160608a016153ce565b6001600160a01b0316631a2a4e7789308c6040518463ffffffff1660e01b81526004016132ca939291906156af565b60006040518083038186803b1580156132e257600080fd5b505afa1580156132f6573d6000803e3d6000fd5b505050506001600160a01b038a16600090815260038201602052604090205460ff161561334f576040517f9dd6544b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61335d888a89600086613f6a565b600080808061336d600487612034565b9092509050600061338460808e0160608f016153ce565b6001600160a01b0316637999762c6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156133c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906133e591906153eb565b67ffffffffffffffff16905061271061ffff84168202048860a0015167ffffffffffffffff160194506127108261ffff1682028161342557613425615406565b0485019350844211613463576040517fd0b72b4900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8342111561349d576040517f5b73d19300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050600061350d600160009054906101000a90046001600160a01b03166001600160a01b0316639556de738f600160009054906101000a90046001600160a01b03166001600160a01b031663cdfda4dd886040518263ffffffff1660e01b815260040161295291815260200190565b905060ff8a16613580576001840154613538906fffffffffffffffffffffffffffffffff16826142ad565b6001850180547fffffffffffffffffffffffffffffffff00000000000000000000000000000000166fffffffffffffffffffffffffffffffff92909216919091179055613694565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60ff8b16016136095783546135c8906fffffffffffffffffffffffffffffffff16826142ad565b84547fffffffffffffffffffffffffffffffff00000000000000000000000000000000166fffffffffffffffffffffffffffffffff91909116178455613694565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe60ff8b16016136945783546136659070010000000000000000000000000000000090046fffffffffffffffffffffffffffffffff16826142ad565b84546fffffffffffffffffffffffffffffffff9182167001000000000000000000000000000000000291161784555b6001600160a01b038d1660008181526003860160205260409081902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790555160ff8c1691907f761cce3a1af5d9cfc0d57222f605ce4bd2be345f0ad9ebb7b83a84a91a0c201490612c46908f359086908f908f90615713565b6001600160a01b03881660009081526007602090815260408083207fffffffff000000000000000000000000000000000000000000000000000000008435168452909152812080546001810190915560007fd1fab1c7b3b37134662e5867b00e272eb49f7be0a890df29e802c3cc66c06f838b8b8b8b8b8b8b60405161379b929190615777565b604080519182900382208c516020808f0191909120908401999099526001600160a01b039788169183019190915260ff90951660608201529285166080840152931660a082015260c081019290925260e08201526101008101919091526101208101839052610140016040516020818303038152906040528051906020012090506138246143eb565b6040517f19010000000000000000000000000000000000000000000000000000000000006020820152602281019190915260428101829052606201604051602081830303815290604052805190602001209250505098975050505050505050565b600154604080517fae2a6df200000000000000000000000000000000000000000000000000000000815290516000926001600160a01b03169163ae2a6df29160048083019286929190829003018186803b1580156138e257600080fd5b505afa1580156138f6573d6000803e3d6000fd5b505060018054604080517f91ddadf40000000000000000000000000000000000000000000000000000000081529051600095506001600160a01b039092169350639556de73928e92909185916391ddadf4916004808201926020929091908290030181865afa15801561396d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906139919190615435565b61399b9190615745565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b1681526001600160a01b03909216600483015265ffffffffffff166024820152604401602060405180830381865afa158015613a04573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613a28919061545d565b9050600254811015613a69576040517f92665351000000000000000000000000000000000000000000000000000000008152600481018290526024016109da565b6000546040517fb3c678b00000000000000000000000000000000000000000000000000000000081526001600160a01b039091169063b3c678b090613abe908c908c908c908c908c908c908c906004016157ab565b6020604051808303816000875af1158015613add573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613b01919061545d565b60008181526005602090815260409182902080547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b038f16908117909155915183815292945090917f1834dfd49255741a8ce9a9bd66b91b64d13622e1d8170e4c78ac91f9ec50a542910160405180910390a25098975050505050505050565b612710613b96828461583b565b61ffff1610613bdf576040517f519dd38400000000000000000000000000000000000000000000000000000000815261ffff8084166004830152821660248201526044016109da565b613beb60048383614576565b6040805161ffff8085168252831660208201527f8df7bdcce333d9e1b85e40782fb2f293c805761d3f48aaea58865e9541e44c709101612e22565b6000807fd7be168a3509af358f222ee35ee76aba47bc5fc2c35061cdce3958f510b7b1b28888613c55896142f4565b888888604051613c66929190615777565b60408051918290039091206001600160a01b038f166000908152600760209081528382207fffffffff0000000000000000000000000000000000000000000000000000000083351683529052919091208054600181019091556040805160208101989098526001600160a01b039096169587019590955260ff938416606087015260808601929092529190911660a084015260c083015260e082015261010001604051602081830303815290604052805190602001209050613d266143eb565b6040517f19010000000000000000000000000000000000000000000000000000000000006020820152602281019190915260428101829052606201604051602081830303815290604052805190602001209150509695505050505050565b6000807fa87058c5a9888e7af4405a932381d5a4612c61354bc3e52e9ea361ba17703fb38888613c55896142f4565b600065ffffffffffff821115613df8576040517fc0188c4f000000000000000000000000000000000000000000000000000000008152600481018390526024016109da565b5090565b60b581710100000000000000000000000000000000008110613e235760409190911b9060801c5b69010000000000000000008110613e3f5760209190911b9060401c5b650100000000008110613e575760109190911b9060201c5b63010000008110613e6d5760089190911b9060101c5b62010000010260121c80820401600190811c80830401811c80830401811c80830401811c80830401811c80830401811c80830401901c908190048111900390565b60005b81831015613f08576000613ec584846145a2565b60008781526020902090915065ffffffffffff86169082015465ffffffffffff161115613ef457809250613f02565b613eff816001615662565b93505b50613eb1565b509392505050565b60005b81831015613f08576000613f2784846145a2565b60008781526020902090915065ffffffffffff86169082015465ffffffffffff161115613f5657809250613f64565b613f61816001615662565b93505b50613f13565b600260ff84161115613fad576040517ffe0e5d8b00000000000000000000000000000000000000000000000000000000815260ff841660048201526024016109da565b600080546040517fec12d8be0000000000000000000000000000000000000000000000000000000081526001600160a01b039091169063ec12d8be90613ff7908990600401615764565b602060405180830381865afa158015614014573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906140389190615675565b60ff16600681111561404c5761404c6156e4565b9050826006811115614060576140606156e4565b816006811115614072576140726156e4565b146140ab57806040517f87afe58e0000000000000000000000000000000000000000000000000000000081526004016109da9190615856565b60008060009054906101000a90046001600160a01b03166001600160a01b0316630505c8c96040518163ffffffff1660e01b8152600401602060405180830381865afa1580156140ff573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906141239190615603565b6040517fe0bec07600000000000000000000000000000000000000000000000000000000815230600482015260ff88166024820152604481018590526001600160a01b03919091169063e0bec07690606401602060405180830381865afa158015614192573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906141b69190615692565b9050806141ef576040517f88aebd1200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600160009054906101000a90046001600160a01b03166001600160a01b031663ae2a6df26040518163ffffffff1660e01b815260040160006040518083038186803b15801561423d57600080fd5b505afa158015614251573d6000803e3d6000fd5b5050505050505050505050565b60006fffffffffffffffffffffffffffffffff821115613df8576040517fc0188c4f000000000000000000000000000000000000000000000000000000008152600481018390526024016109da565b60006fffffffffffffffffffffffffffffffff6142ce838216858316615662565b106142ea57506fffffffffffffffffffffffffffffffff610f48565b6110a28284615897565b60007f86b4555c6e347ea3f038485b59b894986c208b67da7e65fcfa3707271608465f823561432960408501602086016153ce565b61433960608601604087016158c0565b61434960808701606088016153ce565b61435960a08801608089016153ce565b60a088013561436b60c08a018a6158dd565b604051614379929190615777565b6040805191829003822060208301999099528101969096526001600160a01b03948516606087015260ff909316608086015290831660a08501529190911660c083015260e082015261010081019190915261012001604051602081830303815290604052805190602001209050919050565b60008054604080517f06fdde0300000000000000000000000000000000000000000000000000000000815290517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f926001600160a01b0316916306fdde0391600480830192879291908290030181865afa15801561446d573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526144b39190810190615942565b8051602091820120604080518082018252600181527f310000000000000000000000000000000000000000000000000000000000000090840152805192830193909352918101919091527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a082015260c00160405160208183030381529060405280519060200120905090565b6145718361455a42613db3565b614563856145bd565b61456c856145bd565b6145fe565b505050565b6145718361458342613db3565b6145908561ffff166145bd565b61459d8561ffff166145bd565b614909565b60006145b160028484186159b0565b6110a290848416615662565b600061ffff821115613df8576040517fc0188c4f000000000000000000000000000000000000000000000000000000008152600481018390526024016109da565b835480156148475760006146178661216b600185615620565b60408051606081018252915465ffffffffffff80821680855261ffff66010000000000008404811660208701526801000000000000000090930490921692840192909252919250861610156146ed576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f51756f72756d20436865636b706f696e743a20696e76616c69642074696d657360448201527f74616d700000000000000000000000000000000000000000000000000000000060648201526084016109da565b805165ffffffffffff8087169116036147865760006147118761216b600186615620565b805461ffff86811668010000000000000000027fffffffffffffffffffffffffffffffffffffffffffff0000ffffffffffffffff918916660100000000000002919091167fffffffffffffffffffffffffffffffffffffffffffff00000000ffffffffffff9092169190911717905550614841565b6040805160608101825265ffffffffffff808816825261ffff80881660208085019182528883169585019586528b54600181018d5560008d81529190912094519401805491519551831668010000000000000000027fffffffffffffffffffffffffffffffffffffffffffff0000ffffffffffffffff969093166601000000000000027fffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000909216949093169390931792909217929092161790555b50614902565b6040805160608101825265ffffffffffff808716825261ffff80871660208085019182528783169585019586528a54600181018c5560008c81529190912094519401805491519551831668010000000000000000027fffffffffffffffffffffffffffffffffffffffffffff0000ffffffffffffffff969093166601000000000000027fffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000909216949093169390931792909217929092161790555b5050505050565b835480156148475760006149228661216b600185615620565b60408051606081018252915465ffffffffffff80821680855261ffff66010000000000008404811660208701526801000000000000000090930490921692840192909252919250861610156146ed576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602860248201527f506572696f642050637420436865636b706f696e743a20696e76616c6964207460448201527f696d657374616d7000000000000000000000000000000000000000000000000060648201526084016109da565b600060e08284031215614a0b57600080fd5b50919050565b600060208284031215614a2357600080fd5b813567ffffffffffffffff811115614a3a57600080fd5b61260a848285016149f9565b600060208284031215614a5857600080fd5b5035919050565b60ff81168114610c7257600080fd5b8035614a7981614a5f565b919050565b60008083601f840112614a9057600080fd5b50813567ffffffffffffffff811115614aa857600080fd5b6020830191508360208285010111156121c657600080fd5b600080600080600060808688031215614ad857600080fd5b8535614ae381614a5f565b9450602086013567ffffffffffffffff80821115614b0057600080fd5b614b0c89838a016149f9565b955060408801359150614b1e82614a5f565b90935060608701359080821115614b3457600080fd5b50614b4188828901614a7e565b969995985093965092949392505050565b80357fffffffff0000000000000000000000000000000000000000000000000000000081168114614a7957600080fd5b600060208284031215614b9457600080fd5b6110a282614b52565b6001600160a01b0381168114610c7257600080fd5b8035614a7981614b9d565b600080600080600060a08688031215614bd557600080fd5b8535614be081614b9d565b9450602086013567ffffffffffffffff811115614bfc57600080fd5b614c08888289016149f9565b9450506040860135614c1981614a5f565b94979396509394606081013594506080013592915050565b60008060408385031215614c4457600080fd5b50508035926020909101359150565b60208082528251828201829052805160408401819052600092916060919083019082860190855b81811015614cc357614cb3838551805165ffffffffffff16825260208082015161ffff9081169184019190915260409182015116910152565b9285019291840191600101614c7a565b5090979650505050505050565b803561ffff81168114614a7957600080fd5b60008060408385031215614cf557600080fd5b614cfe83614cd0565b9150614d0c60208401614cd0565b90509250929050565b8015158114610c7257600080fd5b600080600060608486031215614d3857600080fd5b833592506020840135614d4a81614b9d565b91506040840135614d5a81614d15565b809150509250925092565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051610120810167ffffffffffffffff81118282101715614db857614db8614d65565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715614e0557614e05614d65565b604052919050565b600067ffffffffffffffff821115614e2757614e27614d65565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b600082601f830112614e6457600080fd5b8135614e77614e7282614e0d565b614dbe565b818152846020838601011115614e8c57600080fd5b816020850160208301376000918101602001919091529392505050565b60008060008060008060008060008060006101408c8e031215614ecb57600080fd5b614ed48c614bb2565b9a50614ee260208d01614a6e565b9950614ef060408d01614bb2565b9850614efe60608d01614bb2565b975060808c0135965067ffffffffffffffff8060a08e01351115614f2157600080fd5b614f318e60a08f01358f01614a7e565b909750955060c08d0135811015614f4757600080fd5b50614f588d60c08e01358e01614e53565b9350614f6660e08d01614a6e565b92506101008c013591506101208c013590509295989b509295989b9093969950565b60008060008084860360e0811215614f9f57600080fd5b8535614faa81614b9d565b94506020860135614fba81614b9d565b93506040860135925060807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa082011215614ff357600080fd5b506040516080810181811067ffffffffffffffff8211171561501757615017614d65565b60405261502660608701614cd0565b815261503460808701614cd0565b602082015261504560a08701614cd0565b604082015261505660c08701614cd0565b6060820152939692955090935050565b60008060008060008060008060006101008a8c03121561508557600080fd5b893561509081614b9d565b985060208a01356150a081614a5f565b975060408a013567ffffffffffffffff808211156150bd57600080fd5b6150c98d838e016149f9565b985060608c013591506150db82614a5f565b90965060808b013590808211156150f157600080fd5b506150fe8c828d01614a7e565b90965094505060a08a013561511281614a5f565b8093505060c08a0135915060e08a013590509295985092959850929598565b60008060008060008060008060c0898b03121561514d57600080fd5b883561515881614a5f565b9750602089013561516881614b9d565b9650604089013561517881614b9d565b955060608901359450608089013567ffffffffffffffff8082111561519c57600080fd5b6151a88c838d01614a7e565b909650945060a08b01359150808211156151c157600080fd5b506151ce8b828c01614a7e565b999c989b5096995094979396929594505050565b600080604083850312156151f557600080fd5b823561520081614b9d565b9150614d0c60208401614b52565b60208082528251828201829052805160408401819052600092916060919083019082860190855b81811015614cc35761526e838551805165ffffffffffff16825260208082015161ffff9081169184019190915260409182015116910152565b9285019291840191600101615235565b8051614a7981614d15565b8051614a7981614b9d565b805167ffffffffffffffff81168114614a7957600080fd5b80516bffffffffffffffffffffffff81168114614a7957600080fd5b600061012082840312156152db57600080fd5b6152e3614d94565b825181526152f36020840161527e565b60208201526153046040840161527e565b60408201526153156060840161527e565b606082015261532660808401615289565b608082015261533760a08401615294565b60a082015261534860c08401615294565b60c082015261535960e084016152ac565b60e082015261010061536c8185016152ac565b908201529392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b67ffffffffffffffff8281168282160390808211156153c7576153c7615377565b5092915050565b6000602082840312156153e057600080fd5b81356110a281614b9d565b6000602082840312156153fd57600080fd5b6110a282615294565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006020828403121561544757600080fd5b815165ffffffffffff811681146110a257600080fd5b60006020828403121561546f57600080fd5b5051919050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b80358252600060208201356154d381614b9d565b6001600160a01b0390811660208501526040830135906154f282614a5f565b60ff821660408601526060840135915061550b82614b9d565b908116606085015260808301359061552282614b9d565b16608084015260a0828101359084015260c0820135368390037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe101811261556857600080fd5b820160208101903567ffffffffffffffff81111561558557600080fd5b80360382131561559457600080fd5b60e060c08601526155a960e086018284615476565b95945050505050565b60ff831681526060602082015260006155ce60608301846154bf565b828103604084015260008152602081019150509392505050565b6000602082840312156155fa57600080fd5b6110a2826152ac565b60006020828403121561561557600080fd5b81516110a281614b9d565b81810381811115610f4857610f48615377565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b80820180821115610f4857610f48615377565b60006020828403121561568757600080fd5b81516110a281614a5f565b6000602082840312156156a457600080fd5b81516110a281614d15565b6060815260006156c260608301866154bf565b90506001600160a01b038416602083015260ff83166040830152949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b8481526fffffffffffffffffffffffffffffffff84166020820152606060408201526000610ba0606083018486615476565b65ffffffffffff8281168282160390808211156153c7576153c7615377565b6020815260006110a260208301846154bf565b8183823760009101908152919050565b60005b838110156157a257818101518382015260200161578a565b50506000910152565b60ff8816815260006001600160a01b03808916602084015280881660408401525085606083015260c060808301526157e760c083018587615476565b82810360a08401528351808252615805816020840160208801615787565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016016020019998505050505050505050565b61ffff8181168382160190808211156153c7576153c7615377565b6020810160078310615891577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b91905290565b6fffffffffffffffffffffffffffffffff8181168382160190808211156153c7576153c7615377565b6000602082840312156158d257600080fd5b81356110a281614a5f565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261591257600080fd5b83018035915067ffffffffffffffff82111561592d57600080fd5b6020019150368190038213156121c657600080fd5b60006020828403121561595457600080fd5b815167ffffffffffffffff81111561596b57600080fd5b8201601f8101841361597c57600080fd5b805161598a614e7282614e0d565b81815285602083850101111561599f57600080fd5b6155a9826020830160208601615787565b6000826159e6577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b50049056fea164736f6c6343000817000a", + "nonce": "0x0", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x5b186110f6dba4c101f412b9927527faec9c81ec5b582f4d36e39e9b8914a44a", + "transactionType": "CREATE", + "contractName": "LlamaTokenVotingFactory", + "contractAddress": "0xFBE17545dffD75A92A5A72926AE581478973FE65", + "function": null, + "arguments": [ + "0x3f3DAB3ab8cEc2FBd06767c2A5F66Cb6BFF21A4A" + ], + "transaction": { + "type": "0x02", + "from": "0xb72276d9ff15c7998b9962ffcfb21a6c7249441b", + "gas": "0xc9127", + "value": "0x0", + "data": "0x60a060405234801561001057600080fd5b50604051610b16380380610b1683398101604081905261002f91610040565b6001600160a01b0316608052610070565b60006020828403121561005257600080fd5b81516001600160a01b038116811461006957600080fd5b9392505050565b608051610a8561009160003960008181604001526104390152610a856000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c806321618ea41461003b5780633ec857a51461008b575b600080fd5b6100627f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b61006261009936600461087b565b600080338360000151846040015185606001516040516020016100bf9493929190610959565b60405160208183030381529060405280519060200120905060006100e7846020015183610622565b60408086015190517f439fab9100000000000000000000000000000000000000000000000000000000815291925073ffffffffffffffffffffffffffffffffffffffff83169163439fab919161013f916004016109b9565b6020604051808303816000875af115801561015e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101829190610a0a565b50600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1663fc0c546a6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156101e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061020a9190610a33565b73ffffffffffffffffffffffffffffffffffffffff1603610257576040517f65f5b03400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517fcdfda4dd00000000000000000000000000000000000000000000000000000000815242600482015273ffffffffffffffffffffffffffffffffffffffff82169063cdfda4dd90602401602060405180830381865afa1580156102c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102e59190610a50565b65ffffffffffff16600003610326576040517f65f5b03400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff166391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865afa158015610371573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103959190610a50565b65ffffffffffff166000036103d6576040517f65f5b03400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1663ae2a6df26040518163ffffffff1660e01b815260040160006040518083038186803b15801561041c57600080fd5b505afa158015610430573d6000803e3d6000fd5b5050505061045e7f000000000000000000000000000000000000000000000000000000000000000083610622565b8451608086015160a0870151604080517f8734852a00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff948516600482015286851660248201526044810193909352815161ffff908116606485015260208301518116608485015290820151811660a48401526060909101511660c4820152919450841690638734852a9060e401600060405180830381600087803b15801561051757600080fd5b505af115801561052b573d6000803e3d6000fd5b505050508073ffffffffffffffffffffffffffffffffffffffff1663fc0c546a6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561057a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061059e9190610a33565b84516020808701516060808901516040805173ffffffffffffffffffffffffffffffffffffffff94851681528885169581019590955284015287821690830152466080830152928316929091169033907f4c8bb78cb1c62e64cef39fc4b4a1864d1a331a28c7bd59a67fe969cc8ab715879060a00160405180910390a45050919050565b6000763d602d80600a3d3981f3363d3d373d3d3d363d730000008360601b60e81c176000526e5af43d82803e903d91602b57fd5bf38360781b1760205281603760096000f5905073ffffffffffffffffffffffffffffffffffffffff81166106b6576040517fc2f868f400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405160c0810167ffffffffffffffff8111828210171561070e5761070e6106bc565b60405290565b73ffffffffffffffffffffffffffffffffffffffff8116811461073657600080fd5b50565b600082601f83011261074a57600080fd5b813567ffffffffffffffff80821115610765576107656106bc565b604051601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011681019082821181831017156107ab576107ab6106bc565b816040528381528660208588010111156107c457600080fd5b836020870160208301376000602085830101528094505050505092915050565b803561ffff811681146107f657600080fd5b919050565b60006080828403121561080d57600080fd5b6040516080810181811067ffffffffffffffff82111715610830576108306106bc565b60405290508061083f836107e4565b815261084d602084016107e4565b602082015261085e604084016107e4565b604082015261086f606084016107e4565b60608201525092915050565b60006020828403121561088d57600080fd5b813567ffffffffffffffff808211156108a557600080fd5b9083019061012082860312156108ba57600080fd5b6108c26106eb565b82356108cd81610714565b815260208301356108dd81610714565b60208201526040830135828111156108f457600080fd5b61090087828601610739565b60408301525060608301356060820152608083013560808201526109278660a085016107fb565b60a082015295945050505050565b60005b83811015610950578181015183820152602001610938565b50506000910152565b60007fffffffffffffffffffffffffffffffffffffffff000000000000000000000000808760601b168352808660601b1660148401525083516109a3816028850160208801610935565b6028920191820192909252604801949350505050565b60208152600082518060208401526109d8816040850160208701610935565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169190910160400192915050565b600060208284031215610a1c57600080fd5b81518015158114610a2c57600080fd5b9392505050565b600060208284031215610a4557600080fd5b8151610a2c81610714565b600060208284031215610a6257600080fd5b815165ffffffffffff81168114610a2c57600080fdfea164736f6c6343000817000a0000000000000000000000003f3dab3ab8cec2fbd06767c2a5f66cb6bff21a4a", + "nonce": "0x1", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xf45e2292936d271718f1f85c5ac46a6fc8c9d25eff4d2129343363a526ab496b", + "transactionType": "CREATE", + "contractName": "LlamaTokenAdapterVotesTimestamp", + "contractAddress": "0x088C268cb00226D6A9b29e5488905Aa94D2f0239", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0xb72276d9ff15c7998b9962ffcfb21a6c7249441b", + "gas": "0x10d28c", + "value": "0x0", + "data": "0x608060405234801561001057600080fd5b5061001961001e565b6100d0565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff161561006e5760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b03908116146100cd5780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b610df5806100df6000396000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c8063ae2a6df21161005b578063ae2a6df21461010a578063cdfda4dd14610114578063edb8ee5a14610127578063fc0c546a1461013a57600080fd5b8063439fab911461008d5780634bf5d7e9146100b557806391ddadf4146100ca5780639556de73146100e9575b600080fd5b6100a061009b3660046108e4565b61017f565b60405190151581526020015b60405180910390f35b6100bd6103a1565b6040516100ac9190610988565b6100d261042f565b60405165ffffffffffff90911681526020016100ac565b6100fc6100f7366004610a12565b6104e9565b6040519081526020016100ac565b610112610593565b005b6100d2610122366004610a4b565b6105ef565b6100fc610135366004610a64565b610600565b60005461015a9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100ac565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0080546000919068010000000000000000810460ff16159067ffffffffffffffff1683811580156101cd5750825b905060008267ffffffffffffffff1660011480156101ea5750303b155b9050811580156101f8575080155b1561022f576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b84547fffffffffffffffffffffffffffffffffffffffffffffffff000000000000000016600117855583156102905784547fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff16680100000000000000001785555b6000878060200190518101906102a69190610a81565b8051600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff90921691909117905560408051808201909152600e81527f6d6f64653d74696d657374616d7000000000000000000000000000000000000060208201529091506001906103309082610b71565b50600196505083156103975784547fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b5050505050919050565b600180546103ae90610acd565b80601f01602080910402602001604051908101604052809291908181526020018280546103da90610acd565b80156104275780601f106103fc57610100808354040283529160200191610427565b820191906000526020600020905b81548152906001019060200180831161040a57829003601f168201915b505050505081565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156104d7575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682019092526104d491810190610c8b565b60015b6104e4576104e44261069b565b905090565b600080546040517f3a46b1a800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff858116600483015265ffffffffffff8516602483015290911690633a46b1a890604401602060405180830381865afa158015610568573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061058c9190610ca8565b9392505050565b600061059d6106e8565b905060006105a9610712565b905081806105b45750805b156105eb576040517f6ff0714000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050565b60006105fa8261069b565b92915050565b600080546040517f8e539e8c00000000000000000000000000000000000000000000000000000000815265ffffffffffff8416600482015273ffffffffffffffffffffffffffffffffffffffff90911690638e539e8c90602401602060405180830381865afa158015610677573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105fa9190610ca8565b600065ffffffffffff8211156106e4576040517fc0188c4f0000000000000000000000000000000000000000000000000000000081526004810183905260240160405180910390fd5b5090565b60006106f34261069b565b65ffffffffffff1661070361042f565b65ffffffffffff161415905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16634bf5d7e96040518163ffffffff1660e01b8152600401600060405180830381865afa9250505080156107bf57506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526107bc9190810190610cc1565b60015b6107c95750600090565b60016040516020016107db9190610d38565b60405160208183030381529060405280519060200120816040516020016108029190610dcc565b60405160208183030381529060405280519060200120141591505090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff8111828210171561089657610896610820565b604052919050565b600067ffffffffffffffff8211156108b8576108b8610820565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b6000602082840312156108f657600080fd5b813567ffffffffffffffff81111561090d57600080fd5b8201601f8101841361091e57600080fd5b803561093161092c8261089e565b61084f565b81815285602083850101111561094657600080fd5b81602084016020830137600091810160200191909152949350505050565b60005b8381101561097f578181015183820152602001610967565b50506000910152565b60208152600082518060208401526109a7816040850160208701610964565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169190910160400192915050565b73ffffffffffffffffffffffffffffffffffffffff811681146109fb57600080fd5b50565b65ffffffffffff811681146109fb57600080fd5b60008060408385031215610a2557600080fd5b8235610a30816109d9565b91506020830135610a40816109fe565b809150509250929050565b600060208284031215610a5d57600080fd5b5035919050565b600060208284031215610a7657600080fd5b813561058c816109fe565b600060208284031215610a9357600080fd5b6040516020810181811067ffffffffffffffff82111715610ab657610ab6610820565b6040528251610ac4816109d9565b81529392505050565b600181811c90821680610ae157607f821691505b602082108103610b1a577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b601f821115610b6c576000816000526020600020601f850160051c81016020861015610b495750805b601f850160051c820191505b81811015610b6857828155600101610b55565b5050505b505050565b815167ffffffffffffffff811115610b8b57610b8b610820565b610b9f81610b998454610acd565b84610b20565b602080601f831160018114610bf25760008415610bbc5750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b178555610b68565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b82811015610c3f57888601518255948401946001909101908401610c20565b5085821015610c7b57878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b600060208284031215610c9d57600080fd5b815161058c816109fe565b600060208284031215610cba57600080fd5b5051919050565b600060208284031215610cd357600080fd5b815167ffffffffffffffff811115610cea57600080fd5b8201601f81018413610cfb57600080fd5b8051610d0961092c8261089e565b818152856020838501011115610d1e57600080fd5b610d2f826020830160208601610964565b95945050505050565b6000808354610d4681610acd565b60018281168015610d5e5760018114610d9157610dc0565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0084168752821515830287019450610dc0565b8760005260208060002060005b85811015610db75781548a820152908401908201610d9e565b50505082870194505b50929695505050505050565b60008251610dde818460208701610964565b919091019291505056fea164736f6c6343000817000a", + "nonce": "0x2", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [ + "0xa55e424bce783294f3bb68dd6f7d2f6781c8cbf4cc62d109d9ccf6679a1fc1d8", + "0x5b186110f6dba4c101f412b9927527faec9c81ec5b582f4d36e39e9b8914a44a", + "0xf45e2292936d271718f1f85c5ac46a6fc8c9d25eff4d2129343363a526ab496b" + ], + "returns": {}, + "timestamp": 1704995733, + "chain": 1, + "multi": false, + "commit": "688208a" +} \ No newline at end of file diff --git a/broadcast/DeployLlamaTokenVotingFactory.s.sol/1/run-1704995739.json b/broadcast/DeployLlamaTokenVotingFactory.s.sol/1/run-1704995739.json new file mode 100644 index 0000000..c00b61f --- /dev/null +++ b/broadcast/DeployLlamaTokenVotingFactory.s.sol/1/run-1704995739.json @@ -0,0 +1,148 @@ +{ + "transactions": [ + { + "hash": "0xa55e424bce783294f3bb68dd6f7d2f6781c8cbf4cc62d109d9ccf6679a1fc1d8", + "transactionType": "CREATE", + "contractName": "LlamaTokenGovernor", + "contractAddress": "0x3f3DAB3ab8cEc2FBd06767c2A5F66Cb6BFF21A4A", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0xb72276d9ff15c7998b9962ffcfb21a6c7249441b", + "gas": "0x6398ff", + "value": "0x0", + "data": "0x60806040523480156200001157600080fd5b506200001c62000022565b620000d6565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff1615620000735760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b0390811614620000d35780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b6159f880620000e66000396000f3fe608060405234801561001057600080fd5b50600436106101da5760003560e01c80637e4a56bb11610104578063b92cdd9a116100a2578063cae3bdff11610071578063cae3bdff1461053d578063dcae21b714610552578063e45061ea14610565578063e5589b9d1461057857600080fd5b8063b92cdd9a146104e4578063b9b2cf6c146104f7578063c193c2691461050a578063c26c12eb1461053557600080fd5b80638734852a116100de5780638734852a1461049857806396ff6e2e146104ab578063a1d9b412146104be578063b3c678b0146104d157600080fd5b80637e4a56bb1461046a5780637ed7238e14610472578063807ad1141461048557600080fd5b80633fed8f161161017c57806359e5332d1161014b57806359e5332d1461036457806364f6b3161461037b5780637186dd9c1461038e57806374f717cd1461044757600080fd5b80633fed8f16146103165780634d61ebf4146103365780634ec0ab1c1461033e578063509c5fbd1461035157600080fd5b806319a39740116101b857806319a397401461025b5780631e127ddf1461026e578063372fa8e8146102c25780633df91222146102d557600080fd5b80630669b1ce146101df57806311f900b5146101f45780631650080714610227575b600080fd5b6101f26101ed366004614a11565b61058b565b005b610207610202366004614a46565b610b79565b6040805161ffff9384168152929091166020830152015b60405180910390f35b61023a610235366004614ac0565b610b90565b6040516fffffffffffffffffffffffffffffffff909116815260200161021e565b6101f2610269366004614a46565b610baa565b6101f261027c366004614b82565b3360009081526007602090815260408083207fffffffff000000000000000000000000000000000000000000000000000000009490941683529290522080546001019055565b6101f26102d0366004614bbd565b610c75565b6102fe6102e3366004614a46565b6005602052600090815260409020546001600160a01b031681565b6040516001600160a01b03909116815260200161021e565b610329610324366004614c31565b610d76565b60405161021e9190614c53565b610207610f4e565b6101f261034c366004614ce2565b610f63565b61023a61035f366004614ac0565b611030565b61036d60025481565b60405190815260200161021e565b6000546102fe906001600160a01b031681565b6103fc61039c366004614a46565b6006602052600090815260409020805460018201546002909201546fffffffffffffffffffffffffffffffff8083169370010000000000000000000000000000000093849004821693818316939181900483169282811692919091041686565b604080516fffffffffffffffffffffffffffffffff978816815295871660208701529386169385019390935290841660608401528316608083015290911660a082015260c00161021e565b61045a610455366004614d23565b611040565b604051901515815260200161021e565b6103296110a9565b61036d610480366004614ea9565b61114c565b6001546102fe906001600160a01b031681565b6101f26104a6366004614f88565b611263565b61023a6104b9366004615066565b6114b5565b61023a6104cc366004615066565b6115c6565b61036d6104df366004615131565b6116c7565b6101f26104f2366004614a11565b61171c565b6101f2610505366004614ce2565b611726565b61036d6105183660046151e2565b600760209081526000928352604080842090915290825290205481565b6102076117ef565b6105456117fc565b60405161021e919061520e565b610545610560366004614c31565b61188f565b6101f2610573366004614a11565b611a4d565b610207610586366004614a46565b612026565b600080546040517fb6e76873000000000000000000000000000000000000000000000000000000008152833560048201526001600160a01b039091169063b6e768739060240161012060405180830381865afa1580156105ef573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061061391906152c8565b9050600060018260a0015161062891906153a6565b67ffffffffffffffff169050600160009054906101000a90046001600160a01b03166001600160a01b031663ae2a6df26040518163ffffffff1660e01b815260040160006040518083038186803b15801561068257600080fd5b505afa158015610696573d6000803e3d6000fd5b505050506000806000806106b485600461203490919063ffffffff16565b909250905060006106cb6080890160608a016153ce565b6001600160a01b031663b02bd9206040518163ffffffff1660e01b8152600401602060405180830381865afa158015610708573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061072c91906153eb565b67ffffffffffffffff16905061271061ffff8416820204818860c0015167ffffffffffffffff16030194506127108261ffff1682028161076e5761076e615406565b04850193508342116107ac576040517f038d8a6a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8660c0015167ffffffffffffffff1642106107f3576040517f08c8d62700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050843560009081526006602052604080822060015491517fcdfda4dd000000000000000000000000000000000000000000000000000000008152600481018690529092916001600160a01b03169063edb8ee5a90829063cdfda4dd90602401602060405180830381865afa158015610871573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108959190615435565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b16815265ffffffffffff9091166004820152602401602060405180830381865afa1580156108f0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610914919061545d565b600183015460028401549192506fffffffffffffffffffffffffffffffff7001000000000000000000000000000000009182900481169291820481169116600061095f60038a6121cd565b9150506000610975868361ffff166127106122d8565b905080856fffffffffffffffffffffffffffffffff1610156109e3576040517fbfb9aa550000000000000000000000000000000000000000000000000000000081526fffffffffffffffffffffffffffffffff86166004820152602481018290526044015b60405180910390fd5b836fffffffffffffffffffffffffffffffff16856fffffffffffffffffffffffffffffffff1611610a5c576040517f8a0df63f0000000000000000000000000000000000000000000000000000000081526fffffffffffffffffffffffffffffffff8087166004830152851660248201526044016109da565b6000610a7b8d6060016020810190610a7491906153ce565b600061231c565b905060008054906101000a90046001600160a01b03166001600160a01b03166394004706828f6040518363ffffffff1660e01b8152600401610abe9291906155b2565b6020604051808303816000875af1158015610add573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b0191906155e8565b50604080518e3581526fffffffffffffffffffffffffffffffff808916602083015280881692820192909252908516606082015260ff82169033907ff5bc433f16cc3d0e9fcb5ac4f8de9f17eb90de1fd2a9ede5952c2097d4ef1a59906080015b60405180910390a350505050505050505050505050565b600080610b87600484612034565b91509150915091565b6000610ba0338787878787612612565b9695505050505050565b60008054906101000a90046001600160a01b03166001600160a01b031663c34c08e56040518163ffffffff1660e01b8152600401602060405180830381865afa158015610bfb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c1f9190615603565b6001600160a01b0316336001600160a01b031614610c69576040517f26bee1ce00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610c7281612c5e565b50565b6000610c818686612e2e565b6040805160008082526020820180845284905260ff88169282019290925260608101869052608081018590529192509060019060a0016020604051602081039080840390855afa158015610cd9573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001519150506001600160a01b0381161580610d2c5750866001600160a01b0316816001600160a01b031614155b15610d63576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610d6d8187612f50565b50505050505050565b60408051602081019091526060815281831115610dbf576040517f2cd4dad300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60045480831115610dfc576040517f2cd4dad300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610e088585615620565b905060008167ffffffffffffffff811115610e2557610e25614d65565b604051908082528060200260200182016040528015610e8e57816020015b60408051606081018252600080825260208083018290529282015282527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff909201910181610e435790505b509050855b85811015610f34576004805482908110610eaf57610eaf615633565b600091825260209182902060408051606081018252919092015465ffffffffffff8116825261ffff660100000000000082048116948301949094526801000000000000000090049092169082015282610f088984615620565b81518110610f1857610f18615633565b6020026020010181905250610f2d8160010190565b9050610e93565b506040805160208101909152908152925050505b92915050565b600080610f5b6004613063565b915091509091565b60008054906101000a90046001600160a01b03166001600160a01b031663c34c08e56040518163ffffffff1660e01b8152600401602060405180830381865afa158015610fb4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fd89190615603565b6001600160a01b0316336001600160a01b031614611022576040517f26bee1ce00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61102c82826130db565b5050565b6000610ba03387878787876131cf565b60008115611077575060008381526006602090815260408083206001600160a01b038616845260030190915290205460ff166110a2565b5060008381526006602090815260408083206001600160a01b038616845260040190915290205460ff165b9392505050565b6040805160208101909152606081526040805160048054602081810284018501855283018181529293919284929091849160009085015b8282101561113f576000848152602090819020604080516060810182529185015465ffffffffffff8116835261ffff660100000000000082048116848601526801000000000000000090910416908201528252600190920191016110e0565b5050505081525050905090565b60008061115f8d8d8d8d8d8d8d8d613714565b6040805160008082526020820180845284905260ff89169282019290925260608101879052608081018690529192509060019060a0016020604051602081039080840390855afa1580156111b7573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001519150506001600160a01b038116158061120a57508d6001600160a01b0316816001600160a01b031614155b15611241576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611251818e8e8e8e8e8e8e613885565b9e9d5050505050505050505050505050565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000810460ff16159067ffffffffffffffff166000811580156112ae5750825b905060008267ffffffffffffffff1660011480156112cb5750303b155b9050811580156112d9575080155b15611310576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b84547fffffffffffffffffffffffffffffffffffffffffffffffff000000000000000016600117855583156113715784547fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff16680100000000000000001785555b886001600160a01b0316639bccfe496040518163ffffffff1660e01b8152600401602060405180830381865afa1580156113af573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113d3919061545d565b50600080546001600160a01b03808c167fffffffffffffffffffffffff00000000000000000000000000000000000000009283161790925560018054928b169290911691909117905561142587612c5e565b611437866000015187602001516130db565b61144986604001518760600151613b89565b83156114aa5784547fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b505050505050505050565b6000806114c68b8b8b8b8b8b613c26565b6040805160008082526020820180845284905260ff89169282019290925260608101879052608081018690529192509060019060a0016020604051602081039080840390855afa15801561151e573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001519150506001600160a01b038116158061157157508b6001600160a01b0316816001600160a01b031614155b156115a8576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6115b6818c8c8c8c8c6131cf565b9c9b505050505050505050505050565b6000806115d78b8b8b8b8b8b613d84565b6040805160008082526020820180845284905260ff89169282019290925260608101879052608081018690529192509060019060a0016020604051602081039080840390855afa15801561162f573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001519150506001600160a01b038116158061168257508b6001600160a01b0316816001600160a01b031614155b156116b9576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6115b6818c8c8c8c8c612612565b600061170f338a8a8a8a8a8a8a8a8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061388592505050565b9998505050505050505050565b610c723382612f50565b60008054906101000a90046001600160a01b03166001600160a01b031663c34c08e56040518163ffffffff1660e01b8152600401602060405180830381865afa158015611777573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061179b9190615603565b6001600160a01b0316336001600160a01b0316146117e5576040517f26bee1ce00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61102c8282613b89565b600080610f5b6003613063565b604080516020810190915260608152604080516003805460208082028401850185528301818152929391928492909184916000908501821561113f576000848152602090819020604080516060810182529185015465ffffffffffff8116835261ffff660100000000000082048116848601526801000000000000000090910416908201528252600190920191016110e0565b604080516020810190915260608152818311156118d8576040517f2cd4dad300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60035480831115611915576040517f2cd4dad300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006119218585615620565b905060008167ffffffffffffffff81111561193e5761193e614d65565b6040519080825280602002602001820160405280156119a757816020015b60408051606081018252600080825260208083018290529282015282527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90920191018161195c5790505b509050855b85811015610f345760038054829081106119c8576119c8615633565b600091825260209182902060408051606081018252919092015465ffffffffffff8116825261ffff660100000000000082048116948301949094526801000000000000000090049092169082015282611a218984615620565b81518110611a3157611a31615633565b6020026020010181905250611a468160010190565b90506119ac565b600080546040517fb6e76873000000000000000000000000000000000000000000000000000000008152833560048201526001600160a01b039091169063b6e768739060240161012060405180830381865afa158015611ab1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ad591906152c8565b9050600060018260a00151611aea91906153a6565b67ffffffffffffffff169050600160009054906101000a90046001600160a01b03166001600160a01b031663ae2a6df26040518163ffffffff1660e01b815260040160006040518083038186803b158015611b4457600080fd5b505afa158015611b58573d6000803e3d6000fd5b50505050600080600080611b7685600461203490919063ffffffff16565b90925090506000611b8d6080890160608a016153ce565b6001600160a01b0316637999762c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611bca573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bee91906153eb565b67ffffffffffffffff16905061271061ffff84168202048760a0015167ffffffffffffffff160194506127108261ffff16820281611c2e57611c2e615406565b0485019350834211611c6c576040517f038d8a6a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b808760a0015167ffffffffffffffff16611c869190615662565b421115611cbf576040517f08c8d62700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050843560009081526006602052604080822060015491517fcdfda4dd000000000000000000000000000000000000000000000000000000008152600481018690529092916001600160a01b03169063edb8ee5a90829063cdfda4dd90602401602060405180830381865afa158015611d3d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d619190615435565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b16815265ffffffffffff9091166004820152602401602060405180830381865afa158015611dbc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611de0919061545d565b825460018401549192506fffffffffffffffffffffffffffffffff808216928116917001000000000000000000000000000000009004166000611e2460038a6121cd565b5090506000611e3a868361ffff166127106122d8565b905080856fffffffffffffffffffffffffffffffff161015611ea3576040517f0425fab10000000000000000000000000000000000000000000000000000000081526fffffffffffffffffffffffffffffffff86166004820152602481018290526044016109da565b836fffffffffffffffffffffffffffffffff16856fffffffffffffffffffffffffffffffff1611611f1c576040517f8a0df63f0000000000000000000000000000000000000000000000000000000081526fffffffffffffffffffffffffffffffff8087166004830152851660248201526044016109da565b6000611f3b8d6060016020810190611f3491906153ce565b600161231c565b905060008054906101000a90046001600160a01b03166001600160a01b03166389e7d126828f6040518363ffffffff1660e01b8152600401611f7e9291906155b2565b6020604051808303816000875af1158015611f9d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fc191906155e8565b50604080518e3581526fffffffffffffffffffffffffffffffff808916602083015280881692820192909252908516606082015260ff82169033907ff23279e924757f3bfe4f543bc1b43685e851d6ace53f8518b806dcd8d42fc13990608001610b62565b600080610b876003846121cd565b6000804283106120c6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f506572696f64506374436865636b706f696e74733a2074696d657374616d702060448201527f6973206e6f7420696e207468652070617374000000000000000000000000000060648201526084016109da565b60006120d184613db3565b855490915060008160058111156121315760006120ed84613dfc565b6120f79085615620565b60008a81526020902090915081015465ffffffffffff90811690861610156121215780915061212f565b61212c816001615662565b92505b505b600061213f89868585613eae565b90508060000361215a576000809650965050505050506121c6565b60006121798a61216b600185615620565b600091825260209091200190565b60408051606081018252915465ffffffffffff8116835261ffff66010000000000008204811660208501819052680100000000000000009092041692909101829052985096505050505050505b9250929050565b60008042831061225f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602f60248201527f51756f72756d436865636b706f696e74733a2074696d657374616d702069732060448201527f6e6f7420696e207468652070617374000000000000000000000000000000000060648201526084016109da565b600061226a84613db3565b855490915060008160058111156122ca57600061228684613dfc565b6122909085615620565b60008a81526020902090915081015465ffffffffffff90811690861610156122ba578091506122c8565b6122c5816001615662565b92505b505b600061213f89868585613f10565b6000827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048411830215820261230d57600080fd5b50910281810615159190040190565b60008054604080517f0505c8c9000000000000000000000000000000000000000000000000000000008152905183926001600160a01b031691630505c8c99160048083019260209291908290030181865afa15801561237f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123a39190615603565b6001600160a01b0316638b2ed3886040518163ffffffff1660e01b8152600401602060405180830381865afa1580156123e0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124049190615675565b905060015b8160ff16811161253b57836124a1576040517fc167ebae00000000000000000000000000000000000000000000000000000000815260ff821660048201526001600160a01b0386169063c167ebae90602401602060405180830381865afa158015612478573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061249c9190615692565b612525565b6040517ffb847c4300000000000000000000000000000000000000000000000000000000815260ff821660048201526001600160a01b0386169063fb847c4390602401602060405180830381865afa158015612501573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125259190615692565b15612533579150610f489050565b600101612409565b50826125a857836001600160a01b03166312a52f006040518163ffffffff1660e01b8152600401602060405180830381865afa15801561257f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125a39190615675565b61260a565b836001600160a01b03166366cacdc96040518163ffffffff1660e01b8152600401602060405180830381865afa1580156125e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061260a9190615675565b949350505050565b600080546040517fb6e768730000000000000000000000000000000000000000000000000000000081528635600482015282916001600160a01b03169063b6e768739060240161012060405180830381865afa158015612676573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061269a91906152c8565b9050600060018260a001516126af91906153a6565b8735600090815260066020526040902067ffffffffffffffff9190911691506126de6080890160608a016153ce565b6001600160a01b03166302674e4b89308c6040518463ffffffff1660e01b815260040161270d939291906156af565b60006040518083038186803b15801561272557600080fd5b505afa158015612739573d6000803e3d6000fd5b505050506001600160a01b038a16600090815260048201602052604090205460ff1615612792576040517f9dd6544b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6127a0888a89600486613f6a565b60008080806127b0600487612034565b909250905060006127c760808e0160608f016153ce565b6001600160a01b031663b02bd9206040518163ffffffff1660e01b8152600401602060405180830381865afa158015612804573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061282891906153eb565b67ffffffffffffffff16905061271061ffff8416820204818960c0015167ffffffffffffffff16030194506127108261ffff1682028161286a5761286a615406565b04850193508442116128a8576040517fd0b72b4900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b834211156128e2576040517f5b73d19300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050506000612a25600160009054906101000a90046001600160a01b03166001600160a01b0316639556de738f600160009054906101000a90046001600160a01b03166001600160a01b031663cdfda4dd886040518263ffffffff1660e01b815260040161295291815260200190565b602060405180830381865afa15801561296f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906129939190615435565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b1681526001600160a01b03909216600483015265ffffffffffff166024820152604401602060405180830381865afa1580156129fc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a20919061545d565b61425e565b905060ff8a16612a9e576002840154612a649070010000000000000000000000000000000090046fffffffffffffffffffffffffffffffff16826142ad565b6002850180546fffffffffffffffffffffffffffffffff928316700100000000000000000000000000000000029216919091179055612bc6565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60ff8b1601612b37576001840154612afd9070010000000000000000000000000000000090046fffffffffffffffffffffffffffffffff16826142ad565b6001850180546fffffffffffffffffffffffffffffffff928316700100000000000000000000000000000000029216919091179055612bc6565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe60ff8b1601612bc6576002840154612b82906fffffffffffffffffffffffffffffffff16826142ad565b6002850180547fffffffffffffffffffffffffffffffff00000000000000000000000000000000166fffffffffffffffffffffffffffffffff929092169190911790555b6001600160a01b038d1660008181526004860160205260409081902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790555160ff8c1691907f4e3e2ad68670a2709cb408c31c5afd8da0b6d3d06c75b11feb404a455639fe7c90612c46908f359086908f908f90615713565b60405180910390a39c9b505050505050505050505050565b60018054604080517f91ddadf400000000000000000000000000000000000000000000000000000000815290516000936001600160a01b039093169263edb8ee5a92909184916391ddadf49160048083019260209291908290030181865afa158015612cce573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612cf29190615435565b612cfc9190615745565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b16815265ffffffffffff9091166004820152602401602060405180830381865afa158015612d57573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612d7b919061545d565b905080600003612db7576040517f34bbd58500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80821115612df1576040517f8a5e746800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60028290556040518281527fd91a985c173545ab0e0bd11c021a1ae84c1ea6eab9350d9bf3812d5b8bff49a4906020015b60405180910390a15050565b6000807f6da9390b4f29da2c44fa5a9da00b392393d01e989d16e4a3dec5a538318e352584612e5c856142f4565b6001600160a01b03871660009081526007602090815260408083207fffffffff00000000000000000000000000000000000000000000000000000000843516845290915290208054600181019091556040805160208101959095526001600160a01b03909316928401929092526060830152608082015260a001604051602081830303815290604052805190602001209050612ef66143eb565b6040517f190100000000000000000000000000000000000000000000000000000000000060208201526022810191909152604281018290526062016040516020818303038152906040528051906020012091505092915050565b80356000908152600560205260409020546001600160a01b03838116911614612fa5576040517f86ba025600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000546040517fb92cdd9a0000000000000000000000000000000000000000000000000000000081526001600160a01b039091169063b92cdd9a90612fee908490600401615764565b600060405180830381600087803b15801561300857600080fd5b505af115801561301c573d6000803e3d6000fd5b5050604051833581526001600160a01b03851692507fdcccc5725b7256a6975da00de8953e5d326756a3079d203ff6df9e52331f411a915060200160405180910390a25050565b8054600090819080820361307d5750600093849350915050565b600061308e8561216b600185615620565b60408051606081018252915465ffffffffffff8116835261ffff66010000000000008204811660208501819052680100000000000000009092041692909101829052969095509350505050565b6127108261ffff1611806130f1575061ffff8216155b1561312e576040517f8f6febc000000000000000000000000000000000000000000000000000000000815261ffff831660048201526024016109da565b6127108161ffff161180613144575061ffff8116155b15613181576040517f3bec511c00000000000000000000000000000000000000000000000000000000815261ffff821660048201526024016109da565b613194600361ffff80851690841661454d565b6040805161ffff8085168252831660208201527f77c3f43700db02acb49792bbf699b39f72c2ed4b920bd5c0b1843dcd7c832f4c9101612e22565b600080546040517fb6e768730000000000000000000000000000000000000000000000000000000081528635600482015282916001600160a01b03169063b6e768739060240161012060405180830381865afa158015613233573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061325791906152c8565b9050600060018260a0015161326c91906153a6565b8735600090815260066020526040902067ffffffffffffffff91909116915061329b6080890160608a016153ce565b6001600160a01b0316631a2a4e7789308c6040518463ffffffff1660e01b81526004016132ca939291906156af565b60006040518083038186803b1580156132e257600080fd5b505afa1580156132f6573d6000803e3d6000fd5b505050506001600160a01b038a16600090815260038201602052604090205460ff161561334f576040517f9dd6544b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61335d888a89600086613f6a565b600080808061336d600487612034565b9092509050600061338460808e0160608f016153ce565b6001600160a01b0316637999762c6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156133c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906133e591906153eb565b67ffffffffffffffff16905061271061ffff84168202048860a0015167ffffffffffffffff160194506127108261ffff1682028161342557613425615406565b0485019350844211613463576040517fd0b72b4900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8342111561349d576040517f5b73d19300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050600061350d600160009054906101000a90046001600160a01b03166001600160a01b0316639556de738f600160009054906101000a90046001600160a01b03166001600160a01b031663cdfda4dd886040518263ffffffff1660e01b815260040161295291815260200190565b905060ff8a16613580576001840154613538906fffffffffffffffffffffffffffffffff16826142ad565b6001850180547fffffffffffffffffffffffffffffffff00000000000000000000000000000000166fffffffffffffffffffffffffffffffff92909216919091179055613694565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60ff8b16016136095783546135c8906fffffffffffffffffffffffffffffffff16826142ad565b84547fffffffffffffffffffffffffffffffff00000000000000000000000000000000166fffffffffffffffffffffffffffffffff91909116178455613694565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe60ff8b16016136945783546136659070010000000000000000000000000000000090046fffffffffffffffffffffffffffffffff16826142ad565b84546fffffffffffffffffffffffffffffffff9182167001000000000000000000000000000000000291161784555b6001600160a01b038d1660008181526003860160205260409081902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790555160ff8c1691907f761cce3a1af5d9cfc0d57222f605ce4bd2be345f0ad9ebb7b83a84a91a0c201490612c46908f359086908f908f90615713565b6001600160a01b03881660009081526007602090815260408083207fffffffff000000000000000000000000000000000000000000000000000000008435168452909152812080546001810190915560007fd1fab1c7b3b37134662e5867b00e272eb49f7be0a890df29e802c3cc66c06f838b8b8b8b8b8b8b60405161379b929190615777565b604080519182900382208c516020808f0191909120908401999099526001600160a01b039788169183019190915260ff90951660608201529285166080840152931660a082015260c081019290925260e08201526101008101919091526101208101839052610140016040516020818303038152906040528051906020012090506138246143eb565b6040517f19010000000000000000000000000000000000000000000000000000000000006020820152602281019190915260428101829052606201604051602081830303815290604052805190602001209250505098975050505050505050565b600154604080517fae2a6df200000000000000000000000000000000000000000000000000000000815290516000926001600160a01b03169163ae2a6df29160048083019286929190829003018186803b1580156138e257600080fd5b505afa1580156138f6573d6000803e3d6000fd5b505060018054604080517f91ddadf40000000000000000000000000000000000000000000000000000000081529051600095506001600160a01b039092169350639556de73928e92909185916391ddadf4916004808201926020929091908290030181865afa15801561396d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906139919190615435565b61399b9190615745565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b1681526001600160a01b03909216600483015265ffffffffffff166024820152604401602060405180830381865afa158015613a04573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613a28919061545d565b9050600254811015613a69576040517f92665351000000000000000000000000000000000000000000000000000000008152600481018290526024016109da565b6000546040517fb3c678b00000000000000000000000000000000000000000000000000000000081526001600160a01b039091169063b3c678b090613abe908c908c908c908c908c908c908c906004016157ab565b6020604051808303816000875af1158015613add573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613b01919061545d565b60008181526005602090815260409182902080547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b038f16908117909155915183815292945090917f1834dfd49255741a8ce9a9bd66b91b64d13622e1d8170e4c78ac91f9ec50a542910160405180910390a25098975050505050505050565b612710613b96828461583b565b61ffff1610613bdf576040517f519dd38400000000000000000000000000000000000000000000000000000000815261ffff8084166004830152821660248201526044016109da565b613beb60048383614576565b6040805161ffff8085168252831660208201527f8df7bdcce333d9e1b85e40782fb2f293c805761d3f48aaea58865e9541e44c709101612e22565b6000807fd7be168a3509af358f222ee35ee76aba47bc5fc2c35061cdce3958f510b7b1b28888613c55896142f4565b888888604051613c66929190615777565b60408051918290039091206001600160a01b038f166000908152600760209081528382207fffffffff0000000000000000000000000000000000000000000000000000000083351683529052919091208054600181019091556040805160208101989098526001600160a01b039096169587019590955260ff938416606087015260808601929092529190911660a084015260c083015260e082015261010001604051602081830303815290604052805190602001209050613d266143eb565b6040517f19010000000000000000000000000000000000000000000000000000000000006020820152602281019190915260428101829052606201604051602081830303815290604052805190602001209150509695505050505050565b6000807fa87058c5a9888e7af4405a932381d5a4612c61354bc3e52e9ea361ba17703fb38888613c55896142f4565b600065ffffffffffff821115613df8576040517fc0188c4f000000000000000000000000000000000000000000000000000000008152600481018390526024016109da565b5090565b60b581710100000000000000000000000000000000008110613e235760409190911b9060801c5b69010000000000000000008110613e3f5760209190911b9060401c5b650100000000008110613e575760109190911b9060201c5b63010000008110613e6d5760089190911b9060101c5b62010000010260121c80820401600190811c80830401811c80830401811c80830401811c80830401811c80830401811c80830401901c908190048111900390565b60005b81831015613f08576000613ec584846145a2565b60008781526020902090915065ffffffffffff86169082015465ffffffffffff161115613ef457809250613f02565b613eff816001615662565b93505b50613eb1565b509392505050565b60005b81831015613f08576000613f2784846145a2565b60008781526020902090915065ffffffffffff86169082015465ffffffffffff161115613f5657809250613f64565b613f61816001615662565b93505b50613f13565b600260ff84161115613fad576040517ffe0e5d8b00000000000000000000000000000000000000000000000000000000815260ff841660048201526024016109da565b600080546040517fec12d8be0000000000000000000000000000000000000000000000000000000081526001600160a01b039091169063ec12d8be90613ff7908990600401615764565b602060405180830381865afa158015614014573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906140389190615675565b60ff16600681111561404c5761404c6156e4565b9050826006811115614060576140606156e4565b816006811115614072576140726156e4565b146140ab57806040517f87afe58e0000000000000000000000000000000000000000000000000000000081526004016109da9190615856565b60008060009054906101000a90046001600160a01b03166001600160a01b0316630505c8c96040518163ffffffff1660e01b8152600401602060405180830381865afa1580156140ff573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906141239190615603565b6040517fe0bec07600000000000000000000000000000000000000000000000000000000815230600482015260ff88166024820152604481018590526001600160a01b03919091169063e0bec07690606401602060405180830381865afa158015614192573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906141b69190615692565b9050806141ef576040517f88aebd1200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600160009054906101000a90046001600160a01b03166001600160a01b031663ae2a6df26040518163ffffffff1660e01b815260040160006040518083038186803b15801561423d57600080fd5b505afa158015614251573d6000803e3d6000fd5b5050505050505050505050565b60006fffffffffffffffffffffffffffffffff821115613df8576040517fc0188c4f000000000000000000000000000000000000000000000000000000008152600481018390526024016109da565b60006fffffffffffffffffffffffffffffffff6142ce838216858316615662565b106142ea57506fffffffffffffffffffffffffffffffff610f48565b6110a28284615897565b60007f86b4555c6e347ea3f038485b59b894986c208b67da7e65fcfa3707271608465f823561432960408501602086016153ce565b61433960608601604087016158c0565b61434960808701606088016153ce565b61435960a08801608089016153ce565b60a088013561436b60c08a018a6158dd565b604051614379929190615777565b6040805191829003822060208301999099528101969096526001600160a01b03948516606087015260ff909316608086015290831660a08501529190911660c083015260e082015261010081019190915261012001604051602081830303815290604052805190602001209050919050565b60008054604080517f06fdde0300000000000000000000000000000000000000000000000000000000815290517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f926001600160a01b0316916306fdde0391600480830192879291908290030181865afa15801561446d573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526144b39190810190615942565b8051602091820120604080518082018252600181527f310000000000000000000000000000000000000000000000000000000000000090840152805192830193909352918101919091527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a082015260c00160405160208183030381529060405280519060200120905090565b6145718361455a42613db3565b614563856145bd565b61456c856145bd565b6145fe565b505050565b6145718361458342613db3565b6145908561ffff166145bd565b61459d8561ffff166145bd565b614909565b60006145b160028484186159b0565b6110a290848416615662565b600061ffff821115613df8576040517fc0188c4f000000000000000000000000000000000000000000000000000000008152600481018390526024016109da565b835480156148475760006146178661216b600185615620565b60408051606081018252915465ffffffffffff80821680855261ffff66010000000000008404811660208701526801000000000000000090930490921692840192909252919250861610156146ed576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f51756f72756d20436865636b706f696e743a20696e76616c69642074696d657360448201527f74616d700000000000000000000000000000000000000000000000000000000060648201526084016109da565b805165ffffffffffff8087169116036147865760006147118761216b600186615620565b805461ffff86811668010000000000000000027fffffffffffffffffffffffffffffffffffffffffffff0000ffffffffffffffff918916660100000000000002919091167fffffffffffffffffffffffffffffffffffffffffffff00000000ffffffffffff9092169190911717905550614841565b6040805160608101825265ffffffffffff808816825261ffff80881660208085019182528883169585019586528b54600181018d5560008d81529190912094519401805491519551831668010000000000000000027fffffffffffffffffffffffffffffffffffffffffffff0000ffffffffffffffff969093166601000000000000027fffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000909216949093169390931792909217929092161790555b50614902565b6040805160608101825265ffffffffffff808716825261ffff80871660208085019182528783169585019586528a54600181018c5560008c81529190912094519401805491519551831668010000000000000000027fffffffffffffffffffffffffffffffffffffffffffff0000ffffffffffffffff969093166601000000000000027fffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000909216949093169390931792909217929092161790555b5050505050565b835480156148475760006149228661216b600185615620565b60408051606081018252915465ffffffffffff80821680855261ffff66010000000000008404811660208701526801000000000000000090930490921692840192909252919250861610156146ed576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602860248201527f506572696f642050637420436865636b706f696e743a20696e76616c6964207460448201527f696d657374616d7000000000000000000000000000000000000000000000000060648201526084016109da565b600060e08284031215614a0b57600080fd5b50919050565b600060208284031215614a2357600080fd5b813567ffffffffffffffff811115614a3a57600080fd5b61260a848285016149f9565b600060208284031215614a5857600080fd5b5035919050565b60ff81168114610c7257600080fd5b8035614a7981614a5f565b919050565b60008083601f840112614a9057600080fd5b50813567ffffffffffffffff811115614aa857600080fd5b6020830191508360208285010111156121c657600080fd5b600080600080600060808688031215614ad857600080fd5b8535614ae381614a5f565b9450602086013567ffffffffffffffff80821115614b0057600080fd5b614b0c89838a016149f9565b955060408801359150614b1e82614a5f565b90935060608701359080821115614b3457600080fd5b50614b4188828901614a7e565b969995985093965092949392505050565b80357fffffffff0000000000000000000000000000000000000000000000000000000081168114614a7957600080fd5b600060208284031215614b9457600080fd5b6110a282614b52565b6001600160a01b0381168114610c7257600080fd5b8035614a7981614b9d565b600080600080600060a08688031215614bd557600080fd5b8535614be081614b9d565b9450602086013567ffffffffffffffff811115614bfc57600080fd5b614c08888289016149f9565b9450506040860135614c1981614a5f565b94979396509394606081013594506080013592915050565b60008060408385031215614c4457600080fd5b50508035926020909101359150565b60208082528251828201829052805160408401819052600092916060919083019082860190855b81811015614cc357614cb3838551805165ffffffffffff16825260208082015161ffff9081169184019190915260409182015116910152565b9285019291840191600101614c7a565b5090979650505050505050565b803561ffff81168114614a7957600080fd5b60008060408385031215614cf557600080fd5b614cfe83614cd0565b9150614d0c60208401614cd0565b90509250929050565b8015158114610c7257600080fd5b600080600060608486031215614d3857600080fd5b833592506020840135614d4a81614b9d565b91506040840135614d5a81614d15565b809150509250925092565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051610120810167ffffffffffffffff81118282101715614db857614db8614d65565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715614e0557614e05614d65565b604052919050565b600067ffffffffffffffff821115614e2757614e27614d65565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b600082601f830112614e6457600080fd5b8135614e77614e7282614e0d565b614dbe565b818152846020838601011115614e8c57600080fd5b816020850160208301376000918101602001919091529392505050565b60008060008060008060008060008060006101408c8e031215614ecb57600080fd5b614ed48c614bb2565b9a50614ee260208d01614a6e565b9950614ef060408d01614bb2565b9850614efe60608d01614bb2565b975060808c0135965067ffffffffffffffff8060a08e01351115614f2157600080fd5b614f318e60a08f01358f01614a7e565b909750955060c08d0135811015614f4757600080fd5b50614f588d60c08e01358e01614e53565b9350614f6660e08d01614a6e565b92506101008c013591506101208c013590509295989b509295989b9093969950565b60008060008084860360e0811215614f9f57600080fd5b8535614faa81614b9d565b94506020860135614fba81614b9d565b93506040860135925060807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa082011215614ff357600080fd5b506040516080810181811067ffffffffffffffff8211171561501757615017614d65565b60405261502660608701614cd0565b815261503460808701614cd0565b602082015261504560a08701614cd0565b604082015261505660c08701614cd0565b6060820152939692955090935050565b60008060008060008060008060006101008a8c03121561508557600080fd5b893561509081614b9d565b985060208a01356150a081614a5f565b975060408a013567ffffffffffffffff808211156150bd57600080fd5b6150c98d838e016149f9565b985060608c013591506150db82614a5f565b90965060808b013590808211156150f157600080fd5b506150fe8c828d01614a7e565b90965094505060a08a013561511281614a5f565b8093505060c08a0135915060e08a013590509295985092959850929598565b60008060008060008060008060c0898b03121561514d57600080fd5b883561515881614a5f565b9750602089013561516881614b9d565b9650604089013561517881614b9d565b955060608901359450608089013567ffffffffffffffff8082111561519c57600080fd5b6151a88c838d01614a7e565b909650945060a08b01359150808211156151c157600080fd5b506151ce8b828c01614a7e565b999c989b5096995094979396929594505050565b600080604083850312156151f557600080fd5b823561520081614b9d565b9150614d0c60208401614b52565b60208082528251828201829052805160408401819052600092916060919083019082860190855b81811015614cc35761526e838551805165ffffffffffff16825260208082015161ffff9081169184019190915260409182015116910152565b9285019291840191600101615235565b8051614a7981614d15565b8051614a7981614b9d565b805167ffffffffffffffff81168114614a7957600080fd5b80516bffffffffffffffffffffffff81168114614a7957600080fd5b600061012082840312156152db57600080fd5b6152e3614d94565b825181526152f36020840161527e565b60208201526153046040840161527e565b60408201526153156060840161527e565b606082015261532660808401615289565b608082015261533760a08401615294565b60a082015261534860c08401615294565b60c082015261535960e084016152ac565b60e082015261010061536c8185016152ac565b908201529392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b67ffffffffffffffff8281168282160390808211156153c7576153c7615377565b5092915050565b6000602082840312156153e057600080fd5b81356110a281614b9d565b6000602082840312156153fd57600080fd5b6110a282615294565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006020828403121561544757600080fd5b815165ffffffffffff811681146110a257600080fd5b60006020828403121561546f57600080fd5b5051919050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b80358252600060208201356154d381614b9d565b6001600160a01b0390811660208501526040830135906154f282614a5f565b60ff821660408601526060840135915061550b82614b9d565b908116606085015260808301359061552282614b9d565b16608084015260a0828101359084015260c0820135368390037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe101811261556857600080fd5b820160208101903567ffffffffffffffff81111561558557600080fd5b80360382131561559457600080fd5b60e060c08601526155a960e086018284615476565b95945050505050565b60ff831681526060602082015260006155ce60608301846154bf565b828103604084015260008152602081019150509392505050565b6000602082840312156155fa57600080fd5b6110a2826152ac565b60006020828403121561561557600080fd5b81516110a281614b9d565b81810381811115610f4857610f48615377565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b80820180821115610f4857610f48615377565b60006020828403121561568757600080fd5b81516110a281614a5f565b6000602082840312156156a457600080fd5b81516110a281614d15565b6060815260006156c260608301866154bf565b90506001600160a01b038416602083015260ff83166040830152949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b8481526fffffffffffffffffffffffffffffffff84166020820152606060408201526000610ba0606083018486615476565b65ffffffffffff8281168282160390808211156153c7576153c7615377565b6020815260006110a260208301846154bf565b8183823760009101908152919050565b60005b838110156157a257818101518382015260200161578a565b50506000910152565b60ff8816815260006001600160a01b03808916602084015280881660408401525085606083015260c060808301526157e760c083018587615476565b82810360a08401528351808252615805816020840160208801615787565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016016020019998505050505050505050565b61ffff8181168382160190808211156153c7576153c7615377565b6020810160078310615891577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b91905290565b6fffffffffffffffffffffffffffffffff8181168382160190808211156153c7576153c7615377565b6000602082840312156158d257600080fd5b81356110a281614a5f565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261591257600080fd5b83018035915067ffffffffffffffff82111561592d57600080fd5b6020019150368190038213156121c657600080fd5b60006020828403121561595457600080fd5b815167ffffffffffffffff81111561596b57600080fd5b8201601f8101841361597c57600080fd5b805161598a614e7282614e0d565b81815285602083850101111561599f57600080fd5b6155a9826020830160208601615787565b6000826159e6577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b50049056fea164736f6c6343000817000a", + "nonce": "0x0", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x5b186110f6dba4c101f412b9927527faec9c81ec5b582f4d36e39e9b8914a44a", + "transactionType": "CREATE", + "contractName": "LlamaTokenVotingFactory", + "contractAddress": "0xFBE17545dffD75A92A5A72926AE581478973FE65", + "function": null, + "arguments": [ + "0x3f3DAB3ab8cEc2FBd06767c2A5F66Cb6BFF21A4A" + ], + "transaction": { + "type": "0x02", + "from": "0xb72276d9ff15c7998b9962ffcfb21a6c7249441b", + "gas": "0xc9127", + "value": "0x0", + "data": "0x60a060405234801561001057600080fd5b50604051610b16380380610b1683398101604081905261002f91610040565b6001600160a01b0316608052610070565b60006020828403121561005257600080fd5b81516001600160a01b038116811461006957600080fd5b9392505050565b608051610a8561009160003960008181604001526104390152610a856000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c806321618ea41461003b5780633ec857a51461008b575b600080fd5b6100627f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b61006261009936600461087b565b600080338360000151846040015185606001516040516020016100bf9493929190610959565b60405160208183030381529060405280519060200120905060006100e7846020015183610622565b60408086015190517f439fab9100000000000000000000000000000000000000000000000000000000815291925073ffffffffffffffffffffffffffffffffffffffff83169163439fab919161013f916004016109b9565b6020604051808303816000875af115801561015e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101829190610a0a565b50600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1663fc0c546a6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156101e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061020a9190610a33565b73ffffffffffffffffffffffffffffffffffffffff1603610257576040517f65f5b03400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517fcdfda4dd00000000000000000000000000000000000000000000000000000000815242600482015273ffffffffffffffffffffffffffffffffffffffff82169063cdfda4dd90602401602060405180830381865afa1580156102c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102e59190610a50565b65ffffffffffff16600003610326576040517f65f5b03400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff166391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865afa158015610371573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103959190610a50565b65ffffffffffff166000036103d6576040517f65f5b03400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1663ae2a6df26040518163ffffffff1660e01b815260040160006040518083038186803b15801561041c57600080fd5b505afa158015610430573d6000803e3d6000fd5b5050505061045e7f000000000000000000000000000000000000000000000000000000000000000083610622565b8451608086015160a0870151604080517f8734852a00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff948516600482015286851660248201526044810193909352815161ffff908116606485015260208301518116608485015290820151811660a48401526060909101511660c4820152919450841690638734852a9060e401600060405180830381600087803b15801561051757600080fd5b505af115801561052b573d6000803e3d6000fd5b505050508073ffffffffffffffffffffffffffffffffffffffff1663fc0c546a6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561057a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061059e9190610a33565b84516020808701516060808901516040805173ffffffffffffffffffffffffffffffffffffffff94851681528885169581019590955284015287821690830152466080830152928316929091169033907f4c8bb78cb1c62e64cef39fc4b4a1864d1a331a28c7bd59a67fe969cc8ab715879060a00160405180910390a45050919050565b6000763d602d80600a3d3981f3363d3d373d3d3d363d730000008360601b60e81c176000526e5af43d82803e903d91602b57fd5bf38360781b1760205281603760096000f5905073ffffffffffffffffffffffffffffffffffffffff81166106b6576040517fc2f868f400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405160c0810167ffffffffffffffff8111828210171561070e5761070e6106bc565b60405290565b73ffffffffffffffffffffffffffffffffffffffff8116811461073657600080fd5b50565b600082601f83011261074a57600080fd5b813567ffffffffffffffff80821115610765576107656106bc565b604051601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011681019082821181831017156107ab576107ab6106bc565b816040528381528660208588010111156107c457600080fd5b836020870160208301376000602085830101528094505050505092915050565b803561ffff811681146107f657600080fd5b919050565b60006080828403121561080d57600080fd5b6040516080810181811067ffffffffffffffff82111715610830576108306106bc565b60405290508061083f836107e4565b815261084d602084016107e4565b602082015261085e604084016107e4565b604082015261086f606084016107e4565b60608201525092915050565b60006020828403121561088d57600080fd5b813567ffffffffffffffff808211156108a557600080fd5b9083019061012082860312156108ba57600080fd5b6108c26106eb565b82356108cd81610714565b815260208301356108dd81610714565b60208201526040830135828111156108f457600080fd5b61090087828601610739565b60408301525060608301356060820152608083013560808201526109278660a085016107fb565b60a082015295945050505050565b60005b83811015610950578181015183820152602001610938565b50506000910152565b60007fffffffffffffffffffffffffffffffffffffffff000000000000000000000000808760601b168352808660601b1660148401525083516109a3816028850160208801610935565b6028920191820192909252604801949350505050565b60208152600082518060208401526109d8816040850160208701610935565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169190910160400192915050565b600060208284031215610a1c57600080fd5b81518015158114610a2c57600080fd5b9392505050565b600060208284031215610a4557600080fd5b8151610a2c81610714565b600060208284031215610a6257600080fd5b815165ffffffffffff81168114610a2c57600080fdfea164736f6c6343000817000a0000000000000000000000003f3dab3ab8cec2fbd06767c2a5f66cb6bff21a4a", + "nonce": "0x1", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xf45e2292936d271718f1f85c5ac46a6fc8c9d25eff4d2129343363a526ab496b", + "transactionType": "CREATE", + "contractName": "LlamaTokenAdapterVotesTimestamp", + "contractAddress": "0x088C268cb00226D6A9b29e5488905Aa94D2f0239", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0xb72276d9ff15c7998b9962ffcfb21a6c7249441b", + "gas": "0x10d28c", + "value": "0x0", + "data": "0x608060405234801561001057600080fd5b5061001961001e565b6100d0565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff161561006e5760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b03908116146100cd5780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b610df5806100df6000396000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c8063ae2a6df21161005b578063ae2a6df21461010a578063cdfda4dd14610114578063edb8ee5a14610127578063fc0c546a1461013a57600080fd5b8063439fab911461008d5780634bf5d7e9146100b557806391ddadf4146100ca5780639556de73146100e9575b600080fd5b6100a061009b3660046108e4565b61017f565b60405190151581526020015b60405180910390f35b6100bd6103a1565b6040516100ac9190610988565b6100d261042f565b60405165ffffffffffff90911681526020016100ac565b6100fc6100f7366004610a12565b6104e9565b6040519081526020016100ac565b610112610593565b005b6100d2610122366004610a4b565b6105ef565b6100fc610135366004610a64565b610600565b60005461015a9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100ac565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0080546000919068010000000000000000810460ff16159067ffffffffffffffff1683811580156101cd5750825b905060008267ffffffffffffffff1660011480156101ea5750303b155b9050811580156101f8575080155b1561022f576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b84547fffffffffffffffffffffffffffffffffffffffffffffffff000000000000000016600117855583156102905784547fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff16680100000000000000001785555b6000878060200190518101906102a69190610a81565b8051600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff90921691909117905560408051808201909152600e81527f6d6f64653d74696d657374616d7000000000000000000000000000000000000060208201529091506001906103309082610b71565b50600196505083156103975784547fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b5050505050919050565b600180546103ae90610acd565b80601f01602080910402602001604051908101604052809291908181526020018280546103da90610acd565b80156104275780601f106103fc57610100808354040283529160200191610427565b820191906000526020600020905b81548152906001019060200180831161040a57829003601f168201915b505050505081565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156104d7575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682019092526104d491810190610c8b565b60015b6104e4576104e44261069b565b905090565b600080546040517f3a46b1a800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff858116600483015265ffffffffffff8516602483015290911690633a46b1a890604401602060405180830381865afa158015610568573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061058c9190610ca8565b9392505050565b600061059d6106e8565b905060006105a9610712565b905081806105b45750805b156105eb576040517f6ff0714000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050565b60006105fa8261069b565b92915050565b600080546040517f8e539e8c00000000000000000000000000000000000000000000000000000000815265ffffffffffff8416600482015273ffffffffffffffffffffffffffffffffffffffff90911690638e539e8c90602401602060405180830381865afa158015610677573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105fa9190610ca8565b600065ffffffffffff8211156106e4576040517fc0188c4f0000000000000000000000000000000000000000000000000000000081526004810183905260240160405180910390fd5b5090565b60006106f34261069b565b65ffffffffffff1661070361042f565b65ffffffffffff161415905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16634bf5d7e96040518163ffffffff1660e01b8152600401600060405180830381865afa9250505080156107bf57506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526107bc9190810190610cc1565b60015b6107c95750600090565b60016040516020016107db9190610d38565b60405160208183030381529060405280519060200120816040516020016108029190610dcc565b60405160208183030381529060405280519060200120141591505090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff8111828210171561089657610896610820565b604052919050565b600067ffffffffffffffff8211156108b8576108b8610820565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b6000602082840312156108f657600080fd5b813567ffffffffffffffff81111561090d57600080fd5b8201601f8101841361091e57600080fd5b803561093161092c8261089e565b61084f565b81815285602083850101111561094657600080fd5b81602084016020830137600091810160200191909152949350505050565b60005b8381101561097f578181015183820152602001610967565b50506000910152565b60208152600082518060208401526109a7816040850160208701610964565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169190910160400192915050565b73ffffffffffffffffffffffffffffffffffffffff811681146109fb57600080fd5b50565b65ffffffffffff811681146109fb57600080fd5b60008060408385031215610a2557600080fd5b8235610a30816109d9565b91506020830135610a40816109fe565b809150509250929050565b600060208284031215610a5d57600080fd5b5035919050565b600060208284031215610a7657600080fd5b813561058c816109fe565b600060208284031215610a9357600080fd5b6040516020810181811067ffffffffffffffff82111715610ab657610ab6610820565b6040528251610ac4816109d9565b81529392505050565b600181811c90821680610ae157607f821691505b602082108103610b1a577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b601f821115610b6c576000816000526020600020601f850160051c81016020861015610b495750805b601f850160051c820191505b81811015610b6857828155600101610b55565b5050505b505050565b815167ffffffffffffffff811115610b8b57610b8b610820565b610b9f81610b998454610acd565b84610b20565b602080601f831160018114610bf25760008415610bbc5750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b178555610b68565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b82811015610c3f57888601518255948401946001909101908401610c20565b5085821015610c7b57878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b600060208284031215610c9d57600080fd5b815161058c816109fe565b600060208284031215610cba57600080fd5b5051919050565b600060208284031215610cd357600080fd5b815167ffffffffffffffff811115610cea57600080fd5b8201601f81018413610cfb57600080fd5b8051610d0961092c8261089e565b818152856020838501011115610d1e57600080fd5b610d2f826020830160208601610964565b95945050505050565b6000808354610d4681610acd565b60018281168015610d5e5760018114610d9157610dc0565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0084168752821515830287019450610dc0565b8760005260208060002060005b85811015610db75781548a820152908401908201610d9e565b50505082870194505b50929695505050505050565b60008251610dde818460208701610964565b919091019291505056fea164736f6c6343000817000a", + "nonce": "0x2", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0xa55e424bce783294f3bb68dd6f7d2f6781c8cbf4cc62d109d9ccf6679a1fc1d8", + "transactionIndex": "0x38", + "blockHash": "0x9c456e92699a51cea4709a73ff494dd71645988d84cf3f489f4e11bce3c3b5a6", + "blockNumber": "0x121b155", + "from": "0xb72276D9FF15c7998b9962FFCfB21A6C7249441B", + "to": null, + "cumulativeGasUsed": "0x9aaace", + "gasUsed": "0x4ca2c1", + "contractAddress": "0x3f3DAB3ab8cEc2FBd06767c2A5F66Cb6BFF21A4A", + "logs": [ + { + "address": "0x3f3DAB3ab8cEc2FBd06767c2A5F66Cb6BFF21A4A", + "topics": [ + "0xc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2" + ], + "data": "0x000000000000000000000000000000000000000000000000ffffffffffffffff", + "blockHash": "0x9c456e92699a51cea4709a73ff494dd71645988d84cf3f489f4e11bce3c3b5a6", + "blockNumber": "0x121b155", + "transactionHash": "0xa55e424bce783294f3bb68dd6f7d2f6781c8cbf4cc62d109d9ccf6679a1fc1d8", + "transactionIndex": "0x38", + "logIndex": "0x73", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000800000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0x76cec9c92" + }, + { + "transactionHash": "0x5b186110f6dba4c101f412b9927527faec9c81ec5b582f4d36e39e9b8914a44a", + "transactionIndex": "0x39", + "blockHash": "0x9c456e92699a51cea4709a73ff494dd71645988d84cf3f489f4e11bce3c3b5a6", + "blockNumber": "0x121b155", + "from": "0xb72276D9FF15c7998b9962FFCfB21A6C7249441B", + "to": null, + "cumulativeGasUsed": "0xa4563e", + "gasUsed": "0x9ab70", + "contractAddress": "0xFBE17545dffD75A92A5A72926AE581478973FE65", + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0x76cec9c92" + }, + { + "transactionHash": "0xf45e2292936d271718f1f85c5ac46a6fc8c9d25eff4d2129343363a526ab496b", + "transactionIndex": "0x3a", + "blockHash": "0x9c456e92699a51cea4709a73ff494dd71645988d84cf3f489f4e11bce3c3b5a6", + "blockNumber": "0x121b155", + "from": "0xb72276D9FF15c7998b9962FFCfB21A6C7249441B", + "to": null, + "cumulativeGasUsed": "0xb147e7", + "gasUsed": "0xcf1a9", + "contractAddress": "0x088C268cb00226D6A9b29e5488905Aa94D2f0239", + "logs": [ + { + "address": "0x088C268cb00226D6A9b29e5488905Aa94D2f0239", + "topics": [ + "0xc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2" + ], + "data": "0x000000000000000000000000000000000000000000000000ffffffffffffffff", + "blockHash": "0x9c456e92699a51cea4709a73ff494dd71645988d84cf3f489f4e11bce3c3b5a6", + "blockNumber": "0x121b155", + "transactionHash": "0xf45e2292936d271718f1f85c5ac46a6fc8c9d25eff4d2129343363a526ab496b", + "transactionIndex": "0x3a", + "logIndex": "0x74", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000800000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000008000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0x76cec9c92" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1704995739, + "chain": 1, + "multi": false, + "commit": "688208a" +} \ No newline at end of file diff --git a/broadcast/DeployLlamaTokenVotingFactory.s.sol/1/run-1704995794.json b/broadcast/DeployLlamaTokenVotingFactory.s.sol/1/run-1704995794.json new file mode 100644 index 0000000..6552f2b --- /dev/null +++ b/broadcast/DeployLlamaTokenVotingFactory.s.sol/1/run-1704995794.json @@ -0,0 +1,148 @@ +{ + "transactions": [ + { + "hash": "0xa55e424bce783294f3bb68dd6f7d2f6781c8cbf4cc62d109d9ccf6679a1fc1d8", + "transactionType": "CREATE", + "contractName": "LlamaTokenGovernor", + "contractAddress": "0x3f3DAB3ab8cEc2FBd06767c2A5F66Cb6BFF21A4A", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0xb72276d9ff15c7998b9962ffcfb21a6c7249441b", + "gas": "0x6398ff", + "value": "0x0", + "data": "0x60806040523480156200001157600080fd5b506200001c62000022565b620000d6565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff1615620000735760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b0390811614620000d35780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b6159f880620000e66000396000f3fe608060405234801561001057600080fd5b50600436106101da5760003560e01c80637e4a56bb11610104578063b92cdd9a116100a2578063cae3bdff11610071578063cae3bdff1461053d578063dcae21b714610552578063e45061ea14610565578063e5589b9d1461057857600080fd5b8063b92cdd9a146104e4578063b9b2cf6c146104f7578063c193c2691461050a578063c26c12eb1461053557600080fd5b80638734852a116100de5780638734852a1461049857806396ff6e2e146104ab578063a1d9b412146104be578063b3c678b0146104d157600080fd5b80637e4a56bb1461046a5780637ed7238e14610472578063807ad1141461048557600080fd5b80633fed8f161161017c57806359e5332d1161014b57806359e5332d1461036457806364f6b3161461037b5780637186dd9c1461038e57806374f717cd1461044757600080fd5b80633fed8f16146103165780634d61ebf4146103365780634ec0ab1c1461033e578063509c5fbd1461035157600080fd5b806319a39740116101b857806319a397401461025b5780631e127ddf1461026e578063372fa8e8146102c25780633df91222146102d557600080fd5b80630669b1ce146101df57806311f900b5146101f45780631650080714610227575b600080fd5b6101f26101ed366004614a11565b61058b565b005b610207610202366004614a46565b610b79565b6040805161ffff9384168152929091166020830152015b60405180910390f35b61023a610235366004614ac0565b610b90565b6040516fffffffffffffffffffffffffffffffff909116815260200161021e565b6101f2610269366004614a46565b610baa565b6101f261027c366004614b82565b3360009081526007602090815260408083207fffffffff000000000000000000000000000000000000000000000000000000009490941683529290522080546001019055565b6101f26102d0366004614bbd565b610c75565b6102fe6102e3366004614a46565b6005602052600090815260409020546001600160a01b031681565b6040516001600160a01b03909116815260200161021e565b610329610324366004614c31565b610d76565b60405161021e9190614c53565b610207610f4e565b6101f261034c366004614ce2565b610f63565b61023a61035f366004614ac0565b611030565b61036d60025481565b60405190815260200161021e565b6000546102fe906001600160a01b031681565b6103fc61039c366004614a46565b6006602052600090815260409020805460018201546002909201546fffffffffffffffffffffffffffffffff8083169370010000000000000000000000000000000093849004821693818316939181900483169282811692919091041686565b604080516fffffffffffffffffffffffffffffffff978816815295871660208701529386169385019390935290841660608401528316608083015290911660a082015260c00161021e565b61045a610455366004614d23565b611040565b604051901515815260200161021e565b6103296110a9565b61036d610480366004614ea9565b61114c565b6001546102fe906001600160a01b031681565b6101f26104a6366004614f88565b611263565b61023a6104b9366004615066565b6114b5565b61023a6104cc366004615066565b6115c6565b61036d6104df366004615131565b6116c7565b6101f26104f2366004614a11565b61171c565b6101f2610505366004614ce2565b611726565b61036d6105183660046151e2565b600760209081526000928352604080842090915290825290205481565b6102076117ef565b6105456117fc565b60405161021e919061520e565b610545610560366004614c31565b61188f565b6101f2610573366004614a11565b611a4d565b610207610586366004614a46565b612026565b600080546040517fb6e76873000000000000000000000000000000000000000000000000000000008152833560048201526001600160a01b039091169063b6e768739060240161012060405180830381865afa1580156105ef573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061061391906152c8565b9050600060018260a0015161062891906153a6565b67ffffffffffffffff169050600160009054906101000a90046001600160a01b03166001600160a01b031663ae2a6df26040518163ffffffff1660e01b815260040160006040518083038186803b15801561068257600080fd5b505afa158015610696573d6000803e3d6000fd5b505050506000806000806106b485600461203490919063ffffffff16565b909250905060006106cb6080890160608a016153ce565b6001600160a01b031663b02bd9206040518163ffffffff1660e01b8152600401602060405180830381865afa158015610708573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061072c91906153eb565b67ffffffffffffffff16905061271061ffff8416820204818860c0015167ffffffffffffffff16030194506127108261ffff1682028161076e5761076e615406565b04850193508342116107ac576040517f038d8a6a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8660c0015167ffffffffffffffff1642106107f3576040517f08c8d62700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050843560009081526006602052604080822060015491517fcdfda4dd000000000000000000000000000000000000000000000000000000008152600481018690529092916001600160a01b03169063edb8ee5a90829063cdfda4dd90602401602060405180830381865afa158015610871573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108959190615435565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b16815265ffffffffffff9091166004820152602401602060405180830381865afa1580156108f0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610914919061545d565b600183015460028401549192506fffffffffffffffffffffffffffffffff7001000000000000000000000000000000009182900481169291820481169116600061095f60038a6121cd565b9150506000610975868361ffff166127106122d8565b905080856fffffffffffffffffffffffffffffffff1610156109e3576040517fbfb9aa550000000000000000000000000000000000000000000000000000000081526fffffffffffffffffffffffffffffffff86166004820152602481018290526044015b60405180910390fd5b836fffffffffffffffffffffffffffffffff16856fffffffffffffffffffffffffffffffff1611610a5c576040517f8a0df63f0000000000000000000000000000000000000000000000000000000081526fffffffffffffffffffffffffffffffff8087166004830152851660248201526044016109da565b6000610a7b8d6060016020810190610a7491906153ce565b600061231c565b905060008054906101000a90046001600160a01b03166001600160a01b03166394004706828f6040518363ffffffff1660e01b8152600401610abe9291906155b2565b6020604051808303816000875af1158015610add573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b0191906155e8565b50604080518e3581526fffffffffffffffffffffffffffffffff808916602083015280881692820192909252908516606082015260ff82169033907ff5bc433f16cc3d0e9fcb5ac4f8de9f17eb90de1fd2a9ede5952c2097d4ef1a59906080015b60405180910390a350505050505050505050505050565b600080610b87600484612034565b91509150915091565b6000610ba0338787878787612612565b9695505050505050565b60008054906101000a90046001600160a01b03166001600160a01b031663c34c08e56040518163ffffffff1660e01b8152600401602060405180830381865afa158015610bfb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c1f9190615603565b6001600160a01b0316336001600160a01b031614610c69576040517f26bee1ce00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610c7281612c5e565b50565b6000610c818686612e2e565b6040805160008082526020820180845284905260ff88169282019290925260608101869052608081018590529192509060019060a0016020604051602081039080840390855afa158015610cd9573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001519150506001600160a01b0381161580610d2c5750866001600160a01b0316816001600160a01b031614155b15610d63576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610d6d8187612f50565b50505050505050565b60408051602081019091526060815281831115610dbf576040517f2cd4dad300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60045480831115610dfc576040517f2cd4dad300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610e088585615620565b905060008167ffffffffffffffff811115610e2557610e25614d65565b604051908082528060200260200182016040528015610e8e57816020015b60408051606081018252600080825260208083018290529282015282527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff909201910181610e435790505b509050855b85811015610f34576004805482908110610eaf57610eaf615633565b600091825260209182902060408051606081018252919092015465ffffffffffff8116825261ffff660100000000000082048116948301949094526801000000000000000090049092169082015282610f088984615620565b81518110610f1857610f18615633565b6020026020010181905250610f2d8160010190565b9050610e93565b506040805160208101909152908152925050505b92915050565b600080610f5b6004613063565b915091509091565b60008054906101000a90046001600160a01b03166001600160a01b031663c34c08e56040518163ffffffff1660e01b8152600401602060405180830381865afa158015610fb4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fd89190615603565b6001600160a01b0316336001600160a01b031614611022576040517f26bee1ce00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61102c82826130db565b5050565b6000610ba03387878787876131cf565b60008115611077575060008381526006602090815260408083206001600160a01b038616845260030190915290205460ff166110a2565b5060008381526006602090815260408083206001600160a01b038616845260040190915290205460ff165b9392505050565b6040805160208101909152606081526040805160048054602081810284018501855283018181529293919284929091849160009085015b8282101561113f576000848152602090819020604080516060810182529185015465ffffffffffff8116835261ffff660100000000000082048116848601526801000000000000000090910416908201528252600190920191016110e0565b5050505081525050905090565b60008061115f8d8d8d8d8d8d8d8d613714565b6040805160008082526020820180845284905260ff89169282019290925260608101879052608081018690529192509060019060a0016020604051602081039080840390855afa1580156111b7573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001519150506001600160a01b038116158061120a57508d6001600160a01b0316816001600160a01b031614155b15611241576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611251818e8e8e8e8e8e8e613885565b9e9d5050505050505050505050505050565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000810460ff16159067ffffffffffffffff166000811580156112ae5750825b905060008267ffffffffffffffff1660011480156112cb5750303b155b9050811580156112d9575080155b15611310576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b84547fffffffffffffffffffffffffffffffffffffffffffffffff000000000000000016600117855583156113715784547fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff16680100000000000000001785555b886001600160a01b0316639bccfe496040518163ffffffff1660e01b8152600401602060405180830381865afa1580156113af573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113d3919061545d565b50600080546001600160a01b03808c167fffffffffffffffffffffffff00000000000000000000000000000000000000009283161790925560018054928b169290911691909117905561142587612c5e565b611437866000015187602001516130db565b61144986604001518760600151613b89565b83156114aa5784547fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b505050505050505050565b6000806114c68b8b8b8b8b8b613c26565b6040805160008082526020820180845284905260ff89169282019290925260608101879052608081018690529192509060019060a0016020604051602081039080840390855afa15801561151e573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001519150506001600160a01b038116158061157157508b6001600160a01b0316816001600160a01b031614155b156115a8576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6115b6818c8c8c8c8c6131cf565b9c9b505050505050505050505050565b6000806115d78b8b8b8b8b8b613d84565b6040805160008082526020820180845284905260ff89169282019290925260608101879052608081018690529192509060019060a0016020604051602081039080840390855afa15801561162f573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001519150506001600160a01b038116158061168257508b6001600160a01b0316816001600160a01b031614155b156116b9576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6115b6818c8c8c8c8c612612565b600061170f338a8a8a8a8a8a8a8a8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061388592505050565b9998505050505050505050565b610c723382612f50565b60008054906101000a90046001600160a01b03166001600160a01b031663c34c08e56040518163ffffffff1660e01b8152600401602060405180830381865afa158015611777573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061179b9190615603565b6001600160a01b0316336001600160a01b0316146117e5576040517f26bee1ce00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61102c8282613b89565b600080610f5b6003613063565b604080516020810190915260608152604080516003805460208082028401850185528301818152929391928492909184916000908501821561113f576000848152602090819020604080516060810182529185015465ffffffffffff8116835261ffff660100000000000082048116848601526801000000000000000090910416908201528252600190920191016110e0565b604080516020810190915260608152818311156118d8576040517f2cd4dad300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60035480831115611915576040517f2cd4dad300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006119218585615620565b905060008167ffffffffffffffff81111561193e5761193e614d65565b6040519080825280602002602001820160405280156119a757816020015b60408051606081018252600080825260208083018290529282015282527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90920191018161195c5790505b509050855b85811015610f345760038054829081106119c8576119c8615633565b600091825260209182902060408051606081018252919092015465ffffffffffff8116825261ffff660100000000000082048116948301949094526801000000000000000090049092169082015282611a218984615620565b81518110611a3157611a31615633565b6020026020010181905250611a468160010190565b90506119ac565b600080546040517fb6e76873000000000000000000000000000000000000000000000000000000008152833560048201526001600160a01b039091169063b6e768739060240161012060405180830381865afa158015611ab1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ad591906152c8565b9050600060018260a00151611aea91906153a6565b67ffffffffffffffff169050600160009054906101000a90046001600160a01b03166001600160a01b031663ae2a6df26040518163ffffffff1660e01b815260040160006040518083038186803b158015611b4457600080fd5b505afa158015611b58573d6000803e3d6000fd5b50505050600080600080611b7685600461203490919063ffffffff16565b90925090506000611b8d6080890160608a016153ce565b6001600160a01b0316637999762c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611bca573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bee91906153eb565b67ffffffffffffffff16905061271061ffff84168202048760a0015167ffffffffffffffff160194506127108261ffff16820281611c2e57611c2e615406565b0485019350834211611c6c576040517f038d8a6a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b808760a0015167ffffffffffffffff16611c869190615662565b421115611cbf576040517f08c8d62700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050843560009081526006602052604080822060015491517fcdfda4dd000000000000000000000000000000000000000000000000000000008152600481018690529092916001600160a01b03169063edb8ee5a90829063cdfda4dd90602401602060405180830381865afa158015611d3d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d619190615435565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b16815265ffffffffffff9091166004820152602401602060405180830381865afa158015611dbc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611de0919061545d565b825460018401549192506fffffffffffffffffffffffffffffffff808216928116917001000000000000000000000000000000009004166000611e2460038a6121cd565b5090506000611e3a868361ffff166127106122d8565b905080856fffffffffffffffffffffffffffffffff161015611ea3576040517f0425fab10000000000000000000000000000000000000000000000000000000081526fffffffffffffffffffffffffffffffff86166004820152602481018290526044016109da565b836fffffffffffffffffffffffffffffffff16856fffffffffffffffffffffffffffffffff1611611f1c576040517f8a0df63f0000000000000000000000000000000000000000000000000000000081526fffffffffffffffffffffffffffffffff8087166004830152851660248201526044016109da565b6000611f3b8d6060016020810190611f3491906153ce565b600161231c565b905060008054906101000a90046001600160a01b03166001600160a01b03166389e7d126828f6040518363ffffffff1660e01b8152600401611f7e9291906155b2565b6020604051808303816000875af1158015611f9d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fc191906155e8565b50604080518e3581526fffffffffffffffffffffffffffffffff808916602083015280881692820192909252908516606082015260ff82169033907ff23279e924757f3bfe4f543bc1b43685e851d6ace53f8518b806dcd8d42fc13990608001610b62565b600080610b876003846121cd565b6000804283106120c6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f506572696f64506374436865636b706f696e74733a2074696d657374616d702060448201527f6973206e6f7420696e207468652070617374000000000000000000000000000060648201526084016109da565b60006120d184613db3565b855490915060008160058111156121315760006120ed84613dfc565b6120f79085615620565b60008a81526020902090915081015465ffffffffffff90811690861610156121215780915061212f565b61212c816001615662565b92505b505b600061213f89868585613eae565b90508060000361215a576000809650965050505050506121c6565b60006121798a61216b600185615620565b600091825260209091200190565b60408051606081018252915465ffffffffffff8116835261ffff66010000000000008204811660208501819052680100000000000000009092041692909101829052985096505050505050505b9250929050565b60008042831061225f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602f60248201527f51756f72756d436865636b706f696e74733a2074696d657374616d702069732060448201527f6e6f7420696e207468652070617374000000000000000000000000000000000060648201526084016109da565b600061226a84613db3565b855490915060008160058111156122ca57600061228684613dfc565b6122909085615620565b60008a81526020902090915081015465ffffffffffff90811690861610156122ba578091506122c8565b6122c5816001615662565b92505b505b600061213f89868585613f10565b6000827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048411830215820261230d57600080fd5b50910281810615159190040190565b60008054604080517f0505c8c9000000000000000000000000000000000000000000000000000000008152905183926001600160a01b031691630505c8c99160048083019260209291908290030181865afa15801561237f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123a39190615603565b6001600160a01b0316638b2ed3886040518163ffffffff1660e01b8152600401602060405180830381865afa1580156123e0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124049190615675565b905060015b8160ff16811161253b57836124a1576040517fc167ebae00000000000000000000000000000000000000000000000000000000815260ff821660048201526001600160a01b0386169063c167ebae90602401602060405180830381865afa158015612478573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061249c9190615692565b612525565b6040517ffb847c4300000000000000000000000000000000000000000000000000000000815260ff821660048201526001600160a01b0386169063fb847c4390602401602060405180830381865afa158015612501573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125259190615692565b15612533579150610f489050565b600101612409565b50826125a857836001600160a01b03166312a52f006040518163ffffffff1660e01b8152600401602060405180830381865afa15801561257f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125a39190615675565b61260a565b836001600160a01b03166366cacdc96040518163ffffffff1660e01b8152600401602060405180830381865afa1580156125e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061260a9190615675565b949350505050565b600080546040517fb6e768730000000000000000000000000000000000000000000000000000000081528635600482015282916001600160a01b03169063b6e768739060240161012060405180830381865afa158015612676573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061269a91906152c8565b9050600060018260a001516126af91906153a6565b8735600090815260066020526040902067ffffffffffffffff9190911691506126de6080890160608a016153ce565b6001600160a01b03166302674e4b89308c6040518463ffffffff1660e01b815260040161270d939291906156af565b60006040518083038186803b15801561272557600080fd5b505afa158015612739573d6000803e3d6000fd5b505050506001600160a01b038a16600090815260048201602052604090205460ff1615612792576040517f9dd6544b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6127a0888a89600486613f6a565b60008080806127b0600487612034565b909250905060006127c760808e0160608f016153ce565b6001600160a01b031663b02bd9206040518163ffffffff1660e01b8152600401602060405180830381865afa158015612804573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061282891906153eb565b67ffffffffffffffff16905061271061ffff8416820204818960c0015167ffffffffffffffff16030194506127108261ffff1682028161286a5761286a615406565b04850193508442116128a8576040517fd0b72b4900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b834211156128e2576040517f5b73d19300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050506000612a25600160009054906101000a90046001600160a01b03166001600160a01b0316639556de738f600160009054906101000a90046001600160a01b03166001600160a01b031663cdfda4dd886040518263ffffffff1660e01b815260040161295291815260200190565b602060405180830381865afa15801561296f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906129939190615435565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b1681526001600160a01b03909216600483015265ffffffffffff166024820152604401602060405180830381865afa1580156129fc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a20919061545d565b61425e565b905060ff8a16612a9e576002840154612a649070010000000000000000000000000000000090046fffffffffffffffffffffffffffffffff16826142ad565b6002850180546fffffffffffffffffffffffffffffffff928316700100000000000000000000000000000000029216919091179055612bc6565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60ff8b1601612b37576001840154612afd9070010000000000000000000000000000000090046fffffffffffffffffffffffffffffffff16826142ad565b6001850180546fffffffffffffffffffffffffffffffff928316700100000000000000000000000000000000029216919091179055612bc6565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe60ff8b1601612bc6576002840154612b82906fffffffffffffffffffffffffffffffff16826142ad565b6002850180547fffffffffffffffffffffffffffffffff00000000000000000000000000000000166fffffffffffffffffffffffffffffffff929092169190911790555b6001600160a01b038d1660008181526004860160205260409081902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790555160ff8c1691907f4e3e2ad68670a2709cb408c31c5afd8da0b6d3d06c75b11feb404a455639fe7c90612c46908f359086908f908f90615713565b60405180910390a39c9b505050505050505050505050565b60018054604080517f91ddadf400000000000000000000000000000000000000000000000000000000815290516000936001600160a01b039093169263edb8ee5a92909184916391ddadf49160048083019260209291908290030181865afa158015612cce573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612cf29190615435565b612cfc9190615745565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b16815265ffffffffffff9091166004820152602401602060405180830381865afa158015612d57573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612d7b919061545d565b905080600003612db7576040517f34bbd58500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80821115612df1576040517f8a5e746800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60028290556040518281527fd91a985c173545ab0e0bd11c021a1ae84c1ea6eab9350d9bf3812d5b8bff49a4906020015b60405180910390a15050565b6000807f6da9390b4f29da2c44fa5a9da00b392393d01e989d16e4a3dec5a538318e352584612e5c856142f4565b6001600160a01b03871660009081526007602090815260408083207fffffffff00000000000000000000000000000000000000000000000000000000843516845290915290208054600181019091556040805160208101959095526001600160a01b03909316928401929092526060830152608082015260a001604051602081830303815290604052805190602001209050612ef66143eb565b6040517f190100000000000000000000000000000000000000000000000000000000000060208201526022810191909152604281018290526062016040516020818303038152906040528051906020012091505092915050565b80356000908152600560205260409020546001600160a01b03838116911614612fa5576040517f86ba025600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000546040517fb92cdd9a0000000000000000000000000000000000000000000000000000000081526001600160a01b039091169063b92cdd9a90612fee908490600401615764565b600060405180830381600087803b15801561300857600080fd5b505af115801561301c573d6000803e3d6000fd5b5050604051833581526001600160a01b03851692507fdcccc5725b7256a6975da00de8953e5d326756a3079d203ff6df9e52331f411a915060200160405180910390a25050565b8054600090819080820361307d5750600093849350915050565b600061308e8561216b600185615620565b60408051606081018252915465ffffffffffff8116835261ffff66010000000000008204811660208501819052680100000000000000009092041692909101829052969095509350505050565b6127108261ffff1611806130f1575061ffff8216155b1561312e576040517f8f6febc000000000000000000000000000000000000000000000000000000000815261ffff831660048201526024016109da565b6127108161ffff161180613144575061ffff8116155b15613181576040517f3bec511c00000000000000000000000000000000000000000000000000000000815261ffff821660048201526024016109da565b613194600361ffff80851690841661454d565b6040805161ffff8085168252831660208201527f77c3f43700db02acb49792bbf699b39f72c2ed4b920bd5c0b1843dcd7c832f4c9101612e22565b600080546040517fb6e768730000000000000000000000000000000000000000000000000000000081528635600482015282916001600160a01b03169063b6e768739060240161012060405180830381865afa158015613233573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061325791906152c8565b9050600060018260a0015161326c91906153a6565b8735600090815260066020526040902067ffffffffffffffff91909116915061329b6080890160608a016153ce565b6001600160a01b0316631a2a4e7789308c6040518463ffffffff1660e01b81526004016132ca939291906156af565b60006040518083038186803b1580156132e257600080fd5b505afa1580156132f6573d6000803e3d6000fd5b505050506001600160a01b038a16600090815260038201602052604090205460ff161561334f576040517f9dd6544b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61335d888a89600086613f6a565b600080808061336d600487612034565b9092509050600061338460808e0160608f016153ce565b6001600160a01b0316637999762c6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156133c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906133e591906153eb565b67ffffffffffffffff16905061271061ffff84168202048860a0015167ffffffffffffffff160194506127108261ffff1682028161342557613425615406565b0485019350844211613463576040517fd0b72b4900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8342111561349d576040517f5b73d19300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050600061350d600160009054906101000a90046001600160a01b03166001600160a01b0316639556de738f600160009054906101000a90046001600160a01b03166001600160a01b031663cdfda4dd886040518263ffffffff1660e01b815260040161295291815260200190565b905060ff8a16613580576001840154613538906fffffffffffffffffffffffffffffffff16826142ad565b6001850180547fffffffffffffffffffffffffffffffff00000000000000000000000000000000166fffffffffffffffffffffffffffffffff92909216919091179055613694565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60ff8b16016136095783546135c8906fffffffffffffffffffffffffffffffff16826142ad565b84547fffffffffffffffffffffffffffffffff00000000000000000000000000000000166fffffffffffffffffffffffffffffffff91909116178455613694565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe60ff8b16016136945783546136659070010000000000000000000000000000000090046fffffffffffffffffffffffffffffffff16826142ad565b84546fffffffffffffffffffffffffffffffff9182167001000000000000000000000000000000000291161784555b6001600160a01b038d1660008181526003860160205260409081902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790555160ff8c1691907f761cce3a1af5d9cfc0d57222f605ce4bd2be345f0ad9ebb7b83a84a91a0c201490612c46908f359086908f908f90615713565b6001600160a01b03881660009081526007602090815260408083207fffffffff000000000000000000000000000000000000000000000000000000008435168452909152812080546001810190915560007fd1fab1c7b3b37134662e5867b00e272eb49f7be0a890df29e802c3cc66c06f838b8b8b8b8b8b8b60405161379b929190615777565b604080519182900382208c516020808f0191909120908401999099526001600160a01b039788169183019190915260ff90951660608201529285166080840152931660a082015260c081019290925260e08201526101008101919091526101208101839052610140016040516020818303038152906040528051906020012090506138246143eb565b6040517f19010000000000000000000000000000000000000000000000000000000000006020820152602281019190915260428101829052606201604051602081830303815290604052805190602001209250505098975050505050505050565b600154604080517fae2a6df200000000000000000000000000000000000000000000000000000000815290516000926001600160a01b03169163ae2a6df29160048083019286929190829003018186803b1580156138e257600080fd5b505afa1580156138f6573d6000803e3d6000fd5b505060018054604080517f91ddadf40000000000000000000000000000000000000000000000000000000081529051600095506001600160a01b039092169350639556de73928e92909185916391ddadf4916004808201926020929091908290030181865afa15801561396d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906139919190615435565b61399b9190615745565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b1681526001600160a01b03909216600483015265ffffffffffff166024820152604401602060405180830381865afa158015613a04573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613a28919061545d565b9050600254811015613a69576040517f92665351000000000000000000000000000000000000000000000000000000008152600481018290526024016109da565b6000546040517fb3c678b00000000000000000000000000000000000000000000000000000000081526001600160a01b039091169063b3c678b090613abe908c908c908c908c908c908c908c906004016157ab565b6020604051808303816000875af1158015613add573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613b01919061545d565b60008181526005602090815260409182902080547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b038f16908117909155915183815292945090917f1834dfd49255741a8ce9a9bd66b91b64d13622e1d8170e4c78ac91f9ec50a542910160405180910390a25098975050505050505050565b612710613b96828461583b565b61ffff1610613bdf576040517f519dd38400000000000000000000000000000000000000000000000000000000815261ffff8084166004830152821660248201526044016109da565b613beb60048383614576565b6040805161ffff8085168252831660208201527f8df7bdcce333d9e1b85e40782fb2f293c805761d3f48aaea58865e9541e44c709101612e22565b6000807fd7be168a3509af358f222ee35ee76aba47bc5fc2c35061cdce3958f510b7b1b28888613c55896142f4565b888888604051613c66929190615777565b60408051918290039091206001600160a01b038f166000908152600760209081528382207fffffffff0000000000000000000000000000000000000000000000000000000083351683529052919091208054600181019091556040805160208101989098526001600160a01b039096169587019590955260ff938416606087015260808601929092529190911660a084015260c083015260e082015261010001604051602081830303815290604052805190602001209050613d266143eb565b6040517f19010000000000000000000000000000000000000000000000000000000000006020820152602281019190915260428101829052606201604051602081830303815290604052805190602001209150509695505050505050565b6000807fa87058c5a9888e7af4405a932381d5a4612c61354bc3e52e9ea361ba17703fb38888613c55896142f4565b600065ffffffffffff821115613df8576040517fc0188c4f000000000000000000000000000000000000000000000000000000008152600481018390526024016109da565b5090565b60b581710100000000000000000000000000000000008110613e235760409190911b9060801c5b69010000000000000000008110613e3f5760209190911b9060401c5b650100000000008110613e575760109190911b9060201c5b63010000008110613e6d5760089190911b9060101c5b62010000010260121c80820401600190811c80830401811c80830401811c80830401811c80830401811c80830401811c80830401901c908190048111900390565b60005b81831015613f08576000613ec584846145a2565b60008781526020902090915065ffffffffffff86169082015465ffffffffffff161115613ef457809250613f02565b613eff816001615662565b93505b50613eb1565b509392505050565b60005b81831015613f08576000613f2784846145a2565b60008781526020902090915065ffffffffffff86169082015465ffffffffffff161115613f5657809250613f64565b613f61816001615662565b93505b50613f13565b600260ff84161115613fad576040517ffe0e5d8b00000000000000000000000000000000000000000000000000000000815260ff841660048201526024016109da565b600080546040517fec12d8be0000000000000000000000000000000000000000000000000000000081526001600160a01b039091169063ec12d8be90613ff7908990600401615764565b602060405180830381865afa158015614014573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906140389190615675565b60ff16600681111561404c5761404c6156e4565b9050826006811115614060576140606156e4565b816006811115614072576140726156e4565b146140ab57806040517f87afe58e0000000000000000000000000000000000000000000000000000000081526004016109da9190615856565b60008060009054906101000a90046001600160a01b03166001600160a01b0316630505c8c96040518163ffffffff1660e01b8152600401602060405180830381865afa1580156140ff573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906141239190615603565b6040517fe0bec07600000000000000000000000000000000000000000000000000000000815230600482015260ff88166024820152604481018590526001600160a01b03919091169063e0bec07690606401602060405180830381865afa158015614192573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906141b69190615692565b9050806141ef576040517f88aebd1200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600160009054906101000a90046001600160a01b03166001600160a01b031663ae2a6df26040518163ffffffff1660e01b815260040160006040518083038186803b15801561423d57600080fd5b505afa158015614251573d6000803e3d6000fd5b5050505050505050505050565b60006fffffffffffffffffffffffffffffffff821115613df8576040517fc0188c4f000000000000000000000000000000000000000000000000000000008152600481018390526024016109da565b60006fffffffffffffffffffffffffffffffff6142ce838216858316615662565b106142ea57506fffffffffffffffffffffffffffffffff610f48565b6110a28284615897565b60007f86b4555c6e347ea3f038485b59b894986c208b67da7e65fcfa3707271608465f823561432960408501602086016153ce565b61433960608601604087016158c0565b61434960808701606088016153ce565b61435960a08801608089016153ce565b60a088013561436b60c08a018a6158dd565b604051614379929190615777565b6040805191829003822060208301999099528101969096526001600160a01b03948516606087015260ff909316608086015290831660a08501529190911660c083015260e082015261010081019190915261012001604051602081830303815290604052805190602001209050919050565b60008054604080517f06fdde0300000000000000000000000000000000000000000000000000000000815290517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f926001600160a01b0316916306fdde0391600480830192879291908290030181865afa15801561446d573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526144b39190810190615942565b8051602091820120604080518082018252600181527f310000000000000000000000000000000000000000000000000000000000000090840152805192830193909352918101919091527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a082015260c00160405160208183030381529060405280519060200120905090565b6145718361455a42613db3565b614563856145bd565b61456c856145bd565b6145fe565b505050565b6145718361458342613db3565b6145908561ffff166145bd565b61459d8561ffff166145bd565b614909565b60006145b160028484186159b0565b6110a290848416615662565b600061ffff821115613df8576040517fc0188c4f000000000000000000000000000000000000000000000000000000008152600481018390526024016109da565b835480156148475760006146178661216b600185615620565b60408051606081018252915465ffffffffffff80821680855261ffff66010000000000008404811660208701526801000000000000000090930490921692840192909252919250861610156146ed576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f51756f72756d20436865636b706f696e743a20696e76616c69642074696d657360448201527f74616d700000000000000000000000000000000000000000000000000000000060648201526084016109da565b805165ffffffffffff8087169116036147865760006147118761216b600186615620565b805461ffff86811668010000000000000000027fffffffffffffffffffffffffffffffffffffffffffff0000ffffffffffffffff918916660100000000000002919091167fffffffffffffffffffffffffffffffffffffffffffff00000000ffffffffffff9092169190911717905550614841565b6040805160608101825265ffffffffffff808816825261ffff80881660208085019182528883169585019586528b54600181018d5560008d81529190912094519401805491519551831668010000000000000000027fffffffffffffffffffffffffffffffffffffffffffff0000ffffffffffffffff969093166601000000000000027fffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000909216949093169390931792909217929092161790555b50614902565b6040805160608101825265ffffffffffff808716825261ffff80871660208085019182528783169585019586528a54600181018c5560008c81529190912094519401805491519551831668010000000000000000027fffffffffffffffffffffffffffffffffffffffffffff0000ffffffffffffffff969093166601000000000000027fffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000909216949093169390931792909217929092161790555b5050505050565b835480156148475760006149228661216b600185615620565b60408051606081018252915465ffffffffffff80821680855261ffff66010000000000008404811660208701526801000000000000000090930490921692840192909252919250861610156146ed576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602860248201527f506572696f642050637420436865636b706f696e743a20696e76616c6964207460448201527f696d657374616d7000000000000000000000000000000000000000000000000060648201526084016109da565b600060e08284031215614a0b57600080fd5b50919050565b600060208284031215614a2357600080fd5b813567ffffffffffffffff811115614a3a57600080fd5b61260a848285016149f9565b600060208284031215614a5857600080fd5b5035919050565b60ff81168114610c7257600080fd5b8035614a7981614a5f565b919050565b60008083601f840112614a9057600080fd5b50813567ffffffffffffffff811115614aa857600080fd5b6020830191508360208285010111156121c657600080fd5b600080600080600060808688031215614ad857600080fd5b8535614ae381614a5f565b9450602086013567ffffffffffffffff80821115614b0057600080fd5b614b0c89838a016149f9565b955060408801359150614b1e82614a5f565b90935060608701359080821115614b3457600080fd5b50614b4188828901614a7e565b969995985093965092949392505050565b80357fffffffff0000000000000000000000000000000000000000000000000000000081168114614a7957600080fd5b600060208284031215614b9457600080fd5b6110a282614b52565b6001600160a01b0381168114610c7257600080fd5b8035614a7981614b9d565b600080600080600060a08688031215614bd557600080fd5b8535614be081614b9d565b9450602086013567ffffffffffffffff811115614bfc57600080fd5b614c08888289016149f9565b9450506040860135614c1981614a5f565b94979396509394606081013594506080013592915050565b60008060408385031215614c4457600080fd5b50508035926020909101359150565b60208082528251828201829052805160408401819052600092916060919083019082860190855b81811015614cc357614cb3838551805165ffffffffffff16825260208082015161ffff9081169184019190915260409182015116910152565b9285019291840191600101614c7a565b5090979650505050505050565b803561ffff81168114614a7957600080fd5b60008060408385031215614cf557600080fd5b614cfe83614cd0565b9150614d0c60208401614cd0565b90509250929050565b8015158114610c7257600080fd5b600080600060608486031215614d3857600080fd5b833592506020840135614d4a81614b9d565b91506040840135614d5a81614d15565b809150509250925092565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051610120810167ffffffffffffffff81118282101715614db857614db8614d65565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715614e0557614e05614d65565b604052919050565b600067ffffffffffffffff821115614e2757614e27614d65565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b600082601f830112614e6457600080fd5b8135614e77614e7282614e0d565b614dbe565b818152846020838601011115614e8c57600080fd5b816020850160208301376000918101602001919091529392505050565b60008060008060008060008060008060006101408c8e031215614ecb57600080fd5b614ed48c614bb2565b9a50614ee260208d01614a6e565b9950614ef060408d01614bb2565b9850614efe60608d01614bb2565b975060808c0135965067ffffffffffffffff8060a08e01351115614f2157600080fd5b614f318e60a08f01358f01614a7e565b909750955060c08d0135811015614f4757600080fd5b50614f588d60c08e01358e01614e53565b9350614f6660e08d01614a6e565b92506101008c013591506101208c013590509295989b509295989b9093969950565b60008060008084860360e0811215614f9f57600080fd5b8535614faa81614b9d565b94506020860135614fba81614b9d565b93506040860135925060807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa082011215614ff357600080fd5b506040516080810181811067ffffffffffffffff8211171561501757615017614d65565b60405261502660608701614cd0565b815261503460808701614cd0565b602082015261504560a08701614cd0565b604082015261505660c08701614cd0565b6060820152939692955090935050565b60008060008060008060008060006101008a8c03121561508557600080fd5b893561509081614b9d565b985060208a01356150a081614a5f565b975060408a013567ffffffffffffffff808211156150bd57600080fd5b6150c98d838e016149f9565b985060608c013591506150db82614a5f565b90965060808b013590808211156150f157600080fd5b506150fe8c828d01614a7e565b90965094505060a08a013561511281614a5f565b8093505060c08a0135915060e08a013590509295985092959850929598565b60008060008060008060008060c0898b03121561514d57600080fd5b883561515881614a5f565b9750602089013561516881614b9d565b9650604089013561517881614b9d565b955060608901359450608089013567ffffffffffffffff8082111561519c57600080fd5b6151a88c838d01614a7e565b909650945060a08b01359150808211156151c157600080fd5b506151ce8b828c01614a7e565b999c989b5096995094979396929594505050565b600080604083850312156151f557600080fd5b823561520081614b9d565b9150614d0c60208401614b52565b60208082528251828201829052805160408401819052600092916060919083019082860190855b81811015614cc35761526e838551805165ffffffffffff16825260208082015161ffff9081169184019190915260409182015116910152565b9285019291840191600101615235565b8051614a7981614d15565b8051614a7981614b9d565b805167ffffffffffffffff81168114614a7957600080fd5b80516bffffffffffffffffffffffff81168114614a7957600080fd5b600061012082840312156152db57600080fd5b6152e3614d94565b825181526152f36020840161527e565b60208201526153046040840161527e565b60408201526153156060840161527e565b606082015261532660808401615289565b608082015261533760a08401615294565b60a082015261534860c08401615294565b60c082015261535960e084016152ac565b60e082015261010061536c8185016152ac565b908201529392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b67ffffffffffffffff8281168282160390808211156153c7576153c7615377565b5092915050565b6000602082840312156153e057600080fd5b81356110a281614b9d565b6000602082840312156153fd57600080fd5b6110a282615294565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006020828403121561544757600080fd5b815165ffffffffffff811681146110a257600080fd5b60006020828403121561546f57600080fd5b5051919050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b80358252600060208201356154d381614b9d565b6001600160a01b0390811660208501526040830135906154f282614a5f565b60ff821660408601526060840135915061550b82614b9d565b908116606085015260808301359061552282614b9d565b16608084015260a0828101359084015260c0820135368390037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe101811261556857600080fd5b820160208101903567ffffffffffffffff81111561558557600080fd5b80360382131561559457600080fd5b60e060c08601526155a960e086018284615476565b95945050505050565b60ff831681526060602082015260006155ce60608301846154bf565b828103604084015260008152602081019150509392505050565b6000602082840312156155fa57600080fd5b6110a2826152ac565b60006020828403121561561557600080fd5b81516110a281614b9d565b81810381811115610f4857610f48615377565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b80820180821115610f4857610f48615377565b60006020828403121561568757600080fd5b81516110a281614a5f565b6000602082840312156156a457600080fd5b81516110a281614d15565b6060815260006156c260608301866154bf565b90506001600160a01b038416602083015260ff83166040830152949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b8481526fffffffffffffffffffffffffffffffff84166020820152606060408201526000610ba0606083018486615476565b65ffffffffffff8281168282160390808211156153c7576153c7615377565b6020815260006110a260208301846154bf565b8183823760009101908152919050565b60005b838110156157a257818101518382015260200161578a565b50506000910152565b60ff8816815260006001600160a01b03808916602084015280881660408401525085606083015260c060808301526157e760c083018587615476565b82810360a08401528351808252615805816020840160208801615787565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016016020019998505050505050505050565b61ffff8181168382160190808211156153c7576153c7615377565b6020810160078310615891577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b91905290565b6fffffffffffffffffffffffffffffffff8181168382160190808211156153c7576153c7615377565b6000602082840312156158d257600080fd5b81356110a281614a5f565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261591257600080fd5b83018035915067ffffffffffffffff82111561592d57600080fd5b6020019150368190038213156121c657600080fd5b60006020828403121561595457600080fd5b815167ffffffffffffffff81111561596b57600080fd5b8201601f8101841361597c57600080fd5b805161598a614e7282614e0d565b81815285602083850101111561599f57600080fd5b6155a9826020830160208601615787565b6000826159e6577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b50049056fea164736f6c6343000817000a", + "nonce": "0x0", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x5b186110f6dba4c101f412b9927527faec9c81ec5b582f4d36e39e9b8914a44a", + "transactionType": "CREATE", + "contractName": "LlamaTokenVotingFactory", + "contractAddress": "0xFBE17545dffD75A92A5A72926AE581478973FE65", + "function": null, + "arguments": [ + "0x3f3DAB3ab8cEc2FBd06767c2A5F66Cb6BFF21A4A" + ], + "transaction": { + "type": "0x02", + "from": "0xb72276d9ff15c7998b9962ffcfb21a6c7249441b", + "gas": "0xc9127", + "value": "0x0", + "data": "0x60a060405234801561001057600080fd5b50604051610b16380380610b1683398101604081905261002f91610040565b6001600160a01b0316608052610070565b60006020828403121561005257600080fd5b81516001600160a01b038116811461006957600080fd5b9392505050565b608051610a8561009160003960008181604001526104390152610a856000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c806321618ea41461003b5780633ec857a51461008b575b600080fd5b6100627f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b61006261009936600461087b565b600080338360000151846040015185606001516040516020016100bf9493929190610959565b60405160208183030381529060405280519060200120905060006100e7846020015183610622565b60408086015190517f439fab9100000000000000000000000000000000000000000000000000000000815291925073ffffffffffffffffffffffffffffffffffffffff83169163439fab919161013f916004016109b9565b6020604051808303816000875af115801561015e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101829190610a0a565b50600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1663fc0c546a6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156101e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061020a9190610a33565b73ffffffffffffffffffffffffffffffffffffffff1603610257576040517f65f5b03400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517fcdfda4dd00000000000000000000000000000000000000000000000000000000815242600482015273ffffffffffffffffffffffffffffffffffffffff82169063cdfda4dd90602401602060405180830381865afa1580156102c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102e59190610a50565b65ffffffffffff16600003610326576040517f65f5b03400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff166391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865afa158015610371573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103959190610a50565b65ffffffffffff166000036103d6576040517f65f5b03400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1663ae2a6df26040518163ffffffff1660e01b815260040160006040518083038186803b15801561041c57600080fd5b505afa158015610430573d6000803e3d6000fd5b5050505061045e7f000000000000000000000000000000000000000000000000000000000000000083610622565b8451608086015160a0870151604080517f8734852a00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff948516600482015286851660248201526044810193909352815161ffff908116606485015260208301518116608485015290820151811660a48401526060909101511660c4820152919450841690638734852a9060e401600060405180830381600087803b15801561051757600080fd5b505af115801561052b573d6000803e3d6000fd5b505050508073ffffffffffffffffffffffffffffffffffffffff1663fc0c546a6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561057a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061059e9190610a33565b84516020808701516060808901516040805173ffffffffffffffffffffffffffffffffffffffff94851681528885169581019590955284015287821690830152466080830152928316929091169033907f4c8bb78cb1c62e64cef39fc4b4a1864d1a331a28c7bd59a67fe969cc8ab715879060a00160405180910390a45050919050565b6000763d602d80600a3d3981f3363d3d373d3d3d363d730000008360601b60e81c176000526e5af43d82803e903d91602b57fd5bf38360781b1760205281603760096000f5905073ffffffffffffffffffffffffffffffffffffffff81166106b6576040517fc2f868f400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405160c0810167ffffffffffffffff8111828210171561070e5761070e6106bc565b60405290565b73ffffffffffffffffffffffffffffffffffffffff8116811461073657600080fd5b50565b600082601f83011261074a57600080fd5b813567ffffffffffffffff80821115610765576107656106bc565b604051601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011681019082821181831017156107ab576107ab6106bc565b816040528381528660208588010111156107c457600080fd5b836020870160208301376000602085830101528094505050505092915050565b803561ffff811681146107f657600080fd5b919050565b60006080828403121561080d57600080fd5b6040516080810181811067ffffffffffffffff82111715610830576108306106bc565b60405290508061083f836107e4565b815261084d602084016107e4565b602082015261085e604084016107e4565b604082015261086f606084016107e4565b60608201525092915050565b60006020828403121561088d57600080fd5b813567ffffffffffffffff808211156108a557600080fd5b9083019061012082860312156108ba57600080fd5b6108c26106eb565b82356108cd81610714565b815260208301356108dd81610714565b60208201526040830135828111156108f457600080fd5b61090087828601610739565b60408301525060608301356060820152608083013560808201526109278660a085016107fb565b60a082015295945050505050565b60005b83811015610950578181015183820152602001610938565b50506000910152565b60007fffffffffffffffffffffffffffffffffffffffff000000000000000000000000808760601b168352808660601b1660148401525083516109a3816028850160208801610935565b6028920191820192909252604801949350505050565b60208152600082518060208401526109d8816040850160208701610935565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169190910160400192915050565b600060208284031215610a1c57600080fd5b81518015158114610a2c57600080fd5b9392505050565b600060208284031215610a4557600080fd5b8151610a2c81610714565b600060208284031215610a6257600080fd5b815165ffffffffffff81168114610a2c57600080fdfea164736f6c6343000817000a0000000000000000000000003f3dab3ab8cec2fbd06767c2a5f66cb6bff21a4a", + "nonce": "0x1", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xf45e2292936d271718f1f85c5ac46a6fc8c9d25eff4d2129343363a526ab496b", + "transactionType": "CREATE", + "contractName": "LlamaTokenAdapterVotesTimestamp", + "contractAddress": "0x088C268cb00226D6A9b29e5488905Aa94D2f0239", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0xb72276d9ff15c7998b9962ffcfb21a6c7249441b", + "gas": "0x10d28c", + "value": "0x0", + "data": "0x608060405234801561001057600080fd5b5061001961001e565b6100d0565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff161561006e5760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b03908116146100cd5780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b610df5806100df6000396000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c8063ae2a6df21161005b578063ae2a6df21461010a578063cdfda4dd14610114578063edb8ee5a14610127578063fc0c546a1461013a57600080fd5b8063439fab911461008d5780634bf5d7e9146100b557806391ddadf4146100ca5780639556de73146100e9575b600080fd5b6100a061009b3660046108e4565b61017f565b60405190151581526020015b60405180910390f35b6100bd6103a1565b6040516100ac9190610988565b6100d261042f565b60405165ffffffffffff90911681526020016100ac565b6100fc6100f7366004610a12565b6104e9565b6040519081526020016100ac565b610112610593565b005b6100d2610122366004610a4b565b6105ef565b6100fc610135366004610a64565b610600565b60005461015a9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100ac565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0080546000919068010000000000000000810460ff16159067ffffffffffffffff1683811580156101cd5750825b905060008267ffffffffffffffff1660011480156101ea5750303b155b9050811580156101f8575080155b1561022f576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b84547fffffffffffffffffffffffffffffffffffffffffffffffff000000000000000016600117855583156102905784547fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff16680100000000000000001785555b6000878060200190518101906102a69190610a81565b8051600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff90921691909117905560408051808201909152600e81527f6d6f64653d74696d657374616d7000000000000000000000000000000000000060208201529091506001906103309082610b71565b50600196505083156103975784547fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b5050505050919050565b600180546103ae90610acd565b80601f01602080910402602001604051908101604052809291908181526020018280546103da90610acd565b80156104275780601f106103fc57610100808354040283529160200191610427565b820191906000526020600020905b81548152906001019060200180831161040a57829003601f168201915b505050505081565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156104d7575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682019092526104d491810190610c8b565b60015b6104e4576104e44261069b565b905090565b600080546040517f3a46b1a800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff858116600483015265ffffffffffff8516602483015290911690633a46b1a890604401602060405180830381865afa158015610568573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061058c9190610ca8565b9392505050565b600061059d6106e8565b905060006105a9610712565b905081806105b45750805b156105eb576040517f6ff0714000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050565b60006105fa8261069b565b92915050565b600080546040517f8e539e8c00000000000000000000000000000000000000000000000000000000815265ffffffffffff8416600482015273ffffffffffffffffffffffffffffffffffffffff90911690638e539e8c90602401602060405180830381865afa158015610677573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105fa9190610ca8565b600065ffffffffffff8211156106e4576040517fc0188c4f0000000000000000000000000000000000000000000000000000000081526004810183905260240160405180910390fd5b5090565b60006106f34261069b565b65ffffffffffff1661070361042f565b65ffffffffffff161415905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16634bf5d7e96040518163ffffffff1660e01b8152600401600060405180830381865afa9250505080156107bf57506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526107bc9190810190610cc1565b60015b6107c95750600090565b60016040516020016107db9190610d38565b60405160208183030381529060405280519060200120816040516020016108029190610dcc565b60405160208183030381529060405280519060200120141591505090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff8111828210171561089657610896610820565b604052919050565b600067ffffffffffffffff8211156108b8576108b8610820565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b6000602082840312156108f657600080fd5b813567ffffffffffffffff81111561090d57600080fd5b8201601f8101841361091e57600080fd5b803561093161092c8261089e565b61084f565b81815285602083850101111561094657600080fd5b81602084016020830137600091810160200191909152949350505050565b60005b8381101561097f578181015183820152602001610967565b50506000910152565b60208152600082518060208401526109a7816040850160208701610964565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169190910160400192915050565b73ffffffffffffffffffffffffffffffffffffffff811681146109fb57600080fd5b50565b65ffffffffffff811681146109fb57600080fd5b60008060408385031215610a2557600080fd5b8235610a30816109d9565b91506020830135610a40816109fe565b809150509250929050565b600060208284031215610a5d57600080fd5b5035919050565b600060208284031215610a7657600080fd5b813561058c816109fe565b600060208284031215610a9357600080fd5b6040516020810181811067ffffffffffffffff82111715610ab657610ab6610820565b6040528251610ac4816109d9565b81529392505050565b600181811c90821680610ae157607f821691505b602082108103610b1a577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b601f821115610b6c576000816000526020600020601f850160051c81016020861015610b495750805b601f850160051c820191505b81811015610b6857828155600101610b55565b5050505b505050565b815167ffffffffffffffff811115610b8b57610b8b610820565b610b9f81610b998454610acd565b84610b20565b602080601f831160018114610bf25760008415610bbc5750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b178555610b68565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b82811015610c3f57888601518255948401946001909101908401610c20565b5085821015610c7b57878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b600060208284031215610c9d57600080fd5b815161058c816109fe565b600060208284031215610cba57600080fd5b5051919050565b600060208284031215610cd357600080fd5b815167ffffffffffffffff811115610cea57600080fd5b8201601f81018413610cfb57600080fd5b8051610d0961092c8261089e565b818152856020838501011115610d1e57600080fd5b610d2f826020830160208601610964565b95945050505050565b6000808354610d4681610acd565b60018281168015610d5e5760018114610d9157610dc0565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0084168752821515830287019450610dc0565b8760005260208060002060005b85811015610db75781548a820152908401908201610d9e565b50505082870194505b50929695505050505050565b60008251610dde818460208701610964565b919091019291505056fea164736f6c6343000817000a", + "nonce": "0x2", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0xa55e424bce783294f3bb68dd6f7d2f6781c8cbf4cc62d109d9ccf6679a1fc1d8", + "transactionIndex": "0x38", + "blockHash": "0x9c456e92699a51cea4709a73ff494dd71645988d84cf3f489f4e11bce3c3b5a6", + "blockNumber": "0x121b155", + "from": "0xb72276D9FF15c7998b9962FFCfB21A6C7249441B", + "to": null, + "cumulativeGasUsed": "0x9aaace", + "gasUsed": "0x4ca2c1", + "contractAddress": "0x3f3DAB3ab8cEc2FBd06767c2A5F66Cb6BFF21A4A", + "logs": [ + { + "address": "0x3f3DAB3ab8cEc2FBd06767c2A5F66Cb6BFF21A4A", + "topics": [ + "0xc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2" + ], + "data": "0x000000000000000000000000000000000000000000000000ffffffffffffffff", + "blockHash": "0x9c456e92699a51cea4709a73ff494dd71645988d84cf3f489f4e11bce3c3b5a6", + "blockNumber": "0x121b155", + "transactionHash": "0xa55e424bce783294f3bb68dd6f7d2f6781c8cbf4cc62d109d9ccf6679a1fc1d8", + "transactionIndex": "0x38", + "logIndex": "0x73", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000800000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0x76cec9c92" + }, + { + "transactionHash": "0x5b186110f6dba4c101f412b9927527faec9c81ec5b582f4d36e39e9b8914a44a", + "transactionIndex": "0x39", + "blockHash": "0x9c456e92699a51cea4709a73ff494dd71645988d84cf3f489f4e11bce3c3b5a6", + "blockNumber": "0x121b155", + "from": "0xb72276D9FF15c7998b9962FFCfB21A6C7249441B", + "to": null, + "cumulativeGasUsed": "0xa4563e", + "gasUsed": "0x9ab70", + "contractAddress": "0xFBE17545dffD75A92A5A72926AE581478973FE65", + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0x76cec9c92" + }, + { + "transactionHash": "0xf45e2292936d271718f1f85c5ac46a6fc8c9d25eff4d2129343363a526ab496b", + "transactionIndex": "0x3a", + "blockHash": "0x9c456e92699a51cea4709a73ff494dd71645988d84cf3f489f4e11bce3c3b5a6", + "blockNumber": "0x121b155", + "from": "0xb72276D9FF15c7998b9962FFCfB21A6C7249441B", + "to": null, + "cumulativeGasUsed": "0xb147e7", + "gasUsed": "0xcf1a9", + "contractAddress": "0x088C268cb00226D6A9b29e5488905Aa94D2f0239", + "logs": [ + { + "address": "0x088C268cb00226D6A9b29e5488905Aa94D2f0239", + "topics": [ + "0xc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2" + ], + "data": "0x000000000000000000000000000000000000000000000000ffffffffffffffff", + "blockHash": "0x9c456e92699a51cea4709a73ff494dd71645988d84cf3f489f4e11bce3c3b5a6", + "blockNumber": "0x121b155", + "transactionHash": "0xf45e2292936d271718f1f85c5ac46a6fc8c9d25eff4d2129343363a526ab496b", + "transactionIndex": "0x3a", + "logIndex": "0x74", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000800000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000008000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0x76cec9c92" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1704995794, + "chain": 1, + "multi": false, + "commit": "688208a" +} \ No newline at end of file diff --git a/broadcast/DeployLlamaTokenVotingFactory.s.sol/1/run-latest.json b/broadcast/DeployLlamaTokenVotingFactory.s.sol/1/run-latest.json new file mode 100644 index 0000000..6552f2b --- /dev/null +++ b/broadcast/DeployLlamaTokenVotingFactory.s.sol/1/run-latest.json @@ -0,0 +1,148 @@ +{ + "transactions": [ + { + "hash": "0xa55e424bce783294f3bb68dd6f7d2f6781c8cbf4cc62d109d9ccf6679a1fc1d8", + "transactionType": "CREATE", + "contractName": "LlamaTokenGovernor", + "contractAddress": "0x3f3DAB3ab8cEc2FBd06767c2A5F66Cb6BFF21A4A", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0xb72276d9ff15c7998b9962ffcfb21a6c7249441b", + "gas": "0x6398ff", + "value": "0x0", + "data": "0x60806040523480156200001157600080fd5b506200001c62000022565b620000d6565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff1615620000735760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b0390811614620000d35780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b6159f880620000e66000396000f3fe608060405234801561001057600080fd5b50600436106101da5760003560e01c80637e4a56bb11610104578063b92cdd9a116100a2578063cae3bdff11610071578063cae3bdff1461053d578063dcae21b714610552578063e45061ea14610565578063e5589b9d1461057857600080fd5b8063b92cdd9a146104e4578063b9b2cf6c146104f7578063c193c2691461050a578063c26c12eb1461053557600080fd5b80638734852a116100de5780638734852a1461049857806396ff6e2e146104ab578063a1d9b412146104be578063b3c678b0146104d157600080fd5b80637e4a56bb1461046a5780637ed7238e14610472578063807ad1141461048557600080fd5b80633fed8f161161017c57806359e5332d1161014b57806359e5332d1461036457806364f6b3161461037b5780637186dd9c1461038e57806374f717cd1461044757600080fd5b80633fed8f16146103165780634d61ebf4146103365780634ec0ab1c1461033e578063509c5fbd1461035157600080fd5b806319a39740116101b857806319a397401461025b5780631e127ddf1461026e578063372fa8e8146102c25780633df91222146102d557600080fd5b80630669b1ce146101df57806311f900b5146101f45780631650080714610227575b600080fd5b6101f26101ed366004614a11565b61058b565b005b610207610202366004614a46565b610b79565b6040805161ffff9384168152929091166020830152015b60405180910390f35b61023a610235366004614ac0565b610b90565b6040516fffffffffffffffffffffffffffffffff909116815260200161021e565b6101f2610269366004614a46565b610baa565b6101f261027c366004614b82565b3360009081526007602090815260408083207fffffffff000000000000000000000000000000000000000000000000000000009490941683529290522080546001019055565b6101f26102d0366004614bbd565b610c75565b6102fe6102e3366004614a46565b6005602052600090815260409020546001600160a01b031681565b6040516001600160a01b03909116815260200161021e565b610329610324366004614c31565b610d76565b60405161021e9190614c53565b610207610f4e565b6101f261034c366004614ce2565b610f63565b61023a61035f366004614ac0565b611030565b61036d60025481565b60405190815260200161021e565b6000546102fe906001600160a01b031681565b6103fc61039c366004614a46565b6006602052600090815260409020805460018201546002909201546fffffffffffffffffffffffffffffffff8083169370010000000000000000000000000000000093849004821693818316939181900483169282811692919091041686565b604080516fffffffffffffffffffffffffffffffff978816815295871660208701529386169385019390935290841660608401528316608083015290911660a082015260c00161021e565b61045a610455366004614d23565b611040565b604051901515815260200161021e565b6103296110a9565b61036d610480366004614ea9565b61114c565b6001546102fe906001600160a01b031681565b6101f26104a6366004614f88565b611263565b61023a6104b9366004615066565b6114b5565b61023a6104cc366004615066565b6115c6565b61036d6104df366004615131565b6116c7565b6101f26104f2366004614a11565b61171c565b6101f2610505366004614ce2565b611726565b61036d6105183660046151e2565b600760209081526000928352604080842090915290825290205481565b6102076117ef565b6105456117fc565b60405161021e919061520e565b610545610560366004614c31565b61188f565b6101f2610573366004614a11565b611a4d565b610207610586366004614a46565b612026565b600080546040517fb6e76873000000000000000000000000000000000000000000000000000000008152833560048201526001600160a01b039091169063b6e768739060240161012060405180830381865afa1580156105ef573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061061391906152c8565b9050600060018260a0015161062891906153a6565b67ffffffffffffffff169050600160009054906101000a90046001600160a01b03166001600160a01b031663ae2a6df26040518163ffffffff1660e01b815260040160006040518083038186803b15801561068257600080fd5b505afa158015610696573d6000803e3d6000fd5b505050506000806000806106b485600461203490919063ffffffff16565b909250905060006106cb6080890160608a016153ce565b6001600160a01b031663b02bd9206040518163ffffffff1660e01b8152600401602060405180830381865afa158015610708573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061072c91906153eb565b67ffffffffffffffff16905061271061ffff8416820204818860c0015167ffffffffffffffff16030194506127108261ffff1682028161076e5761076e615406565b04850193508342116107ac576040517f038d8a6a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8660c0015167ffffffffffffffff1642106107f3576040517f08c8d62700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050843560009081526006602052604080822060015491517fcdfda4dd000000000000000000000000000000000000000000000000000000008152600481018690529092916001600160a01b03169063edb8ee5a90829063cdfda4dd90602401602060405180830381865afa158015610871573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108959190615435565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b16815265ffffffffffff9091166004820152602401602060405180830381865afa1580156108f0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610914919061545d565b600183015460028401549192506fffffffffffffffffffffffffffffffff7001000000000000000000000000000000009182900481169291820481169116600061095f60038a6121cd565b9150506000610975868361ffff166127106122d8565b905080856fffffffffffffffffffffffffffffffff1610156109e3576040517fbfb9aa550000000000000000000000000000000000000000000000000000000081526fffffffffffffffffffffffffffffffff86166004820152602481018290526044015b60405180910390fd5b836fffffffffffffffffffffffffffffffff16856fffffffffffffffffffffffffffffffff1611610a5c576040517f8a0df63f0000000000000000000000000000000000000000000000000000000081526fffffffffffffffffffffffffffffffff8087166004830152851660248201526044016109da565b6000610a7b8d6060016020810190610a7491906153ce565b600061231c565b905060008054906101000a90046001600160a01b03166001600160a01b03166394004706828f6040518363ffffffff1660e01b8152600401610abe9291906155b2565b6020604051808303816000875af1158015610add573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b0191906155e8565b50604080518e3581526fffffffffffffffffffffffffffffffff808916602083015280881692820192909252908516606082015260ff82169033907ff5bc433f16cc3d0e9fcb5ac4f8de9f17eb90de1fd2a9ede5952c2097d4ef1a59906080015b60405180910390a350505050505050505050505050565b600080610b87600484612034565b91509150915091565b6000610ba0338787878787612612565b9695505050505050565b60008054906101000a90046001600160a01b03166001600160a01b031663c34c08e56040518163ffffffff1660e01b8152600401602060405180830381865afa158015610bfb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c1f9190615603565b6001600160a01b0316336001600160a01b031614610c69576040517f26bee1ce00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610c7281612c5e565b50565b6000610c818686612e2e565b6040805160008082526020820180845284905260ff88169282019290925260608101869052608081018590529192509060019060a0016020604051602081039080840390855afa158015610cd9573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001519150506001600160a01b0381161580610d2c5750866001600160a01b0316816001600160a01b031614155b15610d63576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610d6d8187612f50565b50505050505050565b60408051602081019091526060815281831115610dbf576040517f2cd4dad300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60045480831115610dfc576040517f2cd4dad300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610e088585615620565b905060008167ffffffffffffffff811115610e2557610e25614d65565b604051908082528060200260200182016040528015610e8e57816020015b60408051606081018252600080825260208083018290529282015282527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff909201910181610e435790505b509050855b85811015610f34576004805482908110610eaf57610eaf615633565b600091825260209182902060408051606081018252919092015465ffffffffffff8116825261ffff660100000000000082048116948301949094526801000000000000000090049092169082015282610f088984615620565b81518110610f1857610f18615633565b6020026020010181905250610f2d8160010190565b9050610e93565b506040805160208101909152908152925050505b92915050565b600080610f5b6004613063565b915091509091565b60008054906101000a90046001600160a01b03166001600160a01b031663c34c08e56040518163ffffffff1660e01b8152600401602060405180830381865afa158015610fb4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fd89190615603565b6001600160a01b0316336001600160a01b031614611022576040517f26bee1ce00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61102c82826130db565b5050565b6000610ba03387878787876131cf565b60008115611077575060008381526006602090815260408083206001600160a01b038616845260030190915290205460ff166110a2565b5060008381526006602090815260408083206001600160a01b038616845260040190915290205460ff165b9392505050565b6040805160208101909152606081526040805160048054602081810284018501855283018181529293919284929091849160009085015b8282101561113f576000848152602090819020604080516060810182529185015465ffffffffffff8116835261ffff660100000000000082048116848601526801000000000000000090910416908201528252600190920191016110e0565b5050505081525050905090565b60008061115f8d8d8d8d8d8d8d8d613714565b6040805160008082526020820180845284905260ff89169282019290925260608101879052608081018690529192509060019060a0016020604051602081039080840390855afa1580156111b7573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001519150506001600160a01b038116158061120a57508d6001600160a01b0316816001600160a01b031614155b15611241576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611251818e8e8e8e8e8e8e613885565b9e9d5050505050505050505050505050565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000810460ff16159067ffffffffffffffff166000811580156112ae5750825b905060008267ffffffffffffffff1660011480156112cb5750303b155b9050811580156112d9575080155b15611310576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b84547fffffffffffffffffffffffffffffffffffffffffffffffff000000000000000016600117855583156113715784547fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff16680100000000000000001785555b886001600160a01b0316639bccfe496040518163ffffffff1660e01b8152600401602060405180830381865afa1580156113af573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113d3919061545d565b50600080546001600160a01b03808c167fffffffffffffffffffffffff00000000000000000000000000000000000000009283161790925560018054928b169290911691909117905561142587612c5e565b611437866000015187602001516130db565b61144986604001518760600151613b89565b83156114aa5784547fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b505050505050505050565b6000806114c68b8b8b8b8b8b613c26565b6040805160008082526020820180845284905260ff89169282019290925260608101879052608081018690529192509060019060a0016020604051602081039080840390855afa15801561151e573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001519150506001600160a01b038116158061157157508b6001600160a01b0316816001600160a01b031614155b156115a8576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6115b6818c8c8c8c8c6131cf565b9c9b505050505050505050505050565b6000806115d78b8b8b8b8b8b613d84565b6040805160008082526020820180845284905260ff89169282019290925260608101879052608081018690529192509060019060a0016020604051602081039080840390855afa15801561162f573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001519150506001600160a01b038116158061168257508b6001600160a01b0316816001600160a01b031614155b156116b9576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6115b6818c8c8c8c8c612612565b600061170f338a8a8a8a8a8a8a8a8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061388592505050565b9998505050505050505050565b610c723382612f50565b60008054906101000a90046001600160a01b03166001600160a01b031663c34c08e56040518163ffffffff1660e01b8152600401602060405180830381865afa158015611777573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061179b9190615603565b6001600160a01b0316336001600160a01b0316146117e5576040517f26bee1ce00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61102c8282613b89565b600080610f5b6003613063565b604080516020810190915260608152604080516003805460208082028401850185528301818152929391928492909184916000908501821561113f576000848152602090819020604080516060810182529185015465ffffffffffff8116835261ffff660100000000000082048116848601526801000000000000000090910416908201528252600190920191016110e0565b604080516020810190915260608152818311156118d8576040517f2cd4dad300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60035480831115611915576040517f2cd4dad300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006119218585615620565b905060008167ffffffffffffffff81111561193e5761193e614d65565b6040519080825280602002602001820160405280156119a757816020015b60408051606081018252600080825260208083018290529282015282527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90920191018161195c5790505b509050855b85811015610f345760038054829081106119c8576119c8615633565b600091825260209182902060408051606081018252919092015465ffffffffffff8116825261ffff660100000000000082048116948301949094526801000000000000000090049092169082015282611a218984615620565b81518110611a3157611a31615633565b6020026020010181905250611a468160010190565b90506119ac565b600080546040517fb6e76873000000000000000000000000000000000000000000000000000000008152833560048201526001600160a01b039091169063b6e768739060240161012060405180830381865afa158015611ab1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ad591906152c8565b9050600060018260a00151611aea91906153a6565b67ffffffffffffffff169050600160009054906101000a90046001600160a01b03166001600160a01b031663ae2a6df26040518163ffffffff1660e01b815260040160006040518083038186803b158015611b4457600080fd5b505afa158015611b58573d6000803e3d6000fd5b50505050600080600080611b7685600461203490919063ffffffff16565b90925090506000611b8d6080890160608a016153ce565b6001600160a01b0316637999762c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611bca573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bee91906153eb565b67ffffffffffffffff16905061271061ffff84168202048760a0015167ffffffffffffffff160194506127108261ffff16820281611c2e57611c2e615406565b0485019350834211611c6c576040517f038d8a6a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b808760a0015167ffffffffffffffff16611c869190615662565b421115611cbf576040517f08c8d62700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050843560009081526006602052604080822060015491517fcdfda4dd000000000000000000000000000000000000000000000000000000008152600481018690529092916001600160a01b03169063edb8ee5a90829063cdfda4dd90602401602060405180830381865afa158015611d3d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d619190615435565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b16815265ffffffffffff9091166004820152602401602060405180830381865afa158015611dbc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611de0919061545d565b825460018401549192506fffffffffffffffffffffffffffffffff808216928116917001000000000000000000000000000000009004166000611e2460038a6121cd565b5090506000611e3a868361ffff166127106122d8565b905080856fffffffffffffffffffffffffffffffff161015611ea3576040517f0425fab10000000000000000000000000000000000000000000000000000000081526fffffffffffffffffffffffffffffffff86166004820152602481018290526044016109da565b836fffffffffffffffffffffffffffffffff16856fffffffffffffffffffffffffffffffff1611611f1c576040517f8a0df63f0000000000000000000000000000000000000000000000000000000081526fffffffffffffffffffffffffffffffff8087166004830152851660248201526044016109da565b6000611f3b8d6060016020810190611f3491906153ce565b600161231c565b905060008054906101000a90046001600160a01b03166001600160a01b03166389e7d126828f6040518363ffffffff1660e01b8152600401611f7e9291906155b2565b6020604051808303816000875af1158015611f9d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fc191906155e8565b50604080518e3581526fffffffffffffffffffffffffffffffff808916602083015280881692820192909252908516606082015260ff82169033907ff23279e924757f3bfe4f543bc1b43685e851d6ace53f8518b806dcd8d42fc13990608001610b62565b600080610b876003846121cd565b6000804283106120c6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f506572696f64506374436865636b706f696e74733a2074696d657374616d702060448201527f6973206e6f7420696e207468652070617374000000000000000000000000000060648201526084016109da565b60006120d184613db3565b855490915060008160058111156121315760006120ed84613dfc565b6120f79085615620565b60008a81526020902090915081015465ffffffffffff90811690861610156121215780915061212f565b61212c816001615662565b92505b505b600061213f89868585613eae565b90508060000361215a576000809650965050505050506121c6565b60006121798a61216b600185615620565b600091825260209091200190565b60408051606081018252915465ffffffffffff8116835261ffff66010000000000008204811660208501819052680100000000000000009092041692909101829052985096505050505050505b9250929050565b60008042831061225f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602f60248201527f51756f72756d436865636b706f696e74733a2074696d657374616d702069732060448201527f6e6f7420696e207468652070617374000000000000000000000000000000000060648201526084016109da565b600061226a84613db3565b855490915060008160058111156122ca57600061228684613dfc565b6122909085615620565b60008a81526020902090915081015465ffffffffffff90811690861610156122ba578091506122c8565b6122c5816001615662565b92505b505b600061213f89868585613f10565b6000827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048411830215820261230d57600080fd5b50910281810615159190040190565b60008054604080517f0505c8c9000000000000000000000000000000000000000000000000000000008152905183926001600160a01b031691630505c8c99160048083019260209291908290030181865afa15801561237f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123a39190615603565b6001600160a01b0316638b2ed3886040518163ffffffff1660e01b8152600401602060405180830381865afa1580156123e0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124049190615675565b905060015b8160ff16811161253b57836124a1576040517fc167ebae00000000000000000000000000000000000000000000000000000000815260ff821660048201526001600160a01b0386169063c167ebae90602401602060405180830381865afa158015612478573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061249c9190615692565b612525565b6040517ffb847c4300000000000000000000000000000000000000000000000000000000815260ff821660048201526001600160a01b0386169063fb847c4390602401602060405180830381865afa158015612501573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125259190615692565b15612533579150610f489050565b600101612409565b50826125a857836001600160a01b03166312a52f006040518163ffffffff1660e01b8152600401602060405180830381865afa15801561257f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125a39190615675565b61260a565b836001600160a01b03166366cacdc96040518163ffffffff1660e01b8152600401602060405180830381865afa1580156125e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061260a9190615675565b949350505050565b600080546040517fb6e768730000000000000000000000000000000000000000000000000000000081528635600482015282916001600160a01b03169063b6e768739060240161012060405180830381865afa158015612676573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061269a91906152c8565b9050600060018260a001516126af91906153a6565b8735600090815260066020526040902067ffffffffffffffff9190911691506126de6080890160608a016153ce565b6001600160a01b03166302674e4b89308c6040518463ffffffff1660e01b815260040161270d939291906156af565b60006040518083038186803b15801561272557600080fd5b505afa158015612739573d6000803e3d6000fd5b505050506001600160a01b038a16600090815260048201602052604090205460ff1615612792576040517f9dd6544b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6127a0888a89600486613f6a565b60008080806127b0600487612034565b909250905060006127c760808e0160608f016153ce565b6001600160a01b031663b02bd9206040518163ffffffff1660e01b8152600401602060405180830381865afa158015612804573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061282891906153eb565b67ffffffffffffffff16905061271061ffff8416820204818960c0015167ffffffffffffffff16030194506127108261ffff1682028161286a5761286a615406565b04850193508442116128a8576040517fd0b72b4900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b834211156128e2576040517f5b73d19300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050506000612a25600160009054906101000a90046001600160a01b03166001600160a01b0316639556de738f600160009054906101000a90046001600160a01b03166001600160a01b031663cdfda4dd886040518263ffffffff1660e01b815260040161295291815260200190565b602060405180830381865afa15801561296f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906129939190615435565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b1681526001600160a01b03909216600483015265ffffffffffff166024820152604401602060405180830381865afa1580156129fc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a20919061545d565b61425e565b905060ff8a16612a9e576002840154612a649070010000000000000000000000000000000090046fffffffffffffffffffffffffffffffff16826142ad565b6002850180546fffffffffffffffffffffffffffffffff928316700100000000000000000000000000000000029216919091179055612bc6565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60ff8b1601612b37576001840154612afd9070010000000000000000000000000000000090046fffffffffffffffffffffffffffffffff16826142ad565b6001850180546fffffffffffffffffffffffffffffffff928316700100000000000000000000000000000000029216919091179055612bc6565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe60ff8b1601612bc6576002840154612b82906fffffffffffffffffffffffffffffffff16826142ad565b6002850180547fffffffffffffffffffffffffffffffff00000000000000000000000000000000166fffffffffffffffffffffffffffffffff929092169190911790555b6001600160a01b038d1660008181526004860160205260409081902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790555160ff8c1691907f4e3e2ad68670a2709cb408c31c5afd8da0b6d3d06c75b11feb404a455639fe7c90612c46908f359086908f908f90615713565b60405180910390a39c9b505050505050505050505050565b60018054604080517f91ddadf400000000000000000000000000000000000000000000000000000000815290516000936001600160a01b039093169263edb8ee5a92909184916391ddadf49160048083019260209291908290030181865afa158015612cce573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612cf29190615435565b612cfc9190615745565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b16815265ffffffffffff9091166004820152602401602060405180830381865afa158015612d57573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612d7b919061545d565b905080600003612db7576040517f34bbd58500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80821115612df1576040517f8a5e746800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60028290556040518281527fd91a985c173545ab0e0bd11c021a1ae84c1ea6eab9350d9bf3812d5b8bff49a4906020015b60405180910390a15050565b6000807f6da9390b4f29da2c44fa5a9da00b392393d01e989d16e4a3dec5a538318e352584612e5c856142f4565b6001600160a01b03871660009081526007602090815260408083207fffffffff00000000000000000000000000000000000000000000000000000000843516845290915290208054600181019091556040805160208101959095526001600160a01b03909316928401929092526060830152608082015260a001604051602081830303815290604052805190602001209050612ef66143eb565b6040517f190100000000000000000000000000000000000000000000000000000000000060208201526022810191909152604281018290526062016040516020818303038152906040528051906020012091505092915050565b80356000908152600560205260409020546001600160a01b03838116911614612fa5576040517f86ba025600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000546040517fb92cdd9a0000000000000000000000000000000000000000000000000000000081526001600160a01b039091169063b92cdd9a90612fee908490600401615764565b600060405180830381600087803b15801561300857600080fd5b505af115801561301c573d6000803e3d6000fd5b5050604051833581526001600160a01b03851692507fdcccc5725b7256a6975da00de8953e5d326756a3079d203ff6df9e52331f411a915060200160405180910390a25050565b8054600090819080820361307d5750600093849350915050565b600061308e8561216b600185615620565b60408051606081018252915465ffffffffffff8116835261ffff66010000000000008204811660208501819052680100000000000000009092041692909101829052969095509350505050565b6127108261ffff1611806130f1575061ffff8216155b1561312e576040517f8f6febc000000000000000000000000000000000000000000000000000000000815261ffff831660048201526024016109da565b6127108161ffff161180613144575061ffff8116155b15613181576040517f3bec511c00000000000000000000000000000000000000000000000000000000815261ffff821660048201526024016109da565b613194600361ffff80851690841661454d565b6040805161ffff8085168252831660208201527f77c3f43700db02acb49792bbf699b39f72c2ed4b920bd5c0b1843dcd7c832f4c9101612e22565b600080546040517fb6e768730000000000000000000000000000000000000000000000000000000081528635600482015282916001600160a01b03169063b6e768739060240161012060405180830381865afa158015613233573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061325791906152c8565b9050600060018260a0015161326c91906153a6565b8735600090815260066020526040902067ffffffffffffffff91909116915061329b6080890160608a016153ce565b6001600160a01b0316631a2a4e7789308c6040518463ffffffff1660e01b81526004016132ca939291906156af565b60006040518083038186803b1580156132e257600080fd5b505afa1580156132f6573d6000803e3d6000fd5b505050506001600160a01b038a16600090815260038201602052604090205460ff161561334f576040517f9dd6544b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61335d888a89600086613f6a565b600080808061336d600487612034565b9092509050600061338460808e0160608f016153ce565b6001600160a01b0316637999762c6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156133c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906133e591906153eb565b67ffffffffffffffff16905061271061ffff84168202048860a0015167ffffffffffffffff160194506127108261ffff1682028161342557613425615406565b0485019350844211613463576040517fd0b72b4900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8342111561349d576040517f5b73d19300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050600061350d600160009054906101000a90046001600160a01b03166001600160a01b0316639556de738f600160009054906101000a90046001600160a01b03166001600160a01b031663cdfda4dd886040518263ffffffff1660e01b815260040161295291815260200190565b905060ff8a16613580576001840154613538906fffffffffffffffffffffffffffffffff16826142ad565b6001850180547fffffffffffffffffffffffffffffffff00000000000000000000000000000000166fffffffffffffffffffffffffffffffff92909216919091179055613694565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60ff8b16016136095783546135c8906fffffffffffffffffffffffffffffffff16826142ad565b84547fffffffffffffffffffffffffffffffff00000000000000000000000000000000166fffffffffffffffffffffffffffffffff91909116178455613694565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe60ff8b16016136945783546136659070010000000000000000000000000000000090046fffffffffffffffffffffffffffffffff16826142ad565b84546fffffffffffffffffffffffffffffffff9182167001000000000000000000000000000000000291161784555b6001600160a01b038d1660008181526003860160205260409081902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790555160ff8c1691907f761cce3a1af5d9cfc0d57222f605ce4bd2be345f0ad9ebb7b83a84a91a0c201490612c46908f359086908f908f90615713565b6001600160a01b03881660009081526007602090815260408083207fffffffff000000000000000000000000000000000000000000000000000000008435168452909152812080546001810190915560007fd1fab1c7b3b37134662e5867b00e272eb49f7be0a890df29e802c3cc66c06f838b8b8b8b8b8b8b60405161379b929190615777565b604080519182900382208c516020808f0191909120908401999099526001600160a01b039788169183019190915260ff90951660608201529285166080840152931660a082015260c081019290925260e08201526101008101919091526101208101839052610140016040516020818303038152906040528051906020012090506138246143eb565b6040517f19010000000000000000000000000000000000000000000000000000000000006020820152602281019190915260428101829052606201604051602081830303815290604052805190602001209250505098975050505050505050565b600154604080517fae2a6df200000000000000000000000000000000000000000000000000000000815290516000926001600160a01b03169163ae2a6df29160048083019286929190829003018186803b1580156138e257600080fd5b505afa1580156138f6573d6000803e3d6000fd5b505060018054604080517f91ddadf40000000000000000000000000000000000000000000000000000000081529051600095506001600160a01b039092169350639556de73928e92909185916391ddadf4916004808201926020929091908290030181865afa15801561396d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906139919190615435565b61399b9190615745565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b1681526001600160a01b03909216600483015265ffffffffffff166024820152604401602060405180830381865afa158015613a04573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613a28919061545d565b9050600254811015613a69576040517f92665351000000000000000000000000000000000000000000000000000000008152600481018290526024016109da565b6000546040517fb3c678b00000000000000000000000000000000000000000000000000000000081526001600160a01b039091169063b3c678b090613abe908c908c908c908c908c908c908c906004016157ab565b6020604051808303816000875af1158015613add573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613b01919061545d565b60008181526005602090815260409182902080547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b038f16908117909155915183815292945090917f1834dfd49255741a8ce9a9bd66b91b64d13622e1d8170e4c78ac91f9ec50a542910160405180910390a25098975050505050505050565b612710613b96828461583b565b61ffff1610613bdf576040517f519dd38400000000000000000000000000000000000000000000000000000000815261ffff8084166004830152821660248201526044016109da565b613beb60048383614576565b6040805161ffff8085168252831660208201527f8df7bdcce333d9e1b85e40782fb2f293c805761d3f48aaea58865e9541e44c709101612e22565b6000807fd7be168a3509af358f222ee35ee76aba47bc5fc2c35061cdce3958f510b7b1b28888613c55896142f4565b888888604051613c66929190615777565b60408051918290039091206001600160a01b038f166000908152600760209081528382207fffffffff0000000000000000000000000000000000000000000000000000000083351683529052919091208054600181019091556040805160208101989098526001600160a01b039096169587019590955260ff938416606087015260808601929092529190911660a084015260c083015260e082015261010001604051602081830303815290604052805190602001209050613d266143eb565b6040517f19010000000000000000000000000000000000000000000000000000000000006020820152602281019190915260428101829052606201604051602081830303815290604052805190602001209150509695505050505050565b6000807fa87058c5a9888e7af4405a932381d5a4612c61354bc3e52e9ea361ba17703fb38888613c55896142f4565b600065ffffffffffff821115613df8576040517fc0188c4f000000000000000000000000000000000000000000000000000000008152600481018390526024016109da565b5090565b60b581710100000000000000000000000000000000008110613e235760409190911b9060801c5b69010000000000000000008110613e3f5760209190911b9060401c5b650100000000008110613e575760109190911b9060201c5b63010000008110613e6d5760089190911b9060101c5b62010000010260121c80820401600190811c80830401811c80830401811c80830401811c80830401811c80830401811c80830401901c908190048111900390565b60005b81831015613f08576000613ec584846145a2565b60008781526020902090915065ffffffffffff86169082015465ffffffffffff161115613ef457809250613f02565b613eff816001615662565b93505b50613eb1565b509392505050565b60005b81831015613f08576000613f2784846145a2565b60008781526020902090915065ffffffffffff86169082015465ffffffffffff161115613f5657809250613f64565b613f61816001615662565b93505b50613f13565b600260ff84161115613fad576040517ffe0e5d8b00000000000000000000000000000000000000000000000000000000815260ff841660048201526024016109da565b600080546040517fec12d8be0000000000000000000000000000000000000000000000000000000081526001600160a01b039091169063ec12d8be90613ff7908990600401615764565b602060405180830381865afa158015614014573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906140389190615675565b60ff16600681111561404c5761404c6156e4565b9050826006811115614060576140606156e4565b816006811115614072576140726156e4565b146140ab57806040517f87afe58e0000000000000000000000000000000000000000000000000000000081526004016109da9190615856565b60008060009054906101000a90046001600160a01b03166001600160a01b0316630505c8c96040518163ffffffff1660e01b8152600401602060405180830381865afa1580156140ff573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906141239190615603565b6040517fe0bec07600000000000000000000000000000000000000000000000000000000815230600482015260ff88166024820152604481018590526001600160a01b03919091169063e0bec07690606401602060405180830381865afa158015614192573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906141b69190615692565b9050806141ef576040517f88aebd1200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600160009054906101000a90046001600160a01b03166001600160a01b031663ae2a6df26040518163ffffffff1660e01b815260040160006040518083038186803b15801561423d57600080fd5b505afa158015614251573d6000803e3d6000fd5b5050505050505050505050565b60006fffffffffffffffffffffffffffffffff821115613df8576040517fc0188c4f000000000000000000000000000000000000000000000000000000008152600481018390526024016109da565b60006fffffffffffffffffffffffffffffffff6142ce838216858316615662565b106142ea57506fffffffffffffffffffffffffffffffff610f48565b6110a28284615897565b60007f86b4555c6e347ea3f038485b59b894986c208b67da7e65fcfa3707271608465f823561432960408501602086016153ce565b61433960608601604087016158c0565b61434960808701606088016153ce565b61435960a08801608089016153ce565b60a088013561436b60c08a018a6158dd565b604051614379929190615777565b6040805191829003822060208301999099528101969096526001600160a01b03948516606087015260ff909316608086015290831660a08501529190911660c083015260e082015261010081019190915261012001604051602081830303815290604052805190602001209050919050565b60008054604080517f06fdde0300000000000000000000000000000000000000000000000000000000815290517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f926001600160a01b0316916306fdde0391600480830192879291908290030181865afa15801561446d573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526144b39190810190615942565b8051602091820120604080518082018252600181527f310000000000000000000000000000000000000000000000000000000000000090840152805192830193909352918101919091527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a082015260c00160405160208183030381529060405280519060200120905090565b6145718361455a42613db3565b614563856145bd565b61456c856145bd565b6145fe565b505050565b6145718361458342613db3565b6145908561ffff166145bd565b61459d8561ffff166145bd565b614909565b60006145b160028484186159b0565b6110a290848416615662565b600061ffff821115613df8576040517fc0188c4f000000000000000000000000000000000000000000000000000000008152600481018390526024016109da565b835480156148475760006146178661216b600185615620565b60408051606081018252915465ffffffffffff80821680855261ffff66010000000000008404811660208701526801000000000000000090930490921692840192909252919250861610156146ed576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f51756f72756d20436865636b706f696e743a20696e76616c69642074696d657360448201527f74616d700000000000000000000000000000000000000000000000000000000060648201526084016109da565b805165ffffffffffff8087169116036147865760006147118761216b600186615620565b805461ffff86811668010000000000000000027fffffffffffffffffffffffffffffffffffffffffffff0000ffffffffffffffff918916660100000000000002919091167fffffffffffffffffffffffffffffffffffffffffffff00000000ffffffffffff9092169190911717905550614841565b6040805160608101825265ffffffffffff808816825261ffff80881660208085019182528883169585019586528b54600181018d5560008d81529190912094519401805491519551831668010000000000000000027fffffffffffffffffffffffffffffffffffffffffffff0000ffffffffffffffff969093166601000000000000027fffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000909216949093169390931792909217929092161790555b50614902565b6040805160608101825265ffffffffffff808716825261ffff80871660208085019182528783169585019586528a54600181018c5560008c81529190912094519401805491519551831668010000000000000000027fffffffffffffffffffffffffffffffffffffffffffff0000ffffffffffffffff969093166601000000000000027fffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000909216949093169390931792909217929092161790555b5050505050565b835480156148475760006149228661216b600185615620565b60408051606081018252915465ffffffffffff80821680855261ffff66010000000000008404811660208701526801000000000000000090930490921692840192909252919250861610156146ed576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602860248201527f506572696f642050637420436865636b706f696e743a20696e76616c6964207460448201527f696d657374616d7000000000000000000000000000000000000000000000000060648201526084016109da565b600060e08284031215614a0b57600080fd5b50919050565b600060208284031215614a2357600080fd5b813567ffffffffffffffff811115614a3a57600080fd5b61260a848285016149f9565b600060208284031215614a5857600080fd5b5035919050565b60ff81168114610c7257600080fd5b8035614a7981614a5f565b919050565b60008083601f840112614a9057600080fd5b50813567ffffffffffffffff811115614aa857600080fd5b6020830191508360208285010111156121c657600080fd5b600080600080600060808688031215614ad857600080fd5b8535614ae381614a5f565b9450602086013567ffffffffffffffff80821115614b0057600080fd5b614b0c89838a016149f9565b955060408801359150614b1e82614a5f565b90935060608701359080821115614b3457600080fd5b50614b4188828901614a7e565b969995985093965092949392505050565b80357fffffffff0000000000000000000000000000000000000000000000000000000081168114614a7957600080fd5b600060208284031215614b9457600080fd5b6110a282614b52565b6001600160a01b0381168114610c7257600080fd5b8035614a7981614b9d565b600080600080600060a08688031215614bd557600080fd5b8535614be081614b9d565b9450602086013567ffffffffffffffff811115614bfc57600080fd5b614c08888289016149f9565b9450506040860135614c1981614a5f565b94979396509394606081013594506080013592915050565b60008060408385031215614c4457600080fd5b50508035926020909101359150565b60208082528251828201829052805160408401819052600092916060919083019082860190855b81811015614cc357614cb3838551805165ffffffffffff16825260208082015161ffff9081169184019190915260409182015116910152565b9285019291840191600101614c7a565b5090979650505050505050565b803561ffff81168114614a7957600080fd5b60008060408385031215614cf557600080fd5b614cfe83614cd0565b9150614d0c60208401614cd0565b90509250929050565b8015158114610c7257600080fd5b600080600060608486031215614d3857600080fd5b833592506020840135614d4a81614b9d565b91506040840135614d5a81614d15565b809150509250925092565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051610120810167ffffffffffffffff81118282101715614db857614db8614d65565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715614e0557614e05614d65565b604052919050565b600067ffffffffffffffff821115614e2757614e27614d65565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b600082601f830112614e6457600080fd5b8135614e77614e7282614e0d565b614dbe565b818152846020838601011115614e8c57600080fd5b816020850160208301376000918101602001919091529392505050565b60008060008060008060008060008060006101408c8e031215614ecb57600080fd5b614ed48c614bb2565b9a50614ee260208d01614a6e565b9950614ef060408d01614bb2565b9850614efe60608d01614bb2565b975060808c0135965067ffffffffffffffff8060a08e01351115614f2157600080fd5b614f318e60a08f01358f01614a7e565b909750955060c08d0135811015614f4757600080fd5b50614f588d60c08e01358e01614e53565b9350614f6660e08d01614a6e565b92506101008c013591506101208c013590509295989b509295989b9093969950565b60008060008084860360e0811215614f9f57600080fd5b8535614faa81614b9d565b94506020860135614fba81614b9d565b93506040860135925060807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa082011215614ff357600080fd5b506040516080810181811067ffffffffffffffff8211171561501757615017614d65565b60405261502660608701614cd0565b815261503460808701614cd0565b602082015261504560a08701614cd0565b604082015261505660c08701614cd0565b6060820152939692955090935050565b60008060008060008060008060006101008a8c03121561508557600080fd5b893561509081614b9d565b985060208a01356150a081614a5f565b975060408a013567ffffffffffffffff808211156150bd57600080fd5b6150c98d838e016149f9565b985060608c013591506150db82614a5f565b90965060808b013590808211156150f157600080fd5b506150fe8c828d01614a7e565b90965094505060a08a013561511281614a5f565b8093505060c08a0135915060e08a013590509295985092959850929598565b60008060008060008060008060c0898b03121561514d57600080fd5b883561515881614a5f565b9750602089013561516881614b9d565b9650604089013561517881614b9d565b955060608901359450608089013567ffffffffffffffff8082111561519c57600080fd5b6151a88c838d01614a7e565b909650945060a08b01359150808211156151c157600080fd5b506151ce8b828c01614a7e565b999c989b5096995094979396929594505050565b600080604083850312156151f557600080fd5b823561520081614b9d565b9150614d0c60208401614b52565b60208082528251828201829052805160408401819052600092916060919083019082860190855b81811015614cc35761526e838551805165ffffffffffff16825260208082015161ffff9081169184019190915260409182015116910152565b9285019291840191600101615235565b8051614a7981614d15565b8051614a7981614b9d565b805167ffffffffffffffff81168114614a7957600080fd5b80516bffffffffffffffffffffffff81168114614a7957600080fd5b600061012082840312156152db57600080fd5b6152e3614d94565b825181526152f36020840161527e565b60208201526153046040840161527e565b60408201526153156060840161527e565b606082015261532660808401615289565b608082015261533760a08401615294565b60a082015261534860c08401615294565b60c082015261535960e084016152ac565b60e082015261010061536c8185016152ac565b908201529392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b67ffffffffffffffff8281168282160390808211156153c7576153c7615377565b5092915050565b6000602082840312156153e057600080fd5b81356110a281614b9d565b6000602082840312156153fd57600080fd5b6110a282615294565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006020828403121561544757600080fd5b815165ffffffffffff811681146110a257600080fd5b60006020828403121561546f57600080fd5b5051919050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b80358252600060208201356154d381614b9d565b6001600160a01b0390811660208501526040830135906154f282614a5f565b60ff821660408601526060840135915061550b82614b9d565b908116606085015260808301359061552282614b9d565b16608084015260a0828101359084015260c0820135368390037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe101811261556857600080fd5b820160208101903567ffffffffffffffff81111561558557600080fd5b80360382131561559457600080fd5b60e060c08601526155a960e086018284615476565b95945050505050565b60ff831681526060602082015260006155ce60608301846154bf565b828103604084015260008152602081019150509392505050565b6000602082840312156155fa57600080fd5b6110a2826152ac565b60006020828403121561561557600080fd5b81516110a281614b9d565b81810381811115610f4857610f48615377565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b80820180821115610f4857610f48615377565b60006020828403121561568757600080fd5b81516110a281614a5f565b6000602082840312156156a457600080fd5b81516110a281614d15565b6060815260006156c260608301866154bf565b90506001600160a01b038416602083015260ff83166040830152949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b8481526fffffffffffffffffffffffffffffffff84166020820152606060408201526000610ba0606083018486615476565b65ffffffffffff8281168282160390808211156153c7576153c7615377565b6020815260006110a260208301846154bf565b8183823760009101908152919050565b60005b838110156157a257818101518382015260200161578a565b50506000910152565b60ff8816815260006001600160a01b03808916602084015280881660408401525085606083015260c060808301526157e760c083018587615476565b82810360a08401528351808252615805816020840160208801615787565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016016020019998505050505050505050565b61ffff8181168382160190808211156153c7576153c7615377565b6020810160078310615891577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b91905290565b6fffffffffffffffffffffffffffffffff8181168382160190808211156153c7576153c7615377565b6000602082840312156158d257600080fd5b81356110a281614a5f565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261591257600080fd5b83018035915067ffffffffffffffff82111561592d57600080fd5b6020019150368190038213156121c657600080fd5b60006020828403121561595457600080fd5b815167ffffffffffffffff81111561596b57600080fd5b8201601f8101841361597c57600080fd5b805161598a614e7282614e0d565b81815285602083850101111561599f57600080fd5b6155a9826020830160208601615787565b6000826159e6577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b50049056fea164736f6c6343000817000a", + "nonce": "0x0", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x5b186110f6dba4c101f412b9927527faec9c81ec5b582f4d36e39e9b8914a44a", + "transactionType": "CREATE", + "contractName": "LlamaTokenVotingFactory", + "contractAddress": "0xFBE17545dffD75A92A5A72926AE581478973FE65", + "function": null, + "arguments": [ + "0x3f3DAB3ab8cEc2FBd06767c2A5F66Cb6BFF21A4A" + ], + "transaction": { + "type": "0x02", + "from": "0xb72276d9ff15c7998b9962ffcfb21a6c7249441b", + "gas": "0xc9127", + "value": "0x0", + "data": "0x60a060405234801561001057600080fd5b50604051610b16380380610b1683398101604081905261002f91610040565b6001600160a01b0316608052610070565b60006020828403121561005257600080fd5b81516001600160a01b038116811461006957600080fd5b9392505050565b608051610a8561009160003960008181604001526104390152610a856000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c806321618ea41461003b5780633ec857a51461008b575b600080fd5b6100627f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b61006261009936600461087b565b600080338360000151846040015185606001516040516020016100bf9493929190610959565b60405160208183030381529060405280519060200120905060006100e7846020015183610622565b60408086015190517f439fab9100000000000000000000000000000000000000000000000000000000815291925073ffffffffffffffffffffffffffffffffffffffff83169163439fab919161013f916004016109b9565b6020604051808303816000875af115801561015e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101829190610a0a565b50600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1663fc0c546a6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156101e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061020a9190610a33565b73ffffffffffffffffffffffffffffffffffffffff1603610257576040517f65f5b03400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517fcdfda4dd00000000000000000000000000000000000000000000000000000000815242600482015273ffffffffffffffffffffffffffffffffffffffff82169063cdfda4dd90602401602060405180830381865afa1580156102c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102e59190610a50565b65ffffffffffff16600003610326576040517f65f5b03400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff166391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865afa158015610371573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103959190610a50565b65ffffffffffff166000036103d6576040517f65f5b03400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1663ae2a6df26040518163ffffffff1660e01b815260040160006040518083038186803b15801561041c57600080fd5b505afa158015610430573d6000803e3d6000fd5b5050505061045e7f000000000000000000000000000000000000000000000000000000000000000083610622565b8451608086015160a0870151604080517f8734852a00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff948516600482015286851660248201526044810193909352815161ffff908116606485015260208301518116608485015290820151811660a48401526060909101511660c4820152919450841690638734852a9060e401600060405180830381600087803b15801561051757600080fd5b505af115801561052b573d6000803e3d6000fd5b505050508073ffffffffffffffffffffffffffffffffffffffff1663fc0c546a6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561057a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061059e9190610a33565b84516020808701516060808901516040805173ffffffffffffffffffffffffffffffffffffffff94851681528885169581019590955284015287821690830152466080830152928316929091169033907f4c8bb78cb1c62e64cef39fc4b4a1864d1a331a28c7bd59a67fe969cc8ab715879060a00160405180910390a45050919050565b6000763d602d80600a3d3981f3363d3d373d3d3d363d730000008360601b60e81c176000526e5af43d82803e903d91602b57fd5bf38360781b1760205281603760096000f5905073ffffffffffffffffffffffffffffffffffffffff81166106b6576040517fc2f868f400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405160c0810167ffffffffffffffff8111828210171561070e5761070e6106bc565b60405290565b73ffffffffffffffffffffffffffffffffffffffff8116811461073657600080fd5b50565b600082601f83011261074a57600080fd5b813567ffffffffffffffff80821115610765576107656106bc565b604051601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011681019082821181831017156107ab576107ab6106bc565b816040528381528660208588010111156107c457600080fd5b836020870160208301376000602085830101528094505050505092915050565b803561ffff811681146107f657600080fd5b919050565b60006080828403121561080d57600080fd5b6040516080810181811067ffffffffffffffff82111715610830576108306106bc565b60405290508061083f836107e4565b815261084d602084016107e4565b602082015261085e604084016107e4565b604082015261086f606084016107e4565b60608201525092915050565b60006020828403121561088d57600080fd5b813567ffffffffffffffff808211156108a557600080fd5b9083019061012082860312156108ba57600080fd5b6108c26106eb565b82356108cd81610714565b815260208301356108dd81610714565b60208201526040830135828111156108f457600080fd5b61090087828601610739565b60408301525060608301356060820152608083013560808201526109278660a085016107fb565b60a082015295945050505050565b60005b83811015610950578181015183820152602001610938565b50506000910152565b60007fffffffffffffffffffffffffffffffffffffffff000000000000000000000000808760601b168352808660601b1660148401525083516109a3816028850160208801610935565b6028920191820192909252604801949350505050565b60208152600082518060208401526109d8816040850160208701610935565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169190910160400192915050565b600060208284031215610a1c57600080fd5b81518015158114610a2c57600080fd5b9392505050565b600060208284031215610a4557600080fd5b8151610a2c81610714565b600060208284031215610a6257600080fd5b815165ffffffffffff81168114610a2c57600080fdfea164736f6c6343000817000a0000000000000000000000003f3dab3ab8cec2fbd06767c2a5f66cb6bff21a4a", + "nonce": "0x1", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xf45e2292936d271718f1f85c5ac46a6fc8c9d25eff4d2129343363a526ab496b", + "transactionType": "CREATE", + "contractName": "LlamaTokenAdapterVotesTimestamp", + "contractAddress": "0x088C268cb00226D6A9b29e5488905Aa94D2f0239", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0xb72276d9ff15c7998b9962ffcfb21a6c7249441b", + "gas": "0x10d28c", + "value": "0x0", + "data": "0x608060405234801561001057600080fd5b5061001961001e565b6100d0565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff161561006e5760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b03908116146100cd5780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b610df5806100df6000396000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c8063ae2a6df21161005b578063ae2a6df21461010a578063cdfda4dd14610114578063edb8ee5a14610127578063fc0c546a1461013a57600080fd5b8063439fab911461008d5780634bf5d7e9146100b557806391ddadf4146100ca5780639556de73146100e9575b600080fd5b6100a061009b3660046108e4565b61017f565b60405190151581526020015b60405180910390f35b6100bd6103a1565b6040516100ac9190610988565b6100d261042f565b60405165ffffffffffff90911681526020016100ac565b6100fc6100f7366004610a12565b6104e9565b6040519081526020016100ac565b610112610593565b005b6100d2610122366004610a4b565b6105ef565b6100fc610135366004610a64565b610600565b60005461015a9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100ac565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0080546000919068010000000000000000810460ff16159067ffffffffffffffff1683811580156101cd5750825b905060008267ffffffffffffffff1660011480156101ea5750303b155b9050811580156101f8575080155b1561022f576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b84547fffffffffffffffffffffffffffffffffffffffffffffffff000000000000000016600117855583156102905784547fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff16680100000000000000001785555b6000878060200190518101906102a69190610a81565b8051600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff90921691909117905560408051808201909152600e81527f6d6f64653d74696d657374616d7000000000000000000000000000000000000060208201529091506001906103309082610b71565b50600196505083156103975784547fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b5050505050919050565b600180546103ae90610acd565b80601f01602080910402602001604051908101604052809291908181526020018280546103da90610acd565b80156104275780601f106103fc57610100808354040283529160200191610427565b820191906000526020600020905b81548152906001019060200180831161040a57829003601f168201915b505050505081565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156104d7575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682019092526104d491810190610c8b565b60015b6104e4576104e44261069b565b905090565b600080546040517f3a46b1a800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff858116600483015265ffffffffffff8516602483015290911690633a46b1a890604401602060405180830381865afa158015610568573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061058c9190610ca8565b9392505050565b600061059d6106e8565b905060006105a9610712565b905081806105b45750805b156105eb576040517f6ff0714000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050565b60006105fa8261069b565b92915050565b600080546040517f8e539e8c00000000000000000000000000000000000000000000000000000000815265ffffffffffff8416600482015273ffffffffffffffffffffffffffffffffffffffff90911690638e539e8c90602401602060405180830381865afa158015610677573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105fa9190610ca8565b600065ffffffffffff8211156106e4576040517fc0188c4f0000000000000000000000000000000000000000000000000000000081526004810183905260240160405180910390fd5b5090565b60006106f34261069b565b65ffffffffffff1661070361042f565b65ffffffffffff161415905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16634bf5d7e96040518163ffffffff1660e01b8152600401600060405180830381865afa9250505080156107bf57506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526107bc9190810190610cc1565b60015b6107c95750600090565b60016040516020016107db9190610d38565b60405160208183030381529060405280519060200120816040516020016108029190610dcc565b60405160208183030381529060405280519060200120141591505090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff8111828210171561089657610896610820565b604052919050565b600067ffffffffffffffff8211156108b8576108b8610820565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b6000602082840312156108f657600080fd5b813567ffffffffffffffff81111561090d57600080fd5b8201601f8101841361091e57600080fd5b803561093161092c8261089e565b61084f565b81815285602083850101111561094657600080fd5b81602084016020830137600091810160200191909152949350505050565b60005b8381101561097f578181015183820152602001610967565b50506000910152565b60208152600082518060208401526109a7816040850160208701610964565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169190910160400192915050565b73ffffffffffffffffffffffffffffffffffffffff811681146109fb57600080fd5b50565b65ffffffffffff811681146109fb57600080fd5b60008060408385031215610a2557600080fd5b8235610a30816109d9565b91506020830135610a40816109fe565b809150509250929050565b600060208284031215610a5d57600080fd5b5035919050565b600060208284031215610a7657600080fd5b813561058c816109fe565b600060208284031215610a9357600080fd5b6040516020810181811067ffffffffffffffff82111715610ab657610ab6610820565b6040528251610ac4816109d9565b81529392505050565b600181811c90821680610ae157607f821691505b602082108103610b1a577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b601f821115610b6c576000816000526020600020601f850160051c81016020861015610b495750805b601f850160051c820191505b81811015610b6857828155600101610b55565b5050505b505050565b815167ffffffffffffffff811115610b8b57610b8b610820565b610b9f81610b998454610acd565b84610b20565b602080601f831160018114610bf25760008415610bbc5750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b178555610b68565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b82811015610c3f57888601518255948401946001909101908401610c20565b5085821015610c7b57878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b600060208284031215610c9d57600080fd5b815161058c816109fe565b600060208284031215610cba57600080fd5b5051919050565b600060208284031215610cd357600080fd5b815167ffffffffffffffff811115610cea57600080fd5b8201601f81018413610cfb57600080fd5b8051610d0961092c8261089e565b818152856020838501011115610d1e57600080fd5b610d2f826020830160208601610964565b95945050505050565b6000808354610d4681610acd565b60018281168015610d5e5760018114610d9157610dc0565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0084168752821515830287019450610dc0565b8760005260208060002060005b85811015610db75781548a820152908401908201610d9e565b50505082870194505b50929695505050505050565b60008251610dde818460208701610964565b919091019291505056fea164736f6c6343000817000a", + "nonce": "0x2", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0xa55e424bce783294f3bb68dd6f7d2f6781c8cbf4cc62d109d9ccf6679a1fc1d8", + "transactionIndex": "0x38", + "blockHash": "0x9c456e92699a51cea4709a73ff494dd71645988d84cf3f489f4e11bce3c3b5a6", + "blockNumber": "0x121b155", + "from": "0xb72276D9FF15c7998b9962FFCfB21A6C7249441B", + "to": null, + "cumulativeGasUsed": "0x9aaace", + "gasUsed": "0x4ca2c1", + "contractAddress": "0x3f3DAB3ab8cEc2FBd06767c2A5F66Cb6BFF21A4A", + "logs": [ + { + "address": "0x3f3DAB3ab8cEc2FBd06767c2A5F66Cb6BFF21A4A", + "topics": [ + "0xc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2" + ], + "data": "0x000000000000000000000000000000000000000000000000ffffffffffffffff", + "blockHash": "0x9c456e92699a51cea4709a73ff494dd71645988d84cf3f489f4e11bce3c3b5a6", + "blockNumber": "0x121b155", + "transactionHash": "0xa55e424bce783294f3bb68dd6f7d2f6781c8cbf4cc62d109d9ccf6679a1fc1d8", + "transactionIndex": "0x38", + "logIndex": "0x73", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000800000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0x76cec9c92" + }, + { + "transactionHash": "0x5b186110f6dba4c101f412b9927527faec9c81ec5b582f4d36e39e9b8914a44a", + "transactionIndex": "0x39", + "blockHash": "0x9c456e92699a51cea4709a73ff494dd71645988d84cf3f489f4e11bce3c3b5a6", + "blockNumber": "0x121b155", + "from": "0xb72276D9FF15c7998b9962FFCfB21A6C7249441B", + "to": null, + "cumulativeGasUsed": "0xa4563e", + "gasUsed": "0x9ab70", + "contractAddress": "0xFBE17545dffD75A92A5A72926AE581478973FE65", + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0x76cec9c92" + }, + { + "transactionHash": "0xf45e2292936d271718f1f85c5ac46a6fc8c9d25eff4d2129343363a526ab496b", + "transactionIndex": "0x3a", + "blockHash": "0x9c456e92699a51cea4709a73ff494dd71645988d84cf3f489f4e11bce3c3b5a6", + "blockNumber": "0x121b155", + "from": "0xb72276D9FF15c7998b9962FFCfB21A6C7249441B", + "to": null, + "cumulativeGasUsed": "0xb147e7", + "gasUsed": "0xcf1a9", + "contractAddress": "0x088C268cb00226D6A9b29e5488905Aa94D2f0239", + "logs": [ + { + "address": "0x088C268cb00226D6A9b29e5488905Aa94D2f0239", + "topics": [ + "0xc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2" + ], + "data": "0x000000000000000000000000000000000000000000000000ffffffffffffffff", + "blockHash": "0x9c456e92699a51cea4709a73ff494dd71645988d84cf3f489f4e11bce3c3b5a6", + "blockNumber": "0x121b155", + "transactionHash": "0xf45e2292936d271718f1f85c5ac46a6fc8c9d25eff4d2129343363a526ab496b", + "transactionIndex": "0x3a", + "logIndex": "0x74", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000800000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000008000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0x76cec9c92" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1704995794, + "chain": 1, + "multi": false, + "commit": "688208a" +} \ No newline at end of file diff --git a/broadcast/DeployLlamaTokenVotingFactory.s.sol/10/run-1704995573.json b/broadcast/DeployLlamaTokenVotingFactory.s.sol/10/run-1704995573.json new file mode 100644 index 0000000..b46b518 --- /dev/null +++ b/broadcast/DeployLlamaTokenVotingFactory.s.sol/10/run-1704995573.json @@ -0,0 +1,75 @@ +{ + "transactions": [ + { + "hash": "0xf132855b3de789edb51406d4fac93f03eaa9d4691ce7482c556f808eb77219ea", + "transactionType": "CREATE", + "contractName": "LlamaTokenGovernor", + "contractAddress": "0x3f3DAB3ab8cEc2FBd06767c2A5F66Cb6BFF21A4A", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0xb72276d9ff15c7998b9962ffcfb21a6c7249441b", + "gas": "0x6398ff", + "value": "0x0", + "data": "0x60806040523480156200001157600080fd5b506200001c62000022565b620000d6565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff1615620000735760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b0390811614620000d35780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b6159f880620000e66000396000f3fe608060405234801561001057600080fd5b50600436106101da5760003560e01c80637e4a56bb11610104578063b92cdd9a116100a2578063cae3bdff11610071578063cae3bdff1461053d578063dcae21b714610552578063e45061ea14610565578063e5589b9d1461057857600080fd5b8063b92cdd9a146104e4578063b9b2cf6c146104f7578063c193c2691461050a578063c26c12eb1461053557600080fd5b80638734852a116100de5780638734852a1461049857806396ff6e2e146104ab578063a1d9b412146104be578063b3c678b0146104d157600080fd5b80637e4a56bb1461046a5780637ed7238e14610472578063807ad1141461048557600080fd5b80633fed8f161161017c57806359e5332d1161014b57806359e5332d1461036457806364f6b3161461037b5780637186dd9c1461038e57806374f717cd1461044757600080fd5b80633fed8f16146103165780634d61ebf4146103365780634ec0ab1c1461033e578063509c5fbd1461035157600080fd5b806319a39740116101b857806319a397401461025b5780631e127ddf1461026e578063372fa8e8146102c25780633df91222146102d557600080fd5b80630669b1ce146101df57806311f900b5146101f45780631650080714610227575b600080fd5b6101f26101ed366004614a11565b61058b565b005b610207610202366004614a46565b610b79565b6040805161ffff9384168152929091166020830152015b60405180910390f35b61023a610235366004614ac0565b610b90565b6040516fffffffffffffffffffffffffffffffff909116815260200161021e565b6101f2610269366004614a46565b610baa565b6101f261027c366004614b82565b3360009081526007602090815260408083207fffffffff000000000000000000000000000000000000000000000000000000009490941683529290522080546001019055565b6101f26102d0366004614bbd565b610c75565b6102fe6102e3366004614a46565b6005602052600090815260409020546001600160a01b031681565b6040516001600160a01b03909116815260200161021e565b610329610324366004614c31565b610d76565b60405161021e9190614c53565b610207610f4e565b6101f261034c366004614ce2565b610f63565b61023a61035f366004614ac0565b611030565b61036d60025481565b60405190815260200161021e565b6000546102fe906001600160a01b031681565b6103fc61039c366004614a46565b6006602052600090815260409020805460018201546002909201546fffffffffffffffffffffffffffffffff8083169370010000000000000000000000000000000093849004821693818316939181900483169282811692919091041686565b604080516fffffffffffffffffffffffffffffffff978816815295871660208701529386169385019390935290841660608401528316608083015290911660a082015260c00161021e565b61045a610455366004614d23565b611040565b604051901515815260200161021e565b6103296110a9565b61036d610480366004614ea9565b61114c565b6001546102fe906001600160a01b031681565b6101f26104a6366004614f88565b611263565b61023a6104b9366004615066565b6114b5565b61023a6104cc366004615066565b6115c6565b61036d6104df366004615131565b6116c7565b6101f26104f2366004614a11565b61171c565b6101f2610505366004614ce2565b611726565b61036d6105183660046151e2565b600760209081526000928352604080842090915290825290205481565b6102076117ef565b6105456117fc565b60405161021e919061520e565b610545610560366004614c31565b61188f565b6101f2610573366004614a11565b611a4d565b610207610586366004614a46565b612026565b600080546040517fb6e76873000000000000000000000000000000000000000000000000000000008152833560048201526001600160a01b039091169063b6e768739060240161012060405180830381865afa1580156105ef573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061061391906152c8565b9050600060018260a0015161062891906153a6565b67ffffffffffffffff169050600160009054906101000a90046001600160a01b03166001600160a01b031663ae2a6df26040518163ffffffff1660e01b815260040160006040518083038186803b15801561068257600080fd5b505afa158015610696573d6000803e3d6000fd5b505050506000806000806106b485600461203490919063ffffffff16565b909250905060006106cb6080890160608a016153ce565b6001600160a01b031663b02bd9206040518163ffffffff1660e01b8152600401602060405180830381865afa158015610708573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061072c91906153eb565b67ffffffffffffffff16905061271061ffff8416820204818860c0015167ffffffffffffffff16030194506127108261ffff1682028161076e5761076e615406565b04850193508342116107ac576040517f038d8a6a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8660c0015167ffffffffffffffff1642106107f3576040517f08c8d62700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050843560009081526006602052604080822060015491517fcdfda4dd000000000000000000000000000000000000000000000000000000008152600481018690529092916001600160a01b03169063edb8ee5a90829063cdfda4dd90602401602060405180830381865afa158015610871573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108959190615435565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b16815265ffffffffffff9091166004820152602401602060405180830381865afa1580156108f0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610914919061545d565b600183015460028401549192506fffffffffffffffffffffffffffffffff7001000000000000000000000000000000009182900481169291820481169116600061095f60038a6121cd565b9150506000610975868361ffff166127106122d8565b905080856fffffffffffffffffffffffffffffffff1610156109e3576040517fbfb9aa550000000000000000000000000000000000000000000000000000000081526fffffffffffffffffffffffffffffffff86166004820152602481018290526044015b60405180910390fd5b836fffffffffffffffffffffffffffffffff16856fffffffffffffffffffffffffffffffff1611610a5c576040517f8a0df63f0000000000000000000000000000000000000000000000000000000081526fffffffffffffffffffffffffffffffff8087166004830152851660248201526044016109da565b6000610a7b8d6060016020810190610a7491906153ce565b600061231c565b905060008054906101000a90046001600160a01b03166001600160a01b03166394004706828f6040518363ffffffff1660e01b8152600401610abe9291906155b2565b6020604051808303816000875af1158015610add573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b0191906155e8565b50604080518e3581526fffffffffffffffffffffffffffffffff808916602083015280881692820192909252908516606082015260ff82169033907ff5bc433f16cc3d0e9fcb5ac4f8de9f17eb90de1fd2a9ede5952c2097d4ef1a59906080015b60405180910390a350505050505050505050505050565b600080610b87600484612034565b91509150915091565b6000610ba0338787878787612612565b9695505050505050565b60008054906101000a90046001600160a01b03166001600160a01b031663c34c08e56040518163ffffffff1660e01b8152600401602060405180830381865afa158015610bfb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c1f9190615603565b6001600160a01b0316336001600160a01b031614610c69576040517f26bee1ce00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610c7281612c5e565b50565b6000610c818686612e2e565b6040805160008082526020820180845284905260ff88169282019290925260608101869052608081018590529192509060019060a0016020604051602081039080840390855afa158015610cd9573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001519150506001600160a01b0381161580610d2c5750866001600160a01b0316816001600160a01b031614155b15610d63576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610d6d8187612f50565b50505050505050565b60408051602081019091526060815281831115610dbf576040517f2cd4dad300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60045480831115610dfc576040517f2cd4dad300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610e088585615620565b905060008167ffffffffffffffff811115610e2557610e25614d65565b604051908082528060200260200182016040528015610e8e57816020015b60408051606081018252600080825260208083018290529282015282527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff909201910181610e435790505b509050855b85811015610f34576004805482908110610eaf57610eaf615633565b600091825260209182902060408051606081018252919092015465ffffffffffff8116825261ffff660100000000000082048116948301949094526801000000000000000090049092169082015282610f088984615620565b81518110610f1857610f18615633565b6020026020010181905250610f2d8160010190565b9050610e93565b506040805160208101909152908152925050505b92915050565b600080610f5b6004613063565b915091509091565b60008054906101000a90046001600160a01b03166001600160a01b031663c34c08e56040518163ffffffff1660e01b8152600401602060405180830381865afa158015610fb4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fd89190615603565b6001600160a01b0316336001600160a01b031614611022576040517f26bee1ce00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61102c82826130db565b5050565b6000610ba03387878787876131cf565b60008115611077575060008381526006602090815260408083206001600160a01b038616845260030190915290205460ff166110a2565b5060008381526006602090815260408083206001600160a01b038616845260040190915290205460ff165b9392505050565b6040805160208101909152606081526040805160048054602081810284018501855283018181529293919284929091849160009085015b8282101561113f576000848152602090819020604080516060810182529185015465ffffffffffff8116835261ffff660100000000000082048116848601526801000000000000000090910416908201528252600190920191016110e0565b5050505081525050905090565b60008061115f8d8d8d8d8d8d8d8d613714565b6040805160008082526020820180845284905260ff89169282019290925260608101879052608081018690529192509060019060a0016020604051602081039080840390855afa1580156111b7573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001519150506001600160a01b038116158061120a57508d6001600160a01b0316816001600160a01b031614155b15611241576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611251818e8e8e8e8e8e8e613885565b9e9d5050505050505050505050505050565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000810460ff16159067ffffffffffffffff166000811580156112ae5750825b905060008267ffffffffffffffff1660011480156112cb5750303b155b9050811580156112d9575080155b15611310576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b84547fffffffffffffffffffffffffffffffffffffffffffffffff000000000000000016600117855583156113715784547fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff16680100000000000000001785555b886001600160a01b0316639bccfe496040518163ffffffff1660e01b8152600401602060405180830381865afa1580156113af573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113d3919061545d565b50600080546001600160a01b03808c167fffffffffffffffffffffffff00000000000000000000000000000000000000009283161790925560018054928b169290911691909117905561142587612c5e565b611437866000015187602001516130db565b61144986604001518760600151613b89565b83156114aa5784547fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b505050505050505050565b6000806114c68b8b8b8b8b8b613c26565b6040805160008082526020820180845284905260ff89169282019290925260608101879052608081018690529192509060019060a0016020604051602081039080840390855afa15801561151e573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001519150506001600160a01b038116158061157157508b6001600160a01b0316816001600160a01b031614155b156115a8576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6115b6818c8c8c8c8c6131cf565b9c9b505050505050505050505050565b6000806115d78b8b8b8b8b8b613d84565b6040805160008082526020820180845284905260ff89169282019290925260608101879052608081018690529192509060019060a0016020604051602081039080840390855afa15801561162f573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001519150506001600160a01b038116158061168257508b6001600160a01b0316816001600160a01b031614155b156116b9576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6115b6818c8c8c8c8c612612565b600061170f338a8a8a8a8a8a8a8a8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061388592505050565b9998505050505050505050565b610c723382612f50565b60008054906101000a90046001600160a01b03166001600160a01b031663c34c08e56040518163ffffffff1660e01b8152600401602060405180830381865afa158015611777573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061179b9190615603565b6001600160a01b0316336001600160a01b0316146117e5576040517f26bee1ce00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61102c8282613b89565b600080610f5b6003613063565b604080516020810190915260608152604080516003805460208082028401850185528301818152929391928492909184916000908501821561113f576000848152602090819020604080516060810182529185015465ffffffffffff8116835261ffff660100000000000082048116848601526801000000000000000090910416908201528252600190920191016110e0565b604080516020810190915260608152818311156118d8576040517f2cd4dad300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60035480831115611915576040517f2cd4dad300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006119218585615620565b905060008167ffffffffffffffff81111561193e5761193e614d65565b6040519080825280602002602001820160405280156119a757816020015b60408051606081018252600080825260208083018290529282015282527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90920191018161195c5790505b509050855b85811015610f345760038054829081106119c8576119c8615633565b600091825260209182902060408051606081018252919092015465ffffffffffff8116825261ffff660100000000000082048116948301949094526801000000000000000090049092169082015282611a218984615620565b81518110611a3157611a31615633565b6020026020010181905250611a468160010190565b90506119ac565b600080546040517fb6e76873000000000000000000000000000000000000000000000000000000008152833560048201526001600160a01b039091169063b6e768739060240161012060405180830381865afa158015611ab1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ad591906152c8565b9050600060018260a00151611aea91906153a6565b67ffffffffffffffff169050600160009054906101000a90046001600160a01b03166001600160a01b031663ae2a6df26040518163ffffffff1660e01b815260040160006040518083038186803b158015611b4457600080fd5b505afa158015611b58573d6000803e3d6000fd5b50505050600080600080611b7685600461203490919063ffffffff16565b90925090506000611b8d6080890160608a016153ce565b6001600160a01b0316637999762c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611bca573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bee91906153eb565b67ffffffffffffffff16905061271061ffff84168202048760a0015167ffffffffffffffff160194506127108261ffff16820281611c2e57611c2e615406565b0485019350834211611c6c576040517f038d8a6a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b808760a0015167ffffffffffffffff16611c869190615662565b421115611cbf576040517f08c8d62700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050843560009081526006602052604080822060015491517fcdfda4dd000000000000000000000000000000000000000000000000000000008152600481018690529092916001600160a01b03169063edb8ee5a90829063cdfda4dd90602401602060405180830381865afa158015611d3d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d619190615435565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b16815265ffffffffffff9091166004820152602401602060405180830381865afa158015611dbc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611de0919061545d565b825460018401549192506fffffffffffffffffffffffffffffffff808216928116917001000000000000000000000000000000009004166000611e2460038a6121cd565b5090506000611e3a868361ffff166127106122d8565b905080856fffffffffffffffffffffffffffffffff161015611ea3576040517f0425fab10000000000000000000000000000000000000000000000000000000081526fffffffffffffffffffffffffffffffff86166004820152602481018290526044016109da565b836fffffffffffffffffffffffffffffffff16856fffffffffffffffffffffffffffffffff1611611f1c576040517f8a0df63f0000000000000000000000000000000000000000000000000000000081526fffffffffffffffffffffffffffffffff8087166004830152851660248201526044016109da565b6000611f3b8d6060016020810190611f3491906153ce565b600161231c565b905060008054906101000a90046001600160a01b03166001600160a01b03166389e7d126828f6040518363ffffffff1660e01b8152600401611f7e9291906155b2565b6020604051808303816000875af1158015611f9d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fc191906155e8565b50604080518e3581526fffffffffffffffffffffffffffffffff808916602083015280881692820192909252908516606082015260ff82169033907ff23279e924757f3bfe4f543bc1b43685e851d6ace53f8518b806dcd8d42fc13990608001610b62565b600080610b876003846121cd565b6000804283106120c6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f506572696f64506374436865636b706f696e74733a2074696d657374616d702060448201527f6973206e6f7420696e207468652070617374000000000000000000000000000060648201526084016109da565b60006120d184613db3565b855490915060008160058111156121315760006120ed84613dfc565b6120f79085615620565b60008a81526020902090915081015465ffffffffffff90811690861610156121215780915061212f565b61212c816001615662565b92505b505b600061213f89868585613eae565b90508060000361215a576000809650965050505050506121c6565b60006121798a61216b600185615620565b600091825260209091200190565b60408051606081018252915465ffffffffffff8116835261ffff66010000000000008204811660208501819052680100000000000000009092041692909101829052985096505050505050505b9250929050565b60008042831061225f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602f60248201527f51756f72756d436865636b706f696e74733a2074696d657374616d702069732060448201527f6e6f7420696e207468652070617374000000000000000000000000000000000060648201526084016109da565b600061226a84613db3565b855490915060008160058111156122ca57600061228684613dfc565b6122909085615620565b60008a81526020902090915081015465ffffffffffff90811690861610156122ba578091506122c8565b6122c5816001615662565b92505b505b600061213f89868585613f10565b6000827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048411830215820261230d57600080fd5b50910281810615159190040190565b60008054604080517f0505c8c9000000000000000000000000000000000000000000000000000000008152905183926001600160a01b031691630505c8c99160048083019260209291908290030181865afa15801561237f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123a39190615603565b6001600160a01b0316638b2ed3886040518163ffffffff1660e01b8152600401602060405180830381865afa1580156123e0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124049190615675565b905060015b8160ff16811161253b57836124a1576040517fc167ebae00000000000000000000000000000000000000000000000000000000815260ff821660048201526001600160a01b0386169063c167ebae90602401602060405180830381865afa158015612478573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061249c9190615692565b612525565b6040517ffb847c4300000000000000000000000000000000000000000000000000000000815260ff821660048201526001600160a01b0386169063fb847c4390602401602060405180830381865afa158015612501573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125259190615692565b15612533579150610f489050565b600101612409565b50826125a857836001600160a01b03166312a52f006040518163ffffffff1660e01b8152600401602060405180830381865afa15801561257f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125a39190615675565b61260a565b836001600160a01b03166366cacdc96040518163ffffffff1660e01b8152600401602060405180830381865afa1580156125e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061260a9190615675565b949350505050565b600080546040517fb6e768730000000000000000000000000000000000000000000000000000000081528635600482015282916001600160a01b03169063b6e768739060240161012060405180830381865afa158015612676573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061269a91906152c8565b9050600060018260a001516126af91906153a6565b8735600090815260066020526040902067ffffffffffffffff9190911691506126de6080890160608a016153ce565b6001600160a01b03166302674e4b89308c6040518463ffffffff1660e01b815260040161270d939291906156af565b60006040518083038186803b15801561272557600080fd5b505afa158015612739573d6000803e3d6000fd5b505050506001600160a01b038a16600090815260048201602052604090205460ff1615612792576040517f9dd6544b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6127a0888a89600486613f6a565b60008080806127b0600487612034565b909250905060006127c760808e0160608f016153ce565b6001600160a01b031663b02bd9206040518163ffffffff1660e01b8152600401602060405180830381865afa158015612804573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061282891906153eb565b67ffffffffffffffff16905061271061ffff8416820204818960c0015167ffffffffffffffff16030194506127108261ffff1682028161286a5761286a615406565b04850193508442116128a8576040517fd0b72b4900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b834211156128e2576040517f5b73d19300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050506000612a25600160009054906101000a90046001600160a01b03166001600160a01b0316639556de738f600160009054906101000a90046001600160a01b03166001600160a01b031663cdfda4dd886040518263ffffffff1660e01b815260040161295291815260200190565b602060405180830381865afa15801561296f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906129939190615435565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b1681526001600160a01b03909216600483015265ffffffffffff166024820152604401602060405180830381865afa1580156129fc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a20919061545d565b61425e565b905060ff8a16612a9e576002840154612a649070010000000000000000000000000000000090046fffffffffffffffffffffffffffffffff16826142ad565b6002850180546fffffffffffffffffffffffffffffffff928316700100000000000000000000000000000000029216919091179055612bc6565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60ff8b1601612b37576001840154612afd9070010000000000000000000000000000000090046fffffffffffffffffffffffffffffffff16826142ad565b6001850180546fffffffffffffffffffffffffffffffff928316700100000000000000000000000000000000029216919091179055612bc6565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe60ff8b1601612bc6576002840154612b82906fffffffffffffffffffffffffffffffff16826142ad565b6002850180547fffffffffffffffffffffffffffffffff00000000000000000000000000000000166fffffffffffffffffffffffffffffffff929092169190911790555b6001600160a01b038d1660008181526004860160205260409081902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790555160ff8c1691907f4e3e2ad68670a2709cb408c31c5afd8da0b6d3d06c75b11feb404a455639fe7c90612c46908f359086908f908f90615713565b60405180910390a39c9b505050505050505050505050565b60018054604080517f91ddadf400000000000000000000000000000000000000000000000000000000815290516000936001600160a01b039093169263edb8ee5a92909184916391ddadf49160048083019260209291908290030181865afa158015612cce573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612cf29190615435565b612cfc9190615745565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b16815265ffffffffffff9091166004820152602401602060405180830381865afa158015612d57573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612d7b919061545d565b905080600003612db7576040517f34bbd58500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80821115612df1576040517f8a5e746800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60028290556040518281527fd91a985c173545ab0e0bd11c021a1ae84c1ea6eab9350d9bf3812d5b8bff49a4906020015b60405180910390a15050565b6000807f6da9390b4f29da2c44fa5a9da00b392393d01e989d16e4a3dec5a538318e352584612e5c856142f4565b6001600160a01b03871660009081526007602090815260408083207fffffffff00000000000000000000000000000000000000000000000000000000843516845290915290208054600181019091556040805160208101959095526001600160a01b03909316928401929092526060830152608082015260a001604051602081830303815290604052805190602001209050612ef66143eb565b6040517f190100000000000000000000000000000000000000000000000000000000000060208201526022810191909152604281018290526062016040516020818303038152906040528051906020012091505092915050565b80356000908152600560205260409020546001600160a01b03838116911614612fa5576040517f86ba025600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000546040517fb92cdd9a0000000000000000000000000000000000000000000000000000000081526001600160a01b039091169063b92cdd9a90612fee908490600401615764565b600060405180830381600087803b15801561300857600080fd5b505af115801561301c573d6000803e3d6000fd5b5050604051833581526001600160a01b03851692507fdcccc5725b7256a6975da00de8953e5d326756a3079d203ff6df9e52331f411a915060200160405180910390a25050565b8054600090819080820361307d5750600093849350915050565b600061308e8561216b600185615620565b60408051606081018252915465ffffffffffff8116835261ffff66010000000000008204811660208501819052680100000000000000009092041692909101829052969095509350505050565b6127108261ffff1611806130f1575061ffff8216155b1561312e576040517f8f6febc000000000000000000000000000000000000000000000000000000000815261ffff831660048201526024016109da565b6127108161ffff161180613144575061ffff8116155b15613181576040517f3bec511c00000000000000000000000000000000000000000000000000000000815261ffff821660048201526024016109da565b613194600361ffff80851690841661454d565b6040805161ffff8085168252831660208201527f77c3f43700db02acb49792bbf699b39f72c2ed4b920bd5c0b1843dcd7c832f4c9101612e22565b600080546040517fb6e768730000000000000000000000000000000000000000000000000000000081528635600482015282916001600160a01b03169063b6e768739060240161012060405180830381865afa158015613233573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061325791906152c8565b9050600060018260a0015161326c91906153a6565b8735600090815260066020526040902067ffffffffffffffff91909116915061329b6080890160608a016153ce565b6001600160a01b0316631a2a4e7789308c6040518463ffffffff1660e01b81526004016132ca939291906156af565b60006040518083038186803b1580156132e257600080fd5b505afa1580156132f6573d6000803e3d6000fd5b505050506001600160a01b038a16600090815260038201602052604090205460ff161561334f576040517f9dd6544b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61335d888a89600086613f6a565b600080808061336d600487612034565b9092509050600061338460808e0160608f016153ce565b6001600160a01b0316637999762c6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156133c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906133e591906153eb565b67ffffffffffffffff16905061271061ffff84168202048860a0015167ffffffffffffffff160194506127108261ffff1682028161342557613425615406565b0485019350844211613463576040517fd0b72b4900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8342111561349d576040517f5b73d19300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050600061350d600160009054906101000a90046001600160a01b03166001600160a01b0316639556de738f600160009054906101000a90046001600160a01b03166001600160a01b031663cdfda4dd886040518263ffffffff1660e01b815260040161295291815260200190565b905060ff8a16613580576001840154613538906fffffffffffffffffffffffffffffffff16826142ad565b6001850180547fffffffffffffffffffffffffffffffff00000000000000000000000000000000166fffffffffffffffffffffffffffffffff92909216919091179055613694565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60ff8b16016136095783546135c8906fffffffffffffffffffffffffffffffff16826142ad565b84547fffffffffffffffffffffffffffffffff00000000000000000000000000000000166fffffffffffffffffffffffffffffffff91909116178455613694565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe60ff8b16016136945783546136659070010000000000000000000000000000000090046fffffffffffffffffffffffffffffffff16826142ad565b84546fffffffffffffffffffffffffffffffff9182167001000000000000000000000000000000000291161784555b6001600160a01b038d1660008181526003860160205260409081902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790555160ff8c1691907f761cce3a1af5d9cfc0d57222f605ce4bd2be345f0ad9ebb7b83a84a91a0c201490612c46908f359086908f908f90615713565b6001600160a01b03881660009081526007602090815260408083207fffffffff000000000000000000000000000000000000000000000000000000008435168452909152812080546001810190915560007fd1fab1c7b3b37134662e5867b00e272eb49f7be0a890df29e802c3cc66c06f838b8b8b8b8b8b8b60405161379b929190615777565b604080519182900382208c516020808f0191909120908401999099526001600160a01b039788169183019190915260ff90951660608201529285166080840152931660a082015260c081019290925260e08201526101008101919091526101208101839052610140016040516020818303038152906040528051906020012090506138246143eb565b6040517f19010000000000000000000000000000000000000000000000000000000000006020820152602281019190915260428101829052606201604051602081830303815290604052805190602001209250505098975050505050505050565b600154604080517fae2a6df200000000000000000000000000000000000000000000000000000000815290516000926001600160a01b03169163ae2a6df29160048083019286929190829003018186803b1580156138e257600080fd5b505afa1580156138f6573d6000803e3d6000fd5b505060018054604080517f91ddadf40000000000000000000000000000000000000000000000000000000081529051600095506001600160a01b039092169350639556de73928e92909185916391ddadf4916004808201926020929091908290030181865afa15801561396d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906139919190615435565b61399b9190615745565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b1681526001600160a01b03909216600483015265ffffffffffff166024820152604401602060405180830381865afa158015613a04573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613a28919061545d565b9050600254811015613a69576040517f92665351000000000000000000000000000000000000000000000000000000008152600481018290526024016109da565b6000546040517fb3c678b00000000000000000000000000000000000000000000000000000000081526001600160a01b039091169063b3c678b090613abe908c908c908c908c908c908c908c906004016157ab565b6020604051808303816000875af1158015613add573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613b01919061545d565b60008181526005602090815260409182902080547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b038f16908117909155915183815292945090917f1834dfd49255741a8ce9a9bd66b91b64d13622e1d8170e4c78ac91f9ec50a542910160405180910390a25098975050505050505050565b612710613b96828461583b565b61ffff1610613bdf576040517f519dd38400000000000000000000000000000000000000000000000000000000815261ffff8084166004830152821660248201526044016109da565b613beb60048383614576565b6040805161ffff8085168252831660208201527f8df7bdcce333d9e1b85e40782fb2f293c805761d3f48aaea58865e9541e44c709101612e22565b6000807fd7be168a3509af358f222ee35ee76aba47bc5fc2c35061cdce3958f510b7b1b28888613c55896142f4565b888888604051613c66929190615777565b60408051918290039091206001600160a01b038f166000908152600760209081528382207fffffffff0000000000000000000000000000000000000000000000000000000083351683529052919091208054600181019091556040805160208101989098526001600160a01b039096169587019590955260ff938416606087015260808601929092529190911660a084015260c083015260e082015261010001604051602081830303815290604052805190602001209050613d266143eb565b6040517f19010000000000000000000000000000000000000000000000000000000000006020820152602281019190915260428101829052606201604051602081830303815290604052805190602001209150509695505050505050565b6000807fa87058c5a9888e7af4405a932381d5a4612c61354bc3e52e9ea361ba17703fb38888613c55896142f4565b600065ffffffffffff821115613df8576040517fc0188c4f000000000000000000000000000000000000000000000000000000008152600481018390526024016109da565b5090565b60b581710100000000000000000000000000000000008110613e235760409190911b9060801c5b69010000000000000000008110613e3f5760209190911b9060401c5b650100000000008110613e575760109190911b9060201c5b63010000008110613e6d5760089190911b9060101c5b62010000010260121c80820401600190811c80830401811c80830401811c80830401811c80830401811c80830401811c80830401901c908190048111900390565b60005b81831015613f08576000613ec584846145a2565b60008781526020902090915065ffffffffffff86169082015465ffffffffffff161115613ef457809250613f02565b613eff816001615662565b93505b50613eb1565b509392505050565b60005b81831015613f08576000613f2784846145a2565b60008781526020902090915065ffffffffffff86169082015465ffffffffffff161115613f5657809250613f64565b613f61816001615662565b93505b50613f13565b600260ff84161115613fad576040517ffe0e5d8b00000000000000000000000000000000000000000000000000000000815260ff841660048201526024016109da565b600080546040517fec12d8be0000000000000000000000000000000000000000000000000000000081526001600160a01b039091169063ec12d8be90613ff7908990600401615764565b602060405180830381865afa158015614014573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906140389190615675565b60ff16600681111561404c5761404c6156e4565b9050826006811115614060576140606156e4565b816006811115614072576140726156e4565b146140ab57806040517f87afe58e0000000000000000000000000000000000000000000000000000000081526004016109da9190615856565b60008060009054906101000a90046001600160a01b03166001600160a01b0316630505c8c96040518163ffffffff1660e01b8152600401602060405180830381865afa1580156140ff573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906141239190615603565b6040517fe0bec07600000000000000000000000000000000000000000000000000000000815230600482015260ff88166024820152604481018590526001600160a01b03919091169063e0bec07690606401602060405180830381865afa158015614192573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906141b69190615692565b9050806141ef576040517f88aebd1200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600160009054906101000a90046001600160a01b03166001600160a01b031663ae2a6df26040518163ffffffff1660e01b815260040160006040518083038186803b15801561423d57600080fd5b505afa158015614251573d6000803e3d6000fd5b5050505050505050505050565b60006fffffffffffffffffffffffffffffffff821115613df8576040517fc0188c4f000000000000000000000000000000000000000000000000000000008152600481018390526024016109da565b60006fffffffffffffffffffffffffffffffff6142ce838216858316615662565b106142ea57506fffffffffffffffffffffffffffffffff610f48565b6110a28284615897565b60007f86b4555c6e347ea3f038485b59b894986c208b67da7e65fcfa3707271608465f823561432960408501602086016153ce565b61433960608601604087016158c0565b61434960808701606088016153ce565b61435960a08801608089016153ce565b60a088013561436b60c08a018a6158dd565b604051614379929190615777565b6040805191829003822060208301999099528101969096526001600160a01b03948516606087015260ff909316608086015290831660a08501529190911660c083015260e082015261010081019190915261012001604051602081830303815290604052805190602001209050919050565b60008054604080517f06fdde0300000000000000000000000000000000000000000000000000000000815290517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f926001600160a01b0316916306fdde0391600480830192879291908290030181865afa15801561446d573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526144b39190810190615942565b8051602091820120604080518082018252600181527f310000000000000000000000000000000000000000000000000000000000000090840152805192830193909352918101919091527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a082015260c00160405160208183030381529060405280519060200120905090565b6145718361455a42613db3565b614563856145bd565b61456c856145bd565b6145fe565b505050565b6145718361458342613db3565b6145908561ffff166145bd565b61459d8561ffff166145bd565b614909565b60006145b160028484186159b0565b6110a290848416615662565b600061ffff821115613df8576040517fc0188c4f000000000000000000000000000000000000000000000000000000008152600481018390526024016109da565b835480156148475760006146178661216b600185615620565b60408051606081018252915465ffffffffffff80821680855261ffff66010000000000008404811660208701526801000000000000000090930490921692840192909252919250861610156146ed576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f51756f72756d20436865636b706f696e743a20696e76616c69642074696d657360448201527f74616d700000000000000000000000000000000000000000000000000000000060648201526084016109da565b805165ffffffffffff8087169116036147865760006147118761216b600186615620565b805461ffff86811668010000000000000000027fffffffffffffffffffffffffffffffffffffffffffff0000ffffffffffffffff918916660100000000000002919091167fffffffffffffffffffffffffffffffffffffffffffff00000000ffffffffffff9092169190911717905550614841565b6040805160608101825265ffffffffffff808816825261ffff80881660208085019182528883169585019586528b54600181018d5560008d81529190912094519401805491519551831668010000000000000000027fffffffffffffffffffffffffffffffffffffffffffff0000ffffffffffffffff969093166601000000000000027fffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000909216949093169390931792909217929092161790555b50614902565b6040805160608101825265ffffffffffff808716825261ffff80871660208085019182528783169585019586528a54600181018c5560008c81529190912094519401805491519551831668010000000000000000027fffffffffffffffffffffffffffffffffffffffffffff0000ffffffffffffffff969093166601000000000000027fffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000909216949093169390931792909217929092161790555b5050505050565b835480156148475760006149228661216b600185615620565b60408051606081018252915465ffffffffffff80821680855261ffff66010000000000008404811660208701526801000000000000000090930490921692840192909252919250861610156146ed576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602860248201527f506572696f642050637420436865636b706f696e743a20696e76616c6964207460448201527f696d657374616d7000000000000000000000000000000000000000000000000060648201526084016109da565b600060e08284031215614a0b57600080fd5b50919050565b600060208284031215614a2357600080fd5b813567ffffffffffffffff811115614a3a57600080fd5b61260a848285016149f9565b600060208284031215614a5857600080fd5b5035919050565b60ff81168114610c7257600080fd5b8035614a7981614a5f565b919050565b60008083601f840112614a9057600080fd5b50813567ffffffffffffffff811115614aa857600080fd5b6020830191508360208285010111156121c657600080fd5b600080600080600060808688031215614ad857600080fd5b8535614ae381614a5f565b9450602086013567ffffffffffffffff80821115614b0057600080fd5b614b0c89838a016149f9565b955060408801359150614b1e82614a5f565b90935060608701359080821115614b3457600080fd5b50614b4188828901614a7e565b969995985093965092949392505050565b80357fffffffff0000000000000000000000000000000000000000000000000000000081168114614a7957600080fd5b600060208284031215614b9457600080fd5b6110a282614b52565b6001600160a01b0381168114610c7257600080fd5b8035614a7981614b9d565b600080600080600060a08688031215614bd557600080fd5b8535614be081614b9d565b9450602086013567ffffffffffffffff811115614bfc57600080fd5b614c08888289016149f9565b9450506040860135614c1981614a5f565b94979396509394606081013594506080013592915050565b60008060408385031215614c4457600080fd5b50508035926020909101359150565b60208082528251828201829052805160408401819052600092916060919083019082860190855b81811015614cc357614cb3838551805165ffffffffffff16825260208082015161ffff9081169184019190915260409182015116910152565b9285019291840191600101614c7a565b5090979650505050505050565b803561ffff81168114614a7957600080fd5b60008060408385031215614cf557600080fd5b614cfe83614cd0565b9150614d0c60208401614cd0565b90509250929050565b8015158114610c7257600080fd5b600080600060608486031215614d3857600080fd5b833592506020840135614d4a81614b9d565b91506040840135614d5a81614d15565b809150509250925092565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051610120810167ffffffffffffffff81118282101715614db857614db8614d65565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715614e0557614e05614d65565b604052919050565b600067ffffffffffffffff821115614e2757614e27614d65565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b600082601f830112614e6457600080fd5b8135614e77614e7282614e0d565b614dbe565b818152846020838601011115614e8c57600080fd5b816020850160208301376000918101602001919091529392505050565b60008060008060008060008060008060006101408c8e031215614ecb57600080fd5b614ed48c614bb2565b9a50614ee260208d01614a6e565b9950614ef060408d01614bb2565b9850614efe60608d01614bb2565b975060808c0135965067ffffffffffffffff8060a08e01351115614f2157600080fd5b614f318e60a08f01358f01614a7e565b909750955060c08d0135811015614f4757600080fd5b50614f588d60c08e01358e01614e53565b9350614f6660e08d01614a6e565b92506101008c013591506101208c013590509295989b509295989b9093969950565b60008060008084860360e0811215614f9f57600080fd5b8535614faa81614b9d565b94506020860135614fba81614b9d565b93506040860135925060807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa082011215614ff357600080fd5b506040516080810181811067ffffffffffffffff8211171561501757615017614d65565b60405261502660608701614cd0565b815261503460808701614cd0565b602082015261504560a08701614cd0565b604082015261505660c08701614cd0565b6060820152939692955090935050565b60008060008060008060008060006101008a8c03121561508557600080fd5b893561509081614b9d565b985060208a01356150a081614a5f565b975060408a013567ffffffffffffffff808211156150bd57600080fd5b6150c98d838e016149f9565b985060608c013591506150db82614a5f565b90965060808b013590808211156150f157600080fd5b506150fe8c828d01614a7e565b90965094505060a08a013561511281614a5f565b8093505060c08a0135915060e08a013590509295985092959850929598565b60008060008060008060008060c0898b03121561514d57600080fd5b883561515881614a5f565b9750602089013561516881614b9d565b9650604089013561517881614b9d565b955060608901359450608089013567ffffffffffffffff8082111561519c57600080fd5b6151a88c838d01614a7e565b909650945060a08b01359150808211156151c157600080fd5b506151ce8b828c01614a7e565b999c989b5096995094979396929594505050565b600080604083850312156151f557600080fd5b823561520081614b9d565b9150614d0c60208401614b52565b60208082528251828201829052805160408401819052600092916060919083019082860190855b81811015614cc35761526e838551805165ffffffffffff16825260208082015161ffff9081169184019190915260409182015116910152565b9285019291840191600101615235565b8051614a7981614d15565b8051614a7981614b9d565b805167ffffffffffffffff81168114614a7957600080fd5b80516bffffffffffffffffffffffff81168114614a7957600080fd5b600061012082840312156152db57600080fd5b6152e3614d94565b825181526152f36020840161527e565b60208201526153046040840161527e565b60408201526153156060840161527e565b606082015261532660808401615289565b608082015261533760a08401615294565b60a082015261534860c08401615294565b60c082015261535960e084016152ac565b60e082015261010061536c8185016152ac565b908201529392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b67ffffffffffffffff8281168282160390808211156153c7576153c7615377565b5092915050565b6000602082840312156153e057600080fd5b81356110a281614b9d565b6000602082840312156153fd57600080fd5b6110a282615294565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006020828403121561544757600080fd5b815165ffffffffffff811681146110a257600080fd5b60006020828403121561546f57600080fd5b5051919050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b80358252600060208201356154d381614b9d565b6001600160a01b0390811660208501526040830135906154f282614a5f565b60ff821660408601526060840135915061550b82614b9d565b908116606085015260808301359061552282614b9d565b16608084015260a0828101359084015260c0820135368390037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe101811261556857600080fd5b820160208101903567ffffffffffffffff81111561558557600080fd5b80360382131561559457600080fd5b60e060c08601526155a960e086018284615476565b95945050505050565b60ff831681526060602082015260006155ce60608301846154bf565b828103604084015260008152602081019150509392505050565b6000602082840312156155fa57600080fd5b6110a2826152ac565b60006020828403121561561557600080fd5b81516110a281614b9d565b81810381811115610f4857610f48615377565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b80820180821115610f4857610f48615377565b60006020828403121561568757600080fd5b81516110a281614a5f565b6000602082840312156156a457600080fd5b81516110a281614d15565b6060815260006156c260608301866154bf565b90506001600160a01b038416602083015260ff83166040830152949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b8481526fffffffffffffffffffffffffffffffff84166020820152606060408201526000610ba0606083018486615476565b65ffffffffffff8281168282160390808211156153c7576153c7615377565b6020815260006110a260208301846154bf565b8183823760009101908152919050565b60005b838110156157a257818101518382015260200161578a565b50506000910152565b60ff8816815260006001600160a01b03808916602084015280881660408401525085606083015260c060808301526157e760c083018587615476565b82810360a08401528351808252615805816020840160208801615787565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016016020019998505050505050505050565b61ffff8181168382160190808211156153c7576153c7615377565b6020810160078310615891577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b91905290565b6fffffffffffffffffffffffffffffffff8181168382160190808211156153c7576153c7615377565b6000602082840312156158d257600080fd5b81356110a281614a5f565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261591257600080fd5b83018035915067ffffffffffffffff82111561592d57600080fd5b6020019150368190038213156121c657600080fd5b60006020828403121561595457600080fd5b815167ffffffffffffffff81111561596b57600080fd5b8201601f8101841361597c57600080fd5b805161598a614e7282614e0d565b81815285602083850101111561599f57600080fd5b6155a9826020830160208601615787565b6000826159e6577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b50049056fea164736f6c6343000817000a", + "nonce": "0x0", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x1a2d0544ed5a9e4bc89053b94fc8aedbb952071243a19530bfb61b8370e207bf", + "transactionType": "CREATE", + "contractName": "LlamaTokenVotingFactory", + "contractAddress": "0xFBE17545dffD75A92A5A72926AE581478973FE65", + "function": null, + "arguments": [ + "0x3f3DAB3ab8cEc2FBd06767c2A5F66Cb6BFF21A4A" + ], + "transaction": { + "type": "0x02", + "from": "0xb72276d9ff15c7998b9962ffcfb21a6c7249441b", + "gas": "0xc9127", + "value": "0x0", + "data": "0x60a060405234801561001057600080fd5b50604051610b16380380610b1683398101604081905261002f91610040565b6001600160a01b0316608052610070565b60006020828403121561005257600080fd5b81516001600160a01b038116811461006957600080fd5b9392505050565b608051610a8561009160003960008181604001526104390152610a856000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c806321618ea41461003b5780633ec857a51461008b575b600080fd5b6100627f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b61006261009936600461087b565b600080338360000151846040015185606001516040516020016100bf9493929190610959565b60405160208183030381529060405280519060200120905060006100e7846020015183610622565b60408086015190517f439fab9100000000000000000000000000000000000000000000000000000000815291925073ffffffffffffffffffffffffffffffffffffffff83169163439fab919161013f916004016109b9565b6020604051808303816000875af115801561015e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101829190610a0a565b50600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1663fc0c546a6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156101e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061020a9190610a33565b73ffffffffffffffffffffffffffffffffffffffff1603610257576040517f65f5b03400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517fcdfda4dd00000000000000000000000000000000000000000000000000000000815242600482015273ffffffffffffffffffffffffffffffffffffffff82169063cdfda4dd90602401602060405180830381865afa1580156102c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102e59190610a50565b65ffffffffffff16600003610326576040517f65f5b03400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff166391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865afa158015610371573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103959190610a50565b65ffffffffffff166000036103d6576040517f65f5b03400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1663ae2a6df26040518163ffffffff1660e01b815260040160006040518083038186803b15801561041c57600080fd5b505afa158015610430573d6000803e3d6000fd5b5050505061045e7f000000000000000000000000000000000000000000000000000000000000000083610622565b8451608086015160a0870151604080517f8734852a00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff948516600482015286851660248201526044810193909352815161ffff908116606485015260208301518116608485015290820151811660a48401526060909101511660c4820152919450841690638734852a9060e401600060405180830381600087803b15801561051757600080fd5b505af115801561052b573d6000803e3d6000fd5b505050508073ffffffffffffffffffffffffffffffffffffffff1663fc0c546a6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561057a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061059e9190610a33565b84516020808701516060808901516040805173ffffffffffffffffffffffffffffffffffffffff94851681528885169581019590955284015287821690830152466080830152928316929091169033907f4c8bb78cb1c62e64cef39fc4b4a1864d1a331a28c7bd59a67fe969cc8ab715879060a00160405180910390a45050919050565b6000763d602d80600a3d3981f3363d3d373d3d3d363d730000008360601b60e81c176000526e5af43d82803e903d91602b57fd5bf38360781b1760205281603760096000f5905073ffffffffffffffffffffffffffffffffffffffff81166106b6576040517fc2f868f400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405160c0810167ffffffffffffffff8111828210171561070e5761070e6106bc565b60405290565b73ffffffffffffffffffffffffffffffffffffffff8116811461073657600080fd5b50565b600082601f83011261074a57600080fd5b813567ffffffffffffffff80821115610765576107656106bc565b604051601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011681019082821181831017156107ab576107ab6106bc565b816040528381528660208588010111156107c457600080fd5b836020870160208301376000602085830101528094505050505092915050565b803561ffff811681146107f657600080fd5b919050565b60006080828403121561080d57600080fd5b6040516080810181811067ffffffffffffffff82111715610830576108306106bc565b60405290508061083f836107e4565b815261084d602084016107e4565b602082015261085e604084016107e4565b604082015261086f606084016107e4565b60608201525092915050565b60006020828403121561088d57600080fd5b813567ffffffffffffffff808211156108a557600080fd5b9083019061012082860312156108ba57600080fd5b6108c26106eb565b82356108cd81610714565b815260208301356108dd81610714565b60208201526040830135828111156108f457600080fd5b61090087828601610739565b60408301525060608301356060820152608083013560808201526109278660a085016107fb565b60a082015295945050505050565b60005b83811015610950578181015183820152602001610938565b50506000910152565b60007fffffffffffffffffffffffffffffffffffffffff000000000000000000000000808760601b168352808660601b1660148401525083516109a3816028850160208801610935565b6028920191820192909252604801949350505050565b60208152600082518060208401526109d8816040850160208701610935565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169190910160400192915050565b600060208284031215610a1c57600080fd5b81518015158114610a2c57600080fd5b9392505050565b600060208284031215610a4557600080fd5b8151610a2c81610714565b600060208284031215610a6257600080fd5b815165ffffffffffff81168114610a2c57600080fdfea164736f6c6343000817000a0000000000000000000000003f3dab3ab8cec2fbd06767c2a5f66cb6bff21a4a", + "nonce": "0x1", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xf6ff2b972ab14d51fcbc265162045e592e24b3ce3d6b5b1b3951a271d4427974", + "transactionType": "CREATE", + "contractName": "LlamaTokenAdapterVotesTimestamp", + "contractAddress": "0x088C268cb00226D6A9b29e5488905Aa94D2f0239", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0xb72276d9ff15c7998b9962ffcfb21a6c7249441b", + "gas": "0x10d28c", + "value": "0x0", + "data": "0x608060405234801561001057600080fd5b5061001961001e565b6100d0565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff161561006e5760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b03908116146100cd5780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b610df5806100df6000396000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c8063ae2a6df21161005b578063ae2a6df21461010a578063cdfda4dd14610114578063edb8ee5a14610127578063fc0c546a1461013a57600080fd5b8063439fab911461008d5780634bf5d7e9146100b557806391ddadf4146100ca5780639556de73146100e9575b600080fd5b6100a061009b3660046108e4565b61017f565b60405190151581526020015b60405180910390f35b6100bd6103a1565b6040516100ac9190610988565b6100d261042f565b60405165ffffffffffff90911681526020016100ac565b6100fc6100f7366004610a12565b6104e9565b6040519081526020016100ac565b610112610593565b005b6100d2610122366004610a4b565b6105ef565b6100fc610135366004610a64565b610600565b60005461015a9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100ac565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0080546000919068010000000000000000810460ff16159067ffffffffffffffff1683811580156101cd5750825b905060008267ffffffffffffffff1660011480156101ea5750303b155b9050811580156101f8575080155b1561022f576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b84547fffffffffffffffffffffffffffffffffffffffffffffffff000000000000000016600117855583156102905784547fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff16680100000000000000001785555b6000878060200190518101906102a69190610a81565b8051600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff90921691909117905560408051808201909152600e81527f6d6f64653d74696d657374616d7000000000000000000000000000000000000060208201529091506001906103309082610b71565b50600196505083156103975784547fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b5050505050919050565b600180546103ae90610acd565b80601f01602080910402602001604051908101604052809291908181526020018280546103da90610acd565b80156104275780601f106103fc57610100808354040283529160200191610427565b820191906000526020600020905b81548152906001019060200180831161040a57829003601f168201915b505050505081565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156104d7575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682019092526104d491810190610c8b565b60015b6104e4576104e44261069b565b905090565b600080546040517f3a46b1a800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff858116600483015265ffffffffffff8516602483015290911690633a46b1a890604401602060405180830381865afa158015610568573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061058c9190610ca8565b9392505050565b600061059d6106e8565b905060006105a9610712565b905081806105b45750805b156105eb576040517f6ff0714000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050565b60006105fa8261069b565b92915050565b600080546040517f8e539e8c00000000000000000000000000000000000000000000000000000000815265ffffffffffff8416600482015273ffffffffffffffffffffffffffffffffffffffff90911690638e539e8c90602401602060405180830381865afa158015610677573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105fa9190610ca8565b600065ffffffffffff8211156106e4576040517fc0188c4f0000000000000000000000000000000000000000000000000000000081526004810183905260240160405180910390fd5b5090565b60006106f34261069b565b65ffffffffffff1661070361042f565b65ffffffffffff161415905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16634bf5d7e96040518163ffffffff1660e01b8152600401600060405180830381865afa9250505080156107bf57506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526107bc9190810190610cc1565b60015b6107c95750600090565b60016040516020016107db9190610d38565b60405160208183030381529060405280519060200120816040516020016108029190610dcc565b60405160208183030381529060405280519060200120141591505090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff8111828210171561089657610896610820565b604052919050565b600067ffffffffffffffff8211156108b8576108b8610820565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b6000602082840312156108f657600080fd5b813567ffffffffffffffff81111561090d57600080fd5b8201601f8101841361091e57600080fd5b803561093161092c8261089e565b61084f565b81815285602083850101111561094657600080fd5b81602084016020830137600091810160200191909152949350505050565b60005b8381101561097f578181015183820152602001610967565b50506000910152565b60208152600082518060208401526109a7816040850160208701610964565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169190910160400192915050565b73ffffffffffffffffffffffffffffffffffffffff811681146109fb57600080fd5b50565b65ffffffffffff811681146109fb57600080fd5b60008060408385031215610a2557600080fd5b8235610a30816109d9565b91506020830135610a40816109fe565b809150509250929050565b600060208284031215610a5d57600080fd5b5035919050565b600060208284031215610a7657600080fd5b813561058c816109fe565b600060208284031215610a9357600080fd5b6040516020810181811067ffffffffffffffff82111715610ab657610ab6610820565b6040528251610ac4816109d9565b81529392505050565b600181811c90821680610ae157607f821691505b602082108103610b1a577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b601f821115610b6c576000816000526020600020601f850160051c81016020861015610b495750805b601f850160051c820191505b81811015610b6857828155600101610b55565b5050505b505050565b815167ffffffffffffffff811115610b8b57610b8b610820565b610b9f81610b998454610acd565b84610b20565b602080601f831160018114610bf25760008415610bbc5750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b178555610b68565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b82811015610c3f57888601518255948401946001909101908401610c20565b5085821015610c7b57878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b600060208284031215610c9d57600080fd5b815161058c816109fe565b600060208284031215610cba57600080fd5b5051919050565b600060208284031215610cd357600080fd5b815167ffffffffffffffff811115610cea57600080fd5b8201601f81018413610cfb57600080fd5b8051610d0961092c8261089e565b818152856020838501011115610d1e57600080fd5b610d2f826020830160208601610964565b95945050505050565b6000808354610d4681610acd565b60018281168015610d5e5760018114610d9157610dc0565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0084168752821515830287019450610dc0565b8760005260208060002060005b85811015610db75781548a820152908401908201610d9e565b50505082870194505b50929695505050505050565b60008251610dde818460208701610964565b919091019291505056fea164736f6c6343000817000a", + "nonce": "0x2", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [ + "0xf132855b3de789edb51406d4fac93f03eaa9d4691ce7482c556f808eb77219ea", + "0x1a2d0544ed5a9e4bc89053b94fc8aedbb952071243a19530bfb61b8370e207bf", + "0xf6ff2b972ab14d51fcbc265162045e592e24b3ce3d6b5b1b3951a271d4427974" + ], + "returns": {}, + "timestamp": 1704995573, + "chain": 10, + "multi": false, + "commit": "688208a" +} \ No newline at end of file diff --git a/broadcast/DeployLlamaTokenVotingFactory.s.sol/10/run-1704995579.json b/broadcast/DeployLlamaTokenVotingFactory.s.sol/10/run-1704995579.json new file mode 100644 index 0000000..d8e12df --- /dev/null +++ b/broadcast/DeployLlamaTokenVotingFactory.s.sol/10/run-1704995579.json @@ -0,0 +1,148 @@ +{ + "transactions": [ + { + "hash": "0xf132855b3de789edb51406d4fac93f03eaa9d4691ce7482c556f808eb77219ea", + "transactionType": "CREATE", + "contractName": "LlamaTokenGovernor", + "contractAddress": "0x3f3DAB3ab8cEc2FBd06767c2A5F66Cb6BFF21A4A", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0xb72276d9ff15c7998b9962ffcfb21a6c7249441b", + "gas": "0x6398ff", + "value": "0x0", + "data": "0x60806040523480156200001157600080fd5b506200001c62000022565b620000d6565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff1615620000735760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b0390811614620000d35780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b6159f880620000e66000396000f3fe608060405234801561001057600080fd5b50600436106101da5760003560e01c80637e4a56bb11610104578063b92cdd9a116100a2578063cae3bdff11610071578063cae3bdff1461053d578063dcae21b714610552578063e45061ea14610565578063e5589b9d1461057857600080fd5b8063b92cdd9a146104e4578063b9b2cf6c146104f7578063c193c2691461050a578063c26c12eb1461053557600080fd5b80638734852a116100de5780638734852a1461049857806396ff6e2e146104ab578063a1d9b412146104be578063b3c678b0146104d157600080fd5b80637e4a56bb1461046a5780637ed7238e14610472578063807ad1141461048557600080fd5b80633fed8f161161017c57806359e5332d1161014b57806359e5332d1461036457806364f6b3161461037b5780637186dd9c1461038e57806374f717cd1461044757600080fd5b80633fed8f16146103165780634d61ebf4146103365780634ec0ab1c1461033e578063509c5fbd1461035157600080fd5b806319a39740116101b857806319a397401461025b5780631e127ddf1461026e578063372fa8e8146102c25780633df91222146102d557600080fd5b80630669b1ce146101df57806311f900b5146101f45780631650080714610227575b600080fd5b6101f26101ed366004614a11565b61058b565b005b610207610202366004614a46565b610b79565b6040805161ffff9384168152929091166020830152015b60405180910390f35b61023a610235366004614ac0565b610b90565b6040516fffffffffffffffffffffffffffffffff909116815260200161021e565b6101f2610269366004614a46565b610baa565b6101f261027c366004614b82565b3360009081526007602090815260408083207fffffffff000000000000000000000000000000000000000000000000000000009490941683529290522080546001019055565b6101f26102d0366004614bbd565b610c75565b6102fe6102e3366004614a46565b6005602052600090815260409020546001600160a01b031681565b6040516001600160a01b03909116815260200161021e565b610329610324366004614c31565b610d76565b60405161021e9190614c53565b610207610f4e565b6101f261034c366004614ce2565b610f63565b61023a61035f366004614ac0565b611030565b61036d60025481565b60405190815260200161021e565b6000546102fe906001600160a01b031681565b6103fc61039c366004614a46565b6006602052600090815260409020805460018201546002909201546fffffffffffffffffffffffffffffffff8083169370010000000000000000000000000000000093849004821693818316939181900483169282811692919091041686565b604080516fffffffffffffffffffffffffffffffff978816815295871660208701529386169385019390935290841660608401528316608083015290911660a082015260c00161021e565b61045a610455366004614d23565b611040565b604051901515815260200161021e565b6103296110a9565b61036d610480366004614ea9565b61114c565b6001546102fe906001600160a01b031681565b6101f26104a6366004614f88565b611263565b61023a6104b9366004615066565b6114b5565b61023a6104cc366004615066565b6115c6565b61036d6104df366004615131565b6116c7565b6101f26104f2366004614a11565b61171c565b6101f2610505366004614ce2565b611726565b61036d6105183660046151e2565b600760209081526000928352604080842090915290825290205481565b6102076117ef565b6105456117fc565b60405161021e919061520e565b610545610560366004614c31565b61188f565b6101f2610573366004614a11565b611a4d565b610207610586366004614a46565b612026565b600080546040517fb6e76873000000000000000000000000000000000000000000000000000000008152833560048201526001600160a01b039091169063b6e768739060240161012060405180830381865afa1580156105ef573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061061391906152c8565b9050600060018260a0015161062891906153a6565b67ffffffffffffffff169050600160009054906101000a90046001600160a01b03166001600160a01b031663ae2a6df26040518163ffffffff1660e01b815260040160006040518083038186803b15801561068257600080fd5b505afa158015610696573d6000803e3d6000fd5b505050506000806000806106b485600461203490919063ffffffff16565b909250905060006106cb6080890160608a016153ce565b6001600160a01b031663b02bd9206040518163ffffffff1660e01b8152600401602060405180830381865afa158015610708573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061072c91906153eb565b67ffffffffffffffff16905061271061ffff8416820204818860c0015167ffffffffffffffff16030194506127108261ffff1682028161076e5761076e615406565b04850193508342116107ac576040517f038d8a6a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8660c0015167ffffffffffffffff1642106107f3576040517f08c8d62700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050843560009081526006602052604080822060015491517fcdfda4dd000000000000000000000000000000000000000000000000000000008152600481018690529092916001600160a01b03169063edb8ee5a90829063cdfda4dd90602401602060405180830381865afa158015610871573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108959190615435565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b16815265ffffffffffff9091166004820152602401602060405180830381865afa1580156108f0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610914919061545d565b600183015460028401549192506fffffffffffffffffffffffffffffffff7001000000000000000000000000000000009182900481169291820481169116600061095f60038a6121cd565b9150506000610975868361ffff166127106122d8565b905080856fffffffffffffffffffffffffffffffff1610156109e3576040517fbfb9aa550000000000000000000000000000000000000000000000000000000081526fffffffffffffffffffffffffffffffff86166004820152602481018290526044015b60405180910390fd5b836fffffffffffffffffffffffffffffffff16856fffffffffffffffffffffffffffffffff1611610a5c576040517f8a0df63f0000000000000000000000000000000000000000000000000000000081526fffffffffffffffffffffffffffffffff8087166004830152851660248201526044016109da565b6000610a7b8d6060016020810190610a7491906153ce565b600061231c565b905060008054906101000a90046001600160a01b03166001600160a01b03166394004706828f6040518363ffffffff1660e01b8152600401610abe9291906155b2565b6020604051808303816000875af1158015610add573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b0191906155e8565b50604080518e3581526fffffffffffffffffffffffffffffffff808916602083015280881692820192909252908516606082015260ff82169033907ff5bc433f16cc3d0e9fcb5ac4f8de9f17eb90de1fd2a9ede5952c2097d4ef1a59906080015b60405180910390a350505050505050505050505050565b600080610b87600484612034565b91509150915091565b6000610ba0338787878787612612565b9695505050505050565b60008054906101000a90046001600160a01b03166001600160a01b031663c34c08e56040518163ffffffff1660e01b8152600401602060405180830381865afa158015610bfb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c1f9190615603565b6001600160a01b0316336001600160a01b031614610c69576040517f26bee1ce00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610c7281612c5e565b50565b6000610c818686612e2e565b6040805160008082526020820180845284905260ff88169282019290925260608101869052608081018590529192509060019060a0016020604051602081039080840390855afa158015610cd9573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001519150506001600160a01b0381161580610d2c5750866001600160a01b0316816001600160a01b031614155b15610d63576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610d6d8187612f50565b50505050505050565b60408051602081019091526060815281831115610dbf576040517f2cd4dad300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60045480831115610dfc576040517f2cd4dad300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610e088585615620565b905060008167ffffffffffffffff811115610e2557610e25614d65565b604051908082528060200260200182016040528015610e8e57816020015b60408051606081018252600080825260208083018290529282015282527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff909201910181610e435790505b509050855b85811015610f34576004805482908110610eaf57610eaf615633565b600091825260209182902060408051606081018252919092015465ffffffffffff8116825261ffff660100000000000082048116948301949094526801000000000000000090049092169082015282610f088984615620565b81518110610f1857610f18615633565b6020026020010181905250610f2d8160010190565b9050610e93565b506040805160208101909152908152925050505b92915050565b600080610f5b6004613063565b915091509091565b60008054906101000a90046001600160a01b03166001600160a01b031663c34c08e56040518163ffffffff1660e01b8152600401602060405180830381865afa158015610fb4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fd89190615603565b6001600160a01b0316336001600160a01b031614611022576040517f26bee1ce00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61102c82826130db565b5050565b6000610ba03387878787876131cf565b60008115611077575060008381526006602090815260408083206001600160a01b038616845260030190915290205460ff166110a2565b5060008381526006602090815260408083206001600160a01b038616845260040190915290205460ff165b9392505050565b6040805160208101909152606081526040805160048054602081810284018501855283018181529293919284929091849160009085015b8282101561113f576000848152602090819020604080516060810182529185015465ffffffffffff8116835261ffff660100000000000082048116848601526801000000000000000090910416908201528252600190920191016110e0565b5050505081525050905090565b60008061115f8d8d8d8d8d8d8d8d613714565b6040805160008082526020820180845284905260ff89169282019290925260608101879052608081018690529192509060019060a0016020604051602081039080840390855afa1580156111b7573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001519150506001600160a01b038116158061120a57508d6001600160a01b0316816001600160a01b031614155b15611241576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611251818e8e8e8e8e8e8e613885565b9e9d5050505050505050505050505050565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000810460ff16159067ffffffffffffffff166000811580156112ae5750825b905060008267ffffffffffffffff1660011480156112cb5750303b155b9050811580156112d9575080155b15611310576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b84547fffffffffffffffffffffffffffffffffffffffffffffffff000000000000000016600117855583156113715784547fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff16680100000000000000001785555b886001600160a01b0316639bccfe496040518163ffffffff1660e01b8152600401602060405180830381865afa1580156113af573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113d3919061545d565b50600080546001600160a01b03808c167fffffffffffffffffffffffff00000000000000000000000000000000000000009283161790925560018054928b169290911691909117905561142587612c5e565b611437866000015187602001516130db565b61144986604001518760600151613b89565b83156114aa5784547fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b505050505050505050565b6000806114c68b8b8b8b8b8b613c26565b6040805160008082526020820180845284905260ff89169282019290925260608101879052608081018690529192509060019060a0016020604051602081039080840390855afa15801561151e573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001519150506001600160a01b038116158061157157508b6001600160a01b0316816001600160a01b031614155b156115a8576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6115b6818c8c8c8c8c6131cf565b9c9b505050505050505050505050565b6000806115d78b8b8b8b8b8b613d84565b6040805160008082526020820180845284905260ff89169282019290925260608101879052608081018690529192509060019060a0016020604051602081039080840390855afa15801561162f573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001519150506001600160a01b038116158061168257508b6001600160a01b0316816001600160a01b031614155b156116b9576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6115b6818c8c8c8c8c612612565b600061170f338a8a8a8a8a8a8a8a8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061388592505050565b9998505050505050505050565b610c723382612f50565b60008054906101000a90046001600160a01b03166001600160a01b031663c34c08e56040518163ffffffff1660e01b8152600401602060405180830381865afa158015611777573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061179b9190615603565b6001600160a01b0316336001600160a01b0316146117e5576040517f26bee1ce00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61102c8282613b89565b600080610f5b6003613063565b604080516020810190915260608152604080516003805460208082028401850185528301818152929391928492909184916000908501821561113f576000848152602090819020604080516060810182529185015465ffffffffffff8116835261ffff660100000000000082048116848601526801000000000000000090910416908201528252600190920191016110e0565b604080516020810190915260608152818311156118d8576040517f2cd4dad300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60035480831115611915576040517f2cd4dad300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006119218585615620565b905060008167ffffffffffffffff81111561193e5761193e614d65565b6040519080825280602002602001820160405280156119a757816020015b60408051606081018252600080825260208083018290529282015282527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90920191018161195c5790505b509050855b85811015610f345760038054829081106119c8576119c8615633565b600091825260209182902060408051606081018252919092015465ffffffffffff8116825261ffff660100000000000082048116948301949094526801000000000000000090049092169082015282611a218984615620565b81518110611a3157611a31615633565b6020026020010181905250611a468160010190565b90506119ac565b600080546040517fb6e76873000000000000000000000000000000000000000000000000000000008152833560048201526001600160a01b039091169063b6e768739060240161012060405180830381865afa158015611ab1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ad591906152c8565b9050600060018260a00151611aea91906153a6565b67ffffffffffffffff169050600160009054906101000a90046001600160a01b03166001600160a01b031663ae2a6df26040518163ffffffff1660e01b815260040160006040518083038186803b158015611b4457600080fd5b505afa158015611b58573d6000803e3d6000fd5b50505050600080600080611b7685600461203490919063ffffffff16565b90925090506000611b8d6080890160608a016153ce565b6001600160a01b0316637999762c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611bca573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bee91906153eb565b67ffffffffffffffff16905061271061ffff84168202048760a0015167ffffffffffffffff160194506127108261ffff16820281611c2e57611c2e615406565b0485019350834211611c6c576040517f038d8a6a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b808760a0015167ffffffffffffffff16611c869190615662565b421115611cbf576040517f08c8d62700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050843560009081526006602052604080822060015491517fcdfda4dd000000000000000000000000000000000000000000000000000000008152600481018690529092916001600160a01b03169063edb8ee5a90829063cdfda4dd90602401602060405180830381865afa158015611d3d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d619190615435565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b16815265ffffffffffff9091166004820152602401602060405180830381865afa158015611dbc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611de0919061545d565b825460018401549192506fffffffffffffffffffffffffffffffff808216928116917001000000000000000000000000000000009004166000611e2460038a6121cd565b5090506000611e3a868361ffff166127106122d8565b905080856fffffffffffffffffffffffffffffffff161015611ea3576040517f0425fab10000000000000000000000000000000000000000000000000000000081526fffffffffffffffffffffffffffffffff86166004820152602481018290526044016109da565b836fffffffffffffffffffffffffffffffff16856fffffffffffffffffffffffffffffffff1611611f1c576040517f8a0df63f0000000000000000000000000000000000000000000000000000000081526fffffffffffffffffffffffffffffffff8087166004830152851660248201526044016109da565b6000611f3b8d6060016020810190611f3491906153ce565b600161231c565b905060008054906101000a90046001600160a01b03166001600160a01b03166389e7d126828f6040518363ffffffff1660e01b8152600401611f7e9291906155b2565b6020604051808303816000875af1158015611f9d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fc191906155e8565b50604080518e3581526fffffffffffffffffffffffffffffffff808916602083015280881692820192909252908516606082015260ff82169033907ff23279e924757f3bfe4f543bc1b43685e851d6ace53f8518b806dcd8d42fc13990608001610b62565b600080610b876003846121cd565b6000804283106120c6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f506572696f64506374436865636b706f696e74733a2074696d657374616d702060448201527f6973206e6f7420696e207468652070617374000000000000000000000000000060648201526084016109da565b60006120d184613db3565b855490915060008160058111156121315760006120ed84613dfc565b6120f79085615620565b60008a81526020902090915081015465ffffffffffff90811690861610156121215780915061212f565b61212c816001615662565b92505b505b600061213f89868585613eae565b90508060000361215a576000809650965050505050506121c6565b60006121798a61216b600185615620565b600091825260209091200190565b60408051606081018252915465ffffffffffff8116835261ffff66010000000000008204811660208501819052680100000000000000009092041692909101829052985096505050505050505b9250929050565b60008042831061225f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602f60248201527f51756f72756d436865636b706f696e74733a2074696d657374616d702069732060448201527f6e6f7420696e207468652070617374000000000000000000000000000000000060648201526084016109da565b600061226a84613db3565b855490915060008160058111156122ca57600061228684613dfc565b6122909085615620565b60008a81526020902090915081015465ffffffffffff90811690861610156122ba578091506122c8565b6122c5816001615662565b92505b505b600061213f89868585613f10565b6000827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048411830215820261230d57600080fd5b50910281810615159190040190565b60008054604080517f0505c8c9000000000000000000000000000000000000000000000000000000008152905183926001600160a01b031691630505c8c99160048083019260209291908290030181865afa15801561237f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123a39190615603565b6001600160a01b0316638b2ed3886040518163ffffffff1660e01b8152600401602060405180830381865afa1580156123e0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124049190615675565b905060015b8160ff16811161253b57836124a1576040517fc167ebae00000000000000000000000000000000000000000000000000000000815260ff821660048201526001600160a01b0386169063c167ebae90602401602060405180830381865afa158015612478573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061249c9190615692565b612525565b6040517ffb847c4300000000000000000000000000000000000000000000000000000000815260ff821660048201526001600160a01b0386169063fb847c4390602401602060405180830381865afa158015612501573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125259190615692565b15612533579150610f489050565b600101612409565b50826125a857836001600160a01b03166312a52f006040518163ffffffff1660e01b8152600401602060405180830381865afa15801561257f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125a39190615675565b61260a565b836001600160a01b03166366cacdc96040518163ffffffff1660e01b8152600401602060405180830381865afa1580156125e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061260a9190615675565b949350505050565b600080546040517fb6e768730000000000000000000000000000000000000000000000000000000081528635600482015282916001600160a01b03169063b6e768739060240161012060405180830381865afa158015612676573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061269a91906152c8565b9050600060018260a001516126af91906153a6565b8735600090815260066020526040902067ffffffffffffffff9190911691506126de6080890160608a016153ce565b6001600160a01b03166302674e4b89308c6040518463ffffffff1660e01b815260040161270d939291906156af565b60006040518083038186803b15801561272557600080fd5b505afa158015612739573d6000803e3d6000fd5b505050506001600160a01b038a16600090815260048201602052604090205460ff1615612792576040517f9dd6544b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6127a0888a89600486613f6a565b60008080806127b0600487612034565b909250905060006127c760808e0160608f016153ce565b6001600160a01b031663b02bd9206040518163ffffffff1660e01b8152600401602060405180830381865afa158015612804573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061282891906153eb565b67ffffffffffffffff16905061271061ffff8416820204818960c0015167ffffffffffffffff16030194506127108261ffff1682028161286a5761286a615406565b04850193508442116128a8576040517fd0b72b4900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b834211156128e2576040517f5b73d19300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050506000612a25600160009054906101000a90046001600160a01b03166001600160a01b0316639556de738f600160009054906101000a90046001600160a01b03166001600160a01b031663cdfda4dd886040518263ffffffff1660e01b815260040161295291815260200190565b602060405180830381865afa15801561296f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906129939190615435565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b1681526001600160a01b03909216600483015265ffffffffffff166024820152604401602060405180830381865afa1580156129fc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a20919061545d565b61425e565b905060ff8a16612a9e576002840154612a649070010000000000000000000000000000000090046fffffffffffffffffffffffffffffffff16826142ad565b6002850180546fffffffffffffffffffffffffffffffff928316700100000000000000000000000000000000029216919091179055612bc6565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60ff8b1601612b37576001840154612afd9070010000000000000000000000000000000090046fffffffffffffffffffffffffffffffff16826142ad565b6001850180546fffffffffffffffffffffffffffffffff928316700100000000000000000000000000000000029216919091179055612bc6565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe60ff8b1601612bc6576002840154612b82906fffffffffffffffffffffffffffffffff16826142ad565b6002850180547fffffffffffffffffffffffffffffffff00000000000000000000000000000000166fffffffffffffffffffffffffffffffff929092169190911790555b6001600160a01b038d1660008181526004860160205260409081902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790555160ff8c1691907f4e3e2ad68670a2709cb408c31c5afd8da0b6d3d06c75b11feb404a455639fe7c90612c46908f359086908f908f90615713565b60405180910390a39c9b505050505050505050505050565b60018054604080517f91ddadf400000000000000000000000000000000000000000000000000000000815290516000936001600160a01b039093169263edb8ee5a92909184916391ddadf49160048083019260209291908290030181865afa158015612cce573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612cf29190615435565b612cfc9190615745565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b16815265ffffffffffff9091166004820152602401602060405180830381865afa158015612d57573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612d7b919061545d565b905080600003612db7576040517f34bbd58500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80821115612df1576040517f8a5e746800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60028290556040518281527fd91a985c173545ab0e0bd11c021a1ae84c1ea6eab9350d9bf3812d5b8bff49a4906020015b60405180910390a15050565b6000807f6da9390b4f29da2c44fa5a9da00b392393d01e989d16e4a3dec5a538318e352584612e5c856142f4565b6001600160a01b03871660009081526007602090815260408083207fffffffff00000000000000000000000000000000000000000000000000000000843516845290915290208054600181019091556040805160208101959095526001600160a01b03909316928401929092526060830152608082015260a001604051602081830303815290604052805190602001209050612ef66143eb565b6040517f190100000000000000000000000000000000000000000000000000000000000060208201526022810191909152604281018290526062016040516020818303038152906040528051906020012091505092915050565b80356000908152600560205260409020546001600160a01b03838116911614612fa5576040517f86ba025600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000546040517fb92cdd9a0000000000000000000000000000000000000000000000000000000081526001600160a01b039091169063b92cdd9a90612fee908490600401615764565b600060405180830381600087803b15801561300857600080fd5b505af115801561301c573d6000803e3d6000fd5b5050604051833581526001600160a01b03851692507fdcccc5725b7256a6975da00de8953e5d326756a3079d203ff6df9e52331f411a915060200160405180910390a25050565b8054600090819080820361307d5750600093849350915050565b600061308e8561216b600185615620565b60408051606081018252915465ffffffffffff8116835261ffff66010000000000008204811660208501819052680100000000000000009092041692909101829052969095509350505050565b6127108261ffff1611806130f1575061ffff8216155b1561312e576040517f8f6febc000000000000000000000000000000000000000000000000000000000815261ffff831660048201526024016109da565b6127108161ffff161180613144575061ffff8116155b15613181576040517f3bec511c00000000000000000000000000000000000000000000000000000000815261ffff821660048201526024016109da565b613194600361ffff80851690841661454d565b6040805161ffff8085168252831660208201527f77c3f43700db02acb49792bbf699b39f72c2ed4b920bd5c0b1843dcd7c832f4c9101612e22565b600080546040517fb6e768730000000000000000000000000000000000000000000000000000000081528635600482015282916001600160a01b03169063b6e768739060240161012060405180830381865afa158015613233573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061325791906152c8565b9050600060018260a0015161326c91906153a6565b8735600090815260066020526040902067ffffffffffffffff91909116915061329b6080890160608a016153ce565b6001600160a01b0316631a2a4e7789308c6040518463ffffffff1660e01b81526004016132ca939291906156af565b60006040518083038186803b1580156132e257600080fd5b505afa1580156132f6573d6000803e3d6000fd5b505050506001600160a01b038a16600090815260038201602052604090205460ff161561334f576040517f9dd6544b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61335d888a89600086613f6a565b600080808061336d600487612034565b9092509050600061338460808e0160608f016153ce565b6001600160a01b0316637999762c6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156133c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906133e591906153eb565b67ffffffffffffffff16905061271061ffff84168202048860a0015167ffffffffffffffff160194506127108261ffff1682028161342557613425615406565b0485019350844211613463576040517fd0b72b4900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8342111561349d576040517f5b73d19300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050600061350d600160009054906101000a90046001600160a01b03166001600160a01b0316639556de738f600160009054906101000a90046001600160a01b03166001600160a01b031663cdfda4dd886040518263ffffffff1660e01b815260040161295291815260200190565b905060ff8a16613580576001840154613538906fffffffffffffffffffffffffffffffff16826142ad565b6001850180547fffffffffffffffffffffffffffffffff00000000000000000000000000000000166fffffffffffffffffffffffffffffffff92909216919091179055613694565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60ff8b16016136095783546135c8906fffffffffffffffffffffffffffffffff16826142ad565b84547fffffffffffffffffffffffffffffffff00000000000000000000000000000000166fffffffffffffffffffffffffffffffff91909116178455613694565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe60ff8b16016136945783546136659070010000000000000000000000000000000090046fffffffffffffffffffffffffffffffff16826142ad565b84546fffffffffffffffffffffffffffffffff9182167001000000000000000000000000000000000291161784555b6001600160a01b038d1660008181526003860160205260409081902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790555160ff8c1691907f761cce3a1af5d9cfc0d57222f605ce4bd2be345f0ad9ebb7b83a84a91a0c201490612c46908f359086908f908f90615713565b6001600160a01b03881660009081526007602090815260408083207fffffffff000000000000000000000000000000000000000000000000000000008435168452909152812080546001810190915560007fd1fab1c7b3b37134662e5867b00e272eb49f7be0a890df29e802c3cc66c06f838b8b8b8b8b8b8b60405161379b929190615777565b604080519182900382208c516020808f0191909120908401999099526001600160a01b039788169183019190915260ff90951660608201529285166080840152931660a082015260c081019290925260e08201526101008101919091526101208101839052610140016040516020818303038152906040528051906020012090506138246143eb565b6040517f19010000000000000000000000000000000000000000000000000000000000006020820152602281019190915260428101829052606201604051602081830303815290604052805190602001209250505098975050505050505050565b600154604080517fae2a6df200000000000000000000000000000000000000000000000000000000815290516000926001600160a01b03169163ae2a6df29160048083019286929190829003018186803b1580156138e257600080fd5b505afa1580156138f6573d6000803e3d6000fd5b505060018054604080517f91ddadf40000000000000000000000000000000000000000000000000000000081529051600095506001600160a01b039092169350639556de73928e92909185916391ddadf4916004808201926020929091908290030181865afa15801561396d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906139919190615435565b61399b9190615745565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b1681526001600160a01b03909216600483015265ffffffffffff166024820152604401602060405180830381865afa158015613a04573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613a28919061545d565b9050600254811015613a69576040517f92665351000000000000000000000000000000000000000000000000000000008152600481018290526024016109da565b6000546040517fb3c678b00000000000000000000000000000000000000000000000000000000081526001600160a01b039091169063b3c678b090613abe908c908c908c908c908c908c908c906004016157ab565b6020604051808303816000875af1158015613add573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613b01919061545d565b60008181526005602090815260409182902080547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b038f16908117909155915183815292945090917f1834dfd49255741a8ce9a9bd66b91b64d13622e1d8170e4c78ac91f9ec50a542910160405180910390a25098975050505050505050565b612710613b96828461583b565b61ffff1610613bdf576040517f519dd38400000000000000000000000000000000000000000000000000000000815261ffff8084166004830152821660248201526044016109da565b613beb60048383614576565b6040805161ffff8085168252831660208201527f8df7bdcce333d9e1b85e40782fb2f293c805761d3f48aaea58865e9541e44c709101612e22565b6000807fd7be168a3509af358f222ee35ee76aba47bc5fc2c35061cdce3958f510b7b1b28888613c55896142f4565b888888604051613c66929190615777565b60408051918290039091206001600160a01b038f166000908152600760209081528382207fffffffff0000000000000000000000000000000000000000000000000000000083351683529052919091208054600181019091556040805160208101989098526001600160a01b039096169587019590955260ff938416606087015260808601929092529190911660a084015260c083015260e082015261010001604051602081830303815290604052805190602001209050613d266143eb565b6040517f19010000000000000000000000000000000000000000000000000000000000006020820152602281019190915260428101829052606201604051602081830303815290604052805190602001209150509695505050505050565b6000807fa87058c5a9888e7af4405a932381d5a4612c61354bc3e52e9ea361ba17703fb38888613c55896142f4565b600065ffffffffffff821115613df8576040517fc0188c4f000000000000000000000000000000000000000000000000000000008152600481018390526024016109da565b5090565b60b581710100000000000000000000000000000000008110613e235760409190911b9060801c5b69010000000000000000008110613e3f5760209190911b9060401c5b650100000000008110613e575760109190911b9060201c5b63010000008110613e6d5760089190911b9060101c5b62010000010260121c80820401600190811c80830401811c80830401811c80830401811c80830401811c80830401811c80830401901c908190048111900390565b60005b81831015613f08576000613ec584846145a2565b60008781526020902090915065ffffffffffff86169082015465ffffffffffff161115613ef457809250613f02565b613eff816001615662565b93505b50613eb1565b509392505050565b60005b81831015613f08576000613f2784846145a2565b60008781526020902090915065ffffffffffff86169082015465ffffffffffff161115613f5657809250613f64565b613f61816001615662565b93505b50613f13565b600260ff84161115613fad576040517ffe0e5d8b00000000000000000000000000000000000000000000000000000000815260ff841660048201526024016109da565b600080546040517fec12d8be0000000000000000000000000000000000000000000000000000000081526001600160a01b039091169063ec12d8be90613ff7908990600401615764565b602060405180830381865afa158015614014573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906140389190615675565b60ff16600681111561404c5761404c6156e4565b9050826006811115614060576140606156e4565b816006811115614072576140726156e4565b146140ab57806040517f87afe58e0000000000000000000000000000000000000000000000000000000081526004016109da9190615856565b60008060009054906101000a90046001600160a01b03166001600160a01b0316630505c8c96040518163ffffffff1660e01b8152600401602060405180830381865afa1580156140ff573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906141239190615603565b6040517fe0bec07600000000000000000000000000000000000000000000000000000000815230600482015260ff88166024820152604481018590526001600160a01b03919091169063e0bec07690606401602060405180830381865afa158015614192573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906141b69190615692565b9050806141ef576040517f88aebd1200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600160009054906101000a90046001600160a01b03166001600160a01b031663ae2a6df26040518163ffffffff1660e01b815260040160006040518083038186803b15801561423d57600080fd5b505afa158015614251573d6000803e3d6000fd5b5050505050505050505050565b60006fffffffffffffffffffffffffffffffff821115613df8576040517fc0188c4f000000000000000000000000000000000000000000000000000000008152600481018390526024016109da565b60006fffffffffffffffffffffffffffffffff6142ce838216858316615662565b106142ea57506fffffffffffffffffffffffffffffffff610f48565b6110a28284615897565b60007f86b4555c6e347ea3f038485b59b894986c208b67da7e65fcfa3707271608465f823561432960408501602086016153ce565b61433960608601604087016158c0565b61434960808701606088016153ce565b61435960a08801608089016153ce565b60a088013561436b60c08a018a6158dd565b604051614379929190615777565b6040805191829003822060208301999099528101969096526001600160a01b03948516606087015260ff909316608086015290831660a08501529190911660c083015260e082015261010081019190915261012001604051602081830303815290604052805190602001209050919050565b60008054604080517f06fdde0300000000000000000000000000000000000000000000000000000000815290517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f926001600160a01b0316916306fdde0391600480830192879291908290030181865afa15801561446d573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526144b39190810190615942565b8051602091820120604080518082018252600181527f310000000000000000000000000000000000000000000000000000000000000090840152805192830193909352918101919091527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a082015260c00160405160208183030381529060405280519060200120905090565b6145718361455a42613db3565b614563856145bd565b61456c856145bd565b6145fe565b505050565b6145718361458342613db3565b6145908561ffff166145bd565b61459d8561ffff166145bd565b614909565b60006145b160028484186159b0565b6110a290848416615662565b600061ffff821115613df8576040517fc0188c4f000000000000000000000000000000000000000000000000000000008152600481018390526024016109da565b835480156148475760006146178661216b600185615620565b60408051606081018252915465ffffffffffff80821680855261ffff66010000000000008404811660208701526801000000000000000090930490921692840192909252919250861610156146ed576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f51756f72756d20436865636b706f696e743a20696e76616c69642074696d657360448201527f74616d700000000000000000000000000000000000000000000000000000000060648201526084016109da565b805165ffffffffffff8087169116036147865760006147118761216b600186615620565b805461ffff86811668010000000000000000027fffffffffffffffffffffffffffffffffffffffffffff0000ffffffffffffffff918916660100000000000002919091167fffffffffffffffffffffffffffffffffffffffffffff00000000ffffffffffff9092169190911717905550614841565b6040805160608101825265ffffffffffff808816825261ffff80881660208085019182528883169585019586528b54600181018d5560008d81529190912094519401805491519551831668010000000000000000027fffffffffffffffffffffffffffffffffffffffffffff0000ffffffffffffffff969093166601000000000000027fffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000909216949093169390931792909217929092161790555b50614902565b6040805160608101825265ffffffffffff808716825261ffff80871660208085019182528783169585019586528a54600181018c5560008c81529190912094519401805491519551831668010000000000000000027fffffffffffffffffffffffffffffffffffffffffffff0000ffffffffffffffff969093166601000000000000027fffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000909216949093169390931792909217929092161790555b5050505050565b835480156148475760006149228661216b600185615620565b60408051606081018252915465ffffffffffff80821680855261ffff66010000000000008404811660208701526801000000000000000090930490921692840192909252919250861610156146ed576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602860248201527f506572696f642050637420436865636b706f696e743a20696e76616c6964207460448201527f696d657374616d7000000000000000000000000000000000000000000000000060648201526084016109da565b600060e08284031215614a0b57600080fd5b50919050565b600060208284031215614a2357600080fd5b813567ffffffffffffffff811115614a3a57600080fd5b61260a848285016149f9565b600060208284031215614a5857600080fd5b5035919050565b60ff81168114610c7257600080fd5b8035614a7981614a5f565b919050565b60008083601f840112614a9057600080fd5b50813567ffffffffffffffff811115614aa857600080fd5b6020830191508360208285010111156121c657600080fd5b600080600080600060808688031215614ad857600080fd5b8535614ae381614a5f565b9450602086013567ffffffffffffffff80821115614b0057600080fd5b614b0c89838a016149f9565b955060408801359150614b1e82614a5f565b90935060608701359080821115614b3457600080fd5b50614b4188828901614a7e565b969995985093965092949392505050565b80357fffffffff0000000000000000000000000000000000000000000000000000000081168114614a7957600080fd5b600060208284031215614b9457600080fd5b6110a282614b52565b6001600160a01b0381168114610c7257600080fd5b8035614a7981614b9d565b600080600080600060a08688031215614bd557600080fd5b8535614be081614b9d565b9450602086013567ffffffffffffffff811115614bfc57600080fd5b614c08888289016149f9565b9450506040860135614c1981614a5f565b94979396509394606081013594506080013592915050565b60008060408385031215614c4457600080fd5b50508035926020909101359150565b60208082528251828201829052805160408401819052600092916060919083019082860190855b81811015614cc357614cb3838551805165ffffffffffff16825260208082015161ffff9081169184019190915260409182015116910152565b9285019291840191600101614c7a565b5090979650505050505050565b803561ffff81168114614a7957600080fd5b60008060408385031215614cf557600080fd5b614cfe83614cd0565b9150614d0c60208401614cd0565b90509250929050565b8015158114610c7257600080fd5b600080600060608486031215614d3857600080fd5b833592506020840135614d4a81614b9d565b91506040840135614d5a81614d15565b809150509250925092565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051610120810167ffffffffffffffff81118282101715614db857614db8614d65565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715614e0557614e05614d65565b604052919050565b600067ffffffffffffffff821115614e2757614e27614d65565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b600082601f830112614e6457600080fd5b8135614e77614e7282614e0d565b614dbe565b818152846020838601011115614e8c57600080fd5b816020850160208301376000918101602001919091529392505050565b60008060008060008060008060008060006101408c8e031215614ecb57600080fd5b614ed48c614bb2565b9a50614ee260208d01614a6e565b9950614ef060408d01614bb2565b9850614efe60608d01614bb2565b975060808c0135965067ffffffffffffffff8060a08e01351115614f2157600080fd5b614f318e60a08f01358f01614a7e565b909750955060c08d0135811015614f4757600080fd5b50614f588d60c08e01358e01614e53565b9350614f6660e08d01614a6e565b92506101008c013591506101208c013590509295989b509295989b9093969950565b60008060008084860360e0811215614f9f57600080fd5b8535614faa81614b9d565b94506020860135614fba81614b9d565b93506040860135925060807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa082011215614ff357600080fd5b506040516080810181811067ffffffffffffffff8211171561501757615017614d65565b60405261502660608701614cd0565b815261503460808701614cd0565b602082015261504560a08701614cd0565b604082015261505660c08701614cd0565b6060820152939692955090935050565b60008060008060008060008060006101008a8c03121561508557600080fd5b893561509081614b9d565b985060208a01356150a081614a5f565b975060408a013567ffffffffffffffff808211156150bd57600080fd5b6150c98d838e016149f9565b985060608c013591506150db82614a5f565b90965060808b013590808211156150f157600080fd5b506150fe8c828d01614a7e565b90965094505060a08a013561511281614a5f565b8093505060c08a0135915060e08a013590509295985092959850929598565b60008060008060008060008060c0898b03121561514d57600080fd5b883561515881614a5f565b9750602089013561516881614b9d565b9650604089013561517881614b9d565b955060608901359450608089013567ffffffffffffffff8082111561519c57600080fd5b6151a88c838d01614a7e565b909650945060a08b01359150808211156151c157600080fd5b506151ce8b828c01614a7e565b999c989b5096995094979396929594505050565b600080604083850312156151f557600080fd5b823561520081614b9d565b9150614d0c60208401614b52565b60208082528251828201829052805160408401819052600092916060919083019082860190855b81811015614cc35761526e838551805165ffffffffffff16825260208082015161ffff9081169184019190915260409182015116910152565b9285019291840191600101615235565b8051614a7981614d15565b8051614a7981614b9d565b805167ffffffffffffffff81168114614a7957600080fd5b80516bffffffffffffffffffffffff81168114614a7957600080fd5b600061012082840312156152db57600080fd5b6152e3614d94565b825181526152f36020840161527e565b60208201526153046040840161527e565b60408201526153156060840161527e565b606082015261532660808401615289565b608082015261533760a08401615294565b60a082015261534860c08401615294565b60c082015261535960e084016152ac565b60e082015261010061536c8185016152ac565b908201529392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b67ffffffffffffffff8281168282160390808211156153c7576153c7615377565b5092915050565b6000602082840312156153e057600080fd5b81356110a281614b9d565b6000602082840312156153fd57600080fd5b6110a282615294565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006020828403121561544757600080fd5b815165ffffffffffff811681146110a257600080fd5b60006020828403121561546f57600080fd5b5051919050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b80358252600060208201356154d381614b9d565b6001600160a01b0390811660208501526040830135906154f282614a5f565b60ff821660408601526060840135915061550b82614b9d565b908116606085015260808301359061552282614b9d565b16608084015260a0828101359084015260c0820135368390037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe101811261556857600080fd5b820160208101903567ffffffffffffffff81111561558557600080fd5b80360382131561559457600080fd5b60e060c08601526155a960e086018284615476565b95945050505050565b60ff831681526060602082015260006155ce60608301846154bf565b828103604084015260008152602081019150509392505050565b6000602082840312156155fa57600080fd5b6110a2826152ac565b60006020828403121561561557600080fd5b81516110a281614b9d565b81810381811115610f4857610f48615377565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b80820180821115610f4857610f48615377565b60006020828403121561568757600080fd5b81516110a281614a5f565b6000602082840312156156a457600080fd5b81516110a281614d15565b6060815260006156c260608301866154bf565b90506001600160a01b038416602083015260ff83166040830152949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b8481526fffffffffffffffffffffffffffffffff84166020820152606060408201526000610ba0606083018486615476565b65ffffffffffff8281168282160390808211156153c7576153c7615377565b6020815260006110a260208301846154bf565b8183823760009101908152919050565b60005b838110156157a257818101518382015260200161578a565b50506000910152565b60ff8816815260006001600160a01b03808916602084015280881660408401525085606083015260c060808301526157e760c083018587615476565b82810360a08401528351808252615805816020840160208801615787565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016016020019998505050505050505050565b61ffff8181168382160190808211156153c7576153c7615377565b6020810160078310615891577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b91905290565b6fffffffffffffffffffffffffffffffff8181168382160190808211156153c7576153c7615377565b6000602082840312156158d257600080fd5b81356110a281614a5f565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261591257600080fd5b83018035915067ffffffffffffffff82111561592d57600080fd5b6020019150368190038213156121c657600080fd5b60006020828403121561595457600080fd5b815167ffffffffffffffff81111561596b57600080fd5b8201601f8101841361597c57600080fd5b805161598a614e7282614e0d565b81815285602083850101111561599f57600080fd5b6155a9826020830160208601615787565b6000826159e6577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b50049056fea164736f6c6343000817000a", + "nonce": "0x0", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x1a2d0544ed5a9e4bc89053b94fc8aedbb952071243a19530bfb61b8370e207bf", + "transactionType": "CREATE", + "contractName": "LlamaTokenVotingFactory", + "contractAddress": "0xFBE17545dffD75A92A5A72926AE581478973FE65", + "function": null, + "arguments": [ + "0x3f3DAB3ab8cEc2FBd06767c2A5F66Cb6BFF21A4A" + ], + "transaction": { + "type": "0x02", + "from": "0xb72276d9ff15c7998b9962ffcfb21a6c7249441b", + "gas": "0xc9127", + "value": "0x0", + "data": "0x60a060405234801561001057600080fd5b50604051610b16380380610b1683398101604081905261002f91610040565b6001600160a01b0316608052610070565b60006020828403121561005257600080fd5b81516001600160a01b038116811461006957600080fd5b9392505050565b608051610a8561009160003960008181604001526104390152610a856000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c806321618ea41461003b5780633ec857a51461008b575b600080fd5b6100627f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b61006261009936600461087b565b600080338360000151846040015185606001516040516020016100bf9493929190610959565b60405160208183030381529060405280519060200120905060006100e7846020015183610622565b60408086015190517f439fab9100000000000000000000000000000000000000000000000000000000815291925073ffffffffffffffffffffffffffffffffffffffff83169163439fab919161013f916004016109b9565b6020604051808303816000875af115801561015e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101829190610a0a565b50600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1663fc0c546a6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156101e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061020a9190610a33565b73ffffffffffffffffffffffffffffffffffffffff1603610257576040517f65f5b03400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517fcdfda4dd00000000000000000000000000000000000000000000000000000000815242600482015273ffffffffffffffffffffffffffffffffffffffff82169063cdfda4dd90602401602060405180830381865afa1580156102c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102e59190610a50565b65ffffffffffff16600003610326576040517f65f5b03400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff166391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865afa158015610371573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103959190610a50565b65ffffffffffff166000036103d6576040517f65f5b03400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1663ae2a6df26040518163ffffffff1660e01b815260040160006040518083038186803b15801561041c57600080fd5b505afa158015610430573d6000803e3d6000fd5b5050505061045e7f000000000000000000000000000000000000000000000000000000000000000083610622565b8451608086015160a0870151604080517f8734852a00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff948516600482015286851660248201526044810193909352815161ffff908116606485015260208301518116608485015290820151811660a48401526060909101511660c4820152919450841690638734852a9060e401600060405180830381600087803b15801561051757600080fd5b505af115801561052b573d6000803e3d6000fd5b505050508073ffffffffffffffffffffffffffffffffffffffff1663fc0c546a6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561057a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061059e9190610a33565b84516020808701516060808901516040805173ffffffffffffffffffffffffffffffffffffffff94851681528885169581019590955284015287821690830152466080830152928316929091169033907f4c8bb78cb1c62e64cef39fc4b4a1864d1a331a28c7bd59a67fe969cc8ab715879060a00160405180910390a45050919050565b6000763d602d80600a3d3981f3363d3d373d3d3d363d730000008360601b60e81c176000526e5af43d82803e903d91602b57fd5bf38360781b1760205281603760096000f5905073ffffffffffffffffffffffffffffffffffffffff81166106b6576040517fc2f868f400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405160c0810167ffffffffffffffff8111828210171561070e5761070e6106bc565b60405290565b73ffffffffffffffffffffffffffffffffffffffff8116811461073657600080fd5b50565b600082601f83011261074a57600080fd5b813567ffffffffffffffff80821115610765576107656106bc565b604051601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011681019082821181831017156107ab576107ab6106bc565b816040528381528660208588010111156107c457600080fd5b836020870160208301376000602085830101528094505050505092915050565b803561ffff811681146107f657600080fd5b919050565b60006080828403121561080d57600080fd5b6040516080810181811067ffffffffffffffff82111715610830576108306106bc565b60405290508061083f836107e4565b815261084d602084016107e4565b602082015261085e604084016107e4565b604082015261086f606084016107e4565b60608201525092915050565b60006020828403121561088d57600080fd5b813567ffffffffffffffff808211156108a557600080fd5b9083019061012082860312156108ba57600080fd5b6108c26106eb565b82356108cd81610714565b815260208301356108dd81610714565b60208201526040830135828111156108f457600080fd5b61090087828601610739565b60408301525060608301356060820152608083013560808201526109278660a085016107fb565b60a082015295945050505050565b60005b83811015610950578181015183820152602001610938565b50506000910152565b60007fffffffffffffffffffffffffffffffffffffffff000000000000000000000000808760601b168352808660601b1660148401525083516109a3816028850160208801610935565b6028920191820192909252604801949350505050565b60208152600082518060208401526109d8816040850160208701610935565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169190910160400192915050565b600060208284031215610a1c57600080fd5b81518015158114610a2c57600080fd5b9392505050565b600060208284031215610a4557600080fd5b8151610a2c81610714565b600060208284031215610a6257600080fd5b815165ffffffffffff81168114610a2c57600080fdfea164736f6c6343000817000a0000000000000000000000003f3dab3ab8cec2fbd06767c2a5f66cb6bff21a4a", + "nonce": "0x1", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xf6ff2b972ab14d51fcbc265162045e592e24b3ce3d6b5b1b3951a271d4427974", + "transactionType": "CREATE", + "contractName": "LlamaTokenAdapterVotesTimestamp", + "contractAddress": "0x088C268cb00226D6A9b29e5488905Aa94D2f0239", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0xb72276d9ff15c7998b9962ffcfb21a6c7249441b", + "gas": "0x10d28c", + "value": "0x0", + "data": "0x608060405234801561001057600080fd5b5061001961001e565b6100d0565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff161561006e5760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b03908116146100cd5780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b610df5806100df6000396000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c8063ae2a6df21161005b578063ae2a6df21461010a578063cdfda4dd14610114578063edb8ee5a14610127578063fc0c546a1461013a57600080fd5b8063439fab911461008d5780634bf5d7e9146100b557806391ddadf4146100ca5780639556de73146100e9575b600080fd5b6100a061009b3660046108e4565b61017f565b60405190151581526020015b60405180910390f35b6100bd6103a1565b6040516100ac9190610988565b6100d261042f565b60405165ffffffffffff90911681526020016100ac565b6100fc6100f7366004610a12565b6104e9565b6040519081526020016100ac565b610112610593565b005b6100d2610122366004610a4b565b6105ef565b6100fc610135366004610a64565b610600565b60005461015a9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100ac565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0080546000919068010000000000000000810460ff16159067ffffffffffffffff1683811580156101cd5750825b905060008267ffffffffffffffff1660011480156101ea5750303b155b9050811580156101f8575080155b1561022f576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b84547fffffffffffffffffffffffffffffffffffffffffffffffff000000000000000016600117855583156102905784547fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff16680100000000000000001785555b6000878060200190518101906102a69190610a81565b8051600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff90921691909117905560408051808201909152600e81527f6d6f64653d74696d657374616d7000000000000000000000000000000000000060208201529091506001906103309082610b71565b50600196505083156103975784547fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b5050505050919050565b600180546103ae90610acd565b80601f01602080910402602001604051908101604052809291908181526020018280546103da90610acd565b80156104275780601f106103fc57610100808354040283529160200191610427565b820191906000526020600020905b81548152906001019060200180831161040a57829003601f168201915b505050505081565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156104d7575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682019092526104d491810190610c8b565b60015b6104e4576104e44261069b565b905090565b600080546040517f3a46b1a800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff858116600483015265ffffffffffff8516602483015290911690633a46b1a890604401602060405180830381865afa158015610568573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061058c9190610ca8565b9392505050565b600061059d6106e8565b905060006105a9610712565b905081806105b45750805b156105eb576040517f6ff0714000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050565b60006105fa8261069b565b92915050565b600080546040517f8e539e8c00000000000000000000000000000000000000000000000000000000815265ffffffffffff8416600482015273ffffffffffffffffffffffffffffffffffffffff90911690638e539e8c90602401602060405180830381865afa158015610677573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105fa9190610ca8565b600065ffffffffffff8211156106e4576040517fc0188c4f0000000000000000000000000000000000000000000000000000000081526004810183905260240160405180910390fd5b5090565b60006106f34261069b565b65ffffffffffff1661070361042f565b65ffffffffffff161415905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16634bf5d7e96040518163ffffffff1660e01b8152600401600060405180830381865afa9250505080156107bf57506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526107bc9190810190610cc1565b60015b6107c95750600090565b60016040516020016107db9190610d38565b60405160208183030381529060405280519060200120816040516020016108029190610dcc565b60405160208183030381529060405280519060200120141591505090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff8111828210171561089657610896610820565b604052919050565b600067ffffffffffffffff8211156108b8576108b8610820565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b6000602082840312156108f657600080fd5b813567ffffffffffffffff81111561090d57600080fd5b8201601f8101841361091e57600080fd5b803561093161092c8261089e565b61084f565b81815285602083850101111561094657600080fd5b81602084016020830137600091810160200191909152949350505050565b60005b8381101561097f578181015183820152602001610967565b50506000910152565b60208152600082518060208401526109a7816040850160208701610964565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169190910160400192915050565b73ffffffffffffffffffffffffffffffffffffffff811681146109fb57600080fd5b50565b65ffffffffffff811681146109fb57600080fd5b60008060408385031215610a2557600080fd5b8235610a30816109d9565b91506020830135610a40816109fe565b809150509250929050565b600060208284031215610a5d57600080fd5b5035919050565b600060208284031215610a7657600080fd5b813561058c816109fe565b600060208284031215610a9357600080fd5b6040516020810181811067ffffffffffffffff82111715610ab657610ab6610820565b6040528251610ac4816109d9565b81529392505050565b600181811c90821680610ae157607f821691505b602082108103610b1a577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b601f821115610b6c576000816000526020600020601f850160051c81016020861015610b495750805b601f850160051c820191505b81811015610b6857828155600101610b55565b5050505b505050565b815167ffffffffffffffff811115610b8b57610b8b610820565b610b9f81610b998454610acd565b84610b20565b602080601f831160018114610bf25760008415610bbc5750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b178555610b68565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b82811015610c3f57888601518255948401946001909101908401610c20565b5085821015610c7b57878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b600060208284031215610c9d57600080fd5b815161058c816109fe565b600060208284031215610cba57600080fd5b5051919050565b600060208284031215610cd357600080fd5b815167ffffffffffffffff811115610cea57600080fd5b8201601f81018413610cfb57600080fd5b8051610d0961092c8261089e565b818152856020838501011115610d1e57600080fd5b610d2f826020830160208601610964565b95945050505050565b6000808354610d4681610acd565b60018281168015610d5e5760018114610d9157610dc0565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0084168752821515830287019450610dc0565b8760005260208060002060005b85811015610db75781548a820152908401908201610d9e565b50505082870194505b50929695505050505050565b60008251610dde818460208701610964565b919091019291505056fea164736f6c6343000817000a", + "nonce": "0x2", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0xf132855b3de789edb51406d4fac93f03eaa9d4691ce7482c556f808eb77219ea", + "transactionIndex": "0x1", + "blockHash": "0x096b0cb84720d5c535d96f216051c627ecb670fc808a4f54377a5db7d93f3351", + "blockNumber": "0x6d6289f", + "from": "0xb72276D9FF15c7998b9962FFCfB21A6C7249441B", + "to": null, + "cumulativeGasUsed": "0x4d9cce", + "gasUsed": "0x4ca2c1", + "contractAddress": "0x3f3DAB3ab8cEc2FBd06767c2A5F66Cb6BFF21A4A", + "logs": [ + { + "address": "0x3f3DAB3ab8cEc2FBd06767c2A5F66Cb6BFF21A4A", + "topics": [ + "0xc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2" + ], + "data": "0x000000000000000000000000000000000000000000000000ffffffffffffffff", + "blockHash": "0x096b0cb84720d5c535d96f216051c627ecb670fc808a4f54377a5db7d93f3351", + "blockNumber": "0x6d6289f", + "transactionHash": "0xf132855b3de789edb51406d4fac93f03eaa9d4691ce7482c556f808eb77219ea", + "transactionIndex": "0x1", + "logIndex": "0x0", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000800000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb310f638" + }, + { + "transactionHash": "0x1a2d0544ed5a9e4bc89053b94fc8aedbb952071243a19530bfb61b8370e207bf", + "transactionIndex": "0x2", + "blockHash": "0x096b0cb84720d5c535d96f216051c627ecb670fc808a4f54377a5db7d93f3351", + "blockNumber": "0x6d6289f", + "from": "0xb72276D9FF15c7998b9962FFCfB21A6C7249441B", + "to": null, + "cumulativeGasUsed": "0x57483e", + "gasUsed": "0x9ab70", + "contractAddress": "0xFBE17545dffD75A92A5A72926AE581478973FE65", + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb310f638" + }, + { + "transactionHash": "0xf6ff2b972ab14d51fcbc265162045e592e24b3ce3d6b5b1b3951a271d4427974", + "transactionIndex": "0x3", + "blockHash": "0x096b0cb84720d5c535d96f216051c627ecb670fc808a4f54377a5db7d93f3351", + "blockNumber": "0x6d6289f", + "from": "0xb72276D9FF15c7998b9962FFCfB21A6C7249441B", + "to": null, + "cumulativeGasUsed": "0x6439e7", + "gasUsed": "0xcf1a9", + "contractAddress": "0x088C268cb00226D6A9b29e5488905Aa94D2f0239", + "logs": [ + { + "address": "0x088C268cb00226D6A9b29e5488905Aa94D2f0239", + "topics": [ + "0xc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2" + ], + "data": "0x000000000000000000000000000000000000000000000000ffffffffffffffff", + "blockHash": "0x096b0cb84720d5c535d96f216051c627ecb670fc808a4f54377a5db7d93f3351", + "blockNumber": "0x6d6289f", + "transactionHash": "0xf6ff2b972ab14d51fcbc265162045e592e24b3ce3d6b5b1b3951a271d4427974", + "transactionIndex": "0x3", + "logIndex": "0x1", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000800000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000008000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb310f638" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1704995579, + "chain": 10, + "multi": false, + "commit": "688208a" +} \ No newline at end of file diff --git a/broadcast/DeployLlamaTokenVotingFactory.s.sol/10/run-1704995629.json b/broadcast/DeployLlamaTokenVotingFactory.s.sol/10/run-1704995629.json new file mode 100644 index 0000000..ad3fa68 --- /dev/null +++ b/broadcast/DeployLlamaTokenVotingFactory.s.sol/10/run-1704995629.json @@ -0,0 +1,148 @@ +{ + "transactions": [ + { + "hash": "0xf132855b3de789edb51406d4fac93f03eaa9d4691ce7482c556f808eb77219ea", + "transactionType": "CREATE", + "contractName": "LlamaTokenGovernor", + "contractAddress": "0x3f3DAB3ab8cEc2FBd06767c2A5F66Cb6BFF21A4A", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0xb72276d9ff15c7998b9962ffcfb21a6c7249441b", + "gas": "0x6398ff", + "value": "0x0", + "data": "0x60806040523480156200001157600080fd5b506200001c62000022565b620000d6565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff1615620000735760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b0390811614620000d35780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b6159f880620000e66000396000f3fe608060405234801561001057600080fd5b50600436106101da5760003560e01c80637e4a56bb11610104578063b92cdd9a116100a2578063cae3bdff11610071578063cae3bdff1461053d578063dcae21b714610552578063e45061ea14610565578063e5589b9d1461057857600080fd5b8063b92cdd9a146104e4578063b9b2cf6c146104f7578063c193c2691461050a578063c26c12eb1461053557600080fd5b80638734852a116100de5780638734852a1461049857806396ff6e2e146104ab578063a1d9b412146104be578063b3c678b0146104d157600080fd5b80637e4a56bb1461046a5780637ed7238e14610472578063807ad1141461048557600080fd5b80633fed8f161161017c57806359e5332d1161014b57806359e5332d1461036457806364f6b3161461037b5780637186dd9c1461038e57806374f717cd1461044757600080fd5b80633fed8f16146103165780634d61ebf4146103365780634ec0ab1c1461033e578063509c5fbd1461035157600080fd5b806319a39740116101b857806319a397401461025b5780631e127ddf1461026e578063372fa8e8146102c25780633df91222146102d557600080fd5b80630669b1ce146101df57806311f900b5146101f45780631650080714610227575b600080fd5b6101f26101ed366004614a11565b61058b565b005b610207610202366004614a46565b610b79565b6040805161ffff9384168152929091166020830152015b60405180910390f35b61023a610235366004614ac0565b610b90565b6040516fffffffffffffffffffffffffffffffff909116815260200161021e565b6101f2610269366004614a46565b610baa565b6101f261027c366004614b82565b3360009081526007602090815260408083207fffffffff000000000000000000000000000000000000000000000000000000009490941683529290522080546001019055565b6101f26102d0366004614bbd565b610c75565b6102fe6102e3366004614a46565b6005602052600090815260409020546001600160a01b031681565b6040516001600160a01b03909116815260200161021e565b610329610324366004614c31565b610d76565b60405161021e9190614c53565b610207610f4e565b6101f261034c366004614ce2565b610f63565b61023a61035f366004614ac0565b611030565b61036d60025481565b60405190815260200161021e565b6000546102fe906001600160a01b031681565b6103fc61039c366004614a46565b6006602052600090815260409020805460018201546002909201546fffffffffffffffffffffffffffffffff8083169370010000000000000000000000000000000093849004821693818316939181900483169282811692919091041686565b604080516fffffffffffffffffffffffffffffffff978816815295871660208701529386169385019390935290841660608401528316608083015290911660a082015260c00161021e565b61045a610455366004614d23565b611040565b604051901515815260200161021e565b6103296110a9565b61036d610480366004614ea9565b61114c565b6001546102fe906001600160a01b031681565b6101f26104a6366004614f88565b611263565b61023a6104b9366004615066565b6114b5565b61023a6104cc366004615066565b6115c6565b61036d6104df366004615131565b6116c7565b6101f26104f2366004614a11565b61171c565b6101f2610505366004614ce2565b611726565b61036d6105183660046151e2565b600760209081526000928352604080842090915290825290205481565b6102076117ef565b6105456117fc565b60405161021e919061520e565b610545610560366004614c31565b61188f565b6101f2610573366004614a11565b611a4d565b610207610586366004614a46565b612026565b600080546040517fb6e76873000000000000000000000000000000000000000000000000000000008152833560048201526001600160a01b039091169063b6e768739060240161012060405180830381865afa1580156105ef573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061061391906152c8565b9050600060018260a0015161062891906153a6565b67ffffffffffffffff169050600160009054906101000a90046001600160a01b03166001600160a01b031663ae2a6df26040518163ffffffff1660e01b815260040160006040518083038186803b15801561068257600080fd5b505afa158015610696573d6000803e3d6000fd5b505050506000806000806106b485600461203490919063ffffffff16565b909250905060006106cb6080890160608a016153ce565b6001600160a01b031663b02bd9206040518163ffffffff1660e01b8152600401602060405180830381865afa158015610708573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061072c91906153eb565b67ffffffffffffffff16905061271061ffff8416820204818860c0015167ffffffffffffffff16030194506127108261ffff1682028161076e5761076e615406565b04850193508342116107ac576040517f038d8a6a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8660c0015167ffffffffffffffff1642106107f3576040517f08c8d62700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050843560009081526006602052604080822060015491517fcdfda4dd000000000000000000000000000000000000000000000000000000008152600481018690529092916001600160a01b03169063edb8ee5a90829063cdfda4dd90602401602060405180830381865afa158015610871573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108959190615435565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b16815265ffffffffffff9091166004820152602401602060405180830381865afa1580156108f0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610914919061545d565b600183015460028401549192506fffffffffffffffffffffffffffffffff7001000000000000000000000000000000009182900481169291820481169116600061095f60038a6121cd565b9150506000610975868361ffff166127106122d8565b905080856fffffffffffffffffffffffffffffffff1610156109e3576040517fbfb9aa550000000000000000000000000000000000000000000000000000000081526fffffffffffffffffffffffffffffffff86166004820152602481018290526044015b60405180910390fd5b836fffffffffffffffffffffffffffffffff16856fffffffffffffffffffffffffffffffff1611610a5c576040517f8a0df63f0000000000000000000000000000000000000000000000000000000081526fffffffffffffffffffffffffffffffff8087166004830152851660248201526044016109da565b6000610a7b8d6060016020810190610a7491906153ce565b600061231c565b905060008054906101000a90046001600160a01b03166001600160a01b03166394004706828f6040518363ffffffff1660e01b8152600401610abe9291906155b2565b6020604051808303816000875af1158015610add573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b0191906155e8565b50604080518e3581526fffffffffffffffffffffffffffffffff808916602083015280881692820192909252908516606082015260ff82169033907ff5bc433f16cc3d0e9fcb5ac4f8de9f17eb90de1fd2a9ede5952c2097d4ef1a59906080015b60405180910390a350505050505050505050505050565b600080610b87600484612034565b91509150915091565b6000610ba0338787878787612612565b9695505050505050565b60008054906101000a90046001600160a01b03166001600160a01b031663c34c08e56040518163ffffffff1660e01b8152600401602060405180830381865afa158015610bfb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c1f9190615603565b6001600160a01b0316336001600160a01b031614610c69576040517f26bee1ce00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610c7281612c5e565b50565b6000610c818686612e2e565b6040805160008082526020820180845284905260ff88169282019290925260608101869052608081018590529192509060019060a0016020604051602081039080840390855afa158015610cd9573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001519150506001600160a01b0381161580610d2c5750866001600160a01b0316816001600160a01b031614155b15610d63576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610d6d8187612f50565b50505050505050565b60408051602081019091526060815281831115610dbf576040517f2cd4dad300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60045480831115610dfc576040517f2cd4dad300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610e088585615620565b905060008167ffffffffffffffff811115610e2557610e25614d65565b604051908082528060200260200182016040528015610e8e57816020015b60408051606081018252600080825260208083018290529282015282527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff909201910181610e435790505b509050855b85811015610f34576004805482908110610eaf57610eaf615633565b600091825260209182902060408051606081018252919092015465ffffffffffff8116825261ffff660100000000000082048116948301949094526801000000000000000090049092169082015282610f088984615620565b81518110610f1857610f18615633565b6020026020010181905250610f2d8160010190565b9050610e93565b506040805160208101909152908152925050505b92915050565b600080610f5b6004613063565b915091509091565b60008054906101000a90046001600160a01b03166001600160a01b031663c34c08e56040518163ffffffff1660e01b8152600401602060405180830381865afa158015610fb4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fd89190615603565b6001600160a01b0316336001600160a01b031614611022576040517f26bee1ce00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61102c82826130db565b5050565b6000610ba03387878787876131cf565b60008115611077575060008381526006602090815260408083206001600160a01b038616845260030190915290205460ff166110a2565b5060008381526006602090815260408083206001600160a01b038616845260040190915290205460ff165b9392505050565b6040805160208101909152606081526040805160048054602081810284018501855283018181529293919284929091849160009085015b8282101561113f576000848152602090819020604080516060810182529185015465ffffffffffff8116835261ffff660100000000000082048116848601526801000000000000000090910416908201528252600190920191016110e0565b5050505081525050905090565b60008061115f8d8d8d8d8d8d8d8d613714565b6040805160008082526020820180845284905260ff89169282019290925260608101879052608081018690529192509060019060a0016020604051602081039080840390855afa1580156111b7573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001519150506001600160a01b038116158061120a57508d6001600160a01b0316816001600160a01b031614155b15611241576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611251818e8e8e8e8e8e8e613885565b9e9d5050505050505050505050505050565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000810460ff16159067ffffffffffffffff166000811580156112ae5750825b905060008267ffffffffffffffff1660011480156112cb5750303b155b9050811580156112d9575080155b15611310576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b84547fffffffffffffffffffffffffffffffffffffffffffffffff000000000000000016600117855583156113715784547fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff16680100000000000000001785555b886001600160a01b0316639bccfe496040518163ffffffff1660e01b8152600401602060405180830381865afa1580156113af573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113d3919061545d565b50600080546001600160a01b03808c167fffffffffffffffffffffffff00000000000000000000000000000000000000009283161790925560018054928b169290911691909117905561142587612c5e565b611437866000015187602001516130db565b61144986604001518760600151613b89565b83156114aa5784547fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b505050505050505050565b6000806114c68b8b8b8b8b8b613c26565b6040805160008082526020820180845284905260ff89169282019290925260608101879052608081018690529192509060019060a0016020604051602081039080840390855afa15801561151e573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001519150506001600160a01b038116158061157157508b6001600160a01b0316816001600160a01b031614155b156115a8576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6115b6818c8c8c8c8c6131cf565b9c9b505050505050505050505050565b6000806115d78b8b8b8b8b8b613d84565b6040805160008082526020820180845284905260ff89169282019290925260608101879052608081018690529192509060019060a0016020604051602081039080840390855afa15801561162f573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001519150506001600160a01b038116158061168257508b6001600160a01b0316816001600160a01b031614155b156116b9576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6115b6818c8c8c8c8c612612565b600061170f338a8a8a8a8a8a8a8a8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061388592505050565b9998505050505050505050565b610c723382612f50565b60008054906101000a90046001600160a01b03166001600160a01b031663c34c08e56040518163ffffffff1660e01b8152600401602060405180830381865afa158015611777573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061179b9190615603565b6001600160a01b0316336001600160a01b0316146117e5576040517f26bee1ce00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61102c8282613b89565b600080610f5b6003613063565b604080516020810190915260608152604080516003805460208082028401850185528301818152929391928492909184916000908501821561113f576000848152602090819020604080516060810182529185015465ffffffffffff8116835261ffff660100000000000082048116848601526801000000000000000090910416908201528252600190920191016110e0565b604080516020810190915260608152818311156118d8576040517f2cd4dad300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60035480831115611915576040517f2cd4dad300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006119218585615620565b905060008167ffffffffffffffff81111561193e5761193e614d65565b6040519080825280602002602001820160405280156119a757816020015b60408051606081018252600080825260208083018290529282015282527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90920191018161195c5790505b509050855b85811015610f345760038054829081106119c8576119c8615633565b600091825260209182902060408051606081018252919092015465ffffffffffff8116825261ffff660100000000000082048116948301949094526801000000000000000090049092169082015282611a218984615620565b81518110611a3157611a31615633565b6020026020010181905250611a468160010190565b90506119ac565b600080546040517fb6e76873000000000000000000000000000000000000000000000000000000008152833560048201526001600160a01b039091169063b6e768739060240161012060405180830381865afa158015611ab1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ad591906152c8565b9050600060018260a00151611aea91906153a6565b67ffffffffffffffff169050600160009054906101000a90046001600160a01b03166001600160a01b031663ae2a6df26040518163ffffffff1660e01b815260040160006040518083038186803b158015611b4457600080fd5b505afa158015611b58573d6000803e3d6000fd5b50505050600080600080611b7685600461203490919063ffffffff16565b90925090506000611b8d6080890160608a016153ce565b6001600160a01b0316637999762c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611bca573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bee91906153eb565b67ffffffffffffffff16905061271061ffff84168202048760a0015167ffffffffffffffff160194506127108261ffff16820281611c2e57611c2e615406565b0485019350834211611c6c576040517f038d8a6a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b808760a0015167ffffffffffffffff16611c869190615662565b421115611cbf576040517f08c8d62700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050843560009081526006602052604080822060015491517fcdfda4dd000000000000000000000000000000000000000000000000000000008152600481018690529092916001600160a01b03169063edb8ee5a90829063cdfda4dd90602401602060405180830381865afa158015611d3d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d619190615435565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b16815265ffffffffffff9091166004820152602401602060405180830381865afa158015611dbc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611de0919061545d565b825460018401549192506fffffffffffffffffffffffffffffffff808216928116917001000000000000000000000000000000009004166000611e2460038a6121cd565b5090506000611e3a868361ffff166127106122d8565b905080856fffffffffffffffffffffffffffffffff161015611ea3576040517f0425fab10000000000000000000000000000000000000000000000000000000081526fffffffffffffffffffffffffffffffff86166004820152602481018290526044016109da565b836fffffffffffffffffffffffffffffffff16856fffffffffffffffffffffffffffffffff1611611f1c576040517f8a0df63f0000000000000000000000000000000000000000000000000000000081526fffffffffffffffffffffffffffffffff8087166004830152851660248201526044016109da565b6000611f3b8d6060016020810190611f3491906153ce565b600161231c565b905060008054906101000a90046001600160a01b03166001600160a01b03166389e7d126828f6040518363ffffffff1660e01b8152600401611f7e9291906155b2565b6020604051808303816000875af1158015611f9d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fc191906155e8565b50604080518e3581526fffffffffffffffffffffffffffffffff808916602083015280881692820192909252908516606082015260ff82169033907ff23279e924757f3bfe4f543bc1b43685e851d6ace53f8518b806dcd8d42fc13990608001610b62565b600080610b876003846121cd565b6000804283106120c6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f506572696f64506374436865636b706f696e74733a2074696d657374616d702060448201527f6973206e6f7420696e207468652070617374000000000000000000000000000060648201526084016109da565b60006120d184613db3565b855490915060008160058111156121315760006120ed84613dfc565b6120f79085615620565b60008a81526020902090915081015465ffffffffffff90811690861610156121215780915061212f565b61212c816001615662565b92505b505b600061213f89868585613eae565b90508060000361215a576000809650965050505050506121c6565b60006121798a61216b600185615620565b600091825260209091200190565b60408051606081018252915465ffffffffffff8116835261ffff66010000000000008204811660208501819052680100000000000000009092041692909101829052985096505050505050505b9250929050565b60008042831061225f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602f60248201527f51756f72756d436865636b706f696e74733a2074696d657374616d702069732060448201527f6e6f7420696e207468652070617374000000000000000000000000000000000060648201526084016109da565b600061226a84613db3565b855490915060008160058111156122ca57600061228684613dfc565b6122909085615620565b60008a81526020902090915081015465ffffffffffff90811690861610156122ba578091506122c8565b6122c5816001615662565b92505b505b600061213f89868585613f10565b6000827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048411830215820261230d57600080fd5b50910281810615159190040190565b60008054604080517f0505c8c9000000000000000000000000000000000000000000000000000000008152905183926001600160a01b031691630505c8c99160048083019260209291908290030181865afa15801561237f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123a39190615603565b6001600160a01b0316638b2ed3886040518163ffffffff1660e01b8152600401602060405180830381865afa1580156123e0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124049190615675565b905060015b8160ff16811161253b57836124a1576040517fc167ebae00000000000000000000000000000000000000000000000000000000815260ff821660048201526001600160a01b0386169063c167ebae90602401602060405180830381865afa158015612478573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061249c9190615692565b612525565b6040517ffb847c4300000000000000000000000000000000000000000000000000000000815260ff821660048201526001600160a01b0386169063fb847c4390602401602060405180830381865afa158015612501573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125259190615692565b15612533579150610f489050565b600101612409565b50826125a857836001600160a01b03166312a52f006040518163ffffffff1660e01b8152600401602060405180830381865afa15801561257f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125a39190615675565b61260a565b836001600160a01b03166366cacdc96040518163ffffffff1660e01b8152600401602060405180830381865afa1580156125e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061260a9190615675565b949350505050565b600080546040517fb6e768730000000000000000000000000000000000000000000000000000000081528635600482015282916001600160a01b03169063b6e768739060240161012060405180830381865afa158015612676573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061269a91906152c8565b9050600060018260a001516126af91906153a6565b8735600090815260066020526040902067ffffffffffffffff9190911691506126de6080890160608a016153ce565b6001600160a01b03166302674e4b89308c6040518463ffffffff1660e01b815260040161270d939291906156af565b60006040518083038186803b15801561272557600080fd5b505afa158015612739573d6000803e3d6000fd5b505050506001600160a01b038a16600090815260048201602052604090205460ff1615612792576040517f9dd6544b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6127a0888a89600486613f6a565b60008080806127b0600487612034565b909250905060006127c760808e0160608f016153ce565b6001600160a01b031663b02bd9206040518163ffffffff1660e01b8152600401602060405180830381865afa158015612804573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061282891906153eb565b67ffffffffffffffff16905061271061ffff8416820204818960c0015167ffffffffffffffff16030194506127108261ffff1682028161286a5761286a615406565b04850193508442116128a8576040517fd0b72b4900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b834211156128e2576040517f5b73d19300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050506000612a25600160009054906101000a90046001600160a01b03166001600160a01b0316639556de738f600160009054906101000a90046001600160a01b03166001600160a01b031663cdfda4dd886040518263ffffffff1660e01b815260040161295291815260200190565b602060405180830381865afa15801561296f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906129939190615435565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b1681526001600160a01b03909216600483015265ffffffffffff166024820152604401602060405180830381865afa1580156129fc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a20919061545d565b61425e565b905060ff8a16612a9e576002840154612a649070010000000000000000000000000000000090046fffffffffffffffffffffffffffffffff16826142ad565b6002850180546fffffffffffffffffffffffffffffffff928316700100000000000000000000000000000000029216919091179055612bc6565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60ff8b1601612b37576001840154612afd9070010000000000000000000000000000000090046fffffffffffffffffffffffffffffffff16826142ad565b6001850180546fffffffffffffffffffffffffffffffff928316700100000000000000000000000000000000029216919091179055612bc6565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe60ff8b1601612bc6576002840154612b82906fffffffffffffffffffffffffffffffff16826142ad565b6002850180547fffffffffffffffffffffffffffffffff00000000000000000000000000000000166fffffffffffffffffffffffffffffffff929092169190911790555b6001600160a01b038d1660008181526004860160205260409081902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790555160ff8c1691907f4e3e2ad68670a2709cb408c31c5afd8da0b6d3d06c75b11feb404a455639fe7c90612c46908f359086908f908f90615713565b60405180910390a39c9b505050505050505050505050565b60018054604080517f91ddadf400000000000000000000000000000000000000000000000000000000815290516000936001600160a01b039093169263edb8ee5a92909184916391ddadf49160048083019260209291908290030181865afa158015612cce573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612cf29190615435565b612cfc9190615745565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b16815265ffffffffffff9091166004820152602401602060405180830381865afa158015612d57573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612d7b919061545d565b905080600003612db7576040517f34bbd58500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80821115612df1576040517f8a5e746800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60028290556040518281527fd91a985c173545ab0e0bd11c021a1ae84c1ea6eab9350d9bf3812d5b8bff49a4906020015b60405180910390a15050565b6000807f6da9390b4f29da2c44fa5a9da00b392393d01e989d16e4a3dec5a538318e352584612e5c856142f4565b6001600160a01b03871660009081526007602090815260408083207fffffffff00000000000000000000000000000000000000000000000000000000843516845290915290208054600181019091556040805160208101959095526001600160a01b03909316928401929092526060830152608082015260a001604051602081830303815290604052805190602001209050612ef66143eb565b6040517f190100000000000000000000000000000000000000000000000000000000000060208201526022810191909152604281018290526062016040516020818303038152906040528051906020012091505092915050565b80356000908152600560205260409020546001600160a01b03838116911614612fa5576040517f86ba025600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000546040517fb92cdd9a0000000000000000000000000000000000000000000000000000000081526001600160a01b039091169063b92cdd9a90612fee908490600401615764565b600060405180830381600087803b15801561300857600080fd5b505af115801561301c573d6000803e3d6000fd5b5050604051833581526001600160a01b03851692507fdcccc5725b7256a6975da00de8953e5d326756a3079d203ff6df9e52331f411a915060200160405180910390a25050565b8054600090819080820361307d5750600093849350915050565b600061308e8561216b600185615620565b60408051606081018252915465ffffffffffff8116835261ffff66010000000000008204811660208501819052680100000000000000009092041692909101829052969095509350505050565b6127108261ffff1611806130f1575061ffff8216155b1561312e576040517f8f6febc000000000000000000000000000000000000000000000000000000000815261ffff831660048201526024016109da565b6127108161ffff161180613144575061ffff8116155b15613181576040517f3bec511c00000000000000000000000000000000000000000000000000000000815261ffff821660048201526024016109da565b613194600361ffff80851690841661454d565b6040805161ffff8085168252831660208201527f77c3f43700db02acb49792bbf699b39f72c2ed4b920bd5c0b1843dcd7c832f4c9101612e22565b600080546040517fb6e768730000000000000000000000000000000000000000000000000000000081528635600482015282916001600160a01b03169063b6e768739060240161012060405180830381865afa158015613233573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061325791906152c8565b9050600060018260a0015161326c91906153a6565b8735600090815260066020526040902067ffffffffffffffff91909116915061329b6080890160608a016153ce565b6001600160a01b0316631a2a4e7789308c6040518463ffffffff1660e01b81526004016132ca939291906156af565b60006040518083038186803b1580156132e257600080fd5b505afa1580156132f6573d6000803e3d6000fd5b505050506001600160a01b038a16600090815260038201602052604090205460ff161561334f576040517f9dd6544b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61335d888a89600086613f6a565b600080808061336d600487612034565b9092509050600061338460808e0160608f016153ce565b6001600160a01b0316637999762c6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156133c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906133e591906153eb565b67ffffffffffffffff16905061271061ffff84168202048860a0015167ffffffffffffffff160194506127108261ffff1682028161342557613425615406565b0485019350844211613463576040517fd0b72b4900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8342111561349d576040517f5b73d19300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050600061350d600160009054906101000a90046001600160a01b03166001600160a01b0316639556de738f600160009054906101000a90046001600160a01b03166001600160a01b031663cdfda4dd886040518263ffffffff1660e01b815260040161295291815260200190565b905060ff8a16613580576001840154613538906fffffffffffffffffffffffffffffffff16826142ad565b6001850180547fffffffffffffffffffffffffffffffff00000000000000000000000000000000166fffffffffffffffffffffffffffffffff92909216919091179055613694565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60ff8b16016136095783546135c8906fffffffffffffffffffffffffffffffff16826142ad565b84547fffffffffffffffffffffffffffffffff00000000000000000000000000000000166fffffffffffffffffffffffffffffffff91909116178455613694565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe60ff8b16016136945783546136659070010000000000000000000000000000000090046fffffffffffffffffffffffffffffffff16826142ad565b84546fffffffffffffffffffffffffffffffff9182167001000000000000000000000000000000000291161784555b6001600160a01b038d1660008181526003860160205260409081902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790555160ff8c1691907f761cce3a1af5d9cfc0d57222f605ce4bd2be345f0ad9ebb7b83a84a91a0c201490612c46908f359086908f908f90615713565b6001600160a01b03881660009081526007602090815260408083207fffffffff000000000000000000000000000000000000000000000000000000008435168452909152812080546001810190915560007fd1fab1c7b3b37134662e5867b00e272eb49f7be0a890df29e802c3cc66c06f838b8b8b8b8b8b8b60405161379b929190615777565b604080519182900382208c516020808f0191909120908401999099526001600160a01b039788169183019190915260ff90951660608201529285166080840152931660a082015260c081019290925260e08201526101008101919091526101208101839052610140016040516020818303038152906040528051906020012090506138246143eb565b6040517f19010000000000000000000000000000000000000000000000000000000000006020820152602281019190915260428101829052606201604051602081830303815290604052805190602001209250505098975050505050505050565b600154604080517fae2a6df200000000000000000000000000000000000000000000000000000000815290516000926001600160a01b03169163ae2a6df29160048083019286929190829003018186803b1580156138e257600080fd5b505afa1580156138f6573d6000803e3d6000fd5b505060018054604080517f91ddadf40000000000000000000000000000000000000000000000000000000081529051600095506001600160a01b039092169350639556de73928e92909185916391ddadf4916004808201926020929091908290030181865afa15801561396d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906139919190615435565b61399b9190615745565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b1681526001600160a01b03909216600483015265ffffffffffff166024820152604401602060405180830381865afa158015613a04573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613a28919061545d565b9050600254811015613a69576040517f92665351000000000000000000000000000000000000000000000000000000008152600481018290526024016109da565b6000546040517fb3c678b00000000000000000000000000000000000000000000000000000000081526001600160a01b039091169063b3c678b090613abe908c908c908c908c908c908c908c906004016157ab565b6020604051808303816000875af1158015613add573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613b01919061545d565b60008181526005602090815260409182902080547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b038f16908117909155915183815292945090917f1834dfd49255741a8ce9a9bd66b91b64d13622e1d8170e4c78ac91f9ec50a542910160405180910390a25098975050505050505050565b612710613b96828461583b565b61ffff1610613bdf576040517f519dd38400000000000000000000000000000000000000000000000000000000815261ffff8084166004830152821660248201526044016109da565b613beb60048383614576565b6040805161ffff8085168252831660208201527f8df7bdcce333d9e1b85e40782fb2f293c805761d3f48aaea58865e9541e44c709101612e22565b6000807fd7be168a3509af358f222ee35ee76aba47bc5fc2c35061cdce3958f510b7b1b28888613c55896142f4565b888888604051613c66929190615777565b60408051918290039091206001600160a01b038f166000908152600760209081528382207fffffffff0000000000000000000000000000000000000000000000000000000083351683529052919091208054600181019091556040805160208101989098526001600160a01b039096169587019590955260ff938416606087015260808601929092529190911660a084015260c083015260e082015261010001604051602081830303815290604052805190602001209050613d266143eb565b6040517f19010000000000000000000000000000000000000000000000000000000000006020820152602281019190915260428101829052606201604051602081830303815290604052805190602001209150509695505050505050565b6000807fa87058c5a9888e7af4405a932381d5a4612c61354bc3e52e9ea361ba17703fb38888613c55896142f4565b600065ffffffffffff821115613df8576040517fc0188c4f000000000000000000000000000000000000000000000000000000008152600481018390526024016109da565b5090565b60b581710100000000000000000000000000000000008110613e235760409190911b9060801c5b69010000000000000000008110613e3f5760209190911b9060401c5b650100000000008110613e575760109190911b9060201c5b63010000008110613e6d5760089190911b9060101c5b62010000010260121c80820401600190811c80830401811c80830401811c80830401811c80830401811c80830401811c80830401901c908190048111900390565b60005b81831015613f08576000613ec584846145a2565b60008781526020902090915065ffffffffffff86169082015465ffffffffffff161115613ef457809250613f02565b613eff816001615662565b93505b50613eb1565b509392505050565b60005b81831015613f08576000613f2784846145a2565b60008781526020902090915065ffffffffffff86169082015465ffffffffffff161115613f5657809250613f64565b613f61816001615662565b93505b50613f13565b600260ff84161115613fad576040517ffe0e5d8b00000000000000000000000000000000000000000000000000000000815260ff841660048201526024016109da565b600080546040517fec12d8be0000000000000000000000000000000000000000000000000000000081526001600160a01b039091169063ec12d8be90613ff7908990600401615764565b602060405180830381865afa158015614014573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906140389190615675565b60ff16600681111561404c5761404c6156e4565b9050826006811115614060576140606156e4565b816006811115614072576140726156e4565b146140ab57806040517f87afe58e0000000000000000000000000000000000000000000000000000000081526004016109da9190615856565b60008060009054906101000a90046001600160a01b03166001600160a01b0316630505c8c96040518163ffffffff1660e01b8152600401602060405180830381865afa1580156140ff573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906141239190615603565b6040517fe0bec07600000000000000000000000000000000000000000000000000000000815230600482015260ff88166024820152604481018590526001600160a01b03919091169063e0bec07690606401602060405180830381865afa158015614192573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906141b69190615692565b9050806141ef576040517f88aebd1200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600160009054906101000a90046001600160a01b03166001600160a01b031663ae2a6df26040518163ffffffff1660e01b815260040160006040518083038186803b15801561423d57600080fd5b505afa158015614251573d6000803e3d6000fd5b5050505050505050505050565b60006fffffffffffffffffffffffffffffffff821115613df8576040517fc0188c4f000000000000000000000000000000000000000000000000000000008152600481018390526024016109da565b60006fffffffffffffffffffffffffffffffff6142ce838216858316615662565b106142ea57506fffffffffffffffffffffffffffffffff610f48565b6110a28284615897565b60007f86b4555c6e347ea3f038485b59b894986c208b67da7e65fcfa3707271608465f823561432960408501602086016153ce565b61433960608601604087016158c0565b61434960808701606088016153ce565b61435960a08801608089016153ce565b60a088013561436b60c08a018a6158dd565b604051614379929190615777565b6040805191829003822060208301999099528101969096526001600160a01b03948516606087015260ff909316608086015290831660a08501529190911660c083015260e082015261010081019190915261012001604051602081830303815290604052805190602001209050919050565b60008054604080517f06fdde0300000000000000000000000000000000000000000000000000000000815290517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f926001600160a01b0316916306fdde0391600480830192879291908290030181865afa15801561446d573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526144b39190810190615942565b8051602091820120604080518082018252600181527f310000000000000000000000000000000000000000000000000000000000000090840152805192830193909352918101919091527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a082015260c00160405160208183030381529060405280519060200120905090565b6145718361455a42613db3565b614563856145bd565b61456c856145bd565b6145fe565b505050565b6145718361458342613db3565b6145908561ffff166145bd565b61459d8561ffff166145bd565b614909565b60006145b160028484186159b0565b6110a290848416615662565b600061ffff821115613df8576040517fc0188c4f000000000000000000000000000000000000000000000000000000008152600481018390526024016109da565b835480156148475760006146178661216b600185615620565b60408051606081018252915465ffffffffffff80821680855261ffff66010000000000008404811660208701526801000000000000000090930490921692840192909252919250861610156146ed576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f51756f72756d20436865636b706f696e743a20696e76616c69642074696d657360448201527f74616d700000000000000000000000000000000000000000000000000000000060648201526084016109da565b805165ffffffffffff8087169116036147865760006147118761216b600186615620565b805461ffff86811668010000000000000000027fffffffffffffffffffffffffffffffffffffffffffff0000ffffffffffffffff918916660100000000000002919091167fffffffffffffffffffffffffffffffffffffffffffff00000000ffffffffffff9092169190911717905550614841565b6040805160608101825265ffffffffffff808816825261ffff80881660208085019182528883169585019586528b54600181018d5560008d81529190912094519401805491519551831668010000000000000000027fffffffffffffffffffffffffffffffffffffffffffff0000ffffffffffffffff969093166601000000000000027fffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000909216949093169390931792909217929092161790555b50614902565b6040805160608101825265ffffffffffff808716825261ffff80871660208085019182528783169585019586528a54600181018c5560008c81529190912094519401805491519551831668010000000000000000027fffffffffffffffffffffffffffffffffffffffffffff0000ffffffffffffffff969093166601000000000000027fffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000909216949093169390931792909217929092161790555b5050505050565b835480156148475760006149228661216b600185615620565b60408051606081018252915465ffffffffffff80821680855261ffff66010000000000008404811660208701526801000000000000000090930490921692840192909252919250861610156146ed576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602860248201527f506572696f642050637420436865636b706f696e743a20696e76616c6964207460448201527f696d657374616d7000000000000000000000000000000000000000000000000060648201526084016109da565b600060e08284031215614a0b57600080fd5b50919050565b600060208284031215614a2357600080fd5b813567ffffffffffffffff811115614a3a57600080fd5b61260a848285016149f9565b600060208284031215614a5857600080fd5b5035919050565b60ff81168114610c7257600080fd5b8035614a7981614a5f565b919050565b60008083601f840112614a9057600080fd5b50813567ffffffffffffffff811115614aa857600080fd5b6020830191508360208285010111156121c657600080fd5b600080600080600060808688031215614ad857600080fd5b8535614ae381614a5f565b9450602086013567ffffffffffffffff80821115614b0057600080fd5b614b0c89838a016149f9565b955060408801359150614b1e82614a5f565b90935060608701359080821115614b3457600080fd5b50614b4188828901614a7e565b969995985093965092949392505050565b80357fffffffff0000000000000000000000000000000000000000000000000000000081168114614a7957600080fd5b600060208284031215614b9457600080fd5b6110a282614b52565b6001600160a01b0381168114610c7257600080fd5b8035614a7981614b9d565b600080600080600060a08688031215614bd557600080fd5b8535614be081614b9d565b9450602086013567ffffffffffffffff811115614bfc57600080fd5b614c08888289016149f9565b9450506040860135614c1981614a5f565b94979396509394606081013594506080013592915050565b60008060408385031215614c4457600080fd5b50508035926020909101359150565b60208082528251828201829052805160408401819052600092916060919083019082860190855b81811015614cc357614cb3838551805165ffffffffffff16825260208082015161ffff9081169184019190915260409182015116910152565b9285019291840191600101614c7a565b5090979650505050505050565b803561ffff81168114614a7957600080fd5b60008060408385031215614cf557600080fd5b614cfe83614cd0565b9150614d0c60208401614cd0565b90509250929050565b8015158114610c7257600080fd5b600080600060608486031215614d3857600080fd5b833592506020840135614d4a81614b9d565b91506040840135614d5a81614d15565b809150509250925092565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051610120810167ffffffffffffffff81118282101715614db857614db8614d65565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715614e0557614e05614d65565b604052919050565b600067ffffffffffffffff821115614e2757614e27614d65565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b600082601f830112614e6457600080fd5b8135614e77614e7282614e0d565b614dbe565b818152846020838601011115614e8c57600080fd5b816020850160208301376000918101602001919091529392505050565b60008060008060008060008060008060006101408c8e031215614ecb57600080fd5b614ed48c614bb2565b9a50614ee260208d01614a6e565b9950614ef060408d01614bb2565b9850614efe60608d01614bb2565b975060808c0135965067ffffffffffffffff8060a08e01351115614f2157600080fd5b614f318e60a08f01358f01614a7e565b909750955060c08d0135811015614f4757600080fd5b50614f588d60c08e01358e01614e53565b9350614f6660e08d01614a6e565b92506101008c013591506101208c013590509295989b509295989b9093969950565b60008060008084860360e0811215614f9f57600080fd5b8535614faa81614b9d565b94506020860135614fba81614b9d565b93506040860135925060807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa082011215614ff357600080fd5b506040516080810181811067ffffffffffffffff8211171561501757615017614d65565b60405261502660608701614cd0565b815261503460808701614cd0565b602082015261504560a08701614cd0565b604082015261505660c08701614cd0565b6060820152939692955090935050565b60008060008060008060008060006101008a8c03121561508557600080fd5b893561509081614b9d565b985060208a01356150a081614a5f565b975060408a013567ffffffffffffffff808211156150bd57600080fd5b6150c98d838e016149f9565b985060608c013591506150db82614a5f565b90965060808b013590808211156150f157600080fd5b506150fe8c828d01614a7e565b90965094505060a08a013561511281614a5f565b8093505060c08a0135915060e08a013590509295985092959850929598565b60008060008060008060008060c0898b03121561514d57600080fd5b883561515881614a5f565b9750602089013561516881614b9d565b9650604089013561517881614b9d565b955060608901359450608089013567ffffffffffffffff8082111561519c57600080fd5b6151a88c838d01614a7e565b909650945060a08b01359150808211156151c157600080fd5b506151ce8b828c01614a7e565b999c989b5096995094979396929594505050565b600080604083850312156151f557600080fd5b823561520081614b9d565b9150614d0c60208401614b52565b60208082528251828201829052805160408401819052600092916060919083019082860190855b81811015614cc35761526e838551805165ffffffffffff16825260208082015161ffff9081169184019190915260409182015116910152565b9285019291840191600101615235565b8051614a7981614d15565b8051614a7981614b9d565b805167ffffffffffffffff81168114614a7957600080fd5b80516bffffffffffffffffffffffff81168114614a7957600080fd5b600061012082840312156152db57600080fd5b6152e3614d94565b825181526152f36020840161527e565b60208201526153046040840161527e565b60408201526153156060840161527e565b606082015261532660808401615289565b608082015261533760a08401615294565b60a082015261534860c08401615294565b60c082015261535960e084016152ac565b60e082015261010061536c8185016152ac565b908201529392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b67ffffffffffffffff8281168282160390808211156153c7576153c7615377565b5092915050565b6000602082840312156153e057600080fd5b81356110a281614b9d565b6000602082840312156153fd57600080fd5b6110a282615294565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006020828403121561544757600080fd5b815165ffffffffffff811681146110a257600080fd5b60006020828403121561546f57600080fd5b5051919050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b80358252600060208201356154d381614b9d565b6001600160a01b0390811660208501526040830135906154f282614a5f565b60ff821660408601526060840135915061550b82614b9d565b908116606085015260808301359061552282614b9d565b16608084015260a0828101359084015260c0820135368390037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe101811261556857600080fd5b820160208101903567ffffffffffffffff81111561558557600080fd5b80360382131561559457600080fd5b60e060c08601526155a960e086018284615476565b95945050505050565b60ff831681526060602082015260006155ce60608301846154bf565b828103604084015260008152602081019150509392505050565b6000602082840312156155fa57600080fd5b6110a2826152ac565b60006020828403121561561557600080fd5b81516110a281614b9d565b81810381811115610f4857610f48615377565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b80820180821115610f4857610f48615377565b60006020828403121561568757600080fd5b81516110a281614a5f565b6000602082840312156156a457600080fd5b81516110a281614d15565b6060815260006156c260608301866154bf565b90506001600160a01b038416602083015260ff83166040830152949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b8481526fffffffffffffffffffffffffffffffff84166020820152606060408201526000610ba0606083018486615476565b65ffffffffffff8281168282160390808211156153c7576153c7615377565b6020815260006110a260208301846154bf565b8183823760009101908152919050565b60005b838110156157a257818101518382015260200161578a565b50506000910152565b60ff8816815260006001600160a01b03808916602084015280881660408401525085606083015260c060808301526157e760c083018587615476565b82810360a08401528351808252615805816020840160208801615787565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016016020019998505050505050505050565b61ffff8181168382160190808211156153c7576153c7615377565b6020810160078310615891577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b91905290565b6fffffffffffffffffffffffffffffffff8181168382160190808211156153c7576153c7615377565b6000602082840312156158d257600080fd5b81356110a281614a5f565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261591257600080fd5b83018035915067ffffffffffffffff82111561592d57600080fd5b6020019150368190038213156121c657600080fd5b60006020828403121561595457600080fd5b815167ffffffffffffffff81111561596b57600080fd5b8201601f8101841361597c57600080fd5b805161598a614e7282614e0d565b81815285602083850101111561599f57600080fd5b6155a9826020830160208601615787565b6000826159e6577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b50049056fea164736f6c6343000817000a", + "nonce": "0x0", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x1a2d0544ed5a9e4bc89053b94fc8aedbb952071243a19530bfb61b8370e207bf", + "transactionType": "CREATE", + "contractName": "LlamaTokenVotingFactory", + "contractAddress": "0xFBE17545dffD75A92A5A72926AE581478973FE65", + "function": null, + "arguments": [ + "0x3f3DAB3ab8cEc2FBd06767c2A5F66Cb6BFF21A4A" + ], + "transaction": { + "type": "0x02", + "from": "0xb72276d9ff15c7998b9962ffcfb21a6c7249441b", + "gas": "0xc9127", + "value": "0x0", + "data": "0x60a060405234801561001057600080fd5b50604051610b16380380610b1683398101604081905261002f91610040565b6001600160a01b0316608052610070565b60006020828403121561005257600080fd5b81516001600160a01b038116811461006957600080fd5b9392505050565b608051610a8561009160003960008181604001526104390152610a856000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c806321618ea41461003b5780633ec857a51461008b575b600080fd5b6100627f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b61006261009936600461087b565b600080338360000151846040015185606001516040516020016100bf9493929190610959565b60405160208183030381529060405280519060200120905060006100e7846020015183610622565b60408086015190517f439fab9100000000000000000000000000000000000000000000000000000000815291925073ffffffffffffffffffffffffffffffffffffffff83169163439fab919161013f916004016109b9565b6020604051808303816000875af115801561015e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101829190610a0a565b50600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1663fc0c546a6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156101e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061020a9190610a33565b73ffffffffffffffffffffffffffffffffffffffff1603610257576040517f65f5b03400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517fcdfda4dd00000000000000000000000000000000000000000000000000000000815242600482015273ffffffffffffffffffffffffffffffffffffffff82169063cdfda4dd90602401602060405180830381865afa1580156102c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102e59190610a50565b65ffffffffffff16600003610326576040517f65f5b03400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff166391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865afa158015610371573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103959190610a50565b65ffffffffffff166000036103d6576040517f65f5b03400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1663ae2a6df26040518163ffffffff1660e01b815260040160006040518083038186803b15801561041c57600080fd5b505afa158015610430573d6000803e3d6000fd5b5050505061045e7f000000000000000000000000000000000000000000000000000000000000000083610622565b8451608086015160a0870151604080517f8734852a00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff948516600482015286851660248201526044810193909352815161ffff908116606485015260208301518116608485015290820151811660a48401526060909101511660c4820152919450841690638734852a9060e401600060405180830381600087803b15801561051757600080fd5b505af115801561052b573d6000803e3d6000fd5b505050508073ffffffffffffffffffffffffffffffffffffffff1663fc0c546a6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561057a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061059e9190610a33565b84516020808701516060808901516040805173ffffffffffffffffffffffffffffffffffffffff94851681528885169581019590955284015287821690830152466080830152928316929091169033907f4c8bb78cb1c62e64cef39fc4b4a1864d1a331a28c7bd59a67fe969cc8ab715879060a00160405180910390a45050919050565b6000763d602d80600a3d3981f3363d3d373d3d3d363d730000008360601b60e81c176000526e5af43d82803e903d91602b57fd5bf38360781b1760205281603760096000f5905073ffffffffffffffffffffffffffffffffffffffff81166106b6576040517fc2f868f400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405160c0810167ffffffffffffffff8111828210171561070e5761070e6106bc565b60405290565b73ffffffffffffffffffffffffffffffffffffffff8116811461073657600080fd5b50565b600082601f83011261074a57600080fd5b813567ffffffffffffffff80821115610765576107656106bc565b604051601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011681019082821181831017156107ab576107ab6106bc565b816040528381528660208588010111156107c457600080fd5b836020870160208301376000602085830101528094505050505092915050565b803561ffff811681146107f657600080fd5b919050565b60006080828403121561080d57600080fd5b6040516080810181811067ffffffffffffffff82111715610830576108306106bc565b60405290508061083f836107e4565b815261084d602084016107e4565b602082015261085e604084016107e4565b604082015261086f606084016107e4565b60608201525092915050565b60006020828403121561088d57600080fd5b813567ffffffffffffffff808211156108a557600080fd5b9083019061012082860312156108ba57600080fd5b6108c26106eb565b82356108cd81610714565b815260208301356108dd81610714565b60208201526040830135828111156108f457600080fd5b61090087828601610739565b60408301525060608301356060820152608083013560808201526109278660a085016107fb565b60a082015295945050505050565b60005b83811015610950578181015183820152602001610938565b50506000910152565b60007fffffffffffffffffffffffffffffffffffffffff000000000000000000000000808760601b168352808660601b1660148401525083516109a3816028850160208801610935565b6028920191820192909252604801949350505050565b60208152600082518060208401526109d8816040850160208701610935565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169190910160400192915050565b600060208284031215610a1c57600080fd5b81518015158114610a2c57600080fd5b9392505050565b600060208284031215610a4557600080fd5b8151610a2c81610714565b600060208284031215610a6257600080fd5b815165ffffffffffff81168114610a2c57600080fdfea164736f6c6343000817000a0000000000000000000000003f3dab3ab8cec2fbd06767c2a5f66cb6bff21a4a", + "nonce": "0x1", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xf6ff2b972ab14d51fcbc265162045e592e24b3ce3d6b5b1b3951a271d4427974", + "transactionType": "CREATE", + "contractName": "LlamaTokenAdapterVotesTimestamp", + "contractAddress": "0x088C268cb00226D6A9b29e5488905Aa94D2f0239", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0xb72276d9ff15c7998b9962ffcfb21a6c7249441b", + "gas": "0x10d28c", + "value": "0x0", + "data": "0x608060405234801561001057600080fd5b5061001961001e565b6100d0565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff161561006e5760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b03908116146100cd5780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b610df5806100df6000396000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c8063ae2a6df21161005b578063ae2a6df21461010a578063cdfda4dd14610114578063edb8ee5a14610127578063fc0c546a1461013a57600080fd5b8063439fab911461008d5780634bf5d7e9146100b557806391ddadf4146100ca5780639556de73146100e9575b600080fd5b6100a061009b3660046108e4565b61017f565b60405190151581526020015b60405180910390f35b6100bd6103a1565b6040516100ac9190610988565b6100d261042f565b60405165ffffffffffff90911681526020016100ac565b6100fc6100f7366004610a12565b6104e9565b6040519081526020016100ac565b610112610593565b005b6100d2610122366004610a4b565b6105ef565b6100fc610135366004610a64565b610600565b60005461015a9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100ac565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0080546000919068010000000000000000810460ff16159067ffffffffffffffff1683811580156101cd5750825b905060008267ffffffffffffffff1660011480156101ea5750303b155b9050811580156101f8575080155b1561022f576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b84547fffffffffffffffffffffffffffffffffffffffffffffffff000000000000000016600117855583156102905784547fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff16680100000000000000001785555b6000878060200190518101906102a69190610a81565b8051600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff90921691909117905560408051808201909152600e81527f6d6f64653d74696d657374616d7000000000000000000000000000000000000060208201529091506001906103309082610b71565b50600196505083156103975784547fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b5050505050919050565b600180546103ae90610acd565b80601f01602080910402602001604051908101604052809291908181526020018280546103da90610acd565b80156104275780601f106103fc57610100808354040283529160200191610427565b820191906000526020600020905b81548152906001019060200180831161040a57829003601f168201915b505050505081565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156104d7575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682019092526104d491810190610c8b565b60015b6104e4576104e44261069b565b905090565b600080546040517f3a46b1a800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff858116600483015265ffffffffffff8516602483015290911690633a46b1a890604401602060405180830381865afa158015610568573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061058c9190610ca8565b9392505050565b600061059d6106e8565b905060006105a9610712565b905081806105b45750805b156105eb576040517f6ff0714000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050565b60006105fa8261069b565b92915050565b600080546040517f8e539e8c00000000000000000000000000000000000000000000000000000000815265ffffffffffff8416600482015273ffffffffffffffffffffffffffffffffffffffff90911690638e539e8c90602401602060405180830381865afa158015610677573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105fa9190610ca8565b600065ffffffffffff8211156106e4576040517fc0188c4f0000000000000000000000000000000000000000000000000000000081526004810183905260240160405180910390fd5b5090565b60006106f34261069b565b65ffffffffffff1661070361042f565b65ffffffffffff161415905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16634bf5d7e96040518163ffffffff1660e01b8152600401600060405180830381865afa9250505080156107bf57506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526107bc9190810190610cc1565b60015b6107c95750600090565b60016040516020016107db9190610d38565b60405160208183030381529060405280519060200120816040516020016108029190610dcc565b60405160208183030381529060405280519060200120141591505090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff8111828210171561089657610896610820565b604052919050565b600067ffffffffffffffff8211156108b8576108b8610820565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b6000602082840312156108f657600080fd5b813567ffffffffffffffff81111561090d57600080fd5b8201601f8101841361091e57600080fd5b803561093161092c8261089e565b61084f565b81815285602083850101111561094657600080fd5b81602084016020830137600091810160200191909152949350505050565b60005b8381101561097f578181015183820152602001610967565b50506000910152565b60208152600082518060208401526109a7816040850160208701610964565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169190910160400192915050565b73ffffffffffffffffffffffffffffffffffffffff811681146109fb57600080fd5b50565b65ffffffffffff811681146109fb57600080fd5b60008060408385031215610a2557600080fd5b8235610a30816109d9565b91506020830135610a40816109fe565b809150509250929050565b600060208284031215610a5d57600080fd5b5035919050565b600060208284031215610a7657600080fd5b813561058c816109fe565b600060208284031215610a9357600080fd5b6040516020810181811067ffffffffffffffff82111715610ab657610ab6610820565b6040528251610ac4816109d9565b81529392505050565b600181811c90821680610ae157607f821691505b602082108103610b1a577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b601f821115610b6c576000816000526020600020601f850160051c81016020861015610b495750805b601f850160051c820191505b81811015610b6857828155600101610b55565b5050505b505050565b815167ffffffffffffffff811115610b8b57610b8b610820565b610b9f81610b998454610acd565b84610b20565b602080601f831160018114610bf25760008415610bbc5750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b178555610b68565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b82811015610c3f57888601518255948401946001909101908401610c20565b5085821015610c7b57878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b600060208284031215610c9d57600080fd5b815161058c816109fe565b600060208284031215610cba57600080fd5b5051919050565b600060208284031215610cd357600080fd5b815167ffffffffffffffff811115610cea57600080fd5b8201601f81018413610cfb57600080fd5b8051610d0961092c8261089e565b818152856020838501011115610d1e57600080fd5b610d2f826020830160208601610964565b95945050505050565b6000808354610d4681610acd565b60018281168015610d5e5760018114610d9157610dc0565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0084168752821515830287019450610dc0565b8760005260208060002060005b85811015610db75781548a820152908401908201610d9e565b50505082870194505b50929695505050505050565b60008251610dde818460208701610964565b919091019291505056fea164736f6c6343000817000a", + "nonce": "0x2", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0xf132855b3de789edb51406d4fac93f03eaa9d4691ce7482c556f808eb77219ea", + "transactionIndex": "0x1", + "blockHash": "0x096b0cb84720d5c535d96f216051c627ecb670fc808a4f54377a5db7d93f3351", + "blockNumber": "0x6d6289f", + "from": "0xb72276D9FF15c7998b9962FFCfB21A6C7249441B", + "to": null, + "cumulativeGasUsed": "0x4d9cce", + "gasUsed": "0x4ca2c1", + "contractAddress": "0x3f3DAB3ab8cEc2FBd06767c2A5F66Cb6BFF21A4A", + "logs": [ + { + "address": "0x3f3DAB3ab8cEc2FBd06767c2A5F66Cb6BFF21A4A", + "topics": [ + "0xc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2" + ], + "data": "0x000000000000000000000000000000000000000000000000ffffffffffffffff", + "blockHash": "0x096b0cb84720d5c535d96f216051c627ecb670fc808a4f54377a5db7d93f3351", + "blockNumber": "0x6d6289f", + "transactionHash": "0xf132855b3de789edb51406d4fac93f03eaa9d4691ce7482c556f808eb77219ea", + "transactionIndex": "0x1", + "logIndex": "0x0", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000800000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb310f638" + }, + { + "transactionHash": "0x1a2d0544ed5a9e4bc89053b94fc8aedbb952071243a19530bfb61b8370e207bf", + "transactionIndex": "0x2", + "blockHash": "0x096b0cb84720d5c535d96f216051c627ecb670fc808a4f54377a5db7d93f3351", + "blockNumber": "0x6d6289f", + "from": "0xb72276D9FF15c7998b9962FFCfB21A6C7249441B", + "to": null, + "cumulativeGasUsed": "0x57483e", + "gasUsed": "0x9ab70", + "contractAddress": "0xFBE17545dffD75A92A5A72926AE581478973FE65", + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb310f638" + }, + { + "transactionHash": "0xf6ff2b972ab14d51fcbc265162045e592e24b3ce3d6b5b1b3951a271d4427974", + "transactionIndex": "0x3", + "blockHash": "0x096b0cb84720d5c535d96f216051c627ecb670fc808a4f54377a5db7d93f3351", + "blockNumber": "0x6d6289f", + "from": "0xb72276D9FF15c7998b9962FFCfB21A6C7249441B", + "to": null, + "cumulativeGasUsed": "0x6439e7", + "gasUsed": "0xcf1a9", + "contractAddress": "0x088C268cb00226D6A9b29e5488905Aa94D2f0239", + "logs": [ + { + "address": "0x088C268cb00226D6A9b29e5488905Aa94D2f0239", + "topics": [ + "0xc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2" + ], + "data": "0x000000000000000000000000000000000000000000000000ffffffffffffffff", + "blockHash": "0x096b0cb84720d5c535d96f216051c627ecb670fc808a4f54377a5db7d93f3351", + "blockNumber": "0x6d6289f", + "transactionHash": "0xf6ff2b972ab14d51fcbc265162045e592e24b3ce3d6b5b1b3951a271d4427974", + "transactionIndex": "0x3", + "logIndex": "0x1", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000800000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000008000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb310f638" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1704995629, + "chain": 10, + "multi": false, + "commit": "688208a" +} \ No newline at end of file diff --git a/broadcast/DeployLlamaTokenVotingFactory.s.sol/10/run-latest.json b/broadcast/DeployLlamaTokenVotingFactory.s.sol/10/run-latest.json new file mode 100644 index 0000000..ad3fa68 --- /dev/null +++ b/broadcast/DeployLlamaTokenVotingFactory.s.sol/10/run-latest.json @@ -0,0 +1,148 @@ +{ + "transactions": [ + { + "hash": "0xf132855b3de789edb51406d4fac93f03eaa9d4691ce7482c556f808eb77219ea", + "transactionType": "CREATE", + "contractName": "LlamaTokenGovernor", + "contractAddress": "0x3f3DAB3ab8cEc2FBd06767c2A5F66Cb6BFF21A4A", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0xb72276d9ff15c7998b9962ffcfb21a6c7249441b", + "gas": "0x6398ff", + "value": "0x0", + "data": "0x60806040523480156200001157600080fd5b506200001c62000022565b620000d6565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff1615620000735760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b0390811614620000d35780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b6159f880620000e66000396000f3fe608060405234801561001057600080fd5b50600436106101da5760003560e01c80637e4a56bb11610104578063b92cdd9a116100a2578063cae3bdff11610071578063cae3bdff1461053d578063dcae21b714610552578063e45061ea14610565578063e5589b9d1461057857600080fd5b8063b92cdd9a146104e4578063b9b2cf6c146104f7578063c193c2691461050a578063c26c12eb1461053557600080fd5b80638734852a116100de5780638734852a1461049857806396ff6e2e146104ab578063a1d9b412146104be578063b3c678b0146104d157600080fd5b80637e4a56bb1461046a5780637ed7238e14610472578063807ad1141461048557600080fd5b80633fed8f161161017c57806359e5332d1161014b57806359e5332d1461036457806364f6b3161461037b5780637186dd9c1461038e57806374f717cd1461044757600080fd5b80633fed8f16146103165780634d61ebf4146103365780634ec0ab1c1461033e578063509c5fbd1461035157600080fd5b806319a39740116101b857806319a397401461025b5780631e127ddf1461026e578063372fa8e8146102c25780633df91222146102d557600080fd5b80630669b1ce146101df57806311f900b5146101f45780631650080714610227575b600080fd5b6101f26101ed366004614a11565b61058b565b005b610207610202366004614a46565b610b79565b6040805161ffff9384168152929091166020830152015b60405180910390f35b61023a610235366004614ac0565b610b90565b6040516fffffffffffffffffffffffffffffffff909116815260200161021e565b6101f2610269366004614a46565b610baa565b6101f261027c366004614b82565b3360009081526007602090815260408083207fffffffff000000000000000000000000000000000000000000000000000000009490941683529290522080546001019055565b6101f26102d0366004614bbd565b610c75565b6102fe6102e3366004614a46565b6005602052600090815260409020546001600160a01b031681565b6040516001600160a01b03909116815260200161021e565b610329610324366004614c31565b610d76565b60405161021e9190614c53565b610207610f4e565b6101f261034c366004614ce2565b610f63565b61023a61035f366004614ac0565b611030565b61036d60025481565b60405190815260200161021e565b6000546102fe906001600160a01b031681565b6103fc61039c366004614a46565b6006602052600090815260409020805460018201546002909201546fffffffffffffffffffffffffffffffff8083169370010000000000000000000000000000000093849004821693818316939181900483169282811692919091041686565b604080516fffffffffffffffffffffffffffffffff978816815295871660208701529386169385019390935290841660608401528316608083015290911660a082015260c00161021e565b61045a610455366004614d23565b611040565b604051901515815260200161021e565b6103296110a9565b61036d610480366004614ea9565b61114c565b6001546102fe906001600160a01b031681565b6101f26104a6366004614f88565b611263565b61023a6104b9366004615066565b6114b5565b61023a6104cc366004615066565b6115c6565b61036d6104df366004615131565b6116c7565b6101f26104f2366004614a11565b61171c565b6101f2610505366004614ce2565b611726565b61036d6105183660046151e2565b600760209081526000928352604080842090915290825290205481565b6102076117ef565b6105456117fc565b60405161021e919061520e565b610545610560366004614c31565b61188f565b6101f2610573366004614a11565b611a4d565b610207610586366004614a46565b612026565b600080546040517fb6e76873000000000000000000000000000000000000000000000000000000008152833560048201526001600160a01b039091169063b6e768739060240161012060405180830381865afa1580156105ef573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061061391906152c8565b9050600060018260a0015161062891906153a6565b67ffffffffffffffff169050600160009054906101000a90046001600160a01b03166001600160a01b031663ae2a6df26040518163ffffffff1660e01b815260040160006040518083038186803b15801561068257600080fd5b505afa158015610696573d6000803e3d6000fd5b505050506000806000806106b485600461203490919063ffffffff16565b909250905060006106cb6080890160608a016153ce565b6001600160a01b031663b02bd9206040518163ffffffff1660e01b8152600401602060405180830381865afa158015610708573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061072c91906153eb565b67ffffffffffffffff16905061271061ffff8416820204818860c0015167ffffffffffffffff16030194506127108261ffff1682028161076e5761076e615406565b04850193508342116107ac576040517f038d8a6a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8660c0015167ffffffffffffffff1642106107f3576040517f08c8d62700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050843560009081526006602052604080822060015491517fcdfda4dd000000000000000000000000000000000000000000000000000000008152600481018690529092916001600160a01b03169063edb8ee5a90829063cdfda4dd90602401602060405180830381865afa158015610871573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108959190615435565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b16815265ffffffffffff9091166004820152602401602060405180830381865afa1580156108f0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610914919061545d565b600183015460028401549192506fffffffffffffffffffffffffffffffff7001000000000000000000000000000000009182900481169291820481169116600061095f60038a6121cd565b9150506000610975868361ffff166127106122d8565b905080856fffffffffffffffffffffffffffffffff1610156109e3576040517fbfb9aa550000000000000000000000000000000000000000000000000000000081526fffffffffffffffffffffffffffffffff86166004820152602481018290526044015b60405180910390fd5b836fffffffffffffffffffffffffffffffff16856fffffffffffffffffffffffffffffffff1611610a5c576040517f8a0df63f0000000000000000000000000000000000000000000000000000000081526fffffffffffffffffffffffffffffffff8087166004830152851660248201526044016109da565b6000610a7b8d6060016020810190610a7491906153ce565b600061231c565b905060008054906101000a90046001600160a01b03166001600160a01b03166394004706828f6040518363ffffffff1660e01b8152600401610abe9291906155b2565b6020604051808303816000875af1158015610add573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b0191906155e8565b50604080518e3581526fffffffffffffffffffffffffffffffff808916602083015280881692820192909252908516606082015260ff82169033907ff5bc433f16cc3d0e9fcb5ac4f8de9f17eb90de1fd2a9ede5952c2097d4ef1a59906080015b60405180910390a350505050505050505050505050565b600080610b87600484612034565b91509150915091565b6000610ba0338787878787612612565b9695505050505050565b60008054906101000a90046001600160a01b03166001600160a01b031663c34c08e56040518163ffffffff1660e01b8152600401602060405180830381865afa158015610bfb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c1f9190615603565b6001600160a01b0316336001600160a01b031614610c69576040517f26bee1ce00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610c7281612c5e565b50565b6000610c818686612e2e565b6040805160008082526020820180845284905260ff88169282019290925260608101869052608081018590529192509060019060a0016020604051602081039080840390855afa158015610cd9573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001519150506001600160a01b0381161580610d2c5750866001600160a01b0316816001600160a01b031614155b15610d63576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610d6d8187612f50565b50505050505050565b60408051602081019091526060815281831115610dbf576040517f2cd4dad300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60045480831115610dfc576040517f2cd4dad300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610e088585615620565b905060008167ffffffffffffffff811115610e2557610e25614d65565b604051908082528060200260200182016040528015610e8e57816020015b60408051606081018252600080825260208083018290529282015282527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff909201910181610e435790505b509050855b85811015610f34576004805482908110610eaf57610eaf615633565b600091825260209182902060408051606081018252919092015465ffffffffffff8116825261ffff660100000000000082048116948301949094526801000000000000000090049092169082015282610f088984615620565b81518110610f1857610f18615633565b6020026020010181905250610f2d8160010190565b9050610e93565b506040805160208101909152908152925050505b92915050565b600080610f5b6004613063565b915091509091565b60008054906101000a90046001600160a01b03166001600160a01b031663c34c08e56040518163ffffffff1660e01b8152600401602060405180830381865afa158015610fb4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fd89190615603565b6001600160a01b0316336001600160a01b031614611022576040517f26bee1ce00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61102c82826130db565b5050565b6000610ba03387878787876131cf565b60008115611077575060008381526006602090815260408083206001600160a01b038616845260030190915290205460ff166110a2565b5060008381526006602090815260408083206001600160a01b038616845260040190915290205460ff165b9392505050565b6040805160208101909152606081526040805160048054602081810284018501855283018181529293919284929091849160009085015b8282101561113f576000848152602090819020604080516060810182529185015465ffffffffffff8116835261ffff660100000000000082048116848601526801000000000000000090910416908201528252600190920191016110e0565b5050505081525050905090565b60008061115f8d8d8d8d8d8d8d8d613714565b6040805160008082526020820180845284905260ff89169282019290925260608101879052608081018690529192509060019060a0016020604051602081039080840390855afa1580156111b7573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001519150506001600160a01b038116158061120a57508d6001600160a01b0316816001600160a01b031614155b15611241576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611251818e8e8e8e8e8e8e613885565b9e9d5050505050505050505050505050565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000810460ff16159067ffffffffffffffff166000811580156112ae5750825b905060008267ffffffffffffffff1660011480156112cb5750303b155b9050811580156112d9575080155b15611310576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b84547fffffffffffffffffffffffffffffffffffffffffffffffff000000000000000016600117855583156113715784547fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff16680100000000000000001785555b886001600160a01b0316639bccfe496040518163ffffffff1660e01b8152600401602060405180830381865afa1580156113af573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113d3919061545d565b50600080546001600160a01b03808c167fffffffffffffffffffffffff00000000000000000000000000000000000000009283161790925560018054928b169290911691909117905561142587612c5e565b611437866000015187602001516130db565b61144986604001518760600151613b89565b83156114aa5784547fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b505050505050505050565b6000806114c68b8b8b8b8b8b613c26565b6040805160008082526020820180845284905260ff89169282019290925260608101879052608081018690529192509060019060a0016020604051602081039080840390855afa15801561151e573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001519150506001600160a01b038116158061157157508b6001600160a01b0316816001600160a01b031614155b156115a8576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6115b6818c8c8c8c8c6131cf565b9c9b505050505050505050505050565b6000806115d78b8b8b8b8b8b613d84565b6040805160008082526020820180845284905260ff89169282019290925260608101879052608081018690529192509060019060a0016020604051602081039080840390855afa15801561162f573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001519150506001600160a01b038116158061168257508b6001600160a01b0316816001600160a01b031614155b156116b9576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6115b6818c8c8c8c8c612612565b600061170f338a8a8a8a8a8a8a8a8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061388592505050565b9998505050505050505050565b610c723382612f50565b60008054906101000a90046001600160a01b03166001600160a01b031663c34c08e56040518163ffffffff1660e01b8152600401602060405180830381865afa158015611777573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061179b9190615603565b6001600160a01b0316336001600160a01b0316146117e5576040517f26bee1ce00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61102c8282613b89565b600080610f5b6003613063565b604080516020810190915260608152604080516003805460208082028401850185528301818152929391928492909184916000908501821561113f576000848152602090819020604080516060810182529185015465ffffffffffff8116835261ffff660100000000000082048116848601526801000000000000000090910416908201528252600190920191016110e0565b604080516020810190915260608152818311156118d8576040517f2cd4dad300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60035480831115611915576040517f2cd4dad300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006119218585615620565b905060008167ffffffffffffffff81111561193e5761193e614d65565b6040519080825280602002602001820160405280156119a757816020015b60408051606081018252600080825260208083018290529282015282527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90920191018161195c5790505b509050855b85811015610f345760038054829081106119c8576119c8615633565b600091825260209182902060408051606081018252919092015465ffffffffffff8116825261ffff660100000000000082048116948301949094526801000000000000000090049092169082015282611a218984615620565b81518110611a3157611a31615633565b6020026020010181905250611a468160010190565b90506119ac565b600080546040517fb6e76873000000000000000000000000000000000000000000000000000000008152833560048201526001600160a01b039091169063b6e768739060240161012060405180830381865afa158015611ab1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ad591906152c8565b9050600060018260a00151611aea91906153a6565b67ffffffffffffffff169050600160009054906101000a90046001600160a01b03166001600160a01b031663ae2a6df26040518163ffffffff1660e01b815260040160006040518083038186803b158015611b4457600080fd5b505afa158015611b58573d6000803e3d6000fd5b50505050600080600080611b7685600461203490919063ffffffff16565b90925090506000611b8d6080890160608a016153ce565b6001600160a01b0316637999762c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611bca573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bee91906153eb565b67ffffffffffffffff16905061271061ffff84168202048760a0015167ffffffffffffffff160194506127108261ffff16820281611c2e57611c2e615406565b0485019350834211611c6c576040517f038d8a6a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b808760a0015167ffffffffffffffff16611c869190615662565b421115611cbf576040517f08c8d62700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050843560009081526006602052604080822060015491517fcdfda4dd000000000000000000000000000000000000000000000000000000008152600481018690529092916001600160a01b03169063edb8ee5a90829063cdfda4dd90602401602060405180830381865afa158015611d3d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d619190615435565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b16815265ffffffffffff9091166004820152602401602060405180830381865afa158015611dbc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611de0919061545d565b825460018401549192506fffffffffffffffffffffffffffffffff808216928116917001000000000000000000000000000000009004166000611e2460038a6121cd565b5090506000611e3a868361ffff166127106122d8565b905080856fffffffffffffffffffffffffffffffff161015611ea3576040517f0425fab10000000000000000000000000000000000000000000000000000000081526fffffffffffffffffffffffffffffffff86166004820152602481018290526044016109da565b836fffffffffffffffffffffffffffffffff16856fffffffffffffffffffffffffffffffff1611611f1c576040517f8a0df63f0000000000000000000000000000000000000000000000000000000081526fffffffffffffffffffffffffffffffff8087166004830152851660248201526044016109da565b6000611f3b8d6060016020810190611f3491906153ce565b600161231c565b905060008054906101000a90046001600160a01b03166001600160a01b03166389e7d126828f6040518363ffffffff1660e01b8152600401611f7e9291906155b2565b6020604051808303816000875af1158015611f9d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fc191906155e8565b50604080518e3581526fffffffffffffffffffffffffffffffff808916602083015280881692820192909252908516606082015260ff82169033907ff23279e924757f3bfe4f543bc1b43685e851d6ace53f8518b806dcd8d42fc13990608001610b62565b600080610b876003846121cd565b6000804283106120c6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f506572696f64506374436865636b706f696e74733a2074696d657374616d702060448201527f6973206e6f7420696e207468652070617374000000000000000000000000000060648201526084016109da565b60006120d184613db3565b855490915060008160058111156121315760006120ed84613dfc565b6120f79085615620565b60008a81526020902090915081015465ffffffffffff90811690861610156121215780915061212f565b61212c816001615662565b92505b505b600061213f89868585613eae565b90508060000361215a576000809650965050505050506121c6565b60006121798a61216b600185615620565b600091825260209091200190565b60408051606081018252915465ffffffffffff8116835261ffff66010000000000008204811660208501819052680100000000000000009092041692909101829052985096505050505050505b9250929050565b60008042831061225f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602f60248201527f51756f72756d436865636b706f696e74733a2074696d657374616d702069732060448201527f6e6f7420696e207468652070617374000000000000000000000000000000000060648201526084016109da565b600061226a84613db3565b855490915060008160058111156122ca57600061228684613dfc565b6122909085615620565b60008a81526020902090915081015465ffffffffffff90811690861610156122ba578091506122c8565b6122c5816001615662565b92505b505b600061213f89868585613f10565b6000827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048411830215820261230d57600080fd5b50910281810615159190040190565b60008054604080517f0505c8c9000000000000000000000000000000000000000000000000000000008152905183926001600160a01b031691630505c8c99160048083019260209291908290030181865afa15801561237f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123a39190615603565b6001600160a01b0316638b2ed3886040518163ffffffff1660e01b8152600401602060405180830381865afa1580156123e0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124049190615675565b905060015b8160ff16811161253b57836124a1576040517fc167ebae00000000000000000000000000000000000000000000000000000000815260ff821660048201526001600160a01b0386169063c167ebae90602401602060405180830381865afa158015612478573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061249c9190615692565b612525565b6040517ffb847c4300000000000000000000000000000000000000000000000000000000815260ff821660048201526001600160a01b0386169063fb847c4390602401602060405180830381865afa158015612501573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125259190615692565b15612533579150610f489050565b600101612409565b50826125a857836001600160a01b03166312a52f006040518163ffffffff1660e01b8152600401602060405180830381865afa15801561257f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125a39190615675565b61260a565b836001600160a01b03166366cacdc96040518163ffffffff1660e01b8152600401602060405180830381865afa1580156125e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061260a9190615675565b949350505050565b600080546040517fb6e768730000000000000000000000000000000000000000000000000000000081528635600482015282916001600160a01b03169063b6e768739060240161012060405180830381865afa158015612676573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061269a91906152c8565b9050600060018260a001516126af91906153a6565b8735600090815260066020526040902067ffffffffffffffff9190911691506126de6080890160608a016153ce565b6001600160a01b03166302674e4b89308c6040518463ffffffff1660e01b815260040161270d939291906156af565b60006040518083038186803b15801561272557600080fd5b505afa158015612739573d6000803e3d6000fd5b505050506001600160a01b038a16600090815260048201602052604090205460ff1615612792576040517f9dd6544b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6127a0888a89600486613f6a565b60008080806127b0600487612034565b909250905060006127c760808e0160608f016153ce565b6001600160a01b031663b02bd9206040518163ffffffff1660e01b8152600401602060405180830381865afa158015612804573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061282891906153eb565b67ffffffffffffffff16905061271061ffff8416820204818960c0015167ffffffffffffffff16030194506127108261ffff1682028161286a5761286a615406565b04850193508442116128a8576040517fd0b72b4900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b834211156128e2576040517f5b73d19300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050506000612a25600160009054906101000a90046001600160a01b03166001600160a01b0316639556de738f600160009054906101000a90046001600160a01b03166001600160a01b031663cdfda4dd886040518263ffffffff1660e01b815260040161295291815260200190565b602060405180830381865afa15801561296f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906129939190615435565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b1681526001600160a01b03909216600483015265ffffffffffff166024820152604401602060405180830381865afa1580156129fc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a20919061545d565b61425e565b905060ff8a16612a9e576002840154612a649070010000000000000000000000000000000090046fffffffffffffffffffffffffffffffff16826142ad565b6002850180546fffffffffffffffffffffffffffffffff928316700100000000000000000000000000000000029216919091179055612bc6565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60ff8b1601612b37576001840154612afd9070010000000000000000000000000000000090046fffffffffffffffffffffffffffffffff16826142ad565b6001850180546fffffffffffffffffffffffffffffffff928316700100000000000000000000000000000000029216919091179055612bc6565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe60ff8b1601612bc6576002840154612b82906fffffffffffffffffffffffffffffffff16826142ad565b6002850180547fffffffffffffffffffffffffffffffff00000000000000000000000000000000166fffffffffffffffffffffffffffffffff929092169190911790555b6001600160a01b038d1660008181526004860160205260409081902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790555160ff8c1691907f4e3e2ad68670a2709cb408c31c5afd8da0b6d3d06c75b11feb404a455639fe7c90612c46908f359086908f908f90615713565b60405180910390a39c9b505050505050505050505050565b60018054604080517f91ddadf400000000000000000000000000000000000000000000000000000000815290516000936001600160a01b039093169263edb8ee5a92909184916391ddadf49160048083019260209291908290030181865afa158015612cce573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612cf29190615435565b612cfc9190615745565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b16815265ffffffffffff9091166004820152602401602060405180830381865afa158015612d57573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612d7b919061545d565b905080600003612db7576040517f34bbd58500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80821115612df1576040517f8a5e746800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60028290556040518281527fd91a985c173545ab0e0bd11c021a1ae84c1ea6eab9350d9bf3812d5b8bff49a4906020015b60405180910390a15050565b6000807f6da9390b4f29da2c44fa5a9da00b392393d01e989d16e4a3dec5a538318e352584612e5c856142f4565b6001600160a01b03871660009081526007602090815260408083207fffffffff00000000000000000000000000000000000000000000000000000000843516845290915290208054600181019091556040805160208101959095526001600160a01b03909316928401929092526060830152608082015260a001604051602081830303815290604052805190602001209050612ef66143eb565b6040517f190100000000000000000000000000000000000000000000000000000000000060208201526022810191909152604281018290526062016040516020818303038152906040528051906020012091505092915050565b80356000908152600560205260409020546001600160a01b03838116911614612fa5576040517f86ba025600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000546040517fb92cdd9a0000000000000000000000000000000000000000000000000000000081526001600160a01b039091169063b92cdd9a90612fee908490600401615764565b600060405180830381600087803b15801561300857600080fd5b505af115801561301c573d6000803e3d6000fd5b5050604051833581526001600160a01b03851692507fdcccc5725b7256a6975da00de8953e5d326756a3079d203ff6df9e52331f411a915060200160405180910390a25050565b8054600090819080820361307d5750600093849350915050565b600061308e8561216b600185615620565b60408051606081018252915465ffffffffffff8116835261ffff66010000000000008204811660208501819052680100000000000000009092041692909101829052969095509350505050565b6127108261ffff1611806130f1575061ffff8216155b1561312e576040517f8f6febc000000000000000000000000000000000000000000000000000000000815261ffff831660048201526024016109da565b6127108161ffff161180613144575061ffff8116155b15613181576040517f3bec511c00000000000000000000000000000000000000000000000000000000815261ffff821660048201526024016109da565b613194600361ffff80851690841661454d565b6040805161ffff8085168252831660208201527f77c3f43700db02acb49792bbf699b39f72c2ed4b920bd5c0b1843dcd7c832f4c9101612e22565b600080546040517fb6e768730000000000000000000000000000000000000000000000000000000081528635600482015282916001600160a01b03169063b6e768739060240161012060405180830381865afa158015613233573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061325791906152c8565b9050600060018260a0015161326c91906153a6565b8735600090815260066020526040902067ffffffffffffffff91909116915061329b6080890160608a016153ce565b6001600160a01b0316631a2a4e7789308c6040518463ffffffff1660e01b81526004016132ca939291906156af565b60006040518083038186803b1580156132e257600080fd5b505afa1580156132f6573d6000803e3d6000fd5b505050506001600160a01b038a16600090815260038201602052604090205460ff161561334f576040517f9dd6544b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61335d888a89600086613f6a565b600080808061336d600487612034565b9092509050600061338460808e0160608f016153ce565b6001600160a01b0316637999762c6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156133c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906133e591906153eb565b67ffffffffffffffff16905061271061ffff84168202048860a0015167ffffffffffffffff160194506127108261ffff1682028161342557613425615406565b0485019350844211613463576040517fd0b72b4900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8342111561349d576040517f5b73d19300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050600061350d600160009054906101000a90046001600160a01b03166001600160a01b0316639556de738f600160009054906101000a90046001600160a01b03166001600160a01b031663cdfda4dd886040518263ffffffff1660e01b815260040161295291815260200190565b905060ff8a16613580576001840154613538906fffffffffffffffffffffffffffffffff16826142ad565b6001850180547fffffffffffffffffffffffffffffffff00000000000000000000000000000000166fffffffffffffffffffffffffffffffff92909216919091179055613694565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60ff8b16016136095783546135c8906fffffffffffffffffffffffffffffffff16826142ad565b84547fffffffffffffffffffffffffffffffff00000000000000000000000000000000166fffffffffffffffffffffffffffffffff91909116178455613694565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe60ff8b16016136945783546136659070010000000000000000000000000000000090046fffffffffffffffffffffffffffffffff16826142ad565b84546fffffffffffffffffffffffffffffffff9182167001000000000000000000000000000000000291161784555b6001600160a01b038d1660008181526003860160205260409081902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790555160ff8c1691907f761cce3a1af5d9cfc0d57222f605ce4bd2be345f0ad9ebb7b83a84a91a0c201490612c46908f359086908f908f90615713565b6001600160a01b03881660009081526007602090815260408083207fffffffff000000000000000000000000000000000000000000000000000000008435168452909152812080546001810190915560007fd1fab1c7b3b37134662e5867b00e272eb49f7be0a890df29e802c3cc66c06f838b8b8b8b8b8b8b60405161379b929190615777565b604080519182900382208c516020808f0191909120908401999099526001600160a01b039788169183019190915260ff90951660608201529285166080840152931660a082015260c081019290925260e08201526101008101919091526101208101839052610140016040516020818303038152906040528051906020012090506138246143eb565b6040517f19010000000000000000000000000000000000000000000000000000000000006020820152602281019190915260428101829052606201604051602081830303815290604052805190602001209250505098975050505050505050565b600154604080517fae2a6df200000000000000000000000000000000000000000000000000000000815290516000926001600160a01b03169163ae2a6df29160048083019286929190829003018186803b1580156138e257600080fd5b505afa1580156138f6573d6000803e3d6000fd5b505060018054604080517f91ddadf40000000000000000000000000000000000000000000000000000000081529051600095506001600160a01b039092169350639556de73928e92909185916391ddadf4916004808201926020929091908290030181865afa15801561396d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906139919190615435565b61399b9190615745565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b1681526001600160a01b03909216600483015265ffffffffffff166024820152604401602060405180830381865afa158015613a04573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613a28919061545d565b9050600254811015613a69576040517f92665351000000000000000000000000000000000000000000000000000000008152600481018290526024016109da565b6000546040517fb3c678b00000000000000000000000000000000000000000000000000000000081526001600160a01b039091169063b3c678b090613abe908c908c908c908c908c908c908c906004016157ab565b6020604051808303816000875af1158015613add573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613b01919061545d565b60008181526005602090815260409182902080547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b038f16908117909155915183815292945090917f1834dfd49255741a8ce9a9bd66b91b64d13622e1d8170e4c78ac91f9ec50a542910160405180910390a25098975050505050505050565b612710613b96828461583b565b61ffff1610613bdf576040517f519dd38400000000000000000000000000000000000000000000000000000000815261ffff8084166004830152821660248201526044016109da565b613beb60048383614576565b6040805161ffff8085168252831660208201527f8df7bdcce333d9e1b85e40782fb2f293c805761d3f48aaea58865e9541e44c709101612e22565b6000807fd7be168a3509af358f222ee35ee76aba47bc5fc2c35061cdce3958f510b7b1b28888613c55896142f4565b888888604051613c66929190615777565b60408051918290039091206001600160a01b038f166000908152600760209081528382207fffffffff0000000000000000000000000000000000000000000000000000000083351683529052919091208054600181019091556040805160208101989098526001600160a01b039096169587019590955260ff938416606087015260808601929092529190911660a084015260c083015260e082015261010001604051602081830303815290604052805190602001209050613d266143eb565b6040517f19010000000000000000000000000000000000000000000000000000000000006020820152602281019190915260428101829052606201604051602081830303815290604052805190602001209150509695505050505050565b6000807fa87058c5a9888e7af4405a932381d5a4612c61354bc3e52e9ea361ba17703fb38888613c55896142f4565b600065ffffffffffff821115613df8576040517fc0188c4f000000000000000000000000000000000000000000000000000000008152600481018390526024016109da565b5090565b60b581710100000000000000000000000000000000008110613e235760409190911b9060801c5b69010000000000000000008110613e3f5760209190911b9060401c5b650100000000008110613e575760109190911b9060201c5b63010000008110613e6d5760089190911b9060101c5b62010000010260121c80820401600190811c80830401811c80830401811c80830401811c80830401811c80830401811c80830401901c908190048111900390565b60005b81831015613f08576000613ec584846145a2565b60008781526020902090915065ffffffffffff86169082015465ffffffffffff161115613ef457809250613f02565b613eff816001615662565b93505b50613eb1565b509392505050565b60005b81831015613f08576000613f2784846145a2565b60008781526020902090915065ffffffffffff86169082015465ffffffffffff161115613f5657809250613f64565b613f61816001615662565b93505b50613f13565b600260ff84161115613fad576040517ffe0e5d8b00000000000000000000000000000000000000000000000000000000815260ff841660048201526024016109da565b600080546040517fec12d8be0000000000000000000000000000000000000000000000000000000081526001600160a01b039091169063ec12d8be90613ff7908990600401615764565b602060405180830381865afa158015614014573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906140389190615675565b60ff16600681111561404c5761404c6156e4565b9050826006811115614060576140606156e4565b816006811115614072576140726156e4565b146140ab57806040517f87afe58e0000000000000000000000000000000000000000000000000000000081526004016109da9190615856565b60008060009054906101000a90046001600160a01b03166001600160a01b0316630505c8c96040518163ffffffff1660e01b8152600401602060405180830381865afa1580156140ff573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906141239190615603565b6040517fe0bec07600000000000000000000000000000000000000000000000000000000815230600482015260ff88166024820152604481018590526001600160a01b03919091169063e0bec07690606401602060405180830381865afa158015614192573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906141b69190615692565b9050806141ef576040517f88aebd1200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600160009054906101000a90046001600160a01b03166001600160a01b031663ae2a6df26040518163ffffffff1660e01b815260040160006040518083038186803b15801561423d57600080fd5b505afa158015614251573d6000803e3d6000fd5b5050505050505050505050565b60006fffffffffffffffffffffffffffffffff821115613df8576040517fc0188c4f000000000000000000000000000000000000000000000000000000008152600481018390526024016109da565b60006fffffffffffffffffffffffffffffffff6142ce838216858316615662565b106142ea57506fffffffffffffffffffffffffffffffff610f48565b6110a28284615897565b60007f86b4555c6e347ea3f038485b59b894986c208b67da7e65fcfa3707271608465f823561432960408501602086016153ce565b61433960608601604087016158c0565b61434960808701606088016153ce565b61435960a08801608089016153ce565b60a088013561436b60c08a018a6158dd565b604051614379929190615777565b6040805191829003822060208301999099528101969096526001600160a01b03948516606087015260ff909316608086015290831660a08501529190911660c083015260e082015261010081019190915261012001604051602081830303815290604052805190602001209050919050565b60008054604080517f06fdde0300000000000000000000000000000000000000000000000000000000815290517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f926001600160a01b0316916306fdde0391600480830192879291908290030181865afa15801561446d573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526144b39190810190615942565b8051602091820120604080518082018252600181527f310000000000000000000000000000000000000000000000000000000000000090840152805192830193909352918101919091527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a082015260c00160405160208183030381529060405280519060200120905090565b6145718361455a42613db3565b614563856145bd565b61456c856145bd565b6145fe565b505050565b6145718361458342613db3565b6145908561ffff166145bd565b61459d8561ffff166145bd565b614909565b60006145b160028484186159b0565b6110a290848416615662565b600061ffff821115613df8576040517fc0188c4f000000000000000000000000000000000000000000000000000000008152600481018390526024016109da565b835480156148475760006146178661216b600185615620565b60408051606081018252915465ffffffffffff80821680855261ffff66010000000000008404811660208701526801000000000000000090930490921692840192909252919250861610156146ed576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f51756f72756d20436865636b706f696e743a20696e76616c69642074696d657360448201527f74616d700000000000000000000000000000000000000000000000000000000060648201526084016109da565b805165ffffffffffff8087169116036147865760006147118761216b600186615620565b805461ffff86811668010000000000000000027fffffffffffffffffffffffffffffffffffffffffffff0000ffffffffffffffff918916660100000000000002919091167fffffffffffffffffffffffffffffffffffffffffffff00000000ffffffffffff9092169190911717905550614841565b6040805160608101825265ffffffffffff808816825261ffff80881660208085019182528883169585019586528b54600181018d5560008d81529190912094519401805491519551831668010000000000000000027fffffffffffffffffffffffffffffffffffffffffffff0000ffffffffffffffff969093166601000000000000027fffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000909216949093169390931792909217929092161790555b50614902565b6040805160608101825265ffffffffffff808716825261ffff80871660208085019182528783169585019586528a54600181018c5560008c81529190912094519401805491519551831668010000000000000000027fffffffffffffffffffffffffffffffffffffffffffff0000ffffffffffffffff969093166601000000000000027fffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000909216949093169390931792909217929092161790555b5050505050565b835480156148475760006149228661216b600185615620565b60408051606081018252915465ffffffffffff80821680855261ffff66010000000000008404811660208701526801000000000000000090930490921692840192909252919250861610156146ed576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602860248201527f506572696f642050637420436865636b706f696e743a20696e76616c6964207460448201527f696d657374616d7000000000000000000000000000000000000000000000000060648201526084016109da565b600060e08284031215614a0b57600080fd5b50919050565b600060208284031215614a2357600080fd5b813567ffffffffffffffff811115614a3a57600080fd5b61260a848285016149f9565b600060208284031215614a5857600080fd5b5035919050565b60ff81168114610c7257600080fd5b8035614a7981614a5f565b919050565b60008083601f840112614a9057600080fd5b50813567ffffffffffffffff811115614aa857600080fd5b6020830191508360208285010111156121c657600080fd5b600080600080600060808688031215614ad857600080fd5b8535614ae381614a5f565b9450602086013567ffffffffffffffff80821115614b0057600080fd5b614b0c89838a016149f9565b955060408801359150614b1e82614a5f565b90935060608701359080821115614b3457600080fd5b50614b4188828901614a7e565b969995985093965092949392505050565b80357fffffffff0000000000000000000000000000000000000000000000000000000081168114614a7957600080fd5b600060208284031215614b9457600080fd5b6110a282614b52565b6001600160a01b0381168114610c7257600080fd5b8035614a7981614b9d565b600080600080600060a08688031215614bd557600080fd5b8535614be081614b9d565b9450602086013567ffffffffffffffff811115614bfc57600080fd5b614c08888289016149f9565b9450506040860135614c1981614a5f565b94979396509394606081013594506080013592915050565b60008060408385031215614c4457600080fd5b50508035926020909101359150565b60208082528251828201829052805160408401819052600092916060919083019082860190855b81811015614cc357614cb3838551805165ffffffffffff16825260208082015161ffff9081169184019190915260409182015116910152565b9285019291840191600101614c7a565b5090979650505050505050565b803561ffff81168114614a7957600080fd5b60008060408385031215614cf557600080fd5b614cfe83614cd0565b9150614d0c60208401614cd0565b90509250929050565b8015158114610c7257600080fd5b600080600060608486031215614d3857600080fd5b833592506020840135614d4a81614b9d565b91506040840135614d5a81614d15565b809150509250925092565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051610120810167ffffffffffffffff81118282101715614db857614db8614d65565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715614e0557614e05614d65565b604052919050565b600067ffffffffffffffff821115614e2757614e27614d65565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b600082601f830112614e6457600080fd5b8135614e77614e7282614e0d565b614dbe565b818152846020838601011115614e8c57600080fd5b816020850160208301376000918101602001919091529392505050565b60008060008060008060008060008060006101408c8e031215614ecb57600080fd5b614ed48c614bb2565b9a50614ee260208d01614a6e565b9950614ef060408d01614bb2565b9850614efe60608d01614bb2565b975060808c0135965067ffffffffffffffff8060a08e01351115614f2157600080fd5b614f318e60a08f01358f01614a7e565b909750955060c08d0135811015614f4757600080fd5b50614f588d60c08e01358e01614e53565b9350614f6660e08d01614a6e565b92506101008c013591506101208c013590509295989b509295989b9093969950565b60008060008084860360e0811215614f9f57600080fd5b8535614faa81614b9d565b94506020860135614fba81614b9d565b93506040860135925060807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa082011215614ff357600080fd5b506040516080810181811067ffffffffffffffff8211171561501757615017614d65565b60405261502660608701614cd0565b815261503460808701614cd0565b602082015261504560a08701614cd0565b604082015261505660c08701614cd0565b6060820152939692955090935050565b60008060008060008060008060006101008a8c03121561508557600080fd5b893561509081614b9d565b985060208a01356150a081614a5f565b975060408a013567ffffffffffffffff808211156150bd57600080fd5b6150c98d838e016149f9565b985060608c013591506150db82614a5f565b90965060808b013590808211156150f157600080fd5b506150fe8c828d01614a7e565b90965094505060a08a013561511281614a5f565b8093505060c08a0135915060e08a013590509295985092959850929598565b60008060008060008060008060c0898b03121561514d57600080fd5b883561515881614a5f565b9750602089013561516881614b9d565b9650604089013561517881614b9d565b955060608901359450608089013567ffffffffffffffff8082111561519c57600080fd5b6151a88c838d01614a7e565b909650945060a08b01359150808211156151c157600080fd5b506151ce8b828c01614a7e565b999c989b5096995094979396929594505050565b600080604083850312156151f557600080fd5b823561520081614b9d565b9150614d0c60208401614b52565b60208082528251828201829052805160408401819052600092916060919083019082860190855b81811015614cc35761526e838551805165ffffffffffff16825260208082015161ffff9081169184019190915260409182015116910152565b9285019291840191600101615235565b8051614a7981614d15565b8051614a7981614b9d565b805167ffffffffffffffff81168114614a7957600080fd5b80516bffffffffffffffffffffffff81168114614a7957600080fd5b600061012082840312156152db57600080fd5b6152e3614d94565b825181526152f36020840161527e565b60208201526153046040840161527e565b60408201526153156060840161527e565b606082015261532660808401615289565b608082015261533760a08401615294565b60a082015261534860c08401615294565b60c082015261535960e084016152ac565b60e082015261010061536c8185016152ac565b908201529392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b67ffffffffffffffff8281168282160390808211156153c7576153c7615377565b5092915050565b6000602082840312156153e057600080fd5b81356110a281614b9d565b6000602082840312156153fd57600080fd5b6110a282615294565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006020828403121561544757600080fd5b815165ffffffffffff811681146110a257600080fd5b60006020828403121561546f57600080fd5b5051919050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b80358252600060208201356154d381614b9d565b6001600160a01b0390811660208501526040830135906154f282614a5f565b60ff821660408601526060840135915061550b82614b9d565b908116606085015260808301359061552282614b9d565b16608084015260a0828101359084015260c0820135368390037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe101811261556857600080fd5b820160208101903567ffffffffffffffff81111561558557600080fd5b80360382131561559457600080fd5b60e060c08601526155a960e086018284615476565b95945050505050565b60ff831681526060602082015260006155ce60608301846154bf565b828103604084015260008152602081019150509392505050565b6000602082840312156155fa57600080fd5b6110a2826152ac565b60006020828403121561561557600080fd5b81516110a281614b9d565b81810381811115610f4857610f48615377565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b80820180821115610f4857610f48615377565b60006020828403121561568757600080fd5b81516110a281614a5f565b6000602082840312156156a457600080fd5b81516110a281614d15565b6060815260006156c260608301866154bf565b90506001600160a01b038416602083015260ff83166040830152949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b8481526fffffffffffffffffffffffffffffffff84166020820152606060408201526000610ba0606083018486615476565b65ffffffffffff8281168282160390808211156153c7576153c7615377565b6020815260006110a260208301846154bf565b8183823760009101908152919050565b60005b838110156157a257818101518382015260200161578a565b50506000910152565b60ff8816815260006001600160a01b03808916602084015280881660408401525085606083015260c060808301526157e760c083018587615476565b82810360a08401528351808252615805816020840160208801615787565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016016020019998505050505050505050565b61ffff8181168382160190808211156153c7576153c7615377565b6020810160078310615891577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b91905290565b6fffffffffffffffffffffffffffffffff8181168382160190808211156153c7576153c7615377565b6000602082840312156158d257600080fd5b81356110a281614a5f565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261591257600080fd5b83018035915067ffffffffffffffff82111561592d57600080fd5b6020019150368190038213156121c657600080fd5b60006020828403121561595457600080fd5b815167ffffffffffffffff81111561596b57600080fd5b8201601f8101841361597c57600080fd5b805161598a614e7282614e0d565b81815285602083850101111561599f57600080fd5b6155a9826020830160208601615787565b6000826159e6577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b50049056fea164736f6c6343000817000a", + "nonce": "0x0", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x1a2d0544ed5a9e4bc89053b94fc8aedbb952071243a19530bfb61b8370e207bf", + "transactionType": "CREATE", + "contractName": "LlamaTokenVotingFactory", + "contractAddress": "0xFBE17545dffD75A92A5A72926AE581478973FE65", + "function": null, + "arguments": [ + "0x3f3DAB3ab8cEc2FBd06767c2A5F66Cb6BFF21A4A" + ], + "transaction": { + "type": "0x02", + "from": "0xb72276d9ff15c7998b9962ffcfb21a6c7249441b", + "gas": "0xc9127", + "value": "0x0", + "data": "0x60a060405234801561001057600080fd5b50604051610b16380380610b1683398101604081905261002f91610040565b6001600160a01b0316608052610070565b60006020828403121561005257600080fd5b81516001600160a01b038116811461006957600080fd5b9392505050565b608051610a8561009160003960008181604001526104390152610a856000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c806321618ea41461003b5780633ec857a51461008b575b600080fd5b6100627f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b61006261009936600461087b565b600080338360000151846040015185606001516040516020016100bf9493929190610959565b60405160208183030381529060405280519060200120905060006100e7846020015183610622565b60408086015190517f439fab9100000000000000000000000000000000000000000000000000000000815291925073ffffffffffffffffffffffffffffffffffffffff83169163439fab919161013f916004016109b9565b6020604051808303816000875af115801561015e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101829190610a0a565b50600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1663fc0c546a6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156101e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061020a9190610a33565b73ffffffffffffffffffffffffffffffffffffffff1603610257576040517f65f5b03400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517fcdfda4dd00000000000000000000000000000000000000000000000000000000815242600482015273ffffffffffffffffffffffffffffffffffffffff82169063cdfda4dd90602401602060405180830381865afa1580156102c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102e59190610a50565b65ffffffffffff16600003610326576040517f65f5b03400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff166391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865afa158015610371573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103959190610a50565b65ffffffffffff166000036103d6576040517f65f5b03400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1663ae2a6df26040518163ffffffff1660e01b815260040160006040518083038186803b15801561041c57600080fd5b505afa158015610430573d6000803e3d6000fd5b5050505061045e7f000000000000000000000000000000000000000000000000000000000000000083610622565b8451608086015160a0870151604080517f8734852a00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff948516600482015286851660248201526044810193909352815161ffff908116606485015260208301518116608485015290820151811660a48401526060909101511660c4820152919450841690638734852a9060e401600060405180830381600087803b15801561051757600080fd5b505af115801561052b573d6000803e3d6000fd5b505050508073ffffffffffffffffffffffffffffffffffffffff1663fc0c546a6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561057a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061059e9190610a33565b84516020808701516060808901516040805173ffffffffffffffffffffffffffffffffffffffff94851681528885169581019590955284015287821690830152466080830152928316929091169033907f4c8bb78cb1c62e64cef39fc4b4a1864d1a331a28c7bd59a67fe969cc8ab715879060a00160405180910390a45050919050565b6000763d602d80600a3d3981f3363d3d373d3d3d363d730000008360601b60e81c176000526e5af43d82803e903d91602b57fd5bf38360781b1760205281603760096000f5905073ffffffffffffffffffffffffffffffffffffffff81166106b6576040517fc2f868f400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405160c0810167ffffffffffffffff8111828210171561070e5761070e6106bc565b60405290565b73ffffffffffffffffffffffffffffffffffffffff8116811461073657600080fd5b50565b600082601f83011261074a57600080fd5b813567ffffffffffffffff80821115610765576107656106bc565b604051601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011681019082821181831017156107ab576107ab6106bc565b816040528381528660208588010111156107c457600080fd5b836020870160208301376000602085830101528094505050505092915050565b803561ffff811681146107f657600080fd5b919050565b60006080828403121561080d57600080fd5b6040516080810181811067ffffffffffffffff82111715610830576108306106bc565b60405290508061083f836107e4565b815261084d602084016107e4565b602082015261085e604084016107e4565b604082015261086f606084016107e4565b60608201525092915050565b60006020828403121561088d57600080fd5b813567ffffffffffffffff808211156108a557600080fd5b9083019061012082860312156108ba57600080fd5b6108c26106eb565b82356108cd81610714565b815260208301356108dd81610714565b60208201526040830135828111156108f457600080fd5b61090087828601610739565b60408301525060608301356060820152608083013560808201526109278660a085016107fb565b60a082015295945050505050565b60005b83811015610950578181015183820152602001610938565b50506000910152565b60007fffffffffffffffffffffffffffffffffffffffff000000000000000000000000808760601b168352808660601b1660148401525083516109a3816028850160208801610935565b6028920191820192909252604801949350505050565b60208152600082518060208401526109d8816040850160208701610935565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169190910160400192915050565b600060208284031215610a1c57600080fd5b81518015158114610a2c57600080fd5b9392505050565b600060208284031215610a4557600080fd5b8151610a2c81610714565b600060208284031215610a6257600080fd5b815165ffffffffffff81168114610a2c57600080fdfea164736f6c6343000817000a0000000000000000000000003f3dab3ab8cec2fbd06767c2a5f66cb6bff21a4a", + "nonce": "0x1", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xf6ff2b972ab14d51fcbc265162045e592e24b3ce3d6b5b1b3951a271d4427974", + "transactionType": "CREATE", + "contractName": "LlamaTokenAdapterVotesTimestamp", + "contractAddress": "0x088C268cb00226D6A9b29e5488905Aa94D2f0239", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0xb72276d9ff15c7998b9962ffcfb21a6c7249441b", + "gas": "0x10d28c", + "value": "0x0", + "data": "0x608060405234801561001057600080fd5b5061001961001e565b6100d0565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff161561006e5760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b03908116146100cd5780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b610df5806100df6000396000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c8063ae2a6df21161005b578063ae2a6df21461010a578063cdfda4dd14610114578063edb8ee5a14610127578063fc0c546a1461013a57600080fd5b8063439fab911461008d5780634bf5d7e9146100b557806391ddadf4146100ca5780639556de73146100e9575b600080fd5b6100a061009b3660046108e4565b61017f565b60405190151581526020015b60405180910390f35b6100bd6103a1565b6040516100ac9190610988565b6100d261042f565b60405165ffffffffffff90911681526020016100ac565b6100fc6100f7366004610a12565b6104e9565b6040519081526020016100ac565b610112610593565b005b6100d2610122366004610a4b565b6105ef565b6100fc610135366004610a64565b610600565b60005461015a9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100ac565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0080546000919068010000000000000000810460ff16159067ffffffffffffffff1683811580156101cd5750825b905060008267ffffffffffffffff1660011480156101ea5750303b155b9050811580156101f8575080155b1561022f576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b84547fffffffffffffffffffffffffffffffffffffffffffffffff000000000000000016600117855583156102905784547fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff16680100000000000000001785555b6000878060200190518101906102a69190610a81565b8051600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff90921691909117905560408051808201909152600e81527f6d6f64653d74696d657374616d7000000000000000000000000000000000000060208201529091506001906103309082610b71565b50600196505083156103975784547fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b5050505050919050565b600180546103ae90610acd565b80601f01602080910402602001604051908101604052809291908181526020018280546103da90610acd565b80156104275780601f106103fc57610100808354040283529160200191610427565b820191906000526020600020905b81548152906001019060200180831161040a57829003601f168201915b505050505081565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156104d7575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682019092526104d491810190610c8b565b60015b6104e4576104e44261069b565b905090565b600080546040517f3a46b1a800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff858116600483015265ffffffffffff8516602483015290911690633a46b1a890604401602060405180830381865afa158015610568573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061058c9190610ca8565b9392505050565b600061059d6106e8565b905060006105a9610712565b905081806105b45750805b156105eb576040517f6ff0714000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050565b60006105fa8261069b565b92915050565b600080546040517f8e539e8c00000000000000000000000000000000000000000000000000000000815265ffffffffffff8416600482015273ffffffffffffffffffffffffffffffffffffffff90911690638e539e8c90602401602060405180830381865afa158015610677573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105fa9190610ca8565b600065ffffffffffff8211156106e4576040517fc0188c4f0000000000000000000000000000000000000000000000000000000081526004810183905260240160405180910390fd5b5090565b60006106f34261069b565b65ffffffffffff1661070361042f565b65ffffffffffff161415905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16634bf5d7e96040518163ffffffff1660e01b8152600401600060405180830381865afa9250505080156107bf57506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526107bc9190810190610cc1565b60015b6107c95750600090565b60016040516020016107db9190610d38565b60405160208183030381529060405280519060200120816040516020016108029190610dcc565b60405160208183030381529060405280519060200120141591505090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff8111828210171561089657610896610820565b604052919050565b600067ffffffffffffffff8211156108b8576108b8610820565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b6000602082840312156108f657600080fd5b813567ffffffffffffffff81111561090d57600080fd5b8201601f8101841361091e57600080fd5b803561093161092c8261089e565b61084f565b81815285602083850101111561094657600080fd5b81602084016020830137600091810160200191909152949350505050565b60005b8381101561097f578181015183820152602001610967565b50506000910152565b60208152600082518060208401526109a7816040850160208701610964565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169190910160400192915050565b73ffffffffffffffffffffffffffffffffffffffff811681146109fb57600080fd5b50565b65ffffffffffff811681146109fb57600080fd5b60008060408385031215610a2557600080fd5b8235610a30816109d9565b91506020830135610a40816109fe565b809150509250929050565b600060208284031215610a5d57600080fd5b5035919050565b600060208284031215610a7657600080fd5b813561058c816109fe565b600060208284031215610a9357600080fd5b6040516020810181811067ffffffffffffffff82111715610ab657610ab6610820565b6040528251610ac4816109d9565b81529392505050565b600181811c90821680610ae157607f821691505b602082108103610b1a577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b601f821115610b6c576000816000526020600020601f850160051c81016020861015610b495750805b601f850160051c820191505b81811015610b6857828155600101610b55565b5050505b505050565b815167ffffffffffffffff811115610b8b57610b8b610820565b610b9f81610b998454610acd565b84610b20565b602080601f831160018114610bf25760008415610bbc5750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b178555610b68565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b82811015610c3f57888601518255948401946001909101908401610c20565b5085821015610c7b57878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b600060208284031215610c9d57600080fd5b815161058c816109fe565b600060208284031215610cba57600080fd5b5051919050565b600060208284031215610cd357600080fd5b815167ffffffffffffffff811115610cea57600080fd5b8201601f81018413610cfb57600080fd5b8051610d0961092c8261089e565b818152856020838501011115610d1e57600080fd5b610d2f826020830160208601610964565b95945050505050565b6000808354610d4681610acd565b60018281168015610d5e5760018114610d9157610dc0565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0084168752821515830287019450610dc0565b8760005260208060002060005b85811015610db75781548a820152908401908201610d9e565b50505082870194505b50929695505050505050565b60008251610dde818460208701610964565b919091019291505056fea164736f6c6343000817000a", + "nonce": "0x2", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0xf132855b3de789edb51406d4fac93f03eaa9d4691ce7482c556f808eb77219ea", + "transactionIndex": "0x1", + "blockHash": "0x096b0cb84720d5c535d96f216051c627ecb670fc808a4f54377a5db7d93f3351", + "blockNumber": "0x6d6289f", + "from": "0xb72276D9FF15c7998b9962FFCfB21A6C7249441B", + "to": null, + "cumulativeGasUsed": "0x4d9cce", + "gasUsed": "0x4ca2c1", + "contractAddress": "0x3f3DAB3ab8cEc2FBd06767c2A5F66Cb6BFF21A4A", + "logs": [ + { + "address": "0x3f3DAB3ab8cEc2FBd06767c2A5F66Cb6BFF21A4A", + "topics": [ + "0xc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2" + ], + "data": "0x000000000000000000000000000000000000000000000000ffffffffffffffff", + "blockHash": "0x096b0cb84720d5c535d96f216051c627ecb670fc808a4f54377a5db7d93f3351", + "blockNumber": "0x6d6289f", + "transactionHash": "0xf132855b3de789edb51406d4fac93f03eaa9d4691ce7482c556f808eb77219ea", + "transactionIndex": "0x1", + "logIndex": "0x0", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000800000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb310f638" + }, + { + "transactionHash": "0x1a2d0544ed5a9e4bc89053b94fc8aedbb952071243a19530bfb61b8370e207bf", + "transactionIndex": "0x2", + "blockHash": "0x096b0cb84720d5c535d96f216051c627ecb670fc808a4f54377a5db7d93f3351", + "blockNumber": "0x6d6289f", + "from": "0xb72276D9FF15c7998b9962FFCfB21A6C7249441B", + "to": null, + "cumulativeGasUsed": "0x57483e", + "gasUsed": "0x9ab70", + "contractAddress": "0xFBE17545dffD75A92A5A72926AE581478973FE65", + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb310f638" + }, + { + "transactionHash": "0xf6ff2b972ab14d51fcbc265162045e592e24b3ce3d6b5b1b3951a271d4427974", + "transactionIndex": "0x3", + "blockHash": "0x096b0cb84720d5c535d96f216051c627ecb670fc808a4f54377a5db7d93f3351", + "blockNumber": "0x6d6289f", + "from": "0xb72276D9FF15c7998b9962FFCfB21A6C7249441B", + "to": null, + "cumulativeGasUsed": "0x6439e7", + "gasUsed": "0xcf1a9", + "contractAddress": "0x088C268cb00226D6A9b29e5488905Aa94D2f0239", + "logs": [ + { + "address": "0x088C268cb00226D6A9b29e5488905Aa94D2f0239", + "topics": [ + "0xc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2" + ], + "data": "0x000000000000000000000000000000000000000000000000ffffffffffffffff", + "blockHash": "0x096b0cb84720d5c535d96f216051c627ecb670fc808a4f54377a5db7d93f3351", + "blockNumber": "0x6d6289f", + "transactionHash": "0xf6ff2b972ab14d51fcbc265162045e592e24b3ce3d6b5b1b3951a271d4427974", + "transactionIndex": "0x3", + "logIndex": "0x1", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000800000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000008000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb310f638" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1704995629, + "chain": 10, + "multi": false, + "commit": "688208a" +} \ No newline at end of file diff --git a/broadcast/DeployLlamaTokenVotingFactory.s.sol/11155111/run-1704991681.json b/broadcast/DeployLlamaTokenVotingFactory.s.sol/11155111/run-1704991681.json new file mode 100644 index 0000000..c01ab99 --- /dev/null +++ b/broadcast/DeployLlamaTokenVotingFactory.s.sol/11155111/run-1704991681.json @@ -0,0 +1,74 @@ +{ + "transactions": [ + { + "hash": "0xdb612821b8dc714d73bef9d3a6710c6d9911aaf5b8c707c2a4afdb63686e49d1", + "transactionType": "CREATE", + "contractName": "LlamaTokenGovernor", + "contractAddress": "0x3f3DAB3ab8cEc2FBd06767c2A5F66Cb6BFF21A4A", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0xb72276d9ff15c7998b9962ffcfb21a6c7249441b", + "gas": "0x6398ff", + "value": "0x0", + "data": "0x60806040523480156200001157600080fd5b506200001c62000022565b620000d6565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff1615620000735760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b0390811614620000d35780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b6159f880620000e66000396000f3fe608060405234801561001057600080fd5b50600436106101da5760003560e01c80637e4a56bb11610104578063b92cdd9a116100a2578063cae3bdff11610071578063cae3bdff1461053d578063dcae21b714610552578063e45061ea14610565578063e5589b9d1461057857600080fd5b8063b92cdd9a146104e4578063b9b2cf6c146104f7578063c193c2691461050a578063c26c12eb1461053557600080fd5b80638734852a116100de5780638734852a1461049857806396ff6e2e146104ab578063a1d9b412146104be578063b3c678b0146104d157600080fd5b80637e4a56bb1461046a5780637ed7238e14610472578063807ad1141461048557600080fd5b80633fed8f161161017c57806359e5332d1161014b57806359e5332d1461036457806364f6b3161461037b5780637186dd9c1461038e57806374f717cd1461044757600080fd5b80633fed8f16146103165780634d61ebf4146103365780634ec0ab1c1461033e578063509c5fbd1461035157600080fd5b806319a39740116101b857806319a397401461025b5780631e127ddf1461026e578063372fa8e8146102c25780633df91222146102d557600080fd5b80630669b1ce146101df57806311f900b5146101f45780631650080714610227575b600080fd5b6101f26101ed366004614a11565b61058b565b005b610207610202366004614a46565b610b79565b6040805161ffff9384168152929091166020830152015b60405180910390f35b61023a610235366004614ac0565b610b90565b6040516fffffffffffffffffffffffffffffffff909116815260200161021e565b6101f2610269366004614a46565b610baa565b6101f261027c366004614b82565b3360009081526007602090815260408083207fffffffff000000000000000000000000000000000000000000000000000000009490941683529290522080546001019055565b6101f26102d0366004614bbd565b610c75565b6102fe6102e3366004614a46565b6005602052600090815260409020546001600160a01b031681565b6040516001600160a01b03909116815260200161021e565b610329610324366004614c31565b610d76565b60405161021e9190614c53565b610207610f4e565b6101f261034c366004614ce2565b610f63565b61023a61035f366004614ac0565b611030565b61036d60025481565b60405190815260200161021e565b6000546102fe906001600160a01b031681565b6103fc61039c366004614a46565b6006602052600090815260409020805460018201546002909201546fffffffffffffffffffffffffffffffff8083169370010000000000000000000000000000000093849004821693818316939181900483169282811692919091041686565b604080516fffffffffffffffffffffffffffffffff978816815295871660208701529386169385019390935290841660608401528316608083015290911660a082015260c00161021e565b61045a610455366004614d23565b611040565b604051901515815260200161021e565b6103296110a9565b61036d610480366004614ea9565b61114c565b6001546102fe906001600160a01b031681565b6101f26104a6366004614f88565b611263565b61023a6104b9366004615066565b6114b5565b61023a6104cc366004615066565b6115c6565b61036d6104df366004615131565b6116c7565b6101f26104f2366004614a11565b61171c565b6101f2610505366004614ce2565b611726565b61036d6105183660046151e2565b600760209081526000928352604080842090915290825290205481565b6102076117ef565b6105456117fc565b60405161021e919061520e565b610545610560366004614c31565b61188f565b6101f2610573366004614a11565b611a4d565b610207610586366004614a46565b612026565b600080546040517fb6e76873000000000000000000000000000000000000000000000000000000008152833560048201526001600160a01b039091169063b6e768739060240161012060405180830381865afa1580156105ef573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061061391906152c8565b9050600060018260a0015161062891906153a6565b67ffffffffffffffff169050600160009054906101000a90046001600160a01b03166001600160a01b031663ae2a6df26040518163ffffffff1660e01b815260040160006040518083038186803b15801561068257600080fd5b505afa158015610696573d6000803e3d6000fd5b505050506000806000806106b485600461203490919063ffffffff16565b909250905060006106cb6080890160608a016153ce565b6001600160a01b031663b02bd9206040518163ffffffff1660e01b8152600401602060405180830381865afa158015610708573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061072c91906153eb565b67ffffffffffffffff16905061271061ffff8416820204818860c0015167ffffffffffffffff16030194506127108261ffff1682028161076e5761076e615406565b04850193508342116107ac576040517f038d8a6a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8660c0015167ffffffffffffffff1642106107f3576040517f08c8d62700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050843560009081526006602052604080822060015491517fcdfda4dd000000000000000000000000000000000000000000000000000000008152600481018690529092916001600160a01b03169063edb8ee5a90829063cdfda4dd90602401602060405180830381865afa158015610871573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108959190615435565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b16815265ffffffffffff9091166004820152602401602060405180830381865afa1580156108f0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610914919061545d565b600183015460028401549192506fffffffffffffffffffffffffffffffff7001000000000000000000000000000000009182900481169291820481169116600061095f60038a6121cd565b9150506000610975868361ffff166127106122d8565b905080856fffffffffffffffffffffffffffffffff1610156109e3576040517fbfb9aa550000000000000000000000000000000000000000000000000000000081526fffffffffffffffffffffffffffffffff86166004820152602481018290526044015b60405180910390fd5b836fffffffffffffffffffffffffffffffff16856fffffffffffffffffffffffffffffffff1611610a5c576040517f8a0df63f0000000000000000000000000000000000000000000000000000000081526fffffffffffffffffffffffffffffffff8087166004830152851660248201526044016109da565b6000610a7b8d6060016020810190610a7491906153ce565b600061231c565b905060008054906101000a90046001600160a01b03166001600160a01b03166394004706828f6040518363ffffffff1660e01b8152600401610abe9291906155b2565b6020604051808303816000875af1158015610add573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b0191906155e8565b50604080518e3581526fffffffffffffffffffffffffffffffff808916602083015280881692820192909252908516606082015260ff82169033907ff5bc433f16cc3d0e9fcb5ac4f8de9f17eb90de1fd2a9ede5952c2097d4ef1a59906080015b60405180910390a350505050505050505050505050565b600080610b87600484612034565b91509150915091565b6000610ba0338787878787612612565b9695505050505050565b60008054906101000a90046001600160a01b03166001600160a01b031663c34c08e56040518163ffffffff1660e01b8152600401602060405180830381865afa158015610bfb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c1f9190615603565b6001600160a01b0316336001600160a01b031614610c69576040517f26bee1ce00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610c7281612c5e565b50565b6000610c818686612e2e565b6040805160008082526020820180845284905260ff88169282019290925260608101869052608081018590529192509060019060a0016020604051602081039080840390855afa158015610cd9573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001519150506001600160a01b0381161580610d2c5750866001600160a01b0316816001600160a01b031614155b15610d63576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610d6d8187612f50565b50505050505050565b60408051602081019091526060815281831115610dbf576040517f2cd4dad300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60045480831115610dfc576040517f2cd4dad300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610e088585615620565b905060008167ffffffffffffffff811115610e2557610e25614d65565b604051908082528060200260200182016040528015610e8e57816020015b60408051606081018252600080825260208083018290529282015282527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff909201910181610e435790505b509050855b85811015610f34576004805482908110610eaf57610eaf615633565b600091825260209182902060408051606081018252919092015465ffffffffffff8116825261ffff660100000000000082048116948301949094526801000000000000000090049092169082015282610f088984615620565b81518110610f1857610f18615633565b6020026020010181905250610f2d8160010190565b9050610e93565b506040805160208101909152908152925050505b92915050565b600080610f5b6004613063565b915091509091565b60008054906101000a90046001600160a01b03166001600160a01b031663c34c08e56040518163ffffffff1660e01b8152600401602060405180830381865afa158015610fb4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fd89190615603565b6001600160a01b0316336001600160a01b031614611022576040517f26bee1ce00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61102c82826130db565b5050565b6000610ba03387878787876131cf565b60008115611077575060008381526006602090815260408083206001600160a01b038616845260030190915290205460ff166110a2565b5060008381526006602090815260408083206001600160a01b038616845260040190915290205460ff165b9392505050565b6040805160208101909152606081526040805160048054602081810284018501855283018181529293919284929091849160009085015b8282101561113f576000848152602090819020604080516060810182529185015465ffffffffffff8116835261ffff660100000000000082048116848601526801000000000000000090910416908201528252600190920191016110e0565b5050505081525050905090565b60008061115f8d8d8d8d8d8d8d8d613714565b6040805160008082526020820180845284905260ff89169282019290925260608101879052608081018690529192509060019060a0016020604051602081039080840390855afa1580156111b7573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001519150506001600160a01b038116158061120a57508d6001600160a01b0316816001600160a01b031614155b15611241576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611251818e8e8e8e8e8e8e613885565b9e9d5050505050505050505050505050565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000810460ff16159067ffffffffffffffff166000811580156112ae5750825b905060008267ffffffffffffffff1660011480156112cb5750303b155b9050811580156112d9575080155b15611310576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b84547fffffffffffffffffffffffffffffffffffffffffffffffff000000000000000016600117855583156113715784547fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff16680100000000000000001785555b886001600160a01b0316639bccfe496040518163ffffffff1660e01b8152600401602060405180830381865afa1580156113af573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113d3919061545d565b50600080546001600160a01b03808c167fffffffffffffffffffffffff00000000000000000000000000000000000000009283161790925560018054928b169290911691909117905561142587612c5e565b611437866000015187602001516130db565b61144986604001518760600151613b89565b83156114aa5784547fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b505050505050505050565b6000806114c68b8b8b8b8b8b613c26565b6040805160008082526020820180845284905260ff89169282019290925260608101879052608081018690529192509060019060a0016020604051602081039080840390855afa15801561151e573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001519150506001600160a01b038116158061157157508b6001600160a01b0316816001600160a01b031614155b156115a8576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6115b6818c8c8c8c8c6131cf565b9c9b505050505050505050505050565b6000806115d78b8b8b8b8b8b613d84565b6040805160008082526020820180845284905260ff89169282019290925260608101879052608081018690529192509060019060a0016020604051602081039080840390855afa15801561162f573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001519150506001600160a01b038116158061168257508b6001600160a01b0316816001600160a01b031614155b156116b9576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6115b6818c8c8c8c8c612612565b600061170f338a8a8a8a8a8a8a8a8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061388592505050565b9998505050505050505050565b610c723382612f50565b60008054906101000a90046001600160a01b03166001600160a01b031663c34c08e56040518163ffffffff1660e01b8152600401602060405180830381865afa158015611777573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061179b9190615603565b6001600160a01b0316336001600160a01b0316146117e5576040517f26bee1ce00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61102c8282613b89565b600080610f5b6003613063565b604080516020810190915260608152604080516003805460208082028401850185528301818152929391928492909184916000908501821561113f576000848152602090819020604080516060810182529185015465ffffffffffff8116835261ffff660100000000000082048116848601526801000000000000000090910416908201528252600190920191016110e0565b604080516020810190915260608152818311156118d8576040517f2cd4dad300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60035480831115611915576040517f2cd4dad300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006119218585615620565b905060008167ffffffffffffffff81111561193e5761193e614d65565b6040519080825280602002602001820160405280156119a757816020015b60408051606081018252600080825260208083018290529282015282527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90920191018161195c5790505b509050855b85811015610f345760038054829081106119c8576119c8615633565b600091825260209182902060408051606081018252919092015465ffffffffffff8116825261ffff660100000000000082048116948301949094526801000000000000000090049092169082015282611a218984615620565b81518110611a3157611a31615633565b6020026020010181905250611a468160010190565b90506119ac565b600080546040517fb6e76873000000000000000000000000000000000000000000000000000000008152833560048201526001600160a01b039091169063b6e768739060240161012060405180830381865afa158015611ab1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ad591906152c8565b9050600060018260a00151611aea91906153a6565b67ffffffffffffffff169050600160009054906101000a90046001600160a01b03166001600160a01b031663ae2a6df26040518163ffffffff1660e01b815260040160006040518083038186803b158015611b4457600080fd5b505afa158015611b58573d6000803e3d6000fd5b50505050600080600080611b7685600461203490919063ffffffff16565b90925090506000611b8d6080890160608a016153ce565b6001600160a01b0316637999762c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611bca573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bee91906153eb565b67ffffffffffffffff16905061271061ffff84168202048760a0015167ffffffffffffffff160194506127108261ffff16820281611c2e57611c2e615406565b0485019350834211611c6c576040517f038d8a6a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b808760a0015167ffffffffffffffff16611c869190615662565b421115611cbf576040517f08c8d62700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050843560009081526006602052604080822060015491517fcdfda4dd000000000000000000000000000000000000000000000000000000008152600481018690529092916001600160a01b03169063edb8ee5a90829063cdfda4dd90602401602060405180830381865afa158015611d3d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d619190615435565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b16815265ffffffffffff9091166004820152602401602060405180830381865afa158015611dbc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611de0919061545d565b825460018401549192506fffffffffffffffffffffffffffffffff808216928116917001000000000000000000000000000000009004166000611e2460038a6121cd565b5090506000611e3a868361ffff166127106122d8565b905080856fffffffffffffffffffffffffffffffff161015611ea3576040517f0425fab10000000000000000000000000000000000000000000000000000000081526fffffffffffffffffffffffffffffffff86166004820152602481018290526044016109da565b836fffffffffffffffffffffffffffffffff16856fffffffffffffffffffffffffffffffff1611611f1c576040517f8a0df63f0000000000000000000000000000000000000000000000000000000081526fffffffffffffffffffffffffffffffff8087166004830152851660248201526044016109da565b6000611f3b8d6060016020810190611f3491906153ce565b600161231c565b905060008054906101000a90046001600160a01b03166001600160a01b03166389e7d126828f6040518363ffffffff1660e01b8152600401611f7e9291906155b2565b6020604051808303816000875af1158015611f9d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fc191906155e8565b50604080518e3581526fffffffffffffffffffffffffffffffff808916602083015280881692820192909252908516606082015260ff82169033907ff23279e924757f3bfe4f543bc1b43685e851d6ace53f8518b806dcd8d42fc13990608001610b62565b600080610b876003846121cd565b6000804283106120c6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f506572696f64506374436865636b706f696e74733a2074696d657374616d702060448201527f6973206e6f7420696e207468652070617374000000000000000000000000000060648201526084016109da565b60006120d184613db3565b855490915060008160058111156121315760006120ed84613dfc565b6120f79085615620565b60008a81526020902090915081015465ffffffffffff90811690861610156121215780915061212f565b61212c816001615662565b92505b505b600061213f89868585613eae565b90508060000361215a576000809650965050505050506121c6565b60006121798a61216b600185615620565b600091825260209091200190565b60408051606081018252915465ffffffffffff8116835261ffff66010000000000008204811660208501819052680100000000000000009092041692909101829052985096505050505050505b9250929050565b60008042831061225f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602f60248201527f51756f72756d436865636b706f696e74733a2074696d657374616d702069732060448201527f6e6f7420696e207468652070617374000000000000000000000000000000000060648201526084016109da565b600061226a84613db3565b855490915060008160058111156122ca57600061228684613dfc565b6122909085615620565b60008a81526020902090915081015465ffffffffffff90811690861610156122ba578091506122c8565b6122c5816001615662565b92505b505b600061213f89868585613f10565b6000827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048411830215820261230d57600080fd5b50910281810615159190040190565b60008054604080517f0505c8c9000000000000000000000000000000000000000000000000000000008152905183926001600160a01b031691630505c8c99160048083019260209291908290030181865afa15801561237f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123a39190615603565b6001600160a01b0316638b2ed3886040518163ffffffff1660e01b8152600401602060405180830381865afa1580156123e0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124049190615675565b905060015b8160ff16811161253b57836124a1576040517fc167ebae00000000000000000000000000000000000000000000000000000000815260ff821660048201526001600160a01b0386169063c167ebae90602401602060405180830381865afa158015612478573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061249c9190615692565b612525565b6040517ffb847c4300000000000000000000000000000000000000000000000000000000815260ff821660048201526001600160a01b0386169063fb847c4390602401602060405180830381865afa158015612501573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125259190615692565b15612533579150610f489050565b600101612409565b50826125a857836001600160a01b03166312a52f006040518163ffffffff1660e01b8152600401602060405180830381865afa15801561257f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125a39190615675565b61260a565b836001600160a01b03166366cacdc96040518163ffffffff1660e01b8152600401602060405180830381865afa1580156125e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061260a9190615675565b949350505050565b600080546040517fb6e768730000000000000000000000000000000000000000000000000000000081528635600482015282916001600160a01b03169063b6e768739060240161012060405180830381865afa158015612676573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061269a91906152c8565b9050600060018260a001516126af91906153a6565b8735600090815260066020526040902067ffffffffffffffff9190911691506126de6080890160608a016153ce565b6001600160a01b03166302674e4b89308c6040518463ffffffff1660e01b815260040161270d939291906156af565b60006040518083038186803b15801561272557600080fd5b505afa158015612739573d6000803e3d6000fd5b505050506001600160a01b038a16600090815260048201602052604090205460ff1615612792576040517f9dd6544b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6127a0888a89600486613f6a565b60008080806127b0600487612034565b909250905060006127c760808e0160608f016153ce565b6001600160a01b031663b02bd9206040518163ffffffff1660e01b8152600401602060405180830381865afa158015612804573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061282891906153eb565b67ffffffffffffffff16905061271061ffff8416820204818960c0015167ffffffffffffffff16030194506127108261ffff1682028161286a5761286a615406565b04850193508442116128a8576040517fd0b72b4900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b834211156128e2576040517f5b73d19300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050506000612a25600160009054906101000a90046001600160a01b03166001600160a01b0316639556de738f600160009054906101000a90046001600160a01b03166001600160a01b031663cdfda4dd886040518263ffffffff1660e01b815260040161295291815260200190565b602060405180830381865afa15801561296f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906129939190615435565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b1681526001600160a01b03909216600483015265ffffffffffff166024820152604401602060405180830381865afa1580156129fc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a20919061545d565b61425e565b905060ff8a16612a9e576002840154612a649070010000000000000000000000000000000090046fffffffffffffffffffffffffffffffff16826142ad565b6002850180546fffffffffffffffffffffffffffffffff928316700100000000000000000000000000000000029216919091179055612bc6565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60ff8b1601612b37576001840154612afd9070010000000000000000000000000000000090046fffffffffffffffffffffffffffffffff16826142ad565b6001850180546fffffffffffffffffffffffffffffffff928316700100000000000000000000000000000000029216919091179055612bc6565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe60ff8b1601612bc6576002840154612b82906fffffffffffffffffffffffffffffffff16826142ad565b6002850180547fffffffffffffffffffffffffffffffff00000000000000000000000000000000166fffffffffffffffffffffffffffffffff929092169190911790555b6001600160a01b038d1660008181526004860160205260409081902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790555160ff8c1691907f4e3e2ad68670a2709cb408c31c5afd8da0b6d3d06c75b11feb404a455639fe7c90612c46908f359086908f908f90615713565b60405180910390a39c9b505050505050505050505050565b60018054604080517f91ddadf400000000000000000000000000000000000000000000000000000000815290516000936001600160a01b039093169263edb8ee5a92909184916391ddadf49160048083019260209291908290030181865afa158015612cce573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612cf29190615435565b612cfc9190615745565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b16815265ffffffffffff9091166004820152602401602060405180830381865afa158015612d57573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612d7b919061545d565b905080600003612db7576040517f34bbd58500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80821115612df1576040517f8a5e746800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60028290556040518281527fd91a985c173545ab0e0bd11c021a1ae84c1ea6eab9350d9bf3812d5b8bff49a4906020015b60405180910390a15050565b6000807f6da9390b4f29da2c44fa5a9da00b392393d01e989d16e4a3dec5a538318e352584612e5c856142f4565b6001600160a01b03871660009081526007602090815260408083207fffffffff00000000000000000000000000000000000000000000000000000000843516845290915290208054600181019091556040805160208101959095526001600160a01b03909316928401929092526060830152608082015260a001604051602081830303815290604052805190602001209050612ef66143eb565b6040517f190100000000000000000000000000000000000000000000000000000000000060208201526022810191909152604281018290526062016040516020818303038152906040528051906020012091505092915050565b80356000908152600560205260409020546001600160a01b03838116911614612fa5576040517f86ba025600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000546040517fb92cdd9a0000000000000000000000000000000000000000000000000000000081526001600160a01b039091169063b92cdd9a90612fee908490600401615764565b600060405180830381600087803b15801561300857600080fd5b505af115801561301c573d6000803e3d6000fd5b5050604051833581526001600160a01b03851692507fdcccc5725b7256a6975da00de8953e5d326756a3079d203ff6df9e52331f411a915060200160405180910390a25050565b8054600090819080820361307d5750600093849350915050565b600061308e8561216b600185615620565b60408051606081018252915465ffffffffffff8116835261ffff66010000000000008204811660208501819052680100000000000000009092041692909101829052969095509350505050565b6127108261ffff1611806130f1575061ffff8216155b1561312e576040517f8f6febc000000000000000000000000000000000000000000000000000000000815261ffff831660048201526024016109da565b6127108161ffff161180613144575061ffff8116155b15613181576040517f3bec511c00000000000000000000000000000000000000000000000000000000815261ffff821660048201526024016109da565b613194600361ffff80851690841661454d565b6040805161ffff8085168252831660208201527f77c3f43700db02acb49792bbf699b39f72c2ed4b920bd5c0b1843dcd7c832f4c9101612e22565b600080546040517fb6e768730000000000000000000000000000000000000000000000000000000081528635600482015282916001600160a01b03169063b6e768739060240161012060405180830381865afa158015613233573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061325791906152c8565b9050600060018260a0015161326c91906153a6565b8735600090815260066020526040902067ffffffffffffffff91909116915061329b6080890160608a016153ce565b6001600160a01b0316631a2a4e7789308c6040518463ffffffff1660e01b81526004016132ca939291906156af565b60006040518083038186803b1580156132e257600080fd5b505afa1580156132f6573d6000803e3d6000fd5b505050506001600160a01b038a16600090815260038201602052604090205460ff161561334f576040517f9dd6544b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61335d888a89600086613f6a565b600080808061336d600487612034565b9092509050600061338460808e0160608f016153ce565b6001600160a01b0316637999762c6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156133c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906133e591906153eb565b67ffffffffffffffff16905061271061ffff84168202048860a0015167ffffffffffffffff160194506127108261ffff1682028161342557613425615406565b0485019350844211613463576040517fd0b72b4900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8342111561349d576040517f5b73d19300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050600061350d600160009054906101000a90046001600160a01b03166001600160a01b0316639556de738f600160009054906101000a90046001600160a01b03166001600160a01b031663cdfda4dd886040518263ffffffff1660e01b815260040161295291815260200190565b905060ff8a16613580576001840154613538906fffffffffffffffffffffffffffffffff16826142ad565b6001850180547fffffffffffffffffffffffffffffffff00000000000000000000000000000000166fffffffffffffffffffffffffffffffff92909216919091179055613694565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60ff8b16016136095783546135c8906fffffffffffffffffffffffffffffffff16826142ad565b84547fffffffffffffffffffffffffffffffff00000000000000000000000000000000166fffffffffffffffffffffffffffffffff91909116178455613694565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe60ff8b16016136945783546136659070010000000000000000000000000000000090046fffffffffffffffffffffffffffffffff16826142ad565b84546fffffffffffffffffffffffffffffffff9182167001000000000000000000000000000000000291161784555b6001600160a01b038d1660008181526003860160205260409081902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790555160ff8c1691907f761cce3a1af5d9cfc0d57222f605ce4bd2be345f0ad9ebb7b83a84a91a0c201490612c46908f359086908f908f90615713565b6001600160a01b03881660009081526007602090815260408083207fffffffff000000000000000000000000000000000000000000000000000000008435168452909152812080546001810190915560007fd1fab1c7b3b37134662e5867b00e272eb49f7be0a890df29e802c3cc66c06f838b8b8b8b8b8b8b60405161379b929190615777565b604080519182900382208c516020808f0191909120908401999099526001600160a01b039788169183019190915260ff90951660608201529285166080840152931660a082015260c081019290925260e08201526101008101919091526101208101839052610140016040516020818303038152906040528051906020012090506138246143eb565b6040517f19010000000000000000000000000000000000000000000000000000000000006020820152602281019190915260428101829052606201604051602081830303815290604052805190602001209250505098975050505050505050565b600154604080517fae2a6df200000000000000000000000000000000000000000000000000000000815290516000926001600160a01b03169163ae2a6df29160048083019286929190829003018186803b1580156138e257600080fd5b505afa1580156138f6573d6000803e3d6000fd5b505060018054604080517f91ddadf40000000000000000000000000000000000000000000000000000000081529051600095506001600160a01b039092169350639556de73928e92909185916391ddadf4916004808201926020929091908290030181865afa15801561396d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906139919190615435565b61399b9190615745565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b1681526001600160a01b03909216600483015265ffffffffffff166024820152604401602060405180830381865afa158015613a04573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613a28919061545d565b9050600254811015613a69576040517f92665351000000000000000000000000000000000000000000000000000000008152600481018290526024016109da565b6000546040517fb3c678b00000000000000000000000000000000000000000000000000000000081526001600160a01b039091169063b3c678b090613abe908c908c908c908c908c908c908c906004016157ab565b6020604051808303816000875af1158015613add573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613b01919061545d565b60008181526005602090815260409182902080547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b038f16908117909155915183815292945090917f1834dfd49255741a8ce9a9bd66b91b64d13622e1d8170e4c78ac91f9ec50a542910160405180910390a25098975050505050505050565b612710613b96828461583b565b61ffff1610613bdf576040517f519dd38400000000000000000000000000000000000000000000000000000000815261ffff8084166004830152821660248201526044016109da565b613beb60048383614576565b6040805161ffff8085168252831660208201527f8df7bdcce333d9e1b85e40782fb2f293c805761d3f48aaea58865e9541e44c709101612e22565b6000807fd7be168a3509af358f222ee35ee76aba47bc5fc2c35061cdce3958f510b7b1b28888613c55896142f4565b888888604051613c66929190615777565b60408051918290039091206001600160a01b038f166000908152600760209081528382207fffffffff0000000000000000000000000000000000000000000000000000000083351683529052919091208054600181019091556040805160208101989098526001600160a01b039096169587019590955260ff938416606087015260808601929092529190911660a084015260c083015260e082015261010001604051602081830303815290604052805190602001209050613d266143eb565b6040517f19010000000000000000000000000000000000000000000000000000000000006020820152602281019190915260428101829052606201604051602081830303815290604052805190602001209150509695505050505050565b6000807fa87058c5a9888e7af4405a932381d5a4612c61354bc3e52e9ea361ba17703fb38888613c55896142f4565b600065ffffffffffff821115613df8576040517fc0188c4f000000000000000000000000000000000000000000000000000000008152600481018390526024016109da565b5090565b60b581710100000000000000000000000000000000008110613e235760409190911b9060801c5b69010000000000000000008110613e3f5760209190911b9060401c5b650100000000008110613e575760109190911b9060201c5b63010000008110613e6d5760089190911b9060101c5b62010000010260121c80820401600190811c80830401811c80830401811c80830401811c80830401811c80830401811c80830401901c908190048111900390565b60005b81831015613f08576000613ec584846145a2565b60008781526020902090915065ffffffffffff86169082015465ffffffffffff161115613ef457809250613f02565b613eff816001615662565b93505b50613eb1565b509392505050565b60005b81831015613f08576000613f2784846145a2565b60008781526020902090915065ffffffffffff86169082015465ffffffffffff161115613f5657809250613f64565b613f61816001615662565b93505b50613f13565b600260ff84161115613fad576040517ffe0e5d8b00000000000000000000000000000000000000000000000000000000815260ff841660048201526024016109da565b600080546040517fec12d8be0000000000000000000000000000000000000000000000000000000081526001600160a01b039091169063ec12d8be90613ff7908990600401615764565b602060405180830381865afa158015614014573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906140389190615675565b60ff16600681111561404c5761404c6156e4565b9050826006811115614060576140606156e4565b816006811115614072576140726156e4565b146140ab57806040517f87afe58e0000000000000000000000000000000000000000000000000000000081526004016109da9190615856565b60008060009054906101000a90046001600160a01b03166001600160a01b0316630505c8c96040518163ffffffff1660e01b8152600401602060405180830381865afa1580156140ff573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906141239190615603565b6040517fe0bec07600000000000000000000000000000000000000000000000000000000815230600482015260ff88166024820152604481018590526001600160a01b03919091169063e0bec07690606401602060405180830381865afa158015614192573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906141b69190615692565b9050806141ef576040517f88aebd1200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600160009054906101000a90046001600160a01b03166001600160a01b031663ae2a6df26040518163ffffffff1660e01b815260040160006040518083038186803b15801561423d57600080fd5b505afa158015614251573d6000803e3d6000fd5b5050505050505050505050565b60006fffffffffffffffffffffffffffffffff821115613df8576040517fc0188c4f000000000000000000000000000000000000000000000000000000008152600481018390526024016109da565b60006fffffffffffffffffffffffffffffffff6142ce838216858316615662565b106142ea57506fffffffffffffffffffffffffffffffff610f48565b6110a28284615897565b60007f86b4555c6e347ea3f038485b59b894986c208b67da7e65fcfa3707271608465f823561432960408501602086016153ce565b61433960608601604087016158c0565b61434960808701606088016153ce565b61435960a08801608089016153ce565b60a088013561436b60c08a018a6158dd565b604051614379929190615777565b6040805191829003822060208301999099528101969096526001600160a01b03948516606087015260ff909316608086015290831660a08501529190911660c083015260e082015261010081019190915261012001604051602081830303815290604052805190602001209050919050565b60008054604080517f06fdde0300000000000000000000000000000000000000000000000000000000815290517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f926001600160a01b0316916306fdde0391600480830192879291908290030181865afa15801561446d573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526144b39190810190615942565b8051602091820120604080518082018252600181527f310000000000000000000000000000000000000000000000000000000000000090840152805192830193909352918101919091527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a082015260c00160405160208183030381529060405280519060200120905090565b6145718361455a42613db3565b614563856145bd565b61456c856145bd565b6145fe565b505050565b6145718361458342613db3565b6145908561ffff166145bd565b61459d8561ffff166145bd565b614909565b60006145b160028484186159b0565b6110a290848416615662565b600061ffff821115613df8576040517fc0188c4f000000000000000000000000000000000000000000000000000000008152600481018390526024016109da565b835480156148475760006146178661216b600185615620565b60408051606081018252915465ffffffffffff80821680855261ffff66010000000000008404811660208701526801000000000000000090930490921692840192909252919250861610156146ed576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f51756f72756d20436865636b706f696e743a20696e76616c69642074696d657360448201527f74616d700000000000000000000000000000000000000000000000000000000060648201526084016109da565b805165ffffffffffff8087169116036147865760006147118761216b600186615620565b805461ffff86811668010000000000000000027fffffffffffffffffffffffffffffffffffffffffffff0000ffffffffffffffff918916660100000000000002919091167fffffffffffffffffffffffffffffffffffffffffffff00000000ffffffffffff9092169190911717905550614841565b6040805160608101825265ffffffffffff808816825261ffff80881660208085019182528883169585019586528b54600181018d5560008d81529190912094519401805491519551831668010000000000000000027fffffffffffffffffffffffffffffffffffffffffffff0000ffffffffffffffff969093166601000000000000027fffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000909216949093169390931792909217929092161790555b50614902565b6040805160608101825265ffffffffffff808716825261ffff80871660208085019182528783169585019586528a54600181018c5560008c81529190912094519401805491519551831668010000000000000000027fffffffffffffffffffffffffffffffffffffffffffff0000ffffffffffffffff969093166601000000000000027fffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000909216949093169390931792909217929092161790555b5050505050565b835480156148475760006149228661216b600185615620565b60408051606081018252915465ffffffffffff80821680855261ffff66010000000000008404811660208701526801000000000000000090930490921692840192909252919250861610156146ed576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602860248201527f506572696f642050637420436865636b706f696e743a20696e76616c6964207460448201527f696d657374616d7000000000000000000000000000000000000000000000000060648201526084016109da565b600060e08284031215614a0b57600080fd5b50919050565b600060208284031215614a2357600080fd5b813567ffffffffffffffff811115614a3a57600080fd5b61260a848285016149f9565b600060208284031215614a5857600080fd5b5035919050565b60ff81168114610c7257600080fd5b8035614a7981614a5f565b919050565b60008083601f840112614a9057600080fd5b50813567ffffffffffffffff811115614aa857600080fd5b6020830191508360208285010111156121c657600080fd5b600080600080600060808688031215614ad857600080fd5b8535614ae381614a5f565b9450602086013567ffffffffffffffff80821115614b0057600080fd5b614b0c89838a016149f9565b955060408801359150614b1e82614a5f565b90935060608701359080821115614b3457600080fd5b50614b4188828901614a7e565b969995985093965092949392505050565b80357fffffffff0000000000000000000000000000000000000000000000000000000081168114614a7957600080fd5b600060208284031215614b9457600080fd5b6110a282614b52565b6001600160a01b0381168114610c7257600080fd5b8035614a7981614b9d565b600080600080600060a08688031215614bd557600080fd5b8535614be081614b9d565b9450602086013567ffffffffffffffff811115614bfc57600080fd5b614c08888289016149f9565b9450506040860135614c1981614a5f565b94979396509394606081013594506080013592915050565b60008060408385031215614c4457600080fd5b50508035926020909101359150565b60208082528251828201829052805160408401819052600092916060919083019082860190855b81811015614cc357614cb3838551805165ffffffffffff16825260208082015161ffff9081169184019190915260409182015116910152565b9285019291840191600101614c7a565b5090979650505050505050565b803561ffff81168114614a7957600080fd5b60008060408385031215614cf557600080fd5b614cfe83614cd0565b9150614d0c60208401614cd0565b90509250929050565b8015158114610c7257600080fd5b600080600060608486031215614d3857600080fd5b833592506020840135614d4a81614b9d565b91506040840135614d5a81614d15565b809150509250925092565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051610120810167ffffffffffffffff81118282101715614db857614db8614d65565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715614e0557614e05614d65565b604052919050565b600067ffffffffffffffff821115614e2757614e27614d65565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b600082601f830112614e6457600080fd5b8135614e77614e7282614e0d565b614dbe565b818152846020838601011115614e8c57600080fd5b816020850160208301376000918101602001919091529392505050565b60008060008060008060008060008060006101408c8e031215614ecb57600080fd5b614ed48c614bb2565b9a50614ee260208d01614a6e565b9950614ef060408d01614bb2565b9850614efe60608d01614bb2565b975060808c0135965067ffffffffffffffff8060a08e01351115614f2157600080fd5b614f318e60a08f01358f01614a7e565b909750955060c08d0135811015614f4757600080fd5b50614f588d60c08e01358e01614e53565b9350614f6660e08d01614a6e565b92506101008c013591506101208c013590509295989b509295989b9093969950565b60008060008084860360e0811215614f9f57600080fd5b8535614faa81614b9d565b94506020860135614fba81614b9d565b93506040860135925060807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa082011215614ff357600080fd5b506040516080810181811067ffffffffffffffff8211171561501757615017614d65565b60405261502660608701614cd0565b815261503460808701614cd0565b602082015261504560a08701614cd0565b604082015261505660c08701614cd0565b6060820152939692955090935050565b60008060008060008060008060006101008a8c03121561508557600080fd5b893561509081614b9d565b985060208a01356150a081614a5f565b975060408a013567ffffffffffffffff808211156150bd57600080fd5b6150c98d838e016149f9565b985060608c013591506150db82614a5f565b90965060808b013590808211156150f157600080fd5b506150fe8c828d01614a7e565b90965094505060a08a013561511281614a5f565b8093505060c08a0135915060e08a013590509295985092959850929598565b60008060008060008060008060c0898b03121561514d57600080fd5b883561515881614a5f565b9750602089013561516881614b9d565b9650604089013561517881614b9d565b955060608901359450608089013567ffffffffffffffff8082111561519c57600080fd5b6151a88c838d01614a7e565b909650945060a08b01359150808211156151c157600080fd5b506151ce8b828c01614a7e565b999c989b5096995094979396929594505050565b600080604083850312156151f557600080fd5b823561520081614b9d565b9150614d0c60208401614b52565b60208082528251828201829052805160408401819052600092916060919083019082860190855b81811015614cc35761526e838551805165ffffffffffff16825260208082015161ffff9081169184019190915260409182015116910152565b9285019291840191600101615235565b8051614a7981614d15565b8051614a7981614b9d565b805167ffffffffffffffff81168114614a7957600080fd5b80516bffffffffffffffffffffffff81168114614a7957600080fd5b600061012082840312156152db57600080fd5b6152e3614d94565b825181526152f36020840161527e565b60208201526153046040840161527e565b60408201526153156060840161527e565b606082015261532660808401615289565b608082015261533760a08401615294565b60a082015261534860c08401615294565b60c082015261535960e084016152ac565b60e082015261010061536c8185016152ac565b908201529392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b67ffffffffffffffff8281168282160390808211156153c7576153c7615377565b5092915050565b6000602082840312156153e057600080fd5b81356110a281614b9d565b6000602082840312156153fd57600080fd5b6110a282615294565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006020828403121561544757600080fd5b815165ffffffffffff811681146110a257600080fd5b60006020828403121561546f57600080fd5b5051919050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b80358252600060208201356154d381614b9d565b6001600160a01b0390811660208501526040830135906154f282614a5f565b60ff821660408601526060840135915061550b82614b9d565b908116606085015260808301359061552282614b9d565b16608084015260a0828101359084015260c0820135368390037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe101811261556857600080fd5b820160208101903567ffffffffffffffff81111561558557600080fd5b80360382131561559457600080fd5b60e060c08601526155a960e086018284615476565b95945050505050565b60ff831681526060602082015260006155ce60608301846154bf565b828103604084015260008152602081019150509392505050565b6000602082840312156155fa57600080fd5b6110a2826152ac565b60006020828403121561561557600080fd5b81516110a281614b9d565b81810381811115610f4857610f48615377565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b80820180821115610f4857610f48615377565b60006020828403121561568757600080fd5b81516110a281614a5f565b6000602082840312156156a457600080fd5b81516110a281614d15565b6060815260006156c260608301866154bf565b90506001600160a01b038416602083015260ff83166040830152949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b8481526fffffffffffffffffffffffffffffffff84166020820152606060408201526000610ba0606083018486615476565b65ffffffffffff8281168282160390808211156153c7576153c7615377565b6020815260006110a260208301846154bf565b8183823760009101908152919050565b60005b838110156157a257818101518382015260200161578a565b50506000910152565b60ff8816815260006001600160a01b03808916602084015280881660408401525085606083015260c060808301526157e760c083018587615476565b82810360a08401528351808252615805816020840160208801615787565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016016020019998505050505050505050565b61ffff8181168382160190808211156153c7576153c7615377565b6020810160078310615891577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b91905290565b6fffffffffffffffffffffffffffffffff8181168382160190808211156153c7576153c7615377565b6000602082840312156158d257600080fd5b81356110a281614a5f565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261591257600080fd5b83018035915067ffffffffffffffff82111561592d57600080fd5b6020019150368190038213156121c657600080fd5b60006020828403121561595457600080fd5b815167ffffffffffffffff81111561596b57600080fd5b8201601f8101841361597c57600080fd5b805161598a614e7282614e0d565b81815285602083850101111561599f57600080fd5b6155a9826020830160208601615787565b6000826159e6577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b50049056fea164736f6c6343000817000a", + "nonce": "0x0", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x90a886e8c2c61499a7d2a3c92915117dc9b79ec1395317f3dc71f9dc1a173217", + "transactionType": "CREATE", + "contractName": "LlamaTokenVotingFactory", + "contractAddress": "0xFBE17545dffD75A92A5A72926AE581478973FE65", + "function": null, + "arguments": [ + "0x3f3DAB3ab8cEc2FBd06767c2A5F66Cb6BFF21A4A" + ], + "transaction": { + "type": "0x02", + "from": "0xb72276d9ff15c7998b9962ffcfb21a6c7249441b", + "gas": "0xc9127", + "value": "0x0", + "data": "0x60a060405234801561001057600080fd5b50604051610b16380380610b1683398101604081905261002f91610040565b6001600160a01b0316608052610070565b60006020828403121561005257600080fd5b81516001600160a01b038116811461006957600080fd5b9392505050565b608051610a8561009160003960008181604001526104390152610a856000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c806321618ea41461003b5780633ec857a51461008b575b600080fd5b6100627f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b61006261009936600461087b565b600080338360000151846040015185606001516040516020016100bf9493929190610959565b60405160208183030381529060405280519060200120905060006100e7846020015183610622565b60408086015190517f439fab9100000000000000000000000000000000000000000000000000000000815291925073ffffffffffffffffffffffffffffffffffffffff83169163439fab919161013f916004016109b9565b6020604051808303816000875af115801561015e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101829190610a0a565b50600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1663fc0c546a6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156101e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061020a9190610a33565b73ffffffffffffffffffffffffffffffffffffffff1603610257576040517f65f5b03400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517fcdfda4dd00000000000000000000000000000000000000000000000000000000815242600482015273ffffffffffffffffffffffffffffffffffffffff82169063cdfda4dd90602401602060405180830381865afa1580156102c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102e59190610a50565b65ffffffffffff16600003610326576040517f65f5b03400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff166391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865afa158015610371573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103959190610a50565b65ffffffffffff166000036103d6576040517f65f5b03400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1663ae2a6df26040518163ffffffff1660e01b815260040160006040518083038186803b15801561041c57600080fd5b505afa158015610430573d6000803e3d6000fd5b5050505061045e7f000000000000000000000000000000000000000000000000000000000000000083610622565b8451608086015160a0870151604080517f8734852a00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff948516600482015286851660248201526044810193909352815161ffff908116606485015260208301518116608485015290820151811660a48401526060909101511660c4820152919450841690638734852a9060e401600060405180830381600087803b15801561051757600080fd5b505af115801561052b573d6000803e3d6000fd5b505050508073ffffffffffffffffffffffffffffffffffffffff1663fc0c546a6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561057a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061059e9190610a33565b84516020808701516060808901516040805173ffffffffffffffffffffffffffffffffffffffff94851681528885169581019590955284015287821690830152466080830152928316929091169033907f4c8bb78cb1c62e64cef39fc4b4a1864d1a331a28c7bd59a67fe969cc8ab715879060a00160405180910390a45050919050565b6000763d602d80600a3d3981f3363d3d373d3d3d363d730000008360601b60e81c176000526e5af43d82803e903d91602b57fd5bf38360781b1760205281603760096000f5905073ffffffffffffffffffffffffffffffffffffffff81166106b6576040517fc2f868f400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405160c0810167ffffffffffffffff8111828210171561070e5761070e6106bc565b60405290565b73ffffffffffffffffffffffffffffffffffffffff8116811461073657600080fd5b50565b600082601f83011261074a57600080fd5b813567ffffffffffffffff80821115610765576107656106bc565b604051601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011681019082821181831017156107ab576107ab6106bc565b816040528381528660208588010111156107c457600080fd5b836020870160208301376000602085830101528094505050505092915050565b803561ffff811681146107f657600080fd5b919050565b60006080828403121561080d57600080fd5b6040516080810181811067ffffffffffffffff82111715610830576108306106bc565b60405290508061083f836107e4565b815261084d602084016107e4565b602082015261085e604084016107e4565b604082015261086f606084016107e4565b60608201525092915050565b60006020828403121561088d57600080fd5b813567ffffffffffffffff808211156108a557600080fd5b9083019061012082860312156108ba57600080fd5b6108c26106eb565b82356108cd81610714565b815260208301356108dd81610714565b60208201526040830135828111156108f457600080fd5b61090087828601610739565b60408301525060608301356060820152608083013560808201526109278660a085016107fb565b60a082015295945050505050565b60005b83811015610950578181015183820152602001610938565b50506000910152565b60007fffffffffffffffffffffffffffffffffffffffff000000000000000000000000808760601b168352808660601b1660148401525083516109a3816028850160208801610935565b6028920191820192909252604801949350505050565b60208152600082518060208401526109d8816040850160208701610935565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169190910160400192915050565b600060208284031215610a1c57600080fd5b81518015158114610a2c57600080fd5b9392505050565b600060208284031215610a4557600080fd5b8151610a2c81610714565b600060208284031215610a6257600080fd5b815165ffffffffffff81168114610a2c57600080fdfea164736f6c6343000817000a0000000000000000000000003f3dab3ab8cec2fbd06767c2a5f66cb6bff21a4a", + "nonce": "0x1", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": null, + "transactionType": "CREATE", + "contractName": "LlamaTokenAdapterVotesTimestamp", + "contractAddress": "0x088C268cb00226D6A9b29e5488905Aa94D2f0239", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0xb72276d9ff15c7998b9962ffcfb21a6c7249441b", + "gas": "0x10d28c", + "value": "0x0", + "data": "0x608060405234801561001057600080fd5b5061001961001e565b6100d0565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff161561006e5760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b03908116146100cd5780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b610df5806100df6000396000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c8063ae2a6df21161005b578063ae2a6df21461010a578063cdfda4dd14610114578063edb8ee5a14610127578063fc0c546a1461013a57600080fd5b8063439fab911461008d5780634bf5d7e9146100b557806391ddadf4146100ca5780639556de73146100e9575b600080fd5b6100a061009b3660046108e4565b61017f565b60405190151581526020015b60405180910390f35b6100bd6103a1565b6040516100ac9190610988565b6100d261042f565b60405165ffffffffffff90911681526020016100ac565b6100fc6100f7366004610a12565b6104e9565b6040519081526020016100ac565b610112610593565b005b6100d2610122366004610a4b565b6105ef565b6100fc610135366004610a64565b610600565b60005461015a9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100ac565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0080546000919068010000000000000000810460ff16159067ffffffffffffffff1683811580156101cd5750825b905060008267ffffffffffffffff1660011480156101ea5750303b155b9050811580156101f8575080155b1561022f576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b84547fffffffffffffffffffffffffffffffffffffffffffffffff000000000000000016600117855583156102905784547fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff16680100000000000000001785555b6000878060200190518101906102a69190610a81565b8051600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff90921691909117905560408051808201909152600e81527f6d6f64653d74696d657374616d7000000000000000000000000000000000000060208201529091506001906103309082610b71565b50600196505083156103975784547fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b5050505050919050565b600180546103ae90610acd565b80601f01602080910402602001604051908101604052809291908181526020018280546103da90610acd565b80156104275780601f106103fc57610100808354040283529160200191610427565b820191906000526020600020905b81548152906001019060200180831161040a57829003601f168201915b505050505081565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156104d7575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682019092526104d491810190610c8b565b60015b6104e4576104e44261069b565b905090565b600080546040517f3a46b1a800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff858116600483015265ffffffffffff8516602483015290911690633a46b1a890604401602060405180830381865afa158015610568573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061058c9190610ca8565b9392505050565b600061059d6106e8565b905060006105a9610712565b905081806105b45750805b156105eb576040517f6ff0714000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050565b60006105fa8261069b565b92915050565b600080546040517f8e539e8c00000000000000000000000000000000000000000000000000000000815265ffffffffffff8416600482015273ffffffffffffffffffffffffffffffffffffffff90911690638e539e8c90602401602060405180830381865afa158015610677573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105fa9190610ca8565b600065ffffffffffff8211156106e4576040517fc0188c4f0000000000000000000000000000000000000000000000000000000081526004810183905260240160405180910390fd5b5090565b60006106f34261069b565b65ffffffffffff1661070361042f565b65ffffffffffff161415905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16634bf5d7e96040518163ffffffff1660e01b8152600401600060405180830381865afa9250505080156107bf57506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526107bc9190810190610cc1565b60015b6107c95750600090565b60016040516020016107db9190610d38565b60405160208183030381529060405280519060200120816040516020016108029190610dcc565b60405160208183030381529060405280519060200120141591505090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff8111828210171561089657610896610820565b604052919050565b600067ffffffffffffffff8211156108b8576108b8610820565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b6000602082840312156108f657600080fd5b813567ffffffffffffffff81111561090d57600080fd5b8201601f8101841361091e57600080fd5b803561093161092c8261089e565b61084f565b81815285602083850101111561094657600080fd5b81602084016020830137600091810160200191909152949350505050565b60005b8381101561097f578181015183820152602001610967565b50506000910152565b60208152600082518060208401526109a7816040850160208701610964565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169190910160400192915050565b73ffffffffffffffffffffffffffffffffffffffff811681146109fb57600080fd5b50565b65ffffffffffff811681146109fb57600080fd5b60008060408385031215610a2557600080fd5b8235610a30816109d9565b91506020830135610a40816109fe565b809150509250929050565b600060208284031215610a5d57600080fd5b5035919050565b600060208284031215610a7657600080fd5b813561058c816109fe565b600060208284031215610a9357600080fd5b6040516020810181811067ffffffffffffffff82111715610ab657610ab6610820565b6040528251610ac4816109d9565b81529392505050565b600181811c90821680610ae157607f821691505b602082108103610b1a577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b601f821115610b6c576000816000526020600020601f850160051c81016020861015610b495750805b601f850160051c820191505b81811015610b6857828155600101610b55565b5050505b505050565b815167ffffffffffffffff811115610b8b57610b8b610820565b610b9f81610b998454610acd565b84610b20565b602080601f831160018114610bf25760008415610bbc5750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b178555610b68565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b82811015610c3f57888601518255948401946001909101908401610c20565b5085821015610c7b57878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b600060208284031215610c9d57600080fd5b815161058c816109fe565b600060208284031215610cba57600080fd5b5051919050565b600060208284031215610cd357600080fd5b815167ffffffffffffffff811115610cea57600080fd5b8201601f81018413610cfb57600080fd5b8051610d0961092c8261089e565b818152856020838501011115610d1e57600080fd5b610d2f826020830160208601610964565b95945050505050565b6000808354610d4681610acd565b60018281168015610d5e5760018114610d9157610dc0565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0084168752821515830287019450610dc0565b8760005260208060002060005b85811015610db75781548a820152908401908201610d9e565b50505082870194505b50929695505050505050565b60008251610dde818460208701610964565b919091019291505056fea164736f6c6343000817000a", + "nonce": "0x2", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [ + "0xdb612821b8dc714d73bef9d3a6710c6d9911aaf5b8c707c2a4afdb63686e49d1", + "0x90a886e8c2c61499a7d2a3c92915117dc9b79ec1395317f3dc71f9dc1a173217" + ], + "returns": {}, + "timestamp": 1704991681, + "chain": 11155111, + "multi": false, + "commit": "688208a" +} \ No newline at end of file diff --git a/broadcast/DeployLlamaTokenVotingFactory.s.sol/11155111/run-1704991771.json b/broadcast/DeployLlamaTokenVotingFactory.s.sol/11155111/run-1704991771.json new file mode 100644 index 0000000..546f509 --- /dev/null +++ b/broadcast/DeployLlamaTokenVotingFactory.s.sol/11155111/run-1704991771.json @@ -0,0 +1,33 @@ +{ + "transactions": [ + { + "hash": "0xa2c340020ddc04f78300ebf8df186548b6059de0b391b00eef586c2cf62c5599", + "transactionType": "CREATE", + "contractName": "LlamaTokenAdapterVotesTimestamp", + "contractAddress": "0x088C268cb00226D6A9b29e5488905Aa94D2f0239", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0xb72276d9ff15c7998b9962ffcfb21a6c7249441b", + "gas": "0x10d28c", + "value": "0x0", + "data": "0x608060405234801561001057600080fd5b5061001961001e565b6100d0565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff161561006e5760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b03908116146100cd5780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b610df5806100df6000396000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c8063ae2a6df21161005b578063ae2a6df21461010a578063cdfda4dd14610114578063edb8ee5a14610127578063fc0c546a1461013a57600080fd5b8063439fab911461008d5780634bf5d7e9146100b557806391ddadf4146100ca5780639556de73146100e9575b600080fd5b6100a061009b3660046108e4565b61017f565b60405190151581526020015b60405180910390f35b6100bd6103a1565b6040516100ac9190610988565b6100d261042f565b60405165ffffffffffff90911681526020016100ac565b6100fc6100f7366004610a12565b6104e9565b6040519081526020016100ac565b610112610593565b005b6100d2610122366004610a4b565b6105ef565b6100fc610135366004610a64565b610600565b60005461015a9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100ac565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0080546000919068010000000000000000810460ff16159067ffffffffffffffff1683811580156101cd5750825b905060008267ffffffffffffffff1660011480156101ea5750303b155b9050811580156101f8575080155b1561022f576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b84547fffffffffffffffffffffffffffffffffffffffffffffffff000000000000000016600117855583156102905784547fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff16680100000000000000001785555b6000878060200190518101906102a69190610a81565b8051600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff90921691909117905560408051808201909152600e81527f6d6f64653d74696d657374616d7000000000000000000000000000000000000060208201529091506001906103309082610b71565b50600196505083156103975784547fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b5050505050919050565b600180546103ae90610acd565b80601f01602080910402602001604051908101604052809291908181526020018280546103da90610acd565b80156104275780601f106103fc57610100808354040283529160200191610427565b820191906000526020600020905b81548152906001019060200180831161040a57829003601f168201915b505050505081565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156104d7575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682019092526104d491810190610c8b565b60015b6104e4576104e44261069b565b905090565b600080546040517f3a46b1a800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff858116600483015265ffffffffffff8516602483015290911690633a46b1a890604401602060405180830381865afa158015610568573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061058c9190610ca8565b9392505050565b600061059d6106e8565b905060006105a9610712565b905081806105b45750805b156105eb576040517f6ff0714000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050565b60006105fa8261069b565b92915050565b600080546040517f8e539e8c00000000000000000000000000000000000000000000000000000000815265ffffffffffff8416600482015273ffffffffffffffffffffffffffffffffffffffff90911690638e539e8c90602401602060405180830381865afa158015610677573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105fa9190610ca8565b600065ffffffffffff8211156106e4576040517fc0188c4f0000000000000000000000000000000000000000000000000000000081526004810183905260240160405180910390fd5b5090565b60006106f34261069b565b65ffffffffffff1661070361042f565b65ffffffffffff161415905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16634bf5d7e96040518163ffffffff1660e01b8152600401600060405180830381865afa9250505080156107bf57506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526107bc9190810190610cc1565b60015b6107c95750600090565b60016040516020016107db9190610d38565b60405160208183030381529060405280519060200120816040516020016108029190610dcc565b60405160208183030381529060405280519060200120141591505090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff8111828210171561089657610896610820565b604052919050565b600067ffffffffffffffff8211156108b8576108b8610820565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b6000602082840312156108f657600080fd5b813567ffffffffffffffff81111561090d57600080fd5b8201601f8101841361091e57600080fd5b803561093161092c8261089e565b61084f565b81815285602083850101111561094657600080fd5b81602084016020830137600091810160200191909152949350505050565b60005b8381101561097f578181015183820152602001610967565b50506000910152565b60208152600082518060208401526109a7816040850160208701610964565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169190910160400192915050565b73ffffffffffffffffffffffffffffffffffffffff811681146109fb57600080fd5b50565b65ffffffffffff811681146109fb57600080fd5b60008060408385031215610a2557600080fd5b8235610a30816109d9565b91506020830135610a40816109fe565b809150509250929050565b600060208284031215610a5d57600080fd5b5035919050565b600060208284031215610a7657600080fd5b813561058c816109fe565b600060208284031215610a9357600080fd5b6040516020810181811067ffffffffffffffff82111715610ab657610ab6610820565b6040528251610ac4816109d9565b81529392505050565b600181811c90821680610ae157607f821691505b602082108103610b1a577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b601f821115610b6c576000816000526020600020601f850160051c81016020861015610b495750805b601f850160051c820191505b81811015610b6857828155600101610b55565b5050505b505050565b815167ffffffffffffffff811115610b8b57610b8b610820565b610b9f81610b998454610acd565b84610b20565b602080601f831160018114610bf25760008415610bbc5750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b178555610b68565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b82811015610c3f57888601518255948401946001909101908401610c20565b5085821015610c7b57878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b600060208284031215610c9d57600080fd5b815161058c816109fe565b600060208284031215610cba57600080fd5b5051919050565b600060208284031215610cd357600080fd5b815167ffffffffffffffff811115610cea57600080fd5b8201601f81018413610cfb57600080fd5b8051610d0961092c8261089e565b818152856020838501011115610d1e57600080fd5b610d2f826020830160208601610964565b95945050505050565b6000808354610d4681610acd565b60018281168015610d5e5760018114610d9157610dc0565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0084168752821515830287019450610dc0565b8760005260208060002060005b85811015610db75781548a820152908401908201610d9e565b50505082870194505b50929695505050505050565b60008251610dde818460208701610964565b919091019291505056fea164736f6c6343000817000a", + "nonce": "0x2", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [ + "0xa2c340020ddc04f78300ebf8df186548b6059de0b391b00eef586c2cf62c5599" + ], + "returns": {}, + "timestamp": 1704991771, + "chain": 11155111, + "multi": false, + "commit": "688208a" +} \ No newline at end of file diff --git a/broadcast/DeployLlamaTokenVotingFactory.s.sol/11155111/run-1704991777.json b/broadcast/DeployLlamaTokenVotingFactory.s.sol/11155111/run-1704991777.json new file mode 100644 index 0000000..02a06c4 --- /dev/null +++ b/broadcast/DeployLlamaTokenVotingFactory.s.sol/11155111/run-1704991777.json @@ -0,0 +1,62 @@ +{ + "transactions": [ + { + "hash": "0xa2c340020ddc04f78300ebf8df186548b6059de0b391b00eef586c2cf62c5599", + "transactionType": "CREATE", + "contractName": "LlamaTokenAdapterVotesTimestamp", + "contractAddress": "0x088C268cb00226D6A9b29e5488905Aa94D2f0239", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0xb72276d9ff15c7998b9962ffcfb21a6c7249441b", + "gas": "0x10d28c", + "value": "0x0", + "data": "0x608060405234801561001057600080fd5b5061001961001e565b6100d0565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff161561006e5760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b03908116146100cd5780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b610df5806100df6000396000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c8063ae2a6df21161005b578063ae2a6df21461010a578063cdfda4dd14610114578063edb8ee5a14610127578063fc0c546a1461013a57600080fd5b8063439fab911461008d5780634bf5d7e9146100b557806391ddadf4146100ca5780639556de73146100e9575b600080fd5b6100a061009b3660046108e4565b61017f565b60405190151581526020015b60405180910390f35b6100bd6103a1565b6040516100ac9190610988565b6100d261042f565b60405165ffffffffffff90911681526020016100ac565b6100fc6100f7366004610a12565b6104e9565b6040519081526020016100ac565b610112610593565b005b6100d2610122366004610a4b565b6105ef565b6100fc610135366004610a64565b610600565b60005461015a9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100ac565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0080546000919068010000000000000000810460ff16159067ffffffffffffffff1683811580156101cd5750825b905060008267ffffffffffffffff1660011480156101ea5750303b155b9050811580156101f8575080155b1561022f576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b84547fffffffffffffffffffffffffffffffffffffffffffffffff000000000000000016600117855583156102905784547fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff16680100000000000000001785555b6000878060200190518101906102a69190610a81565b8051600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff90921691909117905560408051808201909152600e81527f6d6f64653d74696d657374616d7000000000000000000000000000000000000060208201529091506001906103309082610b71565b50600196505083156103975784547fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b5050505050919050565b600180546103ae90610acd565b80601f01602080910402602001604051908101604052809291908181526020018280546103da90610acd565b80156104275780601f106103fc57610100808354040283529160200191610427565b820191906000526020600020905b81548152906001019060200180831161040a57829003601f168201915b505050505081565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156104d7575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682019092526104d491810190610c8b565b60015b6104e4576104e44261069b565b905090565b600080546040517f3a46b1a800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff858116600483015265ffffffffffff8516602483015290911690633a46b1a890604401602060405180830381865afa158015610568573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061058c9190610ca8565b9392505050565b600061059d6106e8565b905060006105a9610712565b905081806105b45750805b156105eb576040517f6ff0714000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050565b60006105fa8261069b565b92915050565b600080546040517f8e539e8c00000000000000000000000000000000000000000000000000000000815265ffffffffffff8416600482015273ffffffffffffffffffffffffffffffffffffffff90911690638e539e8c90602401602060405180830381865afa158015610677573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105fa9190610ca8565b600065ffffffffffff8211156106e4576040517fc0188c4f0000000000000000000000000000000000000000000000000000000081526004810183905260240160405180910390fd5b5090565b60006106f34261069b565b65ffffffffffff1661070361042f565b65ffffffffffff161415905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16634bf5d7e96040518163ffffffff1660e01b8152600401600060405180830381865afa9250505080156107bf57506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526107bc9190810190610cc1565b60015b6107c95750600090565b60016040516020016107db9190610d38565b60405160208183030381529060405280519060200120816040516020016108029190610dcc565b60405160208183030381529060405280519060200120141591505090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff8111828210171561089657610896610820565b604052919050565b600067ffffffffffffffff8211156108b8576108b8610820565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b6000602082840312156108f657600080fd5b813567ffffffffffffffff81111561090d57600080fd5b8201601f8101841361091e57600080fd5b803561093161092c8261089e565b61084f565b81815285602083850101111561094657600080fd5b81602084016020830137600091810160200191909152949350505050565b60005b8381101561097f578181015183820152602001610967565b50506000910152565b60208152600082518060208401526109a7816040850160208701610964565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169190910160400192915050565b73ffffffffffffffffffffffffffffffffffffffff811681146109fb57600080fd5b50565b65ffffffffffff811681146109fb57600080fd5b60008060408385031215610a2557600080fd5b8235610a30816109d9565b91506020830135610a40816109fe565b809150509250929050565b600060208284031215610a5d57600080fd5b5035919050565b600060208284031215610a7657600080fd5b813561058c816109fe565b600060208284031215610a9357600080fd5b6040516020810181811067ffffffffffffffff82111715610ab657610ab6610820565b6040528251610ac4816109d9565b81529392505050565b600181811c90821680610ae157607f821691505b602082108103610b1a577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b601f821115610b6c576000816000526020600020601f850160051c81016020861015610b495750805b601f850160051c820191505b81811015610b6857828155600101610b55565b5050505b505050565b815167ffffffffffffffff811115610b8b57610b8b610820565b610b9f81610b998454610acd565b84610b20565b602080601f831160018114610bf25760008415610bbc5750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b178555610b68565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b82811015610c3f57888601518255948401946001909101908401610c20565b5085821015610c7b57878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b600060208284031215610c9d57600080fd5b815161058c816109fe565b600060208284031215610cba57600080fd5b5051919050565b600060208284031215610cd357600080fd5b815167ffffffffffffffff811115610cea57600080fd5b8201601f81018413610cfb57600080fd5b8051610d0961092c8261089e565b818152856020838501011115610d1e57600080fd5b610d2f826020830160208601610964565b95945050505050565b6000808354610d4681610acd565b60018281168015610d5e5760018114610d9157610dc0565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0084168752821515830287019450610dc0565b8760005260208060002060005b85811015610db75781548a820152908401908201610d9e565b50505082870194505b50929695505050505050565b60008251610dde818460208701610964565b919091019291505056fea164736f6c6343000817000a", + "nonce": "0x2", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0xa2c340020ddc04f78300ebf8df186548b6059de0b391b00eef586c2cf62c5599", + "transactionIndex": "0x12", + "blockHash": "0x82d6c1acc2e2da4573490e749b1a7c0648306f34b65f72fa96f1a31f4005252f", + "blockNumber": "0x4d51c2", + "from": "0xb72276D9FF15c7998b9962FFCfB21A6C7249441B", + "to": null, + "cumulativeGasUsed": "0x2366bf", + "gasUsed": "0xcf1a9", + "contractAddress": "0x088C268cb00226D6A9b29e5488905Aa94D2f0239", + "logs": [ + { + "address": "0x088C268cb00226D6A9b29e5488905Aa94D2f0239", + "topics": [ + "0xc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2" + ], + "data": "0x000000000000000000000000000000000000000000000000ffffffffffffffff", + "blockHash": "0x82d6c1acc2e2da4573490e749b1a7c0648306f34b65f72fa96f1a31f4005252f", + "blockNumber": "0x4d51c2", + "transactionHash": "0xa2c340020ddc04f78300ebf8df186548b6059de0b391b00eef586c2cf62c5599", + "transactionIndex": "0x12", + "logIndex": "0x15", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000800000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000008000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xa420ff88d" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1704991777, + "chain": 11155111, + "multi": false, + "commit": "688208a" +} \ No newline at end of file diff --git a/broadcast/DeployLlamaTokenVotingFactory.s.sol/11155111/run-1704991820.json b/broadcast/DeployLlamaTokenVotingFactory.s.sol/11155111/run-1704991820.json new file mode 100644 index 0000000..ace177e --- /dev/null +++ b/broadcast/DeployLlamaTokenVotingFactory.s.sol/11155111/run-1704991820.json @@ -0,0 +1,62 @@ +{ + "transactions": [ + { + "hash": "0xa2c340020ddc04f78300ebf8df186548b6059de0b391b00eef586c2cf62c5599", + "transactionType": "CREATE", + "contractName": "LlamaTokenAdapterVotesTimestamp", + "contractAddress": "0x088C268cb00226D6A9b29e5488905Aa94D2f0239", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0xb72276d9ff15c7998b9962ffcfb21a6c7249441b", + "gas": "0x10d28c", + "value": "0x0", + "data": "0x608060405234801561001057600080fd5b5061001961001e565b6100d0565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff161561006e5760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b03908116146100cd5780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b610df5806100df6000396000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c8063ae2a6df21161005b578063ae2a6df21461010a578063cdfda4dd14610114578063edb8ee5a14610127578063fc0c546a1461013a57600080fd5b8063439fab911461008d5780634bf5d7e9146100b557806391ddadf4146100ca5780639556de73146100e9575b600080fd5b6100a061009b3660046108e4565b61017f565b60405190151581526020015b60405180910390f35b6100bd6103a1565b6040516100ac9190610988565b6100d261042f565b60405165ffffffffffff90911681526020016100ac565b6100fc6100f7366004610a12565b6104e9565b6040519081526020016100ac565b610112610593565b005b6100d2610122366004610a4b565b6105ef565b6100fc610135366004610a64565b610600565b60005461015a9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100ac565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0080546000919068010000000000000000810460ff16159067ffffffffffffffff1683811580156101cd5750825b905060008267ffffffffffffffff1660011480156101ea5750303b155b9050811580156101f8575080155b1561022f576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b84547fffffffffffffffffffffffffffffffffffffffffffffffff000000000000000016600117855583156102905784547fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff16680100000000000000001785555b6000878060200190518101906102a69190610a81565b8051600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff90921691909117905560408051808201909152600e81527f6d6f64653d74696d657374616d7000000000000000000000000000000000000060208201529091506001906103309082610b71565b50600196505083156103975784547fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b5050505050919050565b600180546103ae90610acd565b80601f01602080910402602001604051908101604052809291908181526020018280546103da90610acd565b80156104275780601f106103fc57610100808354040283529160200191610427565b820191906000526020600020905b81548152906001019060200180831161040a57829003601f168201915b505050505081565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156104d7575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682019092526104d491810190610c8b565b60015b6104e4576104e44261069b565b905090565b600080546040517f3a46b1a800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff858116600483015265ffffffffffff8516602483015290911690633a46b1a890604401602060405180830381865afa158015610568573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061058c9190610ca8565b9392505050565b600061059d6106e8565b905060006105a9610712565b905081806105b45750805b156105eb576040517f6ff0714000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050565b60006105fa8261069b565b92915050565b600080546040517f8e539e8c00000000000000000000000000000000000000000000000000000000815265ffffffffffff8416600482015273ffffffffffffffffffffffffffffffffffffffff90911690638e539e8c90602401602060405180830381865afa158015610677573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105fa9190610ca8565b600065ffffffffffff8211156106e4576040517fc0188c4f0000000000000000000000000000000000000000000000000000000081526004810183905260240160405180910390fd5b5090565b60006106f34261069b565b65ffffffffffff1661070361042f565b65ffffffffffff161415905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16634bf5d7e96040518163ffffffff1660e01b8152600401600060405180830381865afa9250505080156107bf57506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526107bc9190810190610cc1565b60015b6107c95750600090565b60016040516020016107db9190610d38565b60405160208183030381529060405280519060200120816040516020016108029190610dcc565b60405160208183030381529060405280519060200120141591505090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff8111828210171561089657610896610820565b604052919050565b600067ffffffffffffffff8211156108b8576108b8610820565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b6000602082840312156108f657600080fd5b813567ffffffffffffffff81111561090d57600080fd5b8201601f8101841361091e57600080fd5b803561093161092c8261089e565b61084f565b81815285602083850101111561094657600080fd5b81602084016020830137600091810160200191909152949350505050565b60005b8381101561097f578181015183820152602001610967565b50506000910152565b60208152600082518060208401526109a7816040850160208701610964565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169190910160400192915050565b73ffffffffffffffffffffffffffffffffffffffff811681146109fb57600080fd5b50565b65ffffffffffff811681146109fb57600080fd5b60008060408385031215610a2557600080fd5b8235610a30816109d9565b91506020830135610a40816109fe565b809150509250929050565b600060208284031215610a5d57600080fd5b5035919050565b600060208284031215610a7657600080fd5b813561058c816109fe565b600060208284031215610a9357600080fd5b6040516020810181811067ffffffffffffffff82111715610ab657610ab6610820565b6040528251610ac4816109d9565b81529392505050565b600181811c90821680610ae157607f821691505b602082108103610b1a577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b601f821115610b6c576000816000526020600020601f850160051c81016020861015610b495750805b601f850160051c820191505b81811015610b6857828155600101610b55565b5050505b505050565b815167ffffffffffffffff811115610b8b57610b8b610820565b610b9f81610b998454610acd565b84610b20565b602080601f831160018114610bf25760008415610bbc5750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b178555610b68565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b82811015610c3f57888601518255948401946001909101908401610c20565b5085821015610c7b57878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b600060208284031215610c9d57600080fd5b815161058c816109fe565b600060208284031215610cba57600080fd5b5051919050565b600060208284031215610cd357600080fd5b815167ffffffffffffffff811115610cea57600080fd5b8201601f81018413610cfb57600080fd5b8051610d0961092c8261089e565b818152856020838501011115610d1e57600080fd5b610d2f826020830160208601610964565b95945050505050565b6000808354610d4681610acd565b60018281168015610d5e5760018114610d9157610dc0565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0084168752821515830287019450610dc0565b8760005260208060002060005b85811015610db75781548a820152908401908201610d9e565b50505082870194505b50929695505050505050565b60008251610dde818460208701610964565b919091019291505056fea164736f6c6343000817000a", + "nonce": "0x2", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0xa2c340020ddc04f78300ebf8df186548b6059de0b391b00eef586c2cf62c5599", + "transactionIndex": "0x12", + "blockHash": "0x82d6c1acc2e2da4573490e749b1a7c0648306f34b65f72fa96f1a31f4005252f", + "blockNumber": "0x4d51c2", + "from": "0xb72276D9FF15c7998b9962FFCfB21A6C7249441B", + "to": null, + "cumulativeGasUsed": "0x2366bf", + "gasUsed": "0xcf1a9", + "contractAddress": "0x088C268cb00226D6A9b29e5488905Aa94D2f0239", + "logs": [ + { + "address": "0x088C268cb00226D6A9b29e5488905Aa94D2f0239", + "topics": [ + "0xc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2" + ], + "data": "0x000000000000000000000000000000000000000000000000ffffffffffffffff", + "blockHash": "0x82d6c1acc2e2da4573490e749b1a7c0648306f34b65f72fa96f1a31f4005252f", + "blockNumber": "0x4d51c2", + "transactionHash": "0xa2c340020ddc04f78300ebf8df186548b6059de0b391b00eef586c2cf62c5599", + "transactionIndex": "0x12", + "logIndex": "0x15", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000800000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000008000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xa420ff88d" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1704991820, + "chain": 11155111, + "multi": false, + "commit": "688208a" +} \ No newline at end of file diff --git a/broadcast/DeployLlamaTokenVotingFactory.s.sol/11155111/run-latest.json b/broadcast/DeployLlamaTokenVotingFactory.s.sol/11155111/run-latest.json new file mode 100644 index 0000000..ace177e --- /dev/null +++ b/broadcast/DeployLlamaTokenVotingFactory.s.sol/11155111/run-latest.json @@ -0,0 +1,62 @@ +{ + "transactions": [ + { + "hash": "0xa2c340020ddc04f78300ebf8df186548b6059de0b391b00eef586c2cf62c5599", + "transactionType": "CREATE", + "contractName": "LlamaTokenAdapterVotesTimestamp", + "contractAddress": "0x088C268cb00226D6A9b29e5488905Aa94D2f0239", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0xb72276d9ff15c7998b9962ffcfb21a6c7249441b", + "gas": "0x10d28c", + "value": "0x0", + "data": "0x608060405234801561001057600080fd5b5061001961001e565b6100d0565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff161561006e5760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b03908116146100cd5780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b610df5806100df6000396000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c8063ae2a6df21161005b578063ae2a6df21461010a578063cdfda4dd14610114578063edb8ee5a14610127578063fc0c546a1461013a57600080fd5b8063439fab911461008d5780634bf5d7e9146100b557806391ddadf4146100ca5780639556de73146100e9575b600080fd5b6100a061009b3660046108e4565b61017f565b60405190151581526020015b60405180910390f35b6100bd6103a1565b6040516100ac9190610988565b6100d261042f565b60405165ffffffffffff90911681526020016100ac565b6100fc6100f7366004610a12565b6104e9565b6040519081526020016100ac565b610112610593565b005b6100d2610122366004610a4b565b6105ef565b6100fc610135366004610a64565b610600565b60005461015a9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100ac565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0080546000919068010000000000000000810460ff16159067ffffffffffffffff1683811580156101cd5750825b905060008267ffffffffffffffff1660011480156101ea5750303b155b9050811580156101f8575080155b1561022f576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b84547fffffffffffffffffffffffffffffffffffffffffffffffff000000000000000016600117855583156102905784547fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff16680100000000000000001785555b6000878060200190518101906102a69190610a81565b8051600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff90921691909117905560408051808201909152600e81527f6d6f64653d74696d657374616d7000000000000000000000000000000000000060208201529091506001906103309082610b71565b50600196505083156103975784547fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b5050505050919050565b600180546103ae90610acd565b80601f01602080910402602001604051908101604052809291908181526020018280546103da90610acd565b80156104275780601f106103fc57610100808354040283529160200191610427565b820191906000526020600020905b81548152906001019060200180831161040a57829003601f168201915b505050505081565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156104d7575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682019092526104d491810190610c8b565b60015b6104e4576104e44261069b565b905090565b600080546040517f3a46b1a800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff858116600483015265ffffffffffff8516602483015290911690633a46b1a890604401602060405180830381865afa158015610568573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061058c9190610ca8565b9392505050565b600061059d6106e8565b905060006105a9610712565b905081806105b45750805b156105eb576040517f6ff0714000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050565b60006105fa8261069b565b92915050565b600080546040517f8e539e8c00000000000000000000000000000000000000000000000000000000815265ffffffffffff8416600482015273ffffffffffffffffffffffffffffffffffffffff90911690638e539e8c90602401602060405180830381865afa158015610677573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105fa9190610ca8565b600065ffffffffffff8211156106e4576040517fc0188c4f0000000000000000000000000000000000000000000000000000000081526004810183905260240160405180910390fd5b5090565b60006106f34261069b565b65ffffffffffff1661070361042f565b65ffffffffffff161415905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16634bf5d7e96040518163ffffffff1660e01b8152600401600060405180830381865afa9250505080156107bf57506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526107bc9190810190610cc1565b60015b6107c95750600090565b60016040516020016107db9190610d38565b60405160208183030381529060405280519060200120816040516020016108029190610dcc565b60405160208183030381529060405280519060200120141591505090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff8111828210171561089657610896610820565b604052919050565b600067ffffffffffffffff8211156108b8576108b8610820565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b6000602082840312156108f657600080fd5b813567ffffffffffffffff81111561090d57600080fd5b8201601f8101841361091e57600080fd5b803561093161092c8261089e565b61084f565b81815285602083850101111561094657600080fd5b81602084016020830137600091810160200191909152949350505050565b60005b8381101561097f578181015183820152602001610967565b50506000910152565b60208152600082518060208401526109a7816040850160208701610964565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169190910160400192915050565b73ffffffffffffffffffffffffffffffffffffffff811681146109fb57600080fd5b50565b65ffffffffffff811681146109fb57600080fd5b60008060408385031215610a2557600080fd5b8235610a30816109d9565b91506020830135610a40816109fe565b809150509250929050565b600060208284031215610a5d57600080fd5b5035919050565b600060208284031215610a7657600080fd5b813561058c816109fe565b600060208284031215610a9357600080fd5b6040516020810181811067ffffffffffffffff82111715610ab657610ab6610820565b6040528251610ac4816109d9565b81529392505050565b600181811c90821680610ae157607f821691505b602082108103610b1a577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b601f821115610b6c576000816000526020600020601f850160051c81016020861015610b495750805b601f850160051c820191505b81811015610b6857828155600101610b55565b5050505b505050565b815167ffffffffffffffff811115610b8b57610b8b610820565b610b9f81610b998454610acd565b84610b20565b602080601f831160018114610bf25760008415610bbc5750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b178555610b68565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b82811015610c3f57888601518255948401946001909101908401610c20565b5085821015610c7b57878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b600060208284031215610c9d57600080fd5b815161058c816109fe565b600060208284031215610cba57600080fd5b5051919050565b600060208284031215610cd357600080fd5b815167ffffffffffffffff811115610cea57600080fd5b8201601f81018413610cfb57600080fd5b8051610d0961092c8261089e565b818152856020838501011115610d1e57600080fd5b610d2f826020830160208601610964565b95945050505050565b6000808354610d4681610acd565b60018281168015610d5e5760018114610d9157610dc0565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0084168752821515830287019450610dc0565b8760005260208060002060005b85811015610db75781548a820152908401908201610d9e565b50505082870194505b50929695505050505050565b60008251610dde818460208701610964565b919091019291505056fea164736f6c6343000817000a", + "nonce": "0x2", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0xa2c340020ddc04f78300ebf8df186548b6059de0b391b00eef586c2cf62c5599", + "transactionIndex": "0x12", + "blockHash": "0x82d6c1acc2e2da4573490e749b1a7c0648306f34b65f72fa96f1a31f4005252f", + "blockNumber": "0x4d51c2", + "from": "0xb72276D9FF15c7998b9962FFCfB21A6C7249441B", + "to": null, + "cumulativeGasUsed": "0x2366bf", + "gasUsed": "0xcf1a9", + "contractAddress": "0x088C268cb00226D6A9b29e5488905Aa94D2f0239", + "logs": [ + { + "address": "0x088C268cb00226D6A9b29e5488905Aa94D2f0239", + "topics": [ + "0xc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2" + ], + "data": "0x000000000000000000000000000000000000000000000000ffffffffffffffff", + "blockHash": "0x82d6c1acc2e2da4573490e749b1a7c0648306f34b65f72fa96f1a31f4005252f", + "blockNumber": "0x4d51c2", + "transactionHash": "0xa2c340020ddc04f78300ebf8df186548b6059de0b391b00eef586c2cf62c5599", + "transactionIndex": "0x12", + "logIndex": "0x15", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000800000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000008000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xa420ff88d" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1704991820, + "chain": 11155111, + "multi": false, + "commit": "688208a" +} \ No newline at end of file diff --git a/broadcast/DeployLlamaTokenVotingFactory.s.sol/137/run-1704995454.json b/broadcast/DeployLlamaTokenVotingFactory.s.sol/137/run-1704995454.json new file mode 100644 index 0000000..33c17f3 --- /dev/null +++ b/broadcast/DeployLlamaTokenVotingFactory.s.sol/137/run-1704995454.json @@ -0,0 +1,75 @@ +{ + "transactions": [ + { + "hash": "0x19b19e75129fa926a9438b1850d352bf3ae201854528b2138e27217cf945ec0d", + "transactionType": "CREATE", + "contractName": "LlamaTokenGovernor", + "contractAddress": "0x3f3DAB3ab8cEc2FBd06767c2A5F66Cb6BFF21A4A", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0xb72276d9ff15c7998b9962ffcfb21a6c7249441b", + "gas": "0x6398ff", + "value": "0x0", + "data": "0x60806040523480156200001157600080fd5b506200001c62000022565b620000d6565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff1615620000735760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b0390811614620000d35780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b6159f880620000e66000396000f3fe608060405234801561001057600080fd5b50600436106101da5760003560e01c80637e4a56bb11610104578063b92cdd9a116100a2578063cae3bdff11610071578063cae3bdff1461053d578063dcae21b714610552578063e45061ea14610565578063e5589b9d1461057857600080fd5b8063b92cdd9a146104e4578063b9b2cf6c146104f7578063c193c2691461050a578063c26c12eb1461053557600080fd5b80638734852a116100de5780638734852a1461049857806396ff6e2e146104ab578063a1d9b412146104be578063b3c678b0146104d157600080fd5b80637e4a56bb1461046a5780637ed7238e14610472578063807ad1141461048557600080fd5b80633fed8f161161017c57806359e5332d1161014b57806359e5332d1461036457806364f6b3161461037b5780637186dd9c1461038e57806374f717cd1461044757600080fd5b80633fed8f16146103165780634d61ebf4146103365780634ec0ab1c1461033e578063509c5fbd1461035157600080fd5b806319a39740116101b857806319a397401461025b5780631e127ddf1461026e578063372fa8e8146102c25780633df91222146102d557600080fd5b80630669b1ce146101df57806311f900b5146101f45780631650080714610227575b600080fd5b6101f26101ed366004614a11565b61058b565b005b610207610202366004614a46565b610b79565b6040805161ffff9384168152929091166020830152015b60405180910390f35b61023a610235366004614ac0565b610b90565b6040516fffffffffffffffffffffffffffffffff909116815260200161021e565b6101f2610269366004614a46565b610baa565b6101f261027c366004614b82565b3360009081526007602090815260408083207fffffffff000000000000000000000000000000000000000000000000000000009490941683529290522080546001019055565b6101f26102d0366004614bbd565b610c75565b6102fe6102e3366004614a46565b6005602052600090815260409020546001600160a01b031681565b6040516001600160a01b03909116815260200161021e565b610329610324366004614c31565b610d76565b60405161021e9190614c53565b610207610f4e565b6101f261034c366004614ce2565b610f63565b61023a61035f366004614ac0565b611030565b61036d60025481565b60405190815260200161021e565b6000546102fe906001600160a01b031681565b6103fc61039c366004614a46565b6006602052600090815260409020805460018201546002909201546fffffffffffffffffffffffffffffffff8083169370010000000000000000000000000000000093849004821693818316939181900483169282811692919091041686565b604080516fffffffffffffffffffffffffffffffff978816815295871660208701529386169385019390935290841660608401528316608083015290911660a082015260c00161021e565b61045a610455366004614d23565b611040565b604051901515815260200161021e565b6103296110a9565b61036d610480366004614ea9565b61114c565b6001546102fe906001600160a01b031681565b6101f26104a6366004614f88565b611263565b61023a6104b9366004615066565b6114b5565b61023a6104cc366004615066565b6115c6565b61036d6104df366004615131565b6116c7565b6101f26104f2366004614a11565b61171c565b6101f2610505366004614ce2565b611726565b61036d6105183660046151e2565b600760209081526000928352604080842090915290825290205481565b6102076117ef565b6105456117fc565b60405161021e919061520e565b610545610560366004614c31565b61188f565b6101f2610573366004614a11565b611a4d565b610207610586366004614a46565b612026565b600080546040517fb6e76873000000000000000000000000000000000000000000000000000000008152833560048201526001600160a01b039091169063b6e768739060240161012060405180830381865afa1580156105ef573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061061391906152c8565b9050600060018260a0015161062891906153a6565b67ffffffffffffffff169050600160009054906101000a90046001600160a01b03166001600160a01b031663ae2a6df26040518163ffffffff1660e01b815260040160006040518083038186803b15801561068257600080fd5b505afa158015610696573d6000803e3d6000fd5b505050506000806000806106b485600461203490919063ffffffff16565b909250905060006106cb6080890160608a016153ce565b6001600160a01b031663b02bd9206040518163ffffffff1660e01b8152600401602060405180830381865afa158015610708573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061072c91906153eb565b67ffffffffffffffff16905061271061ffff8416820204818860c0015167ffffffffffffffff16030194506127108261ffff1682028161076e5761076e615406565b04850193508342116107ac576040517f038d8a6a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8660c0015167ffffffffffffffff1642106107f3576040517f08c8d62700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050843560009081526006602052604080822060015491517fcdfda4dd000000000000000000000000000000000000000000000000000000008152600481018690529092916001600160a01b03169063edb8ee5a90829063cdfda4dd90602401602060405180830381865afa158015610871573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108959190615435565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b16815265ffffffffffff9091166004820152602401602060405180830381865afa1580156108f0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610914919061545d565b600183015460028401549192506fffffffffffffffffffffffffffffffff7001000000000000000000000000000000009182900481169291820481169116600061095f60038a6121cd565b9150506000610975868361ffff166127106122d8565b905080856fffffffffffffffffffffffffffffffff1610156109e3576040517fbfb9aa550000000000000000000000000000000000000000000000000000000081526fffffffffffffffffffffffffffffffff86166004820152602481018290526044015b60405180910390fd5b836fffffffffffffffffffffffffffffffff16856fffffffffffffffffffffffffffffffff1611610a5c576040517f8a0df63f0000000000000000000000000000000000000000000000000000000081526fffffffffffffffffffffffffffffffff8087166004830152851660248201526044016109da565b6000610a7b8d6060016020810190610a7491906153ce565b600061231c565b905060008054906101000a90046001600160a01b03166001600160a01b03166394004706828f6040518363ffffffff1660e01b8152600401610abe9291906155b2565b6020604051808303816000875af1158015610add573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b0191906155e8565b50604080518e3581526fffffffffffffffffffffffffffffffff808916602083015280881692820192909252908516606082015260ff82169033907ff5bc433f16cc3d0e9fcb5ac4f8de9f17eb90de1fd2a9ede5952c2097d4ef1a59906080015b60405180910390a350505050505050505050505050565b600080610b87600484612034565b91509150915091565b6000610ba0338787878787612612565b9695505050505050565b60008054906101000a90046001600160a01b03166001600160a01b031663c34c08e56040518163ffffffff1660e01b8152600401602060405180830381865afa158015610bfb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c1f9190615603565b6001600160a01b0316336001600160a01b031614610c69576040517f26bee1ce00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610c7281612c5e565b50565b6000610c818686612e2e565b6040805160008082526020820180845284905260ff88169282019290925260608101869052608081018590529192509060019060a0016020604051602081039080840390855afa158015610cd9573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001519150506001600160a01b0381161580610d2c5750866001600160a01b0316816001600160a01b031614155b15610d63576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610d6d8187612f50565b50505050505050565b60408051602081019091526060815281831115610dbf576040517f2cd4dad300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60045480831115610dfc576040517f2cd4dad300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610e088585615620565b905060008167ffffffffffffffff811115610e2557610e25614d65565b604051908082528060200260200182016040528015610e8e57816020015b60408051606081018252600080825260208083018290529282015282527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff909201910181610e435790505b509050855b85811015610f34576004805482908110610eaf57610eaf615633565b600091825260209182902060408051606081018252919092015465ffffffffffff8116825261ffff660100000000000082048116948301949094526801000000000000000090049092169082015282610f088984615620565b81518110610f1857610f18615633565b6020026020010181905250610f2d8160010190565b9050610e93565b506040805160208101909152908152925050505b92915050565b600080610f5b6004613063565b915091509091565b60008054906101000a90046001600160a01b03166001600160a01b031663c34c08e56040518163ffffffff1660e01b8152600401602060405180830381865afa158015610fb4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fd89190615603565b6001600160a01b0316336001600160a01b031614611022576040517f26bee1ce00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61102c82826130db565b5050565b6000610ba03387878787876131cf565b60008115611077575060008381526006602090815260408083206001600160a01b038616845260030190915290205460ff166110a2565b5060008381526006602090815260408083206001600160a01b038616845260040190915290205460ff165b9392505050565b6040805160208101909152606081526040805160048054602081810284018501855283018181529293919284929091849160009085015b8282101561113f576000848152602090819020604080516060810182529185015465ffffffffffff8116835261ffff660100000000000082048116848601526801000000000000000090910416908201528252600190920191016110e0565b5050505081525050905090565b60008061115f8d8d8d8d8d8d8d8d613714565b6040805160008082526020820180845284905260ff89169282019290925260608101879052608081018690529192509060019060a0016020604051602081039080840390855afa1580156111b7573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001519150506001600160a01b038116158061120a57508d6001600160a01b0316816001600160a01b031614155b15611241576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611251818e8e8e8e8e8e8e613885565b9e9d5050505050505050505050505050565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000810460ff16159067ffffffffffffffff166000811580156112ae5750825b905060008267ffffffffffffffff1660011480156112cb5750303b155b9050811580156112d9575080155b15611310576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b84547fffffffffffffffffffffffffffffffffffffffffffffffff000000000000000016600117855583156113715784547fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff16680100000000000000001785555b886001600160a01b0316639bccfe496040518163ffffffff1660e01b8152600401602060405180830381865afa1580156113af573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113d3919061545d565b50600080546001600160a01b03808c167fffffffffffffffffffffffff00000000000000000000000000000000000000009283161790925560018054928b169290911691909117905561142587612c5e565b611437866000015187602001516130db565b61144986604001518760600151613b89565b83156114aa5784547fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b505050505050505050565b6000806114c68b8b8b8b8b8b613c26565b6040805160008082526020820180845284905260ff89169282019290925260608101879052608081018690529192509060019060a0016020604051602081039080840390855afa15801561151e573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001519150506001600160a01b038116158061157157508b6001600160a01b0316816001600160a01b031614155b156115a8576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6115b6818c8c8c8c8c6131cf565b9c9b505050505050505050505050565b6000806115d78b8b8b8b8b8b613d84565b6040805160008082526020820180845284905260ff89169282019290925260608101879052608081018690529192509060019060a0016020604051602081039080840390855afa15801561162f573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001519150506001600160a01b038116158061168257508b6001600160a01b0316816001600160a01b031614155b156116b9576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6115b6818c8c8c8c8c612612565b600061170f338a8a8a8a8a8a8a8a8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061388592505050565b9998505050505050505050565b610c723382612f50565b60008054906101000a90046001600160a01b03166001600160a01b031663c34c08e56040518163ffffffff1660e01b8152600401602060405180830381865afa158015611777573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061179b9190615603565b6001600160a01b0316336001600160a01b0316146117e5576040517f26bee1ce00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61102c8282613b89565b600080610f5b6003613063565b604080516020810190915260608152604080516003805460208082028401850185528301818152929391928492909184916000908501821561113f576000848152602090819020604080516060810182529185015465ffffffffffff8116835261ffff660100000000000082048116848601526801000000000000000090910416908201528252600190920191016110e0565b604080516020810190915260608152818311156118d8576040517f2cd4dad300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60035480831115611915576040517f2cd4dad300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006119218585615620565b905060008167ffffffffffffffff81111561193e5761193e614d65565b6040519080825280602002602001820160405280156119a757816020015b60408051606081018252600080825260208083018290529282015282527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90920191018161195c5790505b509050855b85811015610f345760038054829081106119c8576119c8615633565b600091825260209182902060408051606081018252919092015465ffffffffffff8116825261ffff660100000000000082048116948301949094526801000000000000000090049092169082015282611a218984615620565b81518110611a3157611a31615633565b6020026020010181905250611a468160010190565b90506119ac565b600080546040517fb6e76873000000000000000000000000000000000000000000000000000000008152833560048201526001600160a01b039091169063b6e768739060240161012060405180830381865afa158015611ab1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ad591906152c8565b9050600060018260a00151611aea91906153a6565b67ffffffffffffffff169050600160009054906101000a90046001600160a01b03166001600160a01b031663ae2a6df26040518163ffffffff1660e01b815260040160006040518083038186803b158015611b4457600080fd5b505afa158015611b58573d6000803e3d6000fd5b50505050600080600080611b7685600461203490919063ffffffff16565b90925090506000611b8d6080890160608a016153ce565b6001600160a01b0316637999762c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611bca573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bee91906153eb565b67ffffffffffffffff16905061271061ffff84168202048760a0015167ffffffffffffffff160194506127108261ffff16820281611c2e57611c2e615406565b0485019350834211611c6c576040517f038d8a6a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b808760a0015167ffffffffffffffff16611c869190615662565b421115611cbf576040517f08c8d62700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050843560009081526006602052604080822060015491517fcdfda4dd000000000000000000000000000000000000000000000000000000008152600481018690529092916001600160a01b03169063edb8ee5a90829063cdfda4dd90602401602060405180830381865afa158015611d3d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d619190615435565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b16815265ffffffffffff9091166004820152602401602060405180830381865afa158015611dbc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611de0919061545d565b825460018401549192506fffffffffffffffffffffffffffffffff808216928116917001000000000000000000000000000000009004166000611e2460038a6121cd565b5090506000611e3a868361ffff166127106122d8565b905080856fffffffffffffffffffffffffffffffff161015611ea3576040517f0425fab10000000000000000000000000000000000000000000000000000000081526fffffffffffffffffffffffffffffffff86166004820152602481018290526044016109da565b836fffffffffffffffffffffffffffffffff16856fffffffffffffffffffffffffffffffff1611611f1c576040517f8a0df63f0000000000000000000000000000000000000000000000000000000081526fffffffffffffffffffffffffffffffff8087166004830152851660248201526044016109da565b6000611f3b8d6060016020810190611f3491906153ce565b600161231c565b905060008054906101000a90046001600160a01b03166001600160a01b03166389e7d126828f6040518363ffffffff1660e01b8152600401611f7e9291906155b2565b6020604051808303816000875af1158015611f9d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fc191906155e8565b50604080518e3581526fffffffffffffffffffffffffffffffff808916602083015280881692820192909252908516606082015260ff82169033907ff23279e924757f3bfe4f543bc1b43685e851d6ace53f8518b806dcd8d42fc13990608001610b62565b600080610b876003846121cd565b6000804283106120c6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f506572696f64506374436865636b706f696e74733a2074696d657374616d702060448201527f6973206e6f7420696e207468652070617374000000000000000000000000000060648201526084016109da565b60006120d184613db3565b855490915060008160058111156121315760006120ed84613dfc565b6120f79085615620565b60008a81526020902090915081015465ffffffffffff90811690861610156121215780915061212f565b61212c816001615662565b92505b505b600061213f89868585613eae565b90508060000361215a576000809650965050505050506121c6565b60006121798a61216b600185615620565b600091825260209091200190565b60408051606081018252915465ffffffffffff8116835261ffff66010000000000008204811660208501819052680100000000000000009092041692909101829052985096505050505050505b9250929050565b60008042831061225f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602f60248201527f51756f72756d436865636b706f696e74733a2074696d657374616d702069732060448201527f6e6f7420696e207468652070617374000000000000000000000000000000000060648201526084016109da565b600061226a84613db3565b855490915060008160058111156122ca57600061228684613dfc565b6122909085615620565b60008a81526020902090915081015465ffffffffffff90811690861610156122ba578091506122c8565b6122c5816001615662565b92505b505b600061213f89868585613f10565b6000827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048411830215820261230d57600080fd5b50910281810615159190040190565b60008054604080517f0505c8c9000000000000000000000000000000000000000000000000000000008152905183926001600160a01b031691630505c8c99160048083019260209291908290030181865afa15801561237f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123a39190615603565b6001600160a01b0316638b2ed3886040518163ffffffff1660e01b8152600401602060405180830381865afa1580156123e0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124049190615675565b905060015b8160ff16811161253b57836124a1576040517fc167ebae00000000000000000000000000000000000000000000000000000000815260ff821660048201526001600160a01b0386169063c167ebae90602401602060405180830381865afa158015612478573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061249c9190615692565b612525565b6040517ffb847c4300000000000000000000000000000000000000000000000000000000815260ff821660048201526001600160a01b0386169063fb847c4390602401602060405180830381865afa158015612501573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125259190615692565b15612533579150610f489050565b600101612409565b50826125a857836001600160a01b03166312a52f006040518163ffffffff1660e01b8152600401602060405180830381865afa15801561257f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125a39190615675565b61260a565b836001600160a01b03166366cacdc96040518163ffffffff1660e01b8152600401602060405180830381865afa1580156125e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061260a9190615675565b949350505050565b600080546040517fb6e768730000000000000000000000000000000000000000000000000000000081528635600482015282916001600160a01b03169063b6e768739060240161012060405180830381865afa158015612676573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061269a91906152c8565b9050600060018260a001516126af91906153a6565b8735600090815260066020526040902067ffffffffffffffff9190911691506126de6080890160608a016153ce565b6001600160a01b03166302674e4b89308c6040518463ffffffff1660e01b815260040161270d939291906156af565b60006040518083038186803b15801561272557600080fd5b505afa158015612739573d6000803e3d6000fd5b505050506001600160a01b038a16600090815260048201602052604090205460ff1615612792576040517f9dd6544b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6127a0888a89600486613f6a565b60008080806127b0600487612034565b909250905060006127c760808e0160608f016153ce565b6001600160a01b031663b02bd9206040518163ffffffff1660e01b8152600401602060405180830381865afa158015612804573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061282891906153eb565b67ffffffffffffffff16905061271061ffff8416820204818960c0015167ffffffffffffffff16030194506127108261ffff1682028161286a5761286a615406565b04850193508442116128a8576040517fd0b72b4900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b834211156128e2576040517f5b73d19300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050506000612a25600160009054906101000a90046001600160a01b03166001600160a01b0316639556de738f600160009054906101000a90046001600160a01b03166001600160a01b031663cdfda4dd886040518263ffffffff1660e01b815260040161295291815260200190565b602060405180830381865afa15801561296f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906129939190615435565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b1681526001600160a01b03909216600483015265ffffffffffff166024820152604401602060405180830381865afa1580156129fc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a20919061545d565b61425e565b905060ff8a16612a9e576002840154612a649070010000000000000000000000000000000090046fffffffffffffffffffffffffffffffff16826142ad565b6002850180546fffffffffffffffffffffffffffffffff928316700100000000000000000000000000000000029216919091179055612bc6565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60ff8b1601612b37576001840154612afd9070010000000000000000000000000000000090046fffffffffffffffffffffffffffffffff16826142ad565b6001850180546fffffffffffffffffffffffffffffffff928316700100000000000000000000000000000000029216919091179055612bc6565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe60ff8b1601612bc6576002840154612b82906fffffffffffffffffffffffffffffffff16826142ad565b6002850180547fffffffffffffffffffffffffffffffff00000000000000000000000000000000166fffffffffffffffffffffffffffffffff929092169190911790555b6001600160a01b038d1660008181526004860160205260409081902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790555160ff8c1691907f4e3e2ad68670a2709cb408c31c5afd8da0b6d3d06c75b11feb404a455639fe7c90612c46908f359086908f908f90615713565b60405180910390a39c9b505050505050505050505050565b60018054604080517f91ddadf400000000000000000000000000000000000000000000000000000000815290516000936001600160a01b039093169263edb8ee5a92909184916391ddadf49160048083019260209291908290030181865afa158015612cce573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612cf29190615435565b612cfc9190615745565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b16815265ffffffffffff9091166004820152602401602060405180830381865afa158015612d57573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612d7b919061545d565b905080600003612db7576040517f34bbd58500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80821115612df1576040517f8a5e746800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60028290556040518281527fd91a985c173545ab0e0bd11c021a1ae84c1ea6eab9350d9bf3812d5b8bff49a4906020015b60405180910390a15050565b6000807f6da9390b4f29da2c44fa5a9da00b392393d01e989d16e4a3dec5a538318e352584612e5c856142f4565b6001600160a01b03871660009081526007602090815260408083207fffffffff00000000000000000000000000000000000000000000000000000000843516845290915290208054600181019091556040805160208101959095526001600160a01b03909316928401929092526060830152608082015260a001604051602081830303815290604052805190602001209050612ef66143eb565b6040517f190100000000000000000000000000000000000000000000000000000000000060208201526022810191909152604281018290526062016040516020818303038152906040528051906020012091505092915050565b80356000908152600560205260409020546001600160a01b03838116911614612fa5576040517f86ba025600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000546040517fb92cdd9a0000000000000000000000000000000000000000000000000000000081526001600160a01b039091169063b92cdd9a90612fee908490600401615764565b600060405180830381600087803b15801561300857600080fd5b505af115801561301c573d6000803e3d6000fd5b5050604051833581526001600160a01b03851692507fdcccc5725b7256a6975da00de8953e5d326756a3079d203ff6df9e52331f411a915060200160405180910390a25050565b8054600090819080820361307d5750600093849350915050565b600061308e8561216b600185615620565b60408051606081018252915465ffffffffffff8116835261ffff66010000000000008204811660208501819052680100000000000000009092041692909101829052969095509350505050565b6127108261ffff1611806130f1575061ffff8216155b1561312e576040517f8f6febc000000000000000000000000000000000000000000000000000000000815261ffff831660048201526024016109da565b6127108161ffff161180613144575061ffff8116155b15613181576040517f3bec511c00000000000000000000000000000000000000000000000000000000815261ffff821660048201526024016109da565b613194600361ffff80851690841661454d565b6040805161ffff8085168252831660208201527f77c3f43700db02acb49792bbf699b39f72c2ed4b920bd5c0b1843dcd7c832f4c9101612e22565b600080546040517fb6e768730000000000000000000000000000000000000000000000000000000081528635600482015282916001600160a01b03169063b6e768739060240161012060405180830381865afa158015613233573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061325791906152c8565b9050600060018260a0015161326c91906153a6565b8735600090815260066020526040902067ffffffffffffffff91909116915061329b6080890160608a016153ce565b6001600160a01b0316631a2a4e7789308c6040518463ffffffff1660e01b81526004016132ca939291906156af565b60006040518083038186803b1580156132e257600080fd5b505afa1580156132f6573d6000803e3d6000fd5b505050506001600160a01b038a16600090815260038201602052604090205460ff161561334f576040517f9dd6544b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61335d888a89600086613f6a565b600080808061336d600487612034565b9092509050600061338460808e0160608f016153ce565b6001600160a01b0316637999762c6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156133c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906133e591906153eb565b67ffffffffffffffff16905061271061ffff84168202048860a0015167ffffffffffffffff160194506127108261ffff1682028161342557613425615406565b0485019350844211613463576040517fd0b72b4900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8342111561349d576040517f5b73d19300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050600061350d600160009054906101000a90046001600160a01b03166001600160a01b0316639556de738f600160009054906101000a90046001600160a01b03166001600160a01b031663cdfda4dd886040518263ffffffff1660e01b815260040161295291815260200190565b905060ff8a16613580576001840154613538906fffffffffffffffffffffffffffffffff16826142ad565b6001850180547fffffffffffffffffffffffffffffffff00000000000000000000000000000000166fffffffffffffffffffffffffffffffff92909216919091179055613694565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60ff8b16016136095783546135c8906fffffffffffffffffffffffffffffffff16826142ad565b84547fffffffffffffffffffffffffffffffff00000000000000000000000000000000166fffffffffffffffffffffffffffffffff91909116178455613694565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe60ff8b16016136945783546136659070010000000000000000000000000000000090046fffffffffffffffffffffffffffffffff16826142ad565b84546fffffffffffffffffffffffffffffffff9182167001000000000000000000000000000000000291161784555b6001600160a01b038d1660008181526003860160205260409081902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790555160ff8c1691907f761cce3a1af5d9cfc0d57222f605ce4bd2be345f0ad9ebb7b83a84a91a0c201490612c46908f359086908f908f90615713565b6001600160a01b03881660009081526007602090815260408083207fffffffff000000000000000000000000000000000000000000000000000000008435168452909152812080546001810190915560007fd1fab1c7b3b37134662e5867b00e272eb49f7be0a890df29e802c3cc66c06f838b8b8b8b8b8b8b60405161379b929190615777565b604080519182900382208c516020808f0191909120908401999099526001600160a01b039788169183019190915260ff90951660608201529285166080840152931660a082015260c081019290925260e08201526101008101919091526101208101839052610140016040516020818303038152906040528051906020012090506138246143eb565b6040517f19010000000000000000000000000000000000000000000000000000000000006020820152602281019190915260428101829052606201604051602081830303815290604052805190602001209250505098975050505050505050565b600154604080517fae2a6df200000000000000000000000000000000000000000000000000000000815290516000926001600160a01b03169163ae2a6df29160048083019286929190829003018186803b1580156138e257600080fd5b505afa1580156138f6573d6000803e3d6000fd5b505060018054604080517f91ddadf40000000000000000000000000000000000000000000000000000000081529051600095506001600160a01b039092169350639556de73928e92909185916391ddadf4916004808201926020929091908290030181865afa15801561396d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906139919190615435565b61399b9190615745565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b1681526001600160a01b03909216600483015265ffffffffffff166024820152604401602060405180830381865afa158015613a04573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613a28919061545d565b9050600254811015613a69576040517f92665351000000000000000000000000000000000000000000000000000000008152600481018290526024016109da565b6000546040517fb3c678b00000000000000000000000000000000000000000000000000000000081526001600160a01b039091169063b3c678b090613abe908c908c908c908c908c908c908c906004016157ab565b6020604051808303816000875af1158015613add573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613b01919061545d565b60008181526005602090815260409182902080547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b038f16908117909155915183815292945090917f1834dfd49255741a8ce9a9bd66b91b64d13622e1d8170e4c78ac91f9ec50a542910160405180910390a25098975050505050505050565b612710613b96828461583b565b61ffff1610613bdf576040517f519dd38400000000000000000000000000000000000000000000000000000000815261ffff8084166004830152821660248201526044016109da565b613beb60048383614576565b6040805161ffff8085168252831660208201527f8df7bdcce333d9e1b85e40782fb2f293c805761d3f48aaea58865e9541e44c709101612e22565b6000807fd7be168a3509af358f222ee35ee76aba47bc5fc2c35061cdce3958f510b7b1b28888613c55896142f4565b888888604051613c66929190615777565b60408051918290039091206001600160a01b038f166000908152600760209081528382207fffffffff0000000000000000000000000000000000000000000000000000000083351683529052919091208054600181019091556040805160208101989098526001600160a01b039096169587019590955260ff938416606087015260808601929092529190911660a084015260c083015260e082015261010001604051602081830303815290604052805190602001209050613d266143eb565b6040517f19010000000000000000000000000000000000000000000000000000000000006020820152602281019190915260428101829052606201604051602081830303815290604052805190602001209150509695505050505050565b6000807fa87058c5a9888e7af4405a932381d5a4612c61354bc3e52e9ea361ba17703fb38888613c55896142f4565b600065ffffffffffff821115613df8576040517fc0188c4f000000000000000000000000000000000000000000000000000000008152600481018390526024016109da565b5090565b60b581710100000000000000000000000000000000008110613e235760409190911b9060801c5b69010000000000000000008110613e3f5760209190911b9060401c5b650100000000008110613e575760109190911b9060201c5b63010000008110613e6d5760089190911b9060101c5b62010000010260121c80820401600190811c80830401811c80830401811c80830401811c80830401811c80830401811c80830401901c908190048111900390565b60005b81831015613f08576000613ec584846145a2565b60008781526020902090915065ffffffffffff86169082015465ffffffffffff161115613ef457809250613f02565b613eff816001615662565b93505b50613eb1565b509392505050565b60005b81831015613f08576000613f2784846145a2565b60008781526020902090915065ffffffffffff86169082015465ffffffffffff161115613f5657809250613f64565b613f61816001615662565b93505b50613f13565b600260ff84161115613fad576040517ffe0e5d8b00000000000000000000000000000000000000000000000000000000815260ff841660048201526024016109da565b600080546040517fec12d8be0000000000000000000000000000000000000000000000000000000081526001600160a01b039091169063ec12d8be90613ff7908990600401615764565b602060405180830381865afa158015614014573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906140389190615675565b60ff16600681111561404c5761404c6156e4565b9050826006811115614060576140606156e4565b816006811115614072576140726156e4565b146140ab57806040517f87afe58e0000000000000000000000000000000000000000000000000000000081526004016109da9190615856565b60008060009054906101000a90046001600160a01b03166001600160a01b0316630505c8c96040518163ffffffff1660e01b8152600401602060405180830381865afa1580156140ff573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906141239190615603565b6040517fe0bec07600000000000000000000000000000000000000000000000000000000815230600482015260ff88166024820152604481018590526001600160a01b03919091169063e0bec07690606401602060405180830381865afa158015614192573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906141b69190615692565b9050806141ef576040517f88aebd1200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600160009054906101000a90046001600160a01b03166001600160a01b031663ae2a6df26040518163ffffffff1660e01b815260040160006040518083038186803b15801561423d57600080fd5b505afa158015614251573d6000803e3d6000fd5b5050505050505050505050565b60006fffffffffffffffffffffffffffffffff821115613df8576040517fc0188c4f000000000000000000000000000000000000000000000000000000008152600481018390526024016109da565b60006fffffffffffffffffffffffffffffffff6142ce838216858316615662565b106142ea57506fffffffffffffffffffffffffffffffff610f48565b6110a28284615897565b60007f86b4555c6e347ea3f038485b59b894986c208b67da7e65fcfa3707271608465f823561432960408501602086016153ce565b61433960608601604087016158c0565b61434960808701606088016153ce565b61435960a08801608089016153ce565b60a088013561436b60c08a018a6158dd565b604051614379929190615777565b6040805191829003822060208301999099528101969096526001600160a01b03948516606087015260ff909316608086015290831660a08501529190911660c083015260e082015261010081019190915261012001604051602081830303815290604052805190602001209050919050565b60008054604080517f06fdde0300000000000000000000000000000000000000000000000000000000815290517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f926001600160a01b0316916306fdde0391600480830192879291908290030181865afa15801561446d573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526144b39190810190615942565b8051602091820120604080518082018252600181527f310000000000000000000000000000000000000000000000000000000000000090840152805192830193909352918101919091527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a082015260c00160405160208183030381529060405280519060200120905090565b6145718361455a42613db3565b614563856145bd565b61456c856145bd565b6145fe565b505050565b6145718361458342613db3565b6145908561ffff166145bd565b61459d8561ffff166145bd565b614909565b60006145b160028484186159b0565b6110a290848416615662565b600061ffff821115613df8576040517fc0188c4f000000000000000000000000000000000000000000000000000000008152600481018390526024016109da565b835480156148475760006146178661216b600185615620565b60408051606081018252915465ffffffffffff80821680855261ffff66010000000000008404811660208701526801000000000000000090930490921692840192909252919250861610156146ed576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f51756f72756d20436865636b706f696e743a20696e76616c69642074696d657360448201527f74616d700000000000000000000000000000000000000000000000000000000060648201526084016109da565b805165ffffffffffff8087169116036147865760006147118761216b600186615620565b805461ffff86811668010000000000000000027fffffffffffffffffffffffffffffffffffffffffffff0000ffffffffffffffff918916660100000000000002919091167fffffffffffffffffffffffffffffffffffffffffffff00000000ffffffffffff9092169190911717905550614841565b6040805160608101825265ffffffffffff808816825261ffff80881660208085019182528883169585019586528b54600181018d5560008d81529190912094519401805491519551831668010000000000000000027fffffffffffffffffffffffffffffffffffffffffffff0000ffffffffffffffff969093166601000000000000027fffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000909216949093169390931792909217929092161790555b50614902565b6040805160608101825265ffffffffffff808716825261ffff80871660208085019182528783169585019586528a54600181018c5560008c81529190912094519401805491519551831668010000000000000000027fffffffffffffffffffffffffffffffffffffffffffff0000ffffffffffffffff969093166601000000000000027fffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000909216949093169390931792909217929092161790555b5050505050565b835480156148475760006149228661216b600185615620565b60408051606081018252915465ffffffffffff80821680855261ffff66010000000000008404811660208701526801000000000000000090930490921692840192909252919250861610156146ed576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602860248201527f506572696f642050637420436865636b706f696e743a20696e76616c6964207460448201527f696d657374616d7000000000000000000000000000000000000000000000000060648201526084016109da565b600060e08284031215614a0b57600080fd5b50919050565b600060208284031215614a2357600080fd5b813567ffffffffffffffff811115614a3a57600080fd5b61260a848285016149f9565b600060208284031215614a5857600080fd5b5035919050565b60ff81168114610c7257600080fd5b8035614a7981614a5f565b919050565b60008083601f840112614a9057600080fd5b50813567ffffffffffffffff811115614aa857600080fd5b6020830191508360208285010111156121c657600080fd5b600080600080600060808688031215614ad857600080fd5b8535614ae381614a5f565b9450602086013567ffffffffffffffff80821115614b0057600080fd5b614b0c89838a016149f9565b955060408801359150614b1e82614a5f565b90935060608701359080821115614b3457600080fd5b50614b4188828901614a7e565b969995985093965092949392505050565b80357fffffffff0000000000000000000000000000000000000000000000000000000081168114614a7957600080fd5b600060208284031215614b9457600080fd5b6110a282614b52565b6001600160a01b0381168114610c7257600080fd5b8035614a7981614b9d565b600080600080600060a08688031215614bd557600080fd5b8535614be081614b9d565b9450602086013567ffffffffffffffff811115614bfc57600080fd5b614c08888289016149f9565b9450506040860135614c1981614a5f565b94979396509394606081013594506080013592915050565b60008060408385031215614c4457600080fd5b50508035926020909101359150565b60208082528251828201829052805160408401819052600092916060919083019082860190855b81811015614cc357614cb3838551805165ffffffffffff16825260208082015161ffff9081169184019190915260409182015116910152565b9285019291840191600101614c7a565b5090979650505050505050565b803561ffff81168114614a7957600080fd5b60008060408385031215614cf557600080fd5b614cfe83614cd0565b9150614d0c60208401614cd0565b90509250929050565b8015158114610c7257600080fd5b600080600060608486031215614d3857600080fd5b833592506020840135614d4a81614b9d565b91506040840135614d5a81614d15565b809150509250925092565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051610120810167ffffffffffffffff81118282101715614db857614db8614d65565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715614e0557614e05614d65565b604052919050565b600067ffffffffffffffff821115614e2757614e27614d65565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b600082601f830112614e6457600080fd5b8135614e77614e7282614e0d565b614dbe565b818152846020838601011115614e8c57600080fd5b816020850160208301376000918101602001919091529392505050565b60008060008060008060008060008060006101408c8e031215614ecb57600080fd5b614ed48c614bb2565b9a50614ee260208d01614a6e565b9950614ef060408d01614bb2565b9850614efe60608d01614bb2565b975060808c0135965067ffffffffffffffff8060a08e01351115614f2157600080fd5b614f318e60a08f01358f01614a7e565b909750955060c08d0135811015614f4757600080fd5b50614f588d60c08e01358e01614e53565b9350614f6660e08d01614a6e565b92506101008c013591506101208c013590509295989b509295989b9093969950565b60008060008084860360e0811215614f9f57600080fd5b8535614faa81614b9d565b94506020860135614fba81614b9d565b93506040860135925060807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa082011215614ff357600080fd5b506040516080810181811067ffffffffffffffff8211171561501757615017614d65565b60405261502660608701614cd0565b815261503460808701614cd0565b602082015261504560a08701614cd0565b604082015261505660c08701614cd0565b6060820152939692955090935050565b60008060008060008060008060006101008a8c03121561508557600080fd5b893561509081614b9d565b985060208a01356150a081614a5f565b975060408a013567ffffffffffffffff808211156150bd57600080fd5b6150c98d838e016149f9565b985060608c013591506150db82614a5f565b90965060808b013590808211156150f157600080fd5b506150fe8c828d01614a7e565b90965094505060a08a013561511281614a5f565b8093505060c08a0135915060e08a013590509295985092959850929598565b60008060008060008060008060c0898b03121561514d57600080fd5b883561515881614a5f565b9750602089013561516881614b9d565b9650604089013561517881614b9d565b955060608901359450608089013567ffffffffffffffff8082111561519c57600080fd5b6151a88c838d01614a7e565b909650945060a08b01359150808211156151c157600080fd5b506151ce8b828c01614a7e565b999c989b5096995094979396929594505050565b600080604083850312156151f557600080fd5b823561520081614b9d565b9150614d0c60208401614b52565b60208082528251828201829052805160408401819052600092916060919083019082860190855b81811015614cc35761526e838551805165ffffffffffff16825260208082015161ffff9081169184019190915260409182015116910152565b9285019291840191600101615235565b8051614a7981614d15565b8051614a7981614b9d565b805167ffffffffffffffff81168114614a7957600080fd5b80516bffffffffffffffffffffffff81168114614a7957600080fd5b600061012082840312156152db57600080fd5b6152e3614d94565b825181526152f36020840161527e565b60208201526153046040840161527e565b60408201526153156060840161527e565b606082015261532660808401615289565b608082015261533760a08401615294565b60a082015261534860c08401615294565b60c082015261535960e084016152ac565b60e082015261010061536c8185016152ac565b908201529392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b67ffffffffffffffff8281168282160390808211156153c7576153c7615377565b5092915050565b6000602082840312156153e057600080fd5b81356110a281614b9d565b6000602082840312156153fd57600080fd5b6110a282615294565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006020828403121561544757600080fd5b815165ffffffffffff811681146110a257600080fd5b60006020828403121561546f57600080fd5b5051919050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b80358252600060208201356154d381614b9d565b6001600160a01b0390811660208501526040830135906154f282614a5f565b60ff821660408601526060840135915061550b82614b9d565b908116606085015260808301359061552282614b9d565b16608084015260a0828101359084015260c0820135368390037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe101811261556857600080fd5b820160208101903567ffffffffffffffff81111561558557600080fd5b80360382131561559457600080fd5b60e060c08601526155a960e086018284615476565b95945050505050565b60ff831681526060602082015260006155ce60608301846154bf565b828103604084015260008152602081019150509392505050565b6000602082840312156155fa57600080fd5b6110a2826152ac565b60006020828403121561561557600080fd5b81516110a281614b9d565b81810381811115610f4857610f48615377565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b80820180821115610f4857610f48615377565b60006020828403121561568757600080fd5b81516110a281614a5f565b6000602082840312156156a457600080fd5b81516110a281614d15565b6060815260006156c260608301866154bf565b90506001600160a01b038416602083015260ff83166040830152949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b8481526fffffffffffffffffffffffffffffffff84166020820152606060408201526000610ba0606083018486615476565b65ffffffffffff8281168282160390808211156153c7576153c7615377565b6020815260006110a260208301846154bf565b8183823760009101908152919050565b60005b838110156157a257818101518382015260200161578a565b50506000910152565b60ff8816815260006001600160a01b03808916602084015280881660408401525085606083015260c060808301526157e760c083018587615476565b82810360a08401528351808252615805816020840160208801615787565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016016020019998505050505050505050565b61ffff8181168382160190808211156153c7576153c7615377565b6020810160078310615891577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b91905290565b6fffffffffffffffffffffffffffffffff8181168382160190808211156153c7576153c7615377565b6000602082840312156158d257600080fd5b81356110a281614a5f565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261591257600080fd5b83018035915067ffffffffffffffff82111561592d57600080fd5b6020019150368190038213156121c657600080fd5b60006020828403121561595457600080fd5b815167ffffffffffffffff81111561596b57600080fd5b8201601f8101841361597c57600080fd5b805161598a614e7282614e0d565b81815285602083850101111561599f57600080fd5b6155a9826020830160208601615787565b6000826159e6577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b50049056fea164736f6c6343000817000a", + "nonce": "0x0", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x6af00c50502d670318f0aedb054e2d84f3e8994fa1f51cf665dfaff144243033", + "transactionType": "CREATE", + "contractName": "LlamaTokenVotingFactory", + "contractAddress": "0xFBE17545dffD75A92A5A72926AE581478973FE65", + "function": null, + "arguments": [ + "0x3f3DAB3ab8cEc2FBd06767c2A5F66Cb6BFF21A4A" + ], + "transaction": { + "type": "0x02", + "from": "0xb72276d9ff15c7998b9962ffcfb21a6c7249441b", + "gas": "0xc9127", + "value": "0x0", + "data": "0x60a060405234801561001057600080fd5b50604051610b16380380610b1683398101604081905261002f91610040565b6001600160a01b0316608052610070565b60006020828403121561005257600080fd5b81516001600160a01b038116811461006957600080fd5b9392505050565b608051610a8561009160003960008181604001526104390152610a856000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c806321618ea41461003b5780633ec857a51461008b575b600080fd5b6100627f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b61006261009936600461087b565b600080338360000151846040015185606001516040516020016100bf9493929190610959565b60405160208183030381529060405280519060200120905060006100e7846020015183610622565b60408086015190517f439fab9100000000000000000000000000000000000000000000000000000000815291925073ffffffffffffffffffffffffffffffffffffffff83169163439fab919161013f916004016109b9565b6020604051808303816000875af115801561015e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101829190610a0a565b50600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1663fc0c546a6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156101e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061020a9190610a33565b73ffffffffffffffffffffffffffffffffffffffff1603610257576040517f65f5b03400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517fcdfda4dd00000000000000000000000000000000000000000000000000000000815242600482015273ffffffffffffffffffffffffffffffffffffffff82169063cdfda4dd90602401602060405180830381865afa1580156102c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102e59190610a50565b65ffffffffffff16600003610326576040517f65f5b03400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff166391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865afa158015610371573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103959190610a50565b65ffffffffffff166000036103d6576040517f65f5b03400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1663ae2a6df26040518163ffffffff1660e01b815260040160006040518083038186803b15801561041c57600080fd5b505afa158015610430573d6000803e3d6000fd5b5050505061045e7f000000000000000000000000000000000000000000000000000000000000000083610622565b8451608086015160a0870151604080517f8734852a00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff948516600482015286851660248201526044810193909352815161ffff908116606485015260208301518116608485015290820151811660a48401526060909101511660c4820152919450841690638734852a9060e401600060405180830381600087803b15801561051757600080fd5b505af115801561052b573d6000803e3d6000fd5b505050508073ffffffffffffffffffffffffffffffffffffffff1663fc0c546a6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561057a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061059e9190610a33565b84516020808701516060808901516040805173ffffffffffffffffffffffffffffffffffffffff94851681528885169581019590955284015287821690830152466080830152928316929091169033907f4c8bb78cb1c62e64cef39fc4b4a1864d1a331a28c7bd59a67fe969cc8ab715879060a00160405180910390a45050919050565b6000763d602d80600a3d3981f3363d3d373d3d3d363d730000008360601b60e81c176000526e5af43d82803e903d91602b57fd5bf38360781b1760205281603760096000f5905073ffffffffffffffffffffffffffffffffffffffff81166106b6576040517fc2f868f400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405160c0810167ffffffffffffffff8111828210171561070e5761070e6106bc565b60405290565b73ffffffffffffffffffffffffffffffffffffffff8116811461073657600080fd5b50565b600082601f83011261074a57600080fd5b813567ffffffffffffffff80821115610765576107656106bc565b604051601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011681019082821181831017156107ab576107ab6106bc565b816040528381528660208588010111156107c457600080fd5b836020870160208301376000602085830101528094505050505092915050565b803561ffff811681146107f657600080fd5b919050565b60006080828403121561080d57600080fd5b6040516080810181811067ffffffffffffffff82111715610830576108306106bc565b60405290508061083f836107e4565b815261084d602084016107e4565b602082015261085e604084016107e4565b604082015261086f606084016107e4565b60608201525092915050565b60006020828403121561088d57600080fd5b813567ffffffffffffffff808211156108a557600080fd5b9083019061012082860312156108ba57600080fd5b6108c26106eb565b82356108cd81610714565b815260208301356108dd81610714565b60208201526040830135828111156108f457600080fd5b61090087828601610739565b60408301525060608301356060820152608083013560808201526109278660a085016107fb565b60a082015295945050505050565b60005b83811015610950578181015183820152602001610938565b50506000910152565b60007fffffffffffffffffffffffffffffffffffffffff000000000000000000000000808760601b168352808660601b1660148401525083516109a3816028850160208801610935565b6028920191820192909252604801949350505050565b60208152600082518060208401526109d8816040850160208701610935565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169190910160400192915050565b600060208284031215610a1c57600080fd5b81518015158114610a2c57600080fd5b9392505050565b600060208284031215610a4557600080fd5b8151610a2c81610714565b600060208284031215610a6257600080fd5b815165ffffffffffff81168114610a2c57600080fdfea164736f6c6343000817000a0000000000000000000000003f3dab3ab8cec2fbd06767c2a5f66cb6bff21a4a", + "nonce": "0x1", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x71b3ec150c66d85d30be3dc9ad3d2626f47970af2188bfc437e787daf1d5152f", + "transactionType": "CREATE", + "contractName": "LlamaTokenAdapterVotesTimestamp", + "contractAddress": "0x088C268cb00226D6A9b29e5488905Aa94D2f0239", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0xb72276d9ff15c7998b9962ffcfb21a6c7249441b", + "gas": "0x10d28c", + "value": "0x0", + "data": "0x608060405234801561001057600080fd5b5061001961001e565b6100d0565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff161561006e5760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b03908116146100cd5780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b610df5806100df6000396000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c8063ae2a6df21161005b578063ae2a6df21461010a578063cdfda4dd14610114578063edb8ee5a14610127578063fc0c546a1461013a57600080fd5b8063439fab911461008d5780634bf5d7e9146100b557806391ddadf4146100ca5780639556de73146100e9575b600080fd5b6100a061009b3660046108e4565b61017f565b60405190151581526020015b60405180910390f35b6100bd6103a1565b6040516100ac9190610988565b6100d261042f565b60405165ffffffffffff90911681526020016100ac565b6100fc6100f7366004610a12565b6104e9565b6040519081526020016100ac565b610112610593565b005b6100d2610122366004610a4b565b6105ef565b6100fc610135366004610a64565b610600565b60005461015a9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100ac565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0080546000919068010000000000000000810460ff16159067ffffffffffffffff1683811580156101cd5750825b905060008267ffffffffffffffff1660011480156101ea5750303b155b9050811580156101f8575080155b1561022f576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b84547fffffffffffffffffffffffffffffffffffffffffffffffff000000000000000016600117855583156102905784547fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff16680100000000000000001785555b6000878060200190518101906102a69190610a81565b8051600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff90921691909117905560408051808201909152600e81527f6d6f64653d74696d657374616d7000000000000000000000000000000000000060208201529091506001906103309082610b71565b50600196505083156103975784547fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b5050505050919050565b600180546103ae90610acd565b80601f01602080910402602001604051908101604052809291908181526020018280546103da90610acd565b80156104275780601f106103fc57610100808354040283529160200191610427565b820191906000526020600020905b81548152906001019060200180831161040a57829003601f168201915b505050505081565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156104d7575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682019092526104d491810190610c8b565b60015b6104e4576104e44261069b565b905090565b600080546040517f3a46b1a800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff858116600483015265ffffffffffff8516602483015290911690633a46b1a890604401602060405180830381865afa158015610568573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061058c9190610ca8565b9392505050565b600061059d6106e8565b905060006105a9610712565b905081806105b45750805b156105eb576040517f6ff0714000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050565b60006105fa8261069b565b92915050565b600080546040517f8e539e8c00000000000000000000000000000000000000000000000000000000815265ffffffffffff8416600482015273ffffffffffffffffffffffffffffffffffffffff90911690638e539e8c90602401602060405180830381865afa158015610677573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105fa9190610ca8565b600065ffffffffffff8211156106e4576040517fc0188c4f0000000000000000000000000000000000000000000000000000000081526004810183905260240160405180910390fd5b5090565b60006106f34261069b565b65ffffffffffff1661070361042f565b65ffffffffffff161415905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16634bf5d7e96040518163ffffffff1660e01b8152600401600060405180830381865afa9250505080156107bf57506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526107bc9190810190610cc1565b60015b6107c95750600090565b60016040516020016107db9190610d38565b60405160208183030381529060405280519060200120816040516020016108029190610dcc565b60405160208183030381529060405280519060200120141591505090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff8111828210171561089657610896610820565b604052919050565b600067ffffffffffffffff8211156108b8576108b8610820565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b6000602082840312156108f657600080fd5b813567ffffffffffffffff81111561090d57600080fd5b8201601f8101841361091e57600080fd5b803561093161092c8261089e565b61084f565b81815285602083850101111561094657600080fd5b81602084016020830137600091810160200191909152949350505050565b60005b8381101561097f578181015183820152602001610967565b50506000910152565b60208152600082518060208401526109a7816040850160208701610964565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169190910160400192915050565b73ffffffffffffffffffffffffffffffffffffffff811681146109fb57600080fd5b50565b65ffffffffffff811681146109fb57600080fd5b60008060408385031215610a2557600080fd5b8235610a30816109d9565b91506020830135610a40816109fe565b809150509250929050565b600060208284031215610a5d57600080fd5b5035919050565b600060208284031215610a7657600080fd5b813561058c816109fe565b600060208284031215610a9357600080fd5b6040516020810181811067ffffffffffffffff82111715610ab657610ab6610820565b6040528251610ac4816109d9565b81529392505050565b600181811c90821680610ae157607f821691505b602082108103610b1a577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b601f821115610b6c576000816000526020600020601f850160051c81016020861015610b495750805b601f850160051c820191505b81811015610b6857828155600101610b55565b5050505b505050565b815167ffffffffffffffff811115610b8b57610b8b610820565b610b9f81610b998454610acd565b84610b20565b602080601f831160018114610bf25760008415610bbc5750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b178555610b68565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b82811015610c3f57888601518255948401946001909101908401610c20565b5085821015610c7b57878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b600060208284031215610c9d57600080fd5b815161058c816109fe565b600060208284031215610cba57600080fd5b5051919050565b600060208284031215610cd357600080fd5b815167ffffffffffffffff811115610cea57600080fd5b8201601f81018413610cfb57600080fd5b8051610d0961092c8261089e565b818152856020838501011115610d1e57600080fd5b610d2f826020830160208601610964565b95945050505050565b6000808354610d4681610acd565b60018281168015610d5e5760018114610d9157610dc0565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0084168752821515830287019450610dc0565b8760005260208060002060005b85811015610db75781548a820152908401908201610d9e565b50505082870194505b50929695505050505050565b60008251610dde818460208701610964565b919091019291505056fea164736f6c6343000817000a", + "nonce": "0x2", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [ + "0x19b19e75129fa926a9438b1850d352bf3ae201854528b2138e27217cf945ec0d", + "0x6af00c50502d670318f0aedb054e2d84f3e8994fa1f51cf665dfaff144243033", + "0x71b3ec150c66d85d30be3dc9ad3d2626f47970af2188bfc437e787daf1d5152f" + ], + "returns": {}, + "timestamp": 1704995454, + "chain": 137, + "multi": false, + "commit": "688208a" +} \ No newline at end of file diff --git a/broadcast/DeployLlamaTokenVotingFactory.s.sol/137/run-1704995466.json b/broadcast/DeployLlamaTokenVotingFactory.s.sol/137/run-1704995466.json new file mode 100644 index 0000000..8c1d203 --- /dev/null +++ b/broadcast/DeployLlamaTokenVotingFactory.s.sol/137/run-1704995466.json @@ -0,0 +1,197 @@ +{ + "transactions": [ + { + "hash": "0x19b19e75129fa926a9438b1850d352bf3ae201854528b2138e27217cf945ec0d", + "transactionType": "CREATE", + "contractName": "LlamaTokenGovernor", + "contractAddress": "0x3f3DAB3ab8cEc2FBd06767c2A5F66Cb6BFF21A4A", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0xb72276d9ff15c7998b9962ffcfb21a6c7249441b", + "gas": "0x6398ff", + "value": "0x0", + "data": "0x60806040523480156200001157600080fd5b506200001c62000022565b620000d6565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff1615620000735760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b0390811614620000d35780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b6159f880620000e66000396000f3fe608060405234801561001057600080fd5b50600436106101da5760003560e01c80637e4a56bb11610104578063b92cdd9a116100a2578063cae3bdff11610071578063cae3bdff1461053d578063dcae21b714610552578063e45061ea14610565578063e5589b9d1461057857600080fd5b8063b92cdd9a146104e4578063b9b2cf6c146104f7578063c193c2691461050a578063c26c12eb1461053557600080fd5b80638734852a116100de5780638734852a1461049857806396ff6e2e146104ab578063a1d9b412146104be578063b3c678b0146104d157600080fd5b80637e4a56bb1461046a5780637ed7238e14610472578063807ad1141461048557600080fd5b80633fed8f161161017c57806359e5332d1161014b57806359e5332d1461036457806364f6b3161461037b5780637186dd9c1461038e57806374f717cd1461044757600080fd5b80633fed8f16146103165780634d61ebf4146103365780634ec0ab1c1461033e578063509c5fbd1461035157600080fd5b806319a39740116101b857806319a397401461025b5780631e127ddf1461026e578063372fa8e8146102c25780633df91222146102d557600080fd5b80630669b1ce146101df57806311f900b5146101f45780631650080714610227575b600080fd5b6101f26101ed366004614a11565b61058b565b005b610207610202366004614a46565b610b79565b6040805161ffff9384168152929091166020830152015b60405180910390f35b61023a610235366004614ac0565b610b90565b6040516fffffffffffffffffffffffffffffffff909116815260200161021e565b6101f2610269366004614a46565b610baa565b6101f261027c366004614b82565b3360009081526007602090815260408083207fffffffff000000000000000000000000000000000000000000000000000000009490941683529290522080546001019055565b6101f26102d0366004614bbd565b610c75565b6102fe6102e3366004614a46565b6005602052600090815260409020546001600160a01b031681565b6040516001600160a01b03909116815260200161021e565b610329610324366004614c31565b610d76565b60405161021e9190614c53565b610207610f4e565b6101f261034c366004614ce2565b610f63565b61023a61035f366004614ac0565b611030565b61036d60025481565b60405190815260200161021e565b6000546102fe906001600160a01b031681565b6103fc61039c366004614a46565b6006602052600090815260409020805460018201546002909201546fffffffffffffffffffffffffffffffff8083169370010000000000000000000000000000000093849004821693818316939181900483169282811692919091041686565b604080516fffffffffffffffffffffffffffffffff978816815295871660208701529386169385019390935290841660608401528316608083015290911660a082015260c00161021e565b61045a610455366004614d23565b611040565b604051901515815260200161021e565b6103296110a9565b61036d610480366004614ea9565b61114c565b6001546102fe906001600160a01b031681565b6101f26104a6366004614f88565b611263565b61023a6104b9366004615066565b6114b5565b61023a6104cc366004615066565b6115c6565b61036d6104df366004615131565b6116c7565b6101f26104f2366004614a11565b61171c565b6101f2610505366004614ce2565b611726565b61036d6105183660046151e2565b600760209081526000928352604080842090915290825290205481565b6102076117ef565b6105456117fc565b60405161021e919061520e565b610545610560366004614c31565b61188f565b6101f2610573366004614a11565b611a4d565b610207610586366004614a46565b612026565b600080546040517fb6e76873000000000000000000000000000000000000000000000000000000008152833560048201526001600160a01b039091169063b6e768739060240161012060405180830381865afa1580156105ef573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061061391906152c8565b9050600060018260a0015161062891906153a6565b67ffffffffffffffff169050600160009054906101000a90046001600160a01b03166001600160a01b031663ae2a6df26040518163ffffffff1660e01b815260040160006040518083038186803b15801561068257600080fd5b505afa158015610696573d6000803e3d6000fd5b505050506000806000806106b485600461203490919063ffffffff16565b909250905060006106cb6080890160608a016153ce565b6001600160a01b031663b02bd9206040518163ffffffff1660e01b8152600401602060405180830381865afa158015610708573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061072c91906153eb565b67ffffffffffffffff16905061271061ffff8416820204818860c0015167ffffffffffffffff16030194506127108261ffff1682028161076e5761076e615406565b04850193508342116107ac576040517f038d8a6a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8660c0015167ffffffffffffffff1642106107f3576040517f08c8d62700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050843560009081526006602052604080822060015491517fcdfda4dd000000000000000000000000000000000000000000000000000000008152600481018690529092916001600160a01b03169063edb8ee5a90829063cdfda4dd90602401602060405180830381865afa158015610871573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108959190615435565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b16815265ffffffffffff9091166004820152602401602060405180830381865afa1580156108f0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610914919061545d565b600183015460028401549192506fffffffffffffffffffffffffffffffff7001000000000000000000000000000000009182900481169291820481169116600061095f60038a6121cd565b9150506000610975868361ffff166127106122d8565b905080856fffffffffffffffffffffffffffffffff1610156109e3576040517fbfb9aa550000000000000000000000000000000000000000000000000000000081526fffffffffffffffffffffffffffffffff86166004820152602481018290526044015b60405180910390fd5b836fffffffffffffffffffffffffffffffff16856fffffffffffffffffffffffffffffffff1611610a5c576040517f8a0df63f0000000000000000000000000000000000000000000000000000000081526fffffffffffffffffffffffffffffffff8087166004830152851660248201526044016109da565b6000610a7b8d6060016020810190610a7491906153ce565b600061231c565b905060008054906101000a90046001600160a01b03166001600160a01b03166394004706828f6040518363ffffffff1660e01b8152600401610abe9291906155b2565b6020604051808303816000875af1158015610add573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b0191906155e8565b50604080518e3581526fffffffffffffffffffffffffffffffff808916602083015280881692820192909252908516606082015260ff82169033907ff5bc433f16cc3d0e9fcb5ac4f8de9f17eb90de1fd2a9ede5952c2097d4ef1a59906080015b60405180910390a350505050505050505050505050565b600080610b87600484612034565b91509150915091565b6000610ba0338787878787612612565b9695505050505050565b60008054906101000a90046001600160a01b03166001600160a01b031663c34c08e56040518163ffffffff1660e01b8152600401602060405180830381865afa158015610bfb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c1f9190615603565b6001600160a01b0316336001600160a01b031614610c69576040517f26bee1ce00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610c7281612c5e565b50565b6000610c818686612e2e565b6040805160008082526020820180845284905260ff88169282019290925260608101869052608081018590529192509060019060a0016020604051602081039080840390855afa158015610cd9573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001519150506001600160a01b0381161580610d2c5750866001600160a01b0316816001600160a01b031614155b15610d63576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610d6d8187612f50565b50505050505050565b60408051602081019091526060815281831115610dbf576040517f2cd4dad300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60045480831115610dfc576040517f2cd4dad300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610e088585615620565b905060008167ffffffffffffffff811115610e2557610e25614d65565b604051908082528060200260200182016040528015610e8e57816020015b60408051606081018252600080825260208083018290529282015282527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff909201910181610e435790505b509050855b85811015610f34576004805482908110610eaf57610eaf615633565b600091825260209182902060408051606081018252919092015465ffffffffffff8116825261ffff660100000000000082048116948301949094526801000000000000000090049092169082015282610f088984615620565b81518110610f1857610f18615633565b6020026020010181905250610f2d8160010190565b9050610e93565b506040805160208101909152908152925050505b92915050565b600080610f5b6004613063565b915091509091565b60008054906101000a90046001600160a01b03166001600160a01b031663c34c08e56040518163ffffffff1660e01b8152600401602060405180830381865afa158015610fb4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fd89190615603565b6001600160a01b0316336001600160a01b031614611022576040517f26bee1ce00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61102c82826130db565b5050565b6000610ba03387878787876131cf565b60008115611077575060008381526006602090815260408083206001600160a01b038616845260030190915290205460ff166110a2565b5060008381526006602090815260408083206001600160a01b038616845260040190915290205460ff165b9392505050565b6040805160208101909152606081526040805160048054602081810284018501855283018181529293919284929091849160009085015b8282101561113f576000848152602090819020604080516060810182529185015465ffffffffffff8116835261ffff660100000000000082048116848601526801000000000000000090910416908201528252600190920191016110e0565b5050505081525050905090565b60008061115f8d8d8d8d8d8d8d8d613714565b6040805160008082526020820180845284905260ff89169282019290925260608101879052608081018690529192509060019060a0016020604051602081039080840390855afa1580156111b7573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001519150506001600160a01b038116158061120a57508d6001600160a01b0316816001600160a01b031614155b15611241576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611251818e8e8e8e8e8e8e613885565b9e9d5050505050505050505050505050565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000810460ff16159067ffffffffffffffff166000811580156112ae5750825b905060008267ffffffffffffffff1660011480156112cb5750303b155b9050811580156112d9575080155b15611310576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b84547fffffffffffffffffffffffffffffffffffffffffffffffff000000000000000016600117855583156113715784547fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff16680100000000000000001785555b886001600160a01b0316639bccfe496040518163ffffffff1660e01b8152600401602060405180830381865afa1580156113af573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113d3919061545d565b50600080546001600160a01b03808c167fffffffffffffffffffffffff00000000000000000000000000000000000000009283161790925560018054928b169290911691909117905561142587612c5e565b611437866000015187602001516130db565b61144986604001518760600151613b89565b83156114aa5784547fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b505050505050505050565b6000806114c68b8b8b8b8b8b613c26565b6040805160008082526020820180845284905260ff89169282019290925260608101879052608081018690529192509060019060a0016020604051602081039080840390855afa15801561151e573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001519150506001600160a01b038116158061157157508b6001600160a01b0316816001600160a01b031614155b156115a8576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6115b6818c8c8c8c8c6131cf565b9c9b505050505050505050505050565b6000806115d78b8b8b8b8b8b613d84565b6040805160008082526020820180845284905260ff89169282019290925260608101879052608081018690529192509060019060a0016020604051602081039080840390855afa15801561162f573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001519150506001600160a01b038116158061168257508b6001600160a01b0316816001600160a01b031614155b156116b9576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6115b6818c8c8c8c8c612612565b600061170f338a8a8a8a8a8a8a8a8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061388592505050565b9998505050505050505050565b610c723382612f50565b60008054906101000a90046001600160a01b03166001600160a01b031663c34c08e56040518163ffffffff1660e01b8152600401602060405180830381865afa158015611777573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061179b9190615603565b6001600160a01b0316336001600160a01b0316146117e5576040517f26bee1ce00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61102c8282613b89565b600080610f5b6003613063565b604080516020810190915260608152604080516003805460208082028401850185528301818152929391928492909184916000908501821561113f576000848152602090819020604080516060810182529185015465ffffffffffff8116835261ffff660100000000000082048116848601526801000000000000000090910416908201528252600190920191016110e0565b604080516020810190915260608152818311156118d8576040517f2cd4dad300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60035480831115611915576040517f2cd4dad300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006119218585615620565b905060008167ffffffffffffffff81111561193e5761193e614d65565b6040519080825280602002602001820160405280156119a757816020015b60408051606081018252600080825260208083018290529282015282527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90920191018161195c5790505b509050855b85811015610f345760038054829081106119c8576119c8615633565b600091825260209182902060408051606081018252919092015465ffffffffffff8116825261ffff660100000000000082048116948301949094526801000000000000000090049092169082015282611a218984615620565b81518110611a3157611a31615633565b6020026020010181905250611a468160010190565b90506119ac565b600080546040517fb6e76873000000000000000000000000000000000000000000000000000000008152833560048201526001600160a01b039091169063b6e768739060240161012060405180830381865afa158015611ab1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ad591906152c8565b9050600060018260a00151611aea91906153a6565b67ffffffffffffffff169050600160009054906101000a90046001600160a01b03166001600160a01b031663ae2a6df26040518163ffffffff1660e01b815260040160006040518083038186803b158015611b4457600080fd5b505afa158015611b58573d6000803e3d6000fd5b50505050600080600080611b7685600461203490919063ffffffff16565b90925090506000611b8d6080890160608a016153ce565b6001600160a01b0316637999762c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611bca573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bee91906153eb565b67ffffffffffffffff16905061271061ffff84168202048760a0015167ffffffffffffffff160194506127108261ffff16820281611c2e57611c2e615406565b0485019350834211611c6c576040517f038d8a6a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b808760a0015167ffffffffffffffff16611c869190615662565b421115611cbf576040517f08c8d62700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050843560009081526006602052604080822060015491517fcdfda4dd000000000000000000000000000000000000000000000000000000008152600481018690529092916001600160a01b03169063edb8ee5a90829063cdfda4dd90602401602060405180830381865afa158015611d3d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d619190615435565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b16815265ffffffffffff9091166004820152602401602060405180830381865afa158015611dbc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611de0919061545d565b825460018401549192506fffffffffffffffffffffffffffffffff808216928116917001000000000000000000000000000000009004166000611e2460038a6121cd565b5090506000611e3a868361ffff166127106122d8565b905080856fffffffffffffffffffffffffffffffff161015611ea3576040517f0425fab10000000000000000000000000000000000000000000000000000000081526fffffffffffffffffffffffffffffffff86166004820152602481018290526044016109da565b836fffffffffffffffffffffffffffffffff16856fffffffffffffffffffffffffffffffff1611611f1c576040517f8a0df63f0000000000000000000000000000000000000000000000000000000081526fffffffffffffffffffffffffffffffff8087166004830152851660248201526044016109da565b6000611f3b8d6060016020810190611f3491906153ce565b600161231c565b905060008054906101000a90046001600160a01b03166001600160a01b03166389e7d126828f6040518363ffffffff1660e01b8152600401611f7e9291906155b2565b6020604051808303816000875af1158015611f9d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fc191906155e8565b50604080518e3581526fffffffffffffffffffffffffffffffff808916602083015280881692820192909252908516606082015260ff82169033907ff23279e924757f3bfe4f543bc1b43685e851d6ace53f8518b806dcd8d42fc13990608001610b62565b600080610b876003846121cd565b6000804283106120c6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f506572696f64506374436865636b706f696e74733a2074696d657374616d702060448201527f6973206e6f7420696e207468652070617374000000000000000000000000000060648201526084016109da565b60006120d184613db3565b855490915060008160058111156121315760006120ed84613dfc565b6120f79085615620565b60008a81526020902090915081015465ffffffffffff90811690861610156121215780915061212f565b61212c816001615662565b92505b505b600061213f89868585613eae565b90508060000361215a576000809650965050505050506121c6565b60006121798a61216b600185615620565b600091825260209091200190565b60408051606081018252915465ffffffffffff8116835261ffff66010000000000008204811660208501819052680100000000000000009092041692909101829052985096505050505050505b9250929050565b60008042831061225f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602f60248201527f51756f72756d436865636b706f696e74733a2074696d657374616d702069732060448201527f6e6f7420696e207468652070617374000000000000000000000000000000000060648201526084016109da565b600061226a84613db3565b855490915060008160058111156122ca57600061228684613dfc565b6122909085615620565b60008a81526020902090915081015465ffffffffffff90811690861610156122ba578091506122c8565b6122c5816001615662565b92505b505b600061213f89868585613f10565b6000827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048411830215820261230d57600080fd5b50910281810615159190040190565b60008054604080517f0505c8c9000000000000000000000000000000000000000000000000000000008152905183926001600160a01b031691630505c8c99160048083019260209291908290030181865afa15801561237f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123a39190615603565b6001600160a01b0316638b2ed3886040518163ffffffff1660e01b8152600401602060405180830381865afa1580156123e0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124049190615675565b905060015b8160ff16811161253b57836124a1576040517fc167ebae00000000000000000000000000000000000000000000000000000000815260ff821660048201526001600160a01b0386169063c167ebae90602401602060405180830381865afa158015612478573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061249c9190615692565b612525565b6040517ffb847c4300000000000000000000000000000000000000000000000000000000815260ff821660048201526001600160a01b0386169063fb847c4390602401602060405180830381865afa158015612501573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125259190615692565b15612533579150610f489050565b600101612409565b50826125a857836001600160a01b03166312a52f006040518163ffffffff1660e01b8152600401602060405180830381865afa15801561257f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125a39190615675565b61260a565b836001600160a01b03166366cacdc96040518163ffffffff1660e01b8152600401602060405180830381865afa1580156125e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061260a9190615675565b949350505050565b600080546040517fb6e768730000000000000000000000000000000000000000000000000000000081528635600482015282916001600160a01b03169063b6e768739060240161012060405180830381865afa158015612676573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061269a91906152c8565b9050600060018260a001516126af91906153a6565b8735600090815260066020526040902067ffffffffffffffff9190911691506126de6080890160608a016153ce565b6001600160a01b03166302674e4b89308c6040518463ffffffff1660e01b815260040161270d939291906156af565b60006040518083038186803b15801561272557600080fd5b505afa158015612739573d6000803e3d6000fd5b505050506001600160a01b038a16600090815260048201602052604090205460ff1615612792576040517f9dd6544b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6127a0888a89600486613f6a565b60008080806127b0600487612034565b909250905060006127c760808e0160608f016153ce565b6001600160a01b031663b02bd9206040518163ffffffff1660e01b8152600401602060405180830381865afa158015612804573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061282891906153eb565b67ffffffffffffffff16905061271061ffff8416820204818960c0015167ffffffffffffffff16030194506127108261ffff1682028161286a5761286a615406565b04850193508442116128a8576040517fd0b72b4900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b834211156128e2576040517f5b73d19300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050506000612a25600160009054906101000a90046001600160a01b03166001600160a01b0316639556de738f600160009054906101000a90046001600160a01b03166001600160a01b031663cdfda4dd886040518263ffffffff1660e01b815260040161295291815260200190565b602060405180830381865afa15801561296f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906129939190615435565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b1681526001600160a01b03909216600483015265ffffffffffff166024820152604401602060405180830381865afa1580156129fc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a20919061545d565b61425e565b905060ff8a16612a9e576002840154612a649070010000000000000000000000000000000090046fffffffffffffffffffffffffffffffff16826142ad565b6002850180546fffffffffffffffffffffffffffffffff928316700100000000000000000000000000000000029216919091179055612bc6565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60ff8b1601612b37576001840154612afd9070010000000000000000000000000000000090046fffffffffffffffffffffffffffffffff16826142ad565b6001850180546fffffffffffffffffffffffffffffffff928316700100000000000000000000000000000000029216919091179055612bc6565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe60ff8b1601612bc6576002840154612b82906fffffffffffffffffffffffffffffffff16826142ad565b6002850180547fffffffffffffffffffffffffffffffff00000000000000000000000000000000166fffffffffffffffffffffffffffffffff929092169190911790555b6001600160a01b038d1660008181526004860160205260409081902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790555160ff8c1691907f4e3e2ad68670a2709cb408c31c5afd8da0b6d3d06c75b11feb404a455639fe7c90612c46908f359086908f908f90615713565b60405180910390a39c9b505050505050505050505050565b60018054604080517f91ddadf400000000000000000000000000000000000000000000000000000000815290516000936001600160a01b039093169263edb8ee5a92909184916391ddadf49160048083019260209291908290030181865afa158015612cce573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612cf29190615435565b612cfc9190615745565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b16815265ffffffffffff9091166004820152602401602060405180830381865afa158015612d57573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612d7b919061545d565b905080600003612db7576040517f34bbd58500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80821115612df1576040517f8a5e746800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60028290556040518281527fd91a985c173545ab0e0bd11c021a1ae84c1ea6eab9350d9bf3812d5b8bff49a4906020015b60405180910390a15050565b6000807f6da9390b4f29da2c44fa5a9da00b392393d01e989d16e4a3dec5a538318e352584612e5c856142f4565b6001600160a01b03871660009081526007602090815260408083207fffffffff00000000000000000000000000000000000000000000000000000000843516845290915290208054600181019091556040805160208101959095526001600160a01b03909316928401929092526060830152608082015260a001604051602081830303815290604052805190602001209050612ef66143eb565b6040517f190100000000000000000000000000000000000000000000000000000000000060208201526022810191909152604281018290526062016040516020818303038152906040528051906020012091505092915050565b80356000908152600560205260409020546001600160a01b03838116911614612fa5576040517f86ba025600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000546040517fb92cdd9a0000000000000000000000000000000000000000000000000000000081526001600160a01b039091169063b92cdd9a90612fee908490600401615764565b600060405180830381600087803b15801561300857600080fd5b505af115801561301c573d6000803e3d6000fd5b5050604051833581526001600160a01b03851692507fdcccc5725b7256a6975da00de8953e5d326756a3079d203ff6df9e52331f411a915060200160405180910390a25050565b8054600090819080820361307d5750600093849350915050565b600061308e8561216b600185615620565b60408051606081018252915465ffffffffffff8116835261ffff66010000000000008204811660208501819052680100000000000000009092041692909101829052969095509350505050565b6127108261ffff1611806130f1575061ffff8216155b1561312e576040517f8f6febc000000000000000000000000000000000000000000000000000000000815261ffff831660048201526024016109da565b6127108161ffff161180613144575061ffff8116155b15613181576040517f3bec511c00000000000000000000000000000000000000000000000000000000815261ffff821660048201526024016109da565b613194600361ffff80851690841661454d565b6040805161ffff8085168252831660208201527f77c3f43700db02acb49792bbf699b39f72c2ed4b920bd5c0b1843dcd7c832f4c9101612e22565b600080546040517fb6e768730000000000000000000000000000000000000000000000000000000081528635600482015282916001600160a01b03169063b6e768739060240161012060405180830381865afa158015613233573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061325791906152c8565b9050600060018260a0015161326c91906153a6565b8735600090815260066020526040902067ffffffffffffffff91909116915061329b6080890160608a016153ce565b6001600160a01b0316631a2a4e7789308c6040518463ffffffff1660e01b81526004016132ca939291906156af565b60006040518083038186803b1580156132e257600080fd5b505afa1580156132f6573d6000803e3d6000fd5b505050506001600160a01b038a16600090815260038201602052604090205460ff161561334f576040517f9dd6544b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61335d888a89600086613f6a565b600080808061336d600487612034565b9092509050600061338460808e0160608f016153ce565b6001600160a01b0316637999762c6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156133c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906133e591906153eb565b67ffffffffffffffff16905061271061ffff84168202048860a0015167ffffffffffffffff160194506127108261ffff1682028161342557613425615406565b0485019350844211613463576040517fd0b72b4900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8342111561349d576040517f5b73d19300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050600061350d600160009054906101000a90046001600160a01b03166001600160a01b0316639556de738f600160009054906101000a90046001600160a01b03166001600160a01b031663cdfda4dd886040518263ffffffff1660e01b815260040161295291815260200190565b905060ff8a16613580576001840154613538906fffffffffffffffffffffffffffffffff16826142ad565b6001850180547fffffffffffffffffffffffffffffffff00000000000000000000000000000000166fffffffffffffffffffffffffffffffff92909216919091179055613694565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60ff8b16016136095783546135c8906fffffffffffffffffffffffffffffffff16826142ad565b84547fffffffffffffffffffffffffffffffff00000000000000000000000000000000166fffffffffffffffffffffffffffffffff91909116178455613694565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe60ff8b16016136945783546136659070010000000000000000000000000000000090046fffffffffffffffffffffffffffffffff16826142ad565b84546fffffffffffffffffffffffffffffffff9182167001000000000000000000000000000000000291161784555b6001600160a01b038d1660008181526003860160205260409081902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790555160ff8c1691907f761cce3a1af5d9cfc0d57222f605ce4bd2be345f0ad9ebb7b83a84a91a0c201490612c46908f359086908f908f90615713565b6001600160a01b03881660009081526007602090815260408083207fffffffff000000000000000000000000000000000000000000000000000000008435168452909152812080546001810190915560007fd1fab1c7b3b37134662e5867b00e272eb49f7be0a890df29e802c3cc66c06f838b8b8b8b8b8b8b60405161379b929190615777565b604080519182900382208c516020808f0191909120908401999099526001600160a01b039788169183019190915260ff90951660608201529285166080840152931660a082015260c081019290925260e08201526101008101919091526101208101839052610140016040516020818303038152906040528051906020012090506138246143eb565b6040517f19010000000000000000000000000000000000000000000000000000000000006020820152602281019190915260428101829052606201604051602081830303815290604052805190602001209250505098975050505050505050565b600154604080517fae2a6df200000000000000000000000000000000000000000000000000000000815290516000926001600160a01b03169163ae2a6df29160048083019286929190829003018186803b1580156138e257600080fd5b505afa1580156138f6573d6000803e3d6000fd5b505060018054604080517f91ddadf40000000000000000000000000000000000000000000000000000000081529051600095506001600160a01b039092169350639556de73928e92909185916391ddadf4916004808201926020929091908290030181865afa15801561396d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906139919190615435565b61399b9190615745565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b1681526001600160a01b03909216600483015265ffffffffffff166024820152604401602060405180830381865afa158015613a04573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613a28919061545d565b9050600254811015613a69576040517f92665351000000000000000000000000000000000000000000000000000000008152600481018290526024016109da565b6000546040517fb3c678b00000000000000000000000000000000000000000000000000000000081526001600160a01b039091169063b3c678b090613abe908c908c908c908c908c908c908c906004016157ab565b6020604051808303816000875af1158015613add573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613b01919061545d565b60008181526005602090815260409182902080547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b038f16908117909155915183815292945090917f1834dfd49255741a8ce9a9bd66b91b64d13622e1d8170e4c78ac91f9ec50a542910160405180910390a25098975050505050505050565b612710613b96828461583b565b61ffff1610613bdf576040517f519dd38400000000000000000000000000000000000000000000000000000000815261ffff8084166004830152821660248201526044016109da565b613beb60048383614576565b6040805161ffff8085168252831660208201527f8df7bdcce333d9e1b85e40782fb2f293c805761d3f48aaea58865e9541e44c709101612e22565b6000807fd7be168a3509af358f222ee35ee76aba47bc5fc2c35061cdce3958f510b7b1b28888613c55896142f4565b888888604051613c66929190615777565b60408051918290039091206001600160a01b038f166000908152600760209081528382207fffffffff0000000000000000000000000000000000000000000000000000000083351683529052919091208054600181019091556040805160208101989098526001600160a01b039096169587019590955260ff938416606087015260808601929092529190911660a084015260c083015260e082015261010001604051602081830303815290604052805190602001209050613d266143eb565b6040517f19010000000000000000000000000000000000000000000000000000000000006020820152602281019190915260428101829052606201604051602081830303815290604052805190602001209150509695505050505050565b6000807fa87058c5a9888e7af4405a932381d5a4612c61354bc3e52e9ea361ba17703fb38888613c55896142f4565b600065ffffffffffff821115613df8576040517fc0188c4f000000000000000000000000000000000000000000000000000000008152600481018390526024016109da565b5090565b60b581710100000000000000000000000000000000008110613e235760409190911b9060801c5b69010000000000000000008110613e3f5760209190911b9060401c5b650100000000008110613e575760109190911b9060201c5b63010000008110613e6d5760089190911b9060101c5b62010000010260121c80820401600190811c80830401811c80830401811c80830401811c80830401811c80830401811c80830401901c908190048111900390565b60005b81831015613f08576000613ec584846145a2565b60008781526020902090915065ffffffffffff86169082015465ffffffffffff161115613ef457809250613f02565b613eff816001615662565b93505b50613eb1565b509392505050565b60005b81831015613f08576000613f2784846145a2565b60008781526020902090915065ffffffffffff86169082015465ffffffffffff161115613f5657809250613f64565b613f61816001615662565b93505b50613f13565b600260ff84161115613fad576040517ffe0e5d8b00000000000000000000000000000000000000000000000000000000815260ff841660048201526024016109da565b600080546040517fec12d8be0000000000000000000000000000000000000000000000000000000081526001600160a01b039091169063ec12d8be90613ff7908990600401615764565b602060405180830381865afa158015614014573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906140389190615675565b60ff16600681111561404c5761404c6156e4565b9050826006811115614060576140606156e4565b816006811115614072576140726156e4565b146140ab57806040517f87afe58e0000000000000000000000000000000000000000000000000000000081526004016109da9190615856565b60008060009054906101000a90046001600160a01b03166001600160a01b0316630505c8c96040518163ffffffff1660e01b8152600401602060405180830381865afa1580156140ff573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906141239190615603565b6040517fe0bec07600000000000000000000000000000000000000000000000000000000815230600482015260ff88166024820152604481018590526001600160a01b03919091169063e0bec07690606401602060405180830381865afa158015614192573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906141b69190615692565b9050806141ef576040517f88aebd1200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600160009054906101000a90046001600160a01b03166001600160a01b031663ae2a6df26040518163ffffffff1660e01b815260040160006040518083038186803b15801561423d57600080fd5b505afa158015614251573d6000803e3d6000fd5b5050505050505050505050565b60006fffffffffffffffffffffffffffffffff821115613df8576040517fc0188c4f000000000000000000000000000000000000000000000000000000008152600481018390526024016109da565b60006fffffffffffffffffffffffffffffffff6142ce838216858316615662565b106142ea57506fffffffffffffffffffffffffffffffff610f48565b6110a28284615897565b60007f86b4555c6e347ea3f038485b59b894986c208b67da7e65fcfa3707271608465f823561432960408501602086016153ce565b61433960608601604087016158c0565b61434960808701606088016153ce565b61435960a08801608089016153ce565b60a088013561436b60c08a018a6158dd565b604051614379929190615777565b6040805191829003822060208301999099528101969096526001600160a01b03948516606087015260ff909316608086015290831660a08501529190911660c083015260e082015261010081019190915261012001604051602081830303815290604052805190602001209050919050565b60008054604080517f06fdde0300000000000000000000000000000000000000000000000000000000815290517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f926001600160a01b0316916306fdde0391600480830192879291908290030181865afa15801561446d573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526144b39190810190615942565b8051602091820120604080518082018252600181527f310000000000000000000000000000000000000000000000000000000000000090840152805192830193909352918101919091527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a082015260c00160405160208183030381529060405280519060200120905090565b6145718361455a42613db3565b614563856145bd565b61456c856145bd565b6145fe565b505050565b6145718361458342613db3565b6145908561ffff166145bd565b61459d8561ffff166145bd565b614909565b60006145b160028484186159b0565b6110a290848416615662565b600061ffff821115613df8576040517fc0188c4f000000000000000000000000000000000000000000000000000000008152600481018390526024016109da565b835480156148475760006146178661216b600185615620565b60408051606081018252915465ffffffffffff80821680855261ffff66010000000000008404811660208701526801000000000000000090930490921692840192909252919250861610156146ed576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f51756f72756d20436865636b706f696e743a20696e76616c69642074696d657360448201527f74616d700000000000000000000000000000000000000000000000000000000060648201526084016109da565b805165ffffffffffff8087169116036147865760006147118761216b600186615620565b805461ffff86811668010000000000000000027fffffffffffffffffffffffffffffffffffffffffffff0000ffffffffffffffff918916660100000000000002919091167fffffffffffffffffffffffffffffffffffffffffffff00000000ffffffffffff9092169190911717905550614841565b6040805160608101825265ffffffffffff808816825261ffff80881660208085019182528883169585019586528b54600181018d5560008d81529190912094519401805491519551831668010000000000000000027fffffffffffffffffffffffffffffffffffffffffffff0000ffffffffffffffff969093166601000000000000027fffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000909216949093169390931792909217929092161790555b50614902565b6040805160608101825265ffffffffffff808716825261ffff80871660208085019182528783169585019586528a54600181018c5560008c81529190912094519401805491519551831668010000000000000000027fffffffffffffffffffffffffffffffffffffffffffff0000ffffffffffffffff969093166601000000000000027fffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000909216949093169390931792909217929092161790555b5050505050565b835480156148475760006149228661216b600185615620565b60408051606081018252915465ffffffffffff80821680855261ffff66010000000000008404811660208701526801000000000000000090930490921692840192909252919250861610156146ed576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602860248201527f506572696f642050637420436865636b706f696e743a20696e76616c6964207460448201527f696d657374616d7000000000000000000000000000000000000000000000000060648201526084016109da565b600060e08284031215614a0b57600080fd5b50919050565b600060208284031215614a2357600080fd5b813567ffffffffffffffff811115614a3a57600080fd5b61260a848285016149f9565b600060208284031215614a5857600080fd5b5035919050565b60ff81168114610c7257600080fd5b8035614a7981614a5f565b919050565b60008083601f840112614a9057600080fd5b50813567ffffffffffffffff811115614aa857600080fd5b6020830191508360208285010111156121c657600080fd5b600080600080600060808688031215614ad857600080fd5b8535614ae381614a5f565b9450602086013567ffffffffffffffff80821115614b0057600080fd5b614b0c89838a016149f9565b955060408801359150614b1e82614a5f565b90935060608701359080821115614b3457600080fd5b50614b4188828901614a7e565b969995985093965092949392505050565b80357fffffffff0000000000000000000000000000000000000000000000000000000081168114614a7957600080fd5b600060208284031215614b9457600080fd5b6110a282614b52565b6001600160a01b0381168114610c7257600080fd5b8035614a7981614b9d565b600080600080600060a08688031215614bd557600080fd5b8535614be081614b9d565b9450602086013567ffffffffffffffff811115614bfc57600080fd5b614c08888289016149f9565b9450506040860135614c1981614a5f565b94979396509394606081013594506080013592915050565b60008060408385031215614c4457600080fd5b50508035926020909101359150565b60208082528251828201829052805160408401819052600092916060919083019082860190855b81811015614cc357614cb3838551805165ffffffffffff16825260208082015161ffff9081169184019190915260409182015116910152565b9285019291840191600101614c7a565b5090979650505050505050565b803561ffff81168114614a7957600080fd5b60008060408385031215614cf557600080fd5b614cfe83614cd0565b9150614d0c60208401614cd0565b90509250929050565b8015158114610c7257600080fd5b600080600060608486031215614d3857600080fd5b833592506020840135614d4a81614b9d565b91506040840135614d5a81614d15565b809150509250925092565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051610120810167ffffffffffffffff81118282101715614db857614db8614d65565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715614e0557614e05614d65565b604052919050565b600067ffffffffffffffff821115614e2757614e27614d65565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b600082601f830112614e6457600080fd5b8135614e77614e7282614e0d565b614dbe565b818152846020838601011115614e8c57600080fd5b816020850160208301376000918101602001919091529392505050565b60008060008060008060008060008060006101408c8e031215614ecb57600080fd5b614ed48c614bb2565b9a50614ee260208d01614a6e565b9950614ef060408d01614bb2565b9850614efe60608d01614bb2565b975060808c0135965067ffffffffffffffff8060a08e01351115614f2157600080fd5b614f318e60a08f01358f01614a7e565b909750955060c08d0135811015614f4757600080fd5b50614f588d60c08e01358e01614e53565b9350614f6660e08d01614a6e565b92506101008c013591506101208c013590509295989b509295989b9093969950565b60008060008084860360e0811215614f9f57600080fd5b8535614faa81614b9d565b94506020860135614fba81614b9d565b93506040860135925060807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa082011215614ff357600080fd5b506040516080810181811067ffffffffffffffff8211171561501757615017614d65565b60405261502660608701614cd0565b815261503460808701614cd0565b602082015261504560a08701614cd0565b604082015261505660c08701614cd0565b6060820152939692955090935050565b60008060008060008060008060006101008a8c03121561508557600080fd5b893561509081614b9d565b985060208a01356150a081614a5f565b975060408a013567ffffffffffffffff808211156150bd57600080fd5b6150c98d838e016149f9565b985060608c013591506150db82614a5f565b90965060808b013590808211156150f157600080fd5b506150fe8c828d01614a7e565b90965094505060a08a013561511281614a5f565b8093505060c08a0135915060e08a013590509295985092959850929598565b60008060008060008060008060c0898b03121561514d57600080fd5b883561515881614a5f565b9750602089013561516881614b9d565b9650604089013561517881614b9d565b955060608901359450608089013567ffffffffffffffff8082111561519c57600080fd5b6151a88c838d01614a7e565b909650945060a08b01359150808211156151c157600080fd5b506151ce8b828c01614a7e565b999c989b5096995094979396929594505050565b600080604083850312156151f557600080fd5b823561520081614b9d565b9150614d0c60208401614b52565b60208082528251828201829052805160408401819052600092916060919083019082860190855b81811015614cc35761526e838551805165ffffffffffff16825260208082015161ffff9081169184019190915260409182015116910152565b9285019291840191600101615235565b8051614a7981614d15565b8051614a7981614b9d565b805167ffffffffffffffff81168114614a7957600080fd5b80516bffffffffffffffffffffffff81168114614a7957600080fd5b600061012082840312156152db57600080fd5b6152e3614d94565b825181526152f36020840161527e565b60208201526153046040840161527e565b60408201526153156060840161527e565b606082015261532660808401615289565b608082015261533760a08401615294565b60a082015261534860c08401615294565b60c082015261535960e084016152ac565b60e082015261010061536c8185016152ac565b908201529392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b67ffffffffffffffff8281168282160390808211156153c7576153c7615377565b5092915050565b6000602082840312156153e057600080fd5b81356110a281614b9d565b6000602082840312156153fd57600080fd5b6110a282615294565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006020828403121561544757600080fd5b815165ffffffffffff811681146110a257600080fd5b60006020828403121561546f57600080fd5b5051919050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b80358252600060208201356154d381614b9d565b6001600160a01b0390811660208501526040830135906154f282614a5f565b60ff821660408601526060840135915061550b82614b9d565b908116606085015260808301359061552282614b9d565b16608084015260a0828101359084015260c0820135368390037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe101811261556857600080fd5b820160208101903567ffffffffffffffff81111561558557600080fd5b80360382131561559457600080fd5b60e060c08601526155a960e086018284615476565b95945050505050565b60ff831681526060602082015260006155ce60608301846154bf565b828103604084015260008152602081019150509392505050565b6000602082840312156155fa57600080fd5b6110a2826152ac565b60006020828403121561561557600080fd5b81516110a281614b9d565b81810381811115610f4857610f48615377565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b80820180821115610f4857610f48615377565b60006020828403121561568757600080fd5b81516110a281614a5f565b6000602082840312156156a457600080fd5b81516110a281614d15565b6060815260006156c260608301866154bf565b90506001600160a01b038416602083015260ff83166040830152949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b8481526fffffffffffffffffffffffffffffffff84166020820152606060408201526000610ba0606083018486615476565b65ffffffffffff8281168282160390808211156153c7576153c7615377565b6020815260006110a260208301846154bf565b8183823760009101908152919050565b60005b838110156157a257818101518382015260200161578a565b50506000910152565b60ff8816815260006001600160a01b03808916602084015280881660408401525085606083015260c060808301526157e760c083018587615476565b82810360a08401528351808252615805816020840160208801615787565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016016020019998505050505050505050565b61ffff8181168382160190808211156153c7576153c7615377565b6020810160078310615891577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b91905290565b6fffffffffffffffffffffffffffffffff8181168382160190808211156153c7576153c7615377565b6000602082840312156158d257600080fd5b81356110a281614a5f565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261591257600080fd5b83018035915067ffffffffffffffff82111561592d57600080fd5b6020019150368190038213156121c657600080fd5b60006020828403121561595457600080fd5b815167ffffffffffffffff81111561596b57600080fd5b8201601f8101841361597c57600080fd5b805161598a614e7282614e0d565b81815285602083850101111561599f57600080fd5b6155a9826020830160208601615787565b6000826159e6577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b50049056fea164736f6c6343000817000a", + "nonce": "0x0", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x6af00c50502d670318f0aedb054e2d84f3e8994fa1f51cf665dfaff144243033", + "transactionType": "CREATE", + "contractName": "LlamaTokenVotingFactory", + "contractAddress": "0xFBE17545dffD75A92A5A72926AE581478973FE65", + "function": null, + "arguments": [ + "0x3f3DAB3ab8cEc2FBd06767c2A5F66Cb6BFF21A4A" + ], + "transaction": { + "type": "0x02", + "from": "0xb72276d9ff15c7998b9962ffcfb21a6c7249441b", + "gas": "0xc9127", + "value": "0x0", + "data": "0x60a060405234801561001057600080fd5b50604051610b16380380610b1683398101604081905261002f91610040565b6001600160a01b0316608052610070565b60006020828403121561005257600080fd5b81516001600160a01b038116811461006957600080fd5b9392505050565b608051610a8561009160003960008181604001526104390152610a856000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c806321618ea41461003b5780633ec857a51461008b575b600080fd5b6100627f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b61006261009936600461087b565b600080338360000151846040015185606001516040516020016100bf9493929190610959565b60405160208183030381529060405280519060200120905060006100e7846020015183610622565b60408086015190517f439fab9100000000000000000000000000000000000000000000000000000000815291925073ffffffffffffffffffffffffffffffffffffffff83169163439fab919161013f916004016109b9565b6020604051808303816000875af115801561015e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101829190610a0a565b50600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1663fc0c546a6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156101e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061020a9190610a33565b73ffffffffffffffffffffffffffffffffffffffff1603610257576040517f65f5b03400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517fcdfda4dd00000000000000000000000000000000000000000000000000000000815242600482015273ffffffffffffffffffffffffffffffffffffffff82169063cdfda4dd90602401602060405180830381865afa1580156102c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102e59190610a50565b65ffffffffffff16600003610326576040517f65f5b03400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff166391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865afa158015610371573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103959190610a50565b65ffffffffffff166000036103d6576040517f65f5b03400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1663ae2a6df26040518163ffffffff1660e01b815260040160006040518083038186803b15801561041c57600080fd5b505afa158015610430573d6000803e3d6000fd5b5050505061045e7f000000000000000000000000000000000000000000000000000000000000000083610622565b8451608086015160a0870151604080517f8734852a00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff948516600482015286851660248201526044810193909352815161ffff908116606485015260208301518116608485015290820151811660a48401526060909101511660c4820152919450841690638734852a9060e401600060405180830381600087803b15801561051757600080fd5b505af115801561052b573d6000803e3d6000fd5b505050508073ffffffffffffffffffffffffffffffffffffffff1663fc0c546a6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561057a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061059e9190610a33565b84516020808701516060808901516040805173ffffffffffffffffffffffffffffffffffffffff94851681528885169581019590955284015287821690830152466080830152928316929091169033907f4c8bb78cb1c62e64cef39fc4b4a1864d1a331a28c7bd59a67fe969cc8ab715879060a00160405180910390a45050919050565b6000763d602d80600a3d3981f3363d3d373d3d3d363d730000008360601b60e81c176000526e5af43d82803e903d91602b57fd5bf38360781b1760205281603760096000f5905073ffffffffffffffffffffffffffffffffffffffff81166106b6576040517fc2f868f400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405160c0810167ffffffffffffffff8111828210171561070e5761070e6106bc565b60405290565b73ffffffffffffffffffffffffffffffffffffffff8116811461073657600080fd5b50565b600082601f83011261074a57600080fd5b813567ffffffffffffffff80821115610765576107656106bc565b604051601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011681019082821181831017156107ab576107ab6106bc565b816040528381528660208588010111156107c457600080fd5b836020870160208301376000602085830101528094505050505092915050565b803561ffff811681146107f657600080fd5b919050565b60006080828403121561080d57600080fd5b6040516080810181811067ffffffffffffffff82111715610830576108306106bc565b60405290508061083f836107e4565b815261084d602084016107e4565b602082015261085e604084016107e4565b604082015261086f606084016107e4565b60608201525092915050565b60006020828403121561088d57600080fd5b813567ffffffffffffffff808211156108a557600080fd5b9083019061012082860312156108ba57600080fd5b6108c26106eb565b82356108cd81610714565b815260208301356108dd81610714565b60208201526040830135828111156108f457600080fd5b61090087828601610739565b60408301525060608301356060820152608083013560808201526109278660a085016107fb565b60a082015295945050505050565b60005b83811015610950578181015183820152602001610938565b50506000910152565b60007fffffffffffffffffffffffffffffffffffffffff000000000000000000000000808760601b168352808660601b1660148401525083516109a3816028850160208801610935565b6028920191820192909252604801949350505050565b60208152600082518060208401526109d8816040850160208701610935565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169190910160400192915050565b600060208284031215610a1c57600080fd5b81518015158114610a2c57600080fd5b9392505050565b600060208284031215610a4557600080fd5b8151610a2c81610714565b600060208284031215610a6257600080fd5b815165ffffffffffff81168114610a2c57600080fdfea164736f6c6343000817000a0000000000000000000000003f3dab3ab8cec2fbd06767c2a5f66cb6bff21a4a", + "nonce": "0x1", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x71b3ec150c66d85d30be3dc9ad3d2626f47970af2188bfc437e787daf1d5152f", + "transactionType": "CREATE", + "contractName": "LlamaTokenAdapterVotesTimestamp", + "contractAddress": "0x088C268cb00226D6A9b29e5488905Aa94D2f0239", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0xb72276d9ff15c7998b9962ffcfb21a6c7249441b", + "gas": "0x10d28c", + "value": "0x0", + "data": "0x608060405234801561001057600080fd5b5061001961001e565b6100d0565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff161561006e5760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b03908116146100cd5780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b610df5806100df6000396000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c8063ae2a6df21161005b578063ae2a6df21461010a578063cdfda4dd14610114578063edb8ee5a14610127578063fc0c546a1461013a57600080fd5b8063439fab911461008d5780634bf5d7e9146100b557806391ddadf4146100ca5780639556de73146100e9575b600080fd5b6100a061009b3660046108e4565b61017f565b60405190151581526020015b60405180910390f35b6100bd6103a1565b6040516100ac9190610988565b6100d261042f565b60405165ffffffffffff90911681526020016100ac565b6100fc6100f7366004610a12565b6104e9565b6040519081526020016100ac565b610112610593565b005b6100d2610122366004610a4b565b6105ef565b6100fc610135366004610a64565b610600565b60005461015a9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100ac565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0080546000919068010000000000000000810460ff16159067ffffffffffffffff1683811580156101cd5750825b905060008267ffffffffffffffff1660011480156101ea5750303b155b9050811580156101f8575080155b1561022f576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b84547fffffffffffffffffffffffffffffffffffffffffffffffff000000000000000016600117855583156102905784547fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff16680100000000000000001785555b6000878060200190518101906102a69190610a81565b8051600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff90921691909117905560408051808201909152600e81527f6d6f64653d74696d657374616d7000000000000000000000000000000000000060208201529091506001906103309082610b71565b50600196505083156103975784547fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b5050505050919050565b600180546103ae90610acd565b80601f01602080910402602001604051908101604052809291908181526020018280546103da90610acd565b80156104275780601f106103fc57610100808354040283529160200191610427565b820191906000526020600020905b81548152906001019060200180831161040a57829003601f168201915b505050505081565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156104d7575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682019092526104d491810190610c8b565b60015b6104e4576104e44261069b565b905090565b600080546040517f3a46b1a800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff858116600483015265ffffffffffff8516602483015290911690633a46b1a890604401602060405180830381865afa158015610568573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061058c9190610ca8565b9392505050565b600061059d6106e8565b905060006105a9610712565b905081806105b45750805b156105eb576040517f6ff0714000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050565b60006105fa8261069b565b92915050565b600080546040517f8e539e8c00000000000000000000000000000000000000000000000000000000815265ffffffffffff8416600482015273ffffffffffffffffffffffffffffffffffffffff90911690638e539e8c90602401602060405180830381865afa158015610677573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105fa9190610ca8565b600065ffffffffffff8211156106e4576040517fc0188c4f0000000000000000000000000000000000000000000000000000000081526004810183905260240160405180910390fd5b5090565b60006106f34261069b565b65ffffffffffff1661070361042f565b65ffffffffffff161415905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16634bf5d7e96040518163ffffffff1660e01b8152600401600060405180830381865afa9250505080156107bf57506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526107bc9190810190610cc1565b60015b6107c95750600090565b60016040516020016107db9190610d38565b60405160208183030381529060405280519060200120816040516020016108029190610dcc565b60405160208183030381529060405280519060200120141591505090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff8111828210171561089657610896610820565b604052919050565b600067ffffffffffffffff8211156108b8576108b8610820565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b6000602082840312156108f657600080fd5b813567ffffffffffffffff81111561090d57600080fd5b8201601f8101841361091e57600080fd5b803561093161092c8261089e565b61084f565b81815285602083850101111561094657600080fd5b81602084016020830137600091810160200191909152949350505050565b60005b8381101561097f578181015183820152602001610967565b50506000910152565b60208152600082518060208401526109a7816040850160208701610964565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169190910160400192915050565b73ffffffffffffffffffffffffffffffffffffffff811681146109fb57600080fd5b50565b65ffffffffffff811681146109fb57600080fd5b60008060408385031215610a2557600080fd5b8235610a30816109d9565b91506020830135610a40816109fe565b809150509250929050565b600060208284031215610a5d57600080fd5b5035919050565b600060208284031215610a7657600080fd5b813561058c816109fe565b600060208284031215610a9357600080fd5b6040516020810181811067ffffffffffffffff82111715610ab657610ab6610820565b6040528251610ac4816109d9565b81529392505050565b600181811c90821680610ae157607f821691505b602082108103610b1a577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b601f821115610b6c576000816000526020600020601f850160051c81016020861015610b495750805b601f850160051c820191505b81811015610b6857828155600101610b55565b5050505b505050565b815167ffffffffffffffff811115610b8b57610b8b610820565b610b9f81610b998454610acd565b84610b20565b602080601f831160018114610bf25760008415610bbc5750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b178555610b68565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b82811015610c3f57888601518255948401946001909101908401610c20565b5085821015610c7b57878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b600060208284031215610c9d57600080fd5b815161058c816109fe565b600060208284031215610cba57600080fd5b5051919050565b600060208284031215610cd357600080fd5b815167ffffffffffffffff811115610cea57600080fd5b8201601f81018413610cfb57600080fd5b8051610d0961092c8261089e565b818152856020838501011115610d1e57600080fd5b610d2f826020830160208601610964565b95945050505050565b6000808354610d4681610acd565b60018281168015610d5e5760018114610d9157610dc0565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0084168752821515830287019450610dc0565b8760005260208060002060005b85811015610db75781548a820152908401908201610d9e565b50505082870194505b50929695505050505050565b60008251610dde818460208701610964565b919091019291505056fea164736f6c6343000817000a", + "nonce": "0x2", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0x19b19e75129fa926a9438b1850d352bf3ae201854528b2138e27217cf945ec0d", + "transactionIndex": "0x4b", + "blockHash": "0xc437226ae55ae989c9ea2cc9adfc2fe7e7ee22b41df5baf9baab87fab27c328c", + "blockNumber": "0x31c9c05", + "from": "0xb72276D9FF15c7998b9962FFCfB21A6C7249441B", + "to": null, + "cumulativeGasUsed": "0x114da67", + "gasUsed": "0x4ca2c1", + "contractAddress": "0x3f3DAB3ab8cEc2FBd06767c2A5F66Cb6BFF21A4A", + "logs": [ + { + "address": "0x3f3DAB3ab8cEc2FBd06767c2A5F66Cb6BFF21A4A", + "topics": [ + "0xc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2" + ], + "data": "0x000000000000000000000000000000000000000000000000ffffffffffffffff", + "blockHash": "0xc437226ae55ae989c9ea2cc9adfc2fe7e7ee22b41df5baf9baab87fab27c328c", + "blockNumber": "0x31c9c05", + "transactionHash": "0x19b19e75129fa926a9438b1850d352bf3ae201854528b2138e27217cf945ec0d", + "transactionIndex": "0x4b", + "logIndex": "0x133", + "removed": false + }, + { + "address": "0x0000000000000000000000000000000000001010", + "topics": [ + "0x4dfe1bbbcf077ddc3e01291eea2d5c70c2b422b415d95645b9adcfd678cb1d63", + "0x0000000000000000000000000000000000000000000000000000000000001010", + "0x000000000000000000000000b72276d9ff15c7998b9962ffcfb21a6c7249441b", + "0x00000000000000000000000067b94473d81d0cd00849d563c94d0432ac988b49" + ], + "data": "0x0000000000000000000000000000000000000000000000000312194447bf92eb0000000000000000000000000000000000000000000000006f05b59d3b200000000000000000000000000000000000000000000000001937ad66593d212b3a900000000000000000000000000000000000000000000000006bf39c58f3606d15000000000000000000000000000000000000000000001937b078728168eacd7b", + "blockHash": "0xc437226ae55ae989c9ea2cc9adfc2fe7e7ee22b41df5baf9baab87fab27c328c", + "blockNumber": "0x31c9c05", + "transactionHash": "0x19b19e75129fa926a9438b1850d352bf3ae201854528b2138e27217cf945ec0d", + "transactionIndex": "0x4b", + "logIndex": "0x134", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00080000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000008000000000000000000400000000000000000000000000000000000000800000000000000000000100000000000000000000000000000000000000000008000000000000000080000000000000000000000000000000000800000000000000000000000080000000000000000000200000000000000000000000000000000000000000000000000000800000004000800000000004000001000000008000000000000004000000100000000000000000020000000000000000000000000000000000000000000000000000100000", + "type": "0x2", + "effectiveGasPrice": "0x15306bc07c" + }, + { + "transactionHash": "0x6af00c50502d670318f0aedb054e2d84f3e8994fa1f51cf665dfaff144243033", + "transactionIndex": "0x4c", + "blockHash": "0xc437226ae55ae989c9ea2cc9adfc2fe7e7ee22b41df5baf9baab87fab27c328c", + "blockNumber": "0x31c9c05", + "from": "0xb72276D9FF15c7998b9962FFCfB21A6C7249441B", + "to": null, + "cumulativeGasUsed": "0x11e85d7", + "gasUsed": "0x9ab70", + "contractAddress": "0xFBE17545dffD75A92A5A72926AE581478973FE65", + "logs": [ + { + "address": "0x0000000000000000000000000000000000001010", + "topics": [ + "0x4dfe1bbbcf077ddc3e01291eea2d5c70c2b422b415d95645b9adcfd678cb1d63", + "0x0000000000000000000000000000000000000000000000000000000000001010", + "0x000000000000000000000000b72276d9ff15c7998b9962ffcfb21a6c7249441b", + "0x00000000000000000000000067b94473d81d0cd00849d563c94d0432ac988b49" + ], + "data": "0x0000000000000000000000000000000000000000000000000063300a2a39c3d000000000000000000000000000000000000000000000000068addd0265456a84000000000000000000000000000000000000000000001937b078728168eacd7b000000000000000000000000000000000000000000000000684aacf83b0ba6b4000000000000000000000000000000000000000000001937b0dba28b9324914b", + "blockHash": "0xc437226ae55ae989c9ea2cc9adfc2fe7e7ee22b41df5baf9baab87fab27c328c", + "blockNumber": "0x31c9c05", + "transactionHash": "0x6af00c50502d670318f0aedb054e2d84f3e8994fa1f51cf665dfaff144243033", + "transactionIndex": "0x4c", + "logIndex": "0x135", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00080000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000008000000000000000000000000000000000000000000000000000000000800000000000000000000100000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000004000800000000004000001000000008000000000000000000000100000000000000000020000000000000000000000000000000000000000000000000000100000", + "type": "0x2", + "effectiveGasPrice": "0x15306bc07c" + }, + { + "transactionHash": "0x71b3ec150c66d85d30be3dc9ad3d2626f47970af2188bfc437e787daf1d5152f", + "transactionIndex": "0x4d", + "blockHash": "0xc437226ae55ae989c9ea2cc9adfc2fe7e7ee22b41df5baf9baab87fab27c328c", + "blockNumber": "0x31c9c05", + "from": "0xb72276D9FF15c7998b9962FFCfB21A6C7249441B", + "to": null, + "cumulativeGasUsed": "0x12b7780", + "gasUsed": "0xcf1a9", + "contractAddress": "0x088C268cb00226D6A9b29e5488905Aa94D2f0239", + "logs": [ + { + "address": "0x088C268cb00226D6A9b29e5488905Aa94D2f0239", + "topics": [ + "0xc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2" + ], + "data": "0x000000000000000000000000000000000000000000000000ffffffffffffffff", + "blockHash": "0xc437226ae55ae989c9ea2cc9adfc2fe7e7ee22b41df5baf9baab87fab27c328c", + "blockNumber": "0x31c9c05", + "transactionHash": "0x71b3ec150c66d85d30be3dc9ad3d2626f47970af2188bfc437e787daf1d5152f", + "transactionIndex": "0x4d", + "logIndex": "0x136", + "removed": false + }, + { + "address": "0x0000000000000000000000000000000000001010", + "topics": [ + "0x4dfe1bbbcf077ddc3e01291eea2d5c70c2b422b415d95645b9adcfd678cb1d63", + "0x0000000000000000000000000000000000000000000000000000000000001010", + "0x000000000000000000000000b72276d9ff15c7998b9962ffcfb21a6c7249441b", + "0x00000000000000000000000067b94473d81d0cd00849d563c94d0432ac988b49" + ], + "data": "0x0000000000000000000000000000000000000000000000000084c630916ba7e300000000000000000000000000000000000000000000000067e0f89b78326044000000000000000000000000000000000000000000001937b0dba28b9324914b000000000000000000000000000000000000000000000000675c326ae6c6b861000000000000000000000000000000000000000000001937b16068bc2490392e", + "blockHash": "0xc437226ae55ae989c9ea2cc9adfc2fe7e7ee22b41df5baf9baab87fab27c328c", + "blockNumber": "0x31c9c05", + "transactionHash": "0x71b3ec150c66d85d30be3dc9ad3d2626f47970af2188bfc437e787daf1d5152f", + "transactionIndex": "0x4d", + "logIndex": "0x137", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00080000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000008000000000000000000000000000000000000000000000000000000000800000100000000000000100000000000000000000000000000000000000000000000000000000000080000000000010000000000000000000000800000000000000000000000080000000000000000000200000000000000000000000000000000000000000000000000000000000004000800000000004000001000000008000000000000004000000100000000000000000028000000000000000000000000000000000000000000000000000100000", + "type": "0x2", + "effectiveGasPrice": "0x15306bc07c" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1704995466, + "chain": 137, + "multi": false, + "commit": "688208a" +} \ No newline at end of file diff --git a/broadcast/DeployLlamaTokenVotingFactory.s.sol/137/run-1704995530.json b/broadcast/DeployLlamaTokenVotingFactory.s.sol/137/run-1704995530.json new file mode 100644 index 0000000..3f798c4 --- /dev/null +++ b/broadcast/DeployLlamaTokenVotingFactory.s.sol/137/run-1704995530.json @@ -0,0 +1,197 @@ +{ + "transactions": [ + { + "hash": "0x19b19e75129fa926a9438b1850d352bf3ae201854528b2138e27217cf945ec0d", + "transactionType": "CREATE", + "contractName": "LlamaTokenGovernor", + "contractAddress": "0x3f3DAB3ab8cEc2FBd06767c2A5F66Cb6BFF21A4A", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0xb72276d9ff15c7998b9962ffcfb21a6c7249441b", + "gas": "0x6398ff", + "value": "0x0", + "data": "0x60806040523480156200001157600080fd5b506200001c62000022565b620000d6565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff1615620000735760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b0390811614620000d35780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b6159f880620000e66000396000f3fe608060405234801561001057600080fd5b50600436106101da5760003560e01c80637e4a56bb11610104578063b92cdd9a116100a2578063cae3bdff11610071578063cae3bdff1461053d578063dcae21b714610552578063e45061ea14610565578063e5589b9d1461057857600080fd5b8063b92cdd9a146104e4578063b9b2cf6c146104f7578063c193c2691461050a578063c26c12eb1461053557600080fd5b80638734852a116100de5780638734852a1461049857806396ff6e2e146104ab578063a1d9b412146104be578063b3c678b0146104d157600080fd5b80637e4a56bb1461046a5780637ed7238e14610472578063807ad1141461048557600080fd5b80633fed8f161161017c57806359e5332d1161014b57806359e5332d1461036457806364f6b3161461037b5780637186dd9c1461038e57806374f717cd1461044757600080fd5b80633fed8f16146103165780634d61ebf4146103365780634ec0ab1c1461033e578063509c5fbd1461035157600080fd5b806319a39740116101b857806319a397401461025b5780631e127ddf1461026e578063372fa8e8146102c25780633df91222146102d557600080fd5b80630669b1ce146101df57806311f900b5146101f45780631650080714610227575b600080fd5b6101f26101ed366004614a11565b61058b565b005b610207610202366004614a46565b610b79565b6040805161ffff9384168152929091166020830152015b60405180910390f35b61023a610235366004614ac0565b610b90565b6040516fffffffffffffffffffffffffffffffff909116815260200161021e565b6101f2610269366004614a46565b610baa565b6101f261027c366004614b82565b3360009081526007602090815260408083207fffffffff000000000000000000000000000000000000000000000000000000009490941683529290522080546001019055565b6101f26102d0366004614bbd565b610c75565b6102fe6102e3366004614a46565b6005602052600090815260409020546001600160a01b031681565b6040516001600160a01b03909116815260200161021e565b610329610324366004614c31565b610d76565b60405161021e9190614c53565b610207610f4e565b6101f261034c366004614ce2565b610f63565b61023a61035f366004614ac0565b611030565b61036d60025481565b60405190815260200161021e565b6000546102fe906001600160a01b031681565b6103fc61039c366004614a46565b6006602052600090815260409020805460018201546002909201546fffffffffffffffffffffffffffffffff8083169370010000000000000000000000000000000093849004821693818316939181900483169282811692919091041686565b604080516fffffffffffffffffffffffffffffffff978816815295871660208701529386169385019390935290841660608401528316608083015290911660a082015260c00161021e565b61045a610455366004614d23565b611040565b604051901515815260200161021e565b6103296110a9565b61036d610480366004614ea9565b61114c565b6001546102fe906001600160a01b031681565b6101f26104a6366004614f88565b611263565b61023a6104b9366004615066565b6114b5565b61023a6104cc366004615066565b6115c6565b61036d6104df366004615131565b6116c7565b6101f26104f2366004614a11565b61171c565b6101f2610505366004614ce2565b611726565b61036d6105183660046151e2565b600760209081526000928352604080842090915290825290205481565b6102076117ef565b6105456117fc565b60405161021e919061520e565b610545610560366004614c31565b61188f565b6101f2610573366004614a11565b611a4d565b610207610586366004614a46565b612026565b600080546040517fb6e76873000000000000000000000000000000000000000000000000000000008152833560048201526001600160a01b039091169063b6e768739060240161012060405180830381865afa1580156105ef573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061061391906152c8565b9050600060018260a0015161062891906153a6565b67ffffffffffffffff169050600160009054906101000a90046001600160a01b03166001600160a01b031663ae2a6df26040518163ffffffff1660e01b815260040160006040518083038186803b15801561068257600080fd5b505afa158015610696573d6000803e3d6000fd5b505050506000806000806106b485600461203490919063ffffffff16565b909250905060006106cb6080890160608a016153ce565b6001600160a01b031663b02bd9206040518163ffffffff1660e01b8152600401602060405180830381865afa158015610708573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061072c91906153eb565b67ffffffffffffffff16905061271061ffff8416820204818860c0015167ffffffffffffffff16030194506127108261ffff1682028161076e5761076e615406565b04850193508342116107ac576040517f038d8a6a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8660c0015167ffffffffffffffff1642106107f3576040517f08c8d62700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050843560009081526006602052604080822060015491517fcdfda4dd000000000000000000000000000000000000000000000000000000008152600481018690529092916001600160a01b03169063edb8ee5a90829063cdfda4dd90602401602060405180830381865afa158015610871573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108959190615435565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b16815265ffffffffffff9091166004820152602401602060405180830381865afa1580156108f0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610914919061545d565b600183015460028401549192506fffffffffffffffffffffffffffffffff7001000000000000000000000000000000009182900481169291820481169116600061095f60038a6121cd565b9150506000610975868361ffff166127106122d8565b905080856fffffffffffffffffffffffffffffffff1610156109e3576040517fbfb9aa550000000000000000000000000000000000000000000000000000000081526fffffffffffffffffffffffffffffffff86166004820152602481018290526044015b60405180910390fd5b836fffffffffffffffffffffffffffffffff16856fffffffffffffffffffffffffffffffff1611610a5c576040517f8a0df63f0000000000000000000000000000000000000000000000000000000081526fffffffffffffffffffffffffffffffff8087166004830152851660248201526044016109da565b6000610a7b8d6060016020810190610a7491906153ce565b600061231c565b905060008054906101000a90046001600160a01b03166001600160a01b03166394004706828f6040518363ffffffff1660e01b8152600401610abe9291906155b2565b6020604051808303816000875af1158015610add573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b0191906155e8565b50604080518e3581526fffffffffffffffffffffffffffffffff808916602083015280881692820192909252908516606082015260ff82169033907ff5bc433f16cc3d0e9fcb5ac4f8de9f17eb90de1fd2a9ede5952c2097d4ef1a59906080015b60405180910390a350505050505050505050505050565b600080610b87600484612034565b91509150915091565b6000610ba0338787878787612612565b9695505050505050565b60008054906101000a90046001600160a01b03166001600160a01b031663c34c08e56040518163ffffffff1660e01b8152600401602060405180830381865afa158015610bfb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c1f9190615603565b6001600160a01b0316336001600160a01b031614610c69576040517f26bee1ce00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610c7281612c5e565b50565b6000610c818686612e2e565b6040805160008082526020820180845284905260ff88169282019290925260608101869052608081018590529192509060019060a0016020604051602081039080840390855afa158015610cd9573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001519150506001600160a01b0381161580610d2c5750866001600160a01b0316816001600160a01b031614155b15610d63576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610d6d8187612f50565b50505050505050565b60408051602081019091526060815281831115610dbf576040517f2cd4dad300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60045480831115610dfc576040517f2cd4dad300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610e088585615620565b905060008167ffffffffffffffff811115610e2557610e25614d65565b604051908082528060200260200182016040528015610e8e57816020015b60408051606081018252600080825260208083018290529282015282527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff909201910181610e435790505b509050855b85811015610f34576004805482908110610eaf57610eaf615633565b600091825260209182902060408051606081018252919092015465ffffffffffff8116825261ffff660100000000000082048116948301949094526801000000000000000090049092169082015282610f088984615620565b81518110610f1857610f18615633565b6020026020010181905250610f2d8160010190565b9050610e93565b506040805160208101909152908152925050505b92915050565b600080610f5b6004613063565b915091509091565b60008054906101000a90046001600160a01b03166001600160a01b031663c34c08e56040518163ffffffff1660e01b8152600401602060405180830381865afa158015610fb4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fd89190615603565b6001600160a01b0316336001600160a01b031614611022576040517f26bee1ce00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61102c82826130db565b5050565b6000610ba03387878787876131cf565b60008115611077575060008381526006602090815260408083206001600160a01b038616845260030190915290205460ff166110a2565b5060008381526006602090815260408083206001600160a01b038616845260040190915290205460ff165b9392505050565b6040805160208101909152606081526040805160048054602081810284018501855283018181529293919284929091849160009085015b8282101561113f576000848152602090819020604080516060810182529185015465ffffffffffff8116835261ffff660100000000000082048116848601526801000000000000000090910416908201528252600190920191016110e0565b5050505081525050905090565b60008061115f8d8d8d8d8d8d8d8d613714565b6040805160008082526020820180845284905260ff89169282019290925260608101879052608081018690529192509060019060a0016020604051602081039080840390855afa1580156111b7573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001519150506001600160a01b038116158061120a57508d6001600160a01b0316816001600160a01b031614155b15611241576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611251818e8e8e8e8e8e8e613885565b9e9d5050505050505050505050505050565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000810460ff16159067ffffffffffffffff166000811580156112ae5750825b905060008267ffffffffffffffff1660011480156112cb5750303b155b9050811580156112d9575080155b15611310576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b84547fffffffffffffffffffffffffffffffffffffffffffffffff000000000000000016600117855583156113715784547fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff16680100000000000000001785555b886001600160a01b0316639bccfe496040518163ffffffff1660e01b8152600401602060405180830381865afa1580156113af573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113d3919061545d565b50600080546001600160a01b03808c167fffffffffffffffffffffffff00000000000000000000000000000000000000009283161790925560018054928b169290911691909117905561142587612c5e565b611437866000015187602001516130db565b61144986604001518760600151613b89565b83156114aa5784547fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b505050505050505050565b6000806114c68b8b8b8b8b8b613c26565b6040805160008082526020820180845284905260ff89169282019290925260608101879052608081018690529192509060019060a0016020604051602081039080840390855afa15801561151e573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001519150506001600160a01b038116158061157157508b6001600160a01b0316816001600160a01b031614155b156115a8576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6115b6818c8c8c8c8c6131cf565b9c9b505050505050505050505050565b6000806115d78b8b8b8b8b8b613d84565b6040805160008082526020820180845284905260ff89169282019290925260608101879052608081018690529192509060019060a0016020604051602081039080840390855afa15801561162f573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001519150506001600160a01b038116158061168257508b6001600160a01b0316816001600160a01b031614155b156116b9576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6115b6818c8c8c8c8c612612565b600061170f338a8a8a8a8a8a8a8a8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061388592505050565b9998505050505050505050565b610c723382612f50565b60008054906101000a90046001600160a01b03166001600160a01b031663c34c08e56040518163ffffffff1660e01b8152600401602060405180830381865afa158015611777573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061179b9190615603565b6001600160a01b0316336001600160a01b0316146117e5576040517f26bee1ce00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61102c8282613b89565b600080610f5b6003613063565b604080516020810190915260608152604080516003805460208082028401850185528301818152929391928492909184916000908501821561113f576000848152602090819020604080516060810182529185015465ffffffffffff8116835261ffff660100000000000082048116848601526801000000000000000090910416908201528252600190920191016110e0565b604080516020810190915260608152818311156118d8576040517f2cd4dad300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60035480831115611915576040517f2cd4dad300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006119218585615620565b905060008167ffffffffffffffff81111561193e5761193e614d65565b6040519080825280602002602001820160405280156119a757816020015b60408051606081018252600080825260208083018290529282015282527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90920191018161195c5790505b509050855b85811015610f345760038054829081106119c8576119c8615633565b600091825260209182902060408051606081018252919092015465ffffffffffff8116825261ffff660100000000000082048116948301949094526801000000000000000090049092169082015282611a218984615620565b81518110611a3157611a31615633565b6020026020010181905250611a468160010190565b90506119ac565b600080546040517fb6e76873000000000000000000000000000000000000000000000000000000008152833560048201526001600160a01b039091169063b6e768739060240161012060405180830381865afa158015611ab1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ad591906152c8565b9050600060018260a00151611aea91906153a6565b67ffffffffffffffff169050600160009054906101000a90046001600160a01b03166001600160a01b031663ae2a6df26040518163ffffffff1660e01b815260040160006040518083038186803b158015611b4457600080fd5b505afa158015611b58573d6000803e3d6000fd5b50505050600080600080611b7685600461203490919063ffffffff16565b90925090506000611b8d6080890160608a016153ce565b6001600160a01b0316637999762c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611bca573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bee91906153eb565b67ffffffffffffffff16905061271061ffff84168202048760a0015167ffffffffffffffff160194506127108261ffff16820281611c2e57611c2e615406565b0485019350834211611c6c576040517f038d8a6a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b808760a0015167ffffffffffffffff16611c869190615662565b421115611cbf576040517f08c8d62700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050843560009081526006602052604080822060015491517fcdfda4dd000000000000000000000000000000000000000000000000000000008152600481018690529092916001600160a01b03169063edb8ee5a90829063cdfda4dd90602401602060405180830381865afa158015611d3d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d619190615435565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b16815265ffffffffffff9091166004820152602401602060405180830381865afa158015611dbc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611de0919061545d565b825460018401549192506fffffffffffffffffffffffffffffffff808216928116917001000000000000000000000000000000009004166000611e2460038a6121cd565b5090506000611e3a868361ffff166127106122d8565b905080856fffffffffffffffffffffffffffffffff161015611ea3576040517f0425fab10000000000000000000000000000000000000000000000000000000081526fffffffffffffffffffffffffffffffff86166004820152602481018290526044016109da565b836fffffffffffffffffffffffffffffffff16856fffffffffffffffffffffffffffffffff1611611f1c576040517f8a0df63f0000000000000000000000000000000000000000000000000000000081526fffffffffffffffffffffffffffffffff8087166004830152851660248201526044016109da565b6000611f3b8d6060016020810190611f3491906153ce565b600161231c565b905060008054906101000a90046001600160a01b03166001600160a01b03166389e7d126828f6040518363ffffffff1660e01b8152600401611f7e9291906155b2565b6020604051808303816000875af1158015611f9d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fc191906155e8565b50604080518e3581526fffffffffffffffffffffffffffffffff808916602083015280881692820192909252908516606082015260ff82169033907ff23279e924757f3bfe4f543bc1b43685e851d6ace53f8518b806dcd8d42fc13990608001610b62565b600080610b876003846121cd565b6000804283106120c6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f506572696f64506374436865636b706f696e74733a2074696d657374616d702060448201527f6973206e6f7420696e207468652070617374000000000000000000000000000060648201526084016109da565b60006120d184613db3565b855490915060008160058111156121315760006120ed84613dfc565b6120f79085615620565b60008a81526020902090915081015465ffffffffffff90811690861610156121215780915061212f565b61212c816001615662565b92505b505b600061213f89868585613eae565b90508060000361215a576000809650965050505050506121c6565b60006121798a61216b600185615620565b600091825260209091200190565b60408051606081018252915465ffffffffffff8116835261ffff66010000000000008204811660208501819052680100000000000000009092041692909101829052985096505050505050505b9250929050565b60008042831061225f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602f60248201527f51756f72756d436865636b706f696e74733a2074696d657374616d702069732060448201527f6e6f7420696e207468652070617374000000000000000000000000000000000060648201526084016109da565b600061226a84613db3565b855490915060008160058111156122ca57600061228684613dfc565b6122909085615620565b60008a81526020902090915081015465ffffffffffff90811690861610156122ba578091506122c8565b6122c5816001615662565b92505b505b600061213f89868585613f10565b6000827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048411830215820261230d57600080fd5b50910281810615159190040190565b60008054604080517f0505c8c9000000000000000000000000000000000000000000000000000000008152905183926001600160a01b031691630505c8c99160048083019260209291908290030181865afa15801561237f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123a39190615603565b6001600160a01b0316638b2ed3886040518163ffffffff1660e01b8152600401602060405180830381865afa1580156123e0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124049190615675565b905060015b8160ff16811161253b57836124a1576040517fc167ebae00000000000000000000000000000000000000000000000000000000815260ff821660048201526001600160a01b0386169063c167ebae90602401602060405180830381865afa158015612478573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061249c9190615692565b612525565b6040517ffb847c4300000000000000000000000000000000000000000000000000000000815260ff821660048201526001600160a01b0386169063fb847c4390602401602060405180830381865afa158015612501573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125259190615692565b15612533579150610f489050565b600101612409565b50826125a857836001600160a01b03166312a52f006040518163ffffffff1660e01b8152600401602060405180830381865afa15801561257f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125a39190615675565b61260a565b836001600160a01b03166366cacdc96040518163ffffffff1660e01b8152600401602060405180830381865afa1580156125e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061260a9190615675565b949350505050565b600080546040517fb6e768730000000000000000000000000000000000000000000000000000000081528635600482015282916001600160a01b03169063b6e768739060240161012060405180830381865afa158015612676573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061269a91906152c8565b9050600060018260a001516126af91906153a6565b8735600090815260066020526040902067ffffffffffffffff9190911691506126de6080890160608a016153ce565b6001600160a01b03166302674e4b89308c6040518463ffffffff1660e01b815260040161270d939291906156af565b60006040518083038186803b15801561272557600080fd5b505afa158015612739573d6000803e3d6000fd5b505050506001600160a01b038a16600090815260048201602052604090205460ff1615612792576040517f9dd6544b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6127a0888a89600486613f6a565b60008080806127b0600487612034565b909250905060006127c760808e0160608f016153ce565b6001600160a01b031663b02bd9206040518163ffffffff1660e01b8152600401602060405180830381865afa158015612804573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061282891906153eb565b67ffffffffffffffff16905061271061ffff8416820204818960c0015167ffffffffffffffff16030194506127108261ffff1682028161286a5761286a615406565b04850193508442116128a8576040517fd0b72b4900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b834211156128e2576040517f5b73d19300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050506000612a25600160009054906101000a90046001600160a01b03166001600160a01b0316639556de738f600160009054906101000a90046001600160a01b03166001600160a01b031663cdfda4dd886040518263ffffffff1660e01b815260040161295291815260200190565b602060405180830381865afa15801561296f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906129939190615435565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b1681526001600160a01b03909216600483015265ffffffffffff166024820152604401602060405180830381865afa1580156129fc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a20919061545d565b61425e565b905060ff8a16612a9e576002840154612a649070010000000000000000000000000000000090046fffffffffffffffffffffffffffffffff16826142ad565b6002850180546fffffffffffffffffffffffffffffffff928316700100000000000000000000000000000000029216919091179055612bc6565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60ff8b1601612b37576001840154612afd9070010000000000000000000000000000000090046fffffffffffffffffffffffffffffffff16826142ad565b6001850180546fffffffffffffffffffffffffffffffff928316700100000000000000000000000000000000029216919091179055612bc6565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe60ff8b1601612bc6576002840154612b82906fffffffffffffffffffffffffffffffff16826142ad565b6002850180547fffffffffffffffffffffffffffffffff00000000000000000000000000000000166fffffffffffffffffffffffffffffffff929092169190911790555b6001600160a01b038d1660008181526004860160205260409081902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790555160ff8c1691907f4e3e2ad68670a2709cb408c31c5afd8da0b6d3d06c75b11feb404a455639fe7c90612c46908f359086908f908f90615713565b60405180910390a39c9b505050505050505050505050565b60018054604080517f91ddadf400000000000000000000000000000000000000000000000000000000815290516000936001600160a01b039093169263edb8ee5a92909184916391ddadf49160048083019260209291908290030181865afa158015612cce573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612cf29190615435565b612cfc9190615745565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b16815265ffffffffffff9091166004820152602401602060405180830381865afa158015612d57573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612d7b919061545d565b905080600003612db7576040517f34bbd58500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80821115612df1576040517f8a5e746800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60028290556040518281527fd91a985c173545ab0e0bd11c021a1ae84c1ea6eab9350d9bf3812d5b8bff49a4906020015b60405180910390a15050565b6000807f6da9390b4f29da2c44fa5a9da00b392393d01e989d16e4a3dec5a538318e352584612e5c856142f4565b6001600160a01b03871660009081526007602090815260408083207fffffffff00000000000000000000000000000000000000000000000000000000843516845290915290208054600181019091556040805160208101959095526001600160a01b03909316928401929092526060830152608082015260a001604051602081830303815290604052805190602001209050612ef66143eb565b6040517f190100000000000000000000000000000000000000000000000000000000000060208201526022810191909152604281018290526062016040516020818303038152906040528051906020012091505092915050565b80356000908152600560205260409020546001600160a01b03838116911614612fa5576040517f86ba025600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000546040517fb92cdd9a0000000000000000000000000000000000000000000000000000000081526001600160a01b039091169063b92cdd9a90612fee908490600401615764565b600060405180830381600087803b15801561300857600080fd5b505af115801561301c573d6000803e3d6000fd5b5050604051833581526001600160a01b03851692507fdcccc5725b7256a6975da00de8953e5d326756a3079d203ff6df9e52331f411a915060200160405180910390a25050565b8054600090819080820361307d5750600093849350915050565b600061308e8561216b600185615620565b60408051606081018252915465ffffffffffff8116835261ffff66010000000000008204811660208501819052680100000000000000009092041692909101829052969095509350505050565b6127108261ffff1611806130f1575061ffff8216155b1561312e576040517f8f6febc000000000000000000000000000000000000000000000000000000000815261ffff831660048201526024016109da565b6127108161ffff161180613144575061ffff8116155b15613181576040517f3bec511c00000000000000000000000000000000000000000000000000000000815261ffff821660048201526024016109da565b613194600361ffff80851690841661454d565b6040805161ffff8085168252831660208201527f77c3f43700db02acb49792bbf699b39f72c2ed4b920bd5c0b1843dcd7c832f4c9101612e22565b600080546040517fb6e768730000000000000000000000000000000000000000000000000000000081528635600482015282916001600160a01b03169063b6e768739060240161012060405180830381865afa158015613233573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061325791906152c8565b9050600060018260a0015161326c91906153a6565b8735600090815260066020526040902067ffffffffffffffff91909116915061329b6080890160608a016153ce565b6001600160a01b0316631a2a4e7789308c6040518463ffffffff1660e01b81526004016132ca939291906156af565b60006040518083038186803b1580156132e257600080fd5b505afa1580156132f6573d6000803e3d6000fd5b505050506001600160a01b038a16600090815260038201602052604090205460ff161561334f576040517f9dd6544b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61335d888a89600086613f6a565b600080808061336d600487612034565b9092509050600061338460808e0160608f016153ce565b6001600160a01b0316637999762c6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156133c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906133e591906153eb565b67ffffffffffffffff16905061271061ffff84168202048860a0015167ffffffffffffffff160194506127108261ffff1682028161342557613425615406565b0485019350844211613463576040517fd0b72b4900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8342111561349d576040517f5b73d19300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050600061350d600160009054906101000a90046001600160a01b03166001600160a01b0316639556de738f600160009054906101000a90046001600160a01b03166001600160a01b031663cdfda4dd886040518263ffffffff1660e01b815260040161295291815260200190565b905060ff8a16613580576001840154613538906fffffffffffffffffffffffffffffffff16826142ad565b6001850180547fffffffffffffffffffffffffffffffff00000000000000000000000000000000166fffffffffffffffffffffffffffffffff92909216919091179055613694565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60ff8b16016136095783546135c8906fffffffffffffffffffffffffffffffff16826142ad565b84547fffffffffffffffffffffffffffffffff00000000000000000000000000000000166fffffffffffffffffffffffffffffffff91909116178455613694565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe60ff8b16016136945783546136659070010000000000000000000000000000000090046fffffffffffffffffffffffffffffffff16826142ad565b84546fffffffffffffffffffffffffffffffff9182167001000000000000000000000000000000000291161784555b6001600160a01b038d1660008181526003860160205260409081902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790555160ff8c1691907f761cce3a1af5d9cfc0d57222f605ce4bd2be345f0ad9ebb7b83a84a91a0c201490612c46908f359086908f908f90615713565b6001600160a01b03881660009081526007602090815260408083207fffffffff000000000000000000000000000000000000000000000000000000008435168452909152812080546001810190915560007fd1fab1c7b3b37134662e5867b00e272eb49f7be0a890df29e802c3cc66c06f838b8b8b8b8b8b8b60405161379b929190615777565b604080519182900382208c516020808f0191909120908401999099526001600160a01b039788169183019190915260ff90951660608201529285166080840152931660a082015260c081019290925260e08201526101008101919091526101208101839052610140016040516020818303038152906040528051906020012090506138246143eb565b6040517f19010000000000000000000000000000000000000000000000000000000000006020820152602281019190915260428101829052606201604051602081830303815290604052805190602001209250505098975050505050505050565b600154604080517fae2a6df200000000000000000000000000000000000000000000000000000000815290516000926001600160a01b03169163ae2a6df29160048083019286929190829003018186803b1580156138e257600080fd5b505afa1580156138f6573d6000803e3d6000fd5b505060018054604080517f91ddadf40000000000000000000000000000000000000000000000000000000081529051600095506001600160a01b039092169350639556de73928e92909185916391ddadf4916004808201926020929091908290030181865afa15801561396d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906139919190615435565b61399b9190615745565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b1681526001600160a01b03909216600483015265ffffffffffff166024820152604401602060405180830381865afa158015613a04573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613a28919061545d565b9050600254811015613a69576040517f92665351000000000000000000000000000000000000000000000000000000008152600481018290526024016109da565b6000546040517fb3c678b00000000000000000000000000000000000000000000000000000000081526001600160a01b039091169063b3c678b090613abe908c908c908c908c908c908c908c906004016157ab565b6020604051808303816000875af1158015613add573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613b01919061545d565b60008181526005602090815260409182902080547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b038f16908117909155915183815292945090917f1834dfd49255741a8ce9a9bd66b91b64d13622e1d8170e4c78ac91f9ec50a542910160405180910390a25098975050505050505050565b612710613b96828461583b565b61ffff1610613bdf576040517f519dd38400000000000000000000000000000000000000000000000000000000815261ffff8084166004830152821660248201526044016109da565b613beb60048383614576565b6040805161ffff8085168252831660208201527f8df7bdcce333d9e1b85e40782fb2f293c805761d3f48aaea58865e9541e44c709101612e22565b6000807fd7be168a3509af358f222ee35ee76aba47bc5fc2c35061cdce3958f510b7b1b28888613c55896142f4565b888888604051613c66929190615777565b60408051918290039091206001600160a01b038f166000908152600760209081528382207fffffffff0000000000000000000000000000000000000000000000000000000083351683529052919091208054600181019091556040805160208101989098526001600160a01b039096169587019590955260ff938416606087015260808601929092529190911660a084015260c083015260e082015261010001604051602081830303815290604052805190602001209050613d266143eb565b6040517f19010000000000000000000000000000000000000000000000000000000000006020820152602281019190915260428101829052606201604051602081830303815290604052805190602001209150509695505050505050565b6000807fa87058c5a9888e7af4405a932381d5a4612c61354bc3e52e9ea361ba17703fb38888613c55896142f4565b600065ffffffffffff821115613df8576040517fc0188c4f000000000000000000000000000000000000000000000000000000008152600481018390526024016109da565b5090565b60b581710100000000000000000000000000000000008110613e235760409190911b9060801c5b69010000000000000000008110613e3f5760209190911b9060401c5b650100000000008110613e575760109190911b9060201c5b63010000008110613e6d5760089190911b9060101c5b62010000010260121c80820401600190811c80830401811c80830401811c80830401811c80830401811c80830401811c80830401901c908190048111900390565b60005b81831015613f08576000613ec584846145a2565b60008781526020902090915065ffffffffffff86169082015465ffffffffffff161115613ef457809250613f02565b613eff816001615662565b93505b50613eb1565b509392505050565b60005b81831015613f08576000613f2784846145a2565b60008781526020902090915065ffffffffffff86169082015465ffffffffffff161115613f5657809250613f64565b613f61816001615662565b93505b50613f13565b600260ff84161115613fad576040517ffe0e5d8b00000000000000000000000000000000000000000000000000000000815260ff841660048201526024016109da565b600080546040517fec12d8be0000000000000000000000000000000000000000000000000000000081526001600160a01b039091169063ec12d8be90613ff7908990600401615764565b602060405180830381865afa158015614014573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906140389190615675565b60ff16600681111561404c5761404c6156e4565b9050826006811115614060576140606156e4565b816006811115614072576140726156e4565b146140ab57806040517f87afe58e0000000000000000000000000000000000000000000000000000000081526004016109da9190615856565b60008060009054906101000a90046001600160a01b03166001600160a01b0316630505c8c96040518163ffffffff1660e01b8152600401602060405180830381865afa1580156140ff573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906141239190615603565b6040517fe0bec07600000000000000000000000000000000000000000000000000000000815230600482015260ff88166024820152604481018590526001600160a01b03919091169063e0bec07690606401602060405180830381865afa158015614192573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906141b69190615692565b9050806141ef576040517f88aebd1200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600160009054906101000a90046001600160a01b03166001600160a01b031663ae2a6df26040518163ffffffff1660e01b815260040160006040518083038186803b15801561423d57600080fd5b505afa158015614251573d6000803e3d6000fd5b5050505050505050505050565b60006fffffffffffffffffffffffffffffffff821115613df8576040517fc0188c4f000000000000000000000000000000000000000000000000000000008152600481018390526024016109da565b60006fffffffffffffffffffffffffffffffff6142ce838216858316615662565b106142ea57506fffffffffffffffffffffffffffffffff610f48565b6110a28284615897565b60007f86b4555c6e347ea3f038485b59b894986c208b67da7e65fcfa3707271608465f823561432960408501602086016153ce565b61433960608601604087016158c0565b61434960808701606088016153ce565b61435960a08801608089016153ce565b60a088013561436b60c08a018a6158dd565b604051614379929190615777565b6040805191829003822060208301999099528101969096526001600160a01b03948516606087015260ff909316608086015290831660a08501529190911660c083015260e082015261010081019190915261012001604051602081830303815290604052805190602001209050919050565b60008054604080517f06fdde0300000000000000000000000000000000000000000000000000000000815290517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f926001600160a01b0316916306fdde0391600480830192879291908290030181865afa15801561446d573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526144b39190810190615942565b8051602091820120604080518082018252600181527f310000000000000000000000000000000000000000000000000000000000000090840152805192830193909352918101919091527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a082015260c00160405160208183030381529060405280519060200120905090565b6145718361455a42613db3565b614563856145bd565b61456c856145bd565b6145fe565b505050565b6145718361458342613db3565b6145908561ffff166145bd565b61459d8561ffff166145bd565b614909565b60006145b160028484186159b0565b6110a290848416615662565b600061ffff821115613df8576040517fc0188c4f000000000000000000000000000000000000000000000000000000008152600481018390526024016109da565b835480156148475760006146178661216b600185615620565b60408051606081018252915465ffffffffffff80821680855261ffff66010000000000008404811660208701526801000000000000000090930490921692840192909252919250861610156146ed576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f51756f72756d20436865636b706f696e743a20696e76616c69642074696d657360448201527f74616d700000000000000000000000000000000000000000000000000000000060648201526084016109da565b805165ffffffffffff8087169116036147865760006147118761216b600186615620565b805461ffff86811668010000000000000000027fffffffffffffffffffffffffffffffffffffffffffff0000ffffffffffffffff918916660100000000000002919091167fffffffffffffffffffffffffffffffffffffffffffff00000000ffffffffffff9092169190911717905550614841565b6040805160608101825265ffffffffffff808816825261ffff80881660208085019182528883169585019586528b54600181018d5560008d81529190912094519401805491519551831668010000000000000000027fffffffffffffffffffffffffffffffffffffffffffff0000ffffffffffffffff969093166601000000000000027fffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000909216949093169390931792909217929092161790555b50614902565b6040805160608101825265ffffffffffff808716825261ffff80871660208085019182528783169585019586528a54600181018c5560008c81529190912094519401805491519551831668010000000000000000027fffffffffffffffffffffffffffffffffffffffffffff0000ffffffffffffffff969093166601000000000000027fffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000909216949093169390931792909217929092161790555b5050505050565b835480156148475760006149228661216b600185615620565b60408051606081018252915465ffffffffffff80821680855261ffff66010000000000008404811660208701526801000000000000000090930490921692840192909252919250861610156146ed576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602860248201527f506572696f642050637420436865636b706f696e743a20696e76616c6964207460448201527f696d657374616d7000000000000000000000000000000000000000000000000060648201526084016109da565b600060e08284031215614a0b57600080fd5b50919050565b600060208284031215614a2357600080fd5b813567ffffffffffffffff811115614a3a57600080fd5b61260a848285016149f9565b600060208284031215614a5857600080fd5b5035919050565b60ff81168114610c7257600080fd5b8035614a7981614a5f565b919050565b60008083601f840112614a9057600080fd5b50813567ffffffffffffffff811115614aa857600080fd5b6020830191508360208285010111156121c657600080fd5b600080600080600060808688031215614ad857600080fd5b8535614ae381614a5f565b9450602086013567ffffffffffffffff80821115614b0057600080fd5b614b0c89838a016149f9565b955060408801359150614b1e82614a5f565b90935060608701359080821115614b3457600080fd5b50614b4188828901614a7e565b969995985093965092949392505050565b80357fffffffff0000000000000000000000000000000000000000000000000000000081168114614a7957600080fd5b600060208284031215614b9457600080fd5b6110a282614b52565b6001600160a01b0381168114610c7257600080fd5b8035614a7981614b9d565b600080600080600060a08688031215614bd557600080fd5b8535614be081614b9d565b9450602086013567ffffffffffffffff811115614bfc57600080fd5b614c08888289016149f9565b9450506040860135614c1981614a5f565b94979396509394606081013594506080013592915050565b60008060408385031215614c4457600080fd5b50508035926020909101359150565b60208082528251828201829052805160408401819052600092916060919083019082860190855b81811015614cc357614cb3838551805165ffffffffffff16825260208082015161ffff9081169184019190915260409182015116910152565b9285019291840191600101614c7a565b5090979650505050505050565b803561ffff81168114614a7957600080fd5b60008060408385031215614cf557600080fd5b614cfe83614cd0565b9150614d0c60208401614cd0565b90509250929050565b8015158114610c7257600080fd5b600080600060608486031215614d3857600080fd5b833592506020840135614d4a81614b9d565b91506040840135614d5a81614d15565b809150509250925092565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051610120810167ffffffffffffffff81118282101715614db857614db8614d65565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715614e0557614e05614d65565b604052919050565b600067ffffffffffffffff821115614e2757614e27614d65565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b600082601f830112614e6457600080fd5b8135614e77614e7282614e0d565b614dbe565b818152846020838601011115614e8c57600080fd5b816020850160208301376000918101602001919091529392505050565b60008060008060008060008060008060006101408c8e031215614ecb57600080fd5b614ed48c614bb2565b9a50614ee260208d01614a6e565b9950614ef060408d01614bb2565b9850614efe60608d01614bb2565b975060808c0135965067ffffffffffffffff8060a08e01351115614f2157600080fd5b614f318e60a08f01358f01614a7e565b909750955060c08d0135811015614f4757600080fd5b50614f588d60c08e01358e01614e53565b9350614f6660e08d01614a6e565b92506101008c013591506101208c013590509295989b509295989b9093969950565b60008060008084860360e0811215614f9f57600080fd5b8535614faa81614b9d565b94506020860135614fba81614b9d565b93506040860135925060807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa082011215614ff357600080fd5b506040516080810181811067ffffffffffffffff8211171561501757615017614d65565b60405261502660608701614cd0565b815261503460808701614cd0565b602082015261504560a08701614cd0565b604082015261505660c08701614cd0565b6060820152939692955090935050565b60008060008060008060008060006101008a8c03121561508557600080fd5b893561509081614b9d565b985060208a01356150a081614a5f565b975060408a013567ffffffffffffffff808211156150bd57600080fd5b6150c98d838e016149f9565b985060608c013591506150db82614a5f565b90965060808b013590808211156150f157600080fd5b506150fe8c828d01614a7e565b90965094505060a08a013561511281614a5f565b8093505060c08a0135915060e08a013590509295985092959850929598565b60008060008060008060008060c0898b03121561514d57600080fd5b883561515881614a5f565b9750602089013561516881614b9d565b9650604089013561517881614b9d565b955060608901359450608089013567ffffffffffffffff8082111561519c57600080fd5b6151a88c838d01614a7e565b909650945060a08b01359150808211156151c157600080fd5b506151ce8b828c01614a7e565b999c989b5096995094979396929594505050565b600080604083850312156151f557600080fd5b823561520081614b9d565b9150614d0c60208401614b52565b60208082528251828201829052805160408401819052600092916060919083019082860190855b81811015614cc35761526e838551805165ffffffffffff16825260208082015161ffff9081169184019190915260409182015116910152565b9285019291840191600101615235565b8051614a7981614d15565b8051614a7981614b9d565b805167ffffffffffffffff81168114614a7957600080fd5b80516bffffffffffffffffffffffff81168114614a7957600080fd5b600061012082840312156152db57600080fd5b6152e3614d94565b825181526152f36020840161527e565b60208201526153046040840161527e565b60408201526153156060840161527e565b606082015261532660808401615289565b608082015261533760a08401615294565b60a082015261534860c08401615294565b60c082015261535960e084016152ac565b60e082015261010061536c8185016152ac565b908201529392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b67ffffffffffffffff8281168282160390808211156153c7576153c7615377565b5092915050565b6000602082840312156153e057600080fd5b81356110a281614b9d565b6000602082840312156153fd57600080fd5b6110a282615294565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006020828403121561544757600080fd5b815165ffffffffffff811681146110a257600080fd5b60006020828403121561546f57600080fd5b5051919050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b80358252600060208201356154d381614b9d565b6001600160a01b0390811660208501526040830135906154f282614a5f565b60ff821660408601526060840135915061550b82614b9d565b908116606085015260808301359061552282614b9d565b16608084015260a0828101359084015260c0820135368390037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe101811261556857600080fd5b820160208101903567ffffffffffffffff81111561558557600080fd5b80360382131561559457600080fd5b60e060c08601526155a960e086018284615476565b95945050505050565b60ff831681526060602082015260006155ce60608301846154bf565b828103604084015260008152602081019150509392505050565b6000602082840312156155fa57600080fd5b6110a2826152ac565b60006020828403121561561557600080fd5b81516110a281614b9d565b81810381811115610f4857610f48615377565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b80820180821115610f4857610f48615377565b60006020828403121561568757600080fd5b81516110a281614a5f565b6000602082840312156156a457600080fd5b81516110a281614d15565b6060815260006156c260608301866154bf565b90506001600160a01b038416602083015260ff83166040830152949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b8481526fffffffffffffffffffffffffffffffff84166020820152606060408201526000610ba0606083018486615476565b65ffffffffffff8281168282160390808211156153c7576153c7615377565b6020815260006110a260208301846154bf565b8183823760009101908152919050565b60005b838110156157a257818101518382015260200161578a565b50506000910152565b60ff8816815260006001600160a01b03808916602084015280881660408401525085606083015260c060808301526157e760c083018587615476565b82810360a08401528351808252615805816020840160208801615787565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016016020019998505050505050505050565b61ffff8181168382160190808211156153c7576153c7615377565b6020810160078310615891577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b91905290565b6fffffffffffffffffffffffffffffffff8181168382160190808211156153c7576153c7615377565b6000602082840312156158d257600080fd5b81356110a281614a5f565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261591257600080fd5b83018035915067ffffffffffffffff82111561592d57600080fd5b6020019150368190038213156121c657600080fd5b60006020828403121561595457600080fd5b815167ffffffffffffffff81111561596b57600080fd5b8201601f8101841361597c57600080fd5b805161598a614e7282614e0d565b81815285602083850101111561599f57600080fd5b6155a9826020830160208601615787565b6000826159e6577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b50049056fea164736f6c6343000817000a", + "nonce": "0x0", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x6af00c50502d670318f0aedb054e2d84f3e8994fa1f51cf665dfaff144243033", + "transactionType": "CREATE", + "contractName": "LlamaTokenVotingFactory", + "contractAddress": "0xFBE17545dffD75A92A5A72926AE581478973FE65", + "function": null, + "arguments": [ + "0x3f3DAB3ab8cEc2FBd06767c2A5F66Cb6BFF21A4A" + ], + "transaction": { + "type": "0x02", + "from": "0xb72276d9ff15c7998b9962ffcfb21a6c7249441b", + "gas": "0xc9127", + "value": "0x0", + "data": "0x60a060405234801561001057600080fd5b50604051610b16380380610b1683398101604081905261002f91610040565b6001600160a01b0316608052610070565b60006020828403121561005257600080fd5b81516001600160a01b038116811461006957600080fd5b9392505050565b608051610a8561009160003960008181604001526104390152610a856000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c806321618ea41461003b5780633ec857a51461008b575b600080fd5b6100627f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b61006261009936600461087b565b600080338360000151846040015185606001516040516020016100bf9493929190610959565b60405160208183030381529060405280519060200120905060006100e7846020015183610622565b60408086015190517f439fab9100000000000000000000000000000000000000000000000000000000815291925073ffffffffffffffffffffffffffffffffffffffff83169163439fab919161013f916004016109b9565b6020604051808303816000875af115801561015e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101829190610a0a565b50600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1663fc0c546a6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156101e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061020a9190610a33565b73ffffffffffffffffffffffffffffffffffffffff1603610257576040517f65f5b03400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517fcdfda4dd00000000000000000000000000000000000000000000000000000000815242600482015273ffffffffffffffffffffffffffffffffffffffff82169063cdfda4dd90602401602060405180830381865afa1580156102c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102e59190610a50565b65ffffffffffff16600003610326576040517f65f5b03400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff166391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865afa158015610371573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103959190610a50565b65ffffffffffff166000036103d6576040517f65f5b03400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1663ae2a6df26040518163ffffffff1660e01b815260040160006040518083038186803b15801561041c57600080fd5b505afa158015610430573d6000803e3d6000fd5b5050505061045e7f000000000000000000000000000000000000000000000000000000000000000083610622565b8451608086015160a0870151604080517f8734852a00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff948516600482015286851660248201526044810193909352815161ffff908116606485015260208301518116608485015290820151811660a48401526060909101511660c4820152919450841690638734852a9060e401600060405180830381600087803b15801561051757600080fd5b505af115801561052b573d6000803e3d6000fd5b505050508073ffffffffffffffffffffffffffffffffffffffff1663fc0c546a6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561057a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061059e9190610a33565b84516020808701516060808901516040805173ffffffffffffffffffffffffffffffffffffffff94851681528885169581019590955284015287821690830152466080830152928316929091169033907f4c8bb78cb1c62e64cef39fc4b4a1864d1a331a28c7bd59a67fe969cc8ab715879060a00160405180910390a45050919050565b6000763d602d80600a3d3981f3363d3d373d3d3d363d730000008360601b60e81c176000526e5af43d82803e903d91602b57fd5bf38360781b1760205281603760096000f5905073ffffffffffffffffffffffffffffffffffffffff81166106b6576040517fc2f868f400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405160c0810167ffffffffffffffff8111828210171561070e5761070e6106bc565b60405290565b73ffffffffffffffffffffffffffffffffffffffff8116811461073657600080fd5b50565b600082601f83011261074a57600080fd5b813567ffffffffffffffff80821115610765576107656106bc565b604051601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011681019082821181831017156107ab576107ab6106bc565b816040528381528660208588010111156107c457600080fd5b836020870160208301376000602085830101528094505050505092915050565b803561ffff811681146107f657600080fd5b919050565b60006080828403121561080d57600080fd5b6040516080810181811067ffffffffffffffff82111715610830576108306106bc565b60405290508061083f836107e4565b815261084d602084016107e4565b602082015261085e604084016107e4565b604082015261086f606084016107e4565b60608201525092915050565b60006020828403121561088d57600080fd5b813567ffffffffffffffff808211156108a557600080fd5b9083019061012082860312156108ba57600080fd5b6108c26106eb565b82356108cd81610714565b815260208301356108dd81610714565b60208201526040830135828111156108f457600080fd5b61090087828601610739565b60408301525060608301356060820152608083013560808201526109278660a085016107fb565b60a082015295945050505050565b60005b83811015610950578181015183820152602001610938565b50506000910152565b60007fffffffffffffffffffffffffffffffffffffffff000000000000000000000000808760601b168352808660601b1660148401525083516109a3816028850160208801610935565b6028920191820192909252604801949350505050565b60208152600082518060208401526109d8816040850160208701610935565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169190910160400192915050565b600060208284031215610a1c57600080fd5b81518015158114610a2c57600080fd5b9392505050565b600060208284031215610a4557600080fd5b8151610a2c81610714565b600060208284031215610a6257600080fd5b815165ffffffffffff81168114610a2c57600080fdfea164736f6c6343000817000a0000000000000000000000003f3dab3ab8cec2fbd06767c2a5f66cb6bff21a4a", + "nonce": "0x1", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x71b3ec150c66d85d30be3dc9ad3d2626f47970af2188bfc437e787daf1d5152f", + "transactionType": "CREATE", + "contractName": "LlamaTokenAdapterVotesTimestamp", + "contractAddress": "0x088C268cb00226D6A9b29e5488905Aa94D2f0239", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0xb72276d9ff15c7998b9962ffcfb21a6c7249441b", + "gas": "0x10d28c", + "value": "0x0", + "data": "0x608060405234801561001057600080fd5b5061001961001e565b6100d0565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff161561006e5760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b03908116146100cd5780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b610df5806100df6000396000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c8063ae2a6df21161005b578063ae2a6df21461010a578063cdfda4dd14610114578063edb8ee5a14610127578063fc0c546a1461013a57600080fd5b8063439fab911461008d5780634bf5d7e9146100b557806391ddadf4146100ca5780639556de73146100e9575b600080fd5b6100a061009b3660046108e4565b61017f565b60405190151581526020015b60405180910390f35b6100bd6103a1565b6040516100ac9190610988565b6100d261042f565b60405165ffffffffffff90911681526020016100ac565b6100fc6100f7366004610a12565b6104e9565b6040519081526020016100ac565b610112610593565b005b6100d2610122366004610a4b565b6105ef565b6100fc610135366004610a64565b610600565b60005461015a9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100ac565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0080546000919068010000000000000000810460ff16159067ffffffffffffffff1683811580156101cd5750825b905060008267ffffffffffffffff1660011480156101ea5750303b155b9050811580156101f8575080155b1561022f576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b84547fffffffffffffffffffffffffffffffffffffffffffffffff000000000000000016600117855583156102905784547fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff16680100000000000000001785555b6000878060200190518101906102a69190610a81565b8051600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff90921691909117905560408051808201909152600e81527f6d6f64653d74696d657374616d7000000000000000000000000000000000000060208201529091506001906103309082610b71565b50600196505083156103975784547fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b5050505050919050565b600180546103ae90610acd565b80601f01602080910402602001604051908101604052809291908181526020018280546103da90610acd565b80156104275780601f106103fc57610100808354040283529160200191610427565b820191906000526020600020905b81548152906001019060200180831161040a57829003601f168201915b505050505081565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156104d7575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682019092526104d491810190610c8b565b60015b6104e4576104e44261069b565b905090565b600080546040517f3a46b1a800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff858116600483015265ffffffffffff8516602483015290911690633a46b1a890604401602060405180830381865afa158015610568573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061058c9190610ca8565b9392505050565b600061059d6106e8565b905060006105a9610712565b905081806105b45750805b156105eb576040517f6ff0714000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050565b60006105fa8261069b565b92915050565b600080546040517f8e539e8c00000000000000000000000000000000000000000000000000000000815265ffffffffffff8416600482015273ffffffffffffffffffffffffffffffffffffffff90911690638e539e8c90602401602060405180830381865afa158015610677573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105fa9190610ca8565b600065ffffffffffff8211156106e4576040517fc0188c4f0000000000000000000000000000000000000000000000000000000081526004810183905260240160405180910390fd5b5090565b60006106f34261069b565b65ffffffffffff1661070361042f565b65ffffffffffff161415905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16634bf5d7e96040518163ffffffff1660e01b8152600401600060405180830381865afa9250505080156107bf57506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526107bc9190810190610cc1565b60015b6107c95750600090565b60016040516020016107db9190610d38565b60405160208183030381529060405280519060200120816040516020016108029190610dcc565b60405160208183030381529060405280519060200120141591505090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff8111828210171561089657610896610820565b604052919050565b600067ffffffffffffffff8211156108b8576108b8610820565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b6000602082840312156108f657600080fd5b813567ffffffffffffffff81111561090d57600080fd5b8201601f8101841361091e57600080fd5b803561093161092c8261089e565b61084f565b81815285602083850101111561094657600080fd5b81602084016020830137600091810160200191909152949350505050565b60005b8381101561097f578181015183820152602001610967565b50506000910152565b60208152600082518060208401526109a7816040850160208701610964565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169190910160400192915050565b73ffffffffffffffffffffffffffffffffffffffff811681146109fb57600080fd5b50565b65ffffffffffff811681146109fb57600080fd5b60008060408385031215610a2557600080fd5b8235610a30816109d9565b91506020830135610a40816109fe565b809150509250929050565b600060208284031215610a5d57600080fd5b5035919050565b600060208284031215610a7657600080fd5b813561058c816109fe565b600060208284031215610a9357600080fd5b6040516020810181811067ffffffffffffffff82111715610ab657610ab6610820565b6040528251610ac4816109d9565b81529392505050565b600181811c90821680610ae157607f821691505b602082108103610b1a577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b601f821115610b6c576000816000526020600020601f850160051c81016020861015610b495750805b601f850160051c820191505b81811015610b6857828155600101610b55565b5050505b505050565b815167ffffffffffffffff811115610b8b57610b8b610820565b610b9f81610b998454610acd565b84610b20565b602080601f831160018114610bf25760008415610bbc5750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b178555610b68565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b82811015610c3f57888601518255948401946001909101908401610c20565b5085821015610c7b57878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b600060208284031215610c9d57600080fd5b815161058c816109fe565b600060208284031215610cba57600080fd5b5051919050565b600060208284031215610cd357600080fd5b815167ffffffffffffffff811115610cea57600080fd5b8201601f81018413610cfb57600080fd5b8051610d0961092c8261089e565b818152856020838501011115610d1e57600080fd5b610d2f826020830160208601610964565b95945050505050565b6000808354610d4681610acd565b60018281168015610d5e5760018114610d9157610dc0565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0084168752821515830287019450610dc0565b8760005260208060002060005b85811015610db75781548a820152908401908201610d9e565b50505082870194505b50929695505050505050565b60008251610dde818460208701610964565b919091019291505056fea164736f6c6343000817000a", + "nonce": "0x2", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0x19b19e75129fa926a9438b1850d352bf3ae201854528b2138e27217cf945ec0d", + "transactionIndex": "0x4b", + "blockHash": "0xc437226ae55ae989c9ea2cc9adfc2fe7e7ee22b41df5baf9baab87fab27c328c", + "blockNumber": "0x31c9c05", + "from": "0xb72276D9FF15c7998b9962FFCfB21A6C7249441B", + "to": null, + "cumulativeGasUsed": "0x114da67", + "gasUsed": "0x4ca2c1", + "contractAddress": "0x3f3DAB3ab8cEc2FBd06767c2A5F66Cb6BFF21A4A", + "logs": [ + { + "address": "0x3f3DAB3ab8cEc2FBd06767c2A5F66Cb6BFF21A4A", + "topics": [ + "0xc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2" + ], + "data": "0x000000000000000000000000000000000000000000000000ffffffffffffffff", + "blockHash": "0xc437226ae55ae989c9ea2cc9adfc2fe7e7ee22b41df5baf9baab87fab27c328c", + "blockNumber": "0x31c9c05", + "transactionHash": "0x19b19e75129fa926a9438b1850d352bf3ae201854528b2138e27217cf945ec0d", + "transactionIndex": "0x4b", + "logIndex": "0x133", + "removed": false + }, + { + "address": "0x0000000000000000000000000000000000001010", + "topics": [ + "0x4dfe1bbbcf077ddc3e01291eea2d5c70c2b422b415d95645b9adcfd678cb1d63", + "0x0000000000000000000000000000000000000000000000000000000000001010", + "0x000000000000000000000000b72276d9ff15c7998b9962ffcfb21a6c7249441b", + "0x00000000000000000000000067b94473d81d0cd00849d563c94d0432ac988b49" + ], + "data": "0x0000000000000000000000000000000000000000000000000312194447bf92eb0000000000000000000000000000000000000000000000006f05b59d3b200000000000000000000000000000000000000000000000001937ad66593d212b3a900000000000000000000000000000000000000000000000006bf39c58f3606d15000000000000000000000000000000000000000000001937b078728168eacd7b", + "blockHash": "0xc437226ae55ae989c9ea2cc9adfc2fe7e7ee22b41df5baf9baab87fab27c328c", + "blockNumber": "0x31c9c05", + "transactionHash": "0x19b19e75129fa926a9438b1850d352bf3ae201854528b2138e27217cf945ec0d", + "transactionIndex": "0x4b", + "logIndex": "0x134", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00080000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000008000000000000000000400000000000000000000000000000000000000800000000000000000000100000000000000000000000000000000000000000008000000000000000080000000000000000000000000000000000800000000000000000000000080000000000000000000200000000000000000000000000000000000000000000000000000800000004000800000000004000001000000008000000000000004000000100000000000000000020000000000000000000000000000000000000000000000000000100000", + "type": "0x2", + "effectiveGasPrice": "0x15306bc07c" + }, + { + "transactionHash": "0x6af00c50502d670318f0aedb054e2d84f3e8994fa1f51cf665dfaff144243033", + "transactionIndex": "0x4c", + "blockHash": "0xc437226ae55ae989c9ea2cc9adfc2fe7e7ee22b41df5baf9baab87fab27c328c", + "blockNumber": "0x31c9c05", + "from": "0xb72276D9FF15c7998b9962FFCfB21A6C7249441B", + "to": null, + "cumulativeGasUsed": "0x11e85d7", + "gasUsed": "0x9ab70", + "contractAddress": "0xFBE17545dffD75A92A5A72926AE581478973FE65", + "logs": [ + { + "address": "0x0000000000000000000000000000000000001010", + "topics": [ + "0x4dfe1bbbcf077ddc3e01291eea2d5c70c2b422b415d95645b9adcfd678cb1d63", + "0x0000000000000000000000000000000000000000000000000000000000001010", + "0x000000000000000000000000b72276d9ff15c7998b9962ffcfb21a6c7249441b", + "0x00000000000000000000000067b94473d81d0cd00849d563c94d0432ac988b49" + ], + "data": "0x0000000000000000000000000000000000000000000000000063300a2a39c3d000000000000000000000000000000000000000000000000068addd0265456a84000000000000000000000000000000000000000000001937b078728168eacd7b000000000000000000000000000000000000000000000000684aacf83b0ba6b4000000000000000000000000000000000000000000001937b0dba28b9324914b", + "blockHash": "0xc437226ae55ae989c9ea2cc9adfc2fe7e7ee22b41df5baf9baab87fab27c328c", + "blockNumber": "0x31c9c05", + "transactionHash": "0x6af00c50502d670318f0aedb054e2d84f3e8994fa1f51cf665dfaff144243033", + "transactionIndex": "0x4c", + "logIndex": "0x135", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00080000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000008000000000000000000000000000000000000000000000000000000000800000000000000000000100000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000004000800000000004000001000000008000000000000000000000100000000000000000020000000000000000000000000000000000000000000000000000100000", + "type": "0x2", + "effectiveGasPrice": "0x15306bc07c" + }, + { + "transactionHash": "0x71b3ec150c66d85d30be3dc9ad3d2626f47970af2188bfc437e787daf1d5152f", + "transactionIndex": "0x4d", + "blockHash": "0xc437226ae55ae989c9ea2cc9adfc2fe7e7ee22b41df5baf9baab87fab27c328c", + "blockNumber": "0x31c9c05", + "from": "0xb72276D9FF15c7998b9962FFCfB21A6C7249441B", + "to": null, + "cumulativeGasUsed": "0x12b7780", + "gasUsed": "0xcf1a9", + "contractAddress": "0x088C268cb00226D6A9b29e5488905Aa94D2f0239", + "logs": [ + { + "address": "0x088C268cb00226D6A9b29e5488905Aa94D2f0239", + "topics": [ + "0xc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2" + ], + "data": "0x000000000000000000000000000000000000000000000000ffffffffffffffff", + "blockHash": "0xc437226ae55ae989c9ea2cc9adfc2fe7e7ee22b41df5baf9baab87fab27c328c", + "blockNumber": "0x31c9c05", + "transactionHash": "0x71b3ec150c66d85d30be3dc9ad3d2626f47970af2188bfc437e787daf1d5152f", + "transactionIndex": "0x4d", + "logIndex": "0x136", + "removed": false + }, + { + "address": "0x0000000000000000000000000000000000001010", + "topics": [ + "0x4dfe1bbbcf077ddc3e01291eea2d5c70c2b422b415d95645b9adcfd678cb1d63", + "0x0000000000000000000000000000000000000000000000000000000000001010", + "0x000000000000000000000000b72276d9ff15c7998b9962ffcfb21a6c7249441b", + "0x00000000000000000000000067b94473d81d0cd00849d563c94d0432ac988b49" + ], + "data": "0x0000000000000000000000000000000000000000000000000084c630916ba7e300000000000000000000000000000000000000000000000067e0f89b78326044000000000000000000000000000000000000000000001937b0dba28b9324914b000000000000000000000000000000000000000000000000675c326ae6c6b861000000000000000000000000000000000000000000001937b16068bc2490392e", + "blockHash": "0xc437226ae55ae989c9ea2cc9adfc2fe7e7ee22b41df5baf9baab87fab27c328c", + "blockNumber": "0x31c9c05", + "transactionHash": "0x71b3ec150c66d85d30be3dc9ad3d2626f47970af2188bfc437e787daf1d5152f", + "transactionIndex": "0x4d", + "logIndex": "0x137", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00080000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000008000000000000000000000000000000000000000000000000000000000800000100000000000000100000000000000000000000000000000000000000000000000000000000080000000000010000000000000000000000800000000000000000000000080000000000000000000200000000000000000000000000000000000000000000000000000000000004000800000000004000001000000008000000000000004000000100000000000000000028000000000000000000000000000000000000000000000000000100000", + "type": "0x2", + "effectiveGasPrice": "0x15306bc07c" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1704995530, + "chain": 137, + "multi": false, + "commit": "688208a" +} \ No newline at end of file diff --git a/broadcast/DeployLlamaTokenVotingFactory.s.sol/137/run-latest.json b/broadcast/DeployLlamaTokenVotingFactory.s.sol/137/run-latest.json new file mode 100644 index 0000000..3f798c4 --- /dev/null +++ b/broadcast/DeployLlamaTokenVotingFactory.s.sol/137/run-latest.json @@ -0,0 +1,197 @@ +{ + "transactions": [ + { + "hash": "0x19b19e75129fa926a9438b1850d352bf3ae201854528b2138e27217cf945ec0d", + "transactionType": "CREATE", + "contractName": "LlamaTokenGovernor", + "contractAddress": "0x3f3DAB3ab8cEc2FBd06767c2A5F66Cb6BFF21A4A", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0xb72276d9ff15c7998b9962ffcfb21a6c7249441b", + "gas": "0x6398ff", + "value": "0x0", + "data": "0x60806040523480156200001157600080fd5b506200001c62000022565b620000d6565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff1615620000735760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b0390811614620000d35780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b6159f880620000e66000396000f3fe608060405234801561001057600080fd5b50600436106101da5760003560e01c80637e4a56bb11610104578063b92cdd9a116100a2578063cae3bdff11610071578063cae3bdff1461053d578063dcae21b714610552578063e45061ea14610565578063e5589b9d1461057857600080fd5b8063b92cdd9a146104e4578063b9b2cf6c146104f7578063c193c2691461050a578063c26c12eb1461053557600080fd5b80638734852a116100de5780638734852a1461049857806396ff6e2e146104ab578063a1d9b412146104be578063b3c678b0146104d157600080fd5b80637e4a56bb1461046a5780637ed7238e14610472578063807ad1141461048557600080fd5b80633fed8f161161017c57806359e5332d1161014b57806359e5332d1461036457806364f6b3161461037b5780637186dd9c1461038e57806374f717cd1461044757600080fd5b80633fed8f16146103165780634d61ebf4146103365780634ec0ab1c1461033e578063509c5fbd1461035157600080fd5b806319a39740116101b857806319a397401461025b5780631e127ddf1461026e578063372fa8e8146102c25780633df91222146102d557600080fd5b80630669b1ce146101df57806311f900b5146101f45780631650080714610227575b600080fd5b6101f26101ed366004614a11565b61058b565b005b610207610202366004614a46565b610b79565b6040805161ffff9384168152929091166020830152015b60405180910390f35b61023a610235366004614ac0565b610b90565b6040516fffffffffffffffffffffffffffffffff909116815260200161021e565b6101f2610269366004614a46565b610baa565b6101f261027c366004614b82565b3360009081526007602090815260408083207fffffffff000000000000000000000000000000000000000000000000000000009490941683529290522080546001019055565b6101f26102d0366004614bbd565b610c75565b6102fe6102e3366004614a46565b6005602052600090815260409020546001600160a01b031681565b6040516001600160a01b03909116815260200161021e565b610329610324366004614c31565b610d76565b60405161021e9190614c53565b610207610f4e565b6101f261034c366004614ce2565b610f63565b61023a61035f366004614ac0565b611030565b61036d60025481565b60405190815260200161021e565b6000546102fe906001600160a01b031681565b6103fc61039c366004614a46565b6006602052600090815260409020805460018201546002909201546fffffffffffffffffffffffffffffffff8083169370010000000000000000000000000000000093849004821693818316939181900483169282811692919091041686565b604080516fffffffffffffffffffffffffffffffff978816815295871660208701529386169385019390935290841660608401528316608083015290911660a082015260c00161021e565b61045a610455366004614d23565b611040565b604051901515815260200161021e565b6103296110a9565b61036d610480366004614ea9565b61114c565b6001546102fe906001600160a01b031681565b6101f26104a6366004614f88565b611263565b61023a6104b9366004615066565b6114b5565b61023a6104cc366004615066565b6115c6565b61036d6104df366004615131565b6116c7565b6101f26104f2366004614a11565b61171c565b6101f2610505366004614ce2565b611726565b61036d6105183660046151e2565b600760209081526000928352604080842090915290825290205481565b6102076117ef565b6105456117fc565b60405161021e919061520e565b610545610560366004614c31565b61188f565b6101f2610573366004614a11565b611a4d565b610207610586366004614a46565b612026565b600080546040517fb6e76873000000000000000000000000000000000000000000000000000000008152833560048201526001600160a01b039091169063b6e768739060240161012060405180830381865afa1580156105ef573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061061391906152c8565b9050600060018260a0015161062891906153a6565b67ffffffffffffffff169050600160009054906101000a90046001600160a01b03166001600160a01b031663ae2a6df26040518163ffffffff1660e01b815260040160006040518083038186803b15801561068257600080fd5b505afa158015610696573d6000803e3d6000fd5b505050506000806000806106b485600461203490919063ffffffff16565b909250905060006106cb6080890160608a016153ce565b6001600160a01b031663b02bd9206040518163ffffffff1660e01b8152600401602060405180830381865afa158015610708573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061072c91906153eb565b67ffffffffffffffff16905061271061ffff8416820204818860c0015167ffffffffffffffff16030194506127108261ffff1682028161076e5761076e615406565b04850193508342116107ac576040517f038d8a6a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8660c0015167ffffffffffffffff1642106107f3576040517f08c8d62700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050843560009081526006602052604080822060015491517fcdfda4dd000000000000000000000000000000000000000000000000000000008152600481018690529092916001600160a01b03169063edb8ee5a90829063cdfda4dd90602401602060405180830381865afa158015610871573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108959190615435565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b16815265ffffffffffff9091166004820152602401602060405180830381865afa1580156108f0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610914919061545d565b600183015460028401549192506fffffffffffffffffffffffffffffffff7001000000000000000000000000000000009182900481169291820481169116600061095f60038a6121cd565b9150506000610975868361ffff166127106122d8565b905080856fffffffffffffffffffffffffffffffff1610156109e3576040517fbfb9aa550000000000000000000000000000000000000000000000000000000081526fffffffffffffffffffffffffffffffff86166004820152602481018290526044015b60405180910390fd5b836fffffffffffffffffffffffffffffffff16856fffffffffffffffffffffffffffffffff1611610a5c576040517f8a0df63f0000000000000000000000000000000000000000000000000000000081526fffffffffffffffffffffffffffffffff8087166004830152851660248201526044016109da565b6000610a7b8d6060016020810190610a7491906153ce565b600061231c565b905060008054906101000a90046001600160a01b03166001600160a01b03166394004706828f6040518363ffffffff1660e01b8152600401610abe9291906155b2565b6020604051808303816000875af1158015610add573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b0191906155e8565b50604080518e3581526fffffffffffffffffffffffffffffffff808916602083015280881692820192909252908516606082015260ff82169033907ff5bc433f16cc3d0e9fcb5ac4f8de9f17eb90de1fd2a9ede5952c2097d4ef1a59906080015b60405180910390a350505050505050505050505050565b600080610b87600484612034565b91509150915091565b6000610ba0338787878787612612565b9695505050505050565b60008054906101000a90046001600160a01b03166001600160a01b031663c34c08e56040518163ffffffff1660e01b8152600401602060405180830381865afa158015610bfb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c1f9190615603565b6001600160a01b0316336001600160a01b031614610c69576040517f26bee1ce00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610c7281612c5e565b50565b6000610c818686612e2e565b6040805160008082526020820180845284905260ff88169282019290925260608101869052608081018590529192509060019060a0016020604051602081039080840390855afa158015610cd9573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001519150506001600160a01b0381161580610d2c5750866001600160a01b0316816001600160a01b031614155b15610d63576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610d6d8187612f50565b50505050505050565b60408051602081019091526060815281831115610dbf576040517f2cd4dad300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60045480831115610dfc576040517f2cd4dad300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610e088585615620565b905060008167ffffffffffffffff811115610e2557610e25614d65565b604051908082528060200260200182016040528015610e8e57816020015b60408051606081018252600080825260208083018290529282015282527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff909201910181610e435790505b509050855b85811015610f34576004805482908110610eaf57610eaf615633565b600091825260209182902060408051606081018252919092015465ffffffffffff8116825261ffff660100000000000082048116948301949094526801000000000000000090049092169082015282610f088984615620565b81518110610f1857610f18615633565b6020026020010181905250610f2d8160010190565b9050610e93565b506040805160208101909152908152925050505b92915050565b600080610f5b6004613063565b915091509091565b60008054906101000a90046001600160a01b03166001600160a01b031663c34c08e56040518163ffffffff1660e01b8152600401602060405180830381865afa158015610fb4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fd89190615603565b6001600160a01b0316336001600160a01b031614611022576040517f26bee1ce00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61102c82826130db565b5050565b6000610ba03387878787876131cf565b60008115611077575060008381526006602090815260408083206001600160a01b038616845260030190915290205460ff166110a2565b5060008381526006602090815260408083206001600160a01b038616845260040190915290205460ff165b9392505050565b6040805160208101909152606081526040805160048054602081810284018501855283018181529293919284929091849160009085015b8282101561113f576000848152602090819020604080516060810182529185015465ffffffffffff8116835261ffff660100000000000082048116848601526801000000000000000090910416908201528252600190920191016110e0565b5050505081525050905090565b60008061115f8d8d8d8d8d8d8d8d613714565b6040805160008082526020820180845284905260ff89169282019290925260608101879052608081018690529192509060019060a0016020604051602081039080840390855afa1580156111b7573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001519150506001600160a01b038116158061120a57508d6001600160a01b0316816001600160a01b031614155b15611241576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611251818e8e8e8e8e8e8e613885565b9e9d5050505050505050505050505050565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000810460ff16159067ffffffffffffffff166000811580156112ae5750825b905060008267ffffffffffffffff1660011480156112cb5750303b155b9050811580156112d9575080155b15611310576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b84547fffffffffffffffffffffffffffffffffffffffffffffffff000000000000000016600117855583156113715784547fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff16680100000000000000001785555b886001600160a01b0316639bccfe496040518163ffffffff1660e01b8152600401602060405180830381865afa1580156113af573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113d3919061545d565b50600080546001600160a01b03808c167fffffffffffffffffffffffff00000000000000000000000000000000000000009283161790925560018054928b169290911691909117905561142587612c5e565b611437866000015187602001516130db565b61144986604001518760600151613b89565b83156114aa5784547fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b505050505050505050565b6000806114c68b8b8b8b8b8b613c26565b6040805160008082526020820180845284905260ff89169282019290925260608101879052608081018690529192509060019060a0016020604051602081039080840390855afa15801561151e573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001519150506001600160a01b038116158061157157508b6001600160a01b0316816001600160a01b031614155b156115a8576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6115b6818c8c8c8c8c6131cf565b9c9b505050505050505050505050565b6000806115d78b8b8b8b8b8b613d84565b6040805160008082526020820180845284905260ff89169282019290925260608101879052608081018690529192509060019060a0016020604051602081039080840390855afa15801561162f573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001519150506001600160a01b038116158061168257508b6001600160a01b0316816001600160a01b031614155b156116b9576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6115b6818c8c8c8c8c612612565b600061170f338a8a8a8a8a8a8a8a8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061388592505050565b9998505050505050505050565b610c723382612f50565b60008054906101000a90046001600160a01b03166001600160a01b031663c34c08e56040518163ffffffff1660e01b8152600401602060405180830381865afa158015611777573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061179b9190615603565b6001600160a01b0316336001600160a01b0316146117e5576040517f26bee1ce00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61102c8282613b89565b600080610f5b6003613063565b604080516020810190915260608152604080516003805460208082028401850185528301818152929391928492909184916000908501821561113f576000848152602090819020604080516060810182529185015465ffffffffffff8116835261ffff660100000000000082048116848601526801000000000000000090910416908201528252600190920191016110e0565b604080516020810190915260608152818311156118d8576040517f2cd4dad300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60035480831115611915576040517f2cd4dad300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006119218585615620565b905060008167ffffffffffffffff81111561193e5761193e614d65565b6040519080825280602002602001820160405280156119a757816020015b60408051606081018252600080825260208083018290529282015282527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90920191018161195c5790505b509050855b85811015610f345760038054829081106119c8576119c8615633565b600091825260209182902060408051606081018252919092015465ffffffffffff8116825261ffff660100000000000082048116948301949094526801000000000000000090049092169082015282611a218984615620565b81518110611a3157611a31615633565b6020026020010181905250611a468160010190565b90506119ac565b600080546040517fb6e76873000000000000000000000000000000000000000000000000000000008152833560048201526001600160a01b039091169063b6e768739060240161012060405180830381865afa158015611ab1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ad591906152c8565b9050600060018260a00151611aea91906153a6565b67ffffffffffffffff169050600160009054906101000a90046001600160a01b03166001600160a01b031663ae2a6df26040518163ffffffff1660e01b815260040160006040518083038186803b158015611b4457600080fd5b505afa158015611b58573d6000803e3d6000fd5b50505050600080600080611b7685600461203490919063ffffffff16565b90925090506000611b8d6080890160608a016153ce565b6001600160a01b0316637999762c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611bca573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bee91906153eb565b67ffffffffffffffff16905061271061ffff84168202048760a0015167ffffffffffffffff160194506127108261ffff16820281611c2e57611c2e615406565b0485019350834211611c6c576040517f038d8a6a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b808760a0015167ffffffffffffffff16611c869190615662565b421115611cbf576040517f08c8d62700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050843560009081526006602052604080822060015491517fcdfda4dd000000000000000000000000000000000000000000000000000000008152600481018690529092916001600160a01b03169063edb8ee5a90829063cdfda4dd90602401602060405180830381865afa158015611d3d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d619190615435565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b16815265ffffffffffff9091166004820152602401602060405180830381865afa158015611dbc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611de0919061545d565b825460018401549192506fffffffffffffffffffffffffffffffff808216928116917001000000000000000000000000000000009004166000611e2460038a6121cd565b5090506000611e3a868361ffff166127106122d8565b905080856fffffffffffffffffffffffffffffffff161015611ea3576040517f0425fab10000000000000000000000000000000000000000000000000000000081526fffffffffffffffffffffffffffffffff86166004820152602481018290526044016109da565b836fffffffffffffffffffffffffffffffff16856fffffffffffffffffffffffffffffffff1611611f1c576040517f8a0df63f0000000000000000000000000000000000000000000000000000000081526fffffffffffffffffffffffffffffffff8087166004830152851660248201526044016109da565b6000611f3b8d6060016020810190611f3491906153ce565b600161231c565b905060008054906101000a90046001600160a01b03166001600160a01b03166389e7d126828f6040518363ffffffff1660e01b8152600401611f7e9291906155b2565b6020604051808303816000875af1158015611f9d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fc191906155e8565b50604080518e3581526fffffffffffffffffffffffffffffffff808916602083015280881692820192909252908516606082015260ff82169033907ff23279e924757f3bfe4f543bc1b43685e851d6ace53f8518b806dcd8d42fc13990608001610b62565b600080610b876003846121cd565b6000804283106120c6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f506572696f64506374436865636b706f696e74733a2074696d657374616d702060448201527f6973206e6f7420696e207468652070617374000000000000000000000000000060648201526084016109da565b60006120d184613db3565b855490915060008160058111156121315760006120ed84613dfc565b6120f79085615620565b60008a81526020902090915081015465ffffffffffff90811690861610156121215780915061212f565b61212c816001615662565b92505b505b600061213f89868585613eae565b90508060000361215a576000809650965050505050506121c6565b60006121798a61216b600185615620565b600091825260209091200190565b60408051606081018252915465ffffffffffff8116835261ffff66010000000000008204811660208501819052680100000000000000009092041692909101829052985096505050505050505b9250929050565b60008042831061225f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602f60248201527f51756f72756d436865636b706f696e74733a2074696d657374616d702069732060448201527f6e6f7420696e207468652070617374000000000000000000000000000000000060648201526084016109da565b600061226a84613db3565b855490915060008160058111156122ca57600061228684613dfc565b6122909085615620565b60008a81526020902090915081015465ffffffffffff90811690861610156122ba578091506122c8565b6122c5816001615662565b92505b505b600061213f89868585613f10565b6000827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048411830215820261230d57600080fd5b50910281810615159190040190565b60008054604080517f0505c8c9000000000000000000000000000000000000000000000000000000008152905183926001600160a01b031691630505c8c99160048083019260209291908290030181865afa15801561237f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123a39190615603565b6001600160a01b0316638b2ed3886040518163ffffffff1660e01b8152600401602060405180830381865afa1580156123e0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124049190615675565b905060015b8160ff16811161253b57836124a1576040517fc167ebae00000000000000000000000000000000000000000000000000000000815260ff821660048201526001600160a01b0386169063c167ebae90602401602060405180830381865afa158015612478573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061249c9190615692565b612525565b6040517ffb847c4300000000000000000000000000000000000000000000000000000000815260ff821660048201526001600160a01b0386169063fb847c4390602401602060405180830381865afa158015612501573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125259190615692565b15612533579150610f489050565b600101612409565b50826125a857836001600160a01b03166312a52f006040518163ffffffff1660e01b8152600401602060405180830381865afa15801561257f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125a39190615675565b61260a565b836001600160a01b03166366cacdc96040518163ffffffff1660e01b8152600401602060405180830381865afa1580156125e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061260a9190615675565b949350505050565b600080546040517fb6e768730000000000000000000000000000000000000000000000000000000081528635600482015282916001600160a01b03169063b6e768739060240161012060405180830381865afa158015612676573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061269a91906152c8565b9050600060018260a001516126af91906153a6565b8735600090815260066020526040902067ffffffffffffffff9190911691506126de6080890160608a016153ce565b6001600160a01b03166302674e4b89308c6040518463ffffffff1660e01b815260040161270d939291906156af565b60006040518083038186803b15801561272557600080fd5b505afa158015612739573d6000803e3d6000fd5b505050506001600160a01b038a16600090815260048201602052604090205460ff1615612792576040517f9dd6544b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6127a0888a89600486613f6a565b60008080806127b0600487612034565b909250905060006127c760808e0160608f016153ce565b6001600160a01b031663b02bd9206040518163ffffffff1660e01b8152600401602060405180830381865afa158015612804573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061282891906153eb565b67ffffffffffffffff16905061271061ffff8416820204818960c0015167ffffffffffffffff16030194506127108261ffff1682028161286a5761286a615406565b04850193508442116128a8576040517fd0b72b4900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b834211156128e2576040517f5b73d19300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050506000612a25600160009054906101000a90046001600160a01b03166001600160a01b0316639556de738f600160009054906101000a90046001600160a01b03166001600160a01b031663cdfda4dd886040518263ffffffff1660e01b815260040161295291815260200190565b602060405180830381865afa15801561296f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906129939190615435565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b1681526001600160a01b03909216600483015265ffffffffffff166024820152604401602060405180830381865afa1580156129fc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a20919061545d565b61425e565b905060ff8a16612a9e576002840154612a649070010000000000000000000000000000000090046fffffffffffffffffffffffffffffffff16826142ad565b6002850180546fffffffffffffffffffffffffffffffff928316700100000000000000000000000000000000029216919091179055612bc6565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60ff8b1601612b37576001840154612afd9070010000000000000000000000000000000090046fffffffffffffffffffffffffffffffff16826142ad565b6001850180546fffffffffffffffffffffffffffffffff928316700100000000000000000000000000000000029216919091179055612bc6565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe60ff8b1601612bc6576002840154612b82906fffffffffffffffffffffffffffffffff16826142ad565b6002850180547fffffffffffffffffffffffffffffffff00000000000000000000000000000000166fffffffffffffffffffffffffffffffff929092169190911790555b6001600160a01b038d1660008181526004860160205260409081902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790555160ff8c1691907f4e3e2ad68670a2709cb408c31c5afd8da0b6d3d06c75b11feb404a455639fe7c90612c46908f359086908f908f90615713565b60405180910390a39c9b505050505050505050505050565b60018054604080517f91ddadf400000000000000000000000000000000000000000000000000000000815290516000936001600160a01b039093169263edb8ee5a92909184916391ddadf49160048083019260209291908290030181865afa158015612cce573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612cf29190615435565b612cfc9190615745565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b16815265ffffffffffff9091166004820152602401602060405180830381865afa158015612d57573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612d7b919061545d565b905080600003612db7576040517f34bbd58500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80821115612df1576040517f8a5e746800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60028290556040518281527fd91a985c173545ab0e0bd11c021a1ae84c1ea6eab9350d9bf3812d5b8bff49a4906020015b60405180910390a15050565b6000807f6da9390b4f29da2c44fa5a9da00b392393d01e989d16e4a3dec5a538318e352584612e5c856142f4565b6001600160a01b03871660009081526007602090815260408083207fffffffff00000000000000000000000000000000000000000000000000000000843516845290915290208054600181019091556040805160208101959095526001600160a01b03909316928401929092526060830152608082015260a001604051602081830303815290604052805190602001209050612ef66143eb565b6040517f190100000000000000000000000000000000000000000000000000000000000060208201526022810191909152604281018290526062016040516020818303038152906040528051906020012091505092915050565b80356000908152600560205260409020546001600160a01b03838116911614612fa5576040517f86ba025600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000546040517fb92cdd9a0000000000000000000000000000000000000000000000000000000081526001600160a01b039091169063b92cdd9a90612fee908490600401615764565b600060405180830381600087803b15801561300857600080fd5b505af115801561301c573d6000803e3d6000fd5b5050604051833581526001600160a01b03851692507fdcccc5725b7256a6975da00de8953e5d326756a3079d203ff6df9e52331f411a915060200160405180910390a25050565b8054600090819080820361307d5750600093849350915050565b600061308e8561216b600185615620565b60408051606081018252915465ffffffffffff8116835261ffff66010000000000008204811660208501819052680100000000000000009092041692909101829052969095509350505050565b6127108261ffff1611806130f1575061ffff8216155b1561312e576040517f8f6febc000000000000000000000000000000000000000000000000000000000815261ffff831660048201526024016109da565b6127108161ffff161180613144575061ffff8116155b15613181576040517f3bec511c00000000000000000000000000000000000000000000000000000000815261ffff821660048201526024016109da565b613194600361ffff80851690841661454d565b6040805161ffff8085168252831660208201527f77c3f43700db02acb49792bbf699b39f72c2ed4b920bd5c0b1843dcd7c832f4c9101612e22565b600080546040517fb6e768730000000000000000000000000000000000000000000000000000000081528635600482015282916001600160a01b03169063b6e768739060240161012060405180830381865afa158015613233573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061325791906152c8565b9050600060018260a0015161326c91906153a6565b8735600090815260066020526040902067ffffffffffffffff91909116915061329b6080890160608a016153ce565b6001600160a01b0316631a2a4e7789308c6040518463ffffffff1660e01b81526004016132ca939291906156af565b60006040518083038186803b1580156132e257600080fd5b505afa1580156132f6573d6000803e3d6000fd5b505050506001600160a01b038a16600090815260038201602052604090205460ff161561334f576040517f9dd6544b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61335d888a89600086613f6a565b600080808061336d600487612034565b9092509050600061338460808e0160608f016153ce565b6001600160a01b0316637999762c6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156133c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906133e591906153eb565b67ffffffffffffffff16905061271061ffff84168202048860a0015167ffffffffffffffff160194506127108261ffff1682028161342557613425615406565b0485019350844211613463576040517fd0b72b4900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8342111561349d576040517f5b73d19300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050600061350d600160009054906101000a90046001600160a01b03166001600160a01b0316639556de738f600160009054906101000a90046001600160a01b03166001600160a01b031663cdfda4dd886040518263ffffffff1660e01b815260040161295291815260200190565b905060ff8a16613580576001840154613538906fffffffffffffffffffffffffffffffff16826142ad565b6001850180547fffffffffffffffffffffffffffffffff00000000000000000000000000000000166fffffffffffffffffffffffffffffffff92909216919091179055613694565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60ff8b16016136095783546135c8906fffffffffffffffffffffffffffffffff16826142ad565b84547fffffffffffffffffffffffffffffffff00000000000000000000000000000000166fffffffffffffffffffffffffffffffff91909116178455613694565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe60ff8b16016136945783546136659070010000000000000000000000000000000090046fffffffffffffffffffffffffffffffff16826142ad565b84546fffffffffffffffffffffffffffffffff9182167001000000000000000000000000000000000291161784555b6001600160a01b038d1660008181526003860160205260409081902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790555160ff8c1691907f761cce3a1af5d9cfc0d57222f605ce4bd2be345f0ad9ebb7b83a84a91a0c201490612c46908f359086908f908f90615713565b6001600160a01b03881660009081526007602090815260408083207fffffffff000000000000000000000000000000000000000000000000000000008435168452909152812080546001810190915560007fd1fab1c7b3b37134662e5867b00e272eb49f7be0a890df29e802c3cc66c06f838b8b8b8b8b8b8b60405161379b929190615777565b604080519182900382208c516020808f0191909120908401999099526001600160a01b039788169183019190915260ff90951660608201529285166080840152931660a082015260c081019290925260e08201526101008101919091526101208101839052610140016040516020818303038152906040528051906020012090506138246143eb565b6040517f19010000000000000000000000000000000000000000000000000000000000006020820152602281019190915260428101829052606201604051602081830303815290604052805190602001209250505098975050505050505050565b600154604080517fae2a6df200000000000000000000000000000000000000000000000000000000815290516000926001600160a01b03169163ae2a6df29160048083019286929190829003018186803b1580156138e257600080fd5b505afa1580156138f6573d6000803e3d6000fd5b505060018054604080517f91ddadf40000000000000000000000000000000000000000000000000000000081529051600095506001600160a01b039092169350639556de73928e92909185916391ddadf4916004808201926020929091908290030181865afa15801561396d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906139919190615435565b61399b9190615745565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b1681526001600160a01b03909216600483015265ffffffffffff166024820152604401602060405180830381865afa158015613a04573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613a28919061545d565b9050600254811015613a69576040517f92665351000000000000000000000000000000000000000000000000000000008152600481018290526024016109da565b6000546040517fb3c678b00000000000000000000000000000000000000000000000000000000081526001600160a01b039091169063b3c678b090613abe908c908c908c908c908c908c908c906004016157ab565b6020604051808303816000875af1158015613add573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613b01919061545d565b60008181526005602090815260409182902080547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b038f16908117909155915183815292945090917f1834dfd49255741a8ce9a9bd66b91b64d13622e1d8170e4c78ac91f9ec50a542910160405180910390a25098975050505050505050565b612710613b96828461583b565b61ffff1610613bdf576040517f519dd38400000000000000000000000000000000000000000000000000000000815261ffff8084166004830152821660248201526044016109da565b613beb60048383614576565b6040805161ffff8085168252831660208201527f8df7bdcce333d9e1b85e40782fb2f293c805761d3f48aaea58865e9541e44c709101612e22565b6000807fd7be168a3509af358f222ee35ee76aba47bc5fc2c35061cdce3958f510b7b1b28888613c55896142f4565b888888604051613c66929190615777565b60408051918290039091206001600160a01b038f166000908152600760209081528382207fffffffff0000000000000000000000000000000000000000000000000000000083351683529052919091208054600181019091556040805160208101989098526001600160a01b039096169587019590955260ff938416606087015260808601929092529190911660a084015260c083015260e082015261010001604051602081830303815290604052805190602001209050613d266143eb565b6040517f19010000000000000000000000000000000000000000000000000000000000006020820152602281019190915260428101829052606201604051602081830303815290604052805190602001209150509695505050505050565b6000807fa87058c5a9888e7af4405a932381d5a4612c61354bc3e52e9ea361ba17703fb38888613c55896142f4565b600065ffffffffffff821115613df8576040517fc0188c4f000000000000000000000000000000000000000000000000000000008152600481018390526024016109da565b5090565b60b581710100000000000000000000000000000000008110613e235760409190911b9060801c5b69010000000000000000008110613e3f5760209190911b9060401c5b650100000000008110613e575760109190911b9060201c5b63010000008110613e6d5760089190911b9060101c5b62010000010260121c80820401600190811c80830401811c80830401811c80830401811c80830401811c80830401811c80830401901c908190048111900390565b60005b81831015613f08576000613ec584846145a2565b60008781526020902090915065ffffffffffff86169082015465ffffffffffff161115613ef457809250613f02565b613eff816001615662565b93505b50613eb1565b509392505050565b60005b81831015613f08576000613f2784846145a2565b60008781526020902090915065ffffffffffff86169082015465ffffffffffff161115613f5657809250613f64565b613f61816001615662565b93505b50613f13565b600260ff84161115613fad576040517ffe0e5d8b00000000000000000000000000000000000000000000000000000000815260ff841660048201526024016109da565b600080546040517fec12d8be0000000000000000000000000000000000000000000000000000000081526001600160a01b039091169063ec12d8be90613ff7908990600401615764565b602060405180830381865afa158015614014573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906140389190615675565b60ff16600681111561404c5761404c6156e4565b9050826006811115614060576140606156e4565b816006811115614072576140726156e4565b146140ab57806040517f87afe58e0000000000000000000000000000000000000000000000000000000081526004016109da9190615856565b60008060009054906101000a90046001600160a01b03166001600160a01b0316630505c8c96040518163ffffffff1660e01b8152600401602060405180830381865afa1580156140ff573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906141239190615603565b6040517fe0bec07600000000000000000000000000000000000000000000000000000000815230600482015260ff88166024820152604481018590526001600160a01b03919091169063e0bec07690606401602060405180830381865afa158015614192573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906141b69190615692565b9050806141ef576040517f88aebd1200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600160009054906101000a90046001600160a01b03166001600160a01b031663ae2a6df26040518163ffffffff1660e01b815260040160006040518083038186803b15801561423d57600080fd5b505afa158015614251573d6000803e3d6000fd5b5050505050505050505050565b60006fffffffffffffffffffffffffffffffff821115613df8576040517fc0188c4f000000000000000000000000000000000000000000000000000000008152600481018390526024016109da565b60006fffffffffffffffffffffffffffffffff6142ce838216858316615662565b106142ea57506fffffffffffffffffffffffffffffffff610f48565b6110a28284615897565b60007f86b4555c6e347ea3f038485b59b894986c208b67da7e65fcfa3707271608465f823561432960408501602086016153ce565b61433960608601604087016158c0565b61434960808701606088016153ce565b61435960a08801608089016153ce565b60a088013561436b60c08a018a6158dd565b604051614379929190615777565b6040805191829003822060208301999099528101969096526001600160a01b03948516606087015260ff909316608086015290831660a08501529190911660c083015260e082015261010081019190915261012001604051602081830303815290604052805190602001209050919050565b60008054604080517f06fdde0300000000000000000000000000000000000000000000000000000000815290517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f926001600160a01b0316916306fdde0391600480830192879291908290030181865afa15801561446d573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526144b39190810190615942565b8051602091820120604080518082018252600181527f310000000000000000000000000000000000000000000000000000000000000090840152805192830193909352918101919091527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a082015260c00160405160208183030381529060405280519060200120905090565b6145718361455a42613db3565b614563856145bd565b61456c856145bd565b6145fe565b505050565b6145718361458342613db3565b6145908561ffff166145bd565b61459d8561ffff166145bd565b614909565b60006145b160028484186159b0565b6110a290848416615662565b600061ffff821115613df8576040517fc0188c4f000000000000000000000000000000000000000000000000000000008152600481018390526024016109da565b835480156148475760006146178661216b600185615620565b60408051606081018252915465ffffffffffff80821680855261ffff66010000000000008404811660208701526801000000000000000090930490921692840192909252919250861610156146ed576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f51756f72756d20436865636b706f696e743a20696e76616c69642074696d657360448201527f74616d700000000000000000000000000000000000000000000000000000000060648201526084016109da565b805165ffffffffffff8087169116036147865760006147118761216b600186615620565b805461ffff86811668010000000000000000027fffffffffffffffffffffffffffffffffffffffffffff0000ffffffffffffffff918916660100000000000002919091167fffffffffffffffffffffffffffffffffffffffffffff00000000ffffffffffff9092169190911717905550614841565b6040805160608101825265ffffffffffff808816825261ffff80881660208085019182528883169585019586528b54600181018d5560008d81529190912094519401805491519551831668010000000000000000027fffffffffffffffffffffffffffffffffffffffffffff0000ffffffffffffffff969093166601000000000000027fffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000909216949093169390931792909217929092161790555b50614902565b6040805160608101825265ffffffffffff808716825261ffff80871660208085019182528783169585019586528a54600181018c5560008c81529190912094519401805491519551831668010000000000000000027fffffffffffffffffffffffffffffffffffffffffffff0000ffffffffffffffff969093166601000000000000027fffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000909216949093169390931792909217929092161790555b5050505050565b835480156148475760006149228661216b600185615620565b60408051606081018252915465ffffffffffff80821680855261ffff66010000000000008404811660208701526801000000000000000090930490921692840192909252919250861610156146ed576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602860248201527f506572696f642050637420436865636b706f696e743a20696e76616c6964207460448201527f696d657374616d7000000000000000000000000000000000000000000000000060648201526084016109da565b600060e08284031215614a0b57600080fd5b50919050565b600060208284031215614a2357600080fd5b813567ffffffffffffffff811115614a3a57600080fd5b61260a848285016149f9565b600060208284031215614a5857600080fd5b5035919050565b60ff81168114610c7257600080fd5b8035614a7981614a5f565b919050565b60008083601f840112614a9057600080fd5b50813567ffffffffffffffff811115614aa857600080fd5b6020830191508360208285010111156121c657600080fd5b600080600080600060808688031215614ad857600080fd5b8535614ae381614a5f565b9450602086013567ffffffffffffffff80821115614b0057600080fd5b614b0c89838a016149f9565b955060408801359150614b1e82614a5f565b90935060608701359080821115614b3457600080fd5b50614b4188828901614a7e565b969995985093965092949392505050565b80357fffffffff0000000000000000000000000000000000000000000000000000000081168114614a7957600080fd5b600060208284031215614b9457600080fd5b6110a282614b52565b6001600160a01b0381168114610c7257600080fd5b8035614a7981614b9d565b600080600080600060a08688031215614bd557600080fd5b8535614be081614b9d565b9450602086013567ffffffffffffffff811115614bfc57600080fd5b614c08888289016149f9565b9450506040860135614c1981614a5f565b94979396509394606081013594506080013592915050565b60008060408385031215614c4457600080fd5b50508035926020909101359150565b60208082528251828201829052805160408401819052600092916060919083019082860190855b81811015614cc357614cb3838551805165ffffffffffff16825260208082015161ffff9081169184019190915260409182015116910152565b9285019291840191600101614c7a565b5090979650505050505050565b803561ffff81168114614a7957600080fd5b60008060408385031215614cf557600080fd5b614cfe83614cd0565b9150614d0c60208401614cd0565b90509250929050565b8015158114610c7257600080fd5b600080600060608486031215614d3857600080fd5b833592506020840135614d4a81614b9d565b91506040840135614d5a81614d15565b809150509250925092565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051610120810167ffffffffffffffff81118282101715614db857614db8614d65565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715614e0557614e05614d65565b604052919050565b600067ffffffffffffffff821115614e2757614e27614d65565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b600082601f830112614e6457600080fd5b8135614e77614e7282614e0d565b614dbe565b818152846020838601011115614e8c57600080fd5b816020850160208301376000918101602001919091529392505050565b60008060008060008060008060008060006101408c8e031215614ecb57600080fd5b614ed48c614bb2565b9a50614ee260208d01614a6e565b9950614ef060408d01614bb2565b9850614efe60608d01614bb2565b975060808c0135965067ffffffffffffffff8060a08e01351115614f2157600080fd5b614f318e60a08f01358f01614a7e565b909750955060c08d0135811015614f4757600080fd5b50614f588d60c08e01358e01614e53565b9350614f6660e08d01614a6e565b92506101008c013591506101208c013590509295989b509295989b9093969950565b60008060008084860360e0811215614f9f57600080fd5b8535614faa81614b9d565b94506020860135614fba81614b9d565b93506040860135925060807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa082011215614ff357600080fd5b506040516080810181811067ffffffffffffffff8211171561501757615017614d65565b60405261502660608701614cd0565b815261503460808701614cd0565b602082015261504560a08701614cd0565b604082015261505660c08701614cd0565b6060820152939692955090935050565b60008060008060008060008060006101008a8c03121561508557600080fd5b893561509081614b9d565b985060208a01356150a081614a5f565b975060408a013567ffffffffffffffff808211156150bd57600080fd5b6150c98d838e016149f9565b985060608c013591506150db82614a5f565b90965060808b013590808211156150f157600080fd5b506150fe8c828d01614a7e565b90965094505060a08a013561511281614a5f565b8093505060c08a0135915060e08a013590509295985092959850929598565b60008060008060008060008060c0898b03121561514d57600080fd5b883561515881614a5f565b9750602089013561516881614b9d565b9650604089013561517881614b9d565b955060608901359450608089013567ffffffffffffffff8082111561519c57600080fd5b6151a88c838d01614a7e565b909650945060a08b01359150808211156151c157600080fd5b506151ce8b828c01614a7e565b999c989b5096995094979396929594505050565b600080604083850312156151f557600080fd5b823561520081614b9d565b9150614d0c60208401614b52565b60208082528251828201829052805160408401819052600092916060919083019082860190855b81811015614cc35761526e838551805165ffffffffffff16825260208082015161ffff9081169184019190915260409182015116910152565b9285019291840191600101615235565b8051614a7981614d15565b8051614a7981614b9d565b805167ffffffffffffffff81168114614a7957600080fd5b80516bffffffffffffffffffffffff81168114614a7957600080fd5b600061012082840312156152db57600080fd5b6152e3614d94565b825181526152f36020840161527e565b60208201526153046040840161527e565b60408201526153156060840161527e565b606082015261532660808401615289565b608082015261533760a08401615294565b60a082015261534860c08401615294565b60c082015261535960e084016152ac565b60e082015261010061536c8185016152ac565b908201529392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b67ffffffffffffffff8281168282160390808211156153c7576153c7615377565b5092915050565b6000602082840312156153e057600080fd5b81356110a281614b9d565b6000602082840312156153fd57600080fd5b6110a282615294565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006020828403121561544757600080fd5b815165ffffffffffff811681146110a257600080fd5b60006020828403121561546f57600080fd5b5051919050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b80358252600060208201356154d381614b9d565b6001600160a01b0390811660208501526040830135906154f282614a5f565b60ff821660408601526060840135915061550b82614b9d565b908116606085015260808301359061552282614b9d565b16608084015260a0828101359084015260c0820135368390037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe101811261556857600080fd5b820160208101903567ffffffffffffffff81111561558557600080fd5b80360382131561559457600080fd5b60e060c08601526155a960e086018284615476565b95945050505050565b60ff831681526060602082015260006155ce60608301846154bf565b828103604084015260008152602081019150509392505050565b6000602082840312156155fa57600080fd5b6110a2826152ac565b60006020828403121561561557600080fd5b81516110a281614b9d565b81810381811115610f4857610f48615377565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b80820180821115610f4857610f48615377565b60006020828403121561568757600080fd5b81516110a281614a5f565b6000602082840312156156a457600080fd5b81516110a281614d15565b6060815260006156c260608301866154bf565b90506001600160a01b038416602083015260ff83166040830152949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b8481526fffffffffffffffffffffffffffffffff84166020820152606060408201526000610ba0606083018486615476565b65ffffffffffff8281168282160390808211156153c7576153c7615377565b6020815260006110a260208301846154bf565b8183823760009101908152919050565b60005b838110156157a257818101518382015260200161578a565b50506000910152565b60ff8816815260006001600160a01b03808916602084015280881660408401525085606083015260c060808301526157e760c083018587615476565b82810360a08401528351808252615805816020840160208801615787565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016016020019998505050505050505050565b61ffff8181168382160190808211156153c7576153c7615377565b6020810160078310615891577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b91905290565b6fffffffffffffffffffffffffffffffff8181168382160190808211156153c7576153c7615377565b6000602082840312156158d257600080fd5b81356110a281614a5f565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261591257600080fd5b83018035915067ffffffffffffffff82111561592d57600080fd5b6020019150368190038213156121c657600080fd5b60006020828403121561595457600080fd5b815167ffffffffffffffff81111561596b57600080fd5b8201601f8101841361597c57600080fd5b805161598a614e7282614e0d565b81815285602083850101111561599f57600080fd5b6155a9826020830160208601615787565b6000826159e6577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b50049056fea164736f6c6343000817000a", + "nonce": "0x0", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x6af00c50502d670318f0aedb054e2d84f3e8994fa1f51cf665dfaff144243033", + "transactionType": "CREATE", + "contractName": "LlamaTokenVotingFactory", + "contractAddress": "0xFBE17545dffD75A92A5A72926AE581478973FE65", + "function": null, + "arguments": [ + "0x3f3DAB3ab8cEc2FBd06767c2A5F66Cb6BFF21A4A" + ], + "transaction": { + "type": "0x02", + "from": "0xb72276d9ff15c7998b9962ffcfb21a6c7249441b", + "gas": "0xc9127", + "value": "0x0", + "data": "0x60a060405234801561001057600080fd5b50604051610b16380380610b1683398101604081905261002f91610040565b6001600160a01b0316608052610070565b60006020828403121561005257600080fd5b81516001600160a01b038116811461006957600080fd5b9392505050565b608051610a8561009160003960008181604001526104390152610a856000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c806321618ea41461003b5780633ec857a51461008b575b600080fd5b6100627f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b61006261009936600461087b565b600080338360000151846040015185606001516040516020016100bf9493929190610959565b60405160208183030381529060405280519060200120905060006100e7846020015183610622565b60408086015190517f439fab9100000000000000000000000000000000000000000000000000000000815291925073ffffffffffffffffffffffffffffffffffffffff83169163439fab919161013f916004016109b9565b6020604051808303816000875af115801561015e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101829190610a0a565b50600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1663fc0c546a6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156101e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061020a9190610a33565b73ffffffffffffffffffffffffffffffffffffffff1603610257576040517f65f5b03400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517fcdfda4dd00000000000000000000000000000000000000000000000000000000815242600482015273ffffffffffffffffffffffffffffffffffffffff82169063cdfda4dd90602401602060405180830381865afa1580156102c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102e59190610a50565b65ffffffffffff16600003610326576040517f65f5b03400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff166391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865afa158015610371573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103959190610a50565b65ffffffffffff166000036103d6576040517f65f5b03400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1663ae2a6df26040518163ffffffff1660e01b815260040160006040518083038186803b15801561041c57600080fd5b505afa158015610430573d6000803e3d6000fd5b5050505061045e7f000000000000000000000000000000000000000000000000000000000000000083610622565b8451608086015160a0870151604080517f8734852a00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff948516600482015286851660248201526044810193909352815161ffff908116606485015260208301518116608485015290820151811660a48401526060909101511660c4820152919450841690638734852a9060e401600060405180830381600087803b15801561051757600080fd5b505af115801561052b573d6000803e3d6000fd5b505050508073ffffffffffffffffffffffffffffffffffffffff1663fc0c546a6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561057a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061059e9190610a33565b84516020808701516060808901516040805173ffffffffffffffffffffffffffffffffffffffff94851681528885169581019590955284015287821690830152466080830152928316929091169033907f4c8bb78cb1c62e64cef39fc4b4a1864d1a331a28c7bd59a67fe969cc8ab715879060a00160405180910390a45050919050565b6000763d602d80600a3d3981f3363d3d373d3d3d363d730000008360601b60e81c176000526e5af43d82803e903d91602b57fd5bf38360781b1760205281603760096000f5905073ffffffffffffffffffffffffffffffffffffffff81166106b6576040517fc2f868f400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405160c0810167ffffffffffffffff8111828210171561070e5761070e6106bc565b60405290565b73ffffffffffffffffffffffffffffffffffffffff8116811461073657600080fd5b50565b600082601f83011261074a57600080fd5b813567ffffffffffffffff80821115610765576107656106bc565b604051601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011681019082821181831017156107ab576107ab6106bc565b816040528381528660208588010111156107c457600080fd5b836020870160208301376000602085830101528094505050505092915050565b803561ffff811681146107f657600080fd5b919050565b60006080828403121561080d57600080fd5b6040516080810181811067ffffffffffffffff82111715610830576108306106bc565b60405290508061083f836107e4565b815261084d602084016107e4565b602082015261085e604084016107e4565b604082015261086f606084016107e4565b60608201525092915050565b60006020828403121561088d57600080fd5b813567ffffffffffffffff808211156108a557600080fd5b9083019061012082860312156108ba57600080fd5b6108c26106eb565b82356108cd81610714565b815260208301356108dd81610714565b60208201526040830135828111156108f457600080fd5b61090087828601610739565b60408301525060608301356060820152608083013560808201526109278660a085016107fb565b60a082015295945050505050565b60005b83811015610950578181015183820152602001610938565b50506000910152565b60007fffffffffffffffffffffffffffffffffffffffff000000000000000000000000808760601b168352808660601b1660148401525083516109a3816028850160208801610935565b6028920191820192909252604801949350505050565b60208152600082518060208401526109d8816040850160208701610935565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169190910160400192915050565b600060208284031215610a1c57600080fd5b81518015158114610a2c57600080fd5b9392505050565b600060208284031215610a4557600080fd5b8151610a2c81610714565b600060208284031215610a6257600080fd5b815165ffffffffffff81168114610a2c57600080fdfea164736f6c6343000817000a0000000000000000000000003f3dab3ab8cec2fbd06767c2a5f66cb6bff21a4a", + "nonce": "0x1", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x71b3ec150c66d85d30be3dc9ad3d2626f47970af2188bfc437e787daf1d5152f", + "transactionType": "CREATE", + "contractName": "LlamaTokenAdapterVotesTimestamp", + "contractAddress": "0x088C268cb00226D6A9b29e5488905Aa94D2f0239", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0xb72276d9ff15c7998b9962ffcfb21a6c7249441b", + "gas": "0x10d28c", + "value": "0x0", + "data": "0x608060405234801561001057600080fd5b5061001961001e565b6100d0565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff161561006e5760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b03908116146100cd5780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b610df5806100df6000396000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c8063ae2a6df21161005b578063ae2a6df21461010a578063cdfda4dd14610114578063edb8ee5a14610127578063fc0c546a1461013a57600080fd5b8063439fab911461008d5780634bf5d7e9146100b557806391ddadf4146100ca5780639556de73146100e9575b600080fd5b6100a061009b3660046108e4565b61017f565b60405190151581526020015b60405180910390f35b6100bd6103a1565b6040516100ac9190610988565b6100d261042f565b60405165ffffffffffff90911681526020016100ac565b6100fc6100f7366004610a12565b6104e9565b6040519081526020016100ac565b610112610593565b005b6100d2610122366004610a4b565b6105ef565b6100fc610135366004610a64565b610600565b60005461015a9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100ac565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0080546000919068010000000000000000810460ff16159067ffffffffffffffff1683811580156101cd5750825b905060008267ffffffffffffffff1660011480156101ea5750303b155b9050811580156101f8575080155b1561022f576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b84547fffffffffffffffffffffffffffffffffffffffffffffffff000000000000000016600117855583156102905784547fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff16680100000000000000001785555b6000878060200190518101906102a69190610a81565b8051600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff90921691909117905560408051808201909152600e81527f6d6f64653d74696d657374616d7000000000000000000000000000000000000060208201529091506001906103309082610b71565b50600196505083156103975784547fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b5050505050919050565b600180546103ae90610acd565b80601f01602080910402602001604051908101604052809291908181526020018280546103da90610acd565b80156104275780601f106103fc57610100808354040283529160200191610427565b820191906000526020600020905b81548152906001019060200180831161040a57829003601f168201915b505050505081565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156104d7575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682019092526104d491810190610c8b565b60015b6104e4576104e44261069b565b905090565b600080546040517f3a46b1a800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff858116600483015265ffffffffffff8516602483015290911690633a46b1a890604401602060405180830381865afa158015610568573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061058c9190610ca8565b9392505050565b600061059d6106e8565b905060006105a9610712565b905081806105b45750805b156105eb576040517f6ff0714000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050565b60006105fa8261069b565b92915050565b600080546040517f8e539e8c00000000000000000000000000000000000000000000000000000000815265ffffffffffff8416600482015273ffffffffffffffffffffffffffffffffffffffff90911690638e539e8c90602401602060405180830381865afa158015610677573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105fa9190610ca8565b600065ffffffffffff8211156106e4576040517fc0188c4f0000000000000000000000000000000000000000000000000000000081526004810183905260240160405180910390fd5b5090565b60006106f34261069b565b65ffffffffffff1661070361042f565b65ffffffffffff161415905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16634bf5d7e96040518163ffffffff1660e01b8152600401600060405180830381865afa9250505080156107bf57506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526107bc9190810190610cc1565b60015b6107c95750600090565b60016040516020016107db9190610d38565b60405160208183030381529060405280519060200120816040516020016108029190610dcc565b60405160208183030381529060405280519060200120141591505090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff8111828210171561089657610896610820565b604052919050565b600067ffffffffffffffff8211156108b8576108b8610820565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b6000602082840312156108f657600080fd5b813567ffffffffffffffff81111561090d57600080fd5b8201601f8101841361091e57600080fd5b803561093161092c8261089e565b61084f565b81815285602083850101111561094657600080fd5b81602084016020830137600091810160200191909152949350505050565b60005b8381101561097f578181015183820152602001610967565b50506000910152565b60208152600082518060208401526109a7816040850160208701610964565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169190910160400192915050565b73ffffffffffffffffffffffffffffffffffffffff811681146109fb57600080fd5b50565b65ffffffffffff811681146109fb57600080fd5b60008060408385031215610a2557600080fd5b8235610a30816109d9565b91506020830135610a40816109fe565b809150509250929050565b600060208284031215610a5d57600080fd5b5035919050565b600060208284031215610a7657600080fd5b813561058c816109fe565b600060208284031215610a9357600080fd5b6040516020810181811067ffffffffffffffff82111715610ab657610ab6610820565b6040528251610ac4816109d9565b81529392505050565b600181811c90821680610ae157607f821691505b602082108103610b1a577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b601f821115610b6c576000816000526020600020601f850160051c81016020861015610b495750805b601f850160051c820191505b81811015610b6857828155600101610b55565b5050505b505050565b815167ffffffffffffffff811115610b8b57610b8b610820565b610b9f81610b998454610acd565b84610b20565b602080601f831160018114610bf25760008415610bbc5750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b178555610b68565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b82811015610c3f57888601518255948401946001909101908401610c20565b5085821015610c7b57878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b600060208284031215610c9d57600080fd5b815161058c816109fe565b600060208284031215610cba57600080fd5b5051919050565b600060208284031215610cd357600080fd5b815167ffffffffffffffff811115610cea57600080fd5b8201601f81018413610cfb57600080fd5b8051610d0961092c8261089e565b818152856020838501011115610d1e57600080fd5b610d2f826020830160208601610964565b95945050505050565b6000808354610d4681610acd565b60018281168015610d5e5760018114610d9157610dc0565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0084168752821515830287019450610dc0565b8760005260208060002060005b85811015610db75781548a820152908401908201610d9e565b50505082870194505b50929695505050505050565b60008251610dde818460208701610964565b919091019291505056fea164736f6c6343000817000a", + "nonce": "0x2", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0x19b19e75129fa926a9438b1850d352bf3ae201854528b2138e27217cf945ec0d", + "transactionIndex": "0x4b", + "blockHash": "0xc437226ae55ae989c9ea2cc9adfc2fe7e7ee22b41df5baf9baab87fab27c328c", + "blockNumber": "0x31c9c05", + "from": "0xb72276D9FF15c7998b9962FFCfB21A6C7249441B", + "to": null, + "cumulativeGasUsed": "0x114da67", + "gasUsed": "0x4ca2c1", + "contractAddress": "0x3f3DAB3ab8cEc2FBd06767c2A5F66Cb6BFF21A4A", + "logs": [ + { + "address": "0x3f3DAB3ab8cEc2FBd06767c2A5F66Cb6BFF21A4A", + "topics": [ + "0xc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2" + ], + "data": "0x000000000000000000000000000000000000000000000000ffffffffffffffff", + "blockHash": "0xc437226ae55ae989c9ea2cc9adfc2fe7e7ee22b41df5baf9baab87fab27c328c", + "blockNumber": "0x31c9c05", + "transactionHash": "0x19b19e75129fa926a9438b1850d352bf3ae201854528b2138e27217cf945ec0d", + "transactionIndex": "0x4b", + "logIndex": "0x133", + "removed": false + }, + { + "address": "0x0000000000000000000000000000000000001010", + "topics": [ + "0x4dfe1bbbcf077ddc3e01291eea2d5c70c2b422b415d95645b9adcfd678cb1d63", + "0x0000000000000000000000000000000000000000000000000000000000001010", + "0x000000000000000000000000b72276d9ff15c7998b9962ffcfb21a6c7249441b", + "0x00000000000000000000000067b94473d81d0cd00849d563c94d0432ac988b49" + ], + "data": "0x0000000000000000000000000000000000000000000000000312194447bf92eb0000000000000000000000000000000000000000000000006f05b59d3b200000000000000000000000000000000000000000000000001937ad66593d212b3a900000000000000000000000000000000000000000000000006bf39c58f3606d15000000000000000000000000000000000000000000001937b078728168eacd7b", + "blockHash": "0xc437226ae55ae989c9ea2cc9adfc2fe7e7ee22b41df5baf9baab87fab27c328c", + "blockNumber": "0x31c9c05", + "transactionHash": "0x19b19e75129fa926a9438b1850d352bf3ae201854528b2138e27217cf945ec0d", + "transactionIndex": "0x4b", + "logIndex": "0x134", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00080000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000008000000000000000000400000000000000000000000000000000000000800000000000000000000100000000000000000000000000000000000000000008000000000000000080000000000000000000000000000000000800000000000000000000000080000000000000000000200000000000000000000000000000000000000000000000000000800000004000800000000004000001000000008000000000000004000000100000000000000000020000000000000000000000000000000000000000000000000000100000", + "type": "0x2", + "effectiveGasPrice": "0x15306bc07c" + }, + { + "transactionHash": "0x6af00c50502d670318f0aedb054e2d84f3e8994fa1f51cf665dfaff144243033", + "transactionIndex": "0x4c", + "blockHash": "0xc437226ae55ae989c9ea2cc9adfc2fe7e7ee22b41df5baf9baab87fab27c328c", + "blockNumber": "0x31c9c05", + "from": "0xb72276D9FF15c7998b9962FFCfB21A6C7249441B", + "to": null, + "cumulativeGasUsed": "0x11e85d7", + "gasUsed": "0x9ab70", + "contractAddress": "0xFBE17545dffD75A92A5A72926AE581478973FE65", + "logs": [ + { + "address": "0x0000000000000000000000000000000000001010", + "topics": [ + "0x4dfe1bbbcf077ddc3e01291eea2d5c70c2b422b415d95645b9adcfd678cb1d63", + "0x0000000000000000000000000000000000000000000000000000000000001010", + "0x000000000000000000000000b72276d9ff15c7998b9962ffcfb21a6c7249441b", + "0x00000000000000000000000067b94473d81d0cd00849d563c94d0432ac988b49" + ], + "data": "0x0000000000000000000000000000000000000000000000000063300a2a39c3d000000000000000000000000000000000000000000000000068addd0265456a84000000000000000000000000000000000000000000001937b078728168eacd7b000000000000000000000000000000000000000000000000684aacf83b0ba6b4000000000000000000000000000000000000000000001937b0dba28b9324914b", + "blockHash": "0xc437226ae55ae989c9ea2cc9adfc2fe7e7ee22b41df5baf9baab87fab27c328c", + "blockNumber": "0x31c9c05", + "transactionHash": "0x6af00c50502d670318f0aedb054e2d84f3e8994fa1f51cf665dfaff144243033", + "transactionIndex": "0x4c", + "logIndex": "0x135", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00080000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000008000000000000000000000000000000000000000000000000000000000800000000000000000000100000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000004000800000000004000001000000008000000000000000000000100000000000000000020000000000000000000000000000000000000000000000000000100000", + "type": "0x2", + "effectiveGasPrice": "0x15306bc07c" + }, + { + "transactionHash": "0x71b3ec150c66d85d30be3dc9ad3d2626f47970af2188bfc437e787daf1d5152f", + "transactionIndex": "0x4d", + "blockHash": "0xc437226ae55ae989c9ea2cc9adfc2fe7e7ee22b41df5baf9baab87fab27c328c", + "blockNumber": "0x31c9c05", + "from": "0xb72276D9FF15c7998b9962FFCfB21A6C7249441B", + "to": null, + "cumulativeGasUsed": "0x12b7780", + "gasUsed": "0xcf1a9", + "contractAddress": "0x088C268cb00226D6A9b29e5488905Aa94D2f0239", + "logs": [ + { + "address": "0x088C268cb00226D6A9b29e5488905Aa94D2f0239", + "topics": [ + "0xc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2" + ], + "data": "0x000000000000000000000000000000000000000000000000ffffffffffffffff", + "blockHash": "0xc437226ae55ae989c9ea2cc9adfc2fe7e7ee22b41df5baf9baab87fab27c328c", + "blockNumber": "0x31c9c05", + "transactionHash": "0x71b3ec150c66d85d30be3dc9ad3d2626f47970af2188bfc437e787daf1d5152f", + "transactionIndex": "0x4d", + "logIndex": "0x136", + "removed": false + }, + { + "address": "0x0000000000000000000000000000000000001010", + "topics": [ + "0x4dfe1bbbcf077ddc3e01291eea2d5c70c2b422b415d95645b9adcfd678cb1d63", + "0x0000000000000000000000000000000000000000000000000000000000001010", + "0x000000000000000000000000b72276d9ff15c7998b9962ffcfb21a6c7249441b", + "0x00000000000000000000000067b94473d81d0cd00849d563c94d0432ac988b49" + ], + "data": "0x0000000000000000000000000000000000000000000000000084c630916ba7e300000000000000000000000000000000000000000000000067e0f89b78326044000000000000000000000000000000000000000000001937b0dba28b9324914b000000000000000000000000000000000000000000000000675c326ae6c6b861000000000000000000000000000000000000000000001937b16068bc2490392e", + "blockHash": "0xc437226ae55ae989c9ea2cc9adfc2fe7e7ee22b41df5baf9baab87fab27c328c", + "blockNumber": "0x31c9c05", + "transactionHash": "0x71b3ec150c66d85d30be3dc9ad3d2626f47970af2188bfc437e787daf1d5152f", + "transactionIndex": "0x4d", + "logIndex": "0x137", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00080000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000008000000000000000000000000000000000000000000000000000000000800000100000000000000100000000000000000000000000000000000000000000000000000000000080000000000010000000000000000000000800000000000000000000000080000000000000000000200000000000000000000000000000000000000000000000000000000000004000800000000004000001000000008000000000000004000000100000000000000000028000000000000000000000000000000000000000000000000000100000", + "type": "0x2", + "effectiveGasPrice": "0x15306bc07c" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1704995530, + "chain": 137, + "multi": false, + "commit": "688208a" +} \ No newline at end of file diff --git a/broadcast/DeployLlamaTokenVotingFactory.s.sol/420/run-1704991432.json b/broadcast/DeployLlamaTokenVotingFactory.s.sol/420/run-1704991432.json new file mode 100644 index 0000000..cc655fe --- /dev/null +++ b/broadcast/DeployLlamaTokenVotingFactory.s.sol/420/run-1704991432.json @@ -0,0 +1,75 @@ +{ + "transactions": [ + { + "hash": "0xf7ed2a7e29e6dfe6c828256ccab5471f2d6e65d229f4eedc33ee42b59d0c7e51", + "transactionType": "CREATE", + "contractName": "LlamaTokenGovernor", + "contractAddress": "0x3f3DAB3ab8cEc2FBd06767c2A5F66Cb6BFF21A4A", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0xb72276d9ff15c7998b9962ffcfb21a6c7249441b", + "gas": "0x6398ff", + "value": "0x0", + "data": "0x60806040523480156200001157600080fd5b506200001c62000022565b620000d6565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff1615620000735760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b0390811614620000d35780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b6159f880620000e66000396000f3fe608060405234801561001057600080fd5b50600436106101da5760003560e01c80637e4a56bb11610104578063b92cdd9a116100a2578063cae3bdff11610071578063cae3bdff1461053d578063dcae21b714610552578063e45061ea14610565578063e5589b9d1461057857600080fd5b8063b92cdd9a146104e4578063b9b2cf6c146104f7578063c193c2691461050a578063c26c12eb1461053557600080fd5b80638734852a116100de5780638734852a1461049857806396ff6e2e146104ab578063a1d9b412146104be578063b3c678b0146104d157600080fd5b80637e4a56bb1461046a5780637ed7238e14610472578063807ad1141461048557600080fd5b80633fed8f161161017c57806359e5332d1161014b57806359e5332d1461036457806364f6b3161461037b5780637186dd9c1461038e57806374f717cd1461044757600080fd5b80633fed8f16146103165780634d61ebf4146103365780634ec0ab1c1461033e578063509c5fbd1461035157600080fd5b806319a39740116101b857806319a397401461025b5780631e127ddf1461026e578063372fa8e8146102c25780633df91222146102d557600080fd5b80630669b1ce146101df57806311f900b5146101f45780631650080714610227575b600080fd5b6101f26101ed366004614a11565b61058b565b005b610207610202366004614a46565b610b79565b6040805161ffff9384168152929091166020830152015b60405180910390f35b61023a610235366004614ac0565b610b90565b6040516fffffffffffffffffffffffffffffffff909116815260200161021e565b6101f2610269366004614a46565b610baa565b6101f261027c366004614b82565b3360009081526007602090815260408083207fffffffff000000000000000000000000000000000000000000000000000000009490941683529290522080546001019055565b6101f26102d0366004614bbd565b610c75565b6102fe6102e3366004614a46565b6005602052600090815260409020546001600160a01b031681565b6040516001600160a01b03909116815260200161021e565b610329610324366004614c31565b610d76565b60405161021e9190614c53565b610207610f4e565b6101f261034c366004614ce2565b610f63565b61023a61035f366004614ac0565b611030565b61036d60025481565b60405190815260200161021e565b6000546102fe906001600160a01b031681565b6103fc61039c366004614a46565b6006602052600090815260409020805460018201546002909201546fffffffffffffffffffffffffffffffff8083169370010000000000000000000000000000000093849004821693818316939181900483169282811692919091041686565b604080516fffffffffffffffffffffffffffffffff978816815295871660208701529386169385019390935290841660608401528316608083015290911660a082015260c00161021e565b61045a610455366004614d23565b611040565b604051901515815260200161021e565b6103296110a9565b61036d610480366004614ea9565b61114c565b6001546102fe906001600160a01b031681565b6101f26104a6366004614f88565b611263565b61023a6104b9366004615066565b6114b5565b61023a6104cc366004615066565b6115c6565b61036d6104df366004615131565b6116c7565b6101f26104f2366004614a11565b61171c565b6101f2610505366004614ce2565b611726565b61036d6105183660046151e2565b600760209081526000928352604080842090915290825290205481565b6102076117ef565b6105456117fc565b60405161021e919061520e565b610545610560366004614c31565b61188f565b6101f2610573366004614a11565b611a4d565b610207610586366004614a46565b612026565b600080546040517fb6e76873000000000000000000000000000000000000000000000000000000008152833560048201526001600160a01b039091169063b6e768739060240161012060405180830381865afa1580156105ef573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061061391906152c8565b9050600060018260a0015161062891906153a6565b67ffffffffffffffff169050600160009054906101000a90046001600160a01b03166001600160a01b031663ae2a6df26040518163ffffffff1660e01b815260040160006040518083038186803b15801561068257600080fd5b505afa158015610696573d6000803e3d6000fd5b505050506000806000806106b485600461203490919063ffffffff16565b909250905060006106cb6080890160608a016153ce565b6001600160a01b031663b02bd9206040518163ffffffff1660e01b8152600401602060405180830381865afa158015610708573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061072c91906153eb565b67ffffffffffffffff16905061271061ffff8416820204818860c0015167ffffffffffffffff16030194506127108261ffff1682028161076e5761076e615406565b04850193508342116107ac576040517f038d8a6a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8660c0015167ffffffffffffffff1642106107f3576040517f08c8d62700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050843560009081526006602052604080822060015491517fcdfda4dd000000000000000000000000000000000000000000000000000000008152600481018690529092916001600160a01b03169063edb8ee5a90829063cdfda4dd90602401602060405180830381865afa158015610871573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108959190615435565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b16815265ffffffffffff9091166004820152602401602060405180830381865afa1580156108f0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610914919061545d565b600183015460028401549192506fffffffffffffffffffffffffffffffff7001000000000000000000000000000000009182900481169291820481169116600061095f60038a6121cd565b9150506000610975868361ffff166127106122d8565b905080856fffffffffffffffffffffffffffffffff1610156109e3576040517fbfb9aa550000000000000000000000000000000000000000000000000000000081526fffffffffffffffffffffffffffffffff86166004820152602481018290526044015b60405180910390fd5b836fffffffffffffffffffffffffffffffff16856fffffffffffffffffffffffffffffffff1611610a5c576040517f8a0df63f0000000000000000000000000000000000000000000000000000000081526fffffffffffffffffffffffffffffffff8087166004830152851660248201526044016109da565b6000610a7b8d6060016020810190610a7491906153ce565b600061231c565b905060008054906101000a90046001600160a01b03166001600160a01b03166394004706828f6040518363ffffffff1660e01b8152600401610abe9291906155b2565b6020604051808303816000875af1158015610add573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b0191906155e8565b50604080518e3581526fffffffffffffffffffffffffffffffff808916602083015280881692820192909252908516606082015260ff82169033907ff5bc433f16cc3d0e9fcb5ac4f8de9f17eb90de1fd2a9ede5952c2097d4ef1a59906080015b60405180910390a350505050505050505050505050565b600080610b87600484612034565b91509150915091565b6000610ba0338787878787612612565b9695505050505050565b60008054906101000a90046001600160a01b03166001600160a01b031663c34c08e56040518163ffffffff1660e01b8152600401602060405180830381865afa158015610bfb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c1f9190615603565b6001600160a01b0316336001600160a01b031614610c69576040517f26bee1ce00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610c7281612c5e565b50565b6000610c818686612e2e565b6040805160008082526020820180845284905260ff88169282019290925260608101869052608081018590529192509060019060a0016020604051602081039080840390855afa158015610cd9573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001519150506001600160a01b0381161580610d2c5750866001600160a01b0316816001600160a01b031614155b15610d63576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610d6d8187612f50565b50505050505050565b60408051602081019091526060815281831115610dbf576040517f2cd4dad300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60045480831115610dfc576040517f2cd4dad300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610e088585615620565b905060008167ffffffffffffffff811115610e2557610e25614d65565b604051908082528060200260200182016040528015610e8e57816020015b60408051606081018252600080825260208083018290529282015282527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff909201910181610e435790505b509050855b85811015610f34576004805482908110610eaf57610eaf615633565b600091825260209182902060408051606081018252919092015465ffffffffffff8116825261ffff660100000000000082048116948301949094526801000000000000000090049092169082015282610f088984615620565b81518110610f1857610f18615633565b6020026020010181905250610f2d8160010190565b9050610e93565b506040805160208101909152908152925050505b92915050565b600080610f5b6004613063565b915091509091565b60008054906101000a90046001600160a01b03166001600160a01b031663c34c08e56040518163ffffffff1660e01b8152600401602060405180830381865afa158015610fb4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fd89190615603565b6001600160a01b0316336001600160a01b031614611022576040517f26bee1ce00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61102c82826130db565b5050565b6000610ba03387878787876131cf565b60008115611077575060008381526006602090815260408083206001600160a01b038616845260030190915290205460ff166110a2565b5060008381526006602090815260408083206001600160a01b038616845260040190915290205460ff165b9392505050565b6040805160208101909152606081526040805160048054602081810284018501855283018181529293919284929091849160009085015b8282101561113f576000848152602090819020604080516060810182529185015465ffffffffffff8116835261ffff660100000000000082048116848601526801000000000000000090910416908201528252600190920191016110e0565b5050505081525050905090565b60008061115f8d8d8d8d8d8d8d8d613714565b6040805160008082526020820180845284905260ff89169282019290925260608101879052608081018690529192509060019060a0016020604051602081039080840390855afa1580156111b7573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001519150506001600160a01b038116158061120a57508d6001600160a01b0316816001600160a01b031614155b15611241576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611251818e8e8e8e8e8e8e613885565b9e9d5050505050505050505050505050565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000810460ff16159067ffffffffffffffff166000811580156112ae5750825b905060008267ffffffffffffffff1660011480156112cb5750303b155b9050811580156112d9575080155b15611310576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b84547fffffffffffffffffffffffffffffffffffffffffffffffff000000000000000016600117855583156113715784547fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff16680100000000000000001785555b886001600160a01b0316639bccfe496040518163ffffffff1660e01b8152600401602060405180830381865afa1580156113af573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113d3919061545d565b50600080546001600160a01b03808c167fffffffffffffffffffffffff00000000000000000000000000000000000000009283161790925560018054928b169290911691909117905561142587612c5e565b611437866000015187602001516130db565b61144986604001518760600151613b89565b83156114aa5784547fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b505050505050505050565b6000806114c68b8b8b8b8b8b613c26565b6040805160008082526020820180845284905260ff89169282019290925260608101879052608081018690529192509060019060a0016020604051602081039080840390855afa15801561151e573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001519150506001600160a01b038116158061157157508b6001600160a01b0316816001600160a01b031614155b156115a8576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6115b6818c8c8c8c8c6131cf565b9c9b505050505050505050505050565b6000806115d78b8b8b8b8b8b613d84565b6040805160008082526020820180845284905260ff89169282019290925260608101879052608081018690529192509060019060a0016020604051602081039080840390855afa15801561162f573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001519150506001600160a01b038116158061168257508b6001600160a01b0316816001600160a01b031614155b156116b9576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6115b6818c8c8c8c8c612612565b600061170f338a8a8a8a8a8a8a8a8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061388592505050565b9998505050505050505050565b610c723382612f50565b60008054906101000a90046001600160a01b03166001600160a01b031663c34c08e56040518163ffffffff1660e01b8152600401602060405180830381865afa158015611777573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061179b9190615603565b6001600160a01b0316336001600160a01b0316146117e5576040517f26bee1ce00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61102c8282613b89565b600080610f5b6003613063565b604080516020810190915260608152604080516003805460208082028401850185528301818152929391928492909184916000908501821561113f576000848152602090819020604080516060810182529185015465ffffffffffff8116835261ffff660100000000000082048116848601526801000000000000000090910416908201528252600190920191016110e0565b604080516020810190915260608152818311156118d8576040517f2cd4dad300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60035480831115611915576040517f2cd4dad300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006119218585615620565b905060008167ffffffffffffffff81111561193e5761193e614d65565b6040519080825280602002602001820160405280156119a757816020015b60408051606081018252600080825260208083018290529282015282527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90920191018161195c5790505b509050855b85811015610f345760038054829081106119c8576119c8615633565b600091825260209182902060408051606081018252919092015465ffffffffffff8116825261ffff660100000000000082048116948301949094526801000000000000000090049092169082015282611a218984615620565b81518110611a3157611a31615633565b6020026020010181905250611a468160010190565b90506119ac565b600080546040517fb6e76873000000000000000000000000000000000000000000000000000000008152833560048201526001600160a01b039091169063b6e768739060240161012060405180830381865afa158015611ab1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ad591906152c8565b9050600060018260a00151611aea91906153a6565b67ffffffffffffffff169050600160009054906101000a90046001600160a01b03166001600160a01b031663ae2a6df26040518163ffffffff1660e01b815260040160006040518083038186803b158015611b4457600080fd5b505afa158015611b58573d6000803e3d6000fd5b50505050600080600080611b7685600461203490919063ffffffff16565b90925090506000611b8d6080890160608a016153ce565b6001600160a01b0316637999762c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611bca573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bee91906153eb565b67ffffffffffffffff16905061271061ffff84168202048760a0015167ffffffffffffffff160194506127108261ffff16820281611c2e57611c2e615406565b0485019350834211611c6c576040517f038d8a6a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b808760a0015167ffffffffffffffff16611c869190615662565b421115611cbf576040517f08c8d62700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050843560009081526006602052604080822060015491517fcdfda4dd000000000000000000000000000000000000000000000000000000008152600481018690529092916001600160a01b03169063edb8ee5a90829063cdfda4dd90602401602060405180830381865afa158015611d3d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d619190615435565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b16815265ffffffffffff9091166004820152602401602060405180830381865afa158015611dbc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611de0919061545d565b825460018401549192506fffffffffffffffffffffffffffffffff808216928116917001000000000000000000000000000000009004166000611e2460038a6121cd565b5090506000611e3a868361ffff166127106122d8565b905080856fffffffffffffffffffffffffffffffff161015611ea3576040517f0425fab10000000000000000000000000000000000000000000000000000000081526fffffffffffffffffffffffffffffffff86166004820152602481018290526044016109da565b836fffffffffffffffffffffffffffffffff16856fffffffffffffffffffffffffffffffff1611611f1c576040517f8a0df63f0000000000000000000000000000000000000000000000000000000081526fffffffffffffffffffffffffffffffff8087166004830152851660248201526044016109da565b6000611f3b8d6060016020810190611f3491906153ce565b600161231c565b905060008054906101000a90046001600160a01b03166001600160a01b03166389e7d126828f6040518363ffffffff1660e01b8152600401611f7e9291906155b2565b6020604051808303816000875af1158015611f9d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fc191906155e8565b50604080518e3581526fffffffffffffffffffffffffffffffff808916602083015280881692820192909252908516606082015260ff82169033907ff23279e924757f3bfe4f543bc1b43685e851d6ace53f8518b806dcd8d42fc13990608001610b62565b600080610b876003846121cd565b6000804283106120c6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f506572696f64506374436865636b706f696e74733a2074696d657374616d702060448201527f6973206e6f7420696e207468652070617374000000000000000000000000000060648201526084016109da565b60006120d184613db3565b855490915060008160058111156121315760006120ed84613dfc565b6120f79085615620565b60008a81526020902090915081015465ffffffffffff90811690861610156121215780915061212f565b61212c816001615662565b92505b505b600061213f89868585613eae565b90508060000361215a576000809650965050505050506121c6565b60006121798a61216b600185615620565b600091825260209091200190565b60408051606081018252915465ffffffffffff8116835261ffff66010000000000008204811660208501819052680100000000000000009092041692909101829052985096505050505050505b9250929050565b60008042831061225f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602f60248201527f51756f72756d436865636b706f696e74733a2074696d657374616d702069732060448201527f6e6f7420696e207468652070617374000000000000000000000000000000000060648201526084016109da565b600061226a84613db3565b855490915060008160058111156122ca57600061228684613dfc565b6122909085615620565b60008a81526020902090915081015465ffffffffffff90811690861610156122ba578091506122c8565b6122c5816001615662565b92505b505b600061213f89868585613f10565b6000827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048411830215820261230d57600080fd5b50910281810615159190040190565b60008054604080517f0505c8c9000000000000000000000000000000000000000000000000000000008152905183926001600160a01b031691630505c8c99160048083019260209291908290030181865afa15801561237f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123a39190615603565b6001600160a01b0316638b2ed3886040518163ffffffff1660e01b8152600401602060405180830381865afa1580156123e0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124049190615675565b905060015b8160ff16811161253b57836124a1576040517fc167ebae00000000000000000000000000000000000000000000000000000000815260ff821660048201526001600160a01b0386169063c167ebae90602401602060405180830381865afa158015612478573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061249c9190615692565b612525565b6040517ffb847c4300000000000000000000000000000000000000000000000000000000815260ff821660048201526001600160a01b0386169063fb847c4390602401602060405180830381865afa158015612501573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125259190615692565b15612533579150610f489050565b600101612409565b50826125a857836001600160a01b03166312a52f006040518163ffffffff1660e01b8152600401602060405180830381865afa15801561257f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125a39190615675565b61260a565b836001600160a01b03166366cacdc96040518163ffffffff1660e01b8152600401602060405180830381865afa1580156125e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061260a9190615675565b949350505050565b600080546040517fb6e768730000000000000000000000000000000000000000000000000000000081528635600482015282916001600160a01b03169063b6e768739060240161012060405180830381865afa158015612676573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061269a91906152c8565b9050600060018260a001516126af91906153a6565b8735600090815260066020526040902067ffffffffffffffff9190911691506126de6080890160608a016153ce565b6001600160a01b03166302674e4b89308c6040518463ffffffff1660e01b815260040161270d939291906156af565b60006040518083038186803b15801561272557600080fd5b505afa158015612739573d6000803e3d6000fd5b505050506001600160a01b038a16600090815260048201602052604090205460ff1615612792576040517f9dd6544b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6127a0888a89600486613f6a565b60008080806127b0600487612034565b909250905060006127c760808e0160608f016153ce565b6001600160a01b031663b02bd9206040518163ffffffff1660e01b8152600401602060405180830381865afa158015612804573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061282891906153eb565b67ffffffffffffffff16905061271061ffff8416820204818960c0015167ffffffffffffffff16030194506127108261ffff1682028161286a5761286a615406565b04850193508442116128a8576040517fd0b72b4900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b834211156128e2576040517f5b73d19300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050506000612a25600160009054906101000a90046001600160a01b03166001600160a01b0316639556de738f600160009054906101000a90046001600160a01b03166001600160a01b031663cdfda4dd886040518263ffffffff1660e01b815260040161295291815260200190565b602060405180830381865afa15801561296f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906129939190615435565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b1681526001600160a01b03909216600483015265ffffffffffff166024820152604401602060405180830381865afa1580156129fc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a20919061545d565b61425e565b905060ff8a16612a9e576002840154612a649070010000000000000000000000000000000090046fffffffffffffffffffffffffffffffff16826142ad565b6002850180546fffffffffffffffffffffffffffffffff928316700100000000000000000000000000000000029216919091179055612bc6565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60ff8b1601612b37576001840154612afd9070010000000000000000000000000000000090046fffffffffffffffffffffffffffffffff16826142ad565b6001850180546fffffffffffffffffffffffffffffffff928316700100000000000000000000000000000000029216919091179055612bc6565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe60ff8b1601612bc6576002840154612b82906fffffffffffffffffffffffffffffffff16826142ad565b6002850180547fffffffffffffffffffffffffffffffff00000000000000000000000000000000166fffffffffffffffffffffffffffffffff929092169190911790555b6001600160a01b038d1660008181526004860160205260409081902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790555160ff8c1691907f4e3e2ad68670a2709cb408c31c5afd8da0b6d3d06c75b11feb404a455639fe7c90612c46908f359086908f908f90615713565b60405180910390a39c9b505050505050505050505050565b60018054604080517f91ddadf400000000000000000000000000000000000000000000000000000000815290516000936001600160a01b039093169263edb8ee5a92909184916391ddadf49160048083019260209291908290030181865afa158015612cce573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612cf29190615435565b612cfc9190615745565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b16815265ffffffffffff9091166004820152602401602060405180830381865afa158015612d57573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612d7b919061545d565b905080600003612db7576040517f34bbd58500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80821115612df1576040517f8a5e746800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60028290556040518281527fd91a985c173545ab0e0bd11c021a1ae84c1ea6eab9350d9bf3812d5b8bff49a4906020015b60405180910390a15050565b6000807f6da9390b4f29da2c44fa5a9da00b392393d01e989d16e4a3dec5a538318e352584612e5c856142f4565b6001600160a01b03871660009081526007602090815260408083207fffffffff00000000000000000000000000000000000000000000000000000000843516845290915290208054600181019091556040805160208101959095526001600160a01b03909316928401929092526060830152608082015260a001604051602081830303815290604052805190602001209050612ef66143eb565b6040517f190100000000000000000000000000000000000000000000000000000000000060208201526022810191909152604281018290526062016040516020818303038152906040528051906020012091505092915050565b80356000908152600560205260409020546001600160a01b03838116911614612fa5576040517f86ba025600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000546040517fb92cdd9a0000000000000000000000000000000000000000000000000000000081526001600160a01b039091169063b92cdd9a90612fee908490600401615764565b600060405180830381600087803b15801561300857600080fd5b505af115801561301c573d6000803e3d6000fd5b5050604051833581526001600160a01b03851692507fdcccc5725b7256a6975da00de8953e5d326756a3079d203ff6df9e52331f411a915060200160405180910390a25050565b8054600090819080820361307d5750600093849350915050565b600061308e8561216b600185615620565b60408051606081018252915465ffffffffffff8116835261ffff66010000000000008204811660208501819052680100000000000000009092041692909101829052969095509350505050565b6127108261ffff1611806130f1575061ffff8216155b1561312e576040517f8f6febc000000000000000000000000000000000000000000000000000000000815261ffff831660048201526024016109da565b6127108161ffff161180613144575061ffff8116155b15613181576040517f3bec511c00000000000000000000000000000000000000000000000000000000815261ffff821660048201526024016109da565b613194600361ffff80851690841661454d565b6040805161ffff8085168252831660208201527f77c3f43700db02acb49792bbf699b39f72c2ed4b920bd5c0b1843dcd7c832f4c9101612e22565b600080546040517fb6e768730000000000000000000000000000000000000000000000000000000081528635600482015282916001600160a01b03169063b6e768739060240161012060405180830381865afa158015613233573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061325791906152c8565b9050600060018260a0015161326c91906153a6565b8735600090815260066020526040902067ffffffffffffffff91909116915061329b6080890160608a016153ce565b6001600160a01b0316631a2a4e7789308c6040518463ffffffff1660e01b81526004016132ca939291906156af565b60006040518083038186803b1580156132e257600080fd5b505afa1580156132f6573d6000803e3d6000fd5b505050506001600160a01b038a16600090815260038201602052604090205460ff161561334f576040517f9dd6544b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61335d888a89600086613f6a565b600080808061336d600487612034565b9092509050600061338460808e0160608f016153ce565b6001600160a01b0316637999762c6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156133c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906133e591906153eb565b67ffffffffffffffff16905061271061ffff84168202048860a0015167ffffffffffffffff160194506127108261ffff1682028161342557613425615406565b0485019350844211613463576040517fd0b72b4900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8342111561349d576040517f5b73d19300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050600061350d600160009054906101000a90046001600160a01b03166001600160a01b0316639556de738f600160009054906101000a90046001600160a01b03166001600160a01b031663cdfda4dd886040518263ffffffff1660e01b815260040161295291815260200190565b905060ff8a16613580576001840154613538906fffffffffffffffffffffffffffffffff16826142ad565b6001850180547fffffffffffffffffffffffffffffffff00000000000000000000000000000000166fffffffffffffffffffffffffffffffff92909216919091179055613694565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60ff8b16016136095783546135c8906fffffffffffffffffffffffffffffffff16826142ad565b84547fffffffffffffffffffffffffffffffff00000000000000000000000000000000166fffffffffffffffffffffffffffffffff91909116178455613694565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe60ff8b16016136945783546136659070010000000000000000000000000000000090046fffffffffffffffffffffffffffffffff16826142ad565b84546fffffffffffffffffffffffffffffffff9182167001000000000000000000000000000000000291161784555b6001600160a01b038d1660008181526003860160205260409081902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790555160ff8c1691907f761cce3a1af5d9cfc0d57222f605ce4bd2be345f0ad9ebb7b83a84a91a0c201490612c46908f359086908f908f90615713565b6001600160a01b03881660009081526007602090815260408083207fffffffff000000000000000000000000000000000000000000000000000000008435168452909152812080546001810190915560007fd1fab1c7b3b37134662e5867b00e272eb49f7be0a890df29e802c3cc66c06f838b8b8b8b8b8b8b60405161379b929190615777565b604080519182900382208c516020808f0191909120908401999099526001600160a01b039788169183019190915260ff90951660608201529285166080840152931660a082015260c081019290925260e08201526101008101919091526101208101839052610140016040516020818303038152906040528051906020012090506138246143eb565b6040517f19010000000000000000000000000000000000000000000000000000000000006020820152602281019190915260428101829052606201604051602081830303815290604052805190602001209250505098975050505050505050565b600154604080517fae2a6df200000000000000000000000000000000000000000000000000000000815290516000926001600160a01b03169163ae2a6df29160048083019286929190829003018186803b1580156138e257600080fd5b505afa1580156138f6573d6000803e3d6000fd5b505060018054604080517f91ddadf40000000000000000000000000000000000000000000000000000000081529051600095506001600160a01b039092169350639556de73928e92909185916391ddadf4916004808201926020929091908290030181865afa15801561396d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906139919190615435565b61399b9190615745565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b1681526001600160a01b03909216600483015265ffffffffffff166024820152604401602060405180830381865afa158015613a04573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613a28919061545d565b9050600254811015613a69576040517f92665351000000000000000000000000000000000000000000000000000000008152600481018290526024016109da565b6000546040517fb3c678b00000000000000000000000000000000000000000000000000000000081526001600160a01b039091169063b3c678b090613abe908c908c908c908c908c908c908c906004016157ab565b6020604051808303816000875af1158015613add573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613b01919061545d565b60008181526005602090815260409182902080547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b038f16908117909155915183815292945090917f1834dfd49255741a8ce9a9bd66b91b64d13622e1d8170e4c78ac91f9ec50a542910160405180910390a25098975050505050505050565b612710613b96828461583b565b61ffff1610613bdf576040517f519dd38400000000000000000000000000000000000000000000000000000000815261ffff8084166004830152821660248201526044016109da565b613beb60048383614576565b6040805161ffff8085168252831660208201527f8df7bdcce333d9e1b85e40782fb2f293c805761d3f48aaea58865e9541e44c709101612e22565b6000807fd7be168a3509af358f222ee35ee76aba47bc5fc2c35061cdce3958f510b7b1b28888613c55896142f4565b888888604051613c66929190615777565b60408051918290039091206001600160a01b038f166000908152600760209081528382207fffffffff0000000000000000000000000000000000000000000000000000000083351683529052919091208054600181019091556040805160208101989098526001600160a01b039096169587019590955260ff938416606087015260808601929092529190911660a084015260c083015260e082015261010001604051602081830303815290604052805190602001209050613d266143eb565b6040517f19010000000000000000000000000000000000000000000000000000000000006020820152602281019190915260428101829052606201604051602081830303815290604052805190602001209150509695505050505050565b6000807fa87058c5a9888e7af4405a932381d5a4612c61354bc3e52e9ea361ba17703fb38888613c55896142f4565b600065ffffffffffff821115613df8576040517fc0188c4f000000000000000000000000000000000000000000000000000000008152600481018390526024016109da565b5090565b60b581710100000000000000000000000000000000008110613e235760409190911b9060801c5b69010000000000000000008110613e3f5760209190911b9060401c5b650100000000008110613e575760109190911b9060201c5b63010000008110613e6d5760089190911b9060101c5b62010000010260121c80820401600190811c80830401811c80830401811c80830401811c80830401811c80830401811c80830401901c908190048111900390565b60005b81831015613f08576000613ec584846145a2565b60008781526020902090915065ffffffffffff86169082015465ffffffffffff161115613ef457809250613f02565b613eff816001615662565b93505b50613eb1565b509392505050565b60005b81831015613f08576000613f2784846145a2565b60008781526020902090915065ffffffffffff86169082015465ffffffffffff161115613f5657809250613f64565b613f61816001615662565b93505b50613f13565b600260ff84161115613fad576040517ffe0e5d8b00000000000000000000000000000000000000000000000000000000815260ff841660048201526024016109da565b600080546040517fec12d8be0000000000000000000000000000000000000000000000000000000081526001600160a01b039091169063ec12d8be90613ff7908990600401615764565b602060405180830381865afa158015614014573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906140389190615675565b60ff16600681111561404c5761404c6156e4565b9050826006811115614060576140606156e4565b816006811115614072576140726156e4565b146140ab57806040517f87afe58e0000000000000000000000000000000000000000000000000000000081526004016109da9190615856565b60008060009054906101000a90046001600160a01b03166001600160a01b0316630505c8c96040518163ffffffff1660e01b8152600401602060405180830381865afa1580156140ff573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906141239190615603565b6040517fe0bec07600000000000000000000000000000000000000000000000000000000815230600482015260ff88166024820152604481018590526001600160a01b03919091169063e0bec07690606401602060405180830381865afa158015614192573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906141b69190615692565b9050806141ef576040517f88aebd1200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600160009054906101000a90046001600160a01b03166001600160a01b031663ae2a6df26040518163ffffffff1660e01b815260040160006040518083038186803b15801561423d57600080fd5b505afa158015614251573d6000803e3d6000fd5b5050505050505050505050565b60006fffffffffffffffffffffffffffffffff821115613df8576040517fc0188c4f000000000000000000000000000000000000000000000000000000008152600481018390526024016109da565b60006fffffffffffffffffffffffffffffffff6142ce838216858316615662565b106142ea57506fffffffffffffffffffffffffffffffff610f48565b6110a28284615897565b60007f86b4555c6e347ea3f038485b59b894986c208b67da7e65fcfa3707271608465f823561432960408501602086016153ce565b61433960608601604087016158c0565b61434960808701606088016153ce565b61435960a08801608089016153ce565b60a088013561436b60c08a018a6158dd565b604051614379929190615777565b6040805191829003822060208301999099528101969096526001600160a01b03948516606087015260ff909316608086015290831660a08501529190911660c083015260e082015261010081019190915261012001604051602081830303815290604052805190602001209050919050565b60008054604080517f06fdde0300000000000000000000000000000000000000000000000000000000815290517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f926001600160a01b0316916306fdde0391600480830192879291908290030181865afa15801561446d573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526144b39190810190615942565b8051602091820120604080518082018252600181527f310000000000000000000000000000000000000000000000000000000000000090840152805192830193909352918101919091527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a082015260c00160405160208183030381529060405280519060200120905090565b6145718361455a42613db3565b614563856145bd565b61456c856145bd565b6145fe565b505050565b6145718361458342613db3565b6145908561ffff166145bd565b61459d8561ffff166145bd565b614909565b60006145b160028484186159b0565b6110a290848416615662565b600061ffff821115613df8576040517fc0188c4f000000000000000000000000000000000000000000000000000000008152600481018390526024016109da565b835480156148475760006146178661216b600185615620565b60408051606081018252915465ffffffffffff80821680855261ffff66010000000000008404811660208701526801000000000000000090930490921692840192909252919250861610156146ed576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f51756f72756d20436865636b706f696e743a20696e76616c69642074696d657360448201527f74616d700000000000000000000000000000000000000000000000000000000060648201526084016109da565b805165ffffffffffff8087169116036147865760006147118761216b600186615620565b805461ffff86811668010000000000000000027fffffffffffffffffffffffffffffffffffffffffffff0000ffffffffffffffff918916660100000000000002919091167fffffffffffffffffffffffffffffffffffffffffffff00000000ffffffffffff9092169190911717905550614841565b6040805160608101825265ffffffffffff808816825261ffff80881660208085019182528883169585019586528b54600181018d5560008d81529190912094519401805491519551831668010000000000000000027fffffffffffffffffffffffffffffffffffffffffffff0000ffffffffffffffff969093166601000000000000027fffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000909216949093169390931792909217929092161790555b50614902565b6040805160608101825265ffffffffffff808716825261ffff80871660208085019182528783169585019586528a54600181018c5560008c81529190912094519401805491519551831668010000000000000000027fffffffffffffffffffffffffffffffffffffffffffff0000ffffffffffffffff969093166601000000000000027fffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000909216949093169390931792909217929092161790555b5050505050565b835480156148475760006149228661216b600185615620565b60408051606081018252915465ffffffffffff80821680855261ffff66010000000000008404811660208701526801000000000000000090930490921692840192909252919250861610156146ed576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602860248201527f506572696f642050637420436865636b706f696e743a20696e76616c6964207460448201527f696d657374616d7000000000000000000000000000000000000000000000000060648201526084016109da565b600060e08284031215614a0b57600080fd5b50919050565b600060208284031215614a2357600080fd5b813567ffffffffffffffff811115614a3a57600080fd5b61260a848285016149f9565b600060208284031215614a5857600080fd5b5035919050565b60ff81168114610c7257600080fd5b8035614a7981614a5f565b919050565b60008083601f840112614a9057600080fd5b50813567ffffffffffffffff811115614aa857600080fd5b6020830191508360208285010111156121c657600080fd5b600080600080600060808688031215614ad857600080fd5b8535614ae381614a5f565b9450602086013567ffffffffffffffff80821115614b0057600080fd5b614b0c89838a016149f9565b955060408801359150614b1e82614a5f565b90935060608701359080821115614b3457600080fd5b50614b4188828901614a7e565b969995985093965092949392505050565b80357fffffffff0000000000000000000000000000000000000000000000000000000081168114614a7957600080fd5b600060208284031215614b9457600080fd5b6110a282614b52565b6001600160a01b0381168114610c7257600080fd5b8035614a7981614b9d565b600080600080600060a08688031215614bd557600080fd5b8535614be081614b9d565b9450602086013567ffffffffffffffff811115614bfc57600080fd5b614c08888289016149f9565b9450506040860135614c1981614a5f565b94979396509394606081013594506080013592915050565b60008060408385031215614c4457600080fd5b50508035926020909101359150565b60208082528251828201829052805160408401819052600092916060919083019082860190855b81811015614cc357614cb3838551805165ffffffffffff16825260208082015161ffff9081169184019190915260409182015116910152565b9285019291840191600101614c7a565b5090979650505050505050565b803561ffff81168114614a7957600080fd5b60008060408385031215614cf557600080fd5b614cfe83614cd0565b9150614d0c60208401614cd0565b90509250929050565b8015158114610c7257600080fd5b600080600060608486031215614d3857600080fd5b833592506020840135614d4a81614b9d565b91506040840135614d5a81614d15565b809150509250925092565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051610120810167ffffffffffffffff81118282101715614db857614db8614d65565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715614e0557614e05614d65565b604052919050565b600067ffffffffffffffff821115614e2757614e27614d65565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b600082601f830112614e6457600080fd5b8135614e77614e7282614e0d565b614dbe565b818152846020838601011115614e8c57600080fd5b816020850160208301376000918101602001919091529392505050565b60008060008060008060008060008060006101408c8e031215614ecb57600080fd5b614ed48c614bb2565b9a50614ee260208d01614a6e565b9950614ef060408d01614bb2565b9850614efe60608d01614bb2565b975060808c0135965067ffffffffffffffff8060a08e01351115614f2157600080fd5b614f318e60a08f01358f01614a7e565b909750955060c08d0135811015614f4757600080fd5b50614f588d60c08e01358e01614e53565b9350614f6660e08d01614a6e565b92506101008c013591506101208c013590509295989b509295989b9093969950565b60008060008084860360e0811215614f9f57600080fd5b8535614faa81614b9d565b94506020860135614fba81614b9d565b93506040860135925060807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa082011215614ff357600080fd5b506040516080810181811067ffffffffffffffff8211171561501757615017614d65565b60405261502660608701614cd0565b815261503460808701614cd0565b602082015261504560a08701614cd0565b604082015261505660c08701614cd0565b6060820152939692955090935050565b60008060008060008060008060006101008a8c03121561508557600080fd5b893561509081614b9d565b985060208a01356150a081614a5f565b975060408a013567ffffffffffffffff808211156150bd57600080fd5b6150c98d838e016149f9565b985060608c013591506150db82614a5f565b90965060808b013590808211156150f157600080fd5b506150fe8c828d01614a7e565b90965094505060a08a013561511281614a5f565b8093505060c08a0135915060e08a013590509295985092959850929598565b60008060008060008060008060c0898b03121561514d57600080fd5b883561515881614a5f565b9750602089013561516881614b9d565b9650604089013561517881614b9d565b955060608901359450608089013567ffffffffffffffff8082111561519c57600080fd5b6151a88c838d01614a7e565b909650945060a08b01359150808211156151c157600080fd5b506151ce8b828c01614a7e565b999c989b5096995094979396929594505050565b600080604083850312156151f557600080fd5b823561520081614b9d565b9150614d0c60208401614b52565b60208082528251828201829052805160408401819052600092916060919083019082860190855b81811015614cc35761526e838551805165ffffffffffff16825260208082015161ffff9081169184019190915260409182015116910152565b9285019291840191600101615235565b8051614a7981614d15565b8051614a7981614b9d565b805167ffffffffffffffff81168114614a7957600080fd5b80516bffffffffffffffffffffffff81168114614a7957600080fd5b600061012082840312156152db57600080fd5b6152e3614d94565b825181526152f36020840161527e565b60208201526153046040840161527e565b60408201526153156060840161527e565b606082015261532660808401615289565b608082015261533760a08401615294565b60a082015261534860c08401615294565b60c082015261535960e084016152ac565b60e082015261010061536c8185016152ac565b908201529392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b67ffffffffffffffff8281168282160390808211156153c7576153c7615377565b5092915050565b6000602082840312156153e057600080fd5b81356110a281614b9d565b6000602082840312156153fd57600080fd5b6110a282615294565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006020828403121561544757600080fd5b815165ffffffffffff811681146110a257600080fd5b60006020828403121561546f57600080fd5b5051919050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b80358252600060208201356154d381614b9d565b6001600160a01b0390811660208501526040830135906154f282614a5f565b60ff821660408601526060840135915061550b82614b9d565b908116606085015260808301359061552282614b9d565b16608084015260a0828101359084015260c0820135368390037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe101811261556857600080fd5b820160208101903567ffffffffffffffff81111561558557600080fd5b80360382131561559457600080fd5b60e060c08601526155a960e086018284615476565b95945050505050565b60ff831681526060602082015260006155ce60608301846154bf565b828103604084015260008152602081019150509392505050565b6000602082840312156155fa57600080fd5b6110a2826152ac565b60006020828403121561561557600080fd5b81516110a281614b9d565b81810381811115610f4857610f48615377565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b80820180821115610f4857610f48615377565b60006020828403121561568757600080fd5b81516110a281614a5f565b6000602082840312156156a457600080fd5b81516110a281614d15565b6060815260006156c260608301866154bf565b90506001600160a01b038416602083015260ff83166040830152949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b8481526fffffffffffffffffffffffffffffffff84166020820152606060408201526000610ba0606083018486615476565b65ffffffffffff8281168282160390808211156153c7576153c7615377565b6020815260006110a260208301846154bf565b8183823760009101908152919050565b60005b838110156157a257818101518382015260200161578a565b50506000910152565b60ff8816815260006001600160a01b03808916602084015280881660408401525085606083015260c060808301526157e760c083018587615476565b82810360a08401528351808252615805816020840160208801615787565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016016020019998505050505050505050565b61ffff8181168382160190808211156153c7576153c7615377565b6020810160078310615891577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b91905290565b6fffffffffffffffffffffffffffffffff8181168382160190808211156153c7576153c7615377565b6000602082840312156158d257600080fd5b81356110a281614a5f565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261591257600080fd5b83018035915067ffffffffffffffff82111561592d57600080fd5b6020019150368190038213156121c657600080fd5b60006020828403121561595457600080fd5b815167ffffffffffffffff81111561596b57600080fd5b8201601f8101841361597c57600080fd5b805161598a614e7282614e0d565b81815285602083850101111561599f57600080fd5b6155a9826020830160208601615787565b6000826159e6577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b50049056fea164736f6c6343000817000a", + "nonce": "0x0", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x585f86bd802caf85ca1e18ed3f219a0eecc6a083003e4223ccea1b9520afc502", + "transactionType": "CREATE", + "contractName": "LlamaTokenVotingFactory", + "contractAddress": "0xFBE17545dffD75A92A5A72926AE581478973FE65", + "function": null, + "arguments": [ + "0x3f3DAB3ab8cEc2FBd06767c2A5F66Cb6BFF21A4A" + ], + "transaction": { + "type": "0x02", + "from": "0xb72276d9ff15c7998b9962ffcfb21a6c7249441b", + "gas": "0xc9127", + "value": "0x0", + "data": "0x60a060405234801561001057600080fd5b50604051610b16380380610b1683398101604081905261002f91610040565b6001600160a01b0316608052610070565b60006020828403121561005257600080fd5b81516001600160a01b038116811461006957600080fd5b9392505050565b608051610a8561009160003960008181604001526104390152610a856000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c806321618ea41461003b5780633ec857a51461008b575b600080fd5b6100627f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b61006261009936600461087b565b600080338360000151846040015185606001516040516020016100bf9493929190610959565b60405160208183030381529060405280519060200120905060006100e7846020015183610622565b60408086015190517f439fab9100000000000000000000000000000000000000000000000000000000815291925073ffffffffffffffffffffffffffffffffffffffff83169163439fab919161013f916004016109b9565b6020604051808303816000875af115801561015e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101829190610a0a565b50600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1663fc0c546a6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156101e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061020a9190610a33565b73ffffffffffffffffffffffffffffffffffffffff1603610257576040517f65f5b03400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517fcdfda4dd00000000000000000000000000000000000000000000000000000000815242600482015273ffffffffffffffffffffffffffffffffffffffff82169063cdfda4dd90602401602060405180830381865afa1580156102c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102e59190610a50565b65ffffffffffff16600003610326576040517f65f5b03400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff166391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865afa158015610371573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103959190610a50565b65ffffffffffff166000036103d6576040517f65f5b03400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1663ae2a6df26040518163ffffffff1660e01b815260040160006040518083038186803b15801561041c57600080fd5b505afa158015610430573d6000803e3d6000fd5b5050505061045e7f000000000000000000000000000000000000000000000000000000000000000083610622565b8451608086015160a0870151604080517f8734852a00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff948516600482015286851660248201526044810193909352815161ffff908116606485015260208301518116608485015290820151811660a48401526060909101511660c4820152919450841690638734852a9060e401600060405180830381600087803b15801561051757600080fd5b505af115801561052b573d6000803e3d6000fd5b505050508073ffffffffffffffffffffffffffffffffffffffff1663fc0c546a6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561057a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061059e9190610a33565b84516020808701516060808901516040805173ffffffffffffffffffffffffffffffffffffffff94851681528885169581019590955284015287821690830152466080830152928316929091169033907f4c8bb78cb1c62e64cef39fc4b4a1864d1a331a28c7bd59a67fe969cc8ab715879060a00160405180910390a45050919050565b6000763d602d80600a3d3981f3363d3d373d3d3d363d730000008360601b60e81c176000526e5af43d82803e903d91602b57fd5bf38360781b1760205281603760096000f5905073ffffffffffffffffffffffffffffffffffffffff81166106b6576040517fc2f868f400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405160c0810167ffffffffffffffff8111828210171561070e5761070e6106bc565b60405290565b73ffffffffffffffffffffffffffffffffffffffff8116811461073657600080fd5b50565b600082601f83011261074a57600080fd5b813567ffffffffffffffff80821115610765576107656106bc565b604051601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011681019082821181831017156107ab576107ab6106bc565b816040528381528660208588010111156107c457600080fd5b836020870160208301376000602085830101528094505050505092915050565b803561ffff811681146107f657600080fd5b919050565b60006080828403121561080d57600080fd5b6040516080810181811067ffffffffffffffff82111715610830576108306106bc565b60405290508061083f836107e4565b815261084d602084016107e4565b602082015261085e604084016107e4565b604082015261086f606084016107e4565b60608201525092915050565b60006020828403121561088d57600080fd5b813567ffffffffffffffff808211156108a557600080fd5b9083019061012082860312156108ba57600080fd5b6108c26106eb565b82356108cd81610714565b815260208301356108dd81610714565b60208201526040830135828111156108f457600080fd5b61090087828601610739565b60408301525060608301356060820152608083013560808201526109278660a085016107fb565b60a082015295945050505050565b60005b83811015610950578181015183820152602001610938565b50506000910152565b60007fffffffffffffffffffffffffffffffffffffffff000000000000000000000000808760601b168352808660601b1660148401525083516109a3816028850160208801610935565b6028920191820192909252604801949350505050565b60208152600082518060208401526109d8816040850160208701610935565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169190910160400192915050565b600060208284031215610a1c57600080fd5b81518015158114610a2c57600080fd5b9392505050565b600060208284031215610a4557600080fd5b8151610a2c81610714565b600060208284031215610a6257600080fd5b815165ffffffffffff81168114610a2c57600080fdfea164736f6c6343000817000a0000000000000000000000003f3dab3ab8cec2fbd06767c2a5f66cb6bff21a4a", + "nonce": "0x1", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x1c9b8b27faeed92b136112930a29dc473a6f7a3254fd3dbf6e3720d118d874ba", + "transactionType": "CREATE", + "contractName": "LlamaTokenAdapterVotesTimestamp", + "contractAddress": "0x088C268cb00226D6A9b29e5488905Aa94D2f0239", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0xb72276d9ff15c7998b9962ffcfb21a6c7249441b", + "gas": "0x10d28c", + "value": "0x0", + "data": "0x608060405234801561001057600080fd5b5061001961001e565b6100d0565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff161561006e5760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b03908116146100cd5780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b610df5806100df6000396000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c8063ae2a6df21161005b578063ae2a6df21461010a578063cdfda4dd14610114578063edb8ee5a14610127578063fc0c546a1461013a57600080fd5b8063439fab911461008d5780634bf5d7e9146100b557806391ddadf4146100ca5780639556de73146100e9575b600080fd5b6100a061009b3660046108e4565b61017f565b60405190151581526020015b60405180910390f35b6100bd6103a1565b6040516100ac9190610988565b6100d261042f565b60405165ffffffffffff90911681526020016100ac565b6100fc6100f7366004610a12565b6104e9565b6040519081526020016100ac565b610112610593565b005b6100d2610122366004610a4b565b6105ef565b6100fc610135366004610a64565b610600565b60005461015a9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100ac565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0080546000919068010000000000000000810460ff16159067ffffffffffffffff1683811580156101cd5750825b905060008267ffffffffffffffff1660011480156101ea5750303b155b9050811580156101f8575080155b1561022f576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b84547fffffffffffffffffffffffffffffffffffffffffffffffff000000000000000016600117855583156102905784547fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff16680100000000000000001785555b6000878060200190518101906102a69190610a81565b8051600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff90921691909117905560408051808201909152600e81527f6d6f64653d74696d657374616d7000000000000000000000000000000000000060208201529091506001906103309082610b71565b50600196505083156103975784547fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b5050505050919050565b600180546103ae90610acd565b80601f01602080910402602001604051908101604052809291908181526020018280546103da90610acd565b80156104275780601f106103fc57610100808354040283529160200191610427565b820191906000526020600020905b81548152906001019060200180831161040a57829003601f168201915b505050505081565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156104d7575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682019092526104d491810190610c8b565b60015b6104e4576104e44261069b565b905090565b600080546040517f3a46b1a800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff858116600483015265ffffffffffff8516602483015290911690633a46b1a890604401602060405180830381865afa158015610568573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061058c9190610ca8565b9392505050565b600061059d6106e8565b905060006105a9610712565b905081806105b45750805b156105eb576040517f6ff0714000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050565b60006105fa8261069b565b92915050565b600080546040517f8e539e8c00000000000000000000000000000000000000000000000000000000815265ffffffffffff8416600482015273ffffffffffffffffffffffffffffffffffffffff90911690638e539e8c90602401602060405180830381865afa158015610677573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105fa9190610ca8565b600065ffffffffffff8211156106e4576040517fc0188c4f0000000000000000000000000000000000000000000000000000000081526004810183905260240160405180910390fd5b5090565b60006106f34261069b565b65ffffffffffff1661070361042f565b65ffffffffffff161415905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16634bf5d7e96040518163ffffffff1660e01b8152600401600060405180830381865afa9250505080156107bf57506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526107bc9190810190610cc1565b60015b6107c95750600090565b60016040516020016107db9190610d38565b60405160208183030381529060405280519060200120816040516020016108029190610dcc565b60405160208183030381529060405280519060200120141591505090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff8111828210171561089657610896610820565b604052919050565b600067ffffffffffffffff8211156108b8576108b8610820565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b6000602082840312156108f657600080fd5b813567ffffffffffffffff81111561090d57600080fd5b8201601f8101841361091e57600080fd5b803561093161092c8261089e565b61084f565b81815285602083850101111561094657600080fd5b81602084016020830137600091810160200191909152949350505050565b60005b8381101561097f578181015183820152602001610967565b50506000910152565b60208152600082518060208401526109a7816040850160208701610964565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169190910160400192915050565b73ffffffffffffffffffffffffffffffffffffffff811681146109fb57600080fd5b50565b65ffffffffffff811681146109fb57600080fd5b60008060408385031215610a2557600080fd5b8235610a30816109d9565b91506020830135610a40816109fe565b809150509250929050565b600060208284031215610a5d57600080fd5b5035919050565b600060208284031215610a7657600080fd5b813561058c816109fe565b600060208284031215610a9357600080fd5b6040516020810181811067ffffffffffffffff82111715610ab657610ab6610820565b6040528251610ac4816109d9565b81529392505050565b600181811c90821680610ae157607f821691505b602082108103610b1a577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b601f821115610b6c576000816000526020600020601f850160051c81016020861015610b495750805b601f850160051c820191505b81811015610b6857828155600101610b55565b5050505b505050565b815167ffffffffffffffff811115610b8b57610b8b610820565b610b9f81610b998454610acd565b84610b20565b602080601f831160018114610bf25760008415610bbc5750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b178555610b68565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b82811015610c3f57888601518255948401946001909101908401610c20565b5085821015610c7b57878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b600060208284031215610c9d57600080fd5b815161058c816109fe565b600060208284031215610cba57600080fd5b5051919050565b600060208284031215610cd357600080fd5b815167ffffffffffffffff811115610cea57600080fd5b8201601f81018413610cfb57600080fd5b8051610d0961092c8261089e565b818152856020838501011115610d1e57600080fd5b610d2f826020830160208601610964565b95945050505050565b6000808354610d4681610acd565b60018281168015610d5e5760018114610d9157610dc0565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0084168752821515830287019450610dc0565b8760005260208060002060005b85811015610db75781548a820152908401908201610d9e565b50505082870194505b50929695505050505050565b60008251610dde818460208701610964565b919091019291505056fea164736f6c6343000817000a", + "nonce": "0x2", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [ + "0xf7ed2a7e29e6dfe6c828256ccab5471f2d6e65d229f4eedc33ee42b59d0c7e51", + "0x585f86bd802caf85ca1e18ed3f219a0eecc6a083003e4223ccea1b9520afc502", + "0x1c9b8b27faeed92b136112930a29dc473a6f7a3254fd3dbf6e3720d118d874ba" + ], + "returns": {}, + "timestamp": 1704991432, + "chain": 420, + "multi": false, + "commit": "688208a" +} \ No newline at end of file diff --git a/broadcast/DeployLlamaTokenVotingFactory.s.sol/420/run-1704991438.json b/broadcast/DeployLlamaTokenVotingFactory.s.sol/420/run-1704991438.json new file mode 100644 index 0000000..bf9b5d7 --- /dev/null +++ b/broadcast/DeployLlamaTokenVotingFactory.s.sol/420/run-1704991438.json @@ -0,0 +1,148 @@ +{ + "transactions": [ + { + "hash": "0xf7ed2a7e29e6dfe6c828256ccab5471f2d6e65d229f4eedc33ee42b59d0c7e51", + "transactionType": "CREATE", + "contractName": "LlamaTokenGovernor", + "contractAddress": "0x3f3DAB3ab8cEc2FBd06767c2A5F66Cb6BFF21A4A", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0xb72276d9ff15c7998b9962ffcfb21a6c7249441b", + "gas": "0x6398ff", + "value": "0x0", + "data": "0x60806040523480156200001157600080fd5b506200001c62000022565b620000d6565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff1615620000735760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b0390811614620000d35780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b6159f880620000e66000396000f3fe608060405234801561001057600080fd5b50600436106101da5760003560e01c80637e4a56bb11610104578063b92cdd9a116100a2578063cae3bdff11610071578063cae3bdff1461053d578063dcae21b714610552578063e45061ea14610565578063e5589b9d1461057857600080fd5b8063b92cdd9a146104e4578063b9b2cf6c146104f7578063c193c2691461050a578063c26c12eb1461053557600080fd5b80638734852a116100de5780638734852a1461049857806396ff6e2e146104ab578063a1d9b412146104be578063b3c678b0146104d157600080fd5b80637e4a56bb1461046a5780637ed7238e14610472578063807ad1141461048557600080fd5b80633fed8f161161017c57806359e5332d1161014b57806359e5332d1461036457806364f6b3161461037b5780637186dd9c1461038e57806374f717cd1461044757600080fd5b80633fed8f16146103165780634d61ebf4146103365780634ec0ab1c1461033e578063509c5fbd1461035157600080fd5b806319a39740116101b857806319a397401461025b5780631e127ddf1461026e578063372fa8e8146102c25780633df91222146102d557600080fd5b80630669b1ce146101df57806311f900b5146101f45780631650080714610227575b600080fd5b6101f26101ed366004614a11565b61058b565b005b610207610202366004614a46565b610b79565b6040805161ffff9384168152929091166020830152015b60405180910390f35b61023a610235366004614ac0565b610b90565b6040516fffffffffffffffffffffffffffffffff909116815260200161021e565b6101f2610269366004614a46565b610baa565b6101f261027c366004614b82565b3360009081526007602090815260408083207fffffffff000000000000000000000000000000000000000000000000000000009490941683529290522080546001019055565b6101f26102d0366004614bbd565b610c75565b6102fe6102e3366004614a46565b6005602052600090815260409020546001600160a01b031681565b6040516001600160a01b03909116815260200161021e565b610329610324366004614c31565b610d76565b60405161021e9190614c53565b610207610f4e565b6101f261034c366004614ce2565b610f63565b61023a61035f366004614ac0565b611030565b61036d60025481565b60405190815260200161021e565b6000546102fe906001600160a01b031681565b6103fc61039c366004614a46565b6006602052600090815260409020805460018201546002909201546fffffffffffffffffffffffffffffffff8083169370010000000000000000000000000000000093849004821693818316939181900483169282811692919091041686565b604080516fffffffffffffffffffffffffffffffff978816815295871660208701529386169385019390935290841660608401528316608083015290911660a082015260c00161021e565b61045a610455366004614d23565b611040565b604051901515815260200161021e565b6103296110a9565b61036d610480366004614ea9565b61114c565b6001546102fe906001600160a01b031681565b6101f26104a6366004614f88565b611263565b61023a6104b9366004615066565b6114b5565b61023a6104cc366004615066565b6115c6565b61036d6104df366004615131565b6116c7565b6101f26104f2366004614a11565b61171c565b6101f2610505366004614ce2565b611726565b61036d6105183660046151e2565b600760209081526000928352604080842090915290825290205481565b6102076117ef565b6105456117fc565b60405161021e919061520e565b610545610560366004614c31565b61188f565b6101f2610573366004614a11565b611a4d565b610207610586366004614a46565b612026565b600080546040517fb6e76873000000000000000000000000000000000000000000000000000000008152833560048201526001600160a01b039091169063b6e768739060240161012060405180830381865afa1580156105ef573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061061391906152c8565b9050600060018260a0015161062891906153a6565b67ffffffffffffffff169050600160009054906101000a90046001600160a01b03166001600160a01b031663ae2a6df26040518163ffffffff1660e01b815260040160006040518083038186803b15801561068257600080fd5b505afa158015610696573d6000803e3d6000fd5b505050506000806000806106b485600461203490919063ffffffff16565b909250905060006106cb6080890160608a016153ce565b6001600160a01b031663b02bd9206040518163ffffffff1660e01b8152600401602060405180830381865afa158015610708573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061072c91906153eb565b67ffffffffffffffff16905061271061ffff8416820204818860c0015167ffffffffffffffff16030194506127108261ffff1682028161076e5761076e615406565b04850193508342116107ac576040517f038d8a6a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8660c0015167ffffffffffffffff1642106107f3576040517f08c8d62700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050843560009081526006602052604080822060015491517fcdfda4dd000000000000000000000000000000000000000000000000000000008152600481018690529092916001600160a01b03169063edb8ee5a90829063cdfda4dd90602401602060405180830381865afa158015610871573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108959190615435565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b16815265ffffffffffff9091166004820152602401602060405180830381865afa1580156108f0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610914919061545d565b600183015460028401549192506fffffffffffffffffffffffffffffffff7001000000000000000000000000000000009182900481169291820481169116600061095f60038a6121cd565b9150506000610975868361ffff166127106122d8565b905080856fffffffffffffffffffffffffffffffff1610156109e3576040517fbfb9aa550000000000000000000000000000000000000000000000000000000081526fffffffffffffffffffffffffffffffff86166004820152602481018290526044015b60405180910390fd5b836fffffffffffffffffffffffffffffffff16856fffffffffffffffffffffffffffffffff1611610a5c576040517f8a0df63f0000000000000000000000000000000000000000000000000000000081526fffffffffffffffffffffffffffffffff8087166004830152851660248201526044016109da565b6000610a7b8d6060016020810190610a7491906153ce565b600061231c565b905060008054906101000a90046001600160a01b03166001600160a01b03166394004706828f6040518363ffffffff1660e01b8152600401610abe9291906155b2565b6020604051808303816000875af1158015610add573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b0191906155e8565b50604080518e3581526fffffffffffffffffffffffffffffffff808916602083015280881692820192909252908516606082015260ff82169033907ff5bc433f16cc3d0e9fcb5ac4f8de9f17eb90de1fd2a9ede5952c2097d4ef1a59906080015b60405180910390a350505050505050505050505050565b600080610b87600484612034565b91509150915091565b6000610ba0338787878787612612565b9695505050505050565b60008054906101000a90046001600160a01b03166001600160a01b031663c34c08e56040518163ffffffff1660e01b8152600401602060405180830381865afa158015610bfb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c1f9190615603565b6001600160a01b0316336001600160a01b031614610c69576040517f26bee1ce00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610c7281612c5e565b50565b6000610c818686612e2e565b6040805160008082526020820180845284905260ff88169282019290925260608101869052608081018590529192509060019060a0016020604051602081039080840390855afa158015610cd9573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001519150506001600160a01b0381161580610d2c5750866001600160a01b0316816001600160a01b031614155b15610d63576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610d6d8187612f50565b50505050505050565b60408051602081019091526060815281831115610dbf576040517f2cd4dad300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60045480831115610dfc576040517f2cd4dad300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610e088585615620565b905060008167ffffffffffffffff811115610e2557610e25614d65565b604051908082528060200260200182016040528015610e8e57816020015b60408051606081018252600080825260208083018290529282015282527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff909201910181610e435790505b509050855b85811015610f34576004805482908110610eaf57610eaf615633565b600091825260209182902060408051606081018252919092015465ffffffffffff8116825261ffff660100000000000082048116948301949094526801000000000000000090049092169082015282610f088984615620565b81518110610f1857610f18615633565b6020026020010181905250610f2d8160010190565b9050610e93565b506040805160208101909152908152925050505b92915050565b600080610f5b6004613063565b915091509091565b60008054906101000a90046001600160a01b03166001600160a01b031663c34c08e56040518163ffffffff1660e01b8152600401602060405180830381865afa158015610fb4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fd89190615603565b6001600160a01b0316336001600160a01b031614611022576040517f26bee1ce00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61102c82826130db565b5050565b6000610ba03387878787876131cf565b60008115611077575060008381526006602090815260408083206001600160a01b038616845260030190915290205460ff166110a2565b5060008381526006602090815260408083206001600160a01b038616845260040190915290205460ff165b9392505050565b6040805160208101909152606081526040805160048054602081810284018501855283018181529293919284929091849160009085015b8282101561113f576000848152602090819020604080516060810182529185015465ffffffffffff8116835261ffff660100000000000082048116848601526801000000000000000090910416908201528252600190920191016110e0565b5050505081525050905090565b60008061115f8d8d8d8d8d8d8d8d613714565b6040805160008082526020820180845284905260ff89169282019290925260608101879052608081018690529192509060019060a0016020604051602081039080840390855afa1580156111b7573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001519150506001600160a01b038116158061120a57508d6001600160a01b0316816001600160a01b031614155b15611241576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611251818e8e8e8e8e8e8e613885565b9e9d5050505050505050505050505050565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000810460ff16159067ffffffffffffffff166000811580156112ae5750825b905060008267ffffffffffffffff1660011480156112cb5750303b155b9050811580156112d9575080155b15611310576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b84547fffffffffffffffffffffffffffffffffffffffffffffffff000000000000000016600117855583156113715784547fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff16680100000000000000001785555b886001600160a01b0316639bccfe496040518163ffffffff1660e01b8152600401602060405180830381865afa1580156113af573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113d3919061545d565b50600080546001600160a01b03808c167fffffffffffffffffffffffff00000000000000000000000000000000000000009283161790925560018054928b169290911691909117905561142587612c5e565b611437866000015187602001516130db565b61144986604001518760600151613b89565b83156114aa5784547fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b505050505050505050565b6000806114c68b8b8b8b8b8b613c26565b6040805160008082526020820180845284905260ff89169282019290925260608101879052608081018690529192509060019060a0016020604051602081039080840390855afa15801561151e573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001519150506001600160a01b038116158061157157508b6001600160a01b0316816001600160a01b031614155b156115a8576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6115b6818c8c8c8c8c6131cf565b9c9b505050505050505050505050565b6000806115d78b8b8b8b8b8b613d84565b6040805160008082526020820180845284905260ff89169282019290925260608101879052608081018690529192509060019060a0016020604051602081039080840390855afa15801561162f573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001519150506001600160a01b038116158061168257508b6001600160a01b0316816001600160a01b031614155b156116b9576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6115b6818c8c8c8c8c612612565b600061170f338a8a8a8a8a8a8a8a8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061388592505050565b9998505050505050505050565b610c723382612f50565b60008054906101000a90046001600160a01b03166001600160a01b031663c34c08e56040518163ffffffff1660e01b8152600401602060405180830381865afa158015611777573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061179b9190615603565b6001600160a01b0316336001600160a01b0316146117e5576040517f26bee1ce00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61102c8282613b89565b600080610f5b6003613063565b604080516020810190915260608152604080516003805460208082028401850185528301818152929391928492909184916000908501821561113f576000848152602090819020604080516060810182529185015465ffffffffffff8116835261ffff660100000000000082048116848601526801000000000000000090910416908201528252600190920191016110e0565b604080516020810190915260608152818311156118d8576040517f2cd4dad300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60035480831115611915576040517f2cd4dad300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006119218585615620565b905060008167ffffffffffffffff81111561193e5761193e614d65565b6040519080825280602002602001820160405280156119a757816020015b60408051606081018252600080825260208083018290529282015282527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90920191018161195c5790505b509050855b85811015610f345760038054829081106119c8576119c8615633565b600091825260209182902060408051606081018252919092015465ffffffffffff8116825261ffff660100000000000082048116948301949094526801000000000000000090049092169082015282611a218984615620565b81518110611a3157611a31615633565b6020026020010181905250611a468160010190565b90506119ac565b600080546040517fb6e76873000000000000000000000000000000000000000000000000000000008152833560048201526001600160a01b039091169063b6e768739060240161012060405180830381865afa158015611ab1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ad591906152c8565b9050600060018260a00151611aea91906153a6565b67ffffffffffffffff169050600160009054906101000a90046001600160a01b03166001600160a01b031663ae2a6df26040518163ffffffff1660e01b815260040160006040518083038186803b158015611b4457600080fd5b505afa158015611b58573d6000803e3d6000fd5b50505050600080600080611b7685600461203490919063ffffffff16565b90925090506000611b8d6080890160608a016153ce565b6001600160a01b0316637999762c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611bca573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bee91906153eb565b67ffffffffffffffff16905061271061ffff84168202048760a0015167ffffffffffffffff160194506127108261ffff16820281611c2e57611c2e615406565b0485019350834211611c6c576040517f038d8a6a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b808760a0015167ffffffffffffffff16611c869190615662565b421115611cbf576040517f08c8d62700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050843560009081526006602052604080822060015491517fcdfda4dd000000000000000000000000000000000000000000000000000000008152600481018690529092916001600160a01b03169063edb8ee5a90829063cdfda4dd90602401602060405180830381865afa158015611d3d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d619190615435565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b16815265ffffffffffff9091166004820152602401602060405180830381865afa158015611dbc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611de0919061545d565b825460018401549192506fffffffffffffffffffffffffffffffff808216928116917001000000000000000000000000000000009004166000611e2460038a6121cd565b5090506000611e3a868361ffff166127106122d8565b905080856fffffffffffffffffffffffffffffffff161015611ea3576040517f0425fab10000000000000000000000000000000000000000000000000000000081526fffffffffffffffffffffffffffffffff86166004820152602481018290526044016109da565b836fffffffffffffffffffffffffffffffff16856fffffffffffffffffffffffffffffffff1611611f1c576040517f8a0df63f0000000000000000000000000000000000000000000000000000000081526fffffffffffffffffffffffffffffffff8087166004830152851660248201526044016109da565b6000611f3b8d6060016020810190611f3491906153ce565b600161231c565b905060008054906101000a90046001600160a01b03166001600160a01b03166389e7d126828f6040518363ffffffff1660e01b8152600401611f7e9291906155b2565b6020604051808303816000875af1158015611f9d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fc191906155e8565b50604080518e3581526fffffffffffffffffffffffffffffffff808916602083015280881692820192909252908516606082015260ff82169033907ff23279e924757f3bfe4f543bc1b43685e851d6ace53f8518b806dcd8d42fc13990608001610b62565b600080610b876003846121cd565b6000804283106120c6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f506572696f64506374436865636b706f696e74733a2074696d657374616d702060448201527f6973206e6f7420696e207468652070617374000000000000000000000000000060648201526084016109da565b60006120d184613db3565b855490915060008160058111156121315760006120ed84613dfc565b6120f79085615620565b60008a81526020902090915081015465ffffffffffff90811690861610156121215780915061212f565b61212c816001615662565b92505b505b600061213f89868585613eae565b90508060000361215a576000809650965050505050506121c6565b60006121798a61216b600185615620565b600091825260209091200190565b60408051606081018252915465ffffffffffff8116835261ffff66010000000000008204811660208501819052680100000000000000009092041692909101829052985096505050505050505b9250929050565b60008042831061225f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602f60248201527f51756f72756d436865636b706f696e74733a2074696d657374616d702069732060448201527f6e6f7420696e207468652070617374000000000000000000000000000000000060648201526084016109da565b600061226a84613db3565b855490915060008160058111156122ca57600061228684613dfc565b6122909085615620565b60008a81526020902090915081015465ffffffffffff90811690861610156122ba578091506122c8565b6122c5816001615662565b92505b505b600061213f89868585613f10565b6000827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048411830215820261230d57600080fd5b50910281810615159190040190565b60008054604080517f0505c8c9000000000000000000000000000000000000000000000000000000008152905183926001600160a01b031691630505c8c99160048083019260209291908290030181865afa15801561237f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123a39190615603565b6001600160a01b0316638b2ed3886040518163ffffffff1660e01b8152600401602060405180830381865afa1580156123e0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124049190615675565b905060015b8160ff16811161253b57836124a1576040517fc167ebae00000000000000000000000000000000000000000000000000000000815260ff821660048201526001600160a01b0386169063c167ebae90602401602060405180830381865afa158015612478573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061249c9190615692565b612525565b6040517ffb847c4300000000000000000000000000000000000000000000000000000000815260ff821660048201526001600160a01b0386169063fb847c4390602401602060405180830381865afa158015612501573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125259190615692565b15612533579150610f489050565b600101612409565b50826125a857836001600160a01b03166312a52f006040518163ffffffff1660e01b8152600401602060405180830381865afa15801561257f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125a39190615675565b61260a565b836001600160a01b03166366cacdc96040518163ffffffff1660e01b8152600401602060405180830381865afa1580156125e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061260a9190615675565b949350505050565b600080546040517fb6e768730000000000000000000000000000000000000000000000000000000081528635600482015282916001600160a01b03169063b6e768739060240161012060405180830381865afa158015612676573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061269a91906152c8565b9050600060018260a001516126af91906153a6565b8735600090815260066020526040902067ffffffffffffffff9190911691506126de6080890160608a016153ce565b6001600160a01b03166302674e4b89308c6040518463ffffffff1660e01b815260040161270d939291906156af565b60006040518083038186803b15801561272557600080fd5b505afa158015612739573d6000803e3d6000fd5b505050506001600160a01b038a16600090815260048201602052604090205460ff1615612792576040517f9dd6544b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6127a0888a89600486613f6a565b60008080806127b0600487612034565b909250905060006127c760808e0160608f016153ce565b6001600160a01b031663b02bd9206040518163ffffffff1660e01b8152600401602060405180830381865afa158015612804573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061282891906153eb565b67ffffffffffffffff16905061271061ffff8416820204818960c0015167ffffffffffffffff16030194506127108261ffff1682028161286a5761286a615406565b04850193508442116128a8576040517fd0b72b4900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b834211156128e2576040517f5b73d19300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050506000612a25600160009054906101000a90046001600160a01b03166001600160a01b0316639556de738f600160009054906101000a90046001600160a01b03166001600160a01b031663cdfda4dd886040518263ffffffff1660e01b815260040161295291815260200190565b602060405180830381865afa15801561296f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906129939190615435565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b1681526001600160a01b03909216600483015265ffffffffffff166024820152604401602060405180830381865afa1580156129fc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a20919061545d565b61425e565b905060ff8a16612a9e576002840154612a649070010000000000000000000000000000000090046fffffffffffffffffffffffffffffffff16826142ad565b6002850180546fffffffffffffffffffffffffffffffff928316700100000000000000000000000000000000029216919091179055612bc6565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60ff8b1601612b37576001840154612afd9070010000000000000000000000000000000090046fffffffffffffffffffffffffffffffff16826142ad565b6001850180546fffffffffffffffffffffffffffffffff928316700100000000000000000000000000000000029216919091179055612bc6565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe60ff8b1601612bc6576002840154612b82906fffffffffffffffffffffffffffffffff16826142ad565b6002850180547fffffffffffffffffffffffffffffffff00000000000000000000000000000000166fffffffffffffffffffffffffffffffff929092169190911790555b6001600160a01b038d1660008181526004860160205260409081902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790555160ff8c1691907f4e3e2ad68670a2709cb408c31c5afd8da0b6d3d06c75b11feb404a455639fe7c90612c46908f359086908f908f90615713565b60405180910390a39c9b505050505050505050505050565b60018054604080517f91ddadf400000000000000000000000000000000000000000000000000000000815290516000936001600160a01b039093169263edb8ee5a92909184916391ddadf49160048083019260209291908290030181865afa158015612cce573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612cf29190615435565b612cfc9190615745565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b16815265ffffffffffff9091166004820152602401602060405180830381865afa158015612d57573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612d7b919061545d565b905080600003612db7576040517f34bbd58500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80821115612df1576040517f8a5e746800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60028290556040518281527fd91a985c173545ab0e0bd11c021a1ae84c1ea6eab9350d9bf3812d5b8bff49a4906020015b60405180910390a15050565b6000807f6da9390b4f29da2c44fa5a9da00b392393d01e989d16e4a3dec5a538318e352584612e5c856142f4565b6001600160a01b03871660009081526007602090815260408083207fffffffff00000000000000000000000000000000000000000000000000000000843516845290915290208054600181019091556040805160208101959095526001600160a01b03909316928401929092526060830152608082015260a001604051602081830303815290604052805190602001209050612ef66143eb565b6040517f190100000000000000000000000000000000000000000000000000000000000060208201526022810191909152604281018290526062016040516020818303038152906040528051906020012091505092915050565b80356000908152600560205260409020546001600160a01b03838116911614612fa5576040517f86ba025600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000546040517fb92cdd9a0000000000000000000000000000000000000000000000000000000081526001600160a01b039091169063b92cdd9a90612fee908490600401615764565b600060405180830381600087803b15801561300857600080fd5b505af115801561301c573d6000803e3d6000fd5b5050604051833581526001600160a01b03851692507fdcccc5725b7256a6975da00de8953e5d326756a3079d203ff6df9e52331f411a915060200160405180910390a25050565b8054600090819080820361307d5750600093849350915050565b600061308e8561216b600185615620565b60408051606081018252915465ffffffffffff8116835261ffff66010000000000008204811660208501819052680100000000000000009092041692909101829052969095509350505050565b6127108261ffff1611806130f1575061ffff8216155b1561312e576040517f8f6febc000000000000000000000000000000000000000000000000000000000815261ffff831660048201526024016109da565b6127108161ffff161180613144575061ffff8116155b15613181576040517f3bec511c00000000000000000000000000000000000000000000000000000000815261ffff821660048201526024016109da565b613194600361ffff80851690841661454d565b6040805161ffff8085168252831660208201527f77c3f43700db02acb49792bbf699b39f72c2ed4b920bd5c0b1843dcd7c832f4c9101612e22565b600080546040517fb6e768730000000000000000000000000000000000000000000000000000000081528635600482015282916001600160a01b03169063b6e768739060240161012060405180830381865afa158015613233573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061325791906152c8565b9050600060018260a0015161326c91906153a6565b8735600090815260066020526040902067ffffffffffffffff91909116915061329b6080890160608a016153ce565b6001600160a01b0316631a2a4e7789308c6040518463ffffffff1660e01b81526004016132ca939291906156af565b60006040518083038186803b1580156132e257600080fd5b505afa1580156132f6573d6000803e3d6000fd5b505050506001600160a01b038a16600090815260038201602052604090205460ff161561334f576040517f9dd6544b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61335d888a89600086613f6a565b600080808061336d600487612034565b9092509050600061338460808e0160608f016153ce565b6001600160a01b0316637999762c6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156133c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906133e591906153eb565b67ffffffffffffffff16905061271061ffff84168202048860a0015167ffffffffffffffff160194506127108261ffff1682028161342557613425615406565b0485019350844211613463576040517fd0b72b4900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8342111561349d576040517f5b73d19300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050600061350d600160009054906101000a90046001600160a01b03166001600160a01b0316639556de738f600160009054906101000a90046001600160a01b03166001600160a01b031663cdfda4dd886040518263ffffffff1660e01b815260040161295291815260200190565b905060ff8a16613580576001840154613538906fffffffffffffffffffffffffffffffff16826142ad565b6001850180547fffffffffffffffffffffffffffffffff00000000000000000000000000000000166fffffffffffffffffffffffffffffffff92909216919091179055613694565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60ff8b16016136095783546135c8906fffffffffffffffffffffffffffffffff16826142ad565b84547fffffffffffffffffffffffffffffffff00000000000000000000000000000000166fffffffffffffffffffffffffffffffff91909116178455613694565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe60ff8b16016136945783546136659070010000000000000000000000000000000090046fffffffffffffffffffffffffffffffff16826142ad565b84546fffffffffffffffffffffffffffffffff9182167001000000000000000000000000000000000291161784555b6001600160a01b038d1660008181526003860160205260409081902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790555160ff8c1691907f761cce3a1af5d9cfc0d57222f605ce4bd2be345f0ad9ebb7b83a84a91a0c201490612c46908f359086908f908f90615713565b6001600160a01b03881660009081526007602090815260408083207fffffffff000000000000000000000000000000000000000000000000000000008435168452909152812080546001810190915560007fd1fab1c7b3b37134662e5867b00e272eb49f7be0a890df29e802c3cc66c06f838b8b8b8b8b8b8b60405161379b929190615777565b604080519182900382208c516020808f0191909120908401999099526001600160a01b039788169183019190915260ff90951660608201529285166080840152931660a082015260c081019290925260e08201526101008101919091526101208101839052610140016040516020818303038152906040528051906020012090506138246143eb565b6040517f19010000000000000000000000000000000000000000000000000000000000006020820152602281019190915260428101829052606201604051602081830303815290604052805190602001209250505098975050505050505050565b600154604080517fae2a6df200000000000000000000000000000000000000000000000000000000815290516000926001600160a01b03169163ae2a6df29160048083019286929190829003018186803b1580156138e257600080fd5b505afa1580156138f6573d6000803e3d6000fd5b505060018054604080517f91ddadf40000000000000000000000000000000000000000000000000000000081529051600095506001600160a01b039092169350639556de73928e92909185916391ddadf4916004808201926020929091908290030181865afa15801561396d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906139919190615435565b61399b9190615745565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b1681526001600160a01b03909216600483015265ffffffffffff166024820152604401602060405180830381865afa158015613a04573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613a28919061545d565b9050600254811015613a69576040517f92665351000000000000000000000000000000000000000000000000000000008152600481018290526024016109da565b6000546040517fb3c678b00000000000000000000000000000000000000000000000000000000081526001600160a01b039091169063b3c678b090613abe908c908c908c908c908c908c908c906004016157ab565b6020604051808303816000875af1158015613add573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613b01919061545d565b60008181526005602090815260409182902080547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b038f16908117909155915183815292945090917f1834dfd49255741a8ce9a9bd66b91b64d13622e1d8170e4c78ac91f9ec50a542910160405180910390a25098975050505050505050565b612710613b96828461583b565b61ffff1610613bdf576040517f519dd38400000000000000000000000000000000000000000000000000000000815261ffff8084166004830152821660248201526044016109da565b613beb60048383614576565b6040805161ffff8085168252831660208201527f8df7bdcce333d9e1b85e40782fb2f293c805761d3f48aaea58865e9541e44c709101612e22565b6000807fd7be168a3509af358f222ee35ee76aba47bc5fc2c35061cdce3958f510b7b1b28888613c55896142f4565b888888604051613c66929190615777565b60408051918290039091206001600160a01b038f166000908152600760209081528382207fffffffff0000000000000000000000000000000000000000000000000000000083351683529052919091208054600181019091556040805160208101989098526001600160a01b039096169587019590955260ff938416606087015260808601929092529190911660a084015260c083015260e082015261010001604051602081830303815290604052805190602001209050613d266143eb565b6040517f19010000000000000000000000000000000000000000000000000000000000006020820152602281019190915260428101829052606201604051602081830303815290604052805190602001209150509695505050505050565b6000807fa87058c5a9888e7af4405a932381d5a4612c61354bc3e52e9ea361ba17703fb38888613c55896142f4565b600065ffffffffffff821115613df8576040517fc0188c4f000000000000000000000000000000000000000000000000000000008152600481018390526024016109da565b5090565b60b581710100000000000000000000000000000000008110613e235760409190911b9060801c5b69010000000000000000008110613e3f5760209190911b9060401c5b650100000000008110613e575760109190911b9060201c5b63010000008110613e6d5760089190911b9060101c5b62010000010260121c80820401600190811c80830401811c80830401811c80830401811c80830401811c80830401811c80830401901c908190048111900390565b60005b81831015613f08576000613ec584846145a2565b60008781526020902090915065ffffffffffff86169082015465ffffffffffff161115613ef457809250613f02565b613eff816001615662565b93505b50613eb1565b509392505050565b60005b81831015613f08576000613f2784846145a2565b60008781526020902090915065ffffffffffff86169082015465ffffffffffff161115613f5657809250613f64565b613f61816001615662565b93505b50613f13565b600260ff84161115613fad576040517ffe0e5d8b00000000000000000000000000000000000000000000000000000000815260ff841660048201526024016109da565b600080546040517fec12d8be0000000000000000000000000000000000000000000000000000000081526001600160a01b039091169063ec12d8be90613ff7908990600401615764565b602060405180830381865afa158015614014573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906140389190615675565b60ff16600681111561404c5761404c6156e4565b9050826006811115614060576140606156e4565b816006811115614072576140726156e4565b146140ab57806040517f87afe58e0000000000000000000000000000000000000000000000000000000081526004016109da9190615856565b60008060009054906101000a90046001600160a01b03166001600160a01b0316630505c8c96040518163ffffffff1660e01b8152600401602060405180830381865afa1580156140ff573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906141239190615603565b6040517fe0bec07600000000000000000000000000000000000000000000000000000000815230600482015260ff88166024820152604481018590526001600160a01b03919091169063e0bec07690606401602060405180830381865afa158015614192573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906141b69190615692565b9050806141ef576040517f88aebd1200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600160009054906101000a90046001600160a01b03166001600160a01b031663ae2a6df26040518163ffffffff1660e01b815260040160006040518083038186803b15801561423d57600080fd5b505afa158015614251573d6000803e3d6000fd5b5050505050505050505050565b60006fffffffffffffffffffffffffffffffff821115613df8576040517fc0188c4f000000000000000000000000000000000000000000000000000000008152600481018390526024016109da565b60006fffffffffffffffffffffffffffffffff6142ce838216858316615662565b106142ea57506fffffffffffffffffffffffffffffffff610f48565b6110a28284615897565b60007f86b4555c6e347ea3f038485b59b894986c208b67da7e65fcfa3707271608465f823561432960408501602086016153ce565b61433960608601604087016158c0565b61434960808701606088016153ce565b61435960a08801608089016153ce565b60a088013561436b60c08a018a6158dd565b604051614379929190615777565b6040805191829003822060208301999099528101969096526001600160a01b03948516606087015260ff909316608086015290831660a08501529190911660c083015260e082015261010081019190915261012001604051602081830303815290604052805190602001209050919050565b60008054604080517f06fdde0300000000000000000000000000000000000000000000000000000000815290517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f926001600160a01b0316916306fdde0391600480830192879291908290030181865afa15801561446d573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526144b39190810190615942565b8051602091820120604080518082018252600181527f310000000000000000000000000000000000000000000000000000000000000090840152805192830193909352918101919091527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a082015260c00160405160208183030381529060405280519060200120905090565b6145718361455a42613db3565b614563856145bd565b61456c856145bd565b6145fe565b505050565b6145718361458342613db3565b6145908561ffff166145bd565b61459d8561ffff166145bd565b614909565b60006145b160028484186159b0565b6110a290848416615662565b600061ffff821115613df8576040517fc0188c4f000000000000000000000000000000000000000000000000000000008152600481018390526024016109da565b835480156148475760006146178661216b600185615620565b60408051606081018252915465ffffffffffff80821680855261ffff66010000000000008404811660208701526801000000000000000090930490921692840192909252919250861610156146ed576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f51756f72756d20436865636b706f696e743a20696e76616c69642074696d657360448201527f74616d700000000000000000000000000000000000000000000000000000000060648201526084016109da565b805165ffffffffffff8087169116036147865760006147118761216b600186615620565b805461ffff86811668010000000000000000027fffffffffffffffffffffffffffffffffffffffffffff0000ffffffffffffffff918916660100000000000002919091167fffffffffffffffffffffffffffffffffffffffffffff00000000ffffffffffff9092169190911717905550614841565b6040805160608101825265ffffffffffff808816825261ffff80881660208085019182528883169585019586528b54600181018d5560008d81529190912094519401805491519551831668010000000000000000027fffffffffffffffffffffffffffffffffffffffffffff0000ffffffffffffffff969093166601000000000000027fffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000909216949093169390931792909217929092161790555b50614902565b6040805160608101825265ffffffffffff808716825261ffff80871660208085019182528783169585019586528a54600181018c5560008c81529190912094519401805491519551831668010000000000000000027fffffffffffffffffffffffffffffffffffffffffffff0000ffffffffffffffff969093166601000000000000027fffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000909216949093169390931792909217929092161790555b5050505050565b835480156148475760006149228661216b600185615620565b60408051606081018252915465ffffffffffff80821680855261ffff66010000000000008404811660208701526801000000000000000090930490921692840192909252919250861610156146ed576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602860248201527f506572696f642050637420436865636b706f696e743a20696e76616c6964207460448201527f696d657374616d7000000000000000000000000000000000000000000000000060648201526084016109da565b600060e08284031215614a0b57600080fd5b50919050565b600060208284031215614a2357600080fd5b813567ffffffffffffffff811115614a3a57600080fd5b61260a848285016149f9565b600060208284031215614a5857600080fd5b5035919050565b60ff81168114610c7257600080fd5b8035614a7981614a5f565b919050565b60008083601f840112614a9057600080fd5b50813567ffffffffffffffff811115614aa857600080fd5b6020830191508360208285010111156121c657600080fd5b600080600080600060808688031215614ad857600080fd5b8535614ae381614a5f565b9450602086013567ffffffffffffffff80821115614b0057600080fd5b614b0c89838a016149f9565b955060408801359150614b1e82614a5f565b90935060608701359080821115614b3457600080fd5b50614b4188828901614a7e565b969995985093965092949392505050565b80357fffffffff0000000000000000000000000000000000000000000000000000000081168114614a7957600080fd5b600060208284031215614b9457600080fd5b6110a282614b52565b6001600160a01b0381168114610c7257600080fd5b8035614a7981614b9d565b600080600080600060a08688031215614bd557600080fd5b8535614be081614b9d565b9450602086013567ffffffffffffffff811115614bfc57600080fd5b614c08888289016149f9565b9450506040860135614c1981614a5f565b94979396509394606081013594506080013592915050565b60008060408385031215614c4457600080fd5b50508035926020909101359150565b60208082528251828201829052805160408401819052600092916060919083019082860190855b81811015614cc357614cb3838551805165ffffffffffff16825260208082015161ffff9081169184019190915260409182015116910152565b9285019291840191600101614c7a565b5090979650505050505050565b803561ffff81168114614a7957600080fd5b60008060408385031215614cf557600080fd5b614cfe83614cd0565b9150614d0c60208401614cd0565b90509250929050565b8015158114610c7257600080fd5b600080600060608486031215614d3857600080fd5b833592506020840135614d4a81614b9d565b91506040840135614d5a81614d15565b809150509250925092565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051610120810167ffffffffffffffff81118282101715614db857614db8614d65565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715614e0557614e05614d65565b604052919050565b600067ffffffffffffffff821115614e2757614e27614d65565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b600082601f830112614e6457600080fd5b8135614e77614e7282614e0d565b614dbe565b818152846020838601011115614e8c57600080fd5b816020850160208301376000918101602001919091529392505050565b60008060008060008060008060008060006101408c8e031215614ecb57600080fd5b614ed48c614bb2565b9a50614ee260208d01614a6e565b9950614ef060408d01614bb2565b9850614efe60608d01614bb2565b975060808c0135965067ffffffffffffffff8060a08e01351115614f2157600080fd5b614f318e60a08f01358f01614a7e565b909750955060c08d0135811015614f4757600080fd5b50614f588d60c08e01358e01614e53565b9350614f6660e08d01614a6e565b92506101008c013591506101208c013590509295989b509295989b9093969950565b60008060008084860360e0811215614f9f57600080fd5b8535614faa81614b9d565b94506020860135614fba81614b9d565b93506040860135925060807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa082011215614ff357600080fd5b506040516080810181811067ffffffffffffffff8211171561501757615017614d65565b60405261502660608701614cd0565b815261503460808701614cd0565b602082015261504560a08701614cd0565b604082015261505660c08701614cd0565b6060820152939692955090935050565b60008060008060008060008060006101008a8c03121561508557600080fd5b893561509081614b9d565b985060208a01356150a081614a5f565b975060408a013567ffffffffffffffff808211156150bd57600080fd5b6150c98d838e016149f9565b985060608c013591506150db82614a5f565b90965060808b013590808211156150f157600080fd5b506150fe8c828d01614a7e565b90965094505060a08a013561511281614a5f565b8093505060c08a0135915060e08a013590509295985092959850929598565b60008060008060008060008060c0898b03121561514d57600080fd5b883561515881614a5f565b9750602089013561516881614b9d565b9650604089013561517881614b9d565b955060608901359450608089013567ffffffffffffffff8082111561519c57600080fd5b6151a88c838d01614a7e565b909650945060a08b01359150808211156151c157600080fd5b506151ce8b828c01614a7e565b999c989b5096995094979396929594505050565b600080604083850312156151f557600080fd5b823561520081614b9d565b9150614d0c60208401614b52565b60208082528251828201829052805160408401819052600092916060919083019082860190855b81811015614cc35761526e838551805165ffffffffffff16825260208082015161ffff9081169184019190915260409182015116910152565b9285019291840191600101615235565b8051614a7981614d15565b8051614a7981614b9d565b805167ffffffffffffffff81168114614a7957600080fd5b80516bffffffffffffffffffffffff81168114614a7957600080fd5b600061012082840312156152db57600080fd5b6152e3614d94565b825181526152f36020840161527e565b60208201526153046040840161527e565b60408201526153156060840161527e565b606082015261532660808401615289565b608082015261533760a08401615294565b60a082015261534860c08401615294565b60c082015261535960e084016152ac565b60e082015261010061536c8185016152ac565b908201529392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b67ffffffffffffffff8281168282160390808211156153c7576153c7615377565b5092915050565b6000602082840312156153e057600080fd5b81356110a281614b9d565b6000602082840312156153fd57600080fd5b6110a282615294565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006020828403121561544757600080fd5b815165ffffffffffff811681146110a257600080fd5b60006020828403121561546f57600080fd5b5051919050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b80358252600060208201356154d381614b9d565b6001600160a01b0390811660208501526040830135906154f282614a5f565b60ff821660408601526060840135915061550b82614b9d565b908116606085015260808301359061552282614b9d565b16608084015260a0828101359084015260c0820135368390037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe101811261556857600080fd5b820160208101903567ffffffffffffffff81111561558557600080fd5b80360382131561559457600080fd5b60e060c08601526155a960e086018284615476565b95945050505050565b60ff831681526060602082015260006155ce60608301846154bf565b828103604084015260008152602081019150509392505050565b6000602082840312156155fa57600080fd5b6110a2826152ac565b60006020828403121561561557600080fd5b81516110a281614b9d565b81810381811115610f4857610f48615377565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b80820180821115610f4857610f48615377565b60006020828403121561568757600080fd5b81516110a281614a5f565b6000602082840312156156a457600080fd5b81516110a281614d15565b6060815260006156c260608301866154bf565b90506001600160a01b038416602083015260ff83166040830152949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b8481526fffffffffffffffffffffffffffffffff84166020820152606060408201526000610ba0606083018486615476565b65ffffffffffff8281168282160390808211156153c7576153c7615377565b6020815260006110a260208301846154bf565b8183823760009101908152919050565b60005b838110156157a257818101518382015260200161578a565b50506000910152565b60ff8816815260006001600160a01b03808916602084015280881660408401525085606083015260c060808301526157e760c083018587615476565b82810360a08401528351808252615805816020840160208801615787565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016016020019998505050505050505050565b61ffff8181168382160190808211156153c7576153c7615377565b6020810160078310615891577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b91905290565b6fffffffffffffffffffffffffffffffff8181168382160190808211156153c7576153c7615377565b6000602082840312156158d257600080fd5b81356110a281614a5f565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261591257600080fd5b83018035915067ffffffffffffffff82111561592d57600080fd5b6020019150368190038213156121c657600080fd5b60006020828403121561595457600080fd5b815167ffffffffffffffff81111561596b57600080fd5b8201601f8101841361597c57600080fd5b805161598a614e7282614e0d565b81815285602083850101111561599f57600080fd5b6155a9826020830160208601615787565b6000826159e6577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b50049056fea164736f6c6343000817000a", + "nonce": "0x0", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x585f86bd802caf85ca1e18ed3f219a0eecc6a083003e4223ccea1b9520afc502", + "transactionType": "CREATE", + "contractName": "LlamaTokenVotingFactory", + "contractAddress": "0xFBE17545dffD75A92A5A72926AE581478973FE65", + "function": null, + "arguments": [ + "0x3f3DAB3ab8cEc2FBd06767c2A5F66Cb6BFF21A4A" + ], + "transaction": { + "type": "0x02", + "from": "0xb72276d9ff15c7998b9962ffcfb21a6c7249441b", + "gas": "0xc9127", + "value": "0x0", + "data": "0x60a060405234801561001057600080fd5b50604051610b16380380610b1683398101604081905261002f91610040565b6001600160a01b0316608052610070565b60006020828403121561005257600080fd5b81516001600160a01b038116811461006957600080fd5b9392505050565b608051610a8561009160003960008181604001526104390152610a856000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c806321618ea41461003b5780633ec857a51461008b575b600080fd5b6100627f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b61006261009936600461087b565b600080338360000151846040015185606001516040516020016100bf9493929190610959565b60405160208183030381529060405280519060200120905060006100e7846020015183610622565b60408086015190517f439fab9100000000000000000000000000000000000000000000000000000000815291925073ffffffffffffffffffffffffffffffffffffffff83169163439fab919161013f916004016109b9565b6020604051808303816000875af115801561015e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101829190610a0a565b50600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1663fc0c546a6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156101e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061020a9190610a33565b73ffffffffffffffffffffffffffffffffffffffff1603610257576040517f65f5b03400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517fcdfda4dd00000000000000000000000000000000000000000000000000000000815242600482015273ffffffffffffffffffffffffffffffffffffffff82169063cdfda4dd90602401602060405180830381865afa1580156102c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102e59190610a50565b65ffffffffffff16600003610326576040517f65f5b03400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff166391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865afa158015610371573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103959190610a50565b65ffffffffffff166000036103d6576040517f65f5b03400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1663ae2a6df26040518163ffffffff1660e01b815260040160006040518083038186803b15801561041c57600080fd5b505afa158015610430573d6000803e3d6000fd5b5050505061045e7f000000000000000000000000000000000000000000000000000000000000000083610622565b8451608086015160a0870151604080517f8734852a00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff948516600482015286851660248201526044810193909352815161ffff908116606485015260208301518116608485015290820151811660a48401526060909101511660c4820152919450841690638734852a9060e401600060405180830381600087803b15801561051757600080fd5b505af115801561052b573d6000803e3d6000fd5b505050508073ffffffffffffffffffffffffffffffffffffffff1663fc0c546a6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561057a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061059e9190610a33565b84516020808701516060808901516040805173ffffffffffffffffffffffffffffffffffffffff94851681528885169581019590955284015287821690830152466080830152928316929091169033907f4c8bb78cb1c62e64cef39fc4b4a1864d1a331a28c7bd59a67fe969cc8ab715879060a00160405180910390a45050919050565b6000763d602d80600a3d3981f3363d3d373d3d3d363d730000008360601b60e81c176000526e5af43d82803e903d91602b57fd5bf38360781b1760205281603760096000f5905073ffffffffffffffffffffffffffffffffffffffff81166106b6576040517fc2f868f400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405160c0810167ffffffffffffffff8111828210171561070e5761070e6106bc565b60405290565b73ffffffffffffffffffffffffffffffffffffffff8116811461073657600080fd5b50565b600082601f83011261074a57600080fd5b813567ffffffffffffffff80821115610765576107656106bc565b604051601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011681019082821181831017156107ab576107ab6106bc565b816040528381528660208588010111156107c457600080fd5b836020870160208301376000602085830101528094505050505092915050565b803561ffff811681146107f657600080fd5b919050565b60006080828403121561080d57600080fd5b6040516080810181811067ffffffffffffffff82111715610830576108306106bc565b60405290508061083f836107e4565b815261084d602084016107e4565b602082015261085e604084016107e4565b604082015261086f606084016107e4565b60608201525092915050565b60006020828403121561088d57600080fd5b813567ffffffffffffffff808211156108a557600080fd5b9083019061012082860312156108ba57600080fd5b6108c26106eb565b82356108cd81610714565b815260208301356108dd81610714565b60208201526040830135828111156108f457600080fd5b61090087828601610739565b60408301525060608301356060820152608083013560808201526109278660a085016107fb565b60a082015295945050505050565b60005b83811015610950578181015183820152602001610938565b50506000910152565b60007fffffffffffffffffffffffffffffffffffffffff000000000000000000000000808760601b168352808660601b1660148401525083516109a3816028850160208801610935565b6028920191820192909252604801949350505050565b60208152600082518060208401526109d8816040850160208701610935565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169190910160400192915050565b600060208284031215610a1c57600080fd5b81518015158114610a2c57600080fd5b9392505050565b600060208284031215610a4557600080fd5b8151610a2c81610714565b600060208284031215610a6257600080fd5b815165ffffffffffff81168114610a2c57600080fdfea164736f6c6343000817000a0000000000000000000000003f3dab3ab8cec2fbd06767c2a5f66cb6bff21a4a", + "nonce": "0x1", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x1c9b8b27faeed92b136112930a29dc473a6f7a3254fd3dbf6e3720d118d874ba", + "transactionType": "CREATE", + "contractName": "LlamaTokenAdapterVotesTimestamp", + "contractAddress": "0x088C268cb00226D6A9b29e5488905Aa94D2f0239", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0xb72276d9ff15c7998b9962ffcfb21a6c7249441b", + "gas": "0x10d28c", + "value": "0x0", + "data": "0x608060405234801561001057600080fd5b5061001961001e565b6100d0565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff161561006e5760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b03908116146100cd5780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b610df5806100df6000396000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c8063ae2a6df21161005b578063ae2a6df21461010a578063cdfda4dd14610114578063edb8ee5a14610127578063fc0c546a1461013a57600080fd5b8063439fab911461008d5780634bf5d7e9146100b557806391ddadf4146100ca5780639556de73146100e9575b600080fd5b6100a061009b3660046108e4565b61017f565b60405190151581526020015b60405180910390f35b6100bd6103a1565b6040516100ac9190610988565b6100d261042f565b60405165ffffffffffff90911681526020016100ac565b6100fc6100f7366004610a12565b6104e9565b6040519081526020016100ac565b610112610593565b005b6100d2610122366004610a4b565b6105ef565b6100fc610135366004610a64565b610600565b60005461015a9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100ac565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0080546000919068010000000000000000810460ff16159067ffffffffffffffff1683811580156101cd5750825b905060008267ffffffffffffffff1660011480156101ea5750303b155b9050811580156101f8575080155b1561022f576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b84547fffffffffffffffffffffffffffffffffffffffffffffffff000000000000000016600117855583156102905784547fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff16680100000000000000001785555b6000878060200190518101906102a69190610a81565b8051600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff90921691909117905560408051808201909152600e81527f6d6f64653d74696d657374616d7000000000000000000000000000000000000060208201529091506001906103309082610b71565b50600196505083156103975784547fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b5050505050919050565b600180546103ae90610acd565b80601f01602080910402602001604051908101604052809291908181526020018280546103da90610acd565b80156104275780601f106103fc57610100808354040283529160200191610427565b820191906000526020600020905b81548152906001019060200180831161040a57829003601f168201915b505050505081565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156104d7575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682019092526104d491810190610c8b565b60015b6104e4576104e44261069b565b905090565b600080546040517f3a46b1a800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff858116600483015265ffffffffffff8516602483015290911690633a46b1a890604401602060405180830381865afa158015610568573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061058c9190610ca8565b9392505050565b600061059d6106e8565b905060006105a9610712565b905081806105b45750805b156105eb576040517f6ff0714000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050565b60006105fa8261069b565b92915050565b600080546040517f8e539e8c00000000000000000000000000000000000000000000000000000000815265ffffffffffff8416600482015273ffffffffffffffffffffffffffffffffffffffff90911690638e539e8c90602401602060405180830381865afa158015610677573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105fa9190610ca8565b600065ffffffffffff8211156106e4576040517fc0188c4f0000000000000000000000000000000000000000000000000000000081526004810183905260240160405180910390fd5b5090565b60006106f34261069b565b65ffffffffffff1661070361042f565b65ffffffffffff161415905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16634bf5d7e96040518163ffffffff1660e01b8152600401600060405180830381865afa9250505080156107bf57506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526107bc9190810190610cc1565b60015b6107c95750600090565b60016040516020016107db9190610d38565b60405160208183030381529060405280519060200120816040516020016108029190610dcc565b60405160208183030381529060405280519060200120141591505090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff8111828210171561089657610896610820565b604052919050565b600067ffffffffffffffff8211156108b8576108b8610820565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b6000602082840312156108f657600080fd5b813567ffffffffffffffff81111561090d57600080fd5b8201601f8101841361091e57600080fd5b803561093161092c8261089e565b61084f565b81815285602083850101111561094657600080fd5b81602084016020830137600091810160200191909152949350505050565b60005b8381101561097f578181015183820152602001610967565b50506000910152565b60208152600082518060208401526109a7816040850160208701610964565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169190910160400192915050565b73ffffffffffffffffffffffffffffffffffffffff811681146109fb57600080fd5b50565b65ffffffffffff811681146109fb57600080fd5b60008060408385031215610a2557600080fd5b8235610a30816109d9565b91506020830135610a40816109fe565b809150509250929050565b600060208284031215610a5d57600080fd5b5035919050565b600060208284031215610a7657600080fd5b813561058c816109fe565b600060208284031215610a9357600080fd5b6040516020810181811067ffffffffffffffff82111715610ab657610ab6610820565b6040528251610ac4816109d9565b81529392505050565b600181811c90821680610ae157607f821691505b602082108103610b1a577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b601f821115610b6c576000816000526020600020601f850160051c81016020861015610b495750805b601f850160051c820191505b81811015610b6857828155600101610b55565b5050505b505050565b815167ffffffffffffffff811115610b8b57610b8b610820565b610b9f81610b998454610acd565b84610b20565b602080601f831160018114610bf25760008415610bbc5750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b178555610b68565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b82811015610c3f57888601518255948401946001909101908401610c20565b5085821015610c7b57878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b600060208284031215610c9d57600080fd5b815161058c816109fe565b600060208284031215610cba57600080fd5b5051919050565b600060208284031215610cd357600080fd5b815167ffffffffffffffff811115610cea57600080fd5b8201601f81018413610cfb57600080fd5b8051610d0961092c8261089e565b818152856020838501011115610d1e57600080fd5b610d2f826020830160208601610964565b95945050505050565b6000808354610d4681610acd565b60018281168015610d5e5760018114610d9157610dc0565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0084168752821515830287019450610dc0565b8760005260208060002060005b85811015610db75781548a820152908401908201610d9e565b50505082870194505b50929695505050505050565b60008251610dde818460208701610964565b919091019291505056fea164736f6c6343000817000a", + "nonce": "0x2", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0xf7ed2a7e29e6dfe6c828256ccab5471f2d6e65d229f4eedc33ee42b59d0c7e51", + "transactionIndex": "0x1", + "blockHash": "0x582cd6a6f8a81be8076ce7ba4fbe15079a961dfab37ac6a1ce79f63b09630f74", + "blockNumber": "0x12dd833", + "from": "0xb72276D9FF15c7998b9962FFCfB21A6C7249441B", + "to": null, + "cumulativeGasUsed": "0x4d59d2", + "gasUsed": "0x4ca2c1", + "contractAddress": "0x3f3DAB3ab8cEc2FBd06767c2A5F66Cb6BFF21A4A", + "logs": [ + { + "address": "0x3f3DAB3ab8cEc2FBd06767c2A5F66Cb6BFF21A4A", + "topics": [ + "0xc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2" + ], + "data": "0x000000000000000000000000000000000000000000000000ffffffffffffffff", + "blockHash": "0x582cd6a6f8a81be8076ce7ba4fbe15079a961dfab37ac6a1ce79f63b09630f74", + "blockNumber": "0x12dd833", + "transactionHash": "0xf7ed2a7e29e6dfe6c828256ccab5471f2d6e65d229f4eedc33ee42b59d0c7e51", + "transactionIndex": "0x1", + "logIndex": "0x0", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000800000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05efc" + }, + { + "transactionHash": "0x585f86bd802caf85ca1e18ed3f219a0eecc6a083003e4223ccea1b9520afc502", + "transactionIndex": "0x2", + "blockHash": "0x582cd6a6f8a81be8076ce7ba4fbe15079a961dfab37ac6a1ce79f63b09630f74", + "blockNumber": "0x12dd833", + "from": "0xb72276D9FF15c7998b9962FFCfB21A6C7249441B", + "to": null, + "cumulativeGasUsed": "0x570542", + "gasUsed": "0x9ab70", + "contractAddress": "0xFBE17545dffD75A92A5A72926AE581478973FE65", + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05efc" + }, + { + "transactionHash": "0x1c9b8b27faeed92b136112930a29dc473a6f7a3254fd3dbf6e3720d118d874ba", + "transactionIndex": "0x3", + "blockHash": "0x582cd6a6f8a81be8076ce7ba4fbe15079a961dfab37ac6a1ce79f63b09630f74", + "blockNumber": "0x12dd833", + "from": "0xb72276D9FF15c7998b9962FFCfB21A6C7249441B", + "to": null, + "cumulativeGasUsed": "0x63f6eb", + "gasUsed": "0xcf1a9", + "contractAddress": "0x088C268cb00226D6A9b29e5488905Aa94D2f0239", + "logs": [ + { + "address": "0x088C268cb00226D6A9b29e5488905Aa94D2f0239", + "topics": [ + "0xc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2" + ], + "data": "0x000000000000000000000000000000000000000000000000ffffffffffffffff", + "blockHash": "0x582cd6a6f8a81be8076ce7ba4fbe15079a961dfab37ac6a1ce79f63b09630f74", + "blockNumber": "0x12dd833", + "transactionHash": "0x1c9b8b27faeed92b136112930a29dc473a6f7a3254fd3dbf6e3720d118d874ba", + "transactionIndex": "0x3", + "logIndex": "0x1", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000800000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000008000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05efc" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1704991438, + "chain": 420, + "multi": false, + "commit": "688208a" +} \ No newline at end of file diff --git a/broadcast/DeployLlamaTokenVotingFactory.s.sol/420/run-1704991492.json b/broadcast/DeployLlamaTokenVotingFactory.s.sol/420/run-1704991492.json new file mode 100644 index 0000000..ea12919 --- /dev/null +++ b/broadcast/DeployLlamaTokenVotingFactory.s.sol/420/run-1704991492.json @@ -0,0 +1,148 @@ +{ + "transactions": [ + { + "hash": "0xf7ed2a7e29e6dfe6c828256ccab5471f2d6e65d229f4eedc33ee42b59d0c7e51", + "transactionType": "CREATE", + "contractName": "LlamaTokenGovernor", + "contractAddress": "0x3f3DAB3ab8cEc2FBd06767c2A5F66Cb6BFF21A4A", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0xb72276d9ff15c7998b9962ffcfb21a6c7249441b", + "gas": "0x6398ff", + "value": "0x0", + "data": "0x60806040523480156200001157600080fd5b506200001c62000022565b620000d6565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff1615620000735760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b0390811614620000d35780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b6159f880620000e66000396000f3fe608060405234801561001057600080fd5b50600436106101da5760003560e01c80637e4a56bb11610104578063b92cdd9a116100a2578063cae3bdff11610071578063cae3bdff1461053d578063dcae21b714610552578063e45061ea14610565578063e5589b9d1461057857600080fd5b8063b92cdd9a146104e4578063b9b2cf6c146104f7578063c193c2691461050a578063c26c12eb1461053557600080fd5b80638734852a116100de5780638734852a1461049857806396ff6e2e146104ab578063a1d9b412146104be578063b3c678b0146104d157600080fd5b80637e4a56bb1461046a5780637ed7238e14610472578063807ad1141461048557600080fd5b80633fed8f161161017c57806359e5332d1161014b57806359e5332d1461036457806364f6b3161461037b5780637186dd9c1461038e57806374f717cd1461044757600080fd5b80633fed8f16146103165780634d61ebf4146103365780634ec0ab1c1461033e578063509c5fbd1461035157600080fd5b806319a39740116101b857806319a397401461025b5780631e127ddf1461026e578063372fa8e8146102c25780633df91222146102d557600080fd5b80630669b1ce146101df57806311f900b5146101f45780631650080714610227575b600080fd5b6101f26101ed366004614a11565b61058b565b005b610207610202366004614a46565b610b79565b6040805161ffff9384168152929091166020830152015b60405180910390f35b61023a610235366004614ac0565b610b90565b6040516fffffffffffffffffffffffffffffffff909116815260200161021e565b6101f2610269366004614a46565b610baa565b6101f261027c366004614b82565b3360009081526007602090815260408083207fffffffff000000000000000000000000000000000000000000000000000000009490941683529290522080546001019055565b6101f26102d0366004614bbd565b610c75565b6102fe6102e3366004614a46565b6005602052600090815260409020546001600160a01b031681565b6040516001600160a01b03909116815260200161021e565b610329610324366004614c31565b610d76565b60405161021e9190614c53565b610207610f4e565b6101f261034c366004614ce2565b610f63565b61023a61035f366004614ac0565b611030565b61036d60025481565b60405190815260200161021e565b6000546102fe906001600160a01b031681565b6103fc61039c366004614a46565b6006602052600090815260409020805460018201546002909201546fffffffffffffffffffffffffffffffff8083169370010000000000000000000000000000000093849004821693818316939181900483169282811692919091041686565b604080516fffffffffffffffffffffffffffffffff978816815295871660208701529386169385019390935290841660608401528316608083015290911660a082015260c00161021e565b61045a610455366004614d23565b611040565b604051901515815260200161021e565b6103296110a9565b61036d610480366004614ea9565b61114c565b6001546102fe906001600160a01b031681565b6101f26104a6366004614f88565b611263565b61023a6104b9366004615066565b6114b5565b61023a6104cc366004615066565b6115c6565b61036d6104df366004615131565b6116c7565b6101f26104f2366004614a11565b61171c565b6101f2610505366004614ce2565b611726565b61036d6105183660046151e2565b600760209081526000928352604080842090915290825290205481565b6102076117ef565b6105456117fc565b60405161021e919061520e565b610545610560366004614c31565b61188f565b6101f2610573366004614a11565b611a4d565b610207610586366004614a46565b612026565b600080546040517fb6e76873000000000000000000000000000000000000000000000000000000008152833560048201526001600160a01b039091169063b6e768739060240161012060405180830381865afa1580156105ef573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061061391906152c8565b9050600060018260a0015161062891906153a6565b67ffffffffffffffff169050600160009054906101000a90046001600160a01b03166001600160a01b031663ae2a6df26040518163ffffffff1660e01b815260040160006040518083038186803b15801561068257600080fd5b505afa158015610696573d6000803e3d6000fd5b505050506000806000806106b485600461203490919063ffffffff16565b909250905060006106cb6080890160608a016153ce565b6001600160a01b031663b02bd9206040518163ffffffff1660e01b8152600401602060405180830381865afa158015610708573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061072c91906153eb565b67ffffffffffffffff16905061271061ffff8416820204818860c0015167ffffffffffffffff16030194506127108261ffff1682028161076e5761076e615406565b04850193508342116107ac576040517f038d8a6a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8660c0015167ffffffffffffffff1642106107f3576040517f08c8d62700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050843560009081526006602052604080822060015491517fcdfda4dd000000000000000000000000000000000000000000000000000000008152600481018690529092916001600160a01b03169063edb8ee5a90829063cdfda4dd90602401602060405180830381865afa158015610871573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108959190615435565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b16815265ffffffffffff9091166004820152602401602060405180830381865afa1580156108f0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610914919061545d565b600183015460028401549192506fffffffffffffffffffffffffffffffff7001000000000000000000000000000000009182900481169291820481169116600061095f60038a6121cd565b9150506000610975868361ffff166127106122d8565b905080856fffffffffffffffffffffffffffffffff1610156109e3576040517fbfb9aa550000000000000000000000000000000000000000000000000000000081526fffffffffffffffffffffffffffffffff86166004820152602481018290526044015b60405180910390fd5b836fffffffffffffffffffffffffffffffff16856fffffffffffffffffffffffffffffffff1611610a5c576040517f8a0df63f0000000000000000000000000000000000000000000000000000000081526fffffffffffffffffffffffffffffffff8087166004830152851660248201526044016109da565b6000610a7b8d6060016020810190610a7491906153ce565b600061231c565b905060008054906101000a90046001600160a01b03166001600160a01b03166394004706828f6040518363ffffffff1660e01b8152600401610abe9291906155b2565b6020604051808303816000875af1158015610add573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b0191906155e8565b50604080518e3581526fffffffffffffffffffffffffffffffff808916602083015280881692820192909252908516606082015260ff82169033907ff5bc433f16cc3d0e9fcb5ac4f8de9f17eb90de1fd2a9ede5952c2097d4ef1a59906080015b60405180910390a350505050505050505050505050565b600080610b87600484612034565b91509150915091565b6000610ba0338787878787612612565b9695505050505050565b60008054906101000a90046001600160a01b03166001600160a01b031663c34c08e56040518163ffffffff1660e01b8152600401602060405180830381865afa158015610bfb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c1f9190615603565b6001600160a01b0316336001600160a01b031614610c69576040517f26bee1ce00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610c7281612c5e565b50565b6000610c818686612e2e565b6040805160008082526020820180845284905260ff88169282019290925260608101869052608081018590529192509060019060a0016020604051602081039080840390855afa158015610cd9573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001519150506001600160a01b0381161580610d2c5750866001600160a01b0316816001600160a01b031614155b15610d63576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610d6d8187612f50565b50505050505050565b60408051602081019091526060815281831115610dbf576040517f2cd4dad300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60045480831115610dfc576040517f2cd4dad300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610e088585615620565b905060008167ffffffffffffffff811115610e2557610e25614d65565b604051908082528060200260200182016040528015610e8e57816020015b60408051606081018252600080825260208083018290529282015282527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff909201910181610e435790505b509050855b85811015610f34576004805482908110610eaf57610eaf615633565b600091825260209182902060408051606081018252919092015465ffffffffffff8116825261ffff660100000000000082048116948301949094526801000000000000000090049092169082015282610f088984615620565b81518110610f1857610f18615633565b6020026020010181905250610f2d8160010190565b9050610e93565b506040805160208101909152908152925050505b92915050565b600080610f5b6004613063565b915091509091565b60008054906101000a90046001600160a01b03166001600160a01b031663c34c08e56040518163ffffffff1660e01b8152600401602060405180830381865afa158015610fb4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fd89190615603565b6001600160a01b0316336001600160a01b031614611022576040517f26bee1ce00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61102c82826130db565b5050565b6000610ba03387878787876131cf565b60008115611077575060008381526006602090815260408083206001600160a01b038616845260030190915290205460ff166110a2565b5060008381526006602090815260408083206001600160a01b038616845260040190915290205460ff165b9392505050565b6040805160208101909152606081526040805160048054602081810284018501855283018181529293919284929091849160009085015b8282101561113f576000848152602090819020604080516060810182529185015465ffffffffffff8116835261ffff660100000000000082048116848601526801000000000000000090910416908201528252600190920191016110e0565b5050505081525050905090565b60008061115f8d8d8d8d8d8d8d8d613714565b6040805160008082526020820180845284905260ff89169282019290925260608101879052608081018690529192509060019060a0016020604051602081039080840390855afa1580156111b7573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001519150506001600160a01b038116158061120a57508d6001600160a01b0316816001600160a01b031614155b15611241576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611251818e8e8e8e8e8e8e613885565b9e9d5050505050505050505050505050565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000810460ff16159067ffffffffffffffff166000811580156112ae5750825b905060008267ffffffffffffffff1660011480156112cb5750303b155b9050811580156112d9575080155b15611310576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b84547fffffffffffffffffffffffffffffffffffffffffffffffff000000000000000016600117855583156113715784547fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff16680100000000000000001785555b886001600160a01b0316639bccfe496040518163ffffffff1660e01b8152600401602060405180830381865afa1580156113af573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113d3919061545d565b50600080546001600160a01b03808c167fffffffffffffffffffffffff00000000000000000000000000000000000000009283161790925560018054928b169290911691909117905561142587612c5e565b611437866000015187602001516130db565b61144986604001518760600151613b89565b83156114aa5784547fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b505050505050505050565b6000806114c68b8b8b8b8b8b613c26565b6040805160008082526020820180845284905260ff89169282019290925260608101879052608081018690529192509060019060a0016020604051602081039080840390855afa15801561151e573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001519150506001600160a01b038116158061157157508b6001600160a01b0316816001600160a01b031614155b156115a8576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6115b6818c8c8c8c8c6131cf565b9c9b505050505050505050505050565b6000806115d78b8b8b8b8b8b613d84565b6040805160008082526020820180845284905260ff89169282019290925260608101879052608081018690529192509060019060a0016020604051602081039080840390855afa15801561162f573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001519150506001600160a01b038116158061168257508b6001600160a01b0316816001600160a01b031614155b156116b9576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6115b6818c8c8c8c8c612612565b600061170f338a8a8a8a8a8a8a8a8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061388592505050565b9998505050505050505050565b610c723382612f50565b60008054906101000a90046001600160a01b03166001600160a01b031663c34c08e56040518163ffffffff1660e01b8152600401602060405180830381865afa158015611777573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061179b9190615603565b6001600160a01b0316336001600160a01b0316146117e5576040517f26bee1ce00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61102c8282613b89565b600080610f5b6003613063565b604080516020810190915260608152604080516003805460208082028401850185528301818152929391928492909184916000908501821561113f576000848152602090819020604080516060810182529185015465ffffffffffff8116835261ffff660100000000000082048116848601526801000000000000000090910416908201528252600190920191016110e0565b604080516020810190915260608152818311156118d8576040517f2cd4dad300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60035480831115611915576040517f2cd4dad300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006119218585615620565b905060008167ffffffffffffffff81111561193e5761193e614d65565b6040519080825280602002602001820160405280156119a757816020015b60408051606081018252600080825260208083018290529282015282527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90920191018161195c5790505b509050855b85811015610f345760038054829081106119c8576119c8615633565b600091825260209182902060408051606081018252919092015465ffffffffffff8116825261ffff660100000000000082048116948301949094526801000000000000000090049092169082015282611a218984615620565b81518110611a3157611a31615633565b6020026020010181905250611a468160010190565b90506119ac565b600080546040517fb6e76873000000000000000000000000000000000000000000000000000000008152833560048201526001600160a01b039091169063b6e768739060240161012060405180830381865afa158015611ab1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ad591906152c8565b9050600060018260a00151611aea91906153a6565b67ffffffffffffffff169050600160009054906101000a90046001600160a01b03166001600160a01b031663ae2a6df26040518163ffffffff1660e01b815260040160006040518083038186803b158015611b4457600080fd5b505afa158015611b58573d6000803e3d6000fd5b50505050600080600080611b7685600461203490919063ffffffff16565b90925090506000611b8d6080890160608a016153ce565b6001600160a01b0316637999762c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611bca573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bee91906153eb565b67ffffffffffffffff16905061271061ffff84168202048760a0015167ffffffffffffffff160194506127108261ffff16820281611c2e57611c2e615406565b0485019350834211611c6c576040517f038d8a6a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b808760a0015167ffffffffffffffff16611c869190615662565b421115611cbf576040517f08c8d62700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050843560009081526006602052604080822060015491517fcdfda4dd000000000000000000000000000000000000000000000000000000008152600481018690529092916001600160a01b03169063edb8ee5a90829063cdfda4dd90602401602060405180830381865afa158015611d3d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d619190615435565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b16815265ffffffffffff9091166004820152602401602060405180830381865afa158015611dbc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611de0919061545d565b825460018401549192506fffffffffffffffffffffffffffffffff808216928116917001000000000000000000000000000000009004166000611e2460038a6121cd565b5090506000611e3a868361ffff166127106122d8565b905080856fffffffffffffffffffffffffffffffff161015611ea3576040517f0425fab10000000000000000000000000000000000000000000000000000000081526fffffffffffffffffffffffffffffffff86166004820152602481018290526044016109da565b836fffffffffffffffffffffffffffffffff16856fffffffffffffffffffffffffffffffff1611611f1c576040517f8a0df63f0000000000000000000000000000000000000000000000000000000081526fffffffffffffffffffffffffffffffff8087166004830152851660248201526044016109da565b6000611f3b8d6060016020810190611f3491906153ce565b600161231c565b905060008054906101000a90046001600160a01b03166001600160a01b03166389e7d126828f6040518363ffffffff1660e01b8152600401611f7e9291906155b2565b6020604051808303816000875af1158015611f9d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fc191906155e8565b50604080518e3581526fffffffffffffffffffffffffffffffff808916602083015280881692820192909252908516606082015260ff82169033907ff23279e924757f3bfe4f543bc1b43685e851d6ace53f8518b806dcd8d42fc13990608001610b62565b600080610b876003846121cd565b6000804283106120c6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f506572696f64506374436865636b706f696e74733a2074696d657374616d702060448201527f6973206e6f7420696e207468652070617374000000000000000000000000000060648201526084016109da565b60006120d184613db3565b855490915060008160058111156121315760006120ed84613dfc565b6120f79085615620565b60008a81526020902090915081015465ffffffffffff90811690861610156121215780915061212f565b61212c816001615662565b92505b505b600061213f89868585613eae565b90508060000361215a576000809650965050505050506121c6565b60006121798a61216b600185615620565b600091825260209091200190565b60408051606081018252915465ffffffffffff8116835261ffff66010000000000008204811660208501819052680100000000000000009092041692909101829052985096505050505050505b9250929050565b60008042831061225f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602f60248201527f51756f72756d436865636b706f696e74733a2074696d657374616d702069732060448201527f6e6f7420696e207468652070617374000000000000000000000000000000000060648201526084016109da565b600061226a84613db3565b855490915060008160058111156122ca57600061228684613dfc565b6122909085615620565b60008a81526020902090915081015465ffffffffffff90811690861610156122ba578091506122c8565b6122c5816001615662565b92505b505b600061213f89868585613f10565b6000827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048411830215820261230d57600080fd5b50910281810615159190040190565b60008054604080517f0505c8c9000000000000000000000000000000000000000000000000000000008152905183926001600160a01b031691630505c8c99160048083019260209291908290030181865afa15801561237f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123a39190615603565b6001600160a01b0316638b2ed3886040518163ffffffff1660e01b8152600401602060405180830381865afa1580156123e0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124049190615675565b905060015b8160ff16811161253b57836124a1576040517fc167ebae00000000000000000000000000000000000000000000000000000000815260ff821660048201526001600160a01b0386169063c167ebae90602401602060405180830381865afa158015612478573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061249c9190615692565b612525565b6040517ffb847c4300000000000000000000000000000000000000000000000000000000815260ff821660048201526001600160a01b0386169063fb847c4390602401602060405180830381865afa158015612501573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125259190615692565b15612533579150610f489050565b600101612409565b50826125a857836001600160a01b03166312a52f006040518163ffffffff1660e01b8152600401602060405180830381865afa15801561257f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125a39190615675565b61260a565b836001600160a01b03166366cacdc96040518163ffffffff1660e01b8152600401602060405180830381865afa1580156125e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061260a9190615675565b949350505050565b600080546040517fb6e768730000000000000000000000000000000000000000000000000000000081528635600482015282916001600160a01b03169063b6e768739060240161012060405180830381865afa158015612676573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061269a91906152c8565b9050600060018260a001516126af91906153a6565b8735600090815260066020526040902067ffffffffffffffff9190911691506126de6080890160608a016153ce565b6001600160a01b03166302674e4b89308c6040518463ffffffff1660e01b815260040161270d939291906156af565b60006040518083038186803b15801561272557600080fd5b505afa158015612739573d6000803e3d6000fd5b505050506001600160a01b038a16600090815260048201602052604090205460ff1615612792576040517f9dd6544b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6127a0888a89600486613f6a565b60008080806127b0600487612034565b909250905060006127c760808e0160608f016153ce565b6001600160a01b031663b02bd9206040518163ffffffff1660e01b8152600401602060405180830381865afa158015612804573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061282891906153eb565b67ffffffffffffffff16905061271061ffff8416820204818960c0015167ffffffffffffffff16030194506127108261ffff1682028161286a5761286a615406565b04850193508442116128a8576040517fd0b72b4900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b834211156128e2576040517f5b73d19300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050506000612a25600160009054906101000a90046001600160a01b03166001600160a01b0316639556de738f600160009054906101000a90046001600160a01b03166001600160a01b031663cdfda4dd886040518263ffffffff1660e01b815260040161295291815260200190565b602060405180830381865afa15801561296f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906129939190615435565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b1681526001600160a01b03909216600483015265ffffffffffff166024820152604401602060405180830381865afa1580156129fc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a20919061545d565b61425e565b905060ff8a16612a9e576002840154612a649070010000000000000000000000000000000090046fffffffffffffffffffffffffffffffff16826142ad565b6002850180546fffffffffffffffffffffffffffffffff928316700100000000000000000000000000000000029216919091179055612bc6565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60ff8b1601612b37576001840154612afd9070010000000000000000000000000000000090046fffffffffffffffffffffffffffffffff16826142ad565b6001850180546fffffffffffffffffffffffffffffffff928316700100000000000000000000000000000000029216919091179055612bc6565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe60ff8b1601612bc6576002840154612b82906fffffffffffffffffffffffffffffffff16826142ad565b6002850180547fffffffffffffffffffffffffffffffff00000000000000000000000000000000166fffffffffffffffffffffffffffffffff929092169190911790555b6001600160a01b038d1660008181526004860160205260409081902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790555160ff8c1691907f4e3e2ad68670a2709cb408c31c5afd8da0b6d3d06c75b11feb404a455639fe7c90612c46908f359086908f908f90615713565b60405180910390a39c9b505050505050505050505050565b60018054604080517f91ddadf400000000000000000000000000000000000000000000000000000000815290516000936001600160a01b039093169263edb8ee5a92909184916391ddadf49160048083019260209291908290030181865afa158015612cce573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612cf29190615435565b612cfc9190615745565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b16815265ffffffffffff9091166004820152602401602060405180830381865afa158015612d57573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612d7b919061545d565b905080600003612db7576040517f34bbd58500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80821115612df1576040517f8a5e746800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60028290556040518281527fd91a985c173545ab0e0bd11c021a1ae84c1ea6eab9350d9bf3812d5b8bff49a4906020015b60405180910390a15050565b6000807f6da9390b4f29da2c44fa5a9da00b392393d01e989d16e4a3dec5a538318e352584612e5c856142f4565b6001600160a01b03871660009081526007602090815260408083207fffffffff00000000000000000000000000000000000000000000000000000000843516845290915290208054600181019091556040805160208101959095526001600160a01b03909316928401929092526060830152608082015260a001604051602081830303815290604052805190602001209050612ef66143eb565b6040517f190100000000000000000000000000000000000000000000000000000000000060208201526022810191909152604281018290526062016040516020818303038152906040528051906020012091505092915050565b80356000908152600560205260409020546001600160a01b03838116911614612fa5576040517f86ba025600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000546040517fb92cdd9a0000000000000000000000000000000000000000000000000000000081526001600160a01b039091169063b92cdd9a90612fee908490600401615764565b600060405180830381600087803b15801561300857600080fd5b505af115801561301c573d6000803e3d6000fd5b5050604051833581526001600160a01b03851692507fdcccc5725b7256a6975da00de8953e5d326756a3079d203ff6df9e52331f411a915060200160405180910390a25050565b8054600090819080820361307d5750600093849350915050565b600061308e8561216b600185615620565b60408051606081018252915465ffffffffffff8116835261ffff66010000000000008204811660208501819052680100000000000000009092041692909101829052969095509350505050565b6127108261ffff1611806130f1575061ffff8216155b1561312e576040517f8f6febc000000000000000000000000000000000000000000000000000000000815261ffff831660048201526024016109da565b6127108161ffff161180613144575061ffff8116155b15613181576040517f3bec511c00000000000000000000000000000000000000000000000000000000815261ffff821660048201526024016109da565b613194600361ffff80851690841661454d565b6040805161ffff8085168252831660208201527f77c3f43700db02acb49792bbf699b39f72c2ed4b920bd5c0b1843dcd7c832f4c9101612e22565b600080546040517fb6e768730000000000000000000000000000000000000000000000000000000081528635600482015282916001600160a01b03169063b6e768739060240161012060405180830381865afa158015613233573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061325791906152c8565b9050600060018260a0015161326c91906153a6565b8735600090815260066020526040902067ffffffffffffffff91909116915061329b6080890160608a016153ce565b6001600160a01b0316631a2a4e7789308c6040518463ffffffff1660e01b81526004016132ca939291906156af565b60006040518083038186803b1580156132e257600080fd5b505afa1580156132f6573d6000803e3d6000fd5b505050506001600160a01b038a16600090815260038201602052604090205460ff161561334f576040517f9dd6544b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61335d888a89600086613f6a565b600080808061336d600487612034565b9092509050600061338460808e0160608f016153ce565b6001600160a01b0316637999762c6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156133c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906133e591906153eb565b67ffffffffffffffff16905061271061ffff84168202048860a0015167ffffffffffffffff160194506127108261ffff1682028161342557613425615406565b0485019350844211613463576040517fd0b72b4900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8342111561349d576040517f5b73d19300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050600061350d600160009054906101000a90046001600160a01b03166001600160a01b0316639556de738f600160009054906101000a90046001600160a01b03166001600160a01b031663cdfda4dd886040518263ffffffff1660e01b815260040161295291815260200190565b905060ff8a16613580576001840154613538906fffffffffffffffffffffffffffffffff16826142ad565b6001850180547fffffffffffffffffffffffffffffffff00000000000000000000000000000000166fffffffffffffffffffffffffffffffff92909216919091179055613694565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60ff8b16016136095783546135c8906fffffffffffffffffffffffffffffffff16826142ad565b84547fffffffffffffffffffffffffffffffff00000000000000000000000000000000166fffffffffffffffffffffffffffffffff91909116178455613694565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe60ff8b16016136945783546136659070010000000000000000000000000000000090046fffffffffffffffffffffffffffffffff16826142ad565b84546fffffffffffffffffffffffffffffffff9182167001000000000000000000000000000000000291161784555b6001600160a01b038d1660008181526003860160205260409081902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790555160ff8c1691907f761cce3a1af5d9cfc0d57222f605ce4bd2be345f0ad9ebb7b83a84a91a0c201490612c46908f359086908f908f90615713565b6001600160a01b03881660009081526007602090815260408083207fffffffff000000000000000000000000000000000000000000000000000000008435168452909152812080546001810190915560007fd1fab1c7b3b37134662e5867b00e272eb49f7be0a890df29e802c3cc66c06f838b8b8b8b8b8b8b60405161379b929190615777565b604080519182900382208c516020808f0191909120908401999099526001600160a01b039788169183019190915260ff90951660608201529285166080840152931660a082015260c081019290925260e08201526101008101919091526101208101839052610140016040516020818303038152906040528051906020012090506138246143eb565b6040517f19010000000000000000000000000000000000000000000000000000000000006020820152602281019190915260428101829052606201604051602081830303815290604052805190602001209250505098975050505050505050565b600154604080517fae2a6df200000000000000000000000000000000000000000000000000000000815290516000926001600160a01b03169163ae2a6df29160048083019286929190829003018186803b1580156138e257600080fd5b505afa1580156138f6573d6000803e3d6000fd5b505060018054604080517f91ddadf40000000000000000000000000000000000000000000000000000000081529051600095506001600160a01b039092169350639556de73928e92909185916391ddadf4916004808201926020929091908290030181865afa15801561396d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906139919190615435565b61399b9190615745565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b1681526001600160a01b03909216600483015265ffffffffffff166024820152604401602060405180830381865afa158015613a04573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613a28919061545d565b9050600254811015613a69576040517f92665351000000000000000000000000000000000000000000000000000000008152600481018290526024016109da565b6000546040517fb3c678b00000000000000000000000000000000000000000000000000000000081526001600160a01b039091169063b3c678b090613abe908c908c908c908c908c908c908c906004016157ab565b6020604051808303816000875af1158015613add573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613b01919061545d565b60008181526005602090815260409182902080547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b038f16908117909155915183815292945090917f1834dfd49255741a8ce9a9bd66b91b64d13622e1d8170e4c78ac91f9ec50a542910160405180910390a25098975050505050505050565b612710613b96828461583b565b61ffff1610613bdf576040517f519dd38400000000000000000000000000000000000000000000000000000000815261ffff8084166004830152821660248201526044016109da565b613beb60048383614576565b6040805161ffff8085168252831660208201527f8df7bdcce333d9e1b85e40782fb2f293c805761d3f48aaea58865e9541e44c709101612e22565b6000807fd7be168a3509af358f222ee35ee76aba47bc5fc2c35061cdce3958f510b7b1b28888613c55896142f4565b888888604051613c66929190615777565b60408051918290039091206001600160a01b038f166000908152600760209081528382207fffffffff0000000000000000000000000000000000000000000000000000000083351683529052919091208054600181019091556040805160208101989098526001600160a01b039096169587019590955260ff938416606087015260808601929092529190911660a084015260c083015260e082015261010001604051602081830303815290604052805190602001209050613d266143eb565b6040517f19010000000000000000000000000000000000000000000000000000000000006020820152602281019190915260428101829052606201604051602081830303815290604052805190602001209150509695505050505050565b6000807fa87058c5a9888e7af4405a932381d5a4612c61354bc3e52e9ea361ba17703fb38888613c55896142f4565b600065ffffffffffff821115613df8576040517fc0188c4f000000000000000000000000000000000000000000000000000000008152600481018390526024016109da565b5090565b60b581710100000000000000000000000000000000008110613e235760409190911b9060801c5b69010000000000000000008110613e3f5760209190911b9060401c5b650100000000008110613e575760109190911b9060201c5b63010000008110613e6d5760089190911b9060101c5b62010000010260121c80820401600190811c80830401811c80830401811c80830401811c80830401811c80830401811c80830401901c908190048111900390565b60005b81831015613f08576000613ec584846145a2565b60008781526020902090915065ffffffffffff86169082015465ffffffffffff161115613ef457809250613f02565b613eff816001615662565b93505b50613eb1565b509392505050565b60005b81831015613f08576000613f2784846145a2565b60008781526020902090915065ffffffffffff86169082015465ffffffffffff161115613f5657809250613f64565b613f61816001615662565b93505b50613f13565b600260ff84161115613fad576040517ffe0e5d8b00000000000000000000000000000000000000000000000000000000815260ff841660048201526024016109da565b600080546040517fec12d8be0000000000000000000000000000000000000000000000000000000081526001600160a01b039091169063ec12d8be90613ff7908990600401615764565b602060405180830381865afa158015614014573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906140389190615675565b60ff16600681111561404c5761404c6156e4565b9050826006811115614060576140606156e4565b816006811115614072576140726156e4565b146140ab57806040517f87afe58e0000000000000000000000000000000000000000000000000000000081526004016109da9190615856565b60008060009054906101000a90046001600160a01b03166001600160a01b0316630505c8c96040518163ffffffff1660e01b8152600401602060405180830381865afa1580156140ff573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906141239190615603565b6040517fe0bec07600000000000000000000000000000000000000000000000000000000815230600482015260ff88166024820152604481018590526001600160a01b03919091169063e0bec07690606401602060405180830381865afa158015614192573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906141b69190615692565b9050806141ef576040517f88aebd1200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600160009054906101000a90046001600160a01b03166001600160a01b031663ae2a6df26040518163ffffffff1660e01b815260040160006040518083038186803b15801561423d57600080fd5b505afa158015614251573d6000803e3d6000fd5b5050505050505050505050565b60006fffffffffffffffffffffffffffffffff821115613df8576040517fc0188c4f000000000000000000000000000000000000000000000000000000008152600481018390526024016109da565b60006fffffffffffffffffffffffffffffffff6142ce838216858316615662565b106142ea57506fffffffffffffffffffffffffffffffff610f48565b6110a28284615897565b60007f86b4555c6e347ea3f038485b59b894986c208b67da7e65fcfa3707271608465f823561432960408501602086016153ce565b61433960608601604087016158c0565b61434960808701606088016153ce565b61435960a08801608089016153ce565b60a088013561436b60c08a018a6158dd565b604051614379929190615777565b6040805191829003822060208301999099528101969096526001600160a01b03948516606087015260ff909316608086015290831660a08501529190911660c083015260e082015261010081019190915261012001604051602081830303815290604052805190602001209050919050565b60008054604080517f06fdde0300000000000000000000000000000000000000000000000000000000815290517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f926001600160a01b0316916306fdde0391600480830192879291908290030181865afa15801561446d573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526144b39190810190615942565b8051602091820120604080518082018252600181527f310000000000000000000000000000000000000000000000000000000000000090840152805192830193909352918101919091527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a082015260c00160405160208183030381529060405280519060200120905090565b6145718361455a42613db3565b614563856145bd565b61456c856145bd565b6145fe565b505050565b6145718361458342613db3565b6145908561ffff166145bd565b61459d8561ffff166145bd565b614909565b60006145b160028484186159b0565b6110a290848416615662565b600061ffff821115613df8576040517fc0188c4f000000000000000000000000000000000000000000000000000000008152600481018390526024016109da565b835480156148475760006146178661216b600185615620565b60408051606081018252915465ffffffffffff80821680855261ffff66010000000000008404811660208701526801000000000000000090930490921692840192909252919250861610156146ed576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f51756f72756d20436865636b706f696e743a20696e76616c69642074696d657360448201527f74616d700000000000000000000000000000000000000000000000000000000060648201526084016109da565b805165ffffffffffff8087169116036147865760006147118761216b600186615620565b805461ffff86811668010000000000000000027fffffffffffffffffffffffffffffffffffffffffffff0000ffffffffffffffff918916660100000000000002919091167fffffffffffffffffffffffffffffffffffffffffffff00000000ffffffffffff9092169190911717905550614841565b6040805160608101825265ffffffffffff808816825261ffff80881660208085019182528883169585019586528b54600181018d5560008d81529190912094519401805491519551831668010000000000000000027fffffffffffffffffffffffffffffffffffffffffffff0000ffffffffffffffff969093166601000000000000027fffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000909216949093169390931792909217929092161790555b50614902565b6040805160608101825265ffffffffffff808716825261ffff80871660208085019182528783169585019586528a54600181018c5560008c81529190912094519401805491519551831668010000000000000000027fffffffffffffffffffffffffffffffffffffffffffff0000ffffffffffffffff969093166601000000000000027fffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000909216949093169390931792909217929092161790555b5050505050565b835480156148475760006149228661216b600185615620565b60408051606081018252915465ffffffffffff80821680855261ffff66010000000000008404811660208701526801000000000000000090930490921692840192909252919250861610156146ed576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602860248201527f506572696f642050637420436865636b706f696e743a20696e76616c6964207460448201527f696d657374616d7000000000000000000000000000000000000000000000000060648201526084016109da565b600060e08284031215614a0b57600080fd5b50919050565b600060208284031215614a2357600080fd5b813567ffffffffffffffff811115614a3a57600080fd5b61260a848285016149f9565b600060208284031215614a5857600080fd5b5035919050565b60ff81168114610c7257600080fd5b8035614a7981614a5f565b919050565b60008083601f840112614a9057600080fd5b50813567ffffffffffffffff811115614aa857600080fd5b6020830191508360208285010111156121c657600080fd5b600080600080600060808688031215614ad857600080fd5b8535614ae381614a5f565b9450602086013567ffffffffffffffff80821115614b0057600080fd5b614b0c89838a016149f9565b955060408801359150614b1e82614a5f565b90935060608701359080821115614b3457600080fd5b50614b4188828901614a7e565b969995985093965092949392505050565b80357fffffffff0000000000000000000000000000000000000000000000000000000081168114614a7957600080fd5b600060208284031215614b9457600080fd5b6110a282614b52565b6001600160a01b0381168114610c7257600080fd5b8035614a7981614b9d565b600080600080600060a08688031215614bd557600080fd5b8535614be081614b9d565b9450602086013567ffffffffffffffff811115614bfc57600080fd5b614c08888289016149f9565b9450506040860135614c1981614a5f565b94979396509394606081013594506080013592915050565b60008060408385031215614c4457600080fd5b50508035926020909101359150565b60208082528251828201829052805160408401819052600092916060919083019082860190855b81811015614cc357614cb3838551805165ffffffffffff16825260208082015161ffff9081169184019190915260409182015116910152565b9285019291840191600101614c7a565b5090979650505050505050565b803561ffff81168114614a7957600080fd5b60008060408385031215614cf557600080fd5b614cfe83614cd0565b9150614d0c60208401614cd0565b90509250929050565b8015158114610c7257600080fd5b600080600060608486031215614d3857600080fd5b833592506020840135614d4a81614b9d565b91506040840135614d5a81614d15565b809150509250925092565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051610120810167ffffffffffffffff81118282101715614db857614db8614d65565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715614e0557614e05614d65565b604052919050565b600067ffffffffffffffff821115614e2757614e27614d65565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b600082601f830112614e6457600080fd5b8135614e77614e7282614e0d565b614dbe565b818152846020838601011115614e8c57600080fd5b816020850160208301376000918101602001919091529392505050565b60008060008060008060008060008060006101408c8e031215614ecb57600080fd5b614ed48c614bb2565b9a50614ee260208d01614a6e565b9950614ef060408d01614bb2565b9850614efe60608d01614bb2565b975060808c0135965067ffffffffffffffff8060a08e01351115614f2157600080fd5b614f318e60a08f01358f01614a7e565b909750955060c08d0135811015614f4757600080fd5b50614f588d60c08e01358e01614e53565b9350614f6660e08d01614a6e565b92506101008c013591506101208c013590509295989b509295989b9093969950565b60008060008084860360e0811215614f9f57600080fd5b8535614faa81614b9d565b94506020860135614fba81614b9d565b93506040860135925060807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa082011215614ff357600080fd5b506040516080810181811067ffffffffffffffff8211171561501757615017614d65565b60405261502660608701614cd0565b815261503460808701614cd0565b602082015261504560a08701614cd0565b604082015261505660c08701614cd0565b6060820152939692955090935050565b60008060008060008060008060006101008a8c03121561508557600080fd5b893561509081614b9d565b985060208a01356150a081614a5f565b975060408a013567ffffffffffffffff808211156150bd57600080fd5b6150c98d838e016149f9565b985060608c013591506150db82614a5f565b90965060808b013590808211156150f157600080fd5b506150fe8c828d01614a7e565b90965094505060a08a013561511281614a5f565b8093505060c08a0135915060e08a013590509295985092959850929598565b60008060008060008060008060c0898b03121561514d57600080fd5b883561515881614a5f565b9750602089013561516881614b9d565b9650604089013561517881614b9d565b955060608901359450608089013567ffffffffffffffff8082111561519c57600080fd5b6151a88c838d01614a7e565b909650945060a08b01359150808211156151c157600080fd5b506151ce8b828c01614a7e565b999c989b5096995094979396929594505050565b600080604083850312156151f557600080fd5b823561520081614b9d565b9150614d0c60208401614b52565b60208082528251828201829052805160408401819052600092916060919083019082860190855b81811015614cc35761526e838551805165ffffffffffff16825260208082015161ffff9081169184019190915260409182015116910152565b9285019291840191600101615235565b8051614a7981614d15565b8051614a7981614b9d565b805167ffffffffffffffff81168114614a7957600080fd5b80516bffffffffffffffffffffffff81168114614a7957600080fd5b600061012082840312156152db57600080fd5b6152e3614d94565b825181526152f36020840161527e565b60208201526153046040840161527e565b60408201526153156060840161527e565b606082015261532660808401615289565b608082015261533760a08401615294565b60a082015261534860c08401615294565b60c082015261535960e084016152ac565b60e082015261010061536c8185016152ac565b908201529392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b67ffffffffffffffff8281168282160390808211156153c7576153c7615377565b5092915050565b6000602082840312156153e057600080fd5b81356110a281614b9d565b6000602082840312156153fd57600080fd5b6110a282615294565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006020828403121561544757600080fd5b815165ffffffffffff811681146110a257600080fd5b60006020828403121561546f57600080fd5b5051919050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b80358252600060208201356154d381614b9d565b6001600160a01b0390811660208501526040830135906154f282614a5f565b60ff821660408601526060840135915061550b82614b9d565b908116606085015260808301359061552282614b9d565b16608084015260a0828101359084015260c0820135368390037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe101811261556857600080fd5b820160208101903567ffffffffffffffff81111561558557600080fd5b80360382131561559457600080fd5b60e060c08601526155a960e086018284615476565b95945050505050565b60ff831681526060602082015260006155ce60608301846154bf565b828103604084015260008152602081019150509392505050565b6000602082840312156155fa57600080fd5b6110a2826152ac565b60006020828403121561561557600080fd5b81516110a281614b9d565b81810381811115610f4857610f48615377565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b80820180821115610f4857610f48615377565b60006020828403121561568757600080fd5b81516110a281614a5f565b6000602082840312156156a457600080fd5b81516110a281614d15565b6060815260006156c260608301866154bf565b90506001600160a01b038416602083015260ff83166040830152949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b8481526fffffffffffffffffffffffffffffffff84166020820152606060408201526000610ba0606083018486615476565b65ffffffffffff8281168282160390808211156153c7576153c7615377565b6020815260006110a260208301846154bf565b8183823760009101908152919050565b60005b838110156157a257818101518382015260200161578a565b50506000910152565b60ff8816815260006001600160a01b03808916602084015280881660408401525085606083015260c060808301526157e760c083018587615476565b82810360a08401528351808252615805816020840160208801615787565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016016020019998505050505050505050565b61ffff8181168382160190808211156153c7576153c7615377565b6020810160078310615891577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b91905290565b6fffffffffffffffffffffffffffffffff8181168382160190808211156153c7576153c7615377565b6000602082840312156158d257600080fd5b81356110a281614a5f565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261591257600080fd5b83018035915067ffffffffffffffff82111561592d57600080fd5b6020019150368190038213156121c657600080fd5b60006020828403121561595457600080fd5b815167ffffffffffffffff81111561596b57600080fd5b8201601f8101841361597c57600080fd5b805161598a614e7282614e0d565b81815285602083850101111561599f57600080fd5b6155a9826020830160208601615787565b6000826159e6577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b50049056fea164736f6c6343000817000a", + "nonce": "0x0", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x585f86bd802caf85ca1e18ed3f219a0eecc6a083003e4223ccea1b9520afc502", + "transactionType": "CREATE", + "contractName": "LlamaTokenVotingFactory", + "contractAddress": "0xFBE17545dffD75A92A5A72926AE581478973FE65", + "function": null, + "arguments": [ + "0x3f3DAB3ab8cEc2FBd06767c2A5F66Cb6BFF21A4A" + ], + "transaction": { + "type": "0x02", + "from": "0xb72276d9ff15c7998b9962ffcfb21a6c7249441b", + "gas": "0xc9127", + "value": "0x0", + "data": "0x60a060405234801561001057600080fd5b50604051610b16380380610b1683398101604081905261002f91610040565b6001600160a01b0316608052610070565b60006020828403121561005257600080fd5b81516001600160a01b038116811461006957600080fd5b9392505050565b608051610a8561009160003960008181604001526104390152610a856000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c806321618ea41461003b5780633ec857a51461008b575b600080fd5b6100627f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b61006261009936600461087b565b600080338360000151846040015185606001516040516020016100bf9493929190610959565b60405160208183030381529060405280519060200120905060006100e7846020015183610622565b60408086015190517f439fab9100000000000000000000000000000000000000000000000000000000815291925073ffffffffffffffffffffffffffffffffffffffff83169163439fab919161013f916004016109b9565b6020604051808303816000875af115801561015e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101829190610a0a565b50600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1663fc0c546a6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156101e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061020a9190610a33565b73ffffffffffffffffffffffffffffffffffffffff1603610257576040517f65f5b03400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517fcdfda4dd00000000000000000000000000000000000000000000000000000000815242600482015273ffffffffffffffffffffffffffffffffffffffff82169063cdfda4dd90602401602060405180830381865afa1580156102c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102e59190610a50565b65ffffffffffff16600003610326576040517f65f5b03400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff166391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865afa158015610371573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103959190610a50565b65ffffffffffff166000036103d6576040517f65f5b03400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1663ae2a6df26040518163ffffffff1660e01b815260040160006040518083038186803b15801561041c57600080fd5b505afa158015610430573d6000803e3d6000fd5b5050505061045e7f000000000000000000000000000000000000000000000000000000000000000083610622565b8451608086015160a0870151604080517f8734852a00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff948516600482015286851660248201526044810193909352815161ffff908116606485015260208301518116608485015290820151811660a48401526060909101511660c4820152919450841690638734852a9060e401600060405180830381600087803b15801561051757600080fd5b505af115801561052b573d6000803e3d6000fd5b505050508073ffffffffffffffffffffffffffffffffffffffff1663fc0c546a6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561057a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061059e9190610a33565b84516020808701516060808901516040805173ffffffffffffffffffffffffffffffffffffffff94851681528885169581019590955284015287821690830152466080830152928316929091169033907f4c8bb78cb1c62e64cef39fc4b4a1864d1a331a28c7bd59a67fe969cc8ab715879060a00160405180910390a45050919050565b6000763d602d80600a3d3981f3363d3d373d3d3d363d730000008360601b60e81c176000526e5af43d82803e903d91602b57fd5bf38360781b1760205281603760096000f5905073ffffffffffffffffffffffffffffffffffffffff81166106b6576040517fc2f868f400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405160c0810167ffffffffffffffff8111828210171561070e5761070e6106bc565b60405290565b73ffffffffffffffffffffffffffffffffffffffff8116811461073657600080fd5b50565b600082601f83011261074a57600080fd5b813567ffffffffffffffff80821115610765576107656106bc565b604051601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011681019082821181831017156107ab576107ab6106bc565b816040528381528660208588010111156107c457600080fd5b836020870160208301376000602085830101528094505050505092915050565b803561ffff811681146107f657600080fd5b919050565b60006080828403121561080d57600080fd5b6040516080810181811067ffffffffffffffff82111715610830576108306106bc565b60405290508061083f836107e4565b815261084d602084016107e4565b602082015261085e604084016107e4565b604082015261086f606084016107e4565b60608201525092915050565b60006020828403121561088d57600080fd5b813567ffffffffffffffff808211156108a557600080fd5b9083019061012082860312156108ba57600080fd5b6108c26106eb565b82356108cd81610714565b815260208301356108dd81610714565b60208201526040830135828111156108f457600080fd5b61090087828601610739565b60408301525060608301356060820152608083013560808201526109278660a085016107fb565b60a082015295945050505050565b60005b83811015610950578181015183820152602001610938565b50506000910152565b60007fffffffffffffffffffffffffffffffffffffffff000000000000000000000000808760601b168352808660601b1660148401525083516109a3816028850160208801610935565b6028920191820192909252604801949350505050565b60208152600082518060208401526109d8816040850160208701610935565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169190910160400192915050565b600060208284031215610a1c57600080fd5b81518015158114610a2c57600080fd5b9392505050565b600060208284031215610a4557600080fd5b8151610a2c81610714565b600060208284031215610a6257600080fd5b815165ffffffffffff81168114610a2c57600080fdfea164736f6c6343000817000a0000000000000000000000003f3dab3ab8cec2fbd06767c2a5f66cb6bff21a4a", + "nonce": "0x1", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x1c9b8b27faeed92b136112930a29dc473a6f7a3254fd3dbf6e3720d118d874ba", + "transactionType": "CREATE", + "contractName": "LlamaTokenAdapterVotesTimestamp", + "contractAddress": "0x088C268cb00226D6A9b29e5488905Aa94D2f0239", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0xb72276d9ff15c7998b9962ffcfb21a6c7249441b", + "gas": "0x10d28c", + "value": "0x0", + "data": "0x608060405234801561001057600080fd5b5061001961001e565b6100d0565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff161561006e5760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b03908116146100cd5780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b610df5806100df6000396000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c8063ae2a6df21161005b578063ae2a6df21461010a578063cdfda4dd14610114578063edb8ee5a14610127578063fc0c546a1461013a57600080fd5b8063439fab911461008d5780634bf5d7e9146100b557806391ddadf4146100ca5780639556de73146100e9575b600080fd5b6100a061009b3660046108e4565b61017f565b60405190151581526020015b60405180910390f35b6100bd6103a1565b6040516100ac9190610988565b6100d261042f565b60405165ffffffffffff90911681526020016100ac565b6100fc6100f7366004610a12565b6104e9565b6040519081526020016100ac565b610112610593565b005b6100d2610122366004610a4b565b6105ef565b6100fc610135366004610a64565b610600565b60005461015a9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100ac565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0080546000919068010000000000000000810460ff16159067ffffffffffffffff1683811580156101cd5750825b905060008267ffffffffffffffff1660011480156101ea5750303b155b9050811580156101f8575080155b1561022f576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b84547fffffffffffffffffffffffffffffffffffffffffffffffff000000000000000016600117855583156102905784547fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff16680100000000000000001785555b6000878060200190518101906102a69190610a81565b8051600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff90921691909117905560408051808201909152600e81527f6d6f64653d74696d657374616d7000000000000000000000000000000000000060208201529091506001906103309082610b71565b50600196505083156103975784547fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b5050505050919050565b600180546103ae90610acd565b80601f01602080910402602001604051908101604052809291908181526020018280546103da90610acd565b80156104275780601f106103fc57610100808354040283529160200191610427565b820191906000526020600020905b81548152906001019060200180831161040a57829003601f168201915b505050505081565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156104d7575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682019092526104d491810190610c8b565b60015b6104e4576104e44261069b565b905090565b600080546040517f3a46b1a800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff858116600483015265ffffffffffff8516602483015290911690633a46b1a890604401602060405180830381865afa158015610568573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061058c9190610ca8565b9392505050565b600061059d6106e8565b905060006105a9610712565b905081806105b45750805b156105eb576040517f6ff0714000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050565b60006105fa8261069b565b92915050565b600080546040517f8e539e8c00000000000000000000000000000000000000000000000000000000815265ffffffffffff8416600482015273ffffffffffffffffffffffffffffffffffffffff90911690638e539e8c90602401602060405180830381865afa158015610677573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105fa9190610ca8565b600065ffffffffffff8211156106e4576040517fc0188c4f0000000000000000000000000000000000000000000000000000000081526004810183905260240160405180910390fd5b5090565b60006106f34261069b565b65ffffffffffff1661070361042f565b65ffffffffffff161415905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16634bf5d7e96040518163ffffffff1660e01b8152600401600060405180830381865afa9250505080156107bf57506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526107bc9190810190610cc1565b60015b6107c95750600090565b60016040516020016107db9190610d38565b60405160208183030381529060405280519060200120816040516020016108029190610dcc565b60405160208183030381529060405280519060200120141591505090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff8111828210171561089657610896610820565b604052919050565b600067ffffffffffffffff8211156108b8576108b8610820565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b6000602082840312156108f657600080fd5b813567ffffffffffffffff81111561090d57600080fd5b8201601f8101841361091e57600080fd5b803561093161092c8261089e565b61084f565b81815285602083850101111561094657600080fd5b81602084016020830137600091810160200191909152949350505050565b60005b8381101561097f578181015183820152602001610967565b50506000910152565b60208152600082518060208401526109a7816040850160208701610964565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169190910160400192915050565b73ffffffffffffffffffffffffffffffffffffffff811681146109fb57600080fd5b50565b65ffffffffffff811681146109fb57600080fd5b60008060408385031215610a2557600080fd5b8235610a30816109d9565b91506020830135610a40816109fe565b809150509250929050565b600060208284031215610a5d57600080fd5b5035919050565b600060208284031215610a7657600080fd5b813561058c816109fe565b600060208284031215610a9357600080fd5b6040516020810181811067ffffffffffffffff82111715610ab657610ab6610820565b6040528251610ac4816109d9565b81529392505050565b600181811c90821680610ae157607f821691505b602082108103610b1a577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b601f821115610b6c576000816000526020600020601f850160051c81016020861015610b495750805b601f850160051c820191505b81811015610b6857828155600101610b55565b5050505b505050565b815167ffffffffffffffff811115610b8b57610b8b610820565b610b9f81610b998454610acd565b84610b20565b602080601f831160018114610bf25760008415610bbc5750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b178555610b68565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b82811015610c3f57888601518255948401946001909101908401610c20565b5085821015610c7b57878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b600060208284031215610c9d57600080fd5b815161058c816109fe565b600060208284031215610cba57600080fd5b5051919050565b600060208284031215610cd357600080fd5b815167ffffffffffffffff811115610cea57600080fd5b8201601f81018413610cfb57600080fd5b8051610d0961092c8261089e565b818152856020838501011115610d1e57600080fd5b610d2f826020830160208601610964565b95945050505050565b6000808354610d4681610acd565b60018281168015610d5e5760018114610d9157610dc0565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0084168752821515830287019450610dc0565b8760005260208060002060005b85811015610db75781548a820152908401908201610d9e565b50505082870194505b50929695505050505050565b60008251610dde818460208701610964565b919091019291505056fea164736f6c6343000817000a", + "nonce": "0x2", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0xf7ed2a7e29e6dfe6c828256ccab5471f2d6e65d229f4eedc33ee42b59d0c7e51", + "transactionIndex": "0x1", + "blockHash": "0x582cd6a6f8a81be8076ce7ba4fbe15079a961dfab37ac6a1ce79f63b09630f74", + "blockNumber": "0x12dd833", + "from": "0xb72276D9FF15c7998b9962FFCfB21A6C7249441B", + "to": null, + "cumulativeGasUsed": "0x4d59d2", + "gasUsed": "0x4ca2c1", + "contractAddress": "0x3f3DAB3ab8cEc2FBd06767c2A5F66Cb6BFF21A4A", + "logs": [ + { + "address": "0x3f3DAB3ab8cEc2FBd06767c2A5F66Cb6BFF21A4A", + "topics": [ + "0xc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2" + ], + "data": "0x000000000000000000000000000000000000000000000000ffffffffffffffff", + "blockHash": "0x582cd6a6f8a81be8076ce7ba4fbe15079a961dfab37ac6a1ce79f63b09630f74", + "blockNumber": "0x12dd833", + "transactionHash": "0xf7ed2a7e29e6dfe6c828256ccab5471f2d6e65d229f4eedc33ee42b59d0c7e51", + "transactionIndex": "0x1", + "logIndex": "0x0", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000800000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05efc" + }, + { + "transactionHash": "0x585f86bd802caf85ca1e18ed3f219a0eecc6a083003e4223ccea1b9520afc502", + "transactionIndex": "0x2", + "blockHash": "0x582cd6a6f8a81be8076ce7ba4fbe15079a961dfab37ac6a1ce79f63b09630f74", + "blockNumber": "0x12dd833", + "from": "0xb72276D9FF15c7998b9962FFCfB21A6C7249441B", + "to": null, + "cumulativeGasUsed": "0x570542", + "gasUsed": "0x9ab70", + "contractAddress": "0xFBE17545dffD75A92A5A72926AE581478973FE65", + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05efc" + }, + { + "transactionHash": "0x1c9b8b27faeed92b136112930a29dc473a6f7a3254fd3dbf6e3720d118d874ba", + "transactionIndex": "0x3", + "blockHash": "0x582cd6a6f8a81be8076ce7ba4fbe15079a961dfab37ac6a1ce79f63b09630f74", + "blockNumber": "0x12dd833", + "from": "0xb72276D9FF15c7998b9962FFCfB21A6C7249441B", + "to": null, + "cumulativeGasUsed": "0x63f6eb", + "gasUsed": "0xcf1a9", + "contractAddress": "0x088C268cb00226D6A9b29e5488905Aa94D2f0239", + "logs": [ + { + "address": "0x088C268cb00226D6A9b29e5488905Aa94D2f0239", + "topics": [ + "0xc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2" + ], + "data": "0x000000000000000000000000000000000000000000000000ffffffffffffffff", + "blockHash": "0x582cd6a6f8a81be8076ce7ba4fbe15079a961dfab37ac6a1ce79f63b09630f74", + "blockNumber": "0x12dd833", + "transactionHash": "0x1c9b8b27faeed92b136112930a29dc473a6f7a3254fd3dbf6e3720d118d874ba", + "transactionIndex": "0x3", + "logIndex": "0x1", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000800000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000008000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05efc" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1704991492, + "chain": 420, + "multi": false, + "commit": "688208a" +} \ No newline at end of file diff --git a/broadcast/DeployLlamaTokenVotingFactory.s.sol/420/run-latest.json b/broadcast/DeployLlamaTokenVotingFactory.s.sol/420/run-latest.json new file mode 100644 index 0000000..ea12919 --- /dev/null +++ b/broadcast/DeployLlamaTokenVotingFactory.s.sol/420/run-latest.json @@ -0,0 +1,148 @@ +{ + "transactions": [ + { + "hash": "0xf7ed2a7e29e6dfe6c828256ccab5471f2d6e65d229f4eedc33ee42b59d0c7e51", + "transactionType": "CREATE", + "contractName": "LlamaTokenGovernor", + "contractAddress": "0x3f3DAB3ab8cEc2FBd06767c2A5F66Cb6BFF21A4A", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0xb72276d9ff15c7998b9962ffcfb21a6c7249441b", + "gas": "0x6398ff", + "value": "0x0", + "data": "0x60806040523480156200001157600080fd5b506200001c62000022565b620000d6565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff1615620000735760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b0390811614620000d35780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b6159f880620000e66000396000f3fe608060405234801561001057600080fd5b50600436106101da5760003560e01c80637e4a56bb11610104578063b92cdd9a116100a2578063cae3bdff11610071578063cae3bdff1461053d578063dcae21b714610552578063e45061ea14610565578063e5589b9d1461057857600080fd5b8063b92cdd9a146104e4578063b9b2cf6c146104f7578063c193c2691461050a578063c26c12eb1461053557600080fd5b80638734852a116100de5780638734852a1461049857806396ff6e2e146104ab578063a1d9b412146104be578063b3c678b0146104d157600080fd5b80637e4a56bb1461046a5780637ed7238e14610472578063807ad1141461048557600080fd5b80633fed8f161161017c57806359e5332d1161014b57806359e5332d1461036457806364f6b3161461037b5780637186dd9c1461038e57806374f717cd1461044757600080fd5b80633fed8f16146103165780634d61ebf4146103365780634ec0ab1c1461033e578063509c5fbd1461035157600080fd5b806319a39740116101b857806319a397401461025b5780631e127ddf1461026e578063372fa8e8146102c25780633df91222146102d557600080fd5b80630669b1ce146101df57806311f900b5146101f45780631650080714610227575b600080fd5b6101f26101ed366004614a11565b61058b565b005b610207610202366004614a46565b610b79565b6040805161ffff9384168152929091166020830152015b60405180910390f35b61023a610235366004614ac0565b610b90565b6040516fffffffffffffffffffffffffffffffff909116815260200161021e565b6101f2610269366004614a46565b610baa565b6101f261027c366004614b82565b3360009081526007602090815260408083207fffffffff000000000000000000000000000000000000000000000000000000009490941683529290522080546001019055565b6101f26102d0366004614bbd565b610c75565b6102fe6102e3366004614a46565b6005602052600090815260409020546001600160a01b031681565b6040516001600160a01b03909116815260200161021e565b610329610324366004614c31565b610d76565b60405161021e9190614c53565b610207610f4e565b6101f261034c366004614ce2565b610f63565b61023a61035f366004614ac0565b611030565b61036d60025481565b60405190815260200161021e565b6000546102fe906001600160a01b031681565b6103fc61039c366004614a46565b6006602052600090815260409020805460018201546002909201546fffffffffffffffffffffffffffffffff8083169370010000000000000000000000000000000093849004821693818316939181900483169282811692919091041686565b604080516fffffffffffffffffffffffffffffffff978816815295871660208701529386169385019390935290841660608401528316608083015290911660a082015260c00161021e565b61045a610455366004614d23565b611040565b604051901515815260200161021e565b6103296110a9565b61036d610480366004614ea9565b61114c565b6001546102fe906001600160a01b031681565b6101f26104a6366004614f88565b611263565b61023a6104b9366004615066565b6114b5565b61023a6104cc366004615066565b6115c6565b61036d6104df366004615131565b6116c7565b6101f26104f2366004614a11565b61171c565b6101f2610505366004614ce2565b611726565b61036d6105183660046151e2565b600760209081526000928352604080842090915290825290205481565b6102076117ef565b6105456117fc565b60405161021e919061520e565b610545610560366004614c31565b61188f565b6101f2610573366004614a11565b611a4d565b610207610586366004614a46565b612026565b600080546040517fb6e76873000000000000000000000000000000000000000000000000000000008152833560048201526001600160a01b039091169063b6e768739060240161012060405180830381865afa1580156105ef573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061061391906152c8565b9050600060018260a0015161062891906153a6565b67ffffffffffffffff169050600160009054906101000a90046001600160a01b03166001600160a01b031663ae2a6df26040518163ffffffff1660e01b815260040160006040518083038186803b15801561068257600080fd5b505afa158015610696573d6000803e3d6000fd5b505050506000806000806106b485600461203490919063ffffffff16565b909250905060006106cb6080890160608a016153ce565b6001600160a01b031663b02bd9206040518163ffffffff1660e01b8152600401602060405180830381865afa158015610708573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061072c91906153eb565b67ffffffffffffffff16905061271061ffff8416820204818860c0015167ffffffffffffffff16030194506127108261ffff1682028161076e5761076e615406565b04850193508342116107ac576040517f038d8a6a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8660c0015167ffffffffffffffff1642106107f3576040517f08c8d62700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050843560009081526006602052604080822060015491517fcdfda4dd000000000000000000000000000000000000000000000000000000008152600481018690529092916001600160a01b03169063edb8ee5a90829063cdfda4dd90602401602060405180830381865afa158015610871573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108959190615435565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b16815265ffffffffffff9091166004820152602401602060405180830381865afa1580156108f0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610914919061545d565b600183015460028401549192506fffffffffffffffffffffffffffffffff7001000000000000000000000000000000009182900481169291820481169116600061095f60038a6121cd565b9150506000610975868361ffff166127106122d8565b905080856fffffffffffffffffffffffffffffffff1610156109e3576040517fbfb9aa550000000000000000000000000000000000000000000000000000000081526fffffffffffffffffffffffffffffffff86166004820152602481018290526044015b60405180910390fd5b836fffffffffffffffffffffffffffffffff16856fffffffffffffffffffffffffffffffff1611610a5c576040517f8a0df63f0000000000000000000000000000000000000000000000000000000081526fffffffffffffffffffffffffffffffff8087166004830152851660248201526044016109da565b6000610a7b8d6060016020810190610a7491906153ce565b600061231c565b905060008054906101000a90046001600160a01b03166001600160a01b03166394004706828f6040518363ffffffff1660e01b8152600401610abe9291906155b2565b6020604051808303816000875af1158015610add573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b0191906155e8565b50604080518e3581526fffffffffffffffffffffffffffffffff808916602083015280881692820192909252908516606082015260ff82169033907ff5bc433f16cc3d0e9fcb5ac4f8de9f17eb90de1fd2a9ede5952c2097d4ef1a59906080015b60405180910390a350505050505050505050505050565b600080610b87600484612034565b91509150915091565b6000610ba0338787878787612612565b9695505050505050565b60008054906101000a90046001600160a01b03166001600160a01b031663c34c08e56040518163ffffffff1660e01b8152600401602060405180830381865afa158015610bfb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c1f9190615603565b6001600160a01b0316336001600160a01b031614610c69576040517f26bee1ce00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610c7281612c5e565b50565b6000610c818686612e2e565b6040805160008082526020820180845284905260ff88169282019290925260608101869052608081018590529192509060019060a0016020604051602081039080840390855afa158015610cd9573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001519150506001600160a01b0381161580610d2c5750866001600160a01b0316816001600160a01b031614155b15610d63576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610d6d8187612f50565b50505050505050565b60408051602081019091526060815281831115610dbf576040517f2cd4dad300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60045480831115610dfc576040517f2cd4dad300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610e088585615620565b905060008167ffffffffffffffff811115610e2557610e25614d65565b604051908082528060200260200182016040528015610e8e57816020015b60408051606081018252600080825260208083018290529282015282527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff909201910181610e435790505b509050855b85811015610f34576004805482908110610eaf57610eaf615633565b600091825260209182902060408051606081018252919092015465ffffffffffff8116825261ffff660100000000000082048116948301949094526801000000000000000090049092169082015282610f088984615620565b81518110610f1857610f18615633565b6020026020010181905250610f2d8160010190565b9050610e93565b506040805160208101909152908152925050505b92915050565b600080610f5b6004613063565b915091509091565b60008054906101000a90046001600160a01b03166001600160a01b031663c34c08e56040518163ffffffff1660e01b8152600401602060405180830381865afa158015610fb4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fd89190615603565b6001600160a01b0316336001600160a01b031614611022576040517f26bee1ce00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61102c82826130db565b5050565b6000610ba03387878787876131cf565b60008115611077575060008381526006602090815260408083206001600160a01b038616845260030190915290205460ff166110a2565b5060008381526006602090815260408083206001600160a01b038616845260040190915290205460ff165b9392505050565b6040805160208101909152606081526040805160048054602081810284018501855283018181529293919284929091849160009085015b8282101561113f576000848152602090819020604080516060810182529185015465ffffffffffff8116835261ffff660100000000000082048116848601526801000000000000000090910416908201528252600190920191016110e0565b5050505081525050905090565b60008061115f8d8d8d8d8d8d8d8d613714565b6040805160008082526020820180845284905260ff89169282019290925260608101879052608081018690529192509060019060a0016020604051602081039080840390855afa1580156111b7573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001519150506001600160a01b038116158061120a57508d6001600160a01b0316816001600160a01b031614155b15611241576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611251818e8e8e8e8e8e8e613885565b9e9d5050505050505050505050505050565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000810460ff16159067ffffffffffffffff166000811580156112ae5750825b905060008267ffffffffffffffff1660011480156112cb5750303b155b9050811580156112d9575080155b15611310576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b84547fffffffffffffffffffffffffffffffffffffffffffffffff000000000000000016600117855583156113715784547fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff16680100000000000000001785555b886001600160a01b0316639bccfe496040518163ffffffff1660e01b8152600401602060405180830381865afa1580156113af573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113d3919061545d565b50600080546001600160a01b03808c167fffffffffffffffffffffffff00000000000000000000000000000000000000009283161790925560018054928b169290911691909117905561142587612c5e565b611437866000015187602001516130db565b61144986604001518760600151613b89565b83156114aa5784547fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b505050505050505050565b6000806114c68b8b8b8b8b8b613c26565b6040805160008082526020820180845284905260ff89169282019290925260608101879052608081018690529192509060019060a0016020604051602081039080840390855afa15801561151e573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001519150506001600160a01b038116158061157157508b6001600160a01b0316816001600160a01b031614155b156115a8576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6115b6818c8c8c8c8c6131cf565b9c9b505050505050505050505050565b6000806115d78b8b8b8b8b8b613d84565b6040805160008082526020820180845284905260ff89169282019290925260608101879052608081018690529192509060019060a0016020604051602081039080840390855afa15801561162f573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001519150506001600160a01b038116158061168257508b6001600160a01b0316816001600160a01b031614155b156116b9576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6115b6818c8c8c8c8c612612565b600061170f338a8a8a8a8a8a8a8a8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061388592505050565b9998505050505050505050565b610c723382612f50565b60008054906101000a90046001600160a01b03166001600160a01b031663c34c08e56040518163ffffffff1660e01b8152600401602060405180830381865afa158015611777573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061179b9190615603565b6001600160a01b0316336001600160a01b0316146117e5576040517f26bee1ce00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61102c8282613b89565b600080610f5b6003613063565b604080516020810190915260608152604080516003805460208082028401850185528301818152929391928492909184916000908501821561113f576000848152602090819020604080516060810182529185015465ffffffffffff8116835261ffff660100000000000082048116848601526801000000000000000090910416908201528252600190920191016110e0565b604080516020810190915260608152818311156118d8576040517f2cd4dad300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60035480831115611915576040517f2cd4dad300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006119218585615620565b905060008167ffffffffffffffff81111561193e5761193e614d65565b6040519080825280602002602001820160405280156119a757816020015b60408051606081018252600080825260208083018290529282015282527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90920191018161195c5790505b509050855b85811015610f345760038054829081106119c8576119c8615633565b600091825260209182902060408051606081018252919092015465ffffffffffff8116825261ffff660100000000000082048116948301949094526801000000000000000090049092169082015282611a218984615620565b81518110611a3157611a31615633565b6020026020010181905250611a468160010190565b90506119ac565b600080546040517fb6e76873000000000000000000000000000000000000000000000000000000008152833560048201526001600160a01b039091169063b6e768739060240161012060405180830381865afa158015611ab1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ad591906152c8565b9050600060018260a00151611aea91906153a6565b67ffffffffffffffff169050600160009054906101000a90046001600160a01b03166001600160a01b031663ae2a6df26040518163ffffffff1660e01b815260040160006040518083038186803b158015611b4457600080fd5b505afa158015611b58573d6000803e3d6000fd5b50505050600080600080611b7685600461203490919063ffffffff16565b90925090506000611b8d6080890160608a016153ce565b6001600160a01b0316637999762c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611bca573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bee91906153eb565b67ffffffffffffffff16905061271061ffff84168202048760a0015167ffffffffffffffff160194506127108261ffff16820281611c2e57611c2e615406565b0485019350834211611c6c576040517f038d8a6a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b808760a0015167ffffffffffffffff16611c869190615662565b421115611cbf576040517f08c8d62700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050843560009081526006602052604080822060015491517fcdfda4dd000000000000000000000000000000000000000000000000000000008152600481018690529092916001600160a01b03169063edb8ee5a90829063cdfda4dd90602401602060405180830381865afa158015611d3d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d619190615435565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b16815265ffffffffffff9091166004820152602401602060405180830381865afa158015611dbc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611de0919061545d565b825460018401549192506fffffffffffffffffffffffffffffffff808216928116917001000000000000000000000000000000009004166000611e2460038a6121cd565b5090506000611e3a868361ffff166127106122d8565b905080856fffffffffffffffffffffffffffffffff161015611ea3576040517f0425fab10000000000000000000000000000000000000000000000000000000081526fffffffffffffffffffffffffffffffff86166004820152602481018290526044016109da565b836fffffffffffffffffffffffffffffffff16856fffffffffffffffffffffffffffffffff1611611f1c576040517f8a0df63f0000000000000000000000000000000000000000000000000000000081526fffffffffffffffffffffffffffffffff8087166004830152851660248201526044016109da565b6000611f3b8d6060016020810190611f3491906153ce565b600161231c565b905060008054906101000a90046001600160a01b03166001600160a01b03166389e7d126828f6040518363ffffffff1660e01b8152600401611f7e9291906155b2565b6020604051808303816000875af1158015611f9d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fc191906155e8565b50604080518e3581526fffffffffffffffffffffffffffffffff808916602083015280881692820192909252908516606082015260ff82169033907ff23279e924757f3bfe4f543bc1b43685e851d6ace53f8518b806dcd8d42fc13990608001610b62565b600080610b876003846121cd565b6000804283106120c6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f506572696f64506374436865636b706f696e74733a2074696d657374616d702060448201527f6973206e6f7420696e207468652070617374000000000000000000000000000060648201526084016109da565b60006120d184613db3565b855490915060008160058111156121315760006120ed84613dfc565b6120f79085615620565b60008a81526020902090915081015465ffffffffffff90811690861610156121215780915061212f565b61212c816001615662565b92505b505b600061213f89868585613eae565b90508060000361215a576000809650965050505050506121c6565b60006121798a61216b600185615620565b600091825260209091200190565b60408051606081018252915465ffffffffffff8116835261ffff66010000000000008204811660208501819052680100000000000000009092041692909101829052985096505050505050505b9250929050565b60008042831061225f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602f60248201527f51756f72756d436865636b706f696e74733a2074696d657374616d702069732060448201527f6e6f7420696e207468652070617374000000000000000000000000000000000060648201526084016109da565b600061226a84613db3565b855490915060008160058111156122ca57600061228684613dfc565b6122909085615620565b60008a81526020902090915081015465ffffffffffff90811690861610156122ba578091506122c8565b6122c5816001615662565b92505b505b600061213f89868585613f10565b6000827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048411830215820261230d57600080fd5b50910281810615159190040190565b60008054604080517f0505c8c9000000000000000000000000000000000000000000000000000000008152905183926001600160a01b031691630505c8c99160048083019260209291908290030181865afa15801561237f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123a39190615603565b6001600160a01b0316638b2ed3886040518163ffffffff1660e01b8152600401602060405180830381865afa1580156123e0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124049190615675565b905060015b8160ff16811161253b57836124a1576040517fc167ebae00000000000000000000000000000000000000000000000000000000815260ff821660048201526001600160a01b0386169063c167ebae90602401602060405180830381865afa158015612478573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061249c9190615692565b612525565b6040517ffb847c4300000000000000000000000000000000000000000000000000000000815260ff821660048201526001600160a01b0386169063fb847c4390602401602060405180830381865afa158015612501573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125259190615692565b15612533579150610f489050565b600101612409565b50826125a857836001600160a01b03166312a52f006040518163ffffffff1660e01b8152600401602060405180830381865afa15801561257f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125a39190615675565b61260a565b836001600160a01b03166366cacdc96040518163ffffffff1660e01b8152600401602060405180830381865afa1580156125e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061260a9190615675565b949350505050565b600080546040517fb6e768730000000000000000000000000000000000000000000000000000000081528635600482015282916001600160a01b03169063b6e768739060240161012060405180830381865afa158015612676573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061269a91906152c8565b9050600060018260a001516126af91906153a6565b8735600090815260066020526040902067ffffffffffffffff9190911691506126de6080890160608a016153ce565b6001600160a01b03166302674e4b89308c6040518463ffffffff1660e01b815260040161270d939291906156af565b60006040518083038186803b15801561272557600080fd5b505afa158015612739573d6000803e3d6000fd5b505050506001600160a01b038a16600090815260048201602052604090205460ff1615612792576040517f9dd6544b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6127a0888a89600486613f6a565b60008080806127b0600487612034565b909250905060006127c760808e0160608f016153ce565b6001600160a01b031663b02bd9206040518163ffffffff1660e01b8152600401602060405180830381865afa158015612804573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061282891906153eb565b67ffffffffffffffff16905061271061ffff8416820204818960c0015167ffffffffffffffff16030194506127108261ffff1682028161286a5761286a615406565b04850193508442116128a8576040517fd0b72b4900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b834211156128e2576040517f5b73d19300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050506000612a25600160009054906101000a90046001600160a01b03166001600160a01b0316639556de738f600160009054906101000a90046001600160a01b03166001600160a01b031663cdfda4dd886040518263ffffffff1660e01b815260040161295291815260200190565b602060405180830381865afa15801561296f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906129939190615435565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b1681526001600160a01b03909216600483015265ffffffffffff166024820152604401602060405180830381865afa1580156129fc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a20919061545d565b61425e565b905060ff8a16612a9e576002840154612a649070010000000000000000000000000000000090046fffffffffffffffffffffffffffffffff16826142ad565b6002850180546fffffffffffffffffffffffffffffffff928316700100000000000000000000000000000000029216919091179055612bc6565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60ff8b1601612b37576001840154612afd9070010000000000000000000000000000000090046fffffffffffffffffffffffffffffffff16826142ad565b6001850180546fffffffffffffffffffffffffffffffff928316700100000000000000000000000000000000029216919091179055612bc6565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe60ff8b1601612bc6576002840154612b82906fffffffffffffffffffffffffffffffff16826142ad565b6002850180547fffffffffffffffffffffffffffffffff00000000000000000000000000000000166fffffffffffffffffffffffffffffffff929092169190911790555b6001600160a01b038d1660008181526004860160205260409081902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790555160ff8c1691907f4e3e2ad68670a2709cb408c31c5afd8da0b6d3d06c75b11feb404a455639fe7c90612c46908f359086908f908f90615713565b60405180910390a39c9b505050505050505050505050565b60018054604080517f91ddadf400000000000000000000000000000000000000000000000000000000815290516000936001600160a01b039093169263edb8ee5a92909184916391ddadf49160048083019260209291908290030181865afa158015612cce573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612cf29190615435565b612cfc9190615745565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b16815265ffffffffffff9091166004820152602401602060405180830381865afa158015612d57573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612d7b919061545d565b905080600003612db7576040517f34bbd58500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80821115612df1576040517f8a5e746800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60028290556040518281527fd91a985c173545ab0e0bd11c021a1ae84c1ea6eab9350d9bf3812d5b8bff49a4906020015b60405180910390a15050565b6000807f6da9390b4f29da2c44fa5a9da00b392393d01e989d16e4a3dec5a538318e352584612e5c856142f4565b6001600160a01b03871660009081526007602090815260408083207fffffffff00000000000000000000000000000000000000000000000000000000843516845290915290208054600181019091556040805160208101959095526001600160a01b03909316928401929092526060830152608082015260a001604051602081830303815290604052805190602001209050612ef66143eb565b6040517f190100000000000000000000000000000000000000000000000000000000000060208201526022810191909152604281018290526062016040516020818303038152906040528051906020012091505092915050565b80356000908152600560205260409020546001600160a01b03838116911614612fa5576040517f86ba025600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000546040517fb92cdd9a0000000000000000000000000000000000000000000000000000000081526001600160a01b039091169063b92cdd9a90612fee908490600401615764565b600060405180830381600087803b15801561300857600080fd5b505af115801561301c573d6000803e3d6000fd5b5050604051833581526001600160a01b03851692507fdcccc5725b7256a6975da00de8953e5d326756a3079d203ff6df9e52331f411a915060200160405180910390a25050565b8054600090819080820361307d5750600093849350915050565b600061308e8561216b600185615620565b60408051606081018252915465ffffffffffff8116835261ffff66010000000000008204811660208501819052680100000000000000009092041692909101829052969095509350505050565b6127108261ffff1611806130f1575061ffff8216155b1561312e576040517f8f6febc000000000000000000000000000000000000000000000000000000000815261ffff831660048201526024016109da565b6127108161ffff161180613144575061ffff8116155b15613181576040517f3bec511c00000000000000000000000000000000000000000000000000000000815261ffff821660048201526024016109da565b613194600361ffff80851690841661454d565b6040805161ffff8085168252831660208201527f77c3f43700db02acb49792bbf699b39f72c2ed4b920bd5c0b1843dcd7c832f4c9101612e22565b600080546040517fb6e768730000000000000000000000000000000000000000000000000000000081528635600482015282916001600160a01b03169063b6e768739060240161012060405180830381865afa158015613233573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061325791906152c8565b9050600060018260a0015161326c91906153a6565b8735600090815260066020526040902067ffffffffffffffff91909116915061329b6080890160608a016153ce565b6001600160a01b0316631a2a4e7789308c6040518463ffffffff1660e01b81526004016132ca939291906156af565b60006040518083038186803b1580156132e257600080fd5b505afa1580156132f6573d6000803e3d6000fd5b505050506001600160a01b038a16600090815260038201602052604090205460ff161561334f576040517f9dd6544b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61335d888a89600086613f6a565b600080808061336d600487612034565b9092509050600061338460808e0160608f016153ce565b6001600160a01b0316637999762c6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156133c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906133e591906153eb565b67ffffffffffffffff16905061271061ffff84168202048860a0015167ffffffffffffffff160194506127108261ffff1682028161342557613425615406565b0485019350844211613463576040517fd0b72b4900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8342111561349d576040517f5b73d19300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050600061350d600160009054906101000a90046001600160a01b03166001600160a01b0316639556de738f600160009054906101000a90046001600160a01b03166001600160a01b031663cdfda4dd886040518263ffffffff1660e01b815260040161295291815260200190565b905060ff8a16613580576001840154613538906fffffffffffffffffffffffffffffffff16826142ad565b6001850180547fffffffffffffffffffffffffffffffff00000000000000000000000000000000166fffffffffffffffffffffffffffffffff92909216919091179055613694565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60ff8b16016136095783546135c8906fffffffffffffffffffffffffffffffff16826142ad565b84547fffffffffffffffffffffffffffffffff00000000000000000000000000000000166fffffffffffffffffffffffffffffffff91909116178455613694565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe60ff8b16016136945783546136659070010000000000000000000000000000000090046fffffffffffffffffffffffffffffffff16826142ad565b84546fffffffffffffffffffffffffffffffff9182167001000000000000000000000000000000000291161784555b6001600160a01b038d1660008181526003860160205260409081902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790555160ff8c1691907f761cce3a1af5d9cfc0d57222f605ce4bd2be345f0ad9ebb7b83a84a91a0c201490612c46908f359086908f908f90615713565b6001600160a01b03881660009081526007602090815260408083207fffffffff000000000000000000000000000000000000000000000000000000008435168452909152812080546001810190915560007fd1fab1c7b3b37134662e5867b00e272eb49f7be0a890df29e802c3cc66c06f838b8b8b8b8b8b8b60405161379b929190615777565b604080519182900382208c516020808f0191909120908401999099526001600160a01b039788169183019190915260ff90951660608201529285166080840152931660a082015260c081019290925260e08201526101008101919091526101208101839052610140016040516020818303038152906040528051906020012090506138246143eb565b6040517f19010000000000000000000000000000000000000000000000000000000000006020820152602281019190915260428101829052606201604051602081830303815290604052805190602001209250505098975050505050505050565b600154604080517fae2a6df200000000000000000000000000000000000000000000000000000000815290516000926001600160a01b03169163ae2a6df29160048083019286929190829003018186803b1580156138e257600080fd5b505afa1580156138f6573d6000803e3d6000fd5b505060018054604080517f91ddadf40000000000000000000000000000000000000000000000000000000081529051600095506001600160a01b039092169350639556de73928e92909185916391ddadf4916004808201926020929091908290030181865afa15801561396d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906139919190615435565b61399b9190615745565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b1681526001600160a01b03909216600483015265ffffffffffff166024820152604401602060405180830381865afa158015613a04573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613a28919061545d565b9050600254811015613a69576040517f92665351000000000000000000000000000000000000000000000000000000008152600481018290526024016109da565b6000546040517fb3c678b00000000000000000000000000000000000000000000000000000000081526001600160a01b039091169063b3c678b090613abe908c908c908c908c908c908c908c906004016157ab565b6020604051808303816000875af1158015613add573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613b01919061545d565b60008181526005602090815260409182902080547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b038f16908117909155915183815292945090917f1834dfd49255741a8ce9a9bd66b91b64d13622e1d8170e4c78ac91f9ec50a542910160405180910390a25098975050505050505050565b612710613b96828461583b565b61ffff1610613bdf576040517f519dd38400000000000000000000000000000000000000000000000000000000815261ffff8084166004830152821660248201526044016109da565b613beb60048383614576565b6040805161ffff8085168252831660208201527f8df7bdcce333d9e1b85e40782fb2f293c805761d3f48aaea58865e9541e44c709101612e22565b6000807fd7be168a3509af358f222ee35ee76aba47bc5fc2c35061cdce3958f510b7b1b28888613c55896142f4565b888888604051613c66929190615777565b60408051918290039091206001600160a01b038f166000908152600760209081528382207fffffffff0000000000000000000000000000000000000000000000000000000083351683529052919091208054600181019091556040805160208101989098526001600160a01b039096169587019590955260ff938416606087015260808601929092529190911660a084015260c083015260e082015261010001604051602081830303815290604052805190602001209050613d266143eb565b6040517f19010000000000000000000000000000000000000000000000000000000000006020820152602281019190915260428101829052606201604051602081830303815290604052805190602001209150509695505050505050565b6000807fa87058c5a9888e7af4405a932381d5a4612c61354bc3e52e9ea361ba17703fb38888613c55896142f4565b600065ffffffffffff821115613df8576040517fc0188c4f000000000000000000000000000000000000000000000000000000008152600481018390526024016109da565b5090565b60b581710100000000000000000000000000000000008110613e235760409190911b9060801c5b69010000000000000000008110613e3f5760209190911b9060401c5b650100000000008110613e575760109190911b9060201c5b63010000008110613e6d5760089190911b9060101c5b62010000010260121c80820401600190811c80830401811c80830401811c80830401811c80830401811c80830401811c80830401901c908190048111900390565b60005b81831015613f08576000613ec584846145a2565b60008781526020902090915065ffffffffffff86169082015465ffffffffffff161115613ef457809250613f02565b613eff816001615662565b93505b50613eb1565b509392505050565b60005b81831015613f08576000613f2784846145a2565b60008781526020902090915065ffffffffffff86169082015465ffffffffffff161115613f5657809250613f64565b613f61816001615662565b93505b50613f13565b600260ff84161115613fad576040517ffe0e5d8b00000000000000000000000000000000000000000000000000000000815260ff841660048201526024016109da565b600080546040517fec12d8be0000000000000000000000000000000000000000000000000000000081526001600160a01b039091169063ec12d8be90613ff7908990600401615764565b602060405180830381865afa158015614014573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906140389190615675565b60ff16600681111561404c5761404c6156e4565b9050826006811115614060576140606156e4565b816006811115614072576140726156e4565b146140ab57806040517f87afe58e0000000000000000000000000000000000000000000000000000000081526004016109da9190615856565b60008060009054906101000a90046001600160a01b03166001600160a01b0316630505c8c96040518163ffffffff1660e01b8152600401602060405180830381865afa1580156140ff573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906141239190615603565b6040517fe0bec07600000000000000000000000000000000000000000000000000000000815230600482015260ff88166024820152604481018590526001600160a01b03919091169063e0bec07690606401602060405180830381865afa158015614192573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906141b69190615692565b9050806141ef576040517f88aebd1200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600160009054906101000a90046001600160a01b03166001600160a01b031663ae2a6df26040518163ffffffff1660e01b815260040160006040518083038186803b15801561423d57600080fd5b505afa158015614251573d6000803e3d6000fd5b5050505050505050505050565b60006fffffffffffffffffffffffffffffffff821115613df8576040517fc0188c4f000000000000000000000000000000000000000000000000000000008152600481018390526024016109da565b60006fffffffffffffffffffffffffffffffff6142ce838216858316615662565b106142ea57506fffffffffffffffffffffffffffffffff610f48565b6110a28284615897565b60007f86b4555c6e347ea3f038485b59b894986c208b67da7e65fcfa3707271608465f823561432960408501602086016153ce565b61433960608601604087016158c0565b61434960808701606088016153ce565b61435960a08801608089016153ce565b60a088013561436b60c08a018a6158dd565b604051614379929190615777565b6040805191829003822060208301999099528101969096526001600160a01b03948516606087015260ff909316608086015290831660a08501529190911660c083015260e082015261010081019190915261012001604051602081830303815290604052805190602001209050919050565b60008054604080517f06fdde0300000000000000000000000000000000000000000000000000000000815290517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f926001600160a01b0316916306fdde0391600480830192879291908290030181865afa15801561446d573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526144b39190810190615942565b8051602091820120604080518082018252600181527f310000000000000000000000000000000000000000000000000000000000000090840152805192830193909352918101919091527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a082015260c00160405160208183030381529060405280519060200120905090565b6145718361455a42613db3565b614563856145bd565b61456c856145bd565b6145fe565b505050565b6145718361458342613db3565b6145908561ffff166145bd565b61459d8561ffff166145bd565b614909565b60006145b160028484186159b0565b6110a290848416615662565b600061ffff821115613df8576040517fc0188c4f000000000000000000000000000000000000000000000000000000008152600481018390526024016109da565b835480156148475760006146178661216b600185615620565b60408051606081018252915465ffffffffffff80821680855261ffff66010000000000008404811660208701526801000000000000000090930490921692840192909252919250861610156146ed576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f51756f72756d20436865636b706f696e743a20696e76616c69642074696d657360448201527f74616d700000000000000000000000000000000000000000000000000000000060648201526084016109da565b805165ffffffffffff8087169116036147865760006147118761216b600186615620565b805461ffff86811668010000000000000000027fffffffffffffffffffffffffffffffffffffffffffff0000ffffffffffffffff918916660100000000000002919091167fffffffffffffffffffffffffffffffffffffffffffff00000000ffffffffffff9092169190911717905550614841565b6040805160608101825265ffffffffffff808816825261ffff80881660208085019182528883169585019586528b54600181018d5560008d81529190912094519401805491519551831668010000000000000000027fffffffffffffffffffffffffffffffffffffffffffff0000ffffffffffffffff969093166601000000000000027fffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000909216949093169390931792909217929092161790555b50614902565b6040805160608101825265ffffffffffff808716825261ffff80871660208085019182528783169585019586528a54600181018c5560008c81529190912094519401805491519551831668010000000000000000027fffffffffffffffffffffffffffffffffffffffffffff0000ffffffffffffffff969093166601000000000000027fffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000909216949093169390931792909217929092161790555b5050505050565b835480156148475760006149228661216b600185615620565b60408051606081018252915465ffffffffffff80821680855261ffff66010000000000008404811660208701526801000000000000000090930490921692840192909252919250861610156146ed576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602860248201527f506572696f642050637420436865636b706f696e743a20696e76616c6964207460448201527f696d657374616d7000000000000000000000000000000000000000000000000060648201526084016109da565b600060e08284031215614a0b57600080fd5b50919050565b600060208284031215614a2357600080fd5b813567ffffffffffffffff811115614a3a57600080fd5b61260a848285016149f9565b600060208284031215614a5857600080fd5b5035919050565b60ff81168114610c7257600080fd5b8035614a7981614a5f565b919050565b60008083601f840112614a9057600080fd5b50813567ffffffffffffffff811115614aa857600080fd5b6020830191508360208285010111156121c657600080fd5b600080600080600060808688031215614ad857600080fd5b8535614ae381614a5f565b9450602086013567ffffffffffffffff80821115614b0057600080fd5b614b0c89838a016149f9565b955060408801359150614b1e82614a5f565b90935060608701359080821115614b3457600080fd5b50614b4188828901614a7e565b969995985093965092949392505050565b80357fffffffff0000000000000000000000000000000000000000000000000000000081168114614a7957600080fd5b600060208284031215614b9457600080fd5b6110a282614b52565b6001600160a01b0381168114610c7257600080fd5b8035614a7981614b9d565b600080600080600060a08688031215614bd557600080fd5b8535614be081614b9d565b9450602086013567ffffffffffffffff811115614bfc57600080fd5b614c08888289016149f9565b9450506040860135614c1981614a5f565b94979396509394606081013594506080013592915050565b60008060408385031215614c4457600080fd5b50508035926020909101359150565b60208082528251828201829052805160408401819052600092916060919083019082860190855b81811015614cc357614cb3838551805165ffffffffffff16825260208082015161ffff9081169184019190915260409182015116910152565b9285019291840191600101614c7a565b5090979650505050505050565b803561ffff81168114614a7957600080fd5b60008060408385031215614cf557600080fd5b614cfe83614cd0565b9150614d0c60208401614cd0565b90509250929050565b8015158114610c7257600080fd5b600080600060608486031215614d3857600080fd5b833592506020840135614d4a81614b9d565b91506040840135614d5a81614d15565b809150509250925092565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051610120810167ffffffffffffffff81118282101715614db857614db8614d65565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715614e0557614e05614d65565b604052919050565b600067ffffffffffffffff821115614e2757614e27614d65565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b600082601f830112614e6457600080fd5b8135614e77614e7282614e0d565b614dbe565b818152846020838601011115614e8c57600080fd5b816020850160208301376000918101602001919091529392505050565b60008060008060008060008060008060006101408c8e031215614ecb57600080fd5b614ed48c614bb2565b9a50614ee260208d01614a6e565b9950614ef060408d01614bb2565b9850614efe60608d01614bb2565b975060808c0135965067ffffffffffffffff8060a08e01351115614f2157600080fd5b614f318e60a08f01358f01614a7e565b909750955060c08d0135811015614f4757600080fd5b50614f588d60c08e01358e01614e53565b9350614f6660e08d01614a6e565b92506101008c013591506101208c013590509295989b509295989b9093969950565b60008060008084860360e0811215614f9f57600080fd5b8535614faa81614b9d565b94506020860135614fba81614b9d565b93506040860135925060807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa082011215614ff357600080fd5b506040516080810181811067ffffffffffffffff8211171561501757615017614d65565b60405261502660608701614cd0565b815261503460808701614cd0565b602082015261504560a08701614cd0565b604082015261505660c08701614cd0565b6060820152939692955090935050565b60008060008060008060008060006101008a8c03121561508557600080fd5b893561509081614b9d565b985060208a01356150a081614a5f565b975060408a013567ffffffffffffffff808211156150bd57600080fd5b6150c98d838e016149f9565b985060608c013591506150db82614a5f565b90965060808b013590808211156150f157600080fd5b506150fe8c828d01614a7e565b90965094505060a08a013561511281614a5f565b8093505060c08a0135915060e08a013590509295985092959850929598565b60008060008060008060008060c0898b03121561514d57600080fd5b883561515881614a5f565b9750602089013561516881614b9d565b9650604089013561517881614b9d565b955060608901359450608089013567ffffffffffffffff8082111561519c57600080fd5b6151a88c838d01614a7e565b909650945060a08b01359150808211156151c157600080fd5b506151ce8b828c01614a7e565b999c989b5096995094979396929594505050565b600080604083850312156151f557600080fd5b823561520081614b9d565b9150614d0c60208401614b52565b60208082528251828201829052805160408401819052600092916060919083019082860190855b81811015614cc35761526e838551805165ffffffffffff16825260208082015161ffff9081169184019190915260409182015116910152565b9285019291840191600101615235565b8051614a7981614d15565b8051614a7981614b9d565b805167ffffffffffffffff81168114614a7957600080fd5b80516bffffffffffffffffffffffff81168114614a7957600080fd5b600061012082840312156152db57600080fd5b6152e3614d94565b825181526152f36020840161527e565b60208201526153046040840161527e565b60408201526153156060840161527e565b606082015261532660808401615289565b608082015261533760a08401615294565b60a082015261534860c08401615294565b60c082015261535960e084016152ac565b60e082015261010061536c8185016152ac565b908201529392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b67ffffffffffffffff8281168282160390808211156153c7576153c7615377565b5092915050565b6000602082840312156153e057600080fd5b81356110a281614b9d565b6000602082840312156153fd57600080fd5b6110a282615294565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006020828403121561544757600080fd5b815165ffffffffffff811681146110a257600080fd5b60006020828403121561546f57600080fd5b5051919050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b80358252600060208201356154d381614b9d565b6001600160a01b0390811660208501526040830135906154f282614a5f565b60ff821660408601526060840135915061550b82614b9d565b908116606085015260808301359061552282614b9d565b16608084015260a0828101359084015260c0820135368390037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe101811261556857600080fd5b820160208101903567ffffffffffffffff81111561558557600080fd5b80360382131561559457600080fd5b60e060c08601526155a960e086018284615476565b95945050505050565b60ff831681526060602082015260006155ce60608301846154bf565b828103604084015260008152602081019150509392505050565b6000602082840312156155fa57600080fd5b6110a2826152ac565b60006020828403121561561557600080fd5b81516110a281614b9d565b81810381811115610f4857610f48615377565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b80820180821115610f4857610f48615377565b60006020828403121561568757600080fd5b81516110a281614a5f565b6000602082840312156156a457600080fd5b81516110a281614d15565b6060815260006156c260608301866154bf565b90506001600160a01b038416602083015260ff83166040830152949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b8481526fffffffffffffffffffffffffffffffff84166020820152606060408201526000610ba0606083018486615476565b65ffffffffffff8281168282160390808211156153c7576153c7615377565b6020815260006110a260208301846154bf565b8183823760009101908152919050565b60005b838110156157a257818101518382015260200161578a565b50506000910152565b60ff8816815260006001600160a01b03808916602084015280881660408401525085606083015260c060808301526157e760c083018587615476565b82810360a08401528351808252615805816020840160208801615787565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016016020019998505050505050505050565b61ffff8181168382160190808211156153c7576153c7615377565b6020810160078310615891577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b91905290565b6fffffffffffffffffffffffffffffffff8181168382160190808211156153c7576153c7615377565b6000602082840312156158d257600080fd5b81356110a281614a5f565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261591257600080fd5b83018035915067ffffffffffffffff82111561592d57600080fd5b6020019150368190038213156121c657600080fd5b60006020828403121561595457600080fd5b815167ffffffffffffffff81111561596b57600080fd5b8201601f8101841361597c57600080fd5b805161598a614e7282614e0d565b81815285602083850101111561599f57600080fd5b6155a9826020830160208601615787565b6000826159e6577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b50049056fea164736f6c6343000817000a", + "nonce": "0x0", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x585f86bd802caf85ca1e18ed3f219a0eecc6a083003e4223ccea1b9520afc502", + "transactionType": "CREATE", + "contractName": "LlamaTokenVotingFactory", + "contractAddress": "0xFBE17545dffD75A92A5A72926AE581478973FE65", + "function": null, + "arguments": [ + "0x3f3DAB3ab8cEc2FBd06767c2A5F66Cb6BFF21A4A" + ], + "transaction": { + "type": "0x02", + "from": "0xb72276d9ff15c7998b9962ffcfb21a6c7249441b", + "gas": "0xc9127", + "value": "0x0", + "data": "0x60a060405234801561001057600080fd5b50604051610b16380380610b1683398101604081905261002f91610040565b6001600160a01b0316608052610070565b60006020828403121561005257600080fd5b81516001600160a01b038116811461006957600080fd5b9392505050565b608051610a8561009160003960008181604001526104390152610a856000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c806321618ea41461003b5780633ec857a51461008b575b600080fd5b6100627f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b61006261009936600461087b565b600080338360000151846040015185606001516040516020016100bf9493929190610959565b60405160208183030381529060405280519060200120905060006100e7846020015183610622565b60408086015190517f439fab9100000000000000000000000000000000000000000000000000000000815291925073ffffffffffffffffffffffffffffffffffffffff83169163439fab919161013f916004016109b9565b6020604051808303816000875af115801561015e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101829190610a0a565b50600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1663fc0c546a6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156101e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061020a9190610a33565b73ffffffffffffffffffffffffffffffffffffffff1603610257576040517f65f5b03400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517fcdfda4dd00000000000000000000000000000000000000000000000000000000815242600482015273ffffffffffffffffffffffffffffffffffffffff82169063cdfda4dd90602401602060405180830381865afa1580156102c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102e59190610a50565b65ffffffffffff16600003610326576040517f65f5b03400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff166391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865afa158015610371573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103959190610a50565b65ffffffffffff166000036103d6576040517f65f5b03400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1663ae2a6df26040518163ffffffff1660e01b815260040160006040518083038186803b15801561041c57600080fd5b505afa158015610430573d6000803e3d6000fd5b5050505061045e7f000000000000000000000000000000000000000000000000000000000000000083610622565b8451608086015160a0870151604080517f8734852a00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff948516600482015286851660248201526044810193909352815161ffff908116606485015260208301518116608485015290820151811660a48401526060909101511660c4820152919450841690638734852a9060e401600060405180830381600087803b15801561051757600080fd5b505af115801561052b573d6000803e3d6000fd5b505050508073ffffffffffffffffffffffffffffffffffffffff1663fc0c546a6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561057a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061059e9190610a33565b84516020808701516060808901516040805173ffffffffffffffffffffffffffffffffffffffff94851681528885169581019590955284015287821690830152466080830152928316929091169033907f4c8bb78cb1c62e64cef39fc4b4a1864d1a331a28c7bd59a67fe969cc8ab715879060a00160405180910390a45050919050565b6000763d602d80600a3d3981f3363d3d373d3d3d363d730000008360601b60e81c176000526e5af43d82803e903d91602b57fd5bf38360781b1760205281603760096000f5905073ffffffffffffffffffffffffffffffffffffffff81166106b6576040517fc2f868f400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405160c0810167ffffffffffffffff8111828210171561070e5761070e6106bc565b60405290565b73ffffffffffffffffffffffffffffffffffffffff8116811461073657600080fd5b50565b600082601f83011261074a57600080fd5b813567ffffffffffffffff80821115610765576107656106bc565b604051601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011681019082821181831017156107ab576107ab6106bc565b816040528381528660208588010111156107c457600080fd5b836020870160208301376000602085830101528094505050505092915050565b803561ffff811681146107f657600080fd5b919050565b60006080828403121561080d57600080fd5b6040516080810181811067ffffffffffffffff82111715610830576108306106bc565b60405290508061083f836107e4565b815261084d602084016107e4565b602082015261085e604084016107e4565b604082015261086f606084016107e4565b60608201525092915050565b60006020828403121561088d57600080fd5b813567ffffffffffffffff808211156108a557600080fd5b9083019061012082860312156108ba57600080fd5b6108c26106eb565b82356108cd81610714565b815260208301356108dd81610714565b60208201526040830135828111156108f457600080fd5b61090087828601610739565b60408301525060608301356060820152608083013560808201526109278660a085016107fb565b60a082015295945050505050565b60005b83811015610950578181015183820152602001610938565b50506000910152565b60007fffffffffffffffffffffffffffffffffffffffff000000000000000000000000808760601b168352808660601b1660148401525083516109a3816028850160208801610935565b6028920191820192909252604801949350505050565b60208152600082518060208401526109d8816040850160208701610935565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169190910160400192915050565b600060208284031215610a1c57600080fd5b81518015158114610a2c57600080fd5b9392505050565b600060208284031215610a4557600080fd5b8151610a2c81610714565b600060208284031215610a6257600080fd5b815165ffffffffffff81168114610a2c57600080fdfea164736f6c6343000817000a0000000000000000000000003f3dab3ab8cec2fbd06767c2a5f66cb6bff21a4a", + "nonce": "0x1", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x1c9b8b27faeed92b136112930a29dc473a6f7a3254fd3dbf6e3720d118d874ba", + "transactionType": "CREATE", + "contractName": "LlamaTokenAdapterVotesTimestamp", + "contractAddress": "0x088C268cb00226D6A9b29e5488905Aa94D2f0239", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0xb72276d9ff15c7998b9962ffcfb21a6c7249441b", + "gas": "0x10d28c", + "value": "0x0", + "data": "0x608060405234801561001057600080fd5b5061001961001e565b6100d0565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff161561006e5760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b03908116146100cd5780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b610df5806100df6000396000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c8063ae2a6df21161005b578063ae2a6df21461010a578063cdfda4dd14610114578063edb8ee5a14610127578063fc0c546a1461013a57600080fd5b8063439fab911461008d5780634bf5d7e9146100b557806391ddadf4146100ca5780639556de73146100e9575b600080fd5b6100a061009b3660046108e4565b61017f565b60405190151581526020015b60405180910390f35b6100bd6103a1565b6040516100ac9190610988565b6100d261042f565b60405165ffffffffffff90911681526020016100ac565b6100fc6100f7366004610a12565b6104e9565b6040519081526020016100ac565b610112610593565b005b6100d2610122366004610a4b565b6105ef565b6100fc610135366004610a64565b610600565b60005461015a9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100ac565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0080546000919068010000000000000000810460ff16159067ffffffffffffffff1683811580156101cd5750825b905060008267ffffffffffffffff1660011480156101ea5750303b155b9050811580156101f8575080155b1561022f576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b84547fffffffffffffffffffffffffffffffffffffffffffffffff000000000000000016600117855583156102905784547fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff16680100000000000000001785555b6000878060200190518101906102a69190610a81565b8051600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff90921691909117905560408051808201909152600e81527f6d6f64653d74696d657374616d7000000000000000000000000000000000000060208201529091506001906103309082610b71565b50600196505083156103975784547fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b5050505050919050565b600180546103ae90610acd565b80601f01602080910402602001604051908101604052809291908181526020018280546103da90610acd565b80156104275780601f106103fc57610100808354040283529160200191610427565b820191906000526020600020905b81548152906001019060200180831161040a57829003601f168201915b505050505081565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156104d7575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682019092526104d491810190610c8b565b60015b6104e4576104e44261069b565b905090565b600080546040517f3a46b1a800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff858116600483015265ffffffffffff8516602483015290911690633a46b1a890604401602060405180830381865afa158015610568573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061058c9190610ca8565b9392505050565b600061059d6106e8565b905060006105a9610712565b905081806105b45750805b156105eb576040517f6ff0714000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050565b60006105fa8261069b565b92915050565b600080546040517f8e539e8c00000000000000000000000000000000000000000000000000000000815265ffffffffffff8416600482015273ffffffffffffffffffffffffffffffffffffffff90911690638e539e8c90602401602060405180830381865afa158015610677573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105fa9190610ca8565b600065ffffffffffff8211156106e4576040517fc0188c4f0000000000000000000000000000000000000000000000000000000081526004810183905260240160405180910390fd5b5090565b60006106f34261069b565b65ffffffffffff1661070361042f565b65ffffffffffff161415905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16634bf5d7e96040518163ffffffff1660e01b8152600401600060405180830381865afa9250505080156107bf57506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526107bc9190810190610cc1565b60015b6107c95750600090565b60016040516020016107db9190610d38565b60405160208183030381529060405280519060200120816040516020016108029190610dcc565b60405160208183030381529060405280519060200120141591505090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff8111828210171561089657610896610820565b604052919050565b600067ffffffffffffffff8211156108b8576108b8610820565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b6000602082840312156108f657600080fd5b813567ffffffffffffffff81111561090d57600080fd5b8201601f8101841361091e57600080fd5b803561093161092c8261089e565b61084f565b81815285602083850101111561094657600080fd5b81602084016020830137600091810160200191909152949350505050565b60005b8381101561097f578181015183820152602001610967565b50506000910152565b60208152600082518060208401526109a7816040850160208701610964565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169190910160400192915050565b73ffffffffffffffffffffffffffffffffffffffff811681146109fb57600080fd5b50565b65ffffffffffff811681146109fb57600080fd5b60008060408385031215610a2557600080fd5b8235610a30816109d9565b91506020830135610a40816109fe565b809150509250929050565b600060208284031215610a5d57600080fd5b5035919050565b600060208284031215610a7657600080fd5b813561058c816109fe565b600060208284031215610a9357600080fd5b6040516020810181811067ffffffffffffffff82111715610ab657610ab6610820565b6040528251610ac4816109d9565b81529392505050565b600181811c90821680610ae157607f821691505b602082108103610b1a577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b601f821115610b6c576000816000526020600020601f850160051c81016020861015610b495750805b601f850160051c820191505b81811015610b6857828155600101610b55565b5050505b505050565b815167ffffffffffffffff811115610b8b57610b8b610820565b610b9f81610b998454610acd565b84610b20565b602080601f831160018114610bf25760008415610bbc5750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b178555610b68565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b82811015610c3f57888601518255948401946001909101908401610c20565b5085821015610c7b57878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b600060208284031215610c9d57600080fd5b815161058c816109fe565b600060208284031215610cba57600080fd5b5051919050565b600060208284031215610cd357600080fd5b815167ffffffffffffffff811115610cea57600080fd5b8201601f81018413610cfb57600080fd5b8051610d0961092c8261089e565b818152856020838501011115610d1e57600080fd5b610d2f826020830160208601610964565b95945050505050565b6000808354610d4681610acd565b60018281168015610d5e5760018114610d9157610dc0565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0084168752821515830287019450610dc0565b8760005260208060002060005b85811015610db75781548a820152908401908201610d9e565b50505082870194505b50929695505050505050565b60008251610dde818460208701610964565b919091019291505056fea164736f6c6343000817000a", + "nonce": "0x2", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0xf7ed2a7e29e6dfe6c828256ccab5471f2d6e65d229f4eedc33ee42b59d0c7e51", + "transactionIndex": "0x1", + "blockHash": "0x582cd6a6f8a81be8076ce7ba4fbe15079a961dfab37ac6a1ce79f63b09630f74", + "blockNumber": "0x12dd833", + "from": "0xb72276D9FF15c7998b9962FFCfB21A6C7249441B", + "to": null, + "cumulativeGasUsed": "0x4d59d2", + "gasUsed": "0x4ca2c1", + "contractAddress": "0x3f3DAB3ab8cEc2FBd06767c2A5F66Cb6BFF21A4A", + "logs": [ + { + "address": "0x3f3DAB3ab8cEc2FBd06767c2A5F66Cb6BFF21A4A", + "topics": [ + "0xc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2" + ], + "data": "0x000000000000000000000000000000000000000000000000ffffffffffffffff", + "blockHash": "0x582cd6a6f8a81be8076ce7ba4fbe15079a961dfab37ac6a1ce79f63b09630f74", + "blockNumber": "0x12dd833", + "transactionHash": "0xf7ed2a7e29e6dfe6c828256ccab5471f2d6e65d229f4eedc33ee42b59d0c7e51", + "transactionIndex": "0x1", + "logIndex": "0x0", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000800000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05efc" + }, + { + "transactionHash": "0x585f86bd802caf85ca1e18ed3f219a0eecc6a083003e4223ccea1b9520afc502", + "transactionIndex": "0x2", + "blockHash": "0x582cd6a6f8a81be8076ce7ba4fbe15079a961dfab37ac6a1ce79f63b09630f74", + "blockNumber": "0x12dd833", + "from": "0xb72276D9FF15c7998b9962FFCfB21A6C7249441B", + "to": null, + "cumulativeGasUsed": "0x570542", + "gasUsed": "0x9ab70", + "contractAddress": "0xFBE17545dffD75A92A5A72926AE581478973FE65", + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05efc" + }, + { + "transactionHash": "0x1c9b8b27faeed92b136112930a29dc473a6f7a3254fd3dbf6e3720d118d874ba", + "transactionIndex": "0x3", + "blockHash": "0x582cd6a6f8a81be8076ce7ba4fbe15079a961dfab37ac6a1ce79f63b09630f74", + "blockNumber": "0x12dd833", + "from": "0xb72276D9FF15c7998b9962FFCfB21A6C7249441B", + "to": null, + "cumulativeGasUsed": "0x63f6eb", + "gasUsed": "0xcf1a9", + "contractAddress": "0x088C268cb00226D6A9b29e5488905Aa94D2f0239", + "logs": [ + { + "address": "0x088C268cb00226D6A9b29e5488905Aa94D2f0239", + "topics": [ + "0xc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2" + ], + "data": "0x000000000000000000000000000000000000000000000000ffffffffffffffff", + "blockHash": "0x582cd6a6f8a81be8076ce7ba4fbe15079a961dfab37ac6a1ce79f63b09630f74", + "blockNumber": "0x12dd833", + "transactionHash": "0x1c9b8b27faeed92b136112930a29dc473a6f7a3254fd3dbf6e3720d118d874ba", + "transactionIndex": "0x3", + "logIndex": "0x1", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000800000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000008000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05efc" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1704991492, + "chain": 420, + "multi": false, + "commit": "688208a" +} \ No newline at end of file diff --git a/broadcast/DeployLlamaTokenVotingFactory.s.sol/42161/run-1704995373.json b/broadcast/DeployLlamaTokenVotingFactory.s.sol/42161/run-1704995373.json new file mode 100644 index 0000000..f78e166 --- /dev/null +++ b/broadcast/DeployLlamaTokenVotingFactory.s.sol/42161/run-1704995373.json @@ -0,0 +1,71 @@ +{ + "transactions": [ + { + "hash": null, + "transactionType": "CREATE", + "contractName": "LlamaTokenGovernor", + "contractAddress": "0x3f3DAB3ab8cEc2FBd06767c2A5F66Cb6BFF21A4A", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0xb72276d9ff15c7998b9962ffcfb21a6c7249441b", + "gas": "0x3d13004", + "value": "0x0", + "data": "0x60806040523480156200001157600080fd5b506200001c62000022565b620000d6565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff1615620000735760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b0390811614620000d35780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b6159f880620000e66000396000f3fe608060405234801561001057600080fd5b50600436106101da5760003560e01c80637e4a56bb11610104578063b92cdd9a116100a2578063cae3bdff11610071578063cae3bdff1461053d578063dcae21b714610552578063e45061ea14610565578063e5589b9d1461057857600080fd5b8063b92cdd9a146104e4578063b9b2cf6c146104f7578063c193c2691461050a578063c26c12eb1461053557600080fd5b80638734852a116100de5780638734852a1461049857806396ff6e2e146104ab578063a1d9b412146104be578063b3c678b0146104d157600080fd5b80637e4a56bb1461046a5780637ed7238e14610472578063807ad1141461048557600080fd5b80633fed8f161161017c57806359e5332d1161014b57806359e5332d1461036457806364f6b3161461037b5780637186dd9c1461038e57806374f717cd1461044757600080fd5b80633fed8f16146103165780634d61ebf4146103365780634ec0ab1c1461033e578063509c5fbd1461035157600080fd5b806319a39740116101b857806319a397401461025b5780631e127ddf1461026e578063372fa8e8146102c25780633df91222146102d557600080fd5b80630669b1ce146101df57806311f900b5146101f45780631650080714610227575b600080fd5b6101f26101ed366004614a11565b61058b565b005b610207610202366004614a46565b610b79565b6040805161ffff9384168152929091166020830152015b60405180910390f35b61023a610235366004614ac0565b610b90565b6040516fffffffffffffffffffffffffffffffff909116815260200161021e565b6101f2610269366004614a46565b610baa565b6101f261027c366004614b82565b3360009081526007602090815260408083207fffffffff000000000000000000000000000000000000000000000000000000009490941683529290522080546001019055565b6101f26102d0366004614bbd565b610c75565b6102fe6102e3366004614a46565b6005602052600090815260409020546001600160a01b031681565b6040516001600160a01b03909116815260200161021e565b610329610324366004614c31565b610d76565b60405161021e9190614c53565b610207610f4e565b6101f261034c366004614ce2565b610f63565b61023a61035f366004614ac0565b611030565b61036d60025481565b60405190815260200161021e565b6000546102fe906001600160a01b031681565b6103fc61039c366004614a46565b6006602052600090815260409020805460018201546002909201546fffffffffffffffffffffffffffffffff8083169370010000000000000000000000000000000093849004821693818316939181900483169282811692919091041686565b604080516fffffffffffffffffffffffffffffffff978816815295871660208701529386169385019390935290841660608401528316608083015290911660a082015260c00161021e565b61045a610455366004614d23565b611040565b604051901515815260200161021e565b6103296110a9565b61036d610480366004614ea9565b61114c565b6001546102fe906001600160a01b031681565b6101f26104a6366004614f88565b611263565b61023a6104b9366004615066565b6114b5565b61023a6104cc366004615066565b6115c6565b61036d6104df366004615131565b6116c7565b6101f26104f2366004614a11565b61171c565b6101f2610505366004614ce2565b611726565b61036d6105183660046151e2565b600760209081526000928352604080842090915290825290205481565b6102076117ef565b6105456117fc565b60405161021e919061520e565b610545610560366004614c31565b61188f565b6101f2610573366004614a11565b611a4d565b610207610586366004614a46565b612026565b600080546040517fb6e76873000000000000000000000000000000000000000000000000000000008152833560048201526001600160a01b039091169063b6e768739060240161012060405180830381865afa1580156105ef573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061061391906152c8565b9050600060018260a0015161062891906153a6565b67ffffffffffffffff169050600160009054906101000a90046001600160a01b03166001600160a01b031663ae2a6df26040518163ffffffff1660e01b815260040160006040518083038186803b15801561068257600080fd5b505afa158015610696573d6000803e3d6000fd5b505050506000806000806106b485600461203490919063ffffffff16565b909250905060006106cb6080890160608a016153ce565b6001600160a01b031663b02bd9206040518163ffffffff1660e01b8152600401602060405180830381865afa158015610708573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061072c91906153eb565b67ffffffffffffffff16905061271061ffff8416820204818860c0015167ffffffffffffffff16030194506127108261ffff1682028161076e5761076e615406565b04850193508342116107ac576040517f038d8a6a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8660c0015167ffffffffffffffff1642106107f3576040517f08c8d62700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050843560009081526006602052604080822060015491517fcdfda4dd000000000000000000000000000000000000000000000000000000008152600481018690529092916001600160a01b03169063edb8ee5a90829063cdfda4dd90602401602060405180830381865afa158015610871573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108959190615435565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b16815265ffffffffffff9091166004820152602401602060405180830381865afa1580156108f0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610914919061545d565b600183015460028401549192506fffffffffffffffffffffffffffffffff7001000000000000000000000000000000009182900481169291820481169116600061095f60038a6121cd565b9150506000610975868361ffff166127106122d8565b905080856fffffffffffffffffffffffffffffffff1610156109e3576040517fbfb9aa550000000000000000000000000000000000000000000000000000000081526fffffffffffffffffffffffffffffffff86166004820152602481018290526044015b60405180910390fd5b836fffffffffffffffffffffffffffffffff16856fffffffffffffffffffffffffffffffff1611610a5c576040517f8a0df63f0000000000000000000000000000000000000000000000000000000081526fffffffffffffffffffffffffffffffff8087166004830152851660248201526044016109da565b6000610a7b8d6060016020810190610a7491906153ce565b600061231c565b905060008054906101000a90046001600160a01b03166001600160a01b03166394004706828f6040518363ffffffff1660e01b8152600401610abe9291906155b2565b6020604051808303816000875af1158015610add573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b0191906155e8565b50604080518e3581526fffffffffffffffffffffffffffffffff808916602083015280881692820192909252908516606082015260ff82169033907ff5bc433f16cc3d0e9fcb5ac4f8de9f17eb90de1fd2a9ede5952c2097d4ef1a59906080015b60405180910390a350505050505050505050505050565b600080610b87600484612034565b91509150915091565b6000610ba0338787878787612612565b9695505050505050565b60008054906101000a90046001600160a01b03166001600160a01b031663c34c08e56040518163ffffffff1660e01b8152600401602060405180830381865afa158015610bfb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c1f9190615603565b6001600160a01b0316336001600160a01b031614610c69576040517f26bee1ce00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610c7281612c5e565b50565b6000610c818686612e2e565b6040805160008082526020820180845284905260ff88169282019290925260608101869052608081018590529192509060019060a0016020604051602081039080840390855afa158015610cd9573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001519150506001600160a01b0381161580610d2c5750866001600160a01b0316816001600160a01b031614155b15610d63576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610d6d8187612f50565b50505050505050565b60408051602081019091526060815281831115610dbf576040517f2cd4dad300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60045480831115610dfc576040517f2cd4dad300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610e088585615620565b905060008167ffffffffffffffff811115610e2557610e25614d65565b604051908082528060200260200182016040528015610e8e57816020015b60408051606081018252600080825260208083018290529282015282527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff909201910181610e435790505b509050855b85811015610f34576004805482908110610eaf57610eaf615633565b600091825260209182902060408051606081018252919092015465ffffffffffff8116825261ffff660100000000000082048116948301949094526801000000000000000090049092169082015282610f088984615620565b81518110610f1857610f18615633565b6020026020010181905250610f2d8160010190565b9050610e93565b506040805160208101909152908152925050505b92915050565b600080610f5b6004613063565b915091509091565b60008054906101000a90046001600160a01b03166001600160a01b031663c34c08e56040518163ffffffff1660e01b8152600401602060405180830381865afa158015610fb4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fd89190615603565b6001600160a01b0316336001600160a01b031614611022576040517f26bee1ce00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61102c82826130db565b5050565b6000610ba03387878787876131cf565b60008115611077575060008381526006602090815260408083206001600160a01b038616845260030190915290205460ff166110a2565b5060008381526006602090815260408083206001600160a01b038616845260040190915290205460ff165b9392505050565b6040805160208101909152606081526040805160048054602081810284018501855283018181529293919284929091849160009085015b8282101561113f576000848152602090819020604080516060810182529185015465ffffffffffff8116835261ffff660100000000000082048116848601526801000000000000000090910416908201528252600190920191016110e0565b5050505081525050905090565b60008061115f8d8d8d8d8d8d8d8d613714565b6040805160008082526020820180845284905260ff89169282019290925260608101879052608081018690529192509060019060a0016020604051602081039080840390855afa1580156111b7573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001519150506001600160a01b038116158061120a57508d6001600160a01b0316816001600160a01b031614155b15611241576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611251818e8e8e8e8e8e8e613885565b9e9d5050505050505050505050505050565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000810460ff16159067ffffffffffffffff166000811580156112ae5750825b905060008267ffffffffffffffff1660011480156112cb5750303b155b9050811580156112d9575080155b15611310576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b84547fffffffffffffffffffffffffffffffffffffffffffffffff000000000000000016600117855583156113715784547fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff16680100000000000000001785555b886001600160a01b0316639bccfe496040518163ffffffff1660e01b8152600401602060405180830381865afa1580156113af573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113d3919061545d565b50600080546001600160a01b03808c167fffffffffffffffffffffffff00000000000000000000000000000000000000009283161790925560018054928b169290911691909117905561142587612c5e565b611437866000015187602001516130db565b61144986604001518760600151613b89565b83156114aa5784547fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b505050505050505050565b6000806114c68b8b8b8b8b8b613c26565b6040805160008082526020820180845284905260ff89169282019290925260608101879052608081018690529192509060019060a0016020604051602081039080840390855afa15801561151e573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001519150506001600160a01b038116158061157157508b6001600160a01b0316816001600160a01b031614155b156115a8576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6115b6818c8c8c8c8c6131cf565b9c9b505050505050505050505050565b6000806115d78b8b8b8b8b8b613d84565b6040805160008082526020820180845284905260ff89169282019290925260608101879052608081018690529192509060019060a0016020604051602081039080840390855afa15801561162f573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001519150506001600160a01b038116158061168257508b6001600160a01b0316816001600160a01b031614155b156116b9576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6115b6818c8c8c8c8c612612565b600061170f338a8a8a8a8a8a8a8a8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061388592505050565b9998505050505050505050565b610c723382612f50565b60008054906101000a90046001600160a01b03166001600160a01b031663c34c08e56040518163ffffffff1660e01b8152600401602060405180830381865afa158015611777573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061179b9190615603565b6001600160a01b0316336001600160a01b0316146117e5576040517f26bee1ce00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61102c8282613b89565b600080610f5b6003613063565b604080516020810190915260608152604080516003805460208082028401850185528301818152929391928492909184916000908501821561113f576000848152602090819020604080516060810182529185015465ffffffffffff8116835261ffff660100000000000082048116848601526801000000000000000090910416908201528252600190920191016110e0565b604080516020810190915260608152818311156118d8576040517f2cd4dad300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60035480831115611915576040517f2cd4dad300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006119218585615620565b905060008167ffffffffffffffff81111561193e5761193e614d65565b6040519080825280602002602001820160405280156119a757816020015b60408051606081018252600080825260208083018290529282015282527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90920191018161195c5790505b509050855b85811015610f345760038054829081106119c8576119c8615633565b600091825260209182902060408051606081018252919092015465ffffffffffff8116825261ffff660100000000000082048116948301949094526801000000000000000090049092169082015282611a218984615620565b81518110611a3157611a31615633565b6020026020010181905250611a468160010190565b90506119ac565b600080546040517fb6e76873000000000000000000000000000000000000000000000000000000008152833560048201526001600160a01b039091169063b6e768739060240161012060405180830381865afa158015611ab1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ad591906152c8565b9050600060018260a00151611aea91906153a6565b67ffffffffffffffff169050600160009054906101000a90046001600160a01b03166001600160a01b031663ae2a6df26040518163ffffffff1660e01b815260040160006040518083038186803b158015611b4457600080fd5b505afa158015611b58573d6000803e3d6000fd5b50505050600080600080611b7685600461203490919063ffffffff16565b90925090506000611b8d6080890160608a016153ce565b6001600160a01b0316637999762c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611bca573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bee91906153eb565b67ffffffffffffffff16905061271061ffff84168202048760a0015167ffffffffffffffff160194506127108261ffff16820281611c2e57611c2e615406565b0485019350834211611c6c576040517f038d8a6a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b808760a0015167ffffffffffffffff16611c869190615662565b421115611cbf576040517f08c8d62700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050843560009081526006602052604080822060015491517fcdfda4dd000000000000000000000000000000000000000000000000000000008152600481018690529092916001600160a01b03169063edb8ee5a90829063cdfda4dd90602401602060405180830381865afa158015611d3d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d619190615435565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b16815265ffffffffffff9091166004820152602401602060405180830381865afa158015611dbc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611de0919061545d565b825460018401549192506fffffffffffffffffffffffffffffffff808216928116917001000000000000000000000000000000009004166000611e2460038a6121cd565b5090506000611e3a868361ffff166127106122d8565b905080856fffffffffffffffffffffffffffffffff161015611ea3576040517f0425fab10000000000000000000000000000000000000000000000000000000081526fffffffffffffffffffffffffffffffff86166004820152602481018290526044016109da565b836fffffffffffffffffffffffffffffffff16856fffffffffffffffffffffffffffffffff1611611f1c576040517f8a0df63f0000000000000000000000000000000000000000000000000000000081526fffffffffffffffffffffffffffffffff8087166004830152851660248201526044016109da565b6000611f3b8d6060016020810190611f3491906153ce565b600161231c565b905060008054906101000a90046001600160a01b03166001600160a01b03166389e7d126828f6040518363ffffffff1660e01b8152600401611f7e9291906155b2565b6020604051808303816000875af1158015611f9d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fc191906155e8565b50604080518e3581526fffffffffffffffffffffffffffffffff808916602083015280881692820192909252908516606082015260ff82169033907ff23279e924757f3bfe4f543bc1b43685e851d6ace53f8518b806dcd8d42fc13990608001610b62565b600080610b876003846121cd565b6000804283106120c6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f506572696f64506374436865636b706f696e74733a2074696d657374616d702060448201527f6973206e6f7420696e207468652070617374000000000000000000000000000060648201526084016109da565b60006120d184613db3565b855490915060008160058111156121315760006120ed84613dfc565b6120f79085615620565b60008a81526020902090915081015465ffffffffffff90811690861610156121215780915061212f565b61212c816001615662565b92505b505b600061213f89868585613eae565b90508060000361215a576000809650965050505050506121c6565b60006121798a61216b600185615620565b600091825260209091200190565b60408051606081018252915465ffffffffffff8116835261ffff66010000000000008204811660208501819052680100000000000000009092041692909101829052985096505050505050505b9250929050565b60008042831061225f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602f60248201527f51756f72756d436865636b706f696e74733a2074696d657374616d702069732060448201527f6e6f7420696e207468652070617374000000000000000000000000000000000060648201526084016109da565b600061226a84613db3565b855490915060008160058111156122ca57600061228684613dfc565b6122909085615620565b60008a81526020902090915081015465ffffffffffff90811690861610156122ba578091506122c8565b6122c5816001615662565b92505b505b600061213f89868585613f10565b6000827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048411830215820261230d57600080fd5b50910281810615159190040190565b60008054604080517f0505c8c9000000000000000000000000000000000000000000000000000000008152905183926001600160a01b031691630505c8c99160048083019260209291908290030181865afa15801561237f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123a39190615603565b6001600160a01b0316638b2ed3886040518163ffffffff1660e01b8152600401602060405180830381865afa1580156123e0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124049190615675565b905060015b8160ff16811161253b57836124a1576040517fc167ebae00000000000000000000000000000000000000000000000000000000815260ff821660048201526001600160a01b0386169063c167ebae90602401602060405180830381865afa158015612478573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061249c9190615692565b612525565b6040517ffb847c4300000000000000000000000000000000000000000000000000000000815260ff821660048201526001600160a01b0386169063fb847c4390602401602060405180830381865afa158015612501573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125259190615692565b15612533579150610f489050565b600101612409565b50826125a857836001600160a01b03166312a52f006040518163ffffffff1660e01b8152600401602060405180830381865afa15801561257f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125a39190615675565b61260a565b836001600160a01b03166366cacdc96040518163ffffffff1660e01b8152600401602060405180830381865afa1580156125e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061260a9190615675565b949350505050565b600080546040517fb6e768730000000000000000000000000000000000000000000000000000000081528635600482015282916001600160a01b03169063b6e768739060240161012060405180830381865afa158015612676573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061269a91906152c8565b9050600060018260a001516126af91906153a6565b8735600090815260066020526040902067ffffffffffffffff9190911691506126de6080890160608a016153ce565b6001600160a01b03166302674e4b89308c6040518463ffffffff1660e01b815260040161270d939291906156af565b60006040518083038186803b15801561272557600080fd5b505afa158015612739573d6000803e3d6000fd5b505050506001600160a01b038a16600090815260048201602052604090205460ff1615612792576040517f9dd6544b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6127a0888a89600486613f6a565b60008080806127b0600487612034565b909250905060006127c760808e0160608f016153ce565b6001600160a01b031663b02bd9206040518163ffffffff1660e01b8152600401602060405180830381865afa158015612804573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061282891906153eb565b67ffffffffffffffff16905061271061ffff8416820204818960c0015167ffffffffffffffff16030194506127108261ffff1682028161286a5761286a615406565b04850193508442116128a8576040517fd0b72b4900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b834211156128e2576040517f5b73d19300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050506000612a25600160009054906101000a90046001600160a01b03166001600160a01b0316639556de738f600160009054906101000a90046001600160a01b03166001600160a01b031663cdfda4dd886040518263ffffffff1660e01b815260040161295291815260200190565b602060405180830381865afa15801561296f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906129939190615435565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b1681526001600160a01b03909216600483015265ffffffffffff166024820152604401602060405180830381865afa1580156129fc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a20919061545d565b61425e565b905060ff8a16612a9e576002840154612a649070010000000000000000000000000000000090046fffffffffffffffffffffffffffffffff16826142ad565b6002850180546fffffffffffffffffffffffffffffffff928316700100000000000000000000000000000000029216919091179055612bc6565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60ff8b1601612b37576001840154612afd9070010000000000000000000000000000000090046fffffffffffffffffffffffffffffffff16826142ad565b6001850180546fffffffffffffffffffffffffffffffff928316700100000000000000000000000000000000029216919091179055612bc6565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe60ff8b1601612bc6576002840154612b82906fffffffffffffffffffffffffffffffff16826142ad565b6002850180547fffffffffffffffffffffffffffffffff00000000000000000000000000000000166fffffffffffffffffffffffffffffffff929092169190911790555b6001600160a01b038d1660008181526004860160205260409081902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790555160ff8c1691907f4e3e2ad68670a2709cb408c31c5afd8da0b6d3d06c75b11feb404a455639fe7c90612c46908f359086908f908f90615713565b60405180910390a39c9b505050505050505050505050565b60018054604080517f91ddadf400000000000000000000000000000000000000000000000000000000815290516000936001600160a01b039093169263edb8ee5a92909184916391ddadf49160048083019260209291908290030181865afa158015612cce573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612cf29190615435565b612cfc9190615745565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b16815265ffffffffffff9091166004820152602401602060405180830381865afa158015612d57573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612d7b919061545d565b905080600003612db7576040517f34bbd58500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80821115612df1576040517f8a5e746800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60028290556040518281527fd91a985c173545ab0e0bd11c021a1ae84c1ea6eab9350d9bf3812d5b8bff49a4906020015b60405180910390a15050565b6000807f6da9390b4f29da2c44fa5a9da00b392393d01e989d16e4a3dec5a538318e352584612e5c856142f4565b6001600160a01b03871660009081526007602090815260408083207fffffffff00000000000000000000000000000000000000000000000000000000843516845290915290208054600181019091556040805160208101959095526001600160a01b03909316928401929092526060830152608082015260a001604051602081830303815290604052805190602001209050612ef66143eb565b6040517f190100000000000000000000000000000000000000000000000000000000000060208201526022810191909152604281018290526062016040516020818303038152906040528051906020012091505092915050565b80356000908152600560205260409020546001600160a01b03838116911614612fa5576040517f86ba025600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000546040517fb92cdd9a0000000000000000000000000000000000000000000000000000000081526001600160a01b039091169063b92cdd9a90612fee908490600401615764565b600060405180830381600087803b15801561300857600080fd5b505af115801561301c573d6000803e3d6000fd5b5050604051833581526001600160a01b03851692507fdcccc5725b7256a6975da00de8953e5d326756a3079d203ff6df9e52331f411a915060200160405180910390a25050565b8054600090819080820361307d5750600093849350915050565b600061308e8561216b600185615620565b60408051606081018252915465ffffffffffff8116835261ffff66010000000000008204811660208501819052680100000000000000009092041692909101829052969095509350505050565b6127108261ffff1611806130f1575061ffff8216155b1561312e576040517f8f6febc000000000000000000000000000000000000000000000000000000000815261ffff831660048201526024016109da565b6127108161ffff161180613144575061ffff8116155b15613181576040517f3bec511c00000000000000000000000000000000000000000000000000000000815261ffff821660048201526024016109da565b613194600361ffff80851690841661454d565b6040805161ffff8085168252831660208201527f77c3f43700db02acb49792bbf699b39f72c2ed4b920bd5c0b1843dcd7c832f4c9101612e22565b600080546040517fb6e768730000000000000000000000000000000000000000000000000000000081528635600482015282916001600160a01b03169063b6e768739060240161012060405180830381865afa158015613233573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061325791906152c8565b9050600060018260a0015161326c91906153a6565b8735600090815260066020526040902067ffffffffffffffff91909116915061329b6080890160608a016153ce565b6001600160a01b0316631a2a4e7789308c6040518463ffffffff1660e01b81526004016132ca939291906156af565b60006040518083038186803b1580156132e257600080fd5b505afa1580156132f6573d6000803e3d6000fd5b505050506001600160a01b038a16600090815260038201602052604090205460ff161561334f576040517f9dd6544b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61335d888a89600086613f6a565b600080808061336d600487612034565b9092509050600061338460808e0160608f016153ce565b6001600160a01b0316637999762c6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156133c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906133e591906153eb565b67ffffffffffffffff16905061271061ffff84168202048860a0015167ffffffffffffffff160194506127108261ffff1682028161342557613425615406565b0485019350844211613463576040517fd0b72b4900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8342111561349d576040517f5b73d19300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050600061350d600160009054906101000a90046001600160a01b03166001600160a01b0316639556de738f600160009054906101000a90046001600160a01b03166001600160a01b031663cdfda4dd886040518263ffffffff1660e01b815260040161295291815260200190565b905060ff8a16613580576001840154613538906fffffffffffffffffffffffffffffffff16826142ad565b6001850180547fffffffffffffffffffffffffffffffff00000000000000000000000000000000166fffffffffffffffffffffffffffffffff92909216919091179055613694565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60ff8b16016136095783546135c8906fffffffffffffffffffffffffffffffff16826142ad565b84547fffffffffffffffffffffffffffffffff00000000000000000000000000000000166fffffffffffffffffffffffffffffffff91909116178455613694565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe60ff8b16016136945783546136659070010000000000000000000000000000000090046fffffffffffffffffffffffffffffffff16826142ad565b84546fffffffffffffffffffffffffffffffff9182167001000000000000000000000000000000000291161784555b6001600160a01b038d1660008181526003860160205260409081902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790555160ff8c1691907f761cce3a1af5d9cfc0d57222f605ce4bd2be345f0ad9ebb7b83a84a91a0c201490612c46908f359086908f908f90615713565b6001600160a01b03881660009081526007602090815260408083207fffffffff000000000000000000000000000000000000000000000000000000008435168452909152812080546001810190915560007fd1fab1c7b3b37134662e5867b00e272eb49f7be0a890df29e802c3cc66c06f838b8b8b8b8b8b8b60405161379b929190615777565b604080519182900382208c516020808f0191909120908401999099526001600160a01b039788169183019190915260ff90951660608201529285166080840152931660a082015260c081019290925260e08201526101008101919091526101208101839052610140016040516020818303038152906040528051906020012090506138246143eb565b6040517f19010000000000000000000000000000000000000000000000000000000000006020820152602281019190915260428101829052606201604051602081830303815290604052805190602001209250505098975050505050505050565b600154604080517fae2a6df200000000000000000000000000000000000000000000000000000000815290516000926001600160a01b03169163ae2a6df29160048083019286929190829003018186803b1580156138e257600080fd5b505afa1580156138f6573d6000803e3d6000fd5b505060018054604080517f91ddadf40000000000000000000000000000000000000000000000000000000081529051600095506001600160a01b039092169350639556de73928e92909185916391ddadf4916004808201926020929091908290030181865afa15801561396d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906139919190615435565b61399b9190615745565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b1681526001600160a01b03909216600483015265ffffffffffff166024820152604401602060405180830381865afa158015613a04573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613a28919061545d565b9050600254811015613a69576040517f92665351000000000000000000000000000000000000000000000000000000008152600481018290526024016109da565b6000546040517fb3c678b00000000000000000000000000000000000000000000000000000000081526001600160a01b039091169063b3c678b090613abe908c908c908c908c908c908c908c906004016157ab565b6020604051808303816000875af1158015613add573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613b01919061545d565b60008181526005602090815260409182902080547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b038f16908117909155915183815292945090917f1834dfd49255741a8ce9a9bd66b91b64d13622e1d8170e4c78ac91f9ec50a542910160405180910390a25098975050505050505050565b612710613b96828461583b565b61ffff1610613bdf576040517f519dd38400000000000000000000000000000000000000000000000000000000815261ffff8084166004830152821660248201526044016109da565b613beb60048383614576565b6040805161ffff8085168252831660208201527f8df7bdcce333d9e1b85e40782fb2f293c805761d3f48aaea58865e9541e44c709101612e22565b6000807fd7be168a3509af358f222ee35ee76aba47bc5fc2c35061cdce3958f510b7b1b28888613c55896142f4565b888888604051613c66929190615777565b60408051918290039091206001600160a01b038f166000908152600760209081528382207fffffffff0000000000000000000000000000000000000000000000000000000083351683529052919091208054600181019091556040805160208101989098526001600160a01b039096169587019590955260ff938416606087015260808601929092529190911660a084015260c083015260e082015261010001604051602081830303815290604052805190602001209050613d266143eb565b6040517f19010000000000000000000000000000000000000000000000000000000000006020820152602281019190915260428101829052606201604051602081830303815290604052805190602001209150509695505050505050565b6000807fa87058c5a9888e7af4405a932381d5a4612c61354bc3e52e9ea361ba17703fb38888613c55896142f4565b600065ffffffffffff821115613df8576040517fc0188c4f000000000000000000000000000000000000000000000000000000008152600481018390526024016109da565b5090565b60b581710100000000000000000000000000000000008110613e235760409190911b9060801c5b69010000000000000000008110613e3f5760209190911b9060401c5b650100000000008110613e575760109190911b9060201c5b63010000008110613e6d5760089190911b9060101c5b62010000010260121c80820401600190811c80830401811c80830401811c80830401811c80830401811c80830401811c80830401901c908190048111900390565b60005b81831015613f08576000613ec584846145a2565b60008781526020902090915065ffffffffffff86169082015465ffffffffffff161115613ef457809250613f02565b613eff816001615662565b93505b50613eb1565b509392505050565b60005b81831015613f08576000613f2784846145a2565b60008781526020902090915065ffffffffffff86169082015465ffffffffffff161115613f5657809250613f64565b613f61816001615662565b93505b50613f13565b600260ff84161115613fad576040517ffe0e5d8b00000000000000000000000000000000000000000000000000000000815260ff841660048201526024016109da565b600080546040517fec12d8be0000000000000000000000000000000000000000000000000000000081526001600160a01b039091169063ec12d8be90613ff7908990600401615764565b602060405180830381865afa158015614014573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906140389190615675565b60ff16600681111561404c5761404c6156e4565b9050826006811115614060576140606156e4565b816006811115614072576140726156e4565b146140ab57806040517f87afe58e0000000000000000000000000000000000000000000000000000000081526004016109da9190615856565b60008060009054906101000a90046001600160a01b03166001600160a01b0316630505c8c96040518163ffffffff1660e01b8152600401602060405180830381865afa1580156140ff573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906141239190615603565b6040517fe0bec07600000000000000000000000000000000000000000000000000000000815230600482015260ff88166024820152604481018590526001600160a01b03919091169063e0bec07690606401602060405180830381865afa158015614192573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906141b69190615692565b9050806141ef576040517f88aebd1200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600160009054906101000a90046001600160a01b03166001600160a01b031663ae2a6df26040518163ffffffff1660e01b815260040160006040518083038186803b15801561423d57600080fd5b505afa158015614251573d6000803e3d6000fd5b5050505050505050505050565b60006fffffffffffffffffffffffffffffffff821115613df8576040517fc0188c4f000000000000000000000000000000000000000000000000000000008152600481018390526024016109da565b60006fffffffffffffffffffffffffffffffff6142ce838216858316615662565b106142ea57506fffffffffffffffffffffffffffffffff610f48565b6110a28284615897565b60007f86b4555c6e347ea3f038485b59b894986c208b67da7e65fcfa3707271608465f823561432960408501602086016153ce565b61433960608601604087016158c0565b61434960808701606088016153ce565b61435960a08801608089016153ce565b60a088013561436b60c08a018a6158dd565b604051614379929190615777565b6040805191829003822060208301999099528101969096526001600160a01b03948516606087015260ff909316608086015290831660a08501529190911660c083015260e082015261010081019190915261012001604051602081830303815290604052805190602001209050919050565b60008054604080517f06fdde0300000000000000000000000000000000000000000000000000000000815290517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f926001600160a01b0316916306fdde0391600480830192879291908290030181865afa15801561446d573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526144b39190810190615942565b8051602091820120604080518082018252600181527f310000000000000000000000000000000000000000000000000000000000000090840152805192830193909352918101919091527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a082015260c00160405160208183030381529060405280519060200120905090565b6145718361455a42613db3565b614563856145bd565b61456c856145bd565b6145fe565b505050565b6145718361458342613db3565b6145908561ffff166145bd565b61459d8561ffff166145bd565b614909565b60006145b160028484186159b0565b6110a290848416615662565b600061ffff821115613df8576040517fc0188c4f000000000000000000000000000000000000000000000000000000008152600481018390526024016109da565b835480156148475760006146178661216b600185615620565b60408051606081018252915465ffffffffffff80821680855261ffff66010000000000008404811660208701526801000000000000000090930490921692840192909252919250861610156146ed576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f51756f72756d20436865636b706f696e743a20696e76616c69642074696d657360448201527f74616d700000000000000000000000000000000000000000000000000000000060648201526084016109da565b805165ffffffffffff8087169116036147865760006147118761216b600186615620565b805461ffff86811668010000000000000000027fffffffffffffffffffffffffffffffffffffffffffff0000ffffffffffffffff918916660100000000000002919091167fffffffffffffffffffffffffffffffffffffffffffff00000000ffffffffffff9092169190911717905550614841565b6040805160608101825265ffffffffffff808816825261ffff80881660208085019182528883169585019586528b54600181018d5560008d81529190912094519401805491519551831668010000000000000000027fffffffffffffffffffffffffffffffffffffffffffff0000ffffffffffffffff969093166601000000000000027fffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000909216949093169390931792909217929092161790555b50614902565b6040805160608101825265ffffffffffff808716825261ffff80871660208085019182528783169585019586528a54600181018c5560008c81529190912094519401805491519551831668010000000000000000027fffffffffffffffffffffffffffffffffffffffffffff0000ffffffffffffffff969093166601000000000000027fffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000909216949093169390931792909217929092161790555b5050505050565b835480156148475760006149228661216b600185615620565b60408051606081018252915465ffffffffffff80821680855261ffff66010000000000008404811660208701526801000000000000000090930490921692840192909252919250861610156146ed576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602860248201527f506572696f642050637420436865636b706f696e743a20696e76616c6964207460448201527f696d657374616d7000000000000000000000000000000000000000000000000060648201526084016109da565b600060e08284031215614a0b57600080fd5b50919050565b600060208284031215614a2357600080fd5b813567ffffffffffffffff811115614a3a57600080fd5b61260a848285016149f9565b600060208284031215614a5857600080fd5b5035919050565b60ff81168114610c7257600080fd5b8035614a7981614a5f565b919050565b60008083601f840112614a9057600080fd5b50813567ffffffffffffffff811115614aa857600080fd5b6020830191508360208285010111156121c657600080fd5b600080600080600060808688031215614ad857600080fd5b8535614ae381614a5f565b9450602086013567ffffffffffffffff80821115614b0057600080fd5b614b0c89838a016149f9565b955060408801359150614b1e82614a5f565b90935060608701359080821115614b3457600080fd5b50614b4188828901614a7e565b969995985093965092949392505050565b80357fffffffff0000000000000000000000000000000000000000000000000000000081168114614a7957600080fd5b600060208284031215614b9457600080fd5b6110a282614b52565b6001600160a01b0381168114610c7257600080fd5b8035614a7981614b9d565b600080600080600060a08688031215614bd557600080fd5b8535614be081614b9d565b9450602086013567ffffffffffffffff811115614bfc57600080fd5b614c08888289016149f9565b9450506040860135614c1981614a5f565b94979396509394606081013594506080013592915050565b60008060408385031215614c4457600080fd5b50508035926020909101359150565b60208082528251828201829052805160408401819052600092916060919083019082860190855b81811015614cc357614cb3838551805165ffffffffffff16825260208082015161ffff9081169184019190915260409182015116910152565b9285019291840191600101614c7a565b5090979650505050505050565b803561ffff81168114614a7957600080fd5b60008060408385031215614cf557600080fd5b614cfe83614cd0565b9150614d0c60208401614cd0565b90509250929050565b8015158114610c7257600080fd5b600080600060608486031215614d3857600080fd5b833592506020840135614d4a81614b9d565b91506040840135614d5a81614d15565b809150509250925092565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051610120810167ffffffffffffffff81118282101715614db857614db8614d65565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715614e0557614e05614d65565b604052919050565b600067ffffffffffffffff821115614e2757614e27614d65565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b600082601f830112614e6457600080fd5b8135614e77614e7282614e0d565b614dbe565b818152846020838601011115614e8c57600080fd5b816020850160208301376000918101602001919091529392505050565b60008060008060008060008060008060006101408c8e031215614ecb57600080fd5b614ed48c614bb2565b9a50614ee260208d01614a6e565b9950614ef060408d01614bb2565b9850614efe60608d01614bb2565b975060808c0135965067ffffffffffffffff8060a08e01351115614f2157600080fd5b614f318e60a08f01358f01614a7e565b909750955060c08d0135811015614f4757600080fd5b50614f588d60c08e01358e01614e53565b9350614f6660e08d01614a6e565b92506101008c013591506101208c013590509295989b509295989b9093969950565b60008060008084860360e0811215614f9f57600080fd5b8535614faa81614b9d565b94506020860135614fba81614b9d565b93506040860135925060807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa082011215614ff357600080fd5b506040516080810181811067ffffffffffffffff8211171561501757615017614d65565b60405261502660608701614cd0565b815261503460808701614cd0565b602082015261504560a08701614cd0565b604082015261505660c08701614cd0565b6060820152939692955090935050565b60008060008060008060008060006101008a8c03121561508557600080fd5b893561509081614b9d565b985060208a01356150a081614a5f565b975060408a013567ffffffffffffffff808211156150bd57600080fd5b6150c98d838e016149f9565b985060608c013591506150db82614a5f565b90965060808b013590808211156150f157600080fd5b506150fe8c828d01614a7e565b90965094505060a08a013561511281614a5f565b8093505060c08a0135915060e08a013590509295985092959850929598565b60008060008060008060008060c0898b03121561514d57600080fd5b883561515881614a5f565b9750602089013561516881614b9d565b9650604089013561517881614b9d565b955060608901359450608089013567ffffffffffffffff8082111561519c57600080fd5b6151a88c838d01614a7e565b909650945060a08b01359150808211156151c157600080fd5b506151ce8b828c01614a7e565b999c989b5096995094979396929594505050565b600080604083850312156151f557600080fd5b823561520081614b9d565b9150614d0c60208401614b52565b60208082528251828201829052805160408401819052600092916060919083019082860190855b81811015614cc35761526e838551805165ffffffffffff16825260208082015161ffff9081169184019190915260409182015116910152565b9285019291840191600101615235565b8051614a7981614d15565b8051614a7981614b9d565b805167ffffffffffffffff81168114614a7957600080fd5b80516bffffffffffffffffffffffff81168114614a7957600080fd5b600061012082840312156152db57600080fd5b6152e3614d94565b825181526152f36020840161527e565b60208201526153046040840161527e565b60408201526153156060840161527e565b606082015261532660808401615289565b608082015261533760a08401615294565b60a082015261534860c08401615294565b60c082015261535960e084016152ac565b60e082015261010061536c8185016152ac565b908201529392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b67ffffffffffffffff8281168282160390808211156153c7576153c7615377565b5092915050565b6000602082840312156153e057600080fd5b81356110a281614b9d565b6000602082840312156153fd57600080fd5b6110a282615294565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006020828403121561544757600080fd5b815165ffffffffffff811681146110a257600080fd5b60006020828403121561546f57600080fd5b5051919050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b80358252600060208201356154d381614b9d565b6001600160a01b0390811660208501526040830135906154f282614a5f565b60ff821660408601526060840135915061550b82614b9d565b908116606085015260808301359061552282614b9d565b16608084015260a0828101359084015260c0820135368390037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe101811261556857600080fd5b820160208101903567ffffffffffffffff81111561558557600080fd5b80360382131561559457600080fd5b60e060c08601526155a960e086018284615476565b95945050505050565b60ff831681526060602082015260006155ce60608301846154bf565b828103604084015260008152602081019150509392505050565b6000602082840312156155fa57600080fd5b6110a2826152ac565b60006020828403121561561557600080fd5b81516110a281614b9d565b81810381811115610f4857610f48615377565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b80820180821115610f4857610f48615377565b60006020828403121561568757600080fd5b81516110a281614a5f565b6000602082840312156156a457600080fd5b81516110a281614d15565b6060815260006156c260608301866154bf565b90506001600160a01b038416602083015260ff83166040830152949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b8481526fffffffffffffffffffffffffffffffff84166020820152606060408201526000610ba0606083018486615476565b65ffffffffffff8281168282160390808211156153c7576153c7615377565b6020815260006110a260208301846154bf565b8183823760009101908152919050565b60005b838110156157a257818101518382015260200161578a565b50506000910152565b60ff8816815260006001600160a01b03808916602084015280881660408401525085606083015260c060808301526157e760c083018587615476565b82810360a08401528351808252615805816020840160208801615787565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016016020019998505050505050505050565b61ffff8181168382160190808211156153c7576153c7615377565b6020810160078310615891577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b91905290565b6fffffffffffffffffffffffffffffffff8181168382160190808211156153c7576153c7615377565b6000602082840312156158d257600080fd5b81356110a281614a5f565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261591257600080fd5b83018035915067ffffffffffffffff82111561592d57600080fd5b6020019150368190038213156121c657600080fd5b60006020828403121561595457600080fd5b815167ffffffffffffffff81111561596b57600080fd5b8201601f8101841361597c57600080fd5b805161598a614e7282614e0d565b81815285602083850101111561599f57600080fd5b6155a9826020830160208601615787565b6000826159e6577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b50049056fea164736f6c6343000817000a", + "nonce": "0x0", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": null, + "transactionType": "CREATE", + "contractName": "LlamaTokenVotingFactory", + "contractAddress": "0xFBE17545dffD75A92A5A72926AE581478973FE65", + "function": null, + "arguments": [ + "0x3f3DAB3ab8cEc2FBd06767c2A5F66Cb6BFF21A4A" + ], + "transaction": { + "type": "0x02", + "from": "0xb72276d9ff15c7998b9962ffcfb21a6c7249441b", + "gas": "0xaa64ad", + "value": "0x0", + "data": "0x60a060405234801561001057600080fd5b50604051610b16380380610b1683398101604081905261002f91610040565b6001600160a01b0316608052610070565b60006020828403121561005257600080fd5b81516001600160a01b038116811461006957600080fd5b9392505050565b608051610a8561009160003960008181604001526104390152610a856000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c806321618ea41461003b5780633ec857a51461008b575b600080fd5b6100627f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b61006261009936600461087b565b600080338360000151846040015185606001516040516020016100bf9493929190610959565b60405160208183030381529060405280519060200120905060006100e7846020015183610622565b60408086015190517f439fab9100000000000000000000000000000000000000000000000000000000815291925073ffffffffffffffffffffffffffffffffffffffff83169163439fab919161013f916004016109b9565b6020604051808303816000875af115801561015e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101829190610a0a565b50600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1663fc0c546a6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156101e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061020a9190610a33565b73ffffffffffffffffffffffffffffffffffffffff1603610257576040517f65f5b03400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517fcdfda4dd00000000000000000000000000000000000000000000000000000000815242600482015273ffffffffffffffffffffffffffffffffffffffff82169063cdfda4dd90602401602060405180830381865afa1580156102c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102e59190610a50565b65ffffffffffff16600003610326576040517f65f5b03400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff166391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865afa158015610371573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103959190610a50565b65ffffffffffff166000036103d6576040517f65f5b03400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1663ae2a6df26040518163ffffffff1660e01b815260040160006040518083038186803b15801561041c57600080fd5b505afa158015610430573d6000803e3d6000fd5b5050505061045e7f000000000000000000000000000000000000000000000000000000000000000083610622565b8451608086015160a0870151604080517f8734852a00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff948516600482015286851660248201526044810193909352815161ffff908116606485015260208301518116608485015290820151811660a48401526060909101511660c4820152919450841690638734852a9060e401600060405180830381600087803b15801561051757600080fd5b505af115801561052b573d6000803e3d6000fd5b505050508073ffffffffffffffffffffffffffffffffffffffff1663fc0c546a6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561057a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061059e9190610a33565b84516020808701516060808901516040805173ffffffffffffffffffffffffffffffffffffffff94851681528885169581019590955284015287821690830152466080830152928316929091169033907f4c8bb78cb1c62e64cef39fc4b4a1864d1a331a28c7bd59a67fe969cc8ab715879060a00160405180910390a45050919050565b6000763d602d80600a3d3981f3363d3d373d3d3d363d730000008360601b60e81c176000526e5af43d82803e903d91602b57fd5bf38360781b1760205281603760096000f5905073ffffffffffffffffffffffffffffffffffffffff81166106b6576040517fc2f868f400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405160c0810167ffffffffffffffff8111828210171561070e5761070e6106bc565b60405290565b73ffffffffffffffffffffffffffffffffffffffff8116811461073657600080fd5b50565b600082601f83011261074a57600080fd5b813567ffffffffffffffff80821115610765576107656106bc565b604051601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011681019082821181831017156107ab576107ab6106bc565b816040528381528660208588010111156107c457600080fd5b836020870160208301376000602085830101528094505050505092915050565b803561ffff811681146107f657600080fd5b919050565b60006080828403121561080d57600080fd5b6040516080810181811067ffffffffffffffff82111715610830576108306106bc565b60405290508061083f836107e4565b815261084d602084016107e4565b602082015261085e604084016107e4565b604082015261086f606084016107e4565b60608201525092915050565b60006020828403121561088d57600080fd5b813567ffffffffffffffff808211156108a557600080fd5b9083019061012082860312156108ba57600080fd5b6108c26106eb565b82356108cd81610714565b815260208301356108dd81610714565b60208201526040830135828111156108f457600080fd5b61090087828601610739565b60408301525060608301356060820152608083013560808201526109278660a085016107fb565b60a082015295945050505050565b60005b83811015610950578181015183820152602001610938565b50506000910152565b60007fffffffffffffffffffffffffffffffffffffffff000000000000000000000000808760601b168352808660601b1660148401525083516109a3816028850160208801610935565b6028920191820192909252604801949350505050565b60208152600082518060208401526109d8816040850160208701610935565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169190910160400192915050565b600060208284031215610a1c57600080fd5b81518015158114610a2c57600080fd5b9392505050565b600060208284031215610a4557600080fd5b8151610a2c81610714565b600060208284031215610a6257600080fd5b815165ffffffffffff81168114610a2c57600080fdfea164736f6c6343000817000a0000000000000000000000003f3dab3ab8cec2fbd06767c2a5f66cb6bff21a4a", + "nonce": "0x1", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": null, + "transactionType": "CREATE", + "contractName": "LlamaTokenAdapterVotesTimestamp", + "contractAddress": "0x088C268cb00226D6A9b29e5488905Aa94D2f0239", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0xb72276d9ff15c7998b9962ffcfb21a6c7249441b", + "gas": "0xe33b0b", + "value": "0x0", + "data": "0x608060405234801561001057600080fd5b5061001961001e565b6100d0565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff161561006e5760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b03908116146100cd5780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b610df5806100df6000396000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c8063ae2a6df21161005b578063ae2a6df21461010a578063cdfda4dd14610114578063edb8ee5a14610127578063fc0c546a1461013a57600080fd5b8063439fab911461008d5780634bf5d7e9146100b557806391ddadf4146100ca5780639556de73146100e9575b600080fd5b6100a061009b3660046108e4565b61017f565b60405190151581526020015b60405180910390f35b6100bd6103a1565b6040516100ac9190610988565b6100d261042f565b60405165ffffffffffff90911681526020016100ac565b6100fc6100f7366004610a12565b6104e9565b6040519081526020016100ac565b610112610593565b005b6100d2610122366004610a4b565b6105ef565b6100fc610135366004610a64565b610600565b60005461015a9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100ac565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0080546000919068010000000000000000810460ff16159067ffffffffffffffff1683811580156101cd5750825b905060008267ffffffffffffffff1660011480156101ea5750303b155b9050811580156101f8575080155b1561022f576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b84547fffffffffffffffffffffffffffffffffffffffffffffffff000000000000000016600117855583156102905784547fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff16680100000000000000001785555b6000878060200190518101906102a69190610a81565b8051600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff90921691909117905560408051808201909152600e81527f6d6f64653d74696d657374616d7000000000000000000000000000000000000060208201529091506001906103309082610b71565b50600196505083156103975784547fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b5050505050919050565b600180546103ae90610acd565b80601f01602080910402602001604051908101604052809291908181526020018280546103da90610acd565b80156104275780601f106103fc57610100808354040283529160200191610427565b820191906000526020600020905b81548152906001019060200180831161040a57829003601f168201915b505050505081565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156104d7575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682019092526104d491810190610c8b565b60015b6104e4576104e44261069b565b905090565b600080546040517f3a46b1a800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff858116600483015265ffffffffffff8516602483015290911690633a46b1a890604401602060405180830381865afa158015610568573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061058c9190610ca8565b9392505050565b600061059d6106e8565b905060006105a9610712565b905081806105b45750805b156105eb576040517f6ff0714000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050565b60006105fa8261069b565b92915050565b600080546040517f8e539e8c00000000000000000000000000000000000000000000000000000000815265ffffffffffff8416600482015273ffffffffffffffffffffffffffffffffffffffff90911690638e539e8c90602401602060405180830381865afa158015610677573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105fa9190610ca8565b600065ffffffffffff8211156106e4576040517fc0188c4f0000000000000000000000000000000000000000000000000000000081526004810183905260240160405180910390fd5b5090565b60006106f34261069b565b65ffffffffffff1661070361042f565b65ffffffffffff161415905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16634bf5d7e96040518163ffffffff1660e01b8152600401600060405180830381865afa9250505080156107bf57506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526107bc9190810190610cc1565b60015b6107c95750600090565b60016040516020016107db9190610d38565b60405160208183030381529060405280519060200120816040516020016108029190610dcc565b60405160208183030381529060405280519060200120141591505090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff8111828210171561089657610896610820565b604052919050565b600067ffffffffffffffff8211156108b8576108b8610820565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b6000602082840312156108f657600080fd5b813567ffffffffffffffff81111561090d57600080fd5b8201601f8101841361091e57600080fd5b803561093161092c8261089e565b61084f565b81815285602083850101111561094657600080fd5b81602084016020830137600091810160200191909152949350505050565b60005b8381101561097f578181015183820152602001610967565b50506000910152565b60208152600082518060208401526109a7816040850160208701610964565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169190910160400192915050565b73ffffffffffffffffffffffffffffffffffffffff811681146109fb57600080fd5b50565b65ffffffffffff811681146109fb57600080fd5b60008060408385031215610a2557600080fd5b8235610a30816109d9565b91506020830135610a40816109fe565b809150509250929050565b600060208284031215610a5d57600080fd5b5035919050565b600060208284031215610a7657600080fd5b813561058c816109fe565b600060208284031215610a9357600080fd5b6040516020810181811067ffffffffffffffff82111715610ab657610ab6610820565b6040528251610ac4816109d9565b81529392505050565b600181811c90821680610ae157607f821691505b602082108103610b1a577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b601f821115610b6c576000816000526020600020601f850160051c81016020861015610b495750805b601f850160051c820191505b81811015610b6857828155600101610b55565b5050505b505050565b815167ffffffffffffffff811115610b8b57610b8b610820565b610b9f81610b998454610acd565b84610b20565b602080601f831160018114610bf25760008415610bbc5750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b178555610b68565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b82811015610c3f57888601518255948401946001909101908401610c20565b5085821015610c7b57878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b600060208284031215610c9d57600080fd5b815161058c816109fe565b600060208284031215610cba57600080fd5b5051919050565b600060208284031215610cd357600080fd5b815167ffffffffffffffff811115610cea57600080fd5b8201601f81018413610cfb57600080fd5b8051610d0961092c8261089e565b818152856020838501011115610d1e57600080fd5b610d2f826020830160208601610964565b95945050505050565b6000808354610d4681610acd565b60018281168015610d5e5760018114610d9157610dc0565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0084168752821515830287019450610dc0565b8760005260208060002060005b85811015610db75781548a820152908401908201610d9e565b50505082870194505b50929695505050505050565b60008251610dde818460208701610964565b919091019291505056fea164736f6c6343000817000a", + "nonce": "0x2", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1704995373, + "chain": 42161, + "multi": false, + "commit": "688208a" +} \ No newline at end of file diff --git a/broadcast/DeployLlamaTokenVotingFactory.s.sol/42161/run-1704995940.json b/broadcast/DeployLlamaTokenVotingFactory.s.sol/42161/run-1704995940.json new file mode 100644 index 0000000..75a3327 --- /dev/null +++ b/broadcast/DeployLlamaTokenVotingFactory.s.sol/42161/run-1704995940.json @@ -0,0 +1,148 @@ +{ + "transactions": [ + { + "hash": "0xf2ece4defcedac66b3b1059431916c31696f6921e32829b1366edd7935e569a3", + "transactionType": "CREATE", + "contractName": "LlamaTokenGovernor", + "contractAddress": "0x3f3DAB3ab8cEc2FBd06767c2A5F66Cb6BFF21A4A", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0xb72276d9ff15c7998b9962ffcfb21a6c7249441b", + "gas": "0x3031ede", + "value": "0x0", + "data": "0x60806040523480156200001157600080fd5b506200001c62000022565b620000d6565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff1615620000735760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b0390811614620000d35780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b6159f880620000e66000396000f3fe608060405234801561001057600080fd5b50600436106101da5760003560e01c80637e4a56bb11610104578063b92cdd9a116100a2578063cae3bdff11610071578063cae3bdff1461053d578063dcae21b714610552578063e45061ea14610565578063e5589b9d1461057857600080fd5b8063b92cdd9a146104e4578063b9b2cf6c146104f7578063c193c2691461050a578063c26c12eb1461053557600080fd5b80638734852a116100de5780638734852a1461049857806396ff6e2e146104ab578063a1d9b412146104be578063b3c678b0146104d157600080fd5b80637e4a56bb1461046a5780637ed7238e14610472578063807ad1141461048557600080fd5b80633fed8f161161017c57806359e5332d1161014b57806359e5332d1461036457806364f6b3161461037b5780637186dd9c1461038e57806374f717cd1461044757600080fd5b80633fed8f16146103165780634d61ebf4146103365780634ec0ab1c1461033e578063509c5fbd1461035157600080fd5b806319a39740116101b857806319a397401461025b5780631e127ddf1461026e578063372fa8e8146102c25780633df91222146102d557600080fd5b80630669b1ce146101df57806311f900b5146101f45780631650080714610227575b600080fd5b6101f26101ed366004614a11565b61058b565b005b610207610202366004614a46565b610b79565b6040805161ffff9384168152929091166020830152015b60405180910390f35b61023a610235366004614ac0565b610b90565b6040516fffffffffffffffffffffffffffffffff909116815260200161021e565b6101f2610269366004614a46565b610baa565b6101f261027c366004614b82565b3360009081526007602090815260408083207fffffffff000000000000000000000000000000000000000000000000000000009490941683529290522080546001019055565b6101f26102d0366004614bbd565b610c75565b6102fe6102e3366004614a46565b6005602052600090815260409020546001600160a01b031681565b6040516001600160a01b03909116815260200161021e565b610329610324366004614c31565b610d76565b60405161021e9190614c53565b610207610f4e565b6101f261034c366004614ce2565b610f63565b61023a61035f366004614ac0565b611030565b61036d60025481565b60405190815260200161021e565b6000546102fe906001600160a01b031681565b6103fc61039c366004614a46565b6006602052600090815260409020805460018201546002909201546fffffffffffffffffffffffffffffffff8083169370010000000000000000000000000000000093849004821693818316939181900483169282811692919091041686565b604080516fffffffffffffffffffffffffffffffff978816815295871660208701529386169385019390935290841660608401528316608083015290911660a082015260c00161021e565b61045a610455366004614d23565b611040565b604051901515815260200161021e565b6103296110a9565b61036d610480366004614ea9565b61114c565b6001546102fe906001600160a01b031681565b6101f26104a6366004614f88565b611263565b61023a6104b9366004615066565b6114b5565b61023a6104cc366004615066565b6115c6565b61036d6104df366004615131565b6116c7565b6101f26104f2366004614a11565b61171c565b6101f2610505366004614ce2565b611726565b61036d6105183660046151e2565b600760209081526000928352604080842090915290825290205481565b6102076117ef565b6105456117fc565b60405161021e919061520e565b610545610560366004614c31565b61188f565b6101f2610573366004614a11565b611a4d565b610207610586366004614a46565b612026565b600080546040517fb6e76873000000000000000000000000000000000000000000000000000000008152833560048201526001600160a01b039091169063b6e768739060240161012060405180830381865afa1580156105ef573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061061391906152c8565b9050600060018260a0015161062891906153a6565b67ffffffffffffffff169050600160009054906101000a90046001600160a01b03166001600160a01b031663ae2a6df26040518163ffffffff1660e01b815260040160006040518083038186803b15801561068257600080fd5b505afa158015610696573d6000803e3d6000fd5b505050506000806000806106b485600461203490919063ffffffff16565b909250905060006106cb6080890160608a016153ce565b6001600160a01b031663b02bd9206040518163ffffffff1660e01b8152600401602060405180830381865afa158015610708573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061072c91906153eb565b67ffffffffffffffff16905061271061ffff8416820204818860c0015167ffffffffffffffff16030194506127108261ffff1682028161076e5761076e615406565b04850193508342116107ac576040517f038d8a6a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8660c0015167ffffffffffffffff1642106107f3576040517f08c8d62700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050843560009081526006602052604080822060015491517fcdfda4dd000000000000000000000000000000000000000000000000000000008152600481018690529092916001600160a01b03169063edb8ee5a90829063cdfda4dd90602401602060405180830381865afa158015610871573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108959190615435565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b16815265ffffffffffff9091166004820152602401602060405180830381865afa1580156108f0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610914919061545d565b600183015460028401549192506fffffffffffffffffffffffffffffffff7001000000000000000000000000000000009182900481169291820481169116600061095f60038a6121cd565b9150506000610975868361ffff166127106122d8565b905080856fffffffffffffffffffffffffffffffff1610156109e3576040517fbfb9aa550000000000000000000000000000000000000000000000000000000081526fffffffffffffffffffffffffffffffff86166004820152602481018290526044015b60405180910390fd5b836fffffffffffffffffffffffffffffffff16856fffffffffffffffffffffffffffffffff1611610a5c576040517f8a0df63f0000000000000000000000000000000000000000000000000000000081526fffffffffffffffffffffffffffffffff8087166004830152851660248201526044016109da565b6000610a7b8d6060016020810190610a7491906153ce565b600061231c565b905060008054906101000a90046001600160a01b03166001600160a01b03166394004706828f6040518363ffffffff1660e01b8152600401610abe9291906155b2565b6020604051808303816000875af1158015610add573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b0191906155e8565b50604080518e3581526fffffffffffffffffffffffffffffffff808916602083015280881692820192909252908516606082015260ff82169033907ff5bc433f16cc3d0e9fcb5ac4f8de9f17eb90de1fd2a9ede5952c2097d4ef1a59906080015b60405180910390a350505050505050505050505050565b600080610b87600484612034565b91509150915091565b6000610ba0338787878787612612565b9695505050505050565b60008054906101000a90046001600160a01b03166001600160a01b031663c34c08e56040518163ffffffff1660e01b8152600401602060405180830381865afa158015610bfb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c1f9190615603565b6001600160a01b0316336001600160a01b031614610c69576040517f26bee1ce00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610c7281612c5e565b50565b6000610c818686612e2e565b6040805160008082526020820180845284905260ff88169282019290925260608101869052608081018590529192509060019060a0016020604051602081039080840390855afa158015610cd9573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001519150506001600160a01b0381161580610d2c5750866001600160a01b0316816001600160a01b031614155b15610d63576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610d6d8187612f50565b50505050505050565b60408051602081019091526060815281831115610dbf576040517f2cd4dad300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60045480831115610dfc576040517f2cd4dad300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610e088585615620565b905060008167ffffffffffffffff811115610e2557610e25614d65565b604051908082528060200260200182016040528015610e8e57816020015b60408051606081018252600080825260208083018290529282015282527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff909201910181610e435790505b509050855b85811015610f34576004805482908110610eaf57610eaf615633565b600091825260209182902060408051606081018252919092015465ffffffffffff8116825261ffff660100000000000082048116948301949094526801000000000000000090049092169082015282610f088984615620565b81518110610f1857610f18615633565b6020026020010181905250610f2d8160010190565b9050610e93565b506040805160208101909152908152925050505b92915050565b600080610f5b6004613063565b915091509091565b60008054906101000a90046001600160a01b03166001600160a01b031663c34c08e56040518163ffffffff1660e01b8152600401602060405180830381865afa158015610fb4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fd89190615603565b6001600160a01b0316336001600160a01b031614611022576040517f26bee1ce00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61102c82826130db565b5050565b6000610ba03387878787876131cf565b60008115611077575060008381526006602090815260408083206001600160a01b038616845260030190915290205460ff166110a2565b5060008381526006602090815260408083206001600160a01b038616845260040190915290205460ff165b9392505050565b6040805160208101909152606081526040805160048054602081810284018501855283018181529293919284929091849160009085015b8282101561113f576000848152602090819020604080516060810182529185015465ffffffffffff8116835261ffff660100000000000082048116848601526801000000000000000090910416908201528252600190920191016110e0565b5050505081525050905090565b60008061115f8d8d8d8d8d8d8d8d613714565b6040805160008082526020820180845284905260ff89169282019290925260608101879052608081018690529192509060019060a0016020604051602081039080840390855afa1580156111b7573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001519150506001600160a01b038116158061120a57508d6001600160a01b0316816001600160a01b031614155b15611241576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611251818e8e8e8e8e8e8e613885565b9e9d5050505050505050505050505050565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000810460ff16159067ffffffffffffffff166000811580156112ae5750825b905060008267ffffffffffffffff1660011480156112cb5750303b155b9050811580156112d9575080155b15611310576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b84547fffffffffffffffffffffffffffffffffffffffffffffffff000000000000000016600117855583156113715784547fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff16680100000000000000001785555b886001600160a01b0316639bccfe496040518163ffffffff1660e01b8152600401602060405180830381865afa1580156113af573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113d3919061545d565b50600080546001600160a01b03808c167fffffffffffffffffffffffff00000000000000000000000000000000000000009283161790925560018054928b169290911691909117905561142587612c5e565b611437866000015187602001516130db565b61144986604001518760600151613b89565b83156114aa5784547fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b505050505050505050565b6000806114c68b8b8b8b8b8b613c26565b6040805160008082526020820180845284905260ff89169282019290925260608101879052608081018690529192509060019060a0016020604051602081039080840390855afa15801561151e573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001519150506001600160a01b038116158061157157508b6001600160a01b0316816001600160a01b031614155b156115a8576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6115b6818c8c8c8c8c6131cf565b9c9b505050505050505050505050565b6000806115d78b8b8b8b8b8b613d84565b6040805160008082526020820180845284905260ff89169282019290925260608101879052608081018690529192509060019060a0016020604051602081039080840390855afa15801561162f573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001519150506001600160a01b038116158061168257508b6001600160a01b0316816001600160a01b031614155b156116b9576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6115b6818c8c8c8c8c612612565b600061170f338a8a8a8a8a8a8a8a8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061388592505050565b9998505050505050505050565b610c723382612f50565b60008054906101000a90046001600160a01b03166001600160a01b031663c34c08e56040518163ffffffff1660e01b8152600401602060405180830381865afa158015611777573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061179b9190615603565b6001600160a01b0316336001600160a01b0316146117e5576040517f26bee1ce00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61102c8282613b89565b600080610f5b6003613063565b604080516020810190915260608152604080516003805460208082028401850185528301818152929391928492909184916000908501821561113f576000848152602090819020604080516060810182529185015465ffffffffffff8116835261ffff660100000000000082048116848601526801000000000000000090910416908201528252600190920191016110e0565b604080516020810190915260608152818311156118d8576040517f2cd4dad300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60035480831115611915576040517f2cd4dad300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006119218585615620565b905060008167ffffffffffffffff81111561193e5761193e614d65565b6040519080825280602002602001820160405280156119a757816020015b60408051606081018252600080825260208083018290529282015282527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90920191018161195c5790505b509050855b85811015610f345760038054829081106119c8576119c8615633565b600091825260209182902060408051606081018252919092015465ffffffffffff8116825261ffff660100000000000082048116948301949094526801000000000000000090049092169082015282611a218984615620565b81518110611a3157611a31615633565b6020026020010181905250611a468160010190565b90506119ac565b600080546040517fb6e76873000000000000000000000000000000000000000000000000000000008152833560048201526001600160a01b039091169063b6e768739060240161012060405180830381865afa158015611ab1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ad591906152c8565b9050600060018260a00151611aea91906153a6565b67ffffffffffffffff169050600160009054906101000a90046001600160a01b03166001600160a01b031663ae2a6df26040518163ffffffff1660e01b815260040160006040518083038186803b158015611b4457600080fd5b505afa158015611b58573d6000803e3d6000fd5b50505050600080600080611b7685600461203490919063ffffffff16565b90925090506000611b8d6080890160608a016153ce565b6001600160a01b0316637999762c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611bca573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bee91906153eb565b67ffffffffffffffff16905061271061ffff84168202048760a0015167ffffffffffffffff160194506127108261ffff16820281611c2e57611c2e615406565b0485019350834211611c6c576040517f038d8a6a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b808760a0015167ffffffffffffffff16611c869190615662565b421115611cbf576040517f08c8d62700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050843560009081526006602052604080822060015491517fcdfda4dd000000000000000000000000000000000000000000000000000000008152600481018690529092916001600160a01b03169063edb8ee5a90829063cdfda4dd90602401602060405180830381865afa158015611d3d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d619190615435565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b16815265ffffffffffff9091166004820152602401602060405180830381865afa158015611dbc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611de0919061545d565b825460018401549192506fffffffffffffffffffffffffffffffff808216928116917001000000000000000000000000000000009004166000611e2460038a6121cd565b5090506000611e3a868361ffff166127106122d8565b905080856fffffffffffffffffffffffffffffffff161015611ea3576040517f0425fab10000000000000000000000000000000000000000000000000000000081526fffffffffffffffffffffffffffffffff86166004820152602481018290526044016109da565b836fffffffffffffffffffffffffffffffff16856fffffffffffffffffffffffffffffffff1611611f1c576040517f8a0df63f0000000000000000000000000000000000000000000000000000000081526fffffffffffffffffffffffffffffffff8087166004830152851660248201526044016109da565b6000611f3b8d6060016020810190611f3491906153ce565b600161231c565b905060008054906101000a90046001600160a01b03166001600160a01b03166389e7d126828f6040518363ffffffff1660e01b8152600401611f7e9291906155b2565b6020604051808303816000875af1158015611f9d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fc191906155e8565b50604080518e3581526fffffffffffffffffffffffffffffffff808916602083015280881692820192909252908516606082015260ff82169033907ff23279e924757f3bfe4f543bc1b43685e851d6ace53f8518b806dcd8d42fc13990608001610b62565b600080610b876003846121cd565b6000804283106120c6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f506572696f64506374436865636b706f696e74733a2074696d657374616d702060448201527f6973206e6f7420696e207468652070617374000000000000000000000000000060648201526084016109da565b60006120d184613db3565b855490915060008160058111156121315760006120ed84613dfc565b6120f79085615620565b60008a81526020902090915081015465ffffffffffff90811690861610156121215780915061212f565b61212c816001615662565b92505b505b600061213f89868585613eae565b90508060000361215a576000809650965050505050506121c6565b60006121798a61216b600185615620565b600091825260209091200190565b60408051606081018252915465ffffffffffff8116835261ffff66010000000000008204811660208501819052680100000000000000009092041692909101829052985096505050505050505b9250929050565b60008042831061225f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602f60248201527f51756f72756d436865636b706f696e74733a2074696d657374616d702069732060448201527f6e6f7420696e207468652070617374000000000000000000000000000000000060648201526084016109da565b600061226a84613db3565b855490915060008160058111156122ca57600061228684613dfc565b6122909085615620565b60008a81526020902090915081015465ffffffffffff90811690861610156122ba578091506122c8565b6122c5816001615662565b92505b505b600061213f89868585613f10565b6000827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048411830215820261230d57600080fd5b50910281810615159190040190565b60008054604080517f0505c8c9000000000000000000000000000000000000000000000000000000008152905183926001600160a01b031691630505c8c99160048083019260209291908290030181865afa15801561237f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123a39190615603565b6001600160a01b0316638b2ed3886040518163ffffffff1660e01b8152600401602060405180830381865afa1580156123e0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124049190615675565b905060015b8160ff16811161253b57836124a1576040517fc167ebae00000000000000000000000000000000000000000000000000000000815260ff821660048201526001600160a01b0386169063c167ebae90602401602060405180830381865afa158015612478573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061249c9190615692565b612525565b6040517ffb847c4300000000000000000000000000000000000000000000000000000000815260ff821660048201526001600160a01b0386169063fb847c4390602401602060405180830381865afa158015612501573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125259190615692565b15612533579150610f489050565b600101612409565b50826125a857836001600160a01b03166312a52f006040518163ffffffff1660e01b8152600401602060405180830381865afa15801561257f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125a39190615675565b61260a565b836001600160a01b03166366cacdc96040518163ffffffff1660e01b8152600401602060405180830381865afa1580156125e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061260a9190615675565b949350505050565b600080546040517fb6e768730000000000000000000000000000000000000000000000000000000081528635600482015282916001600160a01b03169063b6e768739060240161012060405180830381865afa158015612676573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061269a91906152c8565b9050600060018260a001516126af91906153a6565b8735600090815260066020526040902067ffffffffffffffff9190911691506126de6080890160608a016153ce565b6001600160a01b03166302674e4b89308c6040518463ffffffff1660e01b815260040161270d939291906156af565b60006040518083038186803b15801561272557600080fd5b505afa158015612739573d6000803e3d6000fd5b505050506001600160a01b038a16600090815260048201602052604090205460ff1615612792576040517f9dd6544b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6127a0888a89600486613f6a565b60008080806127b0600487612034565b909250905060006127c760808e0160608f016153ce565b6001600160a01b031663b02bd9206040518163ffffffff1660e01b8152600401602060405180830381865afa158015612804573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061282891906153eb565b67ffffffffffffffff16905061271061ffff8416820204818960c0015167ffffffffffffffff16030194506127108261ffff1682028161286a5761286a615406565b04850193508442116128a8576040517fd0b72b4900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b834211156128e2576040517f5b73d19300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050506000612a25600160009054906101000a90046001600160a01b03166001600160a01b0316639556de738f600160009054906101000a90046001600160a01b03166001600160a01b031663cdfda4dd886040518263ffffffff1660e01b815260040161295291815260200190565b602060405180830381865afa15801561296f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906129939190615435565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b1681526001600160a01b03909216600483015265ffffffffffff166024820152604401602060405180830381865afa1580156129fc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a20919061545d565b61425e565b905060ff8a16612a9e576002840154612a649070010000000000000000000000000000000090046fffffffffffffffffffffffffffffffff16826142ad565b6002850180546fffffffffffffffffffffffffffffffff928316700100000000000000000000000000000000029216919091179055612bc6565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60ff8b1601612b37576001840154612afd9070010000000000000000000000000000000090046fffffffffffffffffffffffffffffffff16826142ad565b6001850180546fffffffffffffffffffffffffffffffff928316700100000000000000000000000000000000029216919091179055612bc6565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe60ff8b1601612bc6576002840154612b82906fffffffffffffffffffffffffffffffff16826142ad565b6002850180547fffffffffffffffffffffffffffffffff00000000000000000000000000000000166fffffffffffffffffffffffffffffffff929092169190911790555b6001600160a01b038d1660008181526004860160205260409081902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790555160ff8c1691907f4e3e2ad68670a2709cb408c31c5afd8da0b6d3d06c75b11feb404a455639fe7c90612c46908f359086908f908f90615713565b60405180910390a39c9b505050505050505050505050565b60018054604080517f91ddadf400000000000000000000000000000000000000000000000000000000815290516000936001600160a01b039093169263edb8ee5a92909184916391ddadf49160048083019260209291908290030181865afa158015612cce573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612cf29190615435565b612cfc9190615745565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b16815265ffffffffffff9091166004820152602401602060405180830381865afa158015612d57573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612d7b919061545d565b905080600003612db7576040517f34bbd58500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80821115612df1576040517f8a5e746800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60028290556040518281527fd91a985c173545ab0e0bd11c021a1ae84c1ea6eab9350d9bf3812d5b8bff49a4906020015b60405180910390a15050565b6000807f6da9390b4f29da2c44fa5a9da00b392393d01e989d16e4a3dec5a538318e352584612e5c856142f4565b6001600160a01b03871660009081526007602090815260408083207fffffffff00000000000000000000000000000000000000000000000000000000843516845290915290208054600181019091556040805160208101959095526001600160a01b03909316928401929092526060830152608082015260a001604051602081830303815290604052805190602001209050612ef66143eb565b6040517f190100000000000000000000000000000000000000000000000000000000000060208201526022810191909152604281018290526062016040516020818303038152906040528051906020012091505092915050565b80356000908152600560205260409020546001600160a01b03838116911614612fa5576040517f86ba025600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000546040517fb92cdd9a0000000000000000000000000000000000000000000000000000000081526001600160a01b039091169063b92cdd9a90612fee908490600401615764565b600060405180830381600087803b15801561300857600080fd5b505af115801561301c573d6000803e3d6000fd5b5050604051833581526001600160a01b03851692507fdcccc5725b7256a6975da00de8953e5d326756a3079d203ff6df9e52331f411a915060200160405180910390a25050565b8054600090819080820361307d5750600093849350915050565b600061308e8561216b600185615620565b60408051606081018252915465ffffffffffff8116835261ffff66010000000000008204811660208501819052680100000000000000009092041692909101829052969095509350505050565b6127108261ffff1611806130f1575061ffff8216155b1561312e576040517f8f6febc000000000000000000000000000000000000000000000000000000000815261ffff831660048201526024016109da565b6127108161ffff161180613144575061ffff8116155b15613181576040517f3bec511c00000000000000000000000000000000000000000000000000000000815261ffff821660048201526024016109da565b613194600361ffff80851690841661454d565b6040805161ffff8085168252831660208201527f77c3f43700db02acb49792bbf699b39f72c2ed4b920bd5c0b1843dcd7c832f4c9101612e22565b600080546040517fb6e768730000000000000000000000000000000000000000000000000000000081528635600482015282916001600160a01b03169063b6e768739060240161012060405180830381865afa158015613233573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061325791906152c8565b9050600060018260a0015161326c91906153a6565b8735600090815260066020526040902067ffffffffffffffff91909116915061329b6080890160608a016153ce565b6001600160a01b0316631a2a4e7789308c6040518463ffffffff1660e01b81526004016132ca939291906156af565b60006040518083038186803b1580156132e257600080fd5b505afa1580156132f6573d6000803e3d6000fd5b505050506001600160a01b038a16600090815260038201602052604090205460ff161561334f576040517f9dd6544b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61335d888a89600086613f6a565b600080808061336d600487612034565b9092509050600061338460808e0160608f016153ce565b6001600160a01b0316637999762c6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156133c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906133e591906153eb565b67ffffffffffffffff16905061271061ffff84168202048860a0015167ffffffffffffffff160194506127108261ffff1682028161342557613425615406565b0485019350844211613463576040517fd0b72b4900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8342111561349d576040517f5b73d19300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050600061350d600160009054906101000a90046001600160a01b03166001600160a01b0316639556de738f600160009054906101000a90046001600160a01b03166001600160a01b031663cdfda4dd886040518263ffffffff1660e01b815260040161295291815260200190565b905060ff8a16613580576001840154613538906fffffffffffffffffffffffffffffffff16826142ad565b6001850180547fffffffffffffffffffffffffffffffff00000000000000000000000000000000166fffffffffffffffffffffffffffffffff92909216919091179055613694565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60ff8b16016136095783546135c8906fffffffffffffffffffffffffffffffff16826142ad565b84547fffffffffffffffffffffffffffffffff00000000000000000000000000000000166fffffffffffffffffffffffffffffffff91909116178455613694565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe60ff8b16016136945783546136659070010000000000000000000000000000000090046fffffffffffffffffffffffffffffffff16826142ad565b84546fffffffffffffffffffffffffffffffff9182167001000000000000000000000000000000000291161784555b6001600160a01b038d1660008181526003860160205260409081902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790555160ff8c1691907f761cce3a1af5d9cfc0d57222f605ce4bd2be345f0ad9ebb7b83a84a91a0c201490612c46908f359086908f908f90615713565b6001600160a01b03881660009081526007602090815260408083207fffffffff000000000000000000000000000000000000000000000000000000008435168452909152812080546001810190915560007fd1fab1c7b3b37134662e5867b00e272eb49f7be0a890df29e802c3cc66c06f838b8b8b8b8b8b8b60405161379b929190615777565b604080519182900382208c516020808f0191909120908401999099526001600160a01b039788169183019190915260ff90951660608201529285166080840152931660a082015260c081019290925260e08201526101008101919091526101208101839052610140016040516020818303038152906040528051906020012090506138246143eb565b6040517f19010000000000000000000000000000000000000000000000000000000000006020820152602281019190915260428101829052606201604051602081830303815290604052805190602001209250505098975050505050505050565b600154604080517fae2a6df200000000000000000000000000000000000000000000000000000000815290516000926001600160a01b03169163ae2a6df29160048083019286929190829003018186803b1580156138e257600080fd5b505afa1580156138f6573d6000803e3d6000fd5b505060018054604080517f91ddadf40000000000000000000000000000000000000000000000000000000081529051600095506001600160a01b039092169350639556de73928e92909185916391ddadf4916004808201926020929091908290030181865afa15801561396d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906139919190615435565b61399b9190615745565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b1681526001600160a01b03909216600483015265ffffffffffff166024820152604401602060405180830381865afa158015613a04573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613a28919061545d565b9050600254811015613a69576040517f92665351000000000000000000000000000000000000000000000000000000008152600481018290526024016109da565b6000546040517fb3c678b00000000000000000000000000000000000000000000000000000000081526001600160a01b039091169063b3c678b090613abe908c908c908c908c908c908c908c906004016157ab565b6020604051808303816000875af1158015613add573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613b01919061545d565b60008181526005602090815260409182902080547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b038f16908117909155915183815292945090917f1834dfd49255741a8ce9a9bd66b91b64d13622e1d8170e4c78ac91f9ec50a542910160405180910390a25098975050505050505050565b612710613b96828461583b565b61ffff1610613bdf576040517f519dd38400000000000000000000000000000000000000000000000000000000815261ffff8084166004830152821660248201526044016109da565b613beb60048383614576565b6040805161ffff8085168252831660208201527f8df7bdcce333d9e1b85e40782fb2f293c805761d3f48aaea58865e9541e44c709101612e22565b6000807fd7be168a3509af358f222ee35ee76aba47bc5fc2c35061cdce3958f510b7b1b28888613c55896142f4565b888888604051613c66929190615777565b60408051918290039091206001600160a01b038f166000908152600760209081528382207fffffffff0000000000000000000000000000000000000000000000000000000083351683529052919091208054600181019091556040805160208101989098526001600160a01b039096169587019590955260ff938416606087015260808601929092529190911660a084015260c083015260e082015261010001604051602081830303815290604052805190602001209050613d266143eb565b6040517f19010000000000000000000000000000000000000000000000000000000000006020820152602281019190915260428101829052606201604051602081830303815290604052805190602001209150509695505050505050565b6000807fa87058c5a9888e7af4405a932381d5a4612c61354bc3e52e9ea361ba17703fb38888613c55896142f4565b600065ffffffffffff821115613df8576040517fc0188c4f000000000000000000000000000000000000000000000000000000008152600481018390526024016109da565b5090565b60b581710100000000000000000000000000000000008110613e235760409190911b9060801c5b69010000000000000000008110613e3f5760209190911b9060401c5b650100000000008110613e575760109190911b9060201c5b63010000008110613e6d5760089190911b9060101c5b62010000010260121c80820401600190811c80830401811c80830401811c80830401811c80830401811c80830401811c80830401901c908190048111900390565b60005b81831015613f08576000613ec584846145a2565b60008781526020902090915065ffffffffffff86169082015465ffffffffffff161115613ef457809250613f02565b613eff816001615662565b93505b50613eb1565b509392505050565b60005b81831015613f08576000613f2784846145a2565b60008781526020902090915065ffffffffffff86169082015465ffffffffffff161115613f5657809250613f64565b613f61816001615662565b93505b50613f13565b600260ff84161115613fad576040517ffe0e5d8b00000000000000000000000000000000000000000000000000000000815260ff841660048201526024016109da565b600080546040517fec12d8be0000000000000000000000000000000000000000000000000000000081526001600160a01b039091169063ec12d8be90613ff7908990600401615764565b602060405180830381865afa158015614014573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906140389190615675565b60ff16600681111561404c5761404c6156e4565b9050826006811115614060576140606156e4565b816006811115614072576140726156e4565b146140ab57806040517f87afe58e0000000000000000000000000000000000000000000000000000000081526004016109da9190615856565b60008060009054906101000a90046001600160a01b03166001600160a01b0316630505c8c96040518163ffffffff1660e01b8152600401602060405180830381865afa1580156140ff573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906141239190615603565b6040517fe0bec07600000000000000000000000000000000000000000000000000000000815230600482015260ff88166024820152604481018590526001600160a01b03919091169063e0bec07690606401602060405180830381865afa158015614192573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906141b69190615692565b9050806141ef576040517f88aebd1200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600160009054906101000a90046001600160a01b03166001600160a01b031663ae2a6df26040518163ffffffff1660e01b815260040160006040518083038186803b15801561423d57600080fd5b505afa158015614251573d6000803e3d6000fd5b5050505050505050505050565b60006fffffffffffffffffffffffffffffffff821115613df8576040517fc0188c4f000000000000000000000000000000000000000000000000000000008152600481018390526024016109da565b60006fffffffffffffffffffffffffffffffff6142ce838216858316615662565b106142ea57506fffffffffffffffffffffffffffffffff610f48565b6110a28284615897565b60007f86b4555c6e347ea3f038485b59b894986c208b67da7e65fcfa3707271608465f823561432960408501602086016153ce565b61433960608601604087016158c0565b61434960808701606088016153ce565b61435960a08801608089016153ce565b60a088013561436b60c08a018a6158dd565b604051614379929190615777565b6040805191829003822060208301999099528101969096526001600160a01b03948516606087015260ff909316608086015290831660a08501529190911660c083015260e082015261010081019190915261012001604051602081830303815290604052805190602001209050919050565b60008054604080517f06fdde0300000000000000000000000000000000000000000000000000000000815290517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f926001600160a01b0316916306fdde0391600480830192879291908290030181865afa15801561446d573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526144b39190810190615942565b8051602091820120604080518082018252600181527f310000000000000000000000000000000000000000000000000000000000000090840152805192830193909352918101919091527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a082015260c00160405160208183030381529060405280519060200120905090565b6145718361455a42613db3565b614563856145bd565b61456c856145bd565b6145fe565b505050565b6145718361458342613db3565b6145908561ffff166145bd565b61459d8561ffff166145bd565b614909565b60006145b160028484186159b0565b6110a290848416615662565b600061ffff821115613df8576040517fc0188c4f000000000000000000000000000000000000000000000000000000008152600481018390526024016109da565b835480156148475760006146178661216b600185615620565b60408051606081018252915465ffffffffffff80821680855261ffff66010000000000008404811660208701526801000000000000000090930490921692840192909252919250861610156146ed576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f51756f72756d20436865636b706f696e743a20696e76616c69642074696d657360448201527f74616d700000000000000000000000000000000000000000000000000000000060648201526084016109da565b805165ffffffffffff8087169116036147865760006147118761216b600186615620565b805461ffff86811668010000000000000000027fffffffffffffffffffffffffffffffffffffffffffff0000ffffffffffffffff918916660100000000000002919091167fffffffffffffffffffffffffffffffffffffffffffff00000000ffffffffffff9092169190911717905550614841565b6040805160608101825265ffffffffffff808816825261ffff80881660208085019182528883169585019586528b54600181018d5560008d81529190912094519401805491519551831668010000000000000000027fffffffffffffffffffffffffffffffffffffffffffff0000ffffffffffffffff969093166601000000000000027fffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000909216949093169390931792909217929092161790555b50614902565b6040805160608101825265ffffffffffff808716825261ffff80871660208085019182528783169585019586528a54600181018c5560008c81529190912094519401805491519551831668010000000000000000027fffffffffffffffffffffffffffffffffffffffffffff0000ffffffffffffffff969093166601000000000000027fffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000909216949093169390931792909217929092161790555b5050505050565b835480156148475760006149228661216b600185615620565b60408051606081018252915465ffffffffffff80821680855261ffff66010000000000008404811660208701526801000000000000000090930490921692840192909252919250861610156146ed576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602860248201527f506572696f642050637420436865636b706f696e743a20696e76616c6964207460448201527f696d657374616d7000000000000000000000000000000000000000000000000060648201526084016109da565b600060e08284031215614a0b57600080fd5b50919050565b600060208284031215614a2357600080fd5b813567ffffffffffffffff811115614a3a57600080fd5b61260a848285016149f9565b600060208284031215614a5857600080fd5b5035919050565b60ff81168114610c7257600080fd5b8035614a7981614a5f565b919050565b60008083601f840112614a9057600080fd5b50813567ffffffffffffffff811115614aa857600080fd5b6020830191508360208285010111156121c657600080fd5b600080600080600060808688031215614ad857600080fd5b8535614ae381614a5f565b9450602086013567ffffffffffffffff80821115614b0057600080fd5b614b0c89838a016149f9565b955060408801359150614b1e82614a5f565b90935060608701359080821115614b3457600080fd5b50614b4188828901614a7e565b969995985093965092949392505050565b80357fffffffff0000000000000000000000000000000000000000000000000000000081168114614a7957600080fd5b600060208284031215614b9457600080fd5b6110a282614b52565b6001600160a01b0381168114610c7257600080fd5b8035614a7981614b9d565b600080600080600060a08688031215614bd557600080fd5b8535614be081614b9d565b9450602086013567ffffffffffffffff811115614bfc57600080fd5b614c08888289016149f9565b9450506040860135614c1981614a5f565b94979396509394606081013594506080013592915050565b60008060408385031215614c4457600080fd5b50508035926020909101359150565b60208082528251828201829052805160408401819052600092916060919083019082860190855b81811015614cc357614cb3838551805165ffffffffffff16825260208082015161ffff9081169184019190915260409182015116910152565b9285019291840191600101614c7a565b5090979650505050505050565b803561ffff81168114614a7957600080fd5b60008060408385031215614cf557600080fd5b614cfe83614cd0565b9150614d0c60208401614cd0565b90509250929050565b8015158114610c7257600080fd5b600080600060608486031215614d3857600080fd5b833592506020840135614d4a81614b9d565b91506040840135614d5a81614d15565b809150509250925092565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051610120810167ffffffffffffffff81118282101715614db857614db8614d65565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715614e0557614e05614d65565b604052919050565b600067ffffffffffffffff821115614e2757614e27614d65565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b600082601f830112614e6457600080fd5b8135614e77614e7282614e0d565b614dbe565b818152846020838601011115614e8c57600080fd5b816020850160208301376000918101602001919091529392505050565b60008060008060008060008060008060006101408c8e031215614ecb57600080fd5b614ed48c614bb2565b9a50614ee260208d01614a6e565b9950614ef060408d01614bb2565b9850614efe60608d01614bb2565b975060808c0135965067ffffffffffffffff8060a08e01351115614f2157600080fd5b614f318e60a08f01358f01614a7e565b909750955060c08d0135811015614f4757600080fd5b50614f588d60c08e01358e01614e53565b9350614f6660e08d01614a6e565b92506101008c013591506101208c013590509295989b509295989b9093969950565b60008060008084860360e0811215614f9f57600080fd5b8535614faa81614b9d565b94506020860135614fba81614b9d565b93506040860135925060807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa082011215614ff357600080fd5b506040516080810181811067ffffffffffffffff8211171561501757615017614d65565b60405261502660608701614cd0565b815261503460808701614cd0565b602082015261504560a08701614cd0565b604082015261505660c08701614cd0565b6060820152939692955090935050565b60008060008060008060008060006101008a8c03121561508557600080fd5b893561509081614b9d565b985060208a01356150a081614a5f565b975060408a013567ffffffffffffffff808211156150bd57600080fd5b6150c98d838e016149f9565b985060608c013591506150db82614a5f565b90965060808b013590808211156150f157600080fd5b506150fe8c828d01614a7e565b90965094505060a08a013561511281614a5f565b8093505060c08a0135915060e08a013590509295985092959850929598565b60008060008060008060008060c0898b03121561514d57600080fd5b883561515881614a5f565b9750602089013561516881614b9d565b9650604089013561517881614b9d565b955060608901359450608089013567ffffffffffffffff8082111561519c57600080fd5b6151a88c838d01614a7e565b909650945060a08b01359150808211156151c157600080fd5b506151ce8b828c01614a7e565b999c989b5096995094979396929594505050565b600080604083850312156151f557600080fd5b823561520081614b9d565b9150614d0c60208401614b52565b60208082528251828201829052805160408401819052600092916060919083019082860190855b81811015614cc35761526e838551805165ffffffffffff16825260208082015161ffff9081169184019190915260409182015116910152565b9285019291840191600101615235565b8051614a7981614d15565b8051614a7981614b9d565b805167ffffffffffffffff81168114614a7957600080fd5b80516bffffffffffffffffffffffff81168114614a7957600080fd5b600061012082840312156152db57600080fd5b6152e3614d94565b825181526152f36020840161527e565b60208201526153046040840161527e565b60408201526153156060840161527e565b606082015261532660808401615289565b608082015261533760a08401615294565b60a082015261534860c08401615294565b60c082015261535960e084016152ac565b60e082015261010061536c8185016152ac565b908201529392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b67ffffffffffffffff8281168282160390808211156153c7576153c7615377565b5092915050565b6000602082840312156153e057600080fd5b81356110a281614b9d565b6000602082840312156153fd57600080fd5b6110a282615294565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006020828403121561544757600080fd5b815165ffffffffffff811681146110a257600080fd5b60006020828403121561546f57600080fd5b5051919050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b80358252600060208201356154d381614b9d565b6001600160a01b0390811660208501526040830135906154f282614a5f565b60ff821660408601526060840135915061550b82614b9d565b908116606085015260808301359061552282614b9d565b16608084015260a0828101359084015260c0820135368390037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe101811261556857600080fd5b820160208101903567ffffffffffffffff81111561558557600080fd5b80360382131561559457600080fd5b60e060c08601526155a960e086018284615476565b95945050505050565b60ff831681526060602082015260006155ce60608301846154bf565b828103604084015260008152602081019150509392505050565b6000602082840312156155fa57600080fd5b6110a2826152ac565b60006020828403121561561557600080fd5b81516110a281614b9d565b81810381811115610f4857610f48615377565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b80820180821115610f4857610f48615377565b60006020828403121561568757600080fd5b81516110a281614a5f565b6000602082840312156156a457600080fd5b81516110a281614d15565b6060815260006156c260608301866154bf565b90506001600160a01b038416602083015260ff83166040830152949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b8481526fffffffffffffffffffffffffffffffff84166020820152606060408201526000610ba0606083018486615476565b65ffffffffffff8281168282160390808211156153c7576153c7615377565b6020815260006110a260208301846154bf565b8183823760009101908152919050565b60005b838110156157a257818101518382015260200161578a565b50506000910152565b60ff8816815260006001600160a01b03808916602084015280881660408401525085606083015260c060808301526157e760c083018587615476565b82810360a08401528351808252615805816020840160208801615787565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016016020019998505050505050505050565b61ffff8181168382160190808211156153c7576153c7615377565b6020810160078310615891577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b91905290565b6fffffffffffffffffffffffffffffffff8181168382160190808211156153c7576153c7615377565b6000602082840312156158d257600080fd5b81356110a281614a5f565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261591257600080fd5b83018035915067ffffffffffffffff82111561592d57600080fd5b6020019150368190038213156121c657600080fd5b60006020828403121561595457600080fd5b815167ffffffffffffffff81111561596b57600080fd5b8201601f8101841361597c57600080fd5b805161598a614e7282614e0d565b81815285602083850101111561599f57600080fd5b6155a9826020830160208601615787565b6000826159e6577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b50049056fea164736f6c6343000817000a", + "nonce": "0x0", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x80abafa25eeb3637ce3d091b2ba7747144f3b7787c3766075699e30c02cbc3b3", + "transactionType": "CREATE", + "contractName": "LlamaTokenVotingFactory", + "contractAddress": "0xFBE17545dffD75A92A5A72926AE581478973FE65", + "function": null, + "arguments": [ + "0x3f3DAB3ab8cEc2FBd06767c2A5F66Cb6BFF21A4A" + ], + "transaction": { + "type": "0x02", + "from": "0xb72276d9ff15c7998b9962ffcfb21a6c7249441b", + "gas": "0x855585", + "value": "0x0", + "data": "0x60a060405234801561001057600080fd5b50604051610b16380380610b1683398101604081905261002f91610040565b6001600160a01b0316608052610070565b60006020828403121561005257600080fd5b81516001600160a01b038116811461006957600080fd5b9392505050565b608051610a8561009160003960008181604001526104390152610a856000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c806321618ea41461003b5780633ec857a51461008b575b600080fd5b6100627f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b61006261009936600461087b565b600080338360000151846040015185606001516040516020016100bf9493929190610959565b60405160208183030381529060405280519060200120905060006100e7846020015183610622565b60408086015190517f439fab9100000000000000000000000000000000000000000000000000000000815291925073ffffffffffffffffffffffffffffffffffffffff83169163439fab919161013f916004016109b9565b6020604051808303816000875af115801561015e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101829190610a0a565b50600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1663fc0c546a6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156101e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061020a9190610a33565b73ffffffffffffffffffffffffffffffffffffffff1603610257576040517f65f5b03400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517fcdfda4dd00000000000000000000000000000000000000000000000000000000815242600482015273ffffffffffffffffffffffffffffffffffffffff82169063cdfda4dd90602401602060405180830381865afa1580156102c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102e59190610a50565b65ffffffffffff16600003610326576040517f65f5b03400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff166391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865afa158015610371573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103959190610a50565b65ffffffffffff166000036103d6576040517f65f5b03400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1663ae2a6df26040518163ffffffff1660e01b815260040160006040518083038186803b15801561041c57600080fd5b505afa158015610430573d6000803e3d6000fd5b5050505061045e7f000000000000000000000000000000000000000000000000000000000000000083610622565b8451608086015160a0870151604080517f8734852a00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff948516600482015286851660248201526044810193909352815161ffff908116606485015260208301518116608485015290820151811660a48401526060909101511660c4820152919450841690638734852a9060e401600060405180830381600087803b15801561051757600080fd5b505af115801561052b573d6000803e3d6000fd5b505050508073ffffffffffffffffffffffffffffffffffffffff1663fc0c546a6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561057a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061059e9190610a33565b84516020808701516060808901516040805173ffffffffffffffffffffffffffffffffffffffff94851681528885169581019590955284015287821690830152466080830152928316929091169033907f4c8bb78cb1c62e64cef39fc4b4a1864d1a331a28c7bd59a67fe969cc8ab715879060a00160405180910390a45050919050565b6000763d602d80600a3d3981f3363d3d373d3d3d363d730000008360601b60e81c176000526e5af43d82803e903d91602b57fd5bf38360781b1760205281603760096000f5905073ffffffffffffffffffffffffffffffffffffffff81166106b6576040517fc2f868f400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405160c0810167ffffffffffffffff8111828210171561070e5761070e6106bc565b60405290565b73ffffffffffffffffffffffffffffffffffffffff8116811461073657600080fd5b50565b600082601f83011261074a57600080fd5b813567ffffffffffffffff80821115610765576107656106bc565b604051601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011681019082821181831017156107ab576107ab6106bc565b816040528381528660208588010111156107c457600080fd5b836020870160208301376000602085830101528094505050505092915050565b803561ffff811681146107f657600080fd5b919050565b60006080828403121561080d57600080fd5b6040516080810181811067ffffffffffffffff82111715610830576108306106bc565b60405290508061083f836107e4565b815261084d602084016107e4565b602082015261085e604084016107e4565b604082015261086f606084016107e4565b60608201525092915050565b60006020828403121561088d57600080fd5b813567ffffffffffffffff808211156108a557600080fd5b9083019061012082860312156108ba57600080fd5b6108c26106eb565b82356108cd81610714565b815260208301356108dd81610714565b60208201526040830135828111156108f457600080fd5b61090087828601610739565b60408301525060608301356060820152608083013560808201526109278660a085016107fb565b60a082015295945050505050565b60005b83811015610950578181015183820152602001610938565b50506000910152565b60007fffffffffffffffffffffffffffffffffffffffff000000000000000000000000808760601b168352808660601b1660148401525083516109a3816028850160208801610935565b6028920191820192909252604801949350505050565b60208152600082518060208401526109d8816040850160208701610935565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169190910160400192915050565b600060208284031215610a1c57600080fd5b81518015158114610a2c57600080fd5b9392505050565b600060208284031215610a4557600080fd5b8151610a2c81610714565b600060208284031215610a6257600080fd5b815165ffffffffffff81168114610a2c57600080fdfea164736f6c6343000817000a0000000000000000000000003f3dab3ab8cec2fbd06767c2a5f66cb6bff21a4a", + "nonce": "0x1", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xeae93bbb8940d971f492d801eba6af088c07d7ee10bbca07a09c57be979cd274", + "transactionType": "CREATE", + "contractName": "LlamaTokenAdapterVotesTimestamp", + "contractAddress": "0x088C268cb00226D6A9b29e5488905Aa94D2f0239", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0xb72276d9ff15c7998b9962ffcfb21a6c7249441b", + "gas": "0xb1d31d", + "value": "0x0", + "data": "0x608060405234801561001057600080fd5b5061001961001e565b6100d0565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff161561006e5760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b03908116146100cd5780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b610df5806100df6000396000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c8063ae2a6df21161005b578063ae2a6df21461010a578063cdfda4dd14610114578063edb8ee5a14610127578063fc0c546a1461013a57600080fd5b8063439fab911461008d5780634bf5d7e9146100b557806391ddadf4146100ca5780639556de73146100e9575b600080fd5b6100a061009b3660046108e4565b61017f565b60405190151581526020015b60405180910390f35b6100bd6103a1565b6040516100ac9190610988565b6100d261042f565b60405165ffffffffffff90911681526020016100ac565b6100fc6100f7366004610a12565b6104e9565b6040519081526020016100ac565b610112610593565b005b6100d2610122366004610a4b565b6105ef565b6100fc610135366004610a64565b610600565b60005461015a9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100ac565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0080546000919068010000000000000000810460ff16159067ffffffffffffffff1683811580156101cd5750825b905060008267ffffffffffffffff1660011480156101ea5750303b155b9050811580156101f8575080155b1561022f576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b84547fffffffffffffffffffffffffffffffffffffffffffffffff000000000000000016600117855583156102905784547fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff16680100000000000000001785555b6000878060200190518101906102a69190610a81565b8051600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff90921691909117905560408051808201909152600e81527f6d6f64653d74696d657374616d7000000000000000000000000000000000000060208201529091506001906103309082610b71565b50600196505083156103975784547fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b5050505050919050565b600180546103ae90610acd565b80601f01602080910402602001604051908101604052809291908181526020018280546103da90610acd565b80156104275780601f106103fc57610100808354040283529160200191610427565b820191906000526020600020905b81548152906001019060200180831161040a57829003601f168201915b505050505081565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156104d7575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682019092526104d491810190610c8b565b60015b6104e4576104e44261069b565b905090565b600080546040517f3a46b1a800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff858116600483015265ffffffffffff8516602483015290911690633a46b1a890604401602060405180830381865afa158015610568573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061058c9190610ca8565b9392505050565b600061059d6106e8565b905060006105a9610712565b905081806105b45750805b156105eb576040517f6ff0714000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050565b60006105fa8261069b565b92915050565b600080546040517f8e539e8c00000000000000000000000000000000000000000000000000000000815265ffffffffffff8416600482015273ffffffffffffffffffffffffffffffffffffffff90911690638e539e8c90602401602060405180830381865afa158015610677573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105fa9190610ca8565b600065ffffffffffff8211156106e4576040517fc0188c4f0000000000000000000000000000000000000000000000000000000081526004810183905260240160405180910390fd5b5090565b60006106f34261069b565b65ffffffffffff1661070361042f565b65ffffffffffff161415905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16634bf5d7e96040518163ffffffff1660e01b8152600401600060405180830381865afa9250505080156107bf57506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526107bc9190810190610cc1565b60015b6107c95750600090565b60016040516020016107db9190610d38565b60405160208183030381529060405280519060200120816040516020016108029190610dcc565b60405160208183030381529060405280519060200120141591505090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff8111828210171561089657610896610820565b604052919050565b600067ffffffffffffffff8211156108b8576108b8610820565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b6000602082840312156108f657600080fd5b813567ffffffffffffffff81111561090d57600080fd5b8201601f8101841361091e57600080fd5b803561093161092c8261089e565b61084f565b81815285602083850101111561094657600080fd5b81602084016020830137600091810160200191909152949350505050565b60005b8381101561097f578181015183820152602001610967565b50506000910152565b60208152600082518060208401526109a7816040850160208701610964565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169190910160400192915050565b73ffffffffffffffffffffffffffffffffffffffff811681146109fb57600080fd5b50565b65ffffffffffff811681146109fb57600080fd5b60008060408385031215610a2557600080fd5b8235610a30816109d9565b91506020830135610a40816109fe565b809150509250929050565b600060208284031215610a5d57600080fd5b5035919050565b600060208284031215610a7657600080fd5b813561058c816109fe565b600060208284031215610a9357600080fd5b6040516020810181811067ffffffffffffffff82111715610ab657610ab6610820565b6040528251610ac4816109d9565b81529392505050565b600181811c90821680610ae157607f821691505b602082108103610b1a577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b601f821115610b6c576000816000526020600020601f850160051c81016020861015610b495750805b601f850160051c820191505b81811015610b6857828155600101610b55565b5050505b505050565b815167ffffffffffffffff811115610b8b57610b8b610820565b610b9f81610b998454610acd565b84610b20565b602080601f831160018114610bf25760008415610bbc5750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b178555610b68565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b82811015610c3f57888601518255948401946001909101908401610c20565b5085821015610c7b57878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b600060208284031215610c9d57600080fd5b815161058c816109fe565b600060208284031215610cba57600080fd5b5051919050565b600060208284031215610cd357600080fd5b815167ffffffffffffffff811115610cea57600080fd5b8201601f81018413610cfb57600080fd5b8051610d0961092c8261089e565b818152856020838501011115610d1e57600080fd5b610d2f826020830160208601610964565b95945050505050565b6000808354610d4681610acd565b60018281168015610d5e5760018114610d9157610dc0565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0084168752821515830287019450610dc0565b8760005260208060002060005b85811015610db75781548a820152908401908201610d9e565b50505082870194505b50929695505050505050565b60008251610dde818460208701610964565b919091019291505056fea164736f6c6343000817000a", + "nonce": "0x2", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0xf2ece4defcedac66b3b1059431916c31696f6921e32829b1366edd7935e569a3", + "transactionIndex": "0x5", + "blockHash": "0xff4e13196dc9145dc214013ff8e2ce4a9a7fb50e62e4de0687bd7c4d454e1992", + "blockNumber": "0xa198533", + "from": "0xb72276D9FF15c7998b9962FFCfB21A6C7249441B", + "to": null, + "cumulativeGasUsed": "0x2471c2c", + "gasUsed": "0x21c6186", + "contractAddress": "0x3f3DAB3ab8cEc2FBd06767c2A5F66Cb6BFF21A4A", + "logs": [ + { + "address": "0x3f3DAB3ab8cEc2FBd06767c2A5F66Cb6BFF21A4A", + "topics": [ + "0xc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2" + ], + "data": "0x000000000000000000000000000000000000000000000000ffffffffffffffff", + "blockHash": "0xff4e13196dc9145dc214013ff8e2ce4a9a7fb50e62e4de0687bd7c4d454e1992", + "blockNumber": "0xa198533", + "transactionHash": "0xf2ece4defcedac66b3b1059431916c31696f6921e32829b1366edd7935e569a3", + "transactionIndex": "0x5", + "logIndex": "0x10", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000800000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0x5f5e100" + }, + { + "transactionHash": "0x80abafa25eeb3637ce3d091b2ba7747144f3b7787c3766075699e30c02cbc3b3", + "transactionIndex": "0x7", + "blockHash": "0x841ba5993e8d166133903414593f2ac91288c526f61796bb086020bf7931b852", + "blockNumber": "0xa19854e", + "from": "0xb72276D9FF15c7998b9962FFCfB21A6C7249441B", + "to": null, + "cumulativeGasUsed": "0xabb057", + "gasUsed": "0x5b76fd", + "contractAddress": "0xFBE17545dffD75A92A5A72926AE581478973FE65", + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0x5f5e100" + }, + { + "transactionHash": "0xeae93bbb8940d971f492d801eba6af088c07d7ee10bbca07a09c57be979cd274", + "transactionIndex": "0x1", + "blockHash": "0xf3db81beae5e85d3113c6ab6a702a954265fd5348258f5a91a9ba534adffde7d", + "blockNumber": "0xa19856a", + "from": "0xb72276D9FF15c7998b9962FFCfB21A6C7249441B", + "to": null, + "cumulativeGasUsed": "0x7afd0f", + "gasUsed": "0x7afd0f", + "contractAddress": "0x088C268cb00226D6A9b29e5488905Aa94D2f0239", + "logs": [ + { + "address": "0x088C268cb00226D6A9b29e5488905Aa94D2f0239", + "topics": [ + "0xc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2" + ], + "data": "0x000000000000000000000000000000000000000000000000ffffffffffffffff", + "blockHash": "0xf3db81beae5e85d3113c6ab6a702a954265fd5348258f5a91a9ba534adffde7d", + "blockNumber": "0xa19856a", + "transactionHash": "0xeae93bbb8940d971f492d801eba6af088c07d7ee10bbca07a09c57be979cd274", + "transactionIndex": "0x1", + "logIndex": "0x0", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000800000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000008000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0x5f5e100" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1704995940, + "chain": 42161, + "multi": false, + "commit": "688208a" +} \ No newline at end of file diff --git a/broadcast/DeployLlamaTokenVotingFactory.s.sol/42161/run-1704995990.json b/broadcast/DeployLlamaTokenVotingFactory.s.sol/42161/run-1704995990.json new file mode 100644 index 0000000..5485f3b --- /dev/null +++ b/broadcast/DeployLlamaTokenVotingFactory.s.sol/42161/run-1704995990.json @@ -0,0 +1,148 @@ +{ + "transactions": [ + { + "hash": "0xf2ece4defcedac66b3b1059431916c31696f6921e32829b1366edd7935e569a3", + "transactionType": "CREATE", + "contractName": "LlamaTokenGovernor", + "contractAddress": "0x3f3DAB3ab8cEc2FBd06767c2A5F66Cb6BFF21A4A", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0xb72276d9ff15c7998b9962ffcfb21a6c7249441b", + "gas": "0x3031ede", + "value": "0x0", + "data": "0x60806040523480156200001157600080fd5b506200001c62000022565b620000d6565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff1615620000735760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b0390811614620000d35780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b6159f880620000e66000396000f3fe608060405234801561001057600080fd5b50600436106101da5760003560e01c80637e4a56bb11610104578063b92cdd9a116100a2578063cae3bdff11610071578063cae3bdff1461053d578063dcae21b714610552578063e45061ea14610565578063e5589b9d1461057857600080fd5b8063b92cdd9a146104e4578063b9b2cf6c146104f7578063c193c2691461050a578063c26c12eb1461053557600080fd5b80638734852a116100de5780638734852a1461049857806396ff6e2e146104ab578063a1d9b412146104be578063b3c678b0146104d157600080fd5b80637e4a56bb1461046a5780637ed7238e14610472578063807ad1141461048557600080fd5b80633fed8f161161017c57806359e5332d1161014b57806359e5332d1461036457806364f6b3161461037b5780637186dd9c1461038e57806374f717cd1461044757600080fd5b80633fed8f16146103165780634d61ebf4146103365780634ec0ab1c1461033e578063509c5fbd1461035157600080fd5b806319a39740116101b857806319a397401461025b5780631e127ddf1461026e578063372fa8e8146102c25780633df91222146102d557600080fd5b80630669b1ce146101df57806311f900b5146101f45780631650080714610227575b600080fd5b6101f26101ed366004614a11565b61058b565b005b610207610202366004614a46565b610b79565b6040805161ffff9384168152929091166020830152015b60405180910390f35b61023a610235366004614ac0565b610b90565b6040516fffffffffffffffffffffffffffffffff909116815260200161021e565b6101f2610269366004614a46565b610baa565b6101f261027c366004614b82565b3360009081526007602090815260408083207fffffffff000000000000000000000000000000000000000000000000000000009490941683529290522080546001019055565b6101f26102d0366004614bbd565b610c75565b6102fe6102e3366004614a46565b6005602052600090815260409020546001600160a01b031681565b6040516001600160a01b03909116815260200161021e565b610329610324366004614c31565b610d76565b60405161021e9190614c53565b610207610f4e565b6101f261034c366004614ce2565b610f63565b61023a61035f366004614ac0565b611030565b61036d60025481565b60405190815260200161021e565b6000546102fe906001600160a01b031681565b6103fc61039c366004614a46565b6006602052600090815260409020805460018201546002909201546fffffffffffffffffffffffffffffffff8083169370010000000000000000000000000000000093849004821693818316939181900483169282811692919091041686565b604080516fffffffffffffffffffffffffffffffff978816815295871660208701529386169385019390935290841660608401528316608083015290911660a082015260c00161021e565b61045a610455366004614d23565b611040565b604051901515815260200161021e565b6103296110a9565b61036d610480366004614ea9565b61114c565b6001546102fe906001600160a01b031681565b6101f26104a6366004614f88565b611263565b61023a6104b9366004615066565b6114b5565b61023a6104cc366004615066565b6115c6565b61036d6104df366004615131565b6116c7565b6101f26104f2366004614a11565b61171c565b6101f2610505366004614ce2565b611726565b61036d6105183660046151e2565b600760209081526000928352604080842090915290825290205481565b6102076117ef565b6105456117fc565b60405161021e919061520e565b610545610560366004614c31565b61188f565b6101f2610573366004614a11565b611a4d565b610207610586366004614a46565b612026565b600080546040517fb6e76873000000000000000000000000000000000000000000000000000000008152833560048201526001600160a01b039091169063b6e768739060240161012060405180830381865afa1580156105ef573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061061391906152c8565b9050600060018260a0015161062891906153a6565b67ffffffffffffffff169050600160009054906101000a90046001600160a01b03166001600160a01b031663ae2a6df26040518163ffffffff1660e01b815260040160006040518083038186803b15801561068257600080fd5b505afa158015610696573d6000803e3d6000fd5b505050506000806000806106b485600461203490919063ffffffff16565b909250905060006106cb6080890160608a016153ce565b6001600160a01b031663b02bd9206040518163ffffffff1660e01b8152600401602060405180830381865afa158015610708573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061072c91906153eb565b67ffffffffffffffff16905061271061ffff8416820204818860c0015167ffffffffffffffff16030194506127108261ffff1682028161076e5761076e615406565b04850193508342116107ac576040517f038d8a6a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8660c0015167ffffffffffffffff1642106107f3576040517f08c8d62700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050843560009081526006602052604080822060015491517fcdfda4dd000000000000000000000000000000000000000000000000000000008152600481018690529092916001600160a01b03169063edb8ee5a90829063cdfda4dd90602401602060405180830381865afa158015610871573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108959190615435565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b16815265ffffffffffff9091166004820152602401602060405180830381865afa1580156108f0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610914919061545d565b600183015460028401549192506fffffffffffffffffffffffffffffffff7001000000000000000000000000000000009182900481169291820481169116600061095f60038a6121cd565b9150506000610975868361ffff166127106122d8565b905080856fffffffffffffffffffffffffffffffff1610156109e3576040517fbfb9aa550000000000000000000000000000000000000000000000000000000081526fffffffffffffffffffffffffffffffff86166004820152602481018290526044015b60405180910390fd5b836fffffffffffffffffffffffffffffffff16856fffffffffffffffffffffffffffffffff1611610a5c576040517f8a0df63f0000000000000000000000000000000000000000000000000000000081526fffffffffffffffffffffffffffffffff8087166004830152851660248201526044016109da565b6000610a7b8d6060016020810190610a7491906153ce565b600061231c565b905060008054906101000a90046001600160a01b03166001600160a01b03166394004706828f6040518363ffffffff1660e01b8152600401610abe9291906155b2565b6020604051808303816000875af1158015610add573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b0191906155e8565b50604080518e3581526fffffffffffffffffffffffffffffffff808916602083015280881692820192909252908516606082015260ff82169033907ff5bc433f16cc3d0e9fcb5ac4f8de9f17eb90de1fd2a9ede5952c2097d4ef1a59906080015b60405180910390a350505050505050505050505050565b600080610b87600484612034565b91509150915091565b6000610ba0338787878787612612565b9695505050505050565b60008054906101000a90046001600160a01b03166001600160a01b031663c34c08e56040518163ffffffff1660e01b8152600401602060405180830381865afa158015610bfb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c1f9190615603565b6001600160a01b0316336001600160a01b031614610c69576040517f26bee1ce00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610c7281612c5e565b50565b6000610c818686612e2e565b6040805160008082526020820180845284905260ff88169282019290925260608101869052608081018590529192509060019060a0016020604051602081039080840390855afa158015610cd9573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001519150506001600160a01b0381161580610d2c5750866001600160a01b0316816001600160a01b031614155b15610d63576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610d6d8187612f50565b50505050505050565b60408051602081019091526060815281831115610dbf576040517f2cd4dad300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60045480831115610dfc576040517f2cd4dad300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610e088585615620565b905060008167ffffffffffffffff811115610e2557610e25614d65565b604051908082528060200260200182016040528015610e8e57816020015b60408051606081018252600080825260208083018290529282015282527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff909201910181610e435790505b509050855b85811015610f34576004805482908110610eaf57610eaf615633565b600091825260209182902060408051606081018252919092015465ffffffffffff8116825261ffff660100000000000082048116948301949094526801000000000000000090049092169082015282610f088984615620565b81518110610f1857610f18615633565b6020026020010181905250610f2d8160010190565b9050610e93565b506040805160208101909152908152925050505b92915050565b600080610f5b6004613063565b915091509091565b60008054906101000a90046001600160a01b03166001600160a01b031663c34c08e56040518163ffffffff1660e01b8152600401602060405180830381865afa158015610fb4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fd89190615603565b6001600160a01b0316336001600160a01b031614611022576040517f26bee1ce00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61102c82826130db565b5050565b6000610ba03387878787876131cf565b60008115611077575060008381526006602090815260408083206001600160a01b038616845260030190915290205460ff166110a2565b5060008381526006602090815260408083206001600160a01b038616845260040190915290205460ff165b9392505050565b6040805160208101909152606081526040805160048054602081810284018501855283018181529293919284929091849160009085015b8282101561113f576000848152602090819020604080516060810182529185015465ffffffffffff8116835261ffff660100000000000082048116848601526801000000000000000090910416908201528252600190920191016110e0565b5050505081525050905090565b60008061115f8d8d8d8d8d8d8d8d613714565b6040805160008082526020820180845284905260ff89169282019290925260608101879052608081018690529192509060019060a0016020604051602081039080840390855afa1580156111b7573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001519150506001600160a01b038116158061120a57508d6001600160a01b0316816001600160a01b031614155b15611241576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611251818e8e8e8e8e8e8e613885565b9e9d5050505050505050505050505050565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000810460ff16159067ffffffffffffffff166000811580156112ae5750825b905060008267ffffffffffffffff1660011480156112cb5750303b155b9050811580156112d9575080155b15611310576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b84547fffffffffffffffffffffffffffffffffffffffffffffffff000000000000000016600117855583156113715784547fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff16680100000000000000001785555b886001600160a01b0316639bccfe496040518163ffffffff1660e01b8152600401602060405180830381865afa1580156113af573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113d3919061545d565b50600080546001600160a01b03808c167fffffffffffffffffffffffff00000000000000000000000000000000000000009283161790925560018054928b169290911691909117905561142587612c5e565b611437866000015187602001516130db565b61144986604001518760600151613b89565b83156114aa5784547fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b505050505050505050565b6000806114c68b8b8b8b8b8b613c26565b6040805160008082526020820180845284905260ff89169282019290925260608101879052608081018690529192509060019060a0016020604051602081039080840390855afa15801561151e573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001519150506001600160a01b038116158061157157508b6001600160a01b0316816001600160a01b031614155b156115a8576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6115b6818c8c8c8c8c6131cf565b9c9b505050505050505050505050565b6000806115d78b8b8b8b8b8b613d84565b6040805160008082526020820180845284905260ff89169282019290925260608101879052608081018690529192509060019060a0016020604051602081039080840390855afa15801561162f573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001519150506001600160a01b038116158061168257508b6001600160a01b0316816001600160a01b031614155b156116b9576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6115b6818c8c8c8c8c612612565b600061170f338a8a8a8a8a8a8a8a8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061388592505050565b9998505050505050505050565b610c723382612f50565b60008054906101000a90046001600160a01b03166001600160a01b031663c34c08e56040518163ffffffff1660e01b8152600401602060405180830381865afa158015611777573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061179b9190615603565b6001600160a01b0316336001600160a01b0316146117e5576040517f26bee1ce00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61102c8282613b89565b600080610f5b6003613063565b604080516020810190915260608152604080516003805460208082028401850185528301818152929391928492909184916000908501821561113f576000848152602090819020604080516060810182529185015465ffffffffffff8116835261ffff660100000000000082048116848601526801000000000000000090910416908201528252600190920191016110e0565b604080516020810190915260608152818311156118d8576040517f2cd4dad300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60035480831115611915576040517f2cd4dad300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006119218585615620565b905060008167ffffffffffffffff81111561193e5761193e614d65565b6040519080825280602002602001820160405280156119a757816020015b60408051606081018252600080825260208083018290529282015282527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90920191018161195c5790505b509050855b85811015610f345760038054829081106119c8576119c8615633565b600091825260209182902060408051606081018252919092015465ffffffffffff8116825261ffff660100000000000082048116948301949094526801000000000000000090049092169082015282611a218984615620565b81518110611a3157611a31615633565b6020026020010181905250611a468160010190565b90506119ac565b600080546040517fb6e76873000000000000000000000000000000000000000000000000000000008152833560048201526001600160a01b039091169063b6e768739060240161012060405180830381865afa158015611ab1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ad591906152c8565b9050600060018260a00151611aea91906153a6565b67ffffffffffffffff169050600160009054906101000a90046001600160a01b03166001600160a01b031663ae2a6df26040518163ffffffff1660e01b815260040160006040518083038186803b158015611b4457600080fd5b505afa158015611b58573d6000803e3d6000fd5b50505050600080600080611b7685600461203490919063ffffffff16565b90925090506000611b8d6080890160608a016153ce565b6001600160a01b0316637999762c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611bca573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bee91906153eb565b67ffffffffffffffff16905061271061ffff84168202048760a0015167ffffffffffffffff160194506127108261ffff16820281611c2e57611c2e615406565b0485019350834211611c6c576040517f038d8a6a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b808760a0015167ffffffffffffffff16611c869190615662565b421115611cbf576040517f08c8d62700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050843560009081526006602052604080822060015491517fcdfda4dd000000000000000000000000000000000000000000000000000000008152600481018690529092916001600160a01b03169063edb8ee5a90829063cdfda4dd90602401602060405180830381865afa158015611d3d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d619190615435565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b16815265ffffffffffff9091166004820152602401602060405180830381865afa158015611dbc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611de0919061545d565b825460018401549192506fffffffffffffffffffffffffffffffff808216928116917001000000000000000000000000000000009004166000611e2460038a6121cd565b5090506000611e3a868361ffff166127106122d8565b905080856fffffffffffffffffffffffffffffffff161015611ea3576040517f0425fab10000000000000000000000000000000000000000000000000000000081526fffffffffffffffffffffffffffffffff86166004820152602481018290526044016109da565b836fffffffffffffffffffffffffffffffff16856fffffffffffffffffffffffffffffffff1611611f1c576040517f8a0df63f0000000000000000000000000000000000000000000000000000000081526fffffffffffffffffffffffffffffffff8087166004830152851660248201526044016109da565b6000611f3b8d6060016020810190611f3491906153ce565b600161231c565b905060008054906101000a90046001600160a01b03166001600160a01b03166389e7d126828f6040518363ffffffff1660e01b8152600401611f7e9291906155b2565b6020604051808303816000875af1158015611f9d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fc191906155e8565b50604080518e3581526fffffffffffffffffffffffffffffffff808916602083015280881692820192909252908516606082015260ff82169033907ff23279e924757f3bfe4f543bc1b43685e851d6ace53f8518b806dcd8d42fc13990608001610b62565b600080610b876003846121cd565b6000804283106120c6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f506572696f64506374436865636b706f696e74733a2074696d657374616d702060448201527f6973206e6f7420696e207468652070617374000000000000000000000000000060648201526084016109da565b60006120d184613db3565b855490915060008160058111156121315760006120ed84613dfc565b6120f79085615620565b60008a81526020902090915081015465ffffffffffff90811690861610156121215780915061212f565b61212c816001615662565b92505b505b600061213f89868585613eae565b90508060000361215a576000809650965050505050506121c6565b60006121798a61216b600185615620565b600091825260209091200190565b60408051606081018252915465ffffffffffff8116835261ffff66010000000000008204811660208501819052680100000000000000009092041692909101829052985096505050505050505b9250929050565b60008042831061225f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602f60248201527f51756f72756d436865636b706f696e74733a2074696d657374616d702069732060448201527f6e6f7420696e207468652070617374000000000000000000000000000000000060648201526084016109da565b600061226a84613db3565b855490915060008160058111156122ca57600061228684613dfc565b6122909085615620565b60008a81526020902090915081015465ffffffffffff90811690861610156122ba578091506122c8565b6122c5816001615662565b92505b505b600061213f89868585613f10565b6000827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048411830215820261230d57600080fd5b50910281810615159190040190565b60008054604080517f0505c8c9000000000000000000000000000000000000000000000000000000008152905183926001600160a01b031691630505c8c99160048083019260209291908290030181865afa15801561237f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123a39190615603565b6001600160a01b0316638b2ed3886040518163ffffffff1660e01b8152600401602060405180830381865afa1580156123e0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124049190615675565b905060015b8160ff16811161253b57836124a1576040517fc167ebae00000000000000000000000000000000000000000000000000000000815260ff821660048201526001600160a01b0386169063c167ebae90602401602060405180830381865afa158015612478573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061249c9190615692565b612525565b6040517ffb847c4300000000000000000000000000000000000000000000000000000000815260ff821660048201526001600160a01b0386169063fb847c4390602401602060405180830381865afa158015612501573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125259190615692565b15612533579150610f489050565b600101612409565b50826125a857836001600160a01b03166312a52f006040518163ffffffff1660e01b8152600401602060405180830381865afa15801561257f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125a39190615675565b61260a565b836001600160a01b03166366cacdc96040518163ffffffff1660e01b8152600401602060405180830381865afa1580156125e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061260a9190615675565b949350505050565b600080546040517fb6e768730000000000000000000000000000000000000000000000000000000081528635600482015282916001600160a01b03169063b6e768739060240161012060405180830381865afa158015612676573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061269a91906152c8565b9050600060018260a001516126af91906153a6565b8735600090815260066020526040902067ffffffffffffffff9190911691506126de6080890160608a016153ce565b6001600160a01b03166302674e4b89308c6040518463ffffffff1660e01b815260040161270d939291906156af565b60006040518083038186803b15801561272557600080fd5b505afa158015612739573d6000803e3d6000fd5b505050506001600160a01b038a16600090815260048201602052604090205460ff1615612792576040517f9dd6544b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6127a0888a89600486613f6a565b60008080806127b0600487612034565b909250905060006127c760808e0160608f016153ce565b6001600160a01b031663b02bd9206040518163ffffffff1660e01b8152600401602060405180830381865afa158015612804573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061282891906153eb565b67ffffffffffffffff16905061271061ffff8416820204818960c0015167ffffffffffffffff16030194506127108261ffff1682028161286a5761286a615406565b04850193508442116128a8576040517fd0b72b4900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b834211156128e2576040517f5b73d19300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050506000612a25600160009054906101000a90046001600160a01b03166001600160a01b0316639556de738f600160009054906101000a90046001600160a01b03166001600160a01b031663cdfda4dd886040518263ffffffff1660e01b815260040161295291815260200190565b602060405180830381865afa15801561296f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906129939190615435565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b1681526001600160a01b03909216600483015265ffffffffffff166024820152604401602060405180830381865afa1580156129fc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a20919061545d565b61425e565b905060ff8a16612a9e576002840154612a649070010000000000000000000000000000000090046fffffffffffffffffffffffffffffffff16826142ad565b6002850180546fffffffffffffffffffffffffffffffff928316700100000000000000000000000000000000029216919091179055612bc6565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60ff8b1601612b37576001840154612afd9070010000000000000000000000000000000090046fffffffffffffffffffffffffffffffff16826142ad565b6001850180546fffffffffffffffffffffffffffffffff928316700100000000000000000000000000000000029216919091179055612bc6565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe60ff8b1601612bc6576002840154612b82906fffffffffffffffffffffffffffffffff16826142ad565b6002850180547fffffffffffffffffffffffffffffffff00000000000000000000000000000000166fffffffffffffffffffffffffffffffff929092169190911790555b6001600160a01b038d1660008181526004860160205260409081902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790555160ff8c1691907f4e3e2ad68670a2709cb408c31c5afd8da0b6d3d06c75b11feb404a455639fe7c90612c46908f359086908f908f90615713565b60405180910390a39c9b505050505050505050505050565b60018054604080517f91ddadf400000000000000000000000000000000000000000000000000000000815290516000936001600160a01b039093169263edb8ee5a92909184916391ddadf49160048083019260209291908290030181865afa158015612cce573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612cf29190615435565b612cfc9190615745565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b16815265ffffffffffff9091166004820152602401602060405180830381865afa158015612d57573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612d7b919061545d565b905080600003612db7576040517f34bbd58500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80821115612df1576040517f8a5e746800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60028290556040518281527fd91a985c173545ab0e0bd11c021a1ae84c1ea6eab9350d9bf3812d5b8bff49a4906020015b60405180910390a15050565b6000807f6da9390b4f29da2c44fa5a9da00b392393d01e989d16e4a3dec5a538318e352584612e5c856142f4565b6001600160a01b03871660009081526007602090815260408083207fffffffff00000000000000000000000000000000000000000000000000000000843516845290915290208054600181019091556040805160208101959095526001600160a01b03909316928401929092526060830152608082015260a001604051602081830303815290604052805190602001209050612ef66143eb565b6040517f190100000000000000000000000000000000000000000000000000000000000060208201526022810191909152604281018290526062016040516020818303038152906040528051906020012091505092915050565b80356000908152600560205260409020546001600160a01b03838116911614612fa5576040517f86ba025600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000546040517fb92cdd9a0000000000000000000000000000000000000000000000000000000081526001600160a01b039091169063b92cdd9a90612fee908490600401615764565b600060405180830381600087803b15801561300857600080fd5b505af115801561301c573d6000803e3d6000fd5b5050604051833581526001600160a01b03851692507fdcccc5725b7256a6975da00de8953e5d326756a3079d203ff6df9e52331f411a915060200160405180910390a25050565b8054600090819080820361307d5750600093849350915050565b600061308e8561216b600185615620565b60408051606081018252915465ffffffffffff8116835261ffff66010000000000008204811660208501819052680100000000000000009092041692909101829052969095509350505050565b6127108261ffff1611806130f1575061ffff8216155b1561312e576040517f8f6febc000000000000000000000000000000000000000000000000000000000815261ffff831660048201526024016109da565b6127108161ffff161180613144575061ffff8116155b15613181576040517f3bec511c00000000000000000000000000000000000000000000000000000000815261ffff821660048201526024016109da565b613194600361ffff80851690841661454d565b6040805161ffff8085168252831660208201527f77c3f43700db02acb49792bbf699b39f72c2ed4b920bd5c0b1843dcd7c832f4c9101612e22565b600080546040517fb6e768730000000000000000000000000000000000000000000000000000000081528635600482015282916001600160a01b03169063b6e768739060240161012060405180830381865afa158015613233573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061325791906152c8565b9050600060018260a0015161326c91906153a6565b8735600090815260066020526040902067ffffffffffffffff91909116915061329b6080890160608a016153ce565b6001600160a01b0316631a2a4e7789308c6040518463ffffffff1660e01b81526004016132ca939291906156af565b60006040518083038186803b1580156132e257600080fd5b505afa1580156132f6573d6000803e3d6000fd5b505050506001600160a01b038a16600090815260038201602052604090205460ff161561334f576040517f9dd6544b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61335d888a89600086613f6a565b600080808061336d600487612034565b9092509050600061338460808e0160608f016153ce565b6001600160a01b0316637999762c6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156133c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906133e591906153eb565b67ffffffffffffffff16905061271061ffff84168202048860a0015167ffffffffffffffff160194506127108261ffff1682028161342557613425615406565b0485019350844211613463576040517fd0b72b4900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8342111561349d576040517f5b73d19300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050600061350d600160009054906101000a90046001600160a01b03166001600160a01b0316639556de738f600160009054906101000a90046001600160a01b03166001600160a01b031663cdfda4dd886040518263ffffffff1660e01b815260040161295291815260200190565b905060ff8a16613580576001840154613538906fffffffffffffffffffffffffffffffff16826142ad565b6001850180547fffffffffffffffffffffffffffffffff00000000000000000000000000000000166fffffffffffffffffffffffffffffffff92909216919091179055613694565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60ff8b16016136095783546135c8906fffffffffffffffffffffffffffffffff16826142ad565b84547fffffffffffffffffffffffffffffffff00000000000000000000000000000000166fffffffffffffffffffffffffffffffff91909116178455613694565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe60ff8b16016136945783546136659070010000000000000000000000000000000090046fffffffffffffffffffffffffffffffff16826142ad565b84546fffffffffffffffffffffffffffffffff9182167001000000000000000000000000000000000291161784555b6001600160a01b038d1660008181526003860160205260409081902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790555160ff8c1691907f761cce3a1af5d9cfc0d57222f605ce4bd2be345f0ad9ebb7b83a84a91a0c201490612c46908f359086908f908f90615713565b6001600160a01b03881660009081526007602090815260408083207fffffffff000000000000000000000000000000000000000000000000000000008435168452909152812080546001810190915560007fd1fab1c7b3b37134662e5867b00e272eb49f7be0a890df29e802c3cc66c06f838b8b8b8b8b8b8b60405161379b929190615777565b604080519182900382208c516020808f0191909120908401999099526001600160a01b039788169183019190915260ff90951660608201529285166080840152931660a082015260c081019290925260e08201526101008101919091526101208101839052610140016040516020818303038152906040528051906020012090506138246143eb565b6040517f19010000000000000000000000000000000000000000000000000000000000006020820152602281019190915260428101829052606201604051602081830303815290604052805190602001209250505098975050505050505050565b600154604080517fae2a6df200000000000000000000000000000000000000000000000000000000815290516000926001600160a01b03169163ae2a6df29160048083019286929190829003018186803b1580156138e257600080fd5b505afa1580156138f6573d6000803e3d6000fd5b505060018054604080517f91ddadf40000000000000000000000000000000000000000000000000000000081529051600095506001600160a01b039092169350639556de73928e92909185916391ddadf4916004808201926020929091908290030181865afa15801561396d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906139919190615435565b61399b9190615745565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b1681526001600160a01b03909216600483015265ffffffffffff166024820152604401602060405180830381865afa158015613a04573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613a28919061545d565b9050600254811015613a69576040517f92665351000000000000000000000000000000000000000000000000000000008152600481018290526024016109da565b6000546040517fb3c678b00000000000000000000000000000000000000000000000000000000081526001600160a01b039091169063b3c678b090613abe908c908c908c908c908c908c908c906004016157ab565b6020604051808303816000875af1158015613add573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613b01919061545d565b60008181526005602090815260409182902080547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b038f16908117909155915183815292945090917f1834dfd49255741a8ce9a9bd66b91b64d13622e1d8170e4c78ac91f9ec50a542910160405180910390a25098975050505050505050565b612710613b96828461583b565b61ffff1610613bdf576040517f519dd38400000000000000000000000000000000000000000000000000000000815261ffff8084166004830152821660248201526044016109da565b613beb60048383614576565b6040805161ffff8085168252831660208201527f8df7bdcce333d9e1b85e40782fb2f293c805761d3f48aaea58865e9541e44c709101612e22565b6000807fd7be168a3509af358f222ee35ee76aba47bc5fc2c35061cdce3958f510b7b1b28888613c55896142f4565b888888604051613c66929190615777565b60408051918290039091206001600160a01b038f166000908152600760209081528382207fffffffff0000000000000000000000000000000000000000000000000000000083351683529052919091208054600181019091556040805160208101989098526001600160a01b039096169587019590955260ff938416606087015260808601929092529190911660a084015260c083015260e082015261010001604051602081830303815290604052805190602001209050613d266143eb565b6040517f19010000000000000000000000000000000000000000000000000000000000006020820152602281019190915260428101829052606201604051602081830303815290604052805190602001209150509695505050505050565b6000807fa87058c5a9888e7af4405a932381d5a4612c61354bc3e52e9ea361ba17703fb38888613c55896142f4565b600065ffffffffffff821115613df8576040517fc0188c4f000000000000000000000000000000000000000000000000000000008152600481018390526024016109da565b5090565b60b581710100000000000000000000000000000000008110613e235760409190911b9060801c5b69010000000000000000008110613e3f5760209190911b9060401c5b650100000000008110613e575760109190911b9060201c5b63010000008110613e6d5760089190911b9060101c5b62010000010260121c80820401600190811c80830401811c80830401811c80830401811c80830401811c80830401811c80830401901c908190048111900390565b60005b81831015613f08576000613ec584846145a2565b60008781526020902090915065ffffffffffff86169082015465ffffffffffff161115613ef457809250613f02565b613eff816001615662565b93505b50613eb1565b509392505050565b60005b81831015613f08576000613f2784846145a2565b60008781526020902090915065ffffffffffff86169082015465ffffffffffff161115613f5657809250613f64565b613f61816001615662565b93505b50613f13565b600260ff84161115613fad576040517ffe0e5d8b00000000000000000000000000000000000000000000000000000000815260ff841660048201526024016109da565b600080546040517fec12d8be0000000000000000000000000000000000000000000000000000000081526001600160a01b039091169063ec12d8be90613ff7908990600401615764565b602060405180830381865afa158015614014573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906140389190615675565b60ff16600681111561404c5761404c6156e4565b9050826006811115614060576140606156e4565b816006811115614072576140726156e4565b146140ab57806040517f87afe58e0000000000000000000000000000000000000000000000000000000081526004016109da9190615856565b60008060009054906101000a90046001600160a01b03166001600160a01b0316630505c8c96040518163ffffffff1660e01b8152600401602060405180830381865afa1580156140ff573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906141239190615603565b6040517fe0bec07600000000000000000000000000000000000000000000000000000000815230600482015260ff88166024820152604481018590526001600160a01b03919091169063e0bec07690606401602060405180830381865afa158015614192573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906141b69190615692565b9050806141ef576040517f88aebd1200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600160009054906101000a90046001600160a01b03166001600160a01b031663ae2a6df26040518163ffffffff1660e01b815260040160006040518083038186803b15801561423d57600080fd5b505afa158015614251573d6000803e3d6000fd5b5050505050505050505050565b60006fffffffffffffffffffffffffffffffff821115613df8576040517fc0188c4f000000000000000000000000000000000000000000000000000000008152600481018390526024016109da565b60006fffffffffffffffffffffffffffffffff6142ce838216858316615662565b106142ea57506fffffffffffffffffffffffffffffffff610f48565b6110a28284615897565b60007f86b4555c6e347ea3f038485b59b894986c208b67da7e65fcfa3707271608465f823561432960408501602086016153ce565b61433960608601604087016158c0565b61434960808701606088016153ce565b61435960a08801608089016153ce565b60a088013561436b60c08a018a6158dd565b604051614379929190615777565b6040805191829003822060208301999099528101969096526001600160a01b03948516606087015260ff909316608086015290831660a08501529190911660c083015260e082015261010081019190915261012001604051602081830303815290604052805190602001209050919050565b60008054604080517f06fdde0300000000000000000000000000000000000000000000000000000000815290517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f926001600160a01b0316916306fdde0391600480830192879291908290030181865afa15801561446d573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526144b39190810190615942565b8051602091820120604080518082018252600181527f310000000000000000000000000000000000000000000000000000000000000090840152805192830193909352918101919091527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a082015260c00160405160208183030381529060405280519060200120905090565b6145718361455a42613db3565b614563856145bd565b61456c856145bd565b6145fe565b505050565b6145718361458342613db3565b6145908561ffff166145bd565b61459d8561ffff166145bd565b614909565b60006145b160028484186159b0565b6110a290848416615662565b600061ffff821115613df8576040517fc0188c4f000000000000000000000000000000000000000000000000000000008152600481018390526024016109da565b835480156148475760006146178661216b600185615620565b60408051606081018252915465ffffffffffff80821680855261ffff66010000000000008404811660208701526801000000000000000090930490921692840192909252919250861610156146ed576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f51756f72756d20436865636b706f696e743a20696e76616c69642074696d657360448201527f74616d700000000000000000000000000000000000000000000000000000000060648201526084016109da565b805165ffffffffffff8087169116036147865760006147118761216b600186615620565b805461ffff86811668010000000000000000027fffffffffffffffffffffffffffffffffffffffffffff0000ffffffffffffffff918916660100000000000002919091167fffffffffffffffffffffffffffffffffffffffffffff00000000ffffffffffff9092169190911717905550614841565b6040805160608101825265ffffffffffff808816825261ffff80881660208085019182528883169585019586528b54600181018d5560008d81529190912094519401805491519551831668010000000000000000027fffffffffffffffffffffffffffffffffffffffffffff0000ffffffffffffffff969093166601000000000000027fffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000909216949093169390931792909217929092161790555b50614902565b6040805160608101825265ffffffffffff808716825261ffff80871660208085019182528783169585019586528a54600181018c5560008c81529190912094519401805491519551831668010000000000000000027fffffffffffffffffffffffffffffffffffffffffffff0000ffffffffffffffff969093166601000000000000027fffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000909216949093169390931792909217929092161790555b5050505050565b835480156148475760006149228661216b600185615620565b60408051606081018252915465ffffffffffff80821680855261ffff66010000000000008404811660208701526801000000000000000090930490921692840192909252919250861610156146ed576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602860248201527f506572696f642050637420436865636b706f696e743a20696e76616c6964207460448201527f696d657374616d7000000000000000000000000000000000000000000000000060648201526084016109da565b600060e08284031215614a0b57600080fd5b50919050565b600060208284031215614a2357600080fd5b813567ffffffffffffffff811115614a3a57600080fd5b61260a848285016149f9565b600060208284031215614a5857600080fd5b5035919050565b60ff81168114610c7257600080fd5b8035614a7981614a5f565b919050565b60008083601f840112614a9057600080fd5b50813567ffffffffffffffff811115614aa857600080fd5b6020830191508360208285010111156121c657600080fd5b600080600080600060808688031215614ad857600080fd5b8535614ae381614a5f565b9450602086013567ffffffffffffffff80821115614b0057600080fd5b614b0c89838a016149f9565b955060408801359150614b1e82614a5f565b90935060608701359080821115614b3457600080fd5b50614b4188828901614a7e565b969995985093965092949392505050565b80357fffffffff0000000000000000000000000000000000000000000000000000000081168114614a7957600080fd5b600060208284031215614b9457600080fd5b6110a282614b52565b6001600160a01b0381168114610c7257600080fd5b8035614a7981614b9d565b600080600080600060a08688031215614bd557600080fd5b8535614be081614b9d565b9450602086013567ffffffffffffffff811115614bfc57600080fd5b614c08888289016149f9565b9450506040860135614c1981614a5f565b94979396509394606081013594506080013592915050565b60008060408385031215614c4457600080fd5b50508035926020909101359150565b60208082528251828201829052805160408401819052600092916060919083019082860190855b81811015614cc357614cb3838551805165ffffffffffff16825260208082015161ffff9081169184019190915260409182015116910152565b9285019291840191600101614c7a565b5090979650505050505050565b803561ffff81168114614a7957600080fd5b60008060408385031215614cf557600080fd5b614cfe83614cd0565b9150614d0c60208401614cd0565b90509250929050565b8015158114610c7257600080fd5b600080600060608486031215614d3857600080fd5b833592506020840135614d4a81614b9d565b91506040840135614d5a81614d15565b809150509250925092565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051610120810167ffffffffffffffff81118282101715614db857614db8614d65565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715614e0557614e05614d65565b604052919050565b600067ffffffffffffffff821115614e2757614e27614d65565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b600082601f830112614e6457600080fd5b8135614e77614e7282614e0d565b614dbe565b818152846020838601011115614e8c57600080fd5b816020850160208301376000918101602001919091529392505050565b60008060008060008060008060008060006101408c8e031215614ecb57600080fd5b614ed48c614bb2565b9a50614ee260208d01614a6e565b9950614ef060408d01614bb2565b9850614efe60608d01614bb2565b975060808c0135965067ffffffffffffffff8060a08e01351115614f2157600080fd5b614f318e60a08f01358f01614a7e565b909750955060c08d0135811015614f4757600080fd5b50614f588d60c08e01358e01614e53565b9350614f6660e08d01614a6e565b92506101008c013591506101208c013590509295989b509295989b9093969950565b60008060008084860360e0811215614f9f57600080fd5b8535614faa81614b9d565b94506020860135614fba81614b9d565b93506040860135925060807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa082011215614ff357600080fd5b506040516080810181811067ffffffffffffffff8211171561501757615017614d65565b60405261502660608701614cd0565b815261503460808701614cd0565b602082015261504560a08701614cd0565b604082015261505660c08701614cd0565b6060820152939692955090935050565b60008060008060008060008060006101008a8c03121561508557600080fd5b893561509081614b9d565b985060208a01356150a081614a5f565b975060408a013567ffffffffffffffff808211156150bd57600080fd5b6150c98d838e016149f9565b985060608c013591506150db82614a5f565b90965060808b013590808211156150f157600080fd5b506150fe8c828d01614a7e565b90965094505060a08a013561511281614a5f565b8093505060c08a0135915060e08a013590509295985092959850929598565b60008060008060008060008060c0898b03121561514d57600080fd5b883561515881614a5f565b9750602089013561516881614b9d565b9650604089013561517881614b9d565b955060608901359450608089013567ffffffffffffffff8082111561519c57600080fd5b6151a88c838d01614a7e565b909650945060a08b01359150808211156151c157600080fd5b506151ce8b828c01614a7e565b999c989b5096995094979396929594505050565b600080604083850312156151f557600080fd5b823561520081614b9d565b9150614d0c60208401614b52565b60208082528251828201829052805160408401819052600092916060919083019082860190855b81811015614cc35761526e838551805165ffffffffffff16825260208082015161ffff9081169184019190915260409182015116910152565b9285019291840191600101615235565b8051614a7981614d15565b8051614a7981614b9d565b805167ffffffffffffffff81168114614a7957600080fd5b80516bffffffffffffffffffffffff81168114614a7957600080fd5b600061012082840312156152db57600080fd5b6152e3614d94565b825181526152f36020840161527e565b60208201526153046040840161527e565b60408201526153156060840161527e565b606082015261532660808401615289565b608082015261533760a08401615294565b60a082015261534860c08401615294565b60c082015261535960e084016152ac565b60e082015261010061536c8185016152ac565b908201529392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b67ffffffffffffffff8281168282160390808211156153c7576153c7615377565b5092915050565b6000602082840312156153e057600080fd5b81356110a281614b9d565b6000602082840312156153fd57600080fd5b6110a282615294565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006020828403121561544757600080fd5b815165ffffffffffff811681146110a257600080fd5b60006020828403121561546f57600080fd5b5051919050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b80358252600060208201356154d381614b9d565b6001600160a01b0390811660208501526040830135906154f282614a5f565b60ff821660408601526060840135915061550b82614b9d565b908116606085015260808301359061552282614b9d565b16608084015260a0828101359084015260c0820135368390037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe101811261556857600080fd5b820160208101903567ffffffffffffffff81111561558557600080fd5b80360382131561559457600080fd5b60e060c08601526155a960e086018284615476565b95945050505050565b60ff831681526060602082015260006155ce60608301846154bf565b828103604084015260008152602081019150509392505050565b6000602082840312156155fa57600080fd5b6110a2826152ac565b60006020828403121561561557600080fd5b81516110a281614b9d565b81810381811115610f4857610f48615377565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b80820180821115610f4857610f48615377565b60006020828403121561568757600080fd5b81516110a281614a5f565b6000602082840312156156a457600080fd5b81516110a281614d15565b6060815260006156c260608301866154bf565b90506001600160a01b038416602083015260ff83166040830152949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b8481526fffffffffffffffffffffffffffffffff84166020820152606060408201526000610ba0606083018486615476565b65ffffffffffff8281168282160390808211156153c7576153c7615377565b6020815260006110a260208301846154bf565b8183823760009101908152919050565b60005b838110156157a257818101518382015260200161578a565b50506000910152565b60ff8816815260006001600160a01b03808916602084015280881660408401525085606083015260c060808301526157e760c083018587615476565b82810360a08401528351808252615805816020840160208801615787565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016016020019998505050505050505050565b61ffff8181168382160190808211156153c7576153c7615377565b6020810160078310615891577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b91905290565b6fffffffffffffffffffffffffffffffff8181168382160190808211156153c7576153c7615377565b6000602082840312156158d257600080fd5b81356110a281614a5f565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261591257600080fd5b83018035915067ffffffffffffffff82111561592d57600080fd5b6020019150368190038213156121c657600080fd5b60006020828403121561595457600080fd5b815167ffffffffffffffff81111561596b57600080fd5b8201601f8101841361597c57600080fd5b805161598a614e7282614e0d565b81815285602083850101111561599f57600080fd5b6155a9826020830160208601615787565b6000826159e6577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b50049056fea164736f6c6343000817000a", + "nonce": "0x0", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x80abafa25eeb3637ce3d091b2ba7747144f3b7787c3766075699e30c02cbc3b3", + "transactionType": "CREATE", + "contractName": "LlamaTokenVotingFactory", + "contractAddress": "0xFBE17545dffD75A92A5A72926AE581478973FE65", + "function": null, + "arguments": [ + "0x3f3DAB3ab8cEc2FBd06767c2A5F66Cb6BFF21A4A" + ], + "transaction": { + "type": "0x02", + "from": "0xb72276d9ff15c7998b9962ffcfb21a6c7249441b", + "gas": "0x855585", + "value": "0x0", + "data": "0x60a060405234801561001057600080fd5b50604051610b16380380610b1683398101604081905261002f91610040565b6001600160a01b0316608052610070565b60006020828403121561005257600080fd5b81516001600160a01b038116811461006957600080fd5b9392505050565b608051610a8561009160003960008181604001526104390152610a856000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c806321618ea41461003b5780633ec857a51461008b575b600080fd5b6100627f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b61006261009936600461087b565b600080338360000151846040015185606001516040516020016100bf9493929190610959565b60405160208183030381529060405280519060200120905060006100e7846020015183610622565b60408086015190517f439fab9100000000000000000000000000000000000000000000000000000000815291925073ffffffffffffffffffffffffffffffffffffffff83169163439fab919161013f916004016109b9565b6020604051808303816000875af115801561015e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101829190610a0a565b50600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1663fc0c546a6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156101e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061020a9190610a33565b73ffffffffffffffffffffffffffffffffffffffff1603610257576040517f65f5b03400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517fcdfda4dd00000000000000000000000000000000000000000000000000000000815242600482015273ffffffffffffffffffffffffffffffffffffffff82169063cdfda4dd90602401602060405180830381865afa1580156102c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102e59190610a50565b65ffffffffffff16600003610326576040517f65f5b03400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff166391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865afa158015610371573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103959190610a50565b65ffffffffffff166000036103d6576040517f65f5b03400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1663ae2a6df26040518163ffffffff1660e01b815260040160006040518083038186803b15801561041c57600080fd5b505afa158015610430573d6000803e3d6000fd5b5050505061045e7f000000000000000000000000000000000000000000000000000000000000000083610622565b8451608086015160a0870151604080517f8734852a00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff948516600482015286851660248201526044810193909352815161ffff908116606485015260208301518116608485015290820151811660a48401526060909101511660c4820152919450841690638734852a9060e401600060405180830381600087803b15801561051757600080fd5b505af115801561052b573d6000803e3d6000fd5b505050508073ffffffffffffffffffffffffffffffffffffffff1663fc0c546a6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561057a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061059e9190610a33565b84516020808701516060808901516040805173ffffffffffffffffffffffffffffffffffffffff94851681528885169581019590955284015287821690830152466080830152928316929091169033907f4c8bb78cb1c62e64cef39fc4b4a1864d1a331a28c7bd59a67fe969cc8ab715879060a00160405180910390a45050919050565b6000763d602d80600a3d3981f3363d3d373d3d3d363d730000008360601b60e81c176000526e5af43d82803e903d91602b57fd5bf38360781b1760205281603760096000f5905073ffffffffffffffffffffffffffffffffffffffff81166106b6576040517fc2f868f400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405160c0810167ffffffffffffffff8111828210171561070e5761070e6106bc565b60405290565b73ffffffffffffffffffffffffffffffffffffffff8116811461073657600080fd5b50565b600082601f83011261074a57600080fd5b813567ffffffffffffffff80821115610765576107656106bc565b604051601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011681019082821181831017156107ab576107ab6106bc565b816040528381528660208588010111156107c457600080fd5b836020870160208301376000602085830101528094505050505092915050565b803561ffff811681146107f657600080fd5b919050565b60006080828403121561080d57600080fd5b6040516080810181811067ffffffffffffffff82111715610830576108306106bc565b60405290508061083f836107e4565b815261084d602084016107e4565b602082015261085e604084016107e4565b604082015261086f606084016107e4565b60608201525092915050565b60006020828403121561088d57600080fd5b813567ffffffffffffffff808211156108a557600080fd5b9083019061012082860312156108ba57600080fd5b6108c26106eb565b82356108cd81610714565b815260208301356108dd81610714565b60208201526040830135828111156108f457600080fd5b61090087828601610739565b60408301525060608301356060820152608083013560808201526109278660a085016107fb565b60a082015295945050505050565b60005b83811015610950578181015183820152602001610938565b50506000910152565b60007fffffffffffffffffffffffffffffffffffffffff000000000000000000000000808760601b168352808660601b1660148401525083516109a3816028850160208801610935565b6028920191820192909252604801949350505050565b60208152600082518060208401526109d8816040850160208701610935565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169190910160400192915050565b600060208284031215610a1c57600080fd5b81518015158114610a2c57600080fd5b9392505050565b600060208284031215610a4557600080fd5b8151610a2c81610714565b600060208284031215610a6257600080fd5b815165ffffffffffff81168114610a2c57600080fdfea164736f6c6343000817000a0000000000000000000000003f3dab3ab8cec2fbd06767c2a5f66cb6bff21a4a", + "nonce": "0x1", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xeae93bbb8940d971f492d801eba6af088c07d7ee10bbca07a09c57be979cd274", + "transactionType": "CREATE", + "contractName": "LlamaTokenAdapterVotesTimestamp", + "contractAddress": "0x088C268cb00226D6A9b29e5488905Aa94D2f0239", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0xb72276d9ff15c7998b9962ffcfb21a6c7249441b", + "gas": "0xb1d31d", + "value": "0x0", + "data": "0x608060405234801561001057600080fd5b5061001961001e565b6100d0565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff161561006e5760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b03908116146100cd5780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b610df5806100df6000396000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c8063ae2a6df21161005b578063ae2a6df21461010a578063cdfda4dd14610114578063edb8ee5a14610127578063fc0c546a1461013a57600080fd5b8063439fab911461008d5780634bf5d7e9146100b557806391ddadf4146100ca5780639556de73146100e9575b600080fd5b6100a061009b3660046108e4565b61017f565b60405190151581526020015b60405180910390f35b6100bd6103a1565b6040516100ac9190610988565b6100d261042f565b60405165ffffffffffff90911681526020016100ac565b6100fc6100f7366004610a12565b6104e9565b6040519081526020016100ac565b610112610593565b005b6100d2610122366004610a4b565b6105ef565b6100fc610135366004610a64565b610600565b60005461015a9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100ac565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0080546000919068010000000000000000810460ff16159067ffffffffffffffff1683811580156101cd5750825b905060008267ffffffffffffffff1660011480156101ea5750303b155b9050811580156101f8575080155b1561022f576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b84547fffffffffffffffffffffffffffffffffffffffffffffffff000000000000000016600117855583156102905784547fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff16680100000000000000001785555b6000878060200190518101906102a69190610a81565b8051600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff90921691909117905560408051808201909152600e81527f6d6f64653d74696d657374616d7000000000000000000000000000000000000060208201529091506001906103309082610b71565b50600196505083156103975784547fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b5050505050919050565b600180546103ae90610acd565b80601f01602080910402602001604051908101604052809291908181526020018280546103da90610acd565b80156104275780601f106103fc57610100808354040283529160200191610427565b820191906000526020600020905b81548152906001019060200180831161040a57829003601f168201915b505050505081565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156104d7575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682019092526104d491810190610c8b565b60015b6104e4576104e44261069b565b905090565b600080546040517f3a46b1a800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff858116600483015265ffffffffffff8516602483015290911690633a46b1a890604401602060405180830381865afa158015610568573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061058c9190610ca8565b9392505050565b600061059d6106e8565b905060006105a9610712565b905081806105b45750805b156105eb576040517f6ff0714000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050565b60006105fa8261069b565b92915050565b600080546040517f8e539e8c00000000000000000000000000000000000000000000000000000000815265ffffffffffff8416600482015273ffffffffffffffffffffffffffffffffffffffff90911690638e539e8c90602401602060405180830381865afa158015610677573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105fa9190610ca8565b600065ffffffffffff8211156106e4576040517fc0188c4f0000000000000000000000000000000000000000000000000000000081526004810183905260240160405180910390fd5b5090565b60006106f34261069b565b65ffffffffffff1661070361042f565b65ffffffffffff161415905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16634bf5d7e96040518163ffffffff1660e01b8152600401600060405180830381865afa9250505080156107bf57506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526107bc9190810190610cc1565b60015b6107c95750600090565b60016040516020016107db9190610d38565b60405160208183030381529060405280519060200120816040516020016108029190610dcc565b60405160208183030381529060405280519060200120141591505090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff8111828210171561089657610896610820565b604052919050565b600067ffffffffffffffff8211156108b8576108b8610820565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b6000602082840312156108f657600080fd5b813567ffffffffffffffff81111561090d57600080fd5b8201601f8101841361091e57600080fd5b803561093161092c8261089e565b61084f565b81815285602083850101111561094657600080fd5b81602084016020830137600091810160200191909152949350505050565b60005b8381101561097f578181015183820152602001610967565b50506000910152565b60208152600082518060208401526109a7816040850160208701610964565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169190910160400192915050565b73ffffffffffffffffffffffffffffffffffffffff811681146109fb57600080fd5b50565b65ffffffffffff811681146109fb57600080fd5b60008060408385031215610a2557600080fd5b8235610a30816109d9565b91506020830135610a40816109fe565b809150509250929050565b600060208284031215610a5d57600080fd5b5035919050565b600060208284031215610a7657600080fd5b813561058c816109fe565b600060208284031215610a9357600080fd5b6040516020810181811067ffffffffffffffff82111715610ab657610ab6610820565b6040528251610ac4816109d9565b81529392505050565b600181811c90821680610ae157607f821691505b602082108103610b1a577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b601f821115610b6c576000816000526020600020601f850160051c81016020861015610b495750805b601f850160051c820191505b81811015610b6857828155600101610b55565b5050505b505050565b815167ffffffffffffffff811115610b8b57610b8b610820565b610b9f81610b998454610acd565b84610b20565b602080601f831160018114610bf25760008415610bbc5750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b178555610b68565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b82811015610c3f57888601518255948401946001909101908401610c20565b5085821015610c7b57878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b600060208284031215610c9d57600080fd5b815161058c816109fe565b600060208284031215610cba57600080fd5b5051919050565b600060208284031215610cd357600080fd5b815167ffffffffffffffff811115610cea57600080fd5b8201601f81018413610cfb57600080fd5b8051610d0961092c8261089e565b818152856020838501011115610d1e57600080fd5b610d2f826020830160208601610964565b95945050505050565b6000808354610d4681610acd565b60018281168015610d5e5760018114610d9157610dc0565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0084168752821515830287019450610dc0565b8760005260208060002060005b85811015610db75781548a820152908401908201610d9e565b50505082870194505b50929695505050505050565b60008251610dde818460208701610964565b919091019291505056fea164736f6c6343000817000a", + "nonce": "0x2", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0xf2ece4defcedac66b3b1059431916c31696f6921e32829b1366edd7935e569a3", + "transactionIndex": "0x5", + "blockHash": "0xff4e13196dc9145dc214013ff8e2ce4a9a7fb50e62e4de0687bd7c4d454e1992", + "blockNumber": "0xa198533", + "from": "0xb72276D9FF15c7998b9962FFCfB21A6C7249441B", + "to": null, + "cumulativeGasUsed": "0x2471c2c", + "gasUsed": "0x21c6186", + "contractAddress": "0x3f3DAB3ab8cEc2FBd06767c2A5F66Cb6BFF21A4A", + "logs": [ + { + "address": "0x3f3DAB3ab8cEc2FBd06767c2A5F66Cb6BFF21A4A", + "topics": [ + "0xc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2" + ], + "data": "0x000000000000000000000000000000000000000000000000ffffffffffffffff", + "blockHash": "0xff4e13196dc9145dc214013ff8e2ce4a9a7fb50e62e4de0687bd7c4d454e1992", + "blockNumber": "0xa198533", + "transactionHash": "0xf2ece4defcedac66b3b1059431916c31696f6921e32829b1366edd7935e569a3", + "transactionIndex": "0x5", + "logIndex": "0x10", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000800000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0x5f5e100" + }, + { + "transactionHash": "0x80abafa25eeb3637ce3d091b2ba7747144f3b7787c3766075699e30c02cbc3b3", + "transactionIndex": "0x7", + "blockHash": "0x841ba5993e8d166133903414593f2ac91288c526f61796bb086020bf7931b852", + "blockNumber": "0xa19854e", + "from": "0xb72276D9FF15c7998b9962FFCfB21A6C7249441B", + "to": null, + "cumulativeGasUsed": "0xabb057", + "gasUsed": "0x5b76fd", + "contractAddress": "0xFBE17545dffD75A92A5A72926AE581478973FE65", + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0x5f5e100" + }, + { + "transactionHash": "0xeae93bbb8940d971f492d801eba6af088c07d7ee10bbca07a09c57be979cd274", + "transactionIndex": "0x1", + "blockHash": "0xf3db81beae5e85d3113c6ab6a702a954265fd5348258f5a91a9ba534adffde7d", + "blockNumber": "0xa19856a", + "from": "0xb72276D9FF15c7998b9962FFCfB21A6C7249441B", + "to": null, + "cumulativeGasUsed": "0x7afd0f", + "gasUsed": "0x7afd0f", + "contractAddress": "0x088C268cb00226D6A9b29e5488905Aa94D2f0239", + "logs": [ + { + "address": "0x088C268cb00226D6A9b29e5488905Aa94D2f0239", + "topics": [ + "0xc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2" + ], + "data": "0x000000000000000000000000000000000000000000000000ffffffffffffffff", + "blockHash": "0xf3db81beae5e85d3113c6ab6a702a954265fd5348258f5a91a9ba534adffde7d", + "blockNumber": "0xa19856a", + "transactionHash": "0xeae93bbb8940d971f492d801eba6af088c07d7ee10bbca07a09c57be979cd274", + "transactionIndex": "0x1", + "logIndex": "0x0", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000800000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000008000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0x5f5e100" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1704995990, + "chain": 42161, + "multi": false, + "commit": "688208a" +} \ No newline at end of file diff --git a/broadcast/DeployLlamaTokenVotingFactory.s.sol/42161/run-latest.json b/broadcast/DeployLlamaTokenVotingFactory.s.sol/42161/run-latest.json new file mode 100644 index 0000000..5485f3b --- /dev/null +++ b/broadcast/DeployLlamaTokenVotingFactory.s.sol/42161/run-latest.json @@ -0,0 +1,148 @@ +{ + "transactions": [ + { + "hash": "0xf2ece4defcedac66b3b1059431916c31696f6921e32829b1366edd7935e569a3", + "transactionType": "CREATE", + "contractName": "LlamaTokenGovernor", + "contractAddress": "0x3f3DAB3ab8cEc2FBd06767c2A5F66Cb6BFF21A4A", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0xb72276d9ff15c7998b9962ffcfb21a6c7249441b", + "gas": "0x3031ede", + "value": "0x0", + "data": "0x60806040523480156200001157600080fd5b506200001c62000022565b620000d6565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff1615620000735760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b0390811614620000d35780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b6159f880620000e66000396000f3fe608060405234801561001057600080fd5b50600436106101da5760003560e01c80637e4a56bb11610104578063b92cdd9a116100a2578063cae3bdff11610071578063cae3bdff1461053d578063dcae21b714610552578063e45061ea14610565578063e5589b9d1461057857600080fd5b8063b92cdd9a146104e4578063b9b2cf6c146104f7578063c193c2691461050a578063c26c12eb1461053557600080fd5b80638734852a116100de5780638734852a1461049857806396ff6e2e146104ab578063a1d9b412146104be578063b3c678b0146104d157600080fd5b80637e4a56bb1461046a5780637ed7238e14610472578063807ad1141461048557600080fd5b80633fed8f161161017c57806359e5332d1161014b57806359e5332d1461036457806364f6b3161461037b5780637186dd9c1461038e57806374f717cd1461044757600080fd5b80633fed8f16146103165780634d61ebf4146103365780634ec0ab1c1461033e578063509c5fbd1461035157600080fd5b806319a39740116101b857806319a397401461025b5780631e127ddf1461026e578063372fa8e8146102c25780633df91222146102d557600080fd5b80630669b1ce146101df57806311f900b5146101f45780631650080714610227575b600080fd5b6101f26101ed366004614a11565b61058b565b005b610207610202366004614a46565b610b79565b6040805161ffff9384168152929091166020830152015b60405180910390f35b61023a610235366004614ac0565b610b90565b6040516fffffffffffffffffffffffffffffffff909116815260200161021e565b6101f2610269366004614a46565b610baa565b6101f261027c366004614b82565b3360009081526007602090815260408083207fffffffff000000000000000000000000000000000000000000000000000000009490941683529290522080546001019055565b6101f26102d0366004614bbd565b610c75565b6102fe6102e3366004614a46565b6005602052600090815260409020546001600160a01b031681565b6040516001600160a01b03909116815260200161021e565b610329610324366004614c31565b610d76565b60405161021e9190614c53565b610207610f4e565b6101f261034c366004614ce2565b610f63565b61023a61035f366004614ac0565b611030565b61036d60025481565b60405190815260200161021e565b6000546102fe906001600160a01b031681565b6103fc61039c366004614a46565b6006602052600090815260409020805460018201546002909201546fffffffffffffffffffffffffffffffff8083169370010000000000000000000000000000000093849004821693818316939181900483169282811692919091041686565b604080516fffffffffffffffffffffffffffffffff978816815295871660208701529386169385019390935290841660608401528316608083015290911660a082015260c00161021e565b61045a610455366004614d23565b611040565b604051901515815260200161021e565b6103296110a9565b61036d610480366004614ea9565b61114c565b6001546102fe906001600160a01b031681565b6101f26104a6366004614f88565b611263565b61023a6104b9366004615066565b6114b5565b61023a6104cc366004615066565b6115c6565b61036d6104df366004615131565b6116c7565b6101f26104f2366004614a11565b61171c565b6101f2610505366004614ce2565b611726565b61036d6105183660046151e2565b600760209081526000928352604080842090915290825290205481565b6102076117ef565b6105456117fc565b60405161021e919061520e565b610545610560366004614c31565b61188f565b6101f2610573366004614a11565b611a4d565b610207610586366004614a46565b612026565b600080546040517fb6e76873000000000000000000000000000000000000000000000000000000008152833560048201526001600160a01b039091169063b6e768739060240161012060405180830381865afa1580156105ef573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061061391906152c8565b9050600060018260a0015161062891906153a6565b67ffffffffffffffff169050600160009054906101000a90046001600160a01b03166001600160a01b031663ae2a6df26040518163ffffffff1660e01b815260040160006040518083038186803b15801561068257600080fd5b505afa158015610696573d6000803e3d6000fd5b505050506000806000806106b485600461203490919063ffffffff16565b909250905060006106cb6080890160608a016153ce565b6001600160a01b031663b02bd9206040518163ffffffff1660e01b8152600401602060405180830381865afa158015610708573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061072c91906153eb565b67ffffffffffffffff16905061271061ffff8416820204818860c0015167ffffffffffffffff16030194506127108261ffff1682028161076e5761076e615406565b04850193508342116107ac576040517f038d8a6a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8660c0015167ffffffffffffffff1642106107f3576040517f08c8d62700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050843560009081526006602052604080822060015491517fcdfda4dd000000000000000000000000000000000000000000000000000000008152600481018690529092916001600160a01b03169063edb8ee5a90829063cdfda4dd90602401602060405180830381865afa158015610871573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108959190615435565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b16815265ffffffffffff9091166004820152602401602060405180830381865afa1580156108f0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610914919061545d565b600183015460028401549192506fffffffffffffffffffffffffffffffff7001000000000000000000000000000000009182900481169291820481169116600061095f60038a6121cd565b9150506000610975868361ffff166127106122d8565b905080856fffffffffffffffffffffffffffffffff1610156109e3576040517fbfb9aa550000000000000000000000000000000000000000000000000000000081526fffffffffffffffffffffffffffffffff86166004820152602481018290526044015b60405180910390fd5b836fffffffffffffffffffffffffffffffff16856fffffffffffffffffffffffffffffffff1611610a5c576040517f8a0df63f0000000000000000000000000000000000000000000000000000000081526fffffffffffffffffffffffffffffffff8087166004830152851660248201526044016109da565b6000610a7b8d6060016020810190610a7491906153ce565b600061231c565b905060008054906101000a90046001600160a01b03166001600160a01b03166394004706828f6040518363ffffffff1660e01b8152600401610abe9291906155b2565b6020604051808303816000875af1158015610add573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b0191906155e8565b50604080518e3581526fffffffffffffffffffffffffffffffff808916602083015280881692820192909252908516606082015260ff82169033907ff5bc433f16cc3d0e9fcb5ac4f8de9f17eb90de1fd2a9ede5952c2097d4ef1a59906080015b60405180910390a350505050505050505050505050565b600080610b87600484612034565b91509150915091565b6000610ba0338787878787612612565b9695505050505050565b60008054906101000a90046001600160a01b03166001600160a01b031663c34c08e56040518163ffffffff1660e01b8152600401602060405180830381865afa158015610bfb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c1f9190615603565b6001600160a01b0316336001600160a01b031614610c69576040517f26bee1ce00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610c7281612c5e565b50565b6000610c818686612e2e565b6040805160008082526020820180845284905260ff88169282019290925260608101869052608081018590529192509060019060a0016020604051602081039080840390855afa158015610cd9573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001519150506001600160a01b0381161580610d2c5750866001600160a01b0316816001600160a01b031614155b15610d63576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610d6d8187612f50565b50505050505050565b60408051602081019091526060815281831115610dbf576040517f2cd4dad300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60045480831115610dfc576040517f2cd4dad300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610e088585615620565b905060008167ffffffffffffffff811115610e2557610e25614d65565b604051908082528060200260200182016040528015610e8e57816020015b60408051606081018252600080825260208083018290529282015282527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff909201910181610e435790505b509050855b85811015610f34576004805482908110610eaf57610eaf615633565b600091825260209182902060408051606081018252919092015465ffffffffffff8116825261ffff660100000000000082048116948301949094526801000000000000000090049092169082015282610f088984615620565b81518110610f1857610f18615633565b6020026020010181905250610f2d8160010190565b9050610e93565b506040805160208101909152908152925050505b92915050565b600080610f5b6004613063565b915091509091565b60008054906101000a90046001600160a01b03166001600160a01b031663c34c08e56040518163ffffffff1660e01b8152600401602060405180830381865afa158015610fb4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fd89190615603565b6001600160a01b0316336001600160a01b031614611022576040517f26bee1ce00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61102c82826130db565b5050565b6000610ba03387878787876131cf565b60008115611077575060008381526006602090815260408083206001600160a01b038616845260030190915290205460ff166110a2565b5060008381526006602090815260408083206001600160a01b038616845260040190915290205460ff165b9392505050565b6040805160208101909152606081526040805160048054602081810284018501855283018181529293919284929091849160009085015b8282101561113f576000848152602090819020604080516060810182529185015465ffffffffffff8116835261ffff660100000000000082048116848601526801000000000000000090910416908201528252600190920191016110e0565b5050505081525050905090565b60008061115f8d8d8d8d8d8d8d8d613714565b6040805160008082526020820180845284905260ff89169282019290925260608101879052608081018690529192509060019060a0016020604051602081039080840390855afa1580156111b7573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001519150506001600160a01b038116158061120a57508d6001600160a01b0316816001600160a01b031614155b15611241576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611251818e8e8e8e8e8e8e613885565b9e9d5050505050505050505050505050565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000810460ff16159067ffffffffffffffff166000811580156112ae5750825b905060008267ffffffffffffffff1660011480156112cb5750303b155b9050811580156112d9575080155b15611310576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b84547fffffffffffffffffffffffffffffffffffffffffffffffff000000000000000016600117855583156113715784547fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff16680100000000000000001785555b886001600160a01b0316639bccfe496040518163ffffffff1660e01b8152600401602060405180830381865afa1580156113af573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113d3919061545d565b50600080546001600160a01b03808c167fffffffffffffffffffffffff00000000000000000000000000000000000000009283161790925560018054928b169290911691909117905561142587612c5e565b611437866000015187602001516130db565b61144986604001518760600151613b89565b83156114aa5784547fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b505050505050505050565b6000806114c68b8b8b8b8b8b613c26565b6040805160008082526020820180845284905260ff89169282019290925260608101879052608081018690529192509060019060a0016020604051602081039080840390855afa15801561151e573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001519150506001600160a01b038116158061157157508b6001600160a01b0316816001600160a01b031614155b156115a8576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6115b6818c8c8c8c8c6131cf565b9c9b505050505050505050505050565b6000806115d78b8b8b8b8b8b613d84565b6040805160008082526020820180845284905260ff89169282019290925260608101879052608081018690529192509060019060a0016020604051602081039080840390855afa15801561162f573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001519150506001600160a01b038116158061168257508b6001600160a01b0316816001600160a01b031614155b156116b9576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6115b6818c8c8c8c8c612612565b600061170f338a8a8a8a8a8a8a8a8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061388592505050565b9998505050505050505050565b610c723382612f50565b60008054906101000a90046001600160a01b03166001600160a01b031663c34c08e56040518163ffffffff1660e01b8152600401602060405180830381865afa158015611777573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061179b9190615603565b6001600160a01b0316336001600160a01b0316146117e5576040517f26bee1ce00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61102c8282613b89565b600080610f5b6003613063565b604080516020810190915260608152604080516003805460208082028401850185528301818152929391928492909184916000908501821561113f576000848152602090819020604080516060810182529185015465ffffffffffff8116835261ffff660100000000000082048116848601526801000000000000000090910416908201528252600190920191016110e0565b604080516020810190915260608152818311156118d8576040517f2cd4dad300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60035480831115611915576040517f2cd4dad300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006119218585615620565b905060008167ffffffffffffffff81111561193e5761193e614d65565b6040519080825280602002602001820160405280156119a757816020015b60408051606081018252600080825260208083018290529282015282527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90920191018161195c5790505b509050855b85811015610f345760038054829081106119c8576119c8615633565b600091825260209182902060408051606081018252919092015465ffffffffffff8116825261ffff660100000000000082048116948301949094526801000000000000000090049092169082015282611a218984615620565b81518110611a3157611a31615633565b6020026020010181905250611a468160010190565b90506119ac565b600080546040517fb6e76873000000000000000000000000000000000000000000000000000000008152833560048201526001600160a01b039091169063b6e768739060240161012060405180830381865afa158015611ab1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ad591906152c8565b9050600060018260a00151611aea91906153a6565b67ffffffffffffffff169050600160009054906101000a90046001600160a01b03166001600160a01b031663ae2a6df26040518163ffffffff1660e01b815260040160006040518083038186803b158015611b4457600080fd5b505afa158015611b58573d6000803e3d6000fd5b50505050600080600080611b7685600461203490919063ffffffff16565b90925090506000611b8d6080890160608a016153ce565b6001600160a01b0316637999762c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611bca573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bee91906153eb565b67ffffffffffffffff16905061271061ffff84168202048760a0015167ffffffffffffffff160194506127108261ffff16820281611c2e57611c2e615406565b0485019350834211611c6c576040517f038d8a6a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b808760a0015167ffffffffffffffff16611c869190615662565b421115611cbf576040517f08c8d62700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050843560009081526006602052604080822060015491517fcdfda4dd000000000000000000000000000000000000000000000000000000008152600481018690529092916001600160a01b03169063edb8ee5a90829063cdfda4dd90602401602060405180830381865afa158015611d3d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d619190615435565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b16815265ffffffffffff9091166004820152602401602060405180830381865afa158015611dbc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611de0919061545d565b825460018401549192506fffffffffffffffffffffffffffffffff808216928116917001000000000000000000000000000000009004166000611e2460038a6121cd565b5090506000611e3a868361ffff166127106122d8565b905080856fffffffffffffffffffffffffffffffff161015611ea3576040517f0425fab10000000000000000000000000000000000000000000000000000000081526fffffffffffffffffffffffffffffffff86166004820152602481018290526044016109da565b836fffffffffffffffffffffffffffffffff16856fffffffffffffffffffffffffffffffff1611611f1c576040517f8a0df63f0000000000000000000000000000000000000000000000000000000081526fffffffffffffffffffffffffffffffff8087166004830152851660248201526044016109da565b6000611f3b8d6060016020810190611f3491906153ce565b600161231c565b905060008054906101000a90046001600160a01b03166001600160a01b03166389e7d126828f6040518363ffffffff1660e01b8152600401611f7e9291906155b2565b6020604051808303816000875af1158015611f9d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fc191906155e8565b50604080518e3581526fffffffffffffffffffffffffffffffff808916602083015280881692820192909252908516606082015260ff82169033907ff23279e924757f3bfe4f543bc1b43685e851d6ace53f8518b806dcd8d42fc13990608001610b62565b600080610b876003846121cd565b6000804283106120c6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f506572696f64506374436865636b706f696e74733a2074696d657374616d702060448201527f6973206e6f7420696e207468652070617374000000000000000000000000000060648201526084016109da565b60006120d184613db3565b855490915060008160058111156121315760006120ed84613dfc565b6120f79085615620565b60008a81526020902090915081015465ffffffffffff90811690861610156121215780915061212f565b61212c816001615662565b92505b505b600061213f89868585613eae565b90508060000361215a576000809650965050505050506121c6565b60006121798a61216b600185615620565b600091825260209091200190565b60408051606081018252915465ffffffffffff8116835261ffff66010000000000008204811660208501819052680100000000000000009092041692909101829052985096505050505050505b9250929050565b60008042831061225f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602f60248201527f51756f72756d436865636b706f696e74733a2074696d657374616d702069732060448201527f6e6f7420696e207468652070617374000000000000000000000000000000000060648201526084016109da565b600061226a84613db3565b855490915060008160058111156122ca57600061228684613dfc565b6122909085615620565b60008a81526020902090915081015465ffffffffffff90811690861610156122ba578091506122c8565b6122c5816001615662565b92505b505b600061213f89868585613f10565b6000827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048411830215820261230d57600080fd5b50910281810615159190040190565b60008054604080517f0505c8c9000000000000000000000000000000000000000000000000000000008152905183926001600160a01b031691630505c8c99160048083019260209291908290030181865afa15801561237f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123a39190615603565b6001600160a01b0316638b2ed3886040518163ffffffff1660e01b8152600401602060405180830381865afa1580156123e0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124049190615675565b905060015b8160ff16811161253b57836124a1576040517fc167ebae00000000000000000000000000000000000000000000000000000000815260ff821660048201526001600160a01b0386169063c167ebae90602401602060405180830381865afa158015612478573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061249c9190615692565b612525565b6040517ffb847c4300000000000000000000000000000000000000000000000000000000815260ff821660048201526001600160a01b0386169063fb847c4390602401602060405180830381865afa158015612501573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125259190615692565b15612533579150610f489050565b600101612409565b50826125a857836001600160a01b03166312a52f006040518163ffffffff1660e01b8152600401602060405180830381865afa15801561257f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125a39190615675565b61260a565b836001600160a01b03166366cacdc96040518163ffffffff1660e01b8152600401602060405180830381865afa1580156125e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061260a9190615675565b949350505050565b600080546040517fb6e768730000000000000000000000000000000000000000000000000000000081528635600482015282916001600160a01b03169063b6e768739060240161012060405180830381865afa158015612676573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061269a91906152c8565b9050600060018260a001516126af91906153a6565b8735600090815260066020526040902067ffffffffffffffff9190911691506126de6080890160608a016153ce565b6001600160a01b03166302674e4b89308c6040518463ffffffff1660e01b815260040161270d939291906156af565b60006040518083038186803b15801561272557600080fd5b505afa158015612739573d6000803e3d6000fd5b505050506001600160a01b038a16600090815260048201602052604090205460ff1615612792576040517f9dd6544b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6127a0888a89600486613f6a565b60008080806127b0600487612034565b909250905060006127c760808e0160608f016153ce565b6001600160a01b031663b02bd9206040518163ffffffff1660e01b8152600401602060405180830381865afa158015612804573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061282891906153eb565b67ffffffffffffffff16905061271061ffff8416820204818960c0015167ffffffffffffffff16030194506127108261ffff1682028161286a5761286a615406565b04850193508442116128a8576040517fd0b72b4900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b834211156128e2576040517f5b73d19300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050506000612a25600160009054906101000a90046001600160a01b03166001600160a01b0316639556de738f600160009054906101000a90046001600160a01b03166001600160a01b031663cdfda4dd886040518263ffffffff1660e01b815260040161295291815260200190565b602060405180830381865afa15801561296f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906129939190615435565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b1681526001600160a01b03909216600483015265ffffffffffff166024820152604401602060405180830381865afa1580156129fc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a20919061545d565b61425e565b905060ff8a16612a9e576002840154612a649070010000000000000000000000000000000090046fffffffffffffffffffffffffffffffff16826142ad565b6002850180546fffffffffffffffffffffffffffffffff928316700100000000000000000000000000000000029216919091179055612bc6565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60ff8b1601612b37576001840154612afd9070010000000000000000000000000000000090046fffffffffffffffffffffffffffffffff16826142ad565b6001850180546fffffffffffffffffffffffffffffffff928316700100000000000000000000000000000000029216919091179055612bc6565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe60ff8b1601612bc6576002840154612b82906fffffffffffffffffffffffffffffffff16826142ad565b6002850180547fffffffffffffffffffffffffffffffff00000000000000000000000000000000166fffffffffffffffffffffffffffffffff929092169190911790555b6001600160a01b038d1660008181526004860160205260409081902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790555160ff8c1691907f4e3e2ad68670a2709cb408c31c5afd8da0b6d3d06c75b11feb404a455639fe7c90612c46908f359086908f908f90615713565b60405180910390a39c9b505050505050505050505050565b60018054604080517f91ddadf400000000000000000000000000000000000000000000000000000000815290516000936001600160a01b039093169263edb8ee5a92909184916391ddadf49160048083019260209291908290030181865afa158015612cce573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612cf29190615435565b612cfc9190615745565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b16815265ffffffffffff9091166004820152602401602060405180830381865afa158015612d57573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612d7b919061545d565b905080600003612db7576040517f34bbd58500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80821115612df1576040517f8a5e746800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60028290556040518281527fd91a985c173545ab0e0bd11c021a1ae84c1ea6eab9350d9bf3812d5b8bff49a4906020015b60405180910390a15050565b6000807f6da9390b4f29da2c44fa5a9da00b392393d01e989d16e4a3dec5a538318e352584612e5c856142f4565b6001600160a01b03871660009081526007602090815260408083207fffffffff00000000000000000000000000000000000000000000000000000000843516845290915290208054600181019091556040805160208101959095526001600160a01b03909316928401929092526060830152608082015260a001604051602081830303815290604052805190602001209050612ef66143eb565b6040517f190100000000000000000000000000000000000000000000000000000000000060208201526022810191909152604281018290526062016040516020818303038152906040528051906020012091505092915050565b80356000908152600560205260409020546001600160a01b03838116911614612fa5576040517f86ba025600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000546040517fb92cdd9a0000000000000000000000000000000000000000000000000000000081526001600160a01b039091169063b92cdd9a90612fee908490600401615764565b600060405180830381600087803b15801561300857600080fd5b505af115801561301c573d6000803e3d6000fd5b5050604051833581526001600160a01b03851692507fdcccc5725b7256a6975da00de8953e5d326756a3079d203ff6df9e52331f411a915060200160405180910390a25050565b8054600090819080820361307d5750600093849350915050565b600061308e8561216b600185615620565b60408051606081018252915465ffffffffffff8116835261ffff66010000000000008204811660208501819052680100000000000000009092041692909101829052969095509350505050565b6127108261ffff1611806130f1575061ffff8216155b1561312e576040517f8f6febc000000000000000000000000000000000000000000000000000000000815261ffff831660048201526024016109da565b6127108161ffff161180613144575061ffff8116155b15613181576040517f3bec511c00000000000000000000000000000000000000000000000000000000815261ffff821660048201526024016109da565b613194600361ffff80851690841661454d565b6040805161ffff8085168252831660208201527f77c3f43700db02acb49792bbf699b39f72c2ed4b920bd5c0b1843dcd7c832f4c9101612e22565b600080546040517fb6e768730000000000000000000000000000000000000000000000000000000081528635600482015282916001600160a01b03169063b6e768739060240161012060405180830381865afa158015613233573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061325791906152c8565b9050600060018260a0015161326c91906153a6565b8735600090815260066020526040902067ffffffffffffffff91909116915061329b6080890160608a016153ce565b6001600160a01b0316631a2a4e7789308c6040518463ffffffff1660e01b81526004016132ca939291906156af565b60006040518083038186803b1580156132e257600080fd5b505afa1580156132f6573d6000803e3d6000fd5b505050506001600160a01b038a16600090815260038201602052604090205460ff161561334f576040517f9dd6544b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61335d888a89600086613f6a565b600080808061336d600487612034565b9092509050600061338460808e0160608f016153ce565b6001600160a01b0316637999762c6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156133c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906133e591906153eb565b67ffffffffffffffff16905061271061ffff84168202048860a0015167ffffffffffffffff160194506127108261ffff1682028161342557613425615406565b0485019350844211613463576040517fd0b72b4900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8342111561349d576040517f5b73d19300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050600061350d600160009054906101000a90046001600160a01b03166001600160a01b0316639556de738f600160009054906101000a90046001600160a01b03166001600160a01b031663cdfda4dd886040518263ffffffff1660e01b815260040161295291815260200190565b905060ff8a16613580576001840154613538906fffffffffffffffffffffffffffffffff16826142ad565b6001850180547fffffffffffffffffffffffffffffffff00000000000000000000000000000000166fffffffffffffffffffffffffffffffff92909216919091179055613694565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60ff8b16016136095783546135c8906fffffffffffffffffffffffffffffffff16826142ad565b84547fffffffffffffffffffffffffffffffff00000000000000000000000000000000166fffffffffffffffffffffffffffffffff91909116178455613694565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe60ff8b16016136945783546136659070010000000000000000000000000000000090046fffffffffffffffffffffffffffffffff16826142ad565b84546fffffffffffffffffffffffffffffffff9182167001000000000000000000000000000000000291161784555b6001600160a01b038d1660008181526003860160205260409081902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790555160ff8c1691907f761cce3a1af5d9cfc0d57222f605ce4bd2be345f0ad9ebb7b83a84a91a0c201490612c46908f359086908f908f90615713565b6001600160a01b03881660009081526007602090815260408083207fffffffff000000000000000000000000000000000000000000000000000000008435168452909152812080546001810190915560007fd1fab1c7b3b37134662e5867b00e272eb49f7be0a890df29e802c3cc66c06f838b8b8b8b8b8b8b60405161379b929190615777565b604080519182900382208c516020808f0191909120908401999099526001600160a01b039788169183019190915260ff90951660608201529285166080840152931660a082015260c081019290925260e08201526101008101919091526101208101839052610140016040516020818303038152906040528051906020012090506138246143eb565b6040517f19010000000000000000000000000000000000000000000000000000000000006020820152602281019190915260428101829052606201604051602081830303815290604052805190602001209250505098975050505050505050565b600154604080517fae2a6df200000000000000000000000000000000000000000000000000000000815290516000926001600160a01b03169163ae2a6df29160048083019286929190829003018186803b1580156138e257600080fd5b505afa1580156138f6573d6000803e3d6000fd5b505060018054604080517f91ddadf40000000000000000000000000000000000000000000000000000000081529051600095506001600160a01b039092169350639556de73928e92909185916391ddadf4916004808201926020929091908290030181865afa15801561396d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906139919190615435565b61399b9190615745565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b1681526001600160a01b03909216600483015265ffffffffffff166024820152604401602060405180830381865afa158015613a04573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613a28919061545d565b9050600254811015613a69576040517f92665351000000000000000000000000000000000000000000000000000000008152600481018290526024016109da565b6000546040517fb3c678b00000000000000000000000000000000000000000000000000000000081526001600160a01b039091169063b3c678b090613abe908c908c908c908c908c908c908c906004016157ab565b6020604051808303816000875af1158015613add573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613b01919061545d565b60008181526005602090815260409182902080547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b038f16908117909155915183815292945090917f1834dfd49255741a8ce9a9bd66b91b64d13622e1d8170e4c78ac91f9ec50a542910160405180910390a25098975050505050505050565b612710613b96828461583b565b61ffff1610613bdf576040517f519dd38400000000000000000000000000000000000000000000000000000000815261ffff8084166004830152821660248201526044016109da565b613beb60048383614576565b6040805161ffff8085168252831660208201527f8df7bdcce333d9e1b85e40782fb2f293c805761d3f48aaea58865e9541e44c709101612e22565b6000807fd7be168a3509af358f222ee35ee76aba47bc5fc2c35061cdce3958f510b7b1b28888613c55896142f4565b888888604051613c66929190615777565b60408051918290039091206001600160a01b038f166000908152600760209081528382207fffffffff0000000000000000000000000000000000000000000000000000000083351683529052919091208054600181019091556040805160208101989098526001600160a01b039096169587019590955260ff938416606087015260808601929092529190911660a084015260c083015260e082015261010001604051602081830303815290604052805190602001209050613d266143eb565b6040517f19010000000000000000000000000000000000000000000000000000000000006020820152602281019190915260428101829052606201604051602081830303815290604052805190602001209150509695505050505050565b6000807fa87058c5a9888e7af4405a932381d5a4612c61354bc3e52e9ea361ba17703fb38888613c55896142f4565b600065ffffffffffff821115613df8576040517fc0188c4f000000000000000000000000000000000000000000000000000000008152600481018390526024016109da565b5090565b60b581710100000000000000000000000000000000008110613e235760409190911b9060801c5b69010000000000000000008110613e3f5760209190911b9060401c5b650100000000008110613e575760109190911b9060201c5b63010000008110613e6d5760089190911b9060101c5b62010000010260121c80820401600190811c80830401811c80830401811c80830401811c80830401811c80830401811c80830401901c908190048111900390565b60005b81831015613f08576000613ec584846145a2565b60008781526020902090915065ffffffffffff86169082015465ffffffffffff161115613ef457809250613f02565b613eff816001615662565b93505b50613eb1565b509392505050565b60005b81831015613f08576000613f2784846145a2565b60008781526020902090915065ffffffffffff86169082015465ffffffffffff161115613f5657809250613f64565b613f61816001615662565b93505b50613f13565b600260ff84161115613fad576040517ffe0e5d8b00000000000000000000000000000000000000000000000000000000815260ff841660048201526024016109da565b600080546040517fec12d8be0000000000000000000000000000000000000000000000000000000081526001600160a01b039091169063ec12d8be90613ff7908990600401615764565b602060405180830381865afa158015614014573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906140389190615675565b60ff16600681111561404c5761404c6156e4565b9050826006811115614060576140606156e4565b816006811115614072576140726156e4565b146140ab57806040517f87afe58e0000000000000000000000000000000000000000000000000000000081526004016109da9190615856565b60008060009054906101000a90046001600160a01b03166001600160a01b0316630505c8c96040518163ffffffff1660e01b8152600401602060405180830381865afa1580156140ff573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906141239190615603565b6040517fe0bec07600000000000000000000000000000000000000000000000000000000815230600482015260ff88166024820152604481018590526001600160a01b03919091169063e0bec07690606401602060405180830381865afa158015614192573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906141b69190615692565b9050806141ef576040517f88aebd1200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600160009054906101000a90046001600160a01b03166001600160a01b031663ae2a6df26040518163ffffffff1660e01b815260040160006040518083038186803b15801561423d57600080fd5b505afa158015614251573d6000803e3d6000fd5b5050505050505050505050565b60006fffffffffffffffffffffffffffffffff821115613df8576040517fc0188c4f000000000000000000000000000000000000000000000000000000008152600481018390526024016109da565b60006fffffffffffffffffffffffffffffffff6142ce838216858316615662565b106142ea57506fffffffffffffffffffffffffffffffff610f48565b6110a28284615897565b60007f86b4555c6e347ea3f038485b59b894986c208b67da7e65fcfa3707271608465f823561432960408501602086016153ce565b61433960608601604087016158c0565b61434960808701606088016153ce565b61435960a08801608089016153ce565b60a088013561436b60c08a018a6158dd565b604051614379929190615777565b6040805191829003822060208301999099528101969096526001600160a01b03948516606087015260ff909316608086015290831660a08501529190911660c083015260e082015261010081019190915261012001604051602081830303815290604052805190602001209050919050565b60008054604080517f06fdde0300000000000000000000000000000000000000000000000000000000815290517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f926001600160a01b0316916306fdde0391600480830192879291908290030181865afa15801561446d573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526144b39190810190615942565b8051602091820120604080518082018252600181527f310000000000000000000000000000000000000000000000000000000000000090840152805192830193909352918101919091527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a082015260c00160405160208183030381529060405280519060200120905090565b6145718361455a42613db3565b614563856145bd565b61456c856145bd565b6145fe565b505050565b6145718361458342613db3565b6145908561ffff166145bd565b61459d8561ffff166145bd565b614909565b60006145b160028484186159b0565b6110a290848416615662565b600061ffff821115613df8576040517fc0188c4f000000000000000000000000000000000000000000000000000000008152600481018390526024016109da565b835480156148475760006146178661216b600185615620565b60408051606081018252915465ffffffffffff80821680855261ffff66010000000000008404811660208701526801000000000000000090930490921692840192909252919250861610156146ed576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f51756f72756d20436865636b706f696e743a20696e76616c69642074696d657360448201527f74616d700000000000000000000000000000000000000000000000000000000060648201526084016109da565b805165ffffffffffff8087169116036147865760006147118761216b600186615620565b805461ffff86811668010000000000000000027fffffffffffffffffffffffffffffffffffffffffffff0000ffffffffffffffff918916660100000000000002919091167fffffffffffffffffffffffffffffffffffffffffffff00000000ffffffffffff9092169190911717905550614841565b6040805160608101825265ffffffffffff808816825261ffff80881660208085019182528883169585019586528b54600181018d5560008d81529190912094519401805491519551831668010000000000000000027fffffffffffffffffffffffffffffffffffffffffffff0000ffffffffffffffff969093166601000000000000027fffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000909216949093169390931792909217929092161790555b50614902565b6040805160608101825265ffffffffffff808716825261ffff80871660208085019182528783169585019586528a54600181018c5560008c81529190912094519401805491519551831668010000000000000000027fffffffffffffffffffffffffffffffffffffffffffff0000ffffffffffffffff969093166601000000000000027fffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000909216949093169390931792909217929092161790555b5050505050565b835480156148475760006149228661216b600185615620565b60408051606081018252915465ffffffffffff80821680855261ffff66010000000000008404811660208701526801000000000000000090930490921692840192909252919250861610156146ed576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602860248201527f506572696f642050637420436865636b706f696e743a20696e76616c6964207460448201527f696d657374616d7000000000000000000000000000000000000000000000000060648201526084016109da565b600060e08284031215614a0b57600080fd5b50919050565b600060208284031215614a2357600080fd5b813567ffffffffffffffff811115614a3a57600080fd5b61260a848285016149f9565b600060208284031215614a5857600080fd5b5035919050565b60ff81168114610c7257600080fd5b8035614a7981614a5f565b919050565b60008083601f840112614a9057600080fd5b50813567ffffffffffffffff811115614aa857600080fd5b6020830191508360208285010111156121c657600080fd5b600080600080600060808688031215614ad857600080fd5b8535614ae381614a5f565b9450602086013567ffffffffffffffff80821115614b0057600080fd5b614b0c89838a016149f9565b955060408801359150614b1e82614a5f565b90935060608701359080821115614b3457600080fd5b50614b4188828901614a7e565b969995985093965092949392505050565b80357fffffffff0000000000000000000000000000000000000000000000000000000081168114614a7957600080fd5b600060208284031215614b9457600080fd5b6110a282614b52565b6001600160a01b0381168114610c7257600080fd5b8035614a7981614b9d565b600080600080600060a08688031215614bd557600080fd5b8535614be081614b9d565b9450602086013567ffffffffffffffff811115614bfc57600080fd5b614c08888289016149f9565b9450506040860135614c1981614a5f565b94979396509394606081013594506080013592915050565b60008060408385031215614c4457600080fd5b50508035926020909101359150565b60208082528251828201829052805160408401819052600092916060919083019082860190855b81811015614cc357614cb3838551805165ffffffffffff16825260208082015161ffff9081169184019190915260409182015116910152565b9285019291840191600101614c7a565b5090979650505050505050565b803561ffff81168114614a7957600080fd5b60008060408385031215614cf557600080fd5b614cfe83614cd0565b9150614d0c60208401614cd0565b90509250929050565b8015158114610c7257600080fd5b600080600060608486031215614d3857600080fd5b833592506020840135614d4a81614b9d565b91506040840135614d5a81614d15565b809150509250925092565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051610120810167ffffffffffffffff81118282101715614db857614db8614d65565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715614e0557614e05614d65565b604052919050565b600067ffffffffffffffff821115614e2757614e27614d65565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b600082601f830112614e6457600080fd5b8135614e77614e7282614e0d565b614dbe565b818152846020838601011115614e8c57600080fd5b816020850160208301376000918101602001919091529392505050565b60008060008060008060008060008060006101408c8e031215614ecb57600080fd5b614ed48c614bb2565b9a50614ee260208d01614a6e565b9950614ef060408d01614bb2565b9850614efe60608d01614bb2565b975060808c0135965067ffffffffffffffff8060a08e01351115614f2157600080fd5b614f318e60a08f01358f01614a7e565b909750955060c08d0135811015614f4757600080fd5b50614f588d60c08e01358e01614e53565b9350614f6660e08d01614a6e565b92506101008c013591506101208c013590509295989b509295989b9093969950565b60008060008084860360e0811215614f9f57600080fd5b8535614faa81614b9d565b94506020860135614fba81614b9d565b93506040860135925060807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa082011215614ff357600080fd5b506040516080810181811067ffffffffffffffff8211171561501757615017614d65565b60405261502660608701614cd0565b815261503460808701614cd0565b602082015261504560a08701614cd0565b604082015261505660c08701614cd0565b6060820152939692955090935050565b60008060008060008060008060006101008a8c03121561508557600080fd5b893561509081614b9d565b985060208a01356150a081614a5f565b975060408a013567ffffffffffffffff808211156150bd57600080fd5b6150c98d838e016149f9565b985060608c013591506150db82614a5f565b90965060808b013590808211156150f157600080fd5b506150fe8c828d01614a7e565b90965094505060a08a013561511281614a5f565b8093505060c08a0135915060e08a013590509295985092959850929598565b60008060008060008060008060c0898b03121561514d57600080fd5b883561515881614a5f565b9750602089013561516881614b9d565b9650604089013561517881614b9d565b955060608901359450608089013567ffffffffffffffff8082111561519c57600080fd5b6151a88c838d01614a7e565b909650945060a08b01359150808211156151c157600080fd5b506151ce8b828c01614a7e565b999c989b5096995094979396929594505050565b600080604083850312156151f557600080fd5b823561520081614b9d565b9150614d0c60208401614b52565b60208082528251828201829052805160408401819052600092916060919083019082860190855b81811015614cc35761526e838551805165ffffffffffff16825260208082015161ffff9081169184019190915260409182015116910152565b9285019291840191600101615235565b8051614a7981614d15565b8051614a7981614b9d565b805167ffffffffffffffff81168114614a7957600080fd5b80516bffffffffffffffffffffffff81168114614a7957600080fd5b600061012082840312156152db57600080fd5b6152e3614d94565b825181526152f36020840161527e565b60208201526153046040840161527e565b60408201526153156060840161527e565b606082015261532660808401615289565b608082015261533760a08401615294565b60a082015261534860c08401615294565b60c082015261535960e084016152ac565b60e082015261010061536c8185016152ac565b908201529392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b67ffffffffffffffff8281168282160390808211156153c7576153c7615377565b5092915050565b6000602082840312156153e057600080fd5b81356110a281614b9d565b6000602082840312156153fd57600080fd5b6110a282615294565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006020828403121561544757600080fd5b815165ffffffffffff811681146110a257600080fd5b60006020828403121561546f57600080fd5b5051919050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b80358252600060208201356154d381614b9d565b6001600160a01b0390811660208501526040830135906154f282614a5f565b60ff821660408601526060840135915061550b82614b9d565b908116606085015260808301359061552282614b9d565b16608084015260a0828101359084015260c0820135368390037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe101811261556857600080fd5b820160208101903567ffffffffffffffff81111561558557600080fd5b80360382131561559457600080fd5b60e060c08601526155a960e086018284615476565b95945050505050565b60ff831681526060602082015260006155ce60608301846154bf565b828103604084015260008152602081019150509392505050565b6000602082840312156155fa57600080fd5b6110a2826152ac565b60006020828403121561561557600080fd5b81516110a281614b9d565b81810381811115610f4857610f48615377565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b80820180821115610f4857610f48615377565b60006020828403121561568757600080fd5b81516110a281614a5f565b6000602082840312156156a457600080fd5b81516110a281614d15565b6060815260006156c260608301866154bf565b90506001600160a01b038416602083015260ff83166040830152949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b8481526fffffffffffffffffffffffffffffffff84166020820152606060408201526000610ba0606083018486615476565b65ffffffffffff8281168282160390808211156153c7576153c7615377565b6020815260006110a260208301846154bf565b8183823760009101908152919050565b60005b838110156157a257818101518382015260200161578a565b50506000910152565b60ff8816815260006001600160a01b03808916602084015280881660408401525085606083015260c060808301526157e760c083018587615476565b82810360a08401528351808252615805816020840160208801615787565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016016020019998505050505050505050565b61ffff8181168382160190808211156153c7576153c7615377565b6020810160078310615891577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b91905290565b6fffffffffffffffffffffffffffffffff8181168382160190808211156153c7576153c7615377565b6000602082840312156158d257600080fd5b81356110a281614a5f565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261591257600080fd5b83018035915067ffffffffffffffff82111561592d57600080fd5b6020019150368190038213156121c657600080fd5b60006020828403121561595457600080fd5b815167ffffffffffffffff81111561596b57600080fd5b8201601f8101841361597c57600080fd5b805161598a614e7282614e0d565b81815285602083850101111561599f57600080fd5b6155a9826020830160208601615787565b6000826159e6577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b50049056fea164736f6c6343000817000a", + "nonce": "0x0", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x80abafa25eeb3637ce3d091b2ba7747144f3b7787c3766075699e30c02cbc3b3", + "transactionType": "CREATE", + "contractName": "LlamaTokenVotingFactory", + "contractAddress": "0xFBE17545dffD75A92A5A72926AE581478973FE65", + "function": null, + "arguments": [ + "0x3f3DAB3ab8cEc2FBd06767c2A5F66Cb6BFF21A4A" + ], + "transaction": { + "type": "0x02", + "from": "0xb72276d9ff15c7998b9962ffcfb21a6c7249441b", + "gas": "0x855585", + "value": "0x0", + "data": "0x60a060405234801561001057600080fd5b50604051610b16380380610b1683398101604081905261002f91610040565b6001600160a01b0316608052610070565b60006020828403121561005257600080fd5b81516001600160a01b038116811461006957600080fd5b9392505050565b608051610a8561009160003960008181604001526104390152610a856000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c806321618ea41461003b5780633ec857a51461008b575b600080fd5b6100627f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b61006261009936600461087b565b600080338360000151846040015185606001516040516020016100bf9493929190610959565b60405160208183030381529060405280519060200120905060006100e7846020015183610622565b60408086015190517f439fab9100000000000000000000000000000000000000000000000000000000815291925073ffffffffffffffffffffffffffffffffffffffff83169163439fab919161013f916004016109b9565b6020604051808303816000875af115801561015e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101829190610a0a565b50600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1663fc0c546a6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156101e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061020a9190610a33565b73ffffffffffffffffffffffffffffffffffffffff1603610257576040517f65f5b03400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517fcdfda4dd00000000000000000000000000000000000000000000000000000000815242600482015273ffffffffffffffffffffffffffffffffffffffff82169063cdfda4dd90602401602060405180830381865afa1580156102c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102e59190610a50565b65ffffffffffff16600003610326576040517f65f5b03400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff166391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865afa158015610371573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103959190610a50565b65ffffffffffff166000036103d6576040517f65f5b03400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1663ae2a6df26040518163ffffffff1660e01b815260040160006040518083038186803b15801561041c57600080fd5b505afa158015610430573d6000803e3d6000fd5b5050505061045e7f000000000000000000000000000000000000000000000000000000000000000083610622565b8451608086015160a0870151604080517f8734852a00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff948516600482015286851660248201526044810193909352815161ffff908116606485015260208301518116608485015290820151811660a48401526060909101511660c4820152919450841690638734852a9060e401600060405180830381600087803b15801561051757600080fd5b505af115801561052b573d6000803e3d6000fd5b505050508073ffffffffffffffffffffffffffffffffffffffff1663fc0c546a6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561057a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061059e9190610a33565b84516020808701516060808901516040805173ffffffffffffffffffffffffffffffffffffffff94851681528885169581019590955284015287821690830152466080830152928316929091169033907f4c8bb78cb1c62e64cef39fc4b4a1864d1a331a28c7bd59a67fe969cc8ab715879060a00160405180910390a45050919050565b6000763d602d80600a3d3981f3363d3d373d3d3d363d730000008360601b60e81c176000526e5af43d82803e903d91602b57fd5bf38360781b1760205281603760096000f5905073ffffffffffffffffffffffffffffffffffffffff81166106b6576040517fc2f868f400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405160c0810167ffffffffffffffff8111828210171561070e5761070e6106bc565b60405290565b73ffffffffffffffffffffffffffffffffffffffff8116811461073657600080fd5b50565b600082601f83011261074a57600080fd5b813567ffffffffffffffff80821115610765576107656106bc565b604051601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011681019082821181831017156107ab576107ab6106bc565b816040528381528660208588010111156107c457600080fd5b836020870160208301376000602085830101528094505050505092915050565b803561ffff811681146107f657600080fd5b919050565b60006080828403121561080d57600080fd5b6040516080810181811067ffffffffffffffff82111715610830576108306106bc565b60405290508061083f836107e4565b815261084d602084016107e4565b602082015261085e604084016107e4565b604082015261086f606084016107e4565b60608201525092915050565b60006020828403121561088d57600080fd5b813567ffffffffffffffff808211156108a557600080fd5b9083019061012082860312156108ba57600080fd5b6108c26106eb565b82356108cd81610714565b815260208301356108dd81610714565b60208201526040830135828111156108f457600080fd5b61090087828601610739565b60408301525060608301356060820152608083013560808201526109278660a085016107fb565b60a082015295945050505050565b60005b83811015610950578181015183820152602001610938565b50506000910152565b60007fffffffffffffffffffffffffffffffffffffffff000000000000000000000000808760601b168352808660601b1660148401525083516109a3816028850160208801610935565b6028920191820192909252604801949350505050565b60208152600082518060208401526109d8816040850160208701610935565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169190910160400192915050565b600060208284031215610a1c57600080fd5b81518015158114610a2c57600080fd5b9392505050565b600060208284031215610a4557600080fd5b8151610a2c81610714565b600060208284031215610a6257600080fd5b815165ffffffffffff81168114610a2c57600080fdfea164736f6c6343000817000a0000000000000000000000003f3dab3ab8cec2fbd06767c2a5f66cb6bff21a4a", + "nonce": "0x1", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xeae93bbb8940d971f492d801eba6af088c07d7ee10bbca07a09c57be979cd274", + "transactionType": "CREATE", + "contractName": "LlamaTokenAdapterVotesTimestamp", + "contractAddress": "0x088C268cb00226D6A9b29e5488905Aa94D2f0239", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0xb72276d9ff15c7998b9962ffcfb21a6c7249441b", + "gas": "0xb1d31d", + "value": "0x0", + "data": "0x608060405234801561001057600080fd5b5061001961001e565b6100d0565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff161561006e5760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b03908116146100cd5780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b610df5806100df6000396000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c8063ae2a6df21161005b578063ae2a6df21461010a578063cdfda4dd14610114578063edb8ee5a14610127578063fc0c546a1461013a57600080fd5b8063439fab911461008d5780634bf5d7e9146100b557806391ddadf4146100ca5780639556de73146100e9575b600080fd5b6100a061009b3660046108e4565b61017f565b60405190151581526020015b60405180910390f35b6100bd6103a1565b6040516100ac9190610988565b6100d261042f565b60405165ffffffffffff90911681526020016100ac565b6100fc6100f7366004610a12565b6104e9565b6040519081526020016100ac565b610112610593565b005b6100d2610122366004610a4b565b6105ef565b6100fc610135366004610a64565b610600565b60005461015a9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100ac565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0080546000919068010000000000000000810460ff16159067ffffffffffffffff1683811580156101cd5750825b905060008267ffffffffffffffff1660011480156101ea5750303b155b9050811580156101f8575080155b1561022f576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b84547fffffffffffffffffffffffffffffffffffffffffffffffff000000000000000016600117855583156102905784547fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff16680100000000000000001785555b6000878060200190518101906102a69190610a81565b8051600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff90921691909117905560408051808201909152600e81527f6d6f64653d74696d657374616d7000000000000000000000000000000000000060208201529091506001906103309082610b71565b50600196505083156103975784547fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b5050505050919050565b600180546103ae90610acd565b80601f01602080910402602001604051908101604052809291908181526020018280546103da90610acd565b80156104275780601f106103fc57610100808354040283529160200191610427565b820191906000526020600020905b81548152906001019060200180831161040a57829003601f168201915b505050505081565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156104d7575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682019092526104d491810190610c8b565b60015b6104e4576104e44261069b565b905090565b600080546040517f3a46b1a800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff858116600483015265ffffffffffff8516602483015290911690633a46b1a890604401602060405180830381865afa158015610568573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061058c9190610ca8565b9392505050565b600061059d6106e8565b905060006105a9610712565b905081806105b45750805b156105eb576040517f6ff0714000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050565b60006105fa8261069b565b92915050565b600080546040517f8e539e8c00000000000000000000000000000000000000000000000000000000815265ffffffffffff8416600482015273ffffffffffffffffffffffffffffffffffffffff90911690638e539e8c90602401602060405180830381865afa158015610677573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105fa9190610ca8565b600065ffffffffffff8211156106e4576040517fc0188c4f0000000000000000000000000000000000000000000000000000000081526004810183905260240160405180910390fd5b5090565b60006106f34261069b565b65ffffffffffff1661070361042f565b65ffffffffffff161415905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16634bf5d7e96040518163ffffffff1660e01b8152600401600060405180830381865afa9250505080156107bf57506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526107bc9190810190610cc1565b60015b6107c95750600090565b60016040516020016107db9190610d38565b60405160208183030381529060405280519060200120816040516020016108029190610dcc565b60405160208183030381529060405280519060200120141591505090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff8111828210171561089657610896610820565b604052919050565b600067ffffffffffffffff8211156108b8576108b8610820565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b6000602082840312156108f657600080fd5b813567ffffffffffffffff81111561090d57600080fd5b8201601f8101841361091e57600080fd5b803561093161092c8261089e565b61084f565b81815285602083850101111561094657600080fd5b81602084016020830137600091810160200191909152949350505050565b60005b8381101561097f578181015183820152602001610967565b50506000910152565b60208152600082518060208401526109a7816040850160208701610964565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169190910160400192915050565b73ffffffffffffffffffffffffffffffffffffffff811681146109fb57600080fd5b50565b65ffffffffffff811681146109fb57600080fd5b60008060408385031215610a2557600080fd5b8235610a30816109d9565b91506020830135610a40816109fe565b809150509250929050565b600060208284031215610a5d57600080fd5b5035919050565b600060208284031215610a7657600080fd5b813561058c816109fe565b600060208284031215610a9357600080fd5b6040516020810181811067ffffffffffffffff82111715610ab657610ab6610820565b6040528251610ac4816109d9565b81529392505050565b600181811c90821680610ae157607f821691505b602082108103610b1a577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b601f821115610b6c576000816000526020600020601f850160051c81016020861015610b495750805b601f850160051c820191505b81811015610b6857828155600101610b55565b5050505b505050565b815167ffffffffffffffff811115610b8b57610b8b610820565b610b9f81610b998454610acd565b84610b20565b602080601f831160018114610bf25760008415610bbc5750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b178555610b68565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b82811015610c3f57888601518255948401946001909101908401610c20565b5085821015610c7b57878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b600060208284031215610c9d57600080fd5b815161058c816109fe565b600060208284031215610cba57600080fd5b5051919050565b600060208284031215610cd357600080fd5b815167ffffffffffffffff811115610cea57600080fd5b8201601f81018413610cfb57600080fd5b8051610d0961092c8261089e565b818152856020838501011115610d1e57600080fd5b610d2f826020830160208601610964565b95945050505050565b6000808354610d4681610acd565b60018281168015610d5e5760018114610d9157610dc0565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0084168752821515830287019450610dc0565b8760005260208060002060005b85811015610db75781548a820152908401908201610d9e565b50505082870194505b50929695505050505050565b60008251610dde818460208701610964565b919091019291505056fea164736f6c6343000817000a", + "nonce": "0x2", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0xf2ece4defcedac66b3b1059431916c31696f6921e32829b1366edd7935e569a3", + "transactionIndex": "0x5", + "blockHash": "0xff4e13196dc9145dc214013ff8e2ce4a9a7fb50e62e4de0687bd7c4d454e1992", + "blockNumber": "0xa198533", + "from": "0xb72276D9FF15c7998b9962FFCfB21A6C7249441B", + "to": null, + "cumulativeGasUsed": "0x2471c2c", + "gasUsed": "0x21c6186", + "contractAddress": "0x3f3DAB3ab8cEc2FBd06767c2A5F66Cb6BFF21A4A", + "logs": [ + { + "address": "0x3f3DAB3ab8cEc2FBd06767c2A5F66Cb6BFF21A4A", + "topics": [ + "0xc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2" + ], + "data": "0x000000000000000000000000000000000000000000000000ffffffffffffffff", + "blockHash": "0xff4e13196dc9145dc214013ff8e2ce4a9a7fb50e62e4de0687bd7c4d454e1992", + "blockNumber": "0xa198533", + "transactionHash": "0xf2ece4defcedac66b3b1059431916c31696f6921e32829b1366edd7935e569a3", + "transactionIndex": "0x5", + "logIndex": "0x10", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000800000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0x5f5e100" + }, + { + "transactionHash": "0x80abafa25eeb3637ce3d091b2ba7747144f3b7787c3766075699e30c02cbc3b3", + "transactionIndex": "0x7", + "blockHash": "0x841ba5993e8d166133903414593f2ac91288c526f61796bb086020bf7931b852", + "blockNumber": "0xa19854e", + "from": "0xb72276D9FF15c7998b9962FFCfB21A6C7249441B", + "to": null, + "cumulativeGasUsed": "0xabb057", + "gasUsed": "0x5b76fd", + "contractAddress": "0xFBE17545dffD75A92A5A72926AE581478973FE65", + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0x5f5e100" + }, + { + "transactionHash": "0xeae93bbb8940d971f492d801eba6af088c07d7ee10bbca07a09c57be979cd274", + "transactionIndex": "0x1", + "blockHash": "0xf3db81beae5e85d3113c6ab6a702a954265fd5348258f5a91a9ba534adffde7d", + "blockNumber": "0xa19856a", + "from": "0xb72276D9FF15c7998b9962FFCfB21A6C7249441B", + "to": null, + "cumulativeGasUsed": "0x7afd0f", + "gasUsed": "0x7afd0f", + "contractAddress": "0x088C268cb00226D6A9b29e5488905Aa94D2f0239", + "logs": [ + { + "address": "0x088C268cb00226D6A9b29e5488905Aa94D2f0239", + "topics": [ + "0xc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2" + ], + "data": "0x000000000000000000000000000000000000000000000000ffffffffffffffff", + "blockHash": "0xf3db81beae5e85d3113c6ab6a702a954265fd5348258f5a91a9ba534adffde7d", + "blockNumber": "0xa19856a", + "transactionHash": "0xeae93bbb8940d971f492d801eba6af088c07d7ee10bbca07a09c57be979cd274", + "transactionIndex": "0x1", + "logIndex": "0x0", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000800000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000008000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0x5f5e100" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1704995990, + "chain": 42161, + "multi": false, + "commit": "688208a" +} \ No newline at end of file diff --git a/broadcast/DeployLlamaTokenVotingFactory.s.sol/5/run-1704991305.json b/broadcast/DeployLlamaTokenVotingFactory.s.sol/5/run-1704991305.json new file mode 100644 index 0000000..686dd95 --- /dev/null +++ b/broadcast/DeployLlamaTokenVotingFactory.s.sol/5/run-1704991305.json @@ -0,0 +1,75 @@ +{ + "transactions": [ + { + "hash": "0x25cb153d2c598a0e43a49a5e7ee562bde2e3c8381405486ed493c44ba923b0fa", + "transactionType": "CREATE", + "contractName": "LlamaTokenGovernor", + "contractAddress": "0x3f3DAB3ab8cEc2FBd06767c2A5F66Cb6BFF21A4A", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0xb72276d9ff15c7998b9962ffcfb21a6c7249441b", + "gas": "0x6398ff", + "value": "0x0", + "data": "0x60806040523480156200001157600080fd5b506200001c62000022565b620000d6565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff1615620000735760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b0390811614620000d35780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b6159f880620000e66000396000f3fe608060405234801561001057600080fd5b50600436106101da5760003560e01c80637e4a56bb11610104578063b92cdd9a116100a2578063cae3bdff11610071578063cae3bdff1461053d578063dcae21b714610552578063e45061ea14610565578063e5589b9d1461057857600080fd5b8063b92cdd9a146104e4578063b9b2cf6c146104f7578063c193c2691461050a578063c26c12eb1461053557600080fd5b80638734852a116100de5780638734852a1461049857806396ff6e2e146104ab578063a1d9b412146104be578063b3c678b0146104d157600080fd5b80637e4a56bb1461046a5780637ed7238e14610472578063807ad1141461048557600080fd5b80633fed8f161161017c57806359e5332d1161014b57806359e5332d1461036457806364f6b3161461037b5780637186dd9c1461038e57806374f717cd1461044757600080fd5b80633fed8f16146103165780634d61ebf4146103365780634ec0ab1c1461033e578063509c5fbd1461035157600080fd5b806319a39740116101b857806319a397401461025b5780631e127ddf1461026e578063372fa8e8146102c25780633df91222146102d557600080fd5b80630669b1ce146101df57806311f900b5146101f45780631650080714610227575b600080fd5b6101f26101ed366004614a11565b61058b565b005b610207610202366004614a46565b610b79565b6040805161ffff9384168152929091166020830152015b60405180910390f35b61023a610235366004614ac0565b610b90565b6040516fffffffffffffffffffffffffffffffff909116815260200161021e565b6101f2610269366004614a46565b610baa565b6101f261027c366004614b82565b3360009081526007602090815260408083207fffffffff000000000000000000000000000000000000000000000000000000009490941683529290522080546001019055565b6101f26102d0366004614bbd565b610c75565b6102fe6102e3366004614a46565b6005602052600090815260409020546001600160a01b031681565b6040516001600160a01b03909116815260200161021e565b610329610324366004614c31565b610d76565b60405161021e9190614c53565b610207610f4e565b6101f261034c366004614ce2565b610f63565b61023a61035f366004614ac0565b611030565b61036d60025481565b60405190815260200161021e565b6000546102fe906001600160a01b031681565b6103fc61039c366004614a46565b6006602052600090815260409020805460018201546002909201546fffffffffffffffffffffffffffffffff8083169370010000000000000000000000000000000093849004821693818316939181900483169282811692919091041686565b604080516fffffffffffffffffffffffffffffffff978816815295871660208701529386169385019390935290841660608401528316608083015290911660a082015260c00161021e565b61045a610455366004614d23565b611040565b604051901515815260200161021e565b6103296110a9565b61036d610480366004614ea9565b61114c565b6001546102fe906001600160a01b031681565b6101f26104a6366004614f88565b611263565b61023a6104b9366004615066565b6114b5565b61023a6104cc366004615066565b6115c6565b61036d6104df366004615131565b6116c7565b6101f26104f2366004614a11565b61171c565b6101f2610505366004614ce2565b611726565b61036d6105183660046151e2565b600760209081526000928352604080842090915290825290205481565b6102076117ef565b6105456117fc565b60405161021e919061520e565b610545610560366004614c31565b61188f565b6101f2610573366004614a11565b611a4d565b610207610586366004614a46565b612026565b600080546040517fb6e76873000000000000000000000000000000000000000000000000000000008152833560048201526001600160a01b039091169063b6e768739060240161012060405180830381865afa1580156105ef573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061061391906152c8565b9050600060018260a0015161062891906153a6565b67ffffffffffffffff169050600160009054906101000a90046001600160a01b03166001600160a01b031663ae2a6df26040518163ffffffff1660e01b815260040160006040518083038186803b15801561068257600080fd5b505afa158015610696573d6000803e3d6000fd5b505050506000806000806106b485600461203490919063ffffffff16565b909250905060006106cb6080890160608a016153ce565b6001600160a01b031663b02bd9206040518163ffffffff1660e01b8152600401602060405180830381865afa158015610708573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061072c91906153eb565b67ffffffffffffffff16905061271061ffff8416820204818860c0015167ffffffffffffffff16030194506127108261ffff1682028161076e5761076e615406565b04850193508342116107ac576040517f038d8a6a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8660c0015167ffffffffffffffff1642106107f3576040517f08c8d62700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050843560009081526006602052604080822060015491517fcdfda4dd000000000000000000000000000000000000000000000000000000008152600481018690529092916001600160a01b03169063edb8ee5a90829063cdfda4dd90602401602060405180830381865afa158015610871573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108959190615435565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b16815265ffffffffffff9091166004820152602401602060405180830381865afa1580156108f0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610914919061545d565b600183015460028401549192506fffffffffffffffffffffffffffffffff7001000000000000000000000000000000009182900481169291820481169116600061095f60038a6121cd565b9150506000610975868361ffff166127106122d8565b905080856fffffffffffffffffffffffffffffffff1610156109e3576040517fbfb9aa550000000000000000000000000000000000000000000000000000000081526fffffffffffffffffffffffffffffffff86166004820152602481018290526044015b60405180910390fd5b836fffffffffffffffffffffffffffffffff16856fffffffffffffffffffffffffffffffff1611610a5c576040517f8a0df63f0000000000000000000000000000000000000000000000000000000081526fffffffffffffffffffffffffffffffff8087166004830152851660248201526044016109da565b6000610a7b8d6060016020810190610a7491906153ce565b600061231c565b905060008054906101000a90046001600160a01b03166001600160a01b03166394004706828f6040518363ffffffff1660e01b8152600401610abe9291906155b2565b6020604051808303816000875af1158015610add573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b0191906155e8565b50604080518e3581526fffffffffffffffffffffffffffffffff808916602083015280881692820192909252908516606082015260ff82169033907ff5bc433f16cc3d0e9fcb5ac4f8de9f17eb90de1fd2a9ede5952c2097d4ef1a59906080015b60405180910390a350505050505050505050505050565b600080610b87600484612034565b91509150915091565b6000610ba0338787878787612612565b9695505050505050565b60008054906101000a90046001600160a01b03166001600160a01b031663c34c08e56040518163ffffffff1660e01b8152600401602060405180830381865afa158015610bfb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c1f9190615603565b6001600160a01b0316336001600160a01b031614610c69576040517f26bee1ce00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610c7281612c5e565b50565b6000610c818686612e2e565b6040805160008082526020820180845284905260ff88169282019290925260608101869052608081018590529192509060019060a0016020604051602081039080840390855afa158015610cd9573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001519150506001600160a01b0381161580610d2c5750866001600160a01b0316816001600160a01b031614155b15610d63576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610d6d8187612f50565b50505050505050565b60408051602081019091526060815281831115610dbf576040517f2cd4dad300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60045480831115610dfc576040517f2cd4dad300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610e088585615620565b905060008167ffffffffffffffff811115610e2557610e25614d65565b604051908082528060200260200182016040528015610e8e57816020015b60408051606081018252600080825260208083018290529282015282527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff909201910181610e435790505b509050855b85811015610f34576004805482908110610eaf57610eaf615633565b600091825260209182902060408051606081018252919092015465ffffffffffff8116825261ffff660100000000000082048116948301949094526801000000000000000090049092169082015282610f088984615620565b81518110610f1857610f18615633565b6020026020010181905250610f2d8160010190565b9050610e93565b506040805160208101909152908152925050505b92915050565b600080610f5b6004613063565b915091509091565b60008054906101000a90046001600160a01b03166001600160a01b031663c34c08e56040518163ffffffff1660e01b8152600401602060405180830381865afa158015610fb4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fd89190615603565b6001600160a01b0316336001600160a01b031614611022576040517f26bee1ce00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61102c82826130db565b5050565b6000610ba03387878787876131cf565b60008115611077575060008381526006602090815260408083206001600160a01b038616845260030190915290205460ff166110a2565b5060008381526006602090815260408083206001600160a01b038616845260040190915290205460ff165b9392505050565b6040805160208101909152606081526040805160048054602081810284018501855283018181529293919284929091849160009085015b8282101561113f576000848152602090819020604080516060810182529185015465ffffffffffff8116835261ffff660100000000000082048116848601526801000000000000000090910416908201528252600190920191016110e0565b5050505081525050905090565b60008061115f8d8d8d8d8d8d8d8d613714565b6040805160008082526020820180845284905260ff89169282019290925260608101879052608081018690529192509060019060a0016020604051602081039080840390855afa1580156111b7573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001519150506001600160a01b038116158061120a57508d6001600160a01b0316816001600160a01b031614155b15611241576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611251818e8e8e8e8e8e8e613885565b9e9d5050505050505050505050505050565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000810460ff16159067ffffffffffffffff166000811580156112ae5750825b905060008267ffffffffffffffff1660011480156112cb5750303b155b9050811580156112d9575080155b15611310576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b84547fffffffffffffffffffffffffffffffffffffffffffffffff000000000000000016600117855583156113715784547fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff16680100000000000000001785555b886001600160a01b0316639bccfe496040518163ffffffff1660e01b8152600401602060405180830381865afa1580156113af573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113d3919061545d565b50600080546001600160a01b03808c167fffffffffffffffffffffffff00000000000000000000000000000000000000009283161790925560018054928b169290911691909117905561142587612c5e565b611437866000015187602001516130db565b61144986604001518760600151613b89565b83156114aa5784547fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b505050505050505050565b6000806114c68b8b8b8b8b8b613c26565b6040805160008082526020820180845284905260ff89169282019290925260608101879052608081018690529192509060019060a0016020604051602081039080840390855afa15801561151e573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001519150506001600160a01b038116158061157157508b6001600160a01b0316816001600160a01b031614155b156115a8576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6115b6818c8c8c8c8c6131cf565b9c9b505050505050505050505050565b6000806115d78b8b8b8b8b8b613d84565b6040805160008082526020820180845284905260ff89169282019290925260608101879052608081018690529192509060019060a0016020604051602081039080840390855afa15801561162f573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001519150506001600160a01b038116158061168257508b6001600160a01b0316816001600160a01b031614155b156116b9576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6115b6818c8c8c8c8c612612565b600061170f338a8a8a8a8a8a8a8a8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061388592505050565b9998505050505050505050565b610c723382612f50565b60008054906101000a90046001600160a01b03166001600160a01b031663c34c08e56040518163ffffffff1660e01b8152600401602060405180830381865afa158015611777573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061179b9190615603565b6001600160a01b0316336001600160a01b0316146117e5576040517f26bee1ce00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61102c8282613b89565b600080610f5b6003613063565b604080516020810190915260608152604080516003805460208082028401850185528301818152929391928492909184916000908501821561113f576000848152602090819020604080516060810182529185015465ffffffffffff8116835261ffff660100000000000082048116848601526801000000000000000090910416908201528252600190920191016110e0565b604080516020810190915260608152818311156118d8576040517f2cd4dad300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60035480831115611915576040517f2cd4dad300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006119218585615620565b905060008167ffffffffffffffff81111561193e5761193e614d65565b6040519080825280602002602001820160405280156119a757816020015b60408051606081018252600080825260208083018290529282015282527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90920191018161195c5790505b509050855b85811015610f345760038054829081106119c8576119c8615633565b600091825260209182902060408051606081018252919092015465ffffffffffff8116825261ffff660100000000000082048116948301949094526801000000000000000090049092169082015282611a218984615620565b81518110611a3157611a31615633565b6020026020010181905250611a468160010190565b90506119ac565b600080546040517fb6e76873000000000000000000000000000000000000000000000000000000008152833560048201526001600160a01b039091169063b6e768739060240161012060405180830381865afa158015611ab1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ad591906152c8565b9050600060018260a00151611aea91906153a6565b67ffffffffffffffff169050600160009054906101000a90046001600160a01b03166001600160a01b031663ae2a6df26040518163ffffffff1660e01b815260040160006040518083038186803b158015611b4457600080fd5b505afa158015611b58573d6000803e3d6000fd5b50505050600080600080611b7685600461203490919063ffffffff16565b90925090506000611b8d6080890160608a016153ce565b6001600160a01b0316637999762c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611bca573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bee91906153eb565b67ffffffffffffffff16905061271061ffff84168202048760a0015167ffffffffffffffff160194506127108261ffff16820281611c2e57611c2e615406565b0485019350834211611c6c576040517f038d8a6a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b808760a0015167ffffffffffffffff16611c869190615662565b421115611cbf576040517f08c8d62700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050843560009081526006602052604080822060015491517fcdfda4dd000000000000000000000000000000000000000000000000000000008152600481018690529092916001600160a01b03169063edb8ee5a90829063cdfda4dd90602401602060405180830381865afa158015611d3d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d619190615435565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b16815265ffffffffffff9091166004820152602401602060405180830381865afa158015611dbc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611de0919061545d565b825460018401549192506fffffffffffffffffffffffffffffffff808216928116917001000000000000000000000000000000009004166000611e2460038a6121cd565b5090506000611e3a868361ffff166127106122d8565b905080856fffffffffffffffffffffffffffffffff161015611ea3576040517f0425fab10000000000000000000000000000000000000000000000000000000081526fffffffffffffffffffffffffffffffff86166004820152602481018290526044016109da565b836fffffffffffffffffffffffffffffffff16856fffffffffffffffffffffffffffffffff1611611f1c576040517f8a0df63f0000000000000000000000000000000000000000000000000000000081526fffffffffffffffffffffffffffffffff8087166004830152851660248201526044016109da565b6000611f3b8d6060016020810190611f3491906153ce565b600161231c565b905060008054906101000a90046001600160a01b03166001600160a01b03166389e7d126828f6040518363ffffffff1660e01b8152600401611f7e9291906155b2565b6020604051808303816000875af1158015611f9d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fc191906155e8565b50604080518e3581526fffffffffffffffffffffffffffffffff808916602083015280881692820192909252908516606082015260ff82169033907ff23279e924757f3bfe4f543bc1b43685e851d6ace53f8518b806dcd8d42fc13990608001610b62565b600080610b876003846121cd565b6000804283106120c6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f506572696f64506374436865636b706f696e74733a2074696d657374616d702060448201527f6973206e6f7420696e207468652070617374000000000000000000000000000060648201526084016109da565b60006120d184613db3565b855490915060008160058111156121315760006120ed84613dfc565b6120f79085615620565b60008a81526020902090915081015465ffffffffffff90811690861610156121215780915061212f565b61212c816001615662565b92505b505b600061213f89868585613eae565b90508060000361215a576000809650965050505050506121c6565b60006121798a61216b600185615620565b600091825260209091200190565b60408051606081018252915465ffffffffffff8116835261ffff66010000000000008204811660208501819052680100000000000000009092041692909101829052985096505050505050505b9250929050565b60008042831061225f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602f60248201527f51756f72756d436865636b706f696e74733a2074696d657374616d702069732060448201527f6e6f7420696e207468652070617374000000000000000000000000000000000060648201526084016109da565b600061226a84613db3565b855490915060008160058111156122ca57600061228684613dfc565b6122909085615620565b60008a81526020902090915081015465ffffffffffff90811690861610156122ba578091506122c8565b6122c5816001615662565b92505b505b600061213f89868585613f10565b6000827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048411830215820261230d57600080fd5b50910281810615159190040190565b60008054604080517f0505c8c9000000000000000000000000000000000000000000000000000000008152905183926001600160a01b031691630505c8c99160048083019260209291908290030181865afa15801561237f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123a39190615603565b6001600160a01b0316638b2ed3886040518163ffffffff1660e01b8152600401602060405180830381865afa1580156123e0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124049190615675565b905060015b8160ff16811161253b57836124a1576040517fc167ebae00000000000000000000000000000000000000000000000000000000815260ff821660048201526001600160a01b0386169063c167ebae90602401602060405180830381865afa158015612478573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061249c9190615692565b612525565b6040517ffb847c4300000000000000000000000000000000000000000000000000000000815260ff821660048201526001600160a01b0386169063fb847c4390602401602060405180830381865afa158015612501573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125259190615692565b15612533579150610f489050565b600101612409565b50826125a857836001600160a01b03166312a52f006040518163ffffffff1660e01b8152600401602060405180830381865afa15801561257f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125a39190615675565b61260a565b836001600160a01b03166366cacdc96040518163ffffffff1660e01b8152600401602060405180830381865afa1580156125e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061260a9190615675565b949350505050565b600080546040517fb6e768730000000000000000000000000000000000000000000000000000000081528635600482015282916001600160a01b03169063b6e768739060240161012060405180830381865afa158015612676573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061269a91906152c8565b9050600060018260a001516126af91906153a6565b8735600090815260066020526040902067ffffffffffffffff9190911691506126de6080890160608a016153ce565b6001600160a01b03166302674e4b89308c6040518463ffffffff1660e01b815260040161270d939291906156af565b60006040518083038186803b15801561272557600080fd5b505afa158015612739573d6000803e3d6000fd5b505050506001600160a01b038a16600090815260048201602052604090205460ff1615612792576040517f9dd6544b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6127a0888a89600486613f6a565b60008080806127b0600487612034565b909250905060006127c760808e0160608f016153ce565b6001600160a01b031663b02bd9206040518163ffffffff1660e01b8152600401602060405180830381865afa158015612804573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061282891906153eb565b67ffffffffffffffff16905061271061ffff8416820204818960c0015167ffffffffffffffff16030194506127108261ffff1682028161286a5761286a615406565b04850193508442116128a8576040517fd0b72b4900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b834211156128e2576040517f5b73d19300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050506000612a25600160009054906101000a90046001600160a01b03166001600160a01b0316639556de738f600160009054906101000a90046001600160a01b03166001600160a01b031663cdfda4dd886040518263ffffffff1660e01b815260040161295291815260200190565b602060405180830381865afa15801561296f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906129939190615435565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b1681526001600160a01b03909216600483015265ffffffffffff166024820152604401602060405180830381865afa1580156129fc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a20919061545d565b61425e565b905060ff8a16612a9e576002840154612a649070010000000000000000000000000000000090046fffffffffffffffffffffffffffffffff16826142ad565b6002850180546fffffffffffffffffffffffffffffffff928316700100000000000000000000000000000000029216919091179055612bc6565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60ff8b1601612b37576001840154612afd9070010000000000000000000000000000000090046fffffffffffffffffffffffffffffffff16826142ad565b6001850180546fffffffffffffffffffffffffffffffff928316700100000000000000000000000000000000029216919091179055612bc6565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe60ff8b1601612bc6576002840154612b82906fffffffffffffffffffffffffffffffff16826142ad565b6002850180547fffffffffffffffffffffffffffffffff00000000000000000000000000000000166fffffffffffffffffffffffffffffffff929092169190911790555b6001600160a01b038d1660008181526004860160205260409081902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790555160ff8c1691907f4e3e2ad68670a2709cb408c31c5afd8da0b6d3d06c75b11feb404a455639fe7c90612c46908f359086908f908f90615713565b60405180910390a39c9b505050505050505050505050565b60018054604080517f91ddadf400000000000000000000000000000000000000000000000000000000815290516000936001600160a01b039093169263edb8ee5a92909184916391ddadf49160048083019260209291908290030181865afa158015612cce573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612cf29190615435565b612cfc9190615745565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b16815265ffffffffffff9091166004820152602401602060405180830381865afa158015612d57573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612d7b919061545d565b905080600003612db7576040517f34bbd58500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80821115612df1576040517f8a5e746800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60028290556040518281527fd91a985c173545ab0e0bd11c021a1ae84c1ea6eab9350d9bf3812d5b8bff49a4906020015b60405180910390a15050565b6000807f6da9390b4f29da2c44fa5a9da00b392393d01e989d16e4a3dec5a538318e352584612e5c856142f4565b6001600160a01b03871660009081526007602090815260408083207fffffffff00000000000000000000000000000000000000000000000000000000843516845290915290208054600181019091556040805160208101959095526001600160a01b03909316928401929092526060830152608082015260a001604051602081830303815290604052805190602001209050612ef66143eb565b6040517f190100000000000000000000000000000000000000000000000000000000000060208201526022810191909152604281018290526062016040516020818303038152906040528051906020012091505092915050565b80356000908152600560205260409020546001600160a01b03838116911614612fa5576040517f86ba025600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000546040517fb92cdd9a0000000000000000000000000000000000000000000000000000000081526001600160a01b039091169063b92cdd9a90612fee908490600401615764565b600060405180830381600087803b15801561300857600080fd5b505af115801561301c573d6000803e3d6000fd5b5050604051833581526001600160a01b03851692507fdcccc5725b7256a6975da00de8953e5d326756a3079d203ff6df9e52331f411a915060200160405180910390a25050565b8054600090819080820361307d5750600093849350915050565b600061308e8561216b600185615620565b60408051606081018252915465ffffffffffff8116835261ffff66010000000000008204811660208501819052680100000000000000009092041692909101829052969095509350505050565b6127108261ffff1611806130f1575061ffff8216155b1561312e576040517f8f6febc000000000000000000000000000000000000000000000000000000000815261ffff831660048201526024016109da565b6127108161ffff161180613144575061ffff8116155b15613181576040517f3bec511c00000000000000000000000000000000000000000000000000000000815261ffff821660048201526024016109da565b613194600361ffff80851690841661454d565b6040805161ffff8085168252831660208201527f77c3f43700db02acb49792bbf699b39f72c2ed4b920bd5c0b1843dcd7c832f4c9101612e22565b600080546040517fb6e768730000000000000000000000000000000000000000000000000000000081528635600482015282916001600160a01b03169063b6e768739060240161012060405180830381865afa158015613233573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061325791906152c8565b9050600060018260a0015161326c91906153a6565b8735600090815260066020526040902067ffffffffffffffff91909116915061329b6080890160608a016153ce565b6001600160a01b0316631a2a4e7789308c6040518463ffffffff1660e01b81526004016132ca939291906156af565b60006040518083038186803b1580156132e257600080fd5b505afa1580156132f6573d6000803e3d6000fd5b505050506001600160a01b038a16600090815260038201602052604090205460ff161561334f576040517f9dd6544b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61335d888a89600086613f6a565b600080808061336d600487612034565b9092509050600061338460808e0160608f016153ce565b6001600160a01b0316637999762c6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156133c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906133e591906153eb565b67ffffffffffffffff16905061271061ffff84168202048860a0015167ffffffffffffffff160194506127108261ffff1682028161342557613425615406565b0485019350844211613463576040517fd0b72b4900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8342111561349d576040517f5b73d19300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050600061350d600160009054906101000a90046001600160a01b03166001600160a01b0316639556de738f600160009054906101000a90046001600160a01b03166001600160a01b031663cdfda4dd886040518263ffffffff1660e01b815260040161295291815260200190565b905060ff8a16613580576001840154613538906fffffffffffffffffffffffffffffffff16826142ad565b6001850180547fffffffffffffffffffffffffffffffff00000000000000000000000000000000166fffffffffffffffffffffffffffffffff92909216919091179055613694565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60ff8b16016136095783546135c8906fffffffffffffffffffffffffffffffff16826142ad565b84547fffffffffffffffffffffffffffffffff00000000000000000000000000000000166fffffffffffffffffffffffffffffffff91909116178455613694565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe60ff8b16016136945783546136659070010000000000000000000000000000000090046fffffffffffffffffffffffffffffffff16826142ad565b84546fffffffffffffffffffffffffffffffff9182167001000000000000000000000000000000000291161784555b6001600160a01b038d1660008181526003860160205260409081902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790555160ff8c1691907f761cce3a1af5d9cfc0d57222f605ce4bd2be345f0ad9ebb7b83a84a91a0c201490612c46908f359086908f908f90615713565b6001600160a01b03881660009081526007602090815260408083207fffffffff000000000000000000000000000000000000000000000000000000008435168452909152812080546001810190915560007fd1fab1c7b3b37134662e5867b00e272eb49f7be0a890df29e802c3cc66c06f838b8b8b8b8b8b8b60405161379b929190615777565b604080519182900382208c516020808f0191909120908401999099526001600160a01b039788169183019190915260ff90951660608201529285166080840152931660a082015260c081019290925260e08201526101008101919091526101208101839052610140016040516020818303038152906040528051906020012090506138246143eb565b6040517f19010000000000000000000000000000000000000000000000000000000000006020820152602281019190915260428101829052606201604051602081830303815290604052805190602001209250505098975050505050505050565b600154604080517fae2a6df200000000000000000000000000000000000000000000000000000000815290516000926001600160a01b03169163ae2a6df29160048083019286929190829003018186803b1580156138e257600080fd5b505afa1580156138f6573d6000803e3d6000fd5b505060018054604080517f91ddadf40000000000000000000000000000000000000000000000000000000081529051600095506001600160a01b039092169350639556de73928e92909185916391ddadf4916004808201926020929091908290030181865afa15801561396d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906139919190615435565b61399b9190615745565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b1681526001600160a01b03909216600483015265ffffffffffff166024820152604401602060405180830381865afa158015613a04573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613a28919061545d565b9050600254811015613a69576040517f92665351000000000000000000000000000000000000000000000000000000008152600481018290526024016109da565b6000546040517fb3c678b00000000000000000000000000000000000000000000000000000000081526001600160a01b039091169063b3c678b090613abe908c908c908c908c908c908c908c906004016157ab565b6020604051808303816000875af1158015613add573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613b01919061545d565b60008181526005602090815260409182902080547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b038f16908117909155915183815292945090917f1834dfd49255741a8ce9a9bd66b91b64d13622e1d8170e4c78ac91f9ec50a542910160405180910390a25098975050505050505050565b612710613b96828461583b565b61ffff1610613bdf576040517f519dd38400000000000000000000000000000000000000000000000000000000815261ffff8084166004830152821660248201526044016109da565b613beb60048383614576565b6040805161ffff8085168252831660208201527f8df7bdcce333d9e1b85e40782fb2f293c805761d3f48aaea58865e9541e44c709101612e22565b6000807fd7be168a3509af358f222ee35ee76aba47bc5fc2c35061cdce3958f510b7b1b28888613c55896142f4565b888888604051613c66929190615777565b60408051918290039091206001600160a01b038f166000908152600760209081528382207fffffffff0000000000000000000000000000000000000000000000000000000083351683529052919091208054600181019091556040805160208101989098526001600160a01b039096169587019590955260ff938416606087015260808601929092529190911660a084015260c083015260e082015261010001604051602081830303815290604052805190602001209050613d266143eb565b6040517f19010000000000000000000000000000000000000000000000000000000000006020820152602281019190915260428101829052606201604051602081830303815290604052805190602001209150509695505050505050565b6000807fa87058c5a9888e7af4405a932381d5a4612c61354bc3e52e9ea361ba17703fb38888613c55896142f4565b600065ffffffffffff821115613df8576040517fc0188c4f000000000000000000000000000000000000000000000000000000008152600481018390526024016109da565b5090565b60b581710100000000000000000000000000000000008110613e235760409190911b9060801c5b69010000000000000000008110613e3f5760209190911b9060401c5b650100000000008110613e575760109190911b9060201c5b63010000008110613e6d5760089190911b9060101c5b62010000010260121c80820401600190811c80830401811c80830401811c80830401811c80830401811c80830401811c80830401901c908190048111900390565b60005b81831015613f08576000613ec584846145a2565b60008781526020902090915065ffffffffffff86169082015465ffffffffffff161115613ef457809250613f02565b613eff816001615662565b93505b50613eb1565b509392505050565b60005b81831015613f08576000613f2784846145a2565b60008781526020902090915065ffffffffffff86169082015465ffffffffffff161115613f5657809250613f64565b613f61816001615662565b93505b50613f13565b600260ff84161115613fad576040517ffe0e5d8b00000000000000000000000000000000000000000000000000000000815260ff841660048201526024016109da565b600080546040517fec12d8be0000000000000000000000000000000000000000000000000000000081526001600160a01b039091169063ec12d8be90613ff7908990600401615764565b602060405180830381865afa158015614014573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906140389190615675565b60ff16600681111561404c5761404c6156e4565b9050826006811115614060576140606156e4565b816006811115614072576140726156e4565b146140ab57806040517f87afe58e0000000000000000000000000000000000000000000000000000000081526004016109da9190615856565b60008060009054906101000a90046001600160a01b03166001600160a01b0316630505c8c96040518163ffffffff1660e01b8152600401602060405180830381865afa1580156140ff573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906141239190615603565b6040517fe0bec07600000000000000000000000000000000000000000000000000000000815230600482015260ff88166024820152604481018590526001600160a01b03919091169063e0bec07690606401602060405180830381865afa158015614192573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906141b69190615692565b9050806141ef576040517f88aebd1200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600160009054906101000a90046001600160a01b03166001600160a01b031663ae2a6df26040518163ffffffff1660e01b815260040160006040518083038186803b15801561423d57600080fd5b505afa158015614251573d6000803e3d6000fd5b5050505050505050505050565b60006fffffffffffffffffffffffffffffffff821115613df8576040517fc0188c4f000000000000000000000000000000000000000000000000000000008152600481018390526024016109da565b60006fffffffffffffffffffffffffffffffff6142ce838216858316615662565b106142ea57506fffffffffffffffffffffffffffffffff610f48565b6110a28284615897565b60007f86b4555c6e347ea3f038485b59b894986c208b67da7e65fcfa3707271608465f823561432960408501602086016153ce565b61433960608601604087016158c0565b61434960808701606088016153ce565b61435960a08801608089016153ce565b60a088013561436b60c08a018a6158dd565b604051614379929190615777565b6040805191829003822060208301999099528101969096526001600160a01b03948516606087015260ff909316608086015290831660a08501529190911660c083015260e082015261010081019190915261012001604051602081830303815290604052805190602001209050919050565b60008054604080517f06fdde0300000000000000000000000000000000000000000000000000000000815290517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f926001600160a01b0316916306fdde0391600480830192879291908290030181865afa15801561446d573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526144b39190810190615942565b8051602091820120604080518082018252600181527f310000000000000000000000000000000000000000000000000000000000000090840152805192830193909352918101919091527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a082015260c00160405160208183030381529060405280519060200120905090565b6145718361455a42613db3565b614563856145bd565b61456c856145bd565b6145fe565b505050565b6145718361458342613db3565b6145908561ffff166145bd565b61459d8561ffff166145bd565b614909565b60006145b160028484186159b0565b6110a290848416615662565b600061ffff821115613df8576040517fc0188c4f000000000000000000000000000000000000000000000000000000008152600481018390526024016109da565b835480156148475760006146178661216b600185615620565b60408051606081018252915465ffffffffffff80821680855261ffff66010000000000008404811660208701526801000000000000000090930490921692840192909252919250861610156146ed576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f51756f72756d20436865636b706f696e743a20696e76616c69642074696d657360448201527f74616d700000000000000000000000000000000000000000000000000000000060648201526084016109da565b805165ffffffffffff8087169116036147865760006147118761216b600186615620565b805461ffff86811668010000000000000000027fffffffffffffffffffffffffffffffffffffffffffff0000ffffffffffffffff918916660100000000000002919091167fffffffffffffffffffffffffffffffffffffffffffff00000000ffffffffffff9092169190911717905550614841565b6040805160608101825265ffffffffffff808816825261ffff80881660208085019182528883169585019586528b54600181018d5560008d81529190912094519401805491519551831668010000000000000000027fffffffffffffffffffffffffffffffffffffffffffff0000ffffffffffffffff969093166601000000000000027fffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000909216949093169390931792909217929092161790555b50614902565b6040805160608101825265ffffffffffff808716825261ffff80871660208085019182528783169585019586528a54600181018c5560008c81529190912094519401805491519551831668010000000000000000027fffffffffffffffffffffffffffffffffffffffffffff0000ffffffffffffffff969093166601000000000000027fffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000909216949093169390931792909217929092161790555b5050505050565b835480156148475760006149228661216b600185615620565b60408051606081018252915465ffffffffffff80821680855261ffff66010000000000008404811660208701526801000000000000000090930490921692840192909252919250861610156146ed576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602860248201527f506572696f642050637420436865636b706f696e743a20696e76616c6964207460448201527f696d657374616d7000000000000000000000000000000000000000000000000060648201526084016109da565b600060e08284031215614a0b57600080fd5b50919050565b600060208284031215614a2357600080fd5b813567ffffffffffffffff811115614a3a57600080fd5b61260a848285016149f9565b600060208284031215614a5857600080fd5b5035919050565b60ff81168114610c7257600080fd5b8035614a7981614a5f565b919050565b60008083601f840112614a9057600080fd5b50813567ffffffffffffffff811115614aa857600080fd5b6020830191508360208285010111156121c657600080fd5b600080600080600060808688031215614ad857600080fd5b8535614ae381614a5f565b9450602086013567ffffffffffffffff80821115614b0057600080fd5b614b0c89838a016149f9565b955060408801359150614b1e82614a5f565b90935060608701359080821115614b3457600080fd5b50614b4188828901614a7e565b969995985093965092949392505050565b80357fffffffff0000000000000000000000000000000000000000000000000000000081168114614a7957600080fd5b600060208284031215614b9457600080fd5b6110a282614b52565b6001600160a01b0381168114610c7257600080fd5b8035614a7981614b9d565b600080600080600060a08688031215614bd557600080fd5b8535614be081614b9d565b9450602086013567ffffffffffffffff811115614bfc57600080fd5b614c08888289016149f9565b9450506040860135614c1981614a5f565b94979396509394606081013594506080013592915050565b60008060408385031215614c4457600080fd5b50508035926020909101359150565b60208082528251828201829052805160408401819052600092916060919083019082860190855b81811015614cc357614cb3838551805165ffffffffffff16825260208082015161ffff9081169184019190915260409182015116910152565b9285019291840191600101614c7a565b5090979650505050505050565b803561ffff81168114614a7957600080fd5b60008060408385031215614cf557600080fd5b614cfe83614cd0565b9150614d0c60208401614cd0565b90509250929050565b8015158114610c7257600080fd5b600080600060608486031215614d3857600080fd5b833592506020840135614d4a81614b9d565b91506040840135614d5a81614d15565b809150509250925092565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051610120810167ffffffffffffffff81118282101715614db857614db8614d65565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715614e0557614e05614d65565b604052919050565b600067ffffffffffffffff821115614e2757614e27614d65565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b600082601f830112614e6457600080fd5b8135614e77614e7282614e0d565b614dbe565b818152846020838601011115614e8c57600080fd5b816020850160208301376000918101602001919091529392505050565b60008060008060008060008060008060006101408c8e031215614ecb57600080fd5b614ed48c614bb2565b9a50614ee260208d01614a6e565b9950614ef060408d01614bb2565b9850614efe60608d01614bb2565b975060808c0135965067ffffffffffffffff8060a08e01351115614f2157600080fd5b614f318e60a08f01358f01614a7e565b909750955060c08d0135811015614f4757600080fd5b50614f588d60c08e01358e01614e53565b9350614f6660e08d01614a6e565b92506101008c013591506101208c013590509295989b509295989b9093969950565b60008060008084860360e0811215614f9f57600080fd5b8535614faa81614b9d565b94506020860135614fba81614b9d565b93506040860135925060807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa082011215614ff357600080fd5b506040516080810181811067ffffffffffffffff8211171561501757615017614d65565b60405261502660608701614cd0565b815261503460808701614cd0565b602082015261504560a08701614cd0565b604082015261505660c08701614cd0565b6060820152939692955090935050565b60008060008060008060008060006101008a8c03121561508557600080fd5b893561509081614b9d565b985060208a01356150a081614a5f565b975060408a013567ffffffffffffffff808211156150bd57600080fd5b6150c98d838e016149f9565b985060608c013591506150db82614a5f565b90965060808b013590808211156150f157600080fd5b506150fe8c828d01614a7e565b90965094505060a08a013561511281614a5f565b8093505060c08a0135915060e08a013590509295985092959850929598565b60008060008060008060008060c0898b03121561514d57600080fd5b883561515881614a5f565b9750602089013561516881614b9d565b9650604089013561517881614b9d565b955060608901359450608089013567ffffffffffffffff8082111561519c57600080fd5b6151a88c838d01614a7e565b909650945060a08b01359150808211156151c157600080fd5b506151ce8b828c01614a7e565b999c989b5096995094979396929594505050565b600080604083850312156151f557600080fd5b823561520081614b9d565b9150614d0c60208401614b52565b60208082528251828201829052805160408401819052600092916060919083019082860190855b81811015614cc35761526e838551805165ffffffffffff16825260208082015161ffff9081169184019190915260409182015116910152565b9285019291840191600101615235565b8051614a7981614d15565b8051614a7981614b9d565b805167ffffffffffffffff81168114614a7957600080fd5b80516bffffffffffffffffffffffff81168114614a7957600080fd5b600061012082840312156152db57600080fd5b6152e3614d94565b825181526152f36020840161527e565b60208201526153046040840161527e565b60408201526153156060840161527e565b606082015261532660808401615289565b608082015261533760a08401615294565b60a082015261534860c08401615294565b60c082015261535960e084016152ac565b60e082015261010061536c8185016152ac565b908201529392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b67ffffffffffffffff8281168282160390808211156153c7576153c7615377565b5092915050565b6000602082840312156153e057600080fd5b81356110a281614b9d565b6000602082840312156153fd57600080fd5b6110a282615294565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006020828403121561544757600080fd5b815165ffffffffffff811681146110a257600080fd5b60006020828403121561546f57600080fd5b5051919050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b80358252600060208201356154d381614b9d565b6001600160a01b0390811660208501526040830135906154f282614a5f565b60ff821660408601526060840135915061550b82614b9d565b908116606085015260808301359061552282614b9d565b16608084015260a0828101359084015260c0820135368390037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe101811261556857600080fd5b820160208101903567ffffffffffffffff81111561558557600080fd5b80360382131561559457600080fd5b60e060c08601526155a960e086018284615476565b95945050505050565b60ff831681526060602082015260006155ce60608301846154bf565b828103604084015260008152602081019150509392505050565b6000602082840312156155fa57600080fd5b6110a2826152ac565b60006020828403121561561557600080fd5b81516110a281614b9d565b81810381811115610f4857610f48615377565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b80820180821115610f4857610f48615377565b60006020828403121561568757600080fd5b81516110a281614a5f565b6000602082840312156156a457600080fd5b81516110a281614d15565b6060815260006156c260608301866154bf565b90506001600160a01b038416602083015260ff83166040830152949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b8481526fffffffffffffffffffffffffffffffff84166020820152606060408201526000610ba0606083018486615476565b65ffffffffffff8281168282160390808211156153c7576153c7615377565b6020815260006110a260208301846154bf565b8183823760009101908152919050565b60005b838110156157a257818101518382015260200161578a565b50506000910152565b60ff8816815260006001600160a01b03808916602084015280881660408401525085606083015260c060808301526157e760c083018587615476565b82810360a08401528351808252615805816020840160208801615787565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016016020019998505050505050505050565b61ffff8181168382160190808211156153c7576153c7615377565b6020810160078310615891577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b91905290565b6fffffffffffffffffffffffffffffffff8181168382160190808211156153c7576153c7615377565b6000602082840312156158d257600080fd5b81356110a281614a5f565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261591257600080fd5b83018035915067ffffffffffffffff82111561592d57600080fd5b6020019150368190038213156121c657600080fd5b60006020828403121561595457600080fd5b815167ffffffffffffffff81111561596b57600080fd5b8201601f8101841361597c57600080fd5b805161598a614e7282614e0d565b81815285602083850101111561599f57600080fd5b6155a9826020830160208601615787565b6000826159e6577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b50049056fea164736f6c6343000817000a", + "nonce": "0x0", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x3c7c00dac5543a64b72ea9e7a41c7e69e042ade35e52a14bcc4fa2cc083df56d", + "transactionType": "CREATE", + "contractName": "LlamaTokenVotingFactory", + "contractAddress": "0xFBE17545dffD75A92A5A72926AE581478973FE65", + "function": null, + "arguments": [ + "0x3f3DAB3ab8cEc2FBd06767c2A5F66Cb6BFF21A4A" + ], + "transaction": { + "type": "0x02", + "from": "0xb72276d9ff15c7998b9962ffcfb21a6c7249441b", + "gas": "0xc9127", + "value": "0x0", + "data": "0x60a060405234801561001057600080fd5b50604051610b16380380610b1683398101604081905261002f91610040565b6001600160a01b0316608052610070565b60006020828403121561005257600080fd5b81516001600160a01b038116811461006957600080fd5b9392505050565b608051610a8561009160003960008181604001526104390152610a856000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c806321618ea41461003b5780633ec857a51461008b575b600080fd5b6100627f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b61006261009936600461087b565b600080338360000151846040015185606001516040516020016100bf9493929190610959565b60405160208183030381529060405280519060200120905060006100e7846020015183610622565b60408086015190517f439fab9100000000000000000000000000000000000000000000000000000000815291925073ffffffffffffffffffffffffffffffffffffffff83169163439fab919161013f916004016109b9565b6020604051808303816000875af115801561015e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101829190610a0a565b50600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1663fc0c546a6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156101e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061020a9190610a33565b73ffffffffffffffffffffffffffffffffffffffff1603610257576040517f65f5b03400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517fcdfda4dd00000000000000000000000000000000000000000000000000000000815242600482015273ffffffffffffffffffffffffffffffffffffffff82169063cdfda4dd90602401602060405180830381865afa1580156102c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102e59190610a50565b65ffffffffffff16600003610326576040517f65f5b03400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff166391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865afa158015610371573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103959190610a50565b65ffffffffffff166000036103d6576040517f65f5b03400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1663ae2a6df26040518163ffffffff1660e01b815260040160006040518083038186803b15801561041c57600080fd5b505afa158015610430573d6000803e3d6000fd5b5050505061045e7f000000000000000000000000000000000000000000000000000000000000000083610622565b8451608086015160a0870151604080517f8734852a00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff948516600482015286851660248201526044810193909352815161ffff908116606485015260208301518116608485015290820151811660a48401526060909101511660c4820152919450841690638734852a9060e401600060405180830381600087803b15801561051757600080fd5b505af115801561052b573d6000803e3d6000fd5b505050508073ffffffffffffffffffffffffffffffffffffffff1663fc0c546a6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561057a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061059e9190610a33565b84516020808701516060808901516040805173ffffffffffffffffffffffffffffffffffffffff94851681528885169581019590955284015287821690830152466080830152928316929091169033907f4c8bb78cb1c62e64cef39fc4b4a1864d1a331a28c7bd59a67fe969cc8ab715879060a00160405180910390a45050919050565b6000763d602d80600a3d3981f3363d3d373d3d3d363d730000008360601b60e81c176000526e5af43d82803e903d91602b57fd5bf38360781b1760205281603760096000f5905073ffffffffffffffffffffffffffffffffffffffff81166106b6576040517fc2f868f400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405160c0810167ffffffffffffffff8111828210171561070e5761070e6106bc565b60405290565b73ffffffffffffffffffffffffffffffffffffffff8116811461073657600080fd5b50565b600082601f83011261074a57600080fd5b813567ffffffffffffffff80821115610765576107656106bc565b604051601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011681019082821181831017156107ab576107ab6106bc565b816040528381528660208588010111156107c457600080fd5b836020870160208301376000602085830101528094505050505092915050565b803561ffff811681146107f657600080fd5b919050565b60006080828403121561080d57600080fd5b6040516080810181811067ffffffffffffffff82111715610830576108306106bc565b60405290508061083f836107e4565b815261084d602084016107e4565b602082015261085e604084016107e4565b604082015261086f606084016107e4565b60608201525092915050565b60006020828403121561088d57600080fd5b813567ffffffffffffffff808211156108a557600080fd5b9083019061012082860312156108ba57600080fd5b6108c26106eb565b82356108cd81610714565b815260208301356108dd81610714565b60208201526040830135828111156108f457600080fd5b61090087828601610739565b60408301525060608301356060820152608083013560808201526109278660a085016107fb565b60a082015295945050505050565b60005b83811015610950578181015183820152602001610938565b50506000910152565b60007fffffffffffffffffffffffffffffffffffffffff000000000000000000000000808760601b168352808660601b1660148401525083516109a3816028850160208801610935565b6028920191820192909252604801949350505050565b60208152600082518060208401526109d8816040850160208701610935565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169190910160400192915050565b600060208284031215610a1c57600080fd5b81518015158114610a2c57600080fd5b9392505050565b600060208284031215610a4557600080fd5b8151610a2c81610714565b600060208284031215610a6257600080fd5b815165ffffffffffff81168114610a2c57600080fdfea164736f6c6343000817000a0000000000000000000000003f3dab3ab8cec2fbd06767c2a5f66cb6bff21a4a", + "nonce": "0x1", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xbae9f17fb3a4c1378cc66973b1e2182c27810d27ca5d390810af0ce10c61529e", + "transactionType": "CREATE", + "contractName": "LlamaTokenAdapterVotesTimestamp", + "contractAddress": "0x088C268cb00226D6A9b29e5488905Aa94D2f0239", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0xb72276d9ff15c7998b9962ffcfb21a6c7249441b", + "gas": "0x10d28c", + "value": "0x0", + "data": "0x608060405234801561001057600080fd5b5061001961001e565b6100d0565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff161561006e5760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b03908116146100cd5780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b610df5806100df6000396000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c8063ae2a6df21161005b578063ae2a6df21461010a578063cdfda4dd14610114578063edb8ee5a14610127578063fc0c546a1461013a57600080fd5b8063439fab911461008d5780634bf5d7e9146100b557806391ddadf4146100ca5780639556de73146100e9575b600080fd5b6100a061009b3660046108e4565b61017f565b60405190151581526020015b60405180910390f35b6100bd6103a1565b6040516100ac9190610988565b6100d261042f565b60405165ffffffffffff90911681526020016100ac565b6100fc6100f7366004610a12565b6104e9565b6040519081526020016100ac565b610112610593565b005b6100d2610122366004610a4b565b6105ef565b6100fc610135366004610a64565b610600565b60005461015a9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100ac565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0080546000919068010000000000000000810460ff16159067ffffffffffffffff1683811580156101cd5750825b905060008267ffffffffffffffff1660011480156101ea5750303b155b9050811580156101f8575080155b1561022f576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b84547fffffffffffffffffffffffffffffffffffffffffffffffff000000000000000016600117855583156102905784547fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff16680100000000000000001785555b6000878060200190518101906102a69190610a81565b8051600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff90921691909117905560408051808201909152600e81527f6d6f64653d74696d657374616d7000000000000000000000000000000000000060208201529091506001906103309082610b71565b50600196505083156103975784547fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b5050505050919050565b600180546103ae90610acd565b80601f01602080910402602001604051908101604052809291908181526020018280546103da90610acd565b80156104275780601f106103fc57610100808354040283529160200191610427565b820191906000526020600020905b81548152906001019060200180831161040a57829003601f168201915b505050505081565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156104d7575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682019092526104d491810190610c8b565b60015b6104e4576104e44261069b565b905090565b600080546040517f3a46b1a800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff858116600483015265ffffffffffff8516602483015290911690633a46b1a890604401602060405180830381865afa158015610568573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061058c9190610ca8565b9392505050565b600061059d6106e8565b905060006105a9610712565b905081806105b45750805b156105eb576040517f6ff0714000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050565b60006105fa8261069b565b92915050565b600080546040517f8e539e8c00000000000000000000000000000000000000000000000000000000815265ffffffffffff8416600482015273ffffffffffffffffffffffffffffffffffffffff90911690638e539e8c90602401602060405180830381865afa158015610677573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105fa9190610ca8565b600065ffffffffffff8211156106e4576040517fc0188c4f0000000000000000000000000000000000000000000000000000000081526004810183905260240160405180910390fd5b5090565b60006106f34261069b565b65ffffffffffff1661070361042f565b65ffffffffffff161415905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16634bf5d7e96040518163ffffffff1660e01b8152600401600060405180830381865afa9250505080156107bf57506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526107bc9190810190610cc1565b60015b6107c95750600090565b60016040516020016107db9190610d38565b60405160208183030381529060405280519060200120816040516020016108029190610dcc565b60405160208183030381529060405280519060200120141591505090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff8111828210171561089657610896610820565b604052919050565b600067ffffffffffffffff8211156108b8576108b8610820565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b6000602082840312156108f657600080fd5b813567ffffffffffffffff81111561090d57600080fd5b8201601f8101841361091e57600080fd5b803561093161092c8261089e565b61084f565b81815285602083850101111561094657600080fd5b81602084016020830137600091810160200191909152949350505050565b60005b8381101561097f578181015183820152602001610967565b50506000910152565b60208152600082518060208401526109a7816040850160208701610964565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169190910160400192915050565b73ffffffffffffffffffffffffffffffffffffffff811681146109fb57600080fd5b50565b65ffffffffffff811681146109fb57600080fd5b60008060408385031215610a2557600080fd5b8235610a30816109d9565b91506020830135610a40816109fe565b809150509250929050565b600060208284031215610a5d57600080fd5b5035919050565b600060208284031215610a7657600080fd5b813561058c816109fe565b600060208284031215610a9357600080fd5b6040516020810181811067ffffffffffffffff82111715610ab657610ab6610820565b6040528251610ac4816109d9565b81529392505050565b600181811c90821680610ae157607f821691505b602082108103610b1a577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b601f821115610b6c576000816000526020600020601f850160051c81016020861015610b495750805b601f850160051c820191505b81811015610b6857828155600101610b55565b5050505b505050565b815167ffffffffffffffff811115610b8b57610b8b610820565b610b9f81610b998454610acd565b84610b20565b602080601f831160018114610bf25760008415610bbc5750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b178555610b68565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b82811015610c3f57888601518255948401946001909101908401610c20565b5085821015610c7b57878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b600060208284031215610c9d57600080fd5b815161058c816109fe565b600060208284031215610cba57600080fd5b5051919050565b600060208284031215610cd357600080fd5b815167ffffffffffffffff811115610cea57600080fd5b8201601f81018413610cfb57600080fd5b8051610d0961092c8261089e565b818152856020838501011115610d1e57600080fd5b610d2f826020830160208601610964565b95945050505050565b6000808354610d4681610acd565b60018281168015610d5e5760018114610d9157610dc0565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0084168752821515830287019450610dc0565b8760005260208060002060005b85811015610db75781548a820152908401908201610d9e565b50505082870194505b50929695505050505050565b60008251610dde818460208701610964565b919091019291505056fea164736f6c6343000817000a", + "nonce": "0x2", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [ + "0x25cb153d2c598a0e43a49a5e7ee562bde2e3c8381405486ed493c44ba923b0fa", + "0x3c7c00dac5543a64b72ea9e7a41c7e69e042ade35e52a14bcc4fa2cc083df56d", + "0xbae9f17fb3a4c1378cc66973b1e2182c27810d27ca5d390810af0ce10c61529e" + ], + "returns": {}, + "timestamp": 1704991305, + "chain": 5, + "multi": false, + "commit": "688208a" +} \ No newline at end of file diff --git a/broadcast/DeployLlamaTokenVotingFactory.s.sol/5/run-1704991312.json b/broadcast/DeployLlamaTokenVotingFactory.s.sol/5/run-1704991312.json new file mode 100644 index 0000000..8e71944 --- /dev/null +++ b/broadcast/DeployLlamaTokenVotingFactory.s.sol/5/run-1704991312.json @@ -0,0 +1,148 @@ +{ + "transactions": [ + { + "hash": "0x25cb153d2c598a0e43a49a5e7ee562bde2e3c8381405486ed493c44ba923b0fa", + "transactionType": "CREATE", + "contractName": "LlamaTokenGovernor", + "contractAddress": "0x3f3DAB3ab8cEc2FBd06767c2A5F66Cb6BFF21A4A", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0xb72276d9ff15c7998b9962ffcfb21a6c7249441b", + "gas": "0x6398ff", + "value": "0x0", + "data": "0x60806040523480156200001157600080fd5b506200001c62000022565b620000d6565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff1615620000735760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b0390811614620000d35780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b6159f880620000e66000396000f3fe608060405234801561001057600080fd5b50600436106101da5760003560e01c80637e4a56bb11610104578063b92cdd9a116100a2578063cae3bdff11610071578063cae3bdff1461053d578063dcae21b714610552578063e45061ea14610565578063e5589b9d1461057857600080fd5b8063b92cdd9a146104e4578063b9b2cf6c146104f7578063c193c2691461050a578063c26c12eb1461053557600080fd5b80638734852a116100de5780638734852a1461049857806396ff6e2e146104ab578063a1d9b412146104be578063b3c678b0146104d157600080fd5b80637e4a56bb1461046a5780637ed7238e14610472578063807ad1141461048557600080fd5b80633fed8f161161017c57806359e5332d1161014b57806359e5332d1461036457806364f6b3161461037b5780637186dd9c1461038e57806374f717cd1461044757600080fd5b80633fed8f16146103165780634d61ebf4146103365780634ec0ab1c1461033e578063509c5fbd1461035157600080fd5b806319a39740116101b857806319a397401461025b5780631e127ddf1461026e578063372fa8e8146102c25780633df91222146102d557600080fd5b80630669b1ce146101df57806311f900b5146101f45780631650080714610227575b600080fd5b6101f26101ed366004614a11565b61058b565b005b610207610202366004614a46565b610b79565b6040805161ffff9384168152929091166020830152015b60405180910390f35b61023a610235366004614ac0565b610b90565b6040516fffffffffffffffffffffffffffffffff909116815260200161021e565b6101f2610269366004614a46565b610baa565b6101f261027c366004614b82565b3360009081526007602090815260408083207fffffffff000000000000000000000000000000000000000000000000000000009490941683529290522080546001019055565b6101f26102d0366004614bbd565b610c75565b6102fe6102e3366004614a46565b6005602052600090815260409020546001600160a01b031681565b6040516001600160a01b03909116815260200161021e565b610329610324366004614c31565b610d76565b60405161021e9190614c53565b610207610f4e565b6101f261034c366004614ce2565b610f63565b61023a61035f366004614ac0565b611030565b61036d60025481565b60405190815260200161021e565b6000546102fe906001600160a01b031681565b6103fc61039c366004614a46565b6006602052600090815260409020805460018201546002909201546fffffffffffffffffffffffffffffffff8083169370010000000000000000000000000000000093849004821693818316939181900483169282811692919091041686565b604080516fffffffffffffffffffffffffffffffff978816815295871660208701529386169385019390935290841660608401528316608083015290911660a082015260c00161021e565b61045a610455366004614d23565b611040565b604051901515815260200161021e565b6103296110a9565b61036d610480366004614ea9565b61114c565b6001546102fe906001600160a01b031681565b6101f26104a6366004614f88565b611263565b61023a6104b9366004615066565b6114b5565b61023a6104cc366004615066565b6115c6565b61036d6104df366004615131565b6116c7565b6101f26104f2366004614a11565b61171c565b6101f2610505366004614ce2565b611726565b61036d6105183660046151e2565b600760209081526000928352604080842090915290825290205481565b6102076117ef565b6105456117fc565b60405161021e919061520e565b610545610560366004614c31565b61188f565b6101f2610573366004614a11565b611a4d565b610207610586366004614a46565b612026565b600080546040517fb6e76873000000000000000000000000000000000000000000000000000000008152833560048201526001600160a01b039091169063b6e768739060240161012060405180830381865afa1580156105ef573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061061391906152c8565b9050600060018260a0015161062891906153a6565b67ffffffffffffffff169050600160009054906101000a90046001600160a01b03166001600160a01b031663ae2a6df26040518163ffffffff1660e01b815260040160006040518083038186803b15801561068257600080fd5b505afa158015610696573d6000803e3d6000fd5b505050506000806000806106b485600461203490919063ffffffff16565b909250905060006106cb6080890160608a016153ce565b6001600160a01b031663b02bd9206040518163ffffffff1660e01b8152600401602060405180830381865afa158015610708573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061072c91906153eb565b67ffffffffffffffff16905061271061ffff8416820204818860c0015167ffffffffffffffff16030194506127108261ffff1682028161076e5761076e615406565b04850193508342116107ac576040517f038d8a6a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8660c0015167ffffffffffffffff1642106107f3576040517f08c8d62700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050843560009081526006602052604080822060015491517fcdfda4dd000000000000000000000000000000000000000000000000000000008152600481018690529092916001600160a01b03169063edb8ee5a90829063cdfda4dd90602401602060405180830381865afa158015610871573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108959190615435565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b16815265ffffffffffff9091166004820152602401602060405180830381865afa1580156108f0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610914919061545d565b600183015460028401549192506fffffffffffffffffffffffffffffffff7001000000000000000000000000000000009182900481169291820481169116600061095f60038a6121cd565b9150506000610975868361ffff166127106122d8565b905080856fffffffffffffffffffffffffffffffff1610156109e3576040517fbfb9aa550000000000000000000000000000000000000000000000000000000081526fffffffffffffffffffffffffffffffff86166004820152602481018290526044015b60405180910390fd5b836fffffffffffffffffffffffffffffffff16856fffffffffffffffffffffffffffffffff1611610a5c576040517f8a0df63f0000000000000000000000000000000000000000000000000000000081526fffffffffffffffffffffffffffffffff8087166004830152851660248201526044016109da565b6000610a7b8d6060016020810190610a7491906153ce565b600061231c565b905060008054906101000a90046001600160a01b03166001600160a01b03166394004706828f6040518363ffffffff1660e01b8152600401610abe9291906155b2565b6020604051808303816000875af1158015610add573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b0191906155e8565b50604080518e3581526fffffffffffffffffffffffffffffffff808916602083015280881692820192909252908516606082015260ff82169033907ff5bc433f16cc3d0e9fcb5ac4f8de9f17eb90de1fd2a9ede5952c2097d4ef1a59906080015b60405180910390a350505050505050505050505050565b600080610b87600484612034565b91509150915091565b6000610ba0338787878787612612565b9695505050505050565b60008054906101000a90046001600160a01b03166001600160a01b031663c34c08e56040518163ffffffff1660e01b8152600401602060405180830381865afa158015610bfb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c1f9190615603565b6001600160a01b0316336001600160a01b031614610c69576040517f26bee1ce00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610c7281612c5e565b50565b6000610c818686612e2e565b6040805160008082526020820180845284905260ff88169282019290925260608101869052608081018590529192509060019060a0016020604051602081039080840390855afa158015610cd9573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001519150506001600160a01b0381161580610d2c5750866001600160a01b0316816001600160a01b031614155b15610d63576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610d6d8187612f50565b50505050505050565b60408051602081019091526060815281831115610dbf576040517f2cd4dad300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60045480831115610dfc576040517f2cd4dad300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610e088585615620565b905060008167ffffffffffffffff811115610e2557610e25614d65565b604051908082528060200260200182016040528015610e8e57816020015b60408051606081018252600080825260208083018290529282015282527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff909201910181610e435790505b509050855b85811015610f34576004805482908110610eaf57610eaf615633565b600091825260209182902060408051606081018252919092015465ffffffffffff8116825261ffff660100000000000082048116948301949094526801000000000000000090049092169082015282610f088984615620565b81518110610f1857610f18615633565b6020026020010181905250610f2d8160010190565b9050610e93565b506040805160208101909152908152925050505b92915050565b600080610f5b6004613063565b915091509091565b60008054906101000a90046001600160a01b03166001600160a01b031663c34c08e56040518163ffffffff1660e01b8152600401602060405180830381865afa158015610fb4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fd89190615603565b6001600160a01b0316336001600160a01b031614611022576040517f26bee1ce00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61102c82826130db565b5050565b6000610ba03387878787876131cf565b60008115611077575060008381526006602090815260408083206001600160a01b038616845260030190915290205460ff166110a2565b5060008381526006602090815260408083206001600160a01b038616845260040190915290205460ff165b9392505050565b6040805160208101909152606081526040805160048054602081810284018501855283018181529293919284929091849160009085015b8282101561113f576000848152602090819020604080516060810182529185015465ffffffffffff8116835261ffff660100000000000082048116848601526801000000000000000090910416908201528252600190920191016110e0565b5050505081525050905090565b60008061115f8d8d8d8d8d8d8d8d613714565b6040805160008082526020820180845284905260ff89169282019290925260608101879052608081018690529192509060019060a0016020604051602081039080840390855afa1580156111b7573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001519150506001600160a01b038116158061120a57508d6001600160a01b0316816001600160a01b031614155b15611241576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611251818e8e8e8e8e8e8e613885565b9e9d5050505050505050505050505050565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000810460ff16159067ffffffffffffffff166000811580156112ae5750825b905060008267ffffffffffffffff1660011480156112cb5750303b155b9050811580156112d9575080155b15611310576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b84547fffffffffffffffffffffffffffffffffffffffffffffffff000000000000000016600117855583156113715784547fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff16680100000000000000001785555b886001600160a01b0316639bccfe496040518163ffffffff1660e01b8152600401602060405180830381865afa1580156113af573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113d3919061545d565b50600080546001600160a01b03808c167fffffffffffffffffffffffff00000000000000000000000000000000000000009283161790925560018054928b169290911691909117905561142587612c5e565b611437866000015187602001516130db565b61144986604001518760600151613b89565b83156114aa5784547fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b505050505050505050565b6000806114c68b8b8b8b8b8b613c26565b6040805160008082526020820180845284905260ff89169282019290925260608101879052608081018690529192509060019060a0016020604051602081039080840390855afa15801561151e573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001519150506001600160a01b038116158061157157508b6001600160a01b0316816001600160a01b031614155b156115a8576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6115b6818c8c8c8c8c6131cf565b9c9b505050505050505050505050565b6000806115d78b8b8b8b8b8b613d84565b6040805160008082526020820180845284905260ff89169282019290925260608101879052608081018690529192509060019060a0016020604051602081039080840390855afa15801561162f573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001519150506001600160a01b038116158061168257508b6001600160a01b0316816001600160a01b031614155b156116b9576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6115b6818c8c8c8c8c612612565b600061170f338a8a8a8a8a8a8a8a8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061388592505050565b9998505050505050505050565b610c723382612f50565b60008054906101000a90046001600160a01b03166001600160a01b031663c34c08e56040518163ffffffff1660e01b8152600401602060405180830381865afa158015611777573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061179b9190615603565b6001600160a01b0316336001600160a01b0316146117e5576040517f26bee1ce00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61102c8282613b89565b600080610f5b6003613063565b604080516020810190915260608152604080516003805460208082028401850185528301818152929391928492909184916000908501821561113f576000848152602090819020604080516060810182529185015465ffffffffffff8116835261ffff660100000000000082048116848601526801000000000000000090910416908201528252600190920191016110e0565b604080516020810190915260608152818311156118d8576040517f2cd4dad300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60035480831115611915576040517f2cd4dad300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006119218585615620565b905060008167ffffffffffffffff81111561193e5761193e614d65565b6040519080825280602002602001820160405280156119a757816020015b60408051606081018252600080825260208083018290529282015282527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90920191018161195c5790505b509050855b85811015610f345760038054829081106119c8576119c8615633565b600091825260209182902060408051606081018252919092015465ffffffffffff8116825261ffff660100000000000082048116948301949094526801000000000000000090049092169082015282611a218984615620565b81518110611a3157611a31615633565b6020026020010181905250611a468160010190565b90506119ac565b600080546040517fb6e76873000000000000000000000000000000000000000000000000000000008152833560048201526001600160a01b039091169063b6e768739060240161012060405180830381865afa158015611ab1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ad591906152c8565b9050600060018260a00151611aea91906153a6565b67ffffffffffffffff169050600160009054906101000a90046001600160a01b03166001600160a01b031663ae2a6df26040518163ffffffff1660e01b815260040160006040518083038186803b158015611b4457600080fd5b505afa158015611b58573d6000803e3d6000fd5b50505050600080600080611b7685600461203490919063ffffffff16565b90925090506000611b8d6080890160608a016153ce565b6001600160a01b0316637999762c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611bca573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bee91906153eb565b67ffffffffffffffff16905061271061ffff84168202048760a0015167ffffffffffffffff160194506127108261ffff16820281611c2e57611c2e615406565b0485019350834211611c6c576040517f038d8a6a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b808760a0015167ffffffffffffffff16611c869190615662565b421115611cbf576040517f08c8d62700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050843560009081526006602052604080822060015491517fcdfda4dd000000000000000000000000000000000000000000000000000000008152600481018690529092916001600160a01b03169063edb8ee5a90829063cdfda4dd90602401602060405180830381865afa158015611d3d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d619190615435565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b16815265ffffffffffff9091166004820152602401602060405180830381865afa158015611dbc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611de0919061545d565b825460018401549192506fffffffffffffffffffffffffffffffff808216928116917001000000000000000000000000000000009004166000611e2460038a6121cd565b5090506000611e3a868361ffff166127106122d8565b905080856fffffffffffffffffffffffffffffffff161015611ea3576040517f0425fab10000000000000000000000000000000000000000000000000000000081526fffffffffffffffffffffffffffffffff86166004820152602481018290526044016109da565b836fffffffffffffffffffffffffffffffff16856fffffffffffffffffffffffffffffffff1611611f1c576040517f8a0df63f0000000000000000000000000000000000000000000000000000000081526fffffffffffffffffffffffffffffffff8087166004830152851660248201526044016109da565b6000611f3b8d6060016020810190611f3491906153ce565b600161231c565b905060008054906101000a90046001600160a01b03166001600160a01b03166389e7d126828f6040518363ffffffff1660e01b8152600401611f7e9291906155b2565b6020604051808303816000875af1158015611f9d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fc191906155e8565b50604080518e3581526fffffffffffffffffffffffffffffffff808916602083015280881692820192909252908516606082015260ff82169033907ff23279e924757f3bfe4f543bc1b43685e851d6ace53f8518b806dcd8d42fc13990608001610b62565b600080610b876003846121cd565b6000804283106120c6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f506572696f64506374436865636b706f696e74733a2074696d657374616d702060448201527f6973206e6f7420696e207468652070617374000000000000000000000000000060648201526084016109da565b60006120d184613db3565b855490915060008160058111156121315760006120ed84613dfc565b6120f79085615620565b60008a81526020902090915081015465ffffffffffff90811690861610156121215780915061212f565b61212c816001615662565b92505b505b600061213f89868585613eae565b90508060000361215a576000809650965050505050506121c6565b60006121798a61216b600185615620565b600091825260209091200190565b60408051606081018252915465ffffffffffff8116835261ffff66010000000000008204811660208501819052680100000000000000009092041692909101829052985096505050505050505b9250929050565b60008042831061225f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602f60248201527f51756f72756d436865636b706f696e74733a2074696d657374616d702069732060448201527f6e6f7420696e207468652070617374000000000000000000000000000000000060648201526084016109da565b600061226a84613db3565b855490915060008160058111156122ca57600061228684613dfc565b6122909085615620565b60008a81526020902090915081015465ffffffffffff90811690861610156122ba578091506122c8565b6122c5816001615662565b92505b505b600061213f89868585613f10565b6000827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048411830215820261230d57600080fd5b50910281810615159190040190565b60008054604080517f0505c8c9000000000000000000000000000000000000000000000000000000008152905183926001600160a01b031691630505c8c99160048083019260209291908290030181865afa15801561237f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123a39190615603565b6001600160a01b0316638b2ed3886040518163ffffffff1660e01b8152600401602060405180830381865afa1580156123e0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124049190615675565b905060015b8160ff16811161253b57836124a1576040517fc167ebae00000000000000000000000000000000000000000000000000000000815260ff821660048201526001600160a01b0386169063c167ebae90602401602060405180830381865afa158015612478573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061249c9190615692565b612525565b6040517ffb847c4300000000000000000000000000000000000000000000000000000000815260ff821660048201526001600160a01b0386169063fb847c4390602401602060405180830381865afa158015612501573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125259190615692565b15612533579150610f489050565b600101612409565b50826125a857836001600160a01b03166312a52f006040518163ffffffff1660e01b8152600401602060405180830381865afa15801561257f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125a39190615675565b61260a565b836001600160a01b03166366cacdc96040518163ffffffff1660e01b8152600401602060405180830381865afa1580156125e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061260a9190615675565b949350505050565b600080546040517fb6e768730000000000000000000000000000000000000000000000000000000081528635600482015282916001600160a01b03169063b6e768739060240161012060405180830381865afa158015612676573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061269a91906152c8565b9050600060018260a001516126af91906153a6565b8735600090815260066020526040902067ffffffffffffffff9190911691506126de6080890160608a016153ce565b6001600160a01b03166302674e4b89308c6040518463ffffffff1660e01b815260040161270d939291906156af565b60006040518083038186803b15801561272557600080fd5b505afa158015612739573d6000803e3d6000fd5b505050506001600160a01b038a16600090815260048201602052604090205460ff1615612792576040517f9dd6544b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6127a0888a89600486613f6a565b60008080806127b0600487612034565b909250905060006127c760808e0160608f016153ce565b6001600160a01b031663b02bd9206040518163ffffffff1660e01b8152600401602060405180830381865afa158015612804573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061282891906153eb565b67ffffffffffffffff16905061271061ffff8416820204818960c0015167ffffffffffffffff16030194506127108261ffff1682028161286a5761286a615406565b04850193508442116128a8576040517fd0b72b4900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b834211156128e2576040517f5b73d19300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050506000612a25600160009054906101000a90046001600160a01b03166001600160a01b0316639556de738f600160009054906101000a90046001600160a01b03166001600160a01b031663cdfda4dd886040518263ffffffff1660e01b815260040161295291815260200190565b602060405180830381865afa15801561296f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906129939190615435565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b1681526001600160a01b03909216600483015265ffffffffffff166024820152604401602060405180830381865afa1580156129fc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a20919061545d565b61425e565b905060ff8a16612a9e576002840154612a649070010000000000000000000000000000000090046fffffffffffffffffffffffffffffffff16826142ad565b6002850180546fffffffffffffffffffffffffffffffff928316700100000000000000000000000000000000029216919091179055612bc6565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60ff8b1601612b37576001840154612afd9070010000000000000000000000000000000090046fffffffffffffffffffffffffffffffff16826142ad565b6001850180546fffffffffffffffffffffffffffffffff928316700100000000000000000000000000000000029216919091179055612bc6565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe60ff8b1601612bc6576002840154612b82906fffffffffffffffffffffffffffffffff16826142ad565b6002850180547fffffffffffffffffffffffffffffffff00000000000000000000000000000000166fffffffffffffffffffffffffffffffff929092169190911790555b6001600160a01b038d1660008181526004860160205260409081902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790555160ff8c1691907f4e3e2ad68670a2709cb408c31c5afd8da0b6d3d06c75b11feb404a455639fe7c90612c46908f359086908f908f90615713565b60405180910390a39c9b505050505050505050505050565b60018054604080517f91ddadf400000000000000000000000000000000000000000000000000000000815290516000936001600160a01b039093169263edb8ee5a92909184916391ddadf49160048083019260209291908290030181865afa158015612cce573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612cf29190615435565b612cfc9190615745565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b16815265ffffffffffff9091166004820152602401602060405180830381865afa158015612d57573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612d7b919061545d565b905080600003612db7576040517f34bbd58500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80821115612df1576040517f8a5e746800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60028290556040518281527fd91a985c173545ab0e0bd11c021a1ae84c1ea6eab9350d9bf3812d5b8bff49a4906020015b60405180910390a15050565b6000807f6da9390b4f29da2c44fa5a9da00b392393d01e989d16e4a3dec5a538318e352584612e5c856142f4565b6001600160a01b03871660009081526007602090815260408083207fffffffff00000000000000000000000000000000000000000000000000000000843516845290915290208054600181019091556040805160208101959095526001600160a01b03909316928401929092526060830152608082015260a001604051602081830303815290604052805190602001209050612ef66143eb565b6040517f190100000000000000000000000000000000000000000000000000000000000060208201526022810191909152604281018290526062016040516020818303038152906040528051906020012091505092915050565b80356000908152600560205260409020546001600160a01b03838116911614612fa5576040517f86ba025600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000546040517fb92cdd9a0000000000000000000000000000000000000000000000000000000081526001600160a01b039091169063b92cdd9a90612fee908490600401615764565b600060405180830381600087803b15801561300857600080fd5b505af115801561301c573d6000803e3d6000fd5b5050604051833581526001600160a01b03851692507fdcccc5725b7256a6975da00de8953e5d326756a3079d203ff6df9e52331f411a915060200160405180910390a25050565b8054600090819080820361307d5750600093849350915050565b600061308e8561216b600185615620565b60408051606081018252915465ffffffffffff8116835261ffff66010000000000008204811660208501819052680100000000000000009092041692909101829052969095509350505050565b6127108261ffff1611806130f1575061ffff8216155b1561312e576040517f8f6febc000000000000000000000000000000000000000000000000000000000815261ffff831660048201526024016109da565b6127108161ffff161180613144575061ffff8116155b15613181576040517f3bec511c00000000000000000000000000000000000000000000000000000000815261ffff821660048201526024016109da565b613194600361ffff80851690841661454d565b6040805161ffff8085168252831660208201527f77c3f43700db02acb49792bbf699b39f72c2ed4b920bd5c0b1843dcd7c832f4c9101612e22565b600080546040517fb6e768730000000000000000000000000000000000000000000000000000000081528635600482015282916001600160a01b03169063b6e768739060240161012060405180830381865afa158015613233573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061325791906152c8565b9050600060018260a0015161326c91906153a6565b8735600090815260066020526040902067ffffffffffffffff91909116915061329b6080890160608a016153ce565b6001600160a01b0316631a2a4e7789308c6040518463ffffffff1660e01b81526004016132ca939291906156af565b60006040518083038186803b1580156132e257600080fd5b505afa1580156132f6573d6000803e3d6000fd5b505050506001600160a01b038a16600090815260038201602052604090205460ff161561334f576040517f9dd6544b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61335d888a89600086613f6a565b600080808061336d600487612034565b9092509050600061338460808e0160608f016153ce565b6001600160a01b0316637999762c6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156133c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906133e591906153eb565b67ffffffffffffffff16905061271061ffff84168202048860a0015167ffffffffffffffff160194506127108261ffff1682028161342557613425615406565b0485019350844211613463576040517fd0b72b4900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8342111561349d576040517f5b73d19300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050600061350d600160009054906101000a90046001600160a01b03166001600160a01b0316639556de738f600160009054906101000a90046001600160a01b03166001600160a01b031663cdfda4dd886040518263ffffffff1660e01b815260040161295291815260200190565b905060ff8a16613580576001840154613538906fffffffffffffffffffffffffffffffff16826142ad565b6001850180547fffffffffffffffffffffffffffffffff00000000000000000000000000000000166fffffffffffffffffffffffffffffffff92909216919091179055613694565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60ff8b16016136095783546135c8906fffffffffffffffffffffffffffffffff16826142ad565b84547fffffffffffffffffffffffffffffffff00000000000000000000000000000000166fffffffffffffffffffffffffffffffff91909116178455613694565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe60ff8b16016136945783546136659070010000000000000000000000000000000090046fffffffffffffffffffffffffffffffff16826142ad565b84546fffffffffffffffffffffffffffffffff9182167001000000000000000000000000000000000291161784555b6001600160a01b038d1660008181526003860160205260409081902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790555160ff8c1691907f761cce3a1af5d9cfc0d57222f605ce4bd2be345f0ad9ebb7b83a84a91a0c201490612c46908f359086908f908f90615713565b6001600160a01b03881660009081526007602090815260408083207fffffffff000000000000000000000000000000000000000000000000000000008435168452909152812080546001810190915560007fd1fab1c7b3b37134662e5867b00e272eb49f7be0a890df29e802c3cc66c06f838b8b8b8b8b8b8b60405161379b929190615777565b604080519182900382208c516020808f0191909120908401999099526001600160a01b039788169183019190915260ff90951660608201529285166080840152931660a082015260c081019290925260e08201526101008101919091526101208101839052610140016040516020818303038152906040528051906020012090506138246143eb565b6040517f19010000000000000000000000000000000000000000000000000000000000006020820152602281019190915260428101829052606201604051602081830303815290604052805190602001209250505098975050505050505050565b600154604080517fae2a6df200000000000000000000000000000000000000000000000000000000815290516000926001600160a01b03169163ae2a6df29160048083019286929190829003018186803b1580156138e257600080fd5b505afa1580156138f6573d6000803e3d6000fd5b505060018054604080517f91ddadf40000000000000000000000000000000000000000000000000000000081529051600095506001600160a01b039092169350639556de73928e92909185916391ddadf4916004808201926020929091908290030181865afa15801561396d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906139919190615435565b61399b9190615745565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b1681526001600160a01b03909216600483015265ffffffffffff166024820152604401602060405180830381865afa158015613a04573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613a28919061545d565b9050600254811015613a69576040517f92665351000000000000000000000000000000000000000000000000000000008152600481018290526024016109da565b6000546040517fb3c678b00000000000000000000000000000000000000000000000000000000081526001600160a01b039091169063b3c678b090613abe908c908c908c908c908c908c908c906004016157ab565b6020604051808303816000875af1158015613add573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613b01919061545d565b60008181526005602090815260409182902080547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b038f16908117909155915183815292945090917f1834dfd49255741a8ce9a9bd66b91b64d13622e1d8170e4c78ac91f9ec50a542910160405180910390a25098975050505050505050565b612710613b96828461583b565b61ffff1610613bdf576040517f519dd38400000000000000000000000000000000000000000000000000000000815261ffff8084166004830152821660248201526044016109da565b613beb60048383614576565b6040805161ffff8085168252831660208201527f8df7bdcce333d9e1b85e40782fb2f293c805761d3f48aaea58865e9541e44c709101612e22565b6000807fd7be168a3509af358f222ee35ee76aba47bc5fc2c35061cdce3958f510b7b1b28888613c55896142f4565b888888604051613c66929190615777565b60408051918290039091206001600160a01b038f166000908152600760209081528382207fffffffff0000000000000000000000000000000000000000000000000000000083351683529052919091208054600181019091556040805160208101989098526001600160a01b039096169587019590955260ff938416606087015260808601929092529190911660a084015260c083015260e082015261010001604051602081830303815290604052805190602001209050613d266143eb565b6040517f19010000000000000000000000000000000000000000000000000000000000006020820152602281019190915260428101829052606201604051602081830303815290604052805190602001209150509695505050505050565b6000807fa87058c5a9888e7af4405a932381d5a4612c61354bc3e52e9ea361ba17703fb38888613c55896142f4565b600065ffffffffffff821115613df8576040517fc0188c4f000000000000000000000000000000000000000000000000000000008152600481018390526024016109da565b5090565b60b581710100000000000000000000000000000000008110613e235760409190911b9060801c5b69010000000000000000008110613e3f5760209190911b9060401c5b650100000000008110613e575760109190911b9060201c5b63010000008110613e6d5760089190911b9060101c5b62010000010260121c80820401600190811c80830401811c80830401811c80830401811c80830401811c80830401811c80830401901c908190048111900390565b60005b81831015613f08576000613ec584846145a2565b60008781526020902090915065ffffffffffff86169082015465ffffffffffff161115613ef457809250613f02565b613eff816001615662565b93505b50613eb1565b509392505050565b60005b81831015613f08576000613f2784846145a2565b60008781526020902090915065ffffffffffff86169082015465ffffffffffff161115613f5657809250613f64565b613f61816001615662565b93505b50613f13565b600260ff84161115613fad576040517ffe0e5d8b00000000000000000000000000000000000000000000000000000000815260ff841660048201526024016109da565b600080546040517fec12d8be0000000000000000000000000000000000000000000000000000000081526001600160a01b039091169063ec12d8be90613ff7908990600401615764565b602060405180830381865afa158015614014573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906140389190615675565b60ff16600681111561404c5761404c6156e4565b9050826006811115614060576140606156e4565b816006811115614072576140726156e4565b146140ab57806040517f87afe58e0000000000000000000000000000000000000000000000000000000081526004016109da9190615856565b60008060009054906101000a90046001600160a01b03166001600160a01b0316630505c8c96040518163ffffffff1660e01b8152600401602060405180830381865afa1580156140ff573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906141239190615603565b6040517fe0bec07600000000000000000000000000000000000000000000000000000000815230600482015260ff88166024820152604481018590526001600160a01b03919091169063e0bec07690606401602060405180830381865afa158015614192573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906141b69190615692565b9050806141ef576040517f88aebd1200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600160009054906101000a90046001600160a01b03166001600160a01b031663ae2a6df26040518163ffffffff1660e01b815260040160006040518083038186803b15801561423d57600080fd5b505afa158015614251573d6000803e3d6000fd5b5050505050505050505050565b60006fffffffffffffffffffffffffffffffff821115613df8576040517fc0188c4f000000000000000000000000000000000000000000000000000000008152600481018390526024016109da565b60006fffffffffffffffffffffffffffffffff6142ce838216858316615662565b106142ea57506fffffffffffffffffffffffffffffffff610f48565b6110a28284615897565b60007f86b4555c6e347ea3f038485b59b894986c208b67da7e65fcfa3707271608465f823561432960408501602086016153ce565b61433960608601604087016158c0565b61434960808701606088016153ce565b61435960a08801608089016153ce565b60a088013561436b60c08a018a6158dd565b604051614379929190615777565b6040805191829003822060208301999099528101969096526001600160a01b03948516606087015260ff909316608086015290831660a08501529190911660c083015260e082015261010081019190915261012001604051602081830303815290604052805190602001209050919050565b60008054604080517f06fdde0300000000000000000000000000000000000000000000000000000000815290517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f926001600160a01b0316916306fdde0391600480830192879291908290030181865afa15801561446d573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526144b39190810190615942565b8051602091820120604080518082018252600181527f310000000000000000000000000000000000000000000000000000000000000090840152805192830193909352918101919091527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a082015260c00160405160208183030381529060405280519060200120905090565b6145718361455a42613db3565b614563856145bd565b61456c856145bd565b6145fe565b505050565b6145718361458342613db3565b6145908561ffff166145bd565b61459d8561ffff166145bd565b614909565b60006145b160028484186159b0565b6110a290848416615662565b600061ffff821115613df8576040517fc0188c4f000000000000000000000000000000000000000000000000000000008152600481018390526024016109da565b835480156148475760006146178661216b600185615620565b60408051606081018252915465ffffffffffff80821680855261ffff66010000000000008404811660208701526801000000000000000090930490921692840192909252919250861610156146ed576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f51756f72756d20436865636b706f696e743a20696e76616c69642074696d657360448201527f74616d700000000000000000000000000000000000000000000000000000000060648201526084016109da565b805165ffffffffffff8087169116036147865760006147118761216b600186615620565b805461ffff86811668010000000000000000027fffffffffffffffffffffffffffffffffffffffffffff0000ffffffffffffffff918916660100000000000002919091167fffffffffffffffffffffffffffffffffffffffffffff00000000ffffffffffff9092169190911717905550614841565b6040805160608101825265ffffffffffff808816825261ffff80881660208085019182528883169585019586528b54600181018d5560008d81529190912094519401805491519551831668010000000000000000027fffffffffffffffffffffffffffffffffffffffffffff0000ffffffffffffffff969093166601000000000000027fffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000909216949093169390931792909217929092161790555b50614902565b6040805160608101825265ffffffffffff808716825261ffff80871660208085019182528783169585019586528a54600181018c5560008c81529190912094519401805491519551831668010000000000000000027fffffffffffffffffffffffffffffffffffffffffffff0000ffffffffffffffff969093166601000000000000027fffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000909216949093169390931792909217929092161790555b5050505050565b835480156148475760006149228661216b600185615620565b60408051606081018252915465ffffffffffff80821680855261ffff66010000000000008404811660208701526801000000000000000090930490921692840192909252919250861610156146ed576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602860248201527f506572696f642050637420436865636b706f696e743a20696e76616c6964207460448201527f696d657374616d7000000000000000000000000000000000000000000000000060648201526084016109da565b600060e08284031215614a0b57600080fd5b50919050565b600060208284031215614a2357600080fd5b813567ffffffffffffffff811115614a3a57600080fd5b61260a848285016149f9565b600060208284031215614a5857600080fd5b5035919050565b60ff81168114610c7257600080fd5b8035614a7981614a5f565b919050565b60008083601f840112614a9057600080fd5b50813567ffffffffffffffff811115614aa857600080fd5b6020830191508360208285010111156121c657600080fd5b600080600080600060808688031215614ad857600080fd5b8535614ae381614a5f565b9450602086013567ffffffffffffffff80821115614b0057600080fd5b614b0c89838a016149f9565b955060408801359150614b1e82614a5f565b90935060608701359080821115614b3457600080fd5b50614b4188828901614a7e565b969995985093965092949392505050565b80357fffffffff0000000000000000000000000000000000000000000000000000000081168114614a7957600080fd5b600060208284031215614b9457600080fd5b6110a282614b52565b6001600160a01b0381168114610c7257600080fd5b8035614a7981614b9d565b600080600080600060a08688031215614bd557600080fd5b8535614be081614b9d565b9450602086013567ffffffffffffffff811115614bfc57600080fd5b614c08888289016149f9565b9450506040860135614c1981614a5f565b94979396509394606081013594506080013592915050565b60008060408385031215614c4457600080fd5b50508035926020909101359150565b60208082528251828201829052805160408401819052600092916060919083019082860190855b81811015614cc357614cb3838551805165ffffffffffff16825260208082015161ffff9081169184019190915260409182015116910152565b9285019291840191600101614c7a565b5090979650505050505050565b803561ffff81168114614a7957600080fd5b60008060408385031215614cf557600080fd5b614cfe83614cd0565b9150614d0c60208401614cd0565b90509250929050565b8015158114610c7257600080fd5b600080600060608486031215614d3857600080fd5b833592506020840135614d4a81614b9d565b91506040840135614d5a81614d15565b809150509250925092565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051610120810167ffffffffffffffff81118282101715614db857614db8614d65565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715614e0557614e05614d65565b604052919050565b600067ffffffffffffffff821115614e2757614e27614d65565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b600082601f830112614e6457600080fd5b8135614e77614e7282614e0d565b614dbe565b818152846020838601011115614e8c57600080fd5b816020850160208301376000918101602001919091529392505050565b60008060008060008060008060008060006101408c8e031215614ecb57600080fd5b614ed48c614bb2565b9a50614ee260208d01614a6e565b9950614ef060408d01614bb2565b9850614efe60608d01614bb2565b975060808c0135965067ffffffffffffffff8060a08e01351115614f2157600080fd5b614f318e60a08f01358f01614a7e565b909750955060c08d0135811015614f4757600080fd5b50614f588d60c08e01358e01614e53565b9350614f6660e08d01614a6e565b92506101008c013591506101208c013590509295989b509295989b9093969950565b60008060008084860360e0811215614f9f57600080fd5b8535614faa81614b9d565b94506020860135614fba81614b9d565b93506040860135925060807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa082011215614ff357600080fd5b506040516080810181811067ffffffffffffffff8211171561501757615017614d65565b60405261502660608701614cd0565b815261503460808701614cd0565b602082015261504560a08701614cd0565b604082015261505660c08701614cd0565b6060820152939692955090935050565b60008060008060008060008060006101008a8c03121561508557600080fd5b893561509081614b9d565b985060208a01356150a081614a5f565b975060408a013567ffffffffffffffff808211156150bd57600080fd5b6150c98d838e016149f9565b985060608c013591506150db82614a5f565b90965060808b013590808211156150f157600080fd5b506150fe8c828d01614a7e565b90965094505060a08a013561511281614a5f565b8093505060c08a0135915060e08a013590509295985092959850929598565b60008060008060008060008060c0898b03121561514d57600080fd5b883561515881614a5f565b9750602089013561516881614b9d565b9650604089013561517881614b9d565b955060608901359450608089013567ffffffffffffffff8082111561519c57600080fd5b6151a88c838d01614a7e565b909650945060a08b01359150808211156151c157600080fd5b506151ce8b828c01614a7e565b999c989b5096995094979396929594505050565b600080604083850312156151f557600080fd5b823561520081614b9d565b9150614d0c60208401614b52565b60208082528251828201829052805160408401819052600092916060919083019082860190855b81811015614cc35761526e838551805165ffffffffffff16825260208082015161ffff9081169184019190915260409182015116910152565b9285019291840191600101615235565b8051614a7981614d15565b8051614a7981614b9d565b805167ffffffffffffffff81168114614a7957600080fd5b80516bffffffffffffffffffffffff81168114614a7957600080fd5b600061012082840312156152db57600080fd5b6152e3614d94565b825181526152f36020840161527e565b60208201526153046040840161527e565b60408201526153156060840161527e565b606082015261532660808401615289565b608082015261533760a08401615294565b60a082015261534860c08401615294565b60c082015261535960e084016152ac565b60e082015261010061536c8185016152ac565b908201529392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b67ffffffffffffffff8281168282160390808211156153c7576153c7615377565b5092915050565b6000602082840312156153e057600080fd5b81356110a281614b9d565b6000602082840312156153fd57600080fd5b6110a282615294565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006020828403121561544757600080fd5b815165ffffffffffff811681146110a257600080fd5b60006020828403121561546f57600080fd5b5051919050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b80358252600060208201356154d381614b9d565b6001600160a01b0390811660208501526040830135906154f282614a5f565b60ff821660408601526060840135915061550b82614b9d565b908116606085015260808301359061552282614b9d565b16608084015260a0828101359084015260c0820135368390037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe101811261556857600080fd5b820160208101903567ffffffffffffffff81111561558557600080fd5b80360382131561559457600080fd5b60e060c08601526155a960e086018284615476565b95945050505050565b60ff831681526060602082015260006155ce60608301846154bf565b828103604084015260008152602081019150509392505050565b6000602082840312156155fa57600080fd5b6110a2826152ac565b60006020828403121561561557600080fd5b81516110a281614b9d565b81810381811115610f4857610f48615377565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b80820180821115610f4857610f48615377565b60006020828403121561568757600080fd5b81516110a281614a5f565b6000602082840312156156a457600080fd5b81516110a281614d15565b6060815260006156c260608301866154bf565b90506001600160a01b038416602083015260ff83166040830152949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b8481526fffffffffffffffffffffffffffffffff84166020820152606060408201526000610ba0606083018486615476565b65ffffffffffff8281168282160390808211156153c7576153c7615377565b6020815260006110a260208301846154bf565b8183823760009101908152919050565b60005b838110156157a257818101518382015260200161578a565b50506000910152565b60ff8816815260006001600160a01b03808916602084015280881660408401525085606083015260c060808301526157e760c083018587615476565b82810360a08401528351808252615805816020840160208801615787565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016016020019998505050505050505050565b61ffff8181168382160190808211156153c7576153c7615377565b6020810160078310615891577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b91905290565b6fffffffffffffffffffffffffffffffff8181168382160190808211156153c7576153c7615377565b6000602082840312156158d257600080fd5b81356110a281614a5f565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261591257600080fd5b83018035915067ffffffffffffffff82111561592d57600080fd5b6020019150368190038213156121c657600080fd5b60006020828403121561595457600080fd5b815167ffffffffffffffff81111561596b57600080fd5b8201601f8101841361597c57600080fd5b805161598a614e7282614e0d565b81815285602083850101111561599f57600080fd5b6155a9826020830160208601615787565b6000826159e6577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b50049056fea164736f6c6343000817000a", + "nonce": "0x0", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x3c7c00dac5543a64b72ea9e7a41c7e69e042ade35e52a14bcc4fa2cc083df56d", + "transactionType": "CREATE", + "contractName": "LlamaTokenVotingFactory", + "contractAddress": "0xFBE17545dffD75A92A5A72926AE581478973FE65", + "function": null, + "arguments": [ + "0x3f3DAB3ab8cEc2FBd06767c2A5F66Cb6BFF21A4A" + ], + "transaction": { + "type": "0x02", + "from": "0xb72276d9ff15c7998b9962ffcfb21a6c7249441b", + "gas": "0xc9127", + "value": "0x0", + "data": "0x60a060405234801561001057600080fd5b50604051610b16380380610b1683398101604081905261002f91610040565b6001600160a01b0316608052610070565b60006020828403121561005257600080fd5b81516001600160a01b038116811461006957600080fd5b9392505050565b608051610a8561009160003960008181604001526104390152610a856000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c806321618ea41461003b5780633ec857a51461008b575b600080fd5b6100627f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b61006261009936600461087b565b600080338360000151846040015185606001516040516020016100bf9493929190610959565b60405160208183030381529060405280519060200120905060006100e7846020015183610622565b60408086015190517f439fab9100000000000000000000000000000000000000000000000000000000815291925073ffffffffffffffffffffffffffffffffffffffff83169163439fab919161013f916004016109b9565b6020604051808303816000875af115801561015e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101829190610a0a565b50600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1663fc0c546a6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156101e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061020a9190610a33565b73ffffffffffffffffffffffffffffffffffffffff1603610257576040517f65f5b03400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517fcdfda4dd00000000000000000000000000000000000000000000000000000000815242600482015273ffffffffffffffffffffffffffffffffffffffff82169063cdfda4dd90602401602060405180830381865afa1580156102c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102e59190610a50565b65ffffffffffff16600003610326576040517f65f5b03400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff166391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865afa158015610371573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103959190610a50565b65ffffffffffff166000036103d6576040517f65f5b03400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1663ae2a6df26040518163ffffffff1660e01b815260040160006040518083038186803b15801561041c57600080fd5b505afa158015610430573d6000803e3d6000fd5b5050505061045e7f000000000000000000000000000000000000000000000000000000000000000083610622565b8451608086015160a0870151604080517f8734852a00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff948516600482015286851660248201526044810193909352815161ffff908116606485015260208301518116608485015290820151811660a48401526060909101511660c4820152919450841690638734852a9060e401600060405180830381600087803b15801561051757600080fd5b505af115801561052b573d6000803e3d6000fd5b505050508073ffffffffffffffffffffffffffffffffffffffff1663fc0c546a6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561057a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061059e9190610a33565b84516020808701516060808901516040805173ffffffffffffffffffffffffffffffffffffffff94851681528885169581019590955284015287821690830152466080830152928316929091169033907f4c8bb78cb1c62e64cef39fc4b4a1864d1a331a28c7bd59a67fe969cc8ab715879060a00160405180910390a45050919050565b6000763d602d80600a3d3981f3363d3d373d3d3d363d730000008360601b60e81c176000526e5af43d82803e903d91602b57fd5bf38360781b1760205281603760096000f5905073ffffffffffffffffffffffffffffffffffffffff81166106b6576040517fc2f868f400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405160c0810167ffffffffffffffff8111828210171561070e5761070e6106bc565b60405290565b73ffffffffffffffffffffffffffffffffffffffff8116811461073657600080fd5b50565b600082601f83011261074a57600080fd5b813567ffffffffffffffff80821115610765576107656106bc565b604051601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011681019082821181831017156107ab576107ab6106bc565b816040528381528660208588010111156107c457600080fd5b836020870160208301376000602085830101528094505050505092915050565b803561ffff811681146107f657600080fd5b919050565b60006080828403121561080d57600080fd5b6040516080810181811067ffffffffffffffff82111715610830576108306106bc565b60405290508061083f836107e4565b815261084d602084016107e4565b602082015261085e604084016107e4565b604082015261086f606084016107e4565b60608201525092915050565b60006020828403121561088d57600080fd5b813567ffffffffffffffff808211156108a557600080fd5b9083019061012082860312156108ba57600080fd5b6108c26106eb565b82356108cd81610714565b815260208301356108dd81610714565b60208201526040830135828111156108f457600080fd5b61090087828601610739565b60408301525060608301356060820152608083013560808201526109278660a085016107fb565b60a082015295945050505050565b60005b83811015610950578181015183820152602001610938565b50506000910152565b60007fffffffffffffffffffffffffffffffffffffffff000000000000000000000000808760601b168352808660601b1660148401525083516109a3816028850160208801610935565b6028920191820192909252604801949350505050565b60208152600082518060208401526109d8816040850160208701610935565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169190910160400192915050565b600060208284031215610a1c57600080fd5b81518015158114610a2c57600080fd5b9392505050565b600060208284031215610a4557600080fd5b8151610a2c81610714565b600060208284031215610a6257600080fd5b815165ffffffffffff81168114610a2c57600080fdfea164736f6c6343000817000a0000000000000000000000003f3dab3ab8cec2fbd06767c2a5f66cb6bff21a4a", + "nonce": "0x1", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xbae9f17fb3a4c1378cc66973b1e2182c27810d27ca5d390810af0ce10c61529e", + "transactionType": "CREATE", + "contractName": "LlamaTokenAdapterVotesTimestamp", + "contractAddress": "0x088C268cb00226D6A9b29e5488905Aa94D2f0239", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0xb72276d9ff15c7998b9962ffcfb21a6c7249441b", + "gas": "0x10d28c", + "value": "0x0", + "data": "0x608060405234801561001057600080fd5b5061001961001e565b6100d0565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff161561006e5760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b03908116146100cd5780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b610df5806100df6000396000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c8063ae2a6df21161005b578063ae2a6df21461010a578063cdfda4dd14610114578063edb8ee5a14610127578063fc0c546a1461013a57600080fd5b8063439fab911461008d5780634bf5d7e9146100b557806391ddadf4146100ca5780639556de73146100e9575b600080fd5b6100a061009b3660046108e4565b61017f565b60405190151581526020015b60405180910390f35b6100bd6103a1565b6040516100ac9190610988565b6100d261042f565b60405165ffffffffffff90911681526020016100ac565b6100fc6100f7366004610a12565b6104e9565b6040519081526020016100ac565b610112610593565b005b6100d2610122366004610a4b565b6105ef565b6100fc610135366004610a64565b610600565b60005461015a9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100ac565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0080546000919068010000000000000000810460ff16159067ffffffffffffffff1683811580156101cd5750825b905060008267ffffffffffffffff1660011480156101ea5750303b155b9050811580156101f8575080155b1561022f576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b84547fffffffffffffffffffffffffffffffffffffffffffffffff000000000000000016600117855583156102905784547fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff16680100000000000000001785555b6000878060200190518101906102a69190610a81565b8051600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff90921691909117905560408051808201909152600e81527f6d6f64653d74696d657374616d7000000000000000000000000000000000000060208201529091506001906103309082610b71565b50600196505083156103975784547fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b5050505050919050565b600180546103ae90610acd565b80601f01602080910402602001604051908101604052809291908181526020018280546103da90610acd565b80156104275780601f106103fc57610100808354040283529160200191610427565b820191906000526020600020905b81548152906001019060200180831161040a57829003601f168201915b505050505081565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156104d7575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682019092526104d491810190610c8b565b60015b6104e4576104e44261069b565b905090565b600080546040517f3a46b1a800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff858116600483015265ffffffffffff8516602483015290911690633a46b1a890604401602060405180830381865afa158015610568573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061058c9190610ca8565b9392505050565b600061059d6106e8565b905060006105a9610712565b905081806105b45750805b156105eb576040517f6ff0714000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050565b60006105fa8261069b565b92915050565b600080546040517f8e539e8c00000000000000000000000000000000000000000000000000000000815265ffffffffffff8416600482015273ffffffffffffffffffffffffffffffffffffffff90911690638e539e8c90602401602060405180830381865afa158015610677573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105fa9190610ca8565b600065ffffffffffff8211156106e4576040517fc0188c4f0000000000000000000000000000000000000000000000000000000081526004810183905260240160405180910390fd5b5090565b60006106f34261069b565b65ffffffffffff1661070361042f565b65ffffffffffff161415905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16634bf5d7e96040518163ffffffff1660e01b8152600401600060405180830381865afa9250505080156107bf57506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526107bc9190810190610cc1565b60015b6107c95750600090565b60016040516020016107db9190610d38565b60405160208183030381529060405280519060200120816040516020016108029190610dcc565b60405160208183030381529060405280519060200120141591505090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff8111828210171561089657610896610820565b604052919050565b600067ffffffffffffffff8211156108b8576108b8610820565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b6000602082840312156108f657600080fd5b813567ffffffffffffffff81111561090d57600080fd5b8201601f8101841361091e57600080fd5b803561093161092c8261089e565b61084f565b81815285602083850101111561094657600080fd5b81602084016020830137600091810160200191909152949350505050565b60005b8381101561097f578181015183820152602001610967565b50506000910152565b60208152600082518060208401526109a7816040850160208701610964565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169190910160400192915050565b73ffffffffffffffffffffffffffffffffffffffff811681146109fb57600080fd5b50565b65ffffffffffff811681146109fb57600080fd5b60008060408385031215610a2557600080fd5b8235610a30816109d9565b91506020830135610a40816109fe565b809150509250929050565b600060208284031215610a5d57600080fd5b5035919050565b600060208284031215610a7657600080fd5b813561058c816109fe565b600060208284031215610a9357600080fd5b6040516020810181811067ffffffffffffffff82111715610ab657610ab6610820565b6040528251610ac4816109d9565b81529392505050565b600181811c90821680610ae157607f821691505b602082108103610b1a577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b601f821115610b6c576000816000526020600020601f850160051c81016020861015610b495750805b601f850160051c820191505b81811015610b6857828155600101610b55565b5050505b505050565b815167ffffffffffffffff811115610b8b57610b8b610820565b610b9f81610b998454610acd565b84610b20565b602080601f831160018114610bf25760008415610bbc5750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b178555610b68565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b82811015610c3f57888601518255948401946001909101908401610c20565b5085821015610c7b57878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b600060208284031215610c9d57600080fd5b815161058c816109fe565b600060208284031215610cba57600080fd5b5051919050565b600060208284031215610cd357600080fd5b815167ffffffffffffffff811115610cea57600080fd5b8201601f81018413610cfb57600080fd5b8051610d0961092c8261089e565b818152856020838501011115610d1e57600080fd5b610d2f826020830160208601610964565b95945050505050565b6000808354610d4681610acd565b60018281168015610d5e5760018114610d9157610dc0565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0084168752821515830287019450610dc0565b8760005260208060002060005b85811015610db75781548a820152908401908201610d9e565b50505082870194505b50929695505050505050565b60008251610dde818460208701610964565b919091019291505056fea164736f6c6343000817000a", + "nonce": "0x2", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0x25cb153d2c598a0e43a49a5e7ee562bde2e3c8381405486ed493c44ba923b0fa", + "transactionIndex": "0x7", + "blockHash": "0x24f4a228c714407afe9c74a8eb1ccfff1e6c74a97124467de416e196aa7ab88d", + "blockNumber": "0x9e0ce6", + "from": "0xb72276D9FF15c7998b9962FFCfB21A6C7249441B", + "to": null, + "cumulativeGasUsed": "0xb66bec", + "gasUsed": "0x4ca2c1", + "contractAddress": "0x3f3DAB3ab8cEc2FBd06767c2A5F66Cb6BFF21A4A", + "logs": [ + { + "address": "0x3f3DAB3ab8cEc2FBd06767c2A5F66Cb6BFF21A4A", + "topics": [ + "0xc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2" + ], + "data": "0x000000000000000000000000000000000000000000000000ffffffffffffffff", + "blockHash": "0x24f4a228c714407afe9c74a8eb1ccfff1e6c74a97124467de416e196aa7ab88d", + "blockNumber": "0x9e0ce6", + "transactionHash": "0x25cb153d2c598a0e43a49a5e7ee562bde2e3c8381405486ed493c44ba923b0fa", + "transactionIndex": "0x7", + "logIndex": "0x1d", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000800000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e0c" + }, + { + "transactionHash": "0x3c7c00dac5543a64b72ea9e7a41c7e69e042ade35e52a14bcc4fa2cc083df56d", + "transactionIndex": "0x8", + "blockHash": "0x24f4a228c714407afe9c74a8eb1ccfff1e6c74a97124467de416e196aa7ab88d", + "blockNumber": "0x9e0ce6", + "from": "0xb72276D9FF15c7998b9962FFCfB21A6C7249441B", + "to": null, + "cumulativeGasUsed": "0xc0175c", + "gasUsed": "0x9ab70", + "contractAddress": "0xFBE17545dffD75A92A5A72926AE581478973FE65", + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e0c" + }, + { + "transactionHash": "0xbae9f17fb3a4c1378cc66973b1e2182c27810d27ca5d390810af0ce10c61529e", + "transactionIndex": "0x9", + "blockHash": "0x24f4a228c714407afe9c74a8eb1ccfff1e6c74a97124467de416e196aa7ab88d", + "blockNumber": "0x9e0ce6", + "from": "0xb72276D9FF15c7998b9962FFCfB21A6C7249441B", + "to": null, + "cumulativeGasUsed": "0xcd0905", + "gasUsed": "0xcf1a9", + "contractAddress": "0x088C268cb00226D6A9b29e5488905Aa94D2f0239", + "logs": [ + { + "address": "0x088C268cb00226D6A9b29e5488905Aa94D2f0239", + "topics": [ + "0xc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2" + ], + "data": "0x000000000000000000000000000000000000000000000000ffffffffffffffff", + "blockHash": "0x24f4a228c714407afe9c74a8eb1ccfff1e6c74a97124467de416e196aa7ab88d", + "blockNumber": "0x9e0ce6", + "transactionHash": "0xbae9f17fb3a4c1378cc66973b1e2182c27810d27ca5d390810af0ce10c61529e", + "transactionIndex": "0x9", + "logIndex": "0x1e", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000800000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000008000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e0c" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1704991312, + "chain": 5, + "multi": false, + "commit": "688208a" +} \ No newline at end of file diff --git a/broadcast/DeployLlamaTokenVotingFactory.s.sol/5/run-1704991380.json b/broadcast/DeployLlamaTokenVotingFactory.s.sol/5/run-1704991380.json new file mode 100644 index 0000000..09d9add --- /dev/null +++ b/broadcast/DeployLlamaTokenVotingFactory.s.sol/5/run-1704991380.json @@ -0,0 +1,148 @@ +{ + "transactions": [ + { + "hash": "0x25cb153d2c598a0e43a49a5e7ee562bde2e3c8381405486ed493c44ba923b0fa", + "transactionType": "CREATE", + "contractName": "LlamaTokenGovernor", + "contractAddress": "0x3f3DAB3ab8cEc2FBd06767c2A5F66Cb6BFF21A4A", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0xb72276d9ff15c7998b9962ffcfb21a6c7249441b", + "gas": "0x6398ff", + "value": "0x0", + "data": "0x60806040523480156200001157600080fd5b506200001c62000022565b620000d6565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff1615620000735760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b0390811614620000d35780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b6159f880620000e66000396000f3fe608060405234801561001057600080fd5b50600436106101da5760003560e01c80637e4a56bb11610104578063b92cdd9a116100a2578063cae3bdff11610071578063cae3bdff1461053d578063dcae21b714610552578063e45061ea14610565578063e5589b9d1461057857600080fd5b8063b92cdd9a146104e4578063b9b2cf6c146104f7578063c193c2691461050a578063c26c12eb1461053557600080fd5b80638734852a116100de5780638734852a1461049857806396ff6e2e146104ab578063a1d9b412146104be578063b3c678b0146104d157600080fd5b80637e4a56bb1461046a5780637ed7238e14610472578063807ad1141461048557600080fd5b80633fed8f161161017c57806359e5332d1161014b57806359e5332d1461036457806364f6b3161461037b5780637186dd9c1461038e57806374f717cd1461044757600080fd5b80633fed8f16146103165780634d61ebf4146103365780634ec0ab1c1461033e578063509c5fbd1461035157600080fd5b806319a39740116101b857806319a397401461025b5780631e127ddf1461026e578063372fa8e8146102c25780633df91222146102d557600080fd5b80630669b1ce146101df57806311f900b5146101f45780631650080714610227575b600080fd5b6101f26101ed366004614a11565b61058b565b005b610207610202366004614a46565b610b79565b6040805161ffff9384168152929091166020830152015b60405180910390f35b61023a610235366004614ac0565b610b90565b6040516fffffffffffffffffffffffffffffffff909116815260200161021e565b6101f2610269366004614a46565b610baa565b6101f261027c366004614b82565b3360009081526007602090815260408083207fffffffff000000000000000000000000000000000000000000000000000000009490941683529290522080546001019055565b6101f26102d0366004614bbd565b610c75565b6102fe6102e3366004614a46565b6005602052600090815260409020546001600160a01b031681565b6040516001600160a01b03909116815260200161021e565b610329610324366004614c31565b610d76565b60405161021e9190614c53565b610207610f4e565b6101f261034c366004614ce2565b610f63565b61023a61035f366004614ac0565b611030565b61036d60025481565b60405190815260200161021e565b6000546102fe906001600160a01b031681565b6103fc61039c366004614a46565b6006602052600090815260409020805460018201546002909201546fffffffffffffffffffffffffffffffff8083169370010000000000000000000000000000000093849004821693818316939181900483169282811692919091041686565b604080516fffffffffffffffffffffffffffffffff978816815295871660208701529386169385019390935290841660608401528316608083015290911660a082015260c00161021e565b61045a610455366004614d23565b611040565b604051901515815260200161021e565b6103296110a9565b61036d610480366004614ea9565b61114c565b6001546102fe906001600160a01b031681565b6101f26104a6366004614f88565b611263565b61023a6104b9366004615066565b6114b5565b61023a6104cc366004615066565b6115c6565b61036d6104df366004615131565b6116c7565b6101f26104f2366004614a11565b61171c565b6101f2610505366004614ce2565b611726565b61036d6105183660046151e2565b600760209081526000928352604080842090915290825290205481565b6102076117ef565b6105456117fc565b60405161021e919061520e565b610545610560366004614c31565b61188f565b6101f2610573366004614a11565b611a4d565b610207610586366004614a46565b612026565b600080546040517fb6e76873000000000000000000000000000000000000000000000000000000008152833560048201526001600160a01b039091169063b6e768739060240161012060405180830381865afa1580156105ef573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061061391906152c8565b9050600060018260a0015161062891906153a6565b67ffffffffffffffff169050600160009054906101000a90046001600160a01b03166001600160a01b031663ae2a6df26040518163ffffffff1660e01b815260040160006040518083038186803b15801561068257600080fd5b505afa158015610696573d6000803e3d6000fd5b505050506000806000806106b485600461203490919063ffffffff16565b909250905060006106cb6080890160608a016153ce565b6001600160a01b031663b02bd9206040518163ffffffff1660e01b8152600401602060405180830381865afa158015610708573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061072c91906153eb565b67ffffffffffffffff16905061271061ffff8416820204818860c0015167ffffffffffffffff16030194506127108261ffff1682028161076e5761076e615406565b04850193508342116107ac576040517f038d8a6a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8660c0015167ffffffffffffffff1642106107f3576040517f08c8d62700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050843560009081526006602052604080822060015491517fcdfda4dd000000000000000000000000000000000000000000000000000000008152600481018690529092916001600160a01b03169063edb8ee5a90829063cdfda4dd90602401602060405180830381865afa158015610871573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108959190615435565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b16815265ffffffffffff9091166004820152602401602060405180830381865afa1580156108f0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610914919061545d565b600183015460028401549192506fffffffffffffffffffffffffffffffff7001000000000000000000000000000000009182900481169291820481169116600061095f60038a6121cd565b9150506000610975868361ffff166127106122d8565b905080856fffffffffffffffffffffffffffffffff1610156109e3576040517fbfb9aa550000000000000000000000000000000000000000000000000000000081526fffffffffffffffffffffffffffffffff86166004820152602481018290526044015b60405180910390fd5b836fffffffffffffffffffffffffffffffff16856fffffffffffffffffffffffffffffffff1611610a5c576040517f8a0df63f0000000000000000000000000000000000000000000000000000000081526fffffffffffffffffffffffffffffffff8087166004830152851660248201526044016109da565b6000610a7b8d6060016020810190610a7491906153ce565b600061231c565b905060008054906101000a90046001600160a01b03166001600160a01b03166394004706828f6040518363ffffffff1660e01b8152600401610abe9291906155b2565b6020604051808303816000875af1158015610add573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b0191906155e8565b50604080518e3581526fffffffffffffffffffffffffffffffff808916602083015280881692820192909252908516606082015260ff82169033907ff5bc433f16cc3d0e9fcb5ac4f8de9f17eb90de1fd2a9ede5952c2097d4ef1a59906080015b60405180910390a350505050505050505050505050565b600080610b87600484612034565b91509150915091565b6000610ba0338787878787612612565b9695505050505050565b60008054906101000a90046001600160a01b03166001600160a01b031663c34c08e56040518163ffffffff1660e01b8152600401602060405180830381865afa158015610bfb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c1f9190615603565b6001600160a01b0316336001600160a01b031614610c69576040517f26bee1ce00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610c7281612c5e565b50565b6000610c818686612e2e565b6040805160008082526020820180845284905260ff88169282019290925260608101869052608081018590529192509060019060a0016020604051602081039080840390855afa158015610cd9573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001519150506001600160a01b0381161580610d2c5750866001600160a01b0316816001600160a01b031614155b15610d63576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610d6d8187612f50565b50505050505050565b60408051602081019091526060815281831115610dbf576040517f2cd4dad300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60045480831115610dfc576040517f2cd4dad300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610e088585615620565b905060008167ffffffffffffffff811115610e2557610e25614d65565b604051908082528060200260200182016040528015610e8e57816020015b60408051606081018252600080825260208083018290529282015282527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff909201910181610e435790505b509050855b85811015610f34576004805482908110610eaf57610eaf615633565b600091825260209182902060408051606081018252919092015465ffffffffffff8116825261ffff660100000000000082048116948301949094526801000000000000000090049092169082015282610f088984615620565b81518110610f1857610f18615633565b6020026020010181905250610f2d8160010190565b9050610e93565b506040805160208101909152908152925050505b92915050565b600080610f5b6004613063565b915091509091565b60008054906101000a90046001600160a01b03166001600160a01b031663c34c08e56040518163ffffffff1660e01b8152600401602060405180830381865afa158015610fb4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fd89190615603565b6001600160a01b0316336001600160a01b031614611022576040517f26bee1ce00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61102c82826130db565b5050565b6000610ba03387878787876131cf565b60008115611077575060008381526006602090815260408083206001600160a01b038616845260030190915290205460ff166110a2565b5060008381526006602090815260408083206001600160a01b038616845260040190915290205460ff165b9392505050565b6040805160208101909152606081526040805160048054602081810284018501855283018181529293919284929091849160009085015b8282101561113f576000848152602090819020604080516060810182529185015465ffffffffffff8116835261ffff660100000000000082048116848601526801000000000000000090910416908201528252600190920191016110e0565b5050505081525050905090565b60008061115f8d8d8d8d8d8d8d8d613714565b6040805160008082526020820180845284905260ff89169282019290925260608101879052608081018690529192509060019060a0016020604051602081039080840390855afa1580156111b7573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001519150506001600160a01b038116158061120a57508d6001600160a01b0316816001600160a01b031614155b15611241576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611251818e8e8e8e8e8e8e613885565b9e9d5050505050505050505050505050565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000810460ff16159067ffffffffffffffff166000811580156112ae5750825b905060008267ffffffffffffffff1660011480156112cb5750303b155b9050811580156112d9575080155b15611310576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b84547fffffffffffffffffffffffffffffffffffffffffffffffff000000000000000016600117855583156113715784547fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff16680100000000000000001785555b886001600160a01b0316639bccfe496040518163ffffffff1660e01b8152600401602060405180830381865afa1580156113af573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113d3919061545d565b50600080546001600160a01b03808c167fffffffffffffffffffffffff00000000000000000000000000000000000000009283161790925560018054928b169290911691909117905561142587612c5e565b611437866000015187602001516130db565b61144986604001518760600151613b89565b83156114aa5784547fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b505050505050505050565b6000806114c68b8b8b8b8b8b613c26565b6040805160008082526020820180845284905260ff89169282019290925260608101879052608081018690529192509060019060a0016020604051602081039080840390855afa15801561151e573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001519150506001600160a01b038116158061157157508b6001600160a01b0316816001600160a01b031614155b156115a8576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6115b6818c8c8c8c8c6131cf565b9c9b505050505050505050505050565b6000806115d78b8b8b8b8b8b613d84565b6040805160008082526020820180845284905260ff89169282019290925260608101879052608081018690529192509060019060a0016020604051602081039080840390855afa15801561162f573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001519150506001600160a01b038116158061168257508b6001600160a01b0316816001600160a01b031614155b156116b9576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6115b6818c8c8c8c8c612612565b600061170f338a8a8a8a8a8a8a8a8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061388592505050565b9998505050505050505050565b610c723382612f50565b60008054906101000a90046001600160a01b03166001600160a01b031663c34c08e56040518163ffffffff1660e01b8152600401602060405180830381865afa158015611777573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061179b9190615603565b6001600160a01b0316336001600160a01b0316146117e5576040517f26bee1ce00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61102c8282613b89565b600080610f5b6003613063565b604080516020810190915260608152604080516003805460208082028401850185528301818152929391928492909184916000908501821561113f576000848152602090819020604080516060810182529185015465ffffffffffff8116835261ffff660100000000000082048116848601526801000000000000000090910416908201528252600190920191016110e0565b604080516020810190915260608152818311156118d8576040517f2cd4dad300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60035480831115611915576040517f2cd4dad300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006119218585615620565b905060008167ffffffffffffffff81111561193e5761193e614d65565b6040519080825280602002602001820160405280156119a757816020015b60408051606081018252600080825260208083018290529282015282527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90920191018161195c5790505b509050855b85811015610f345760038054829081106119c8576119c8615633565b600091825260209182902060408051606081018252919092015465ffffffffffff8116825261ffff660100000000000082048116948301949094526801000000000000000090049092169082015282611a218984615620565b81518110611a3157611a31615633565b6020026020010181905250611a468160010190565b90506119ac565b600080546040517fb6e76873000000000000000000000000000000000000000000000000000000008152833560048201526001600160a01b039091169063b6e768739060240161012060405180830381865afa158015611ab1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ad591906152c8565b9050600060018260a00151611aea91906153a6565b67ffffffffffffffff169050600160009054906101000a90046001600160a01b03166001600160a01b031663ae2a6df26040518163ffffffff1660e01b815260040160006040518083038186803b158015611b4457600080fd5b505afa158015611b58573d6000803e3d6000fd5b50505050600080600080611b7685600461203490919063ffffffff16565b90925090506000611b8d6080890160608a016153ce565b6001600160a01b0316637999762c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611bca573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bee91906153eb565b67ffffffffffffffff16905061271061ffff84168202048760a0015167ffffffffffffffff160194506127108261ffff16820281611c2e57611c2e615406565b0485019350834211611c6c576040517f038d8a6a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b808760a0015167ffffffffffffffff16611c869190615662565b421115611cbf576040517f08c8d62700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050843560009081526006602052604080822060015491517fcdfda4dd000000000000000000000000000000000000000000000000000000008152600481018690529092916001600160a01b03169063edb8ee5a90829063cdfda4dd90602401602060405180830381865afa158015611d3d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d619190615435565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b16815265ffffffffffff9091166004820152602401602060405180830381865afa158015611dbc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611de0919061545d565b825460018401549192506fffffffffffffffffffffffffffffffff808216928116917001000000000000000000000000000000009004166000611e2460038a6121cd565b5090506000611e3a868361ffff166127106122d8565b905080856fffffffffffffffffffffffffffffffff161015611ea3576040517f0425fab10000000000000000000000000000000000000000000000000000000081526fffffffffffffffffffffffffffffffff86166004820152602481018290526044016109da565b836fffffffffffffffffffffffffffffffff16856fffffffffffffffffffffffffffffffff1611611f1c576040517f8a0df63f0000000000000000000000000000000000000000000000000000000081526fffffffffffffffffffffffffffffffff8087166004830152851660248201526044016109da565b6000611f3b8d6060016020810190611f3491906153ce565b600161231c565b905060008054906101000a90046001600160a01b03166001600160a01b03166389e7d126828f6040518363ffffffff1660e01b8152600401611f7e9291906155b2565b6020604051808303816000875af1158015611f9d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fc191906155e8565b50604080518e3581526fffffffffffffffffffffffffffffffff808916602083015280881692820192909252908516606082015260ff82169033907ff23279e924757f3bfe4f543bc1b43685e851d6ace53f8518b806dcd8d42fc13990608001610b62565b600080610b876003846121cd565b6000804283106120c6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f506572696f64506374436865636b706f696e74733a2074696d657374616d702060448201527f6973206e6f7420696e207468652070617374000000000000000000000000000060648201526084016109da565b60006120d184613db3565b855490915060008160058111156121315760006120ed84613dfc565b6120f79085615620565b60008a81526020902090915081015465ffffffffffff90811690861610156121215780915061212f565b61212c816001615662565b92505b505b600061213f89868585613eae565b90508060000361215a576000809650965050505050506121c6565b60006121798a61216b600185615620565b600091825260209091200190565b60408051606081018252915465ffffffffffff8116835261ffff66010000000000008204811660208501819052680100000000000000009092041692909101829052985096505050505050505b9250929050565b60008042831061225f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602f60248201527f51756f72756d436865636b706f696e74733a2074696d657374616d702069732060448201527f6e6f7420696e207468652070617374000000000000000000000000000000000060648201526084016109da565b600061226a84613db3565b855490915060008160058111156122ca57600061228684613dfc565b6122909085615620565b60008a81526020902090915081015465ffffffffffff90811690861610156122ba578091506122c8565b6122c5816001615662565b92505b505b600061213f89868585613f10565b6000827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048411830215820261230d57600080fd5b50910281810615159190040190565b60008054604080517f0505c8c9000000000000000000000000000000000000000000000000000000008152905183926001600160a01b031691630505c8c99160048083019260209291908290030181865afa15801561237f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123a39190615603565b6001600160a01b0316638b2ed3886040518163ffffffff1660e01b8152600401602060405180830381865afa1580156123e0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124049190615675565b905060015b8160ff16811161253b57836124a1576040517fc167ebae00000000000000000000000000000000000000000000000000000000815260ff821660048201526001600160a01b0386169063c167ebae90602401602060405180830381865afa158015612478573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061249c9190615692565b612525565b6040517ffb847c4300000000000000000000000000000000000000000000000000000000815260ff821660048201526001600160a01b0386169063fb847c4390602401602060405180830381865afa158015612501573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125259190615692565b15612533579150610f489050565b600101612409565b50826125a857836001600160a01b03166312a52f006040518163ffffffff1660e01b8152600401602060405180830381865afa15801561257f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125a39190615675565b61260a565b836001600160a01b03166366cacdc96040518163ffffffff1660e01b8152600401602060405180830381865afa1580156125e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061260a9190615675565b949350505050565b600080546040517fb6e768730000000000000000000000000000000000000000000000000000000081528635600482015282916001600160a01b03169063b6e768739060240161012060405180830381865afa158015612676573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061269a91906152c8565b9050600060018260a001516126af91906153a6565b8735600090815260066020526040902067ffffffffffffffff9190911691506126de6080890160608a016153ce565b6001600160a01b03166302674e4b89308c6040518463ffffffff1660e01b815260040161270d939291906156af565b60006040518083038186803b15801561272557600080fd5b505afa158015612739573d6000803e3d6000fd5b505050506001600160a01b038a16600090815260048201602052604090205460ff1615612792576040517f9dd6544b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6127a0888a89600486613f6a565b60008080806127b0600487612034565b909250905060006127c760808e0160608f016153ce565b6001600160a01b031663b02bd9206040518163ffffffff1660e01b8152600401602060405180830381865afa158015612804573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061282891906153eb565b67ffffffffffffffff16905061271061ffff8416820204818960c0015167ffffffffffffffff16030194506127108261ffff1682028161286a5761286a615406565b04850193508442116128a8576040517fd0b72b4900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b834211156128e2576040517f5b73d19300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050506000612a25600160009054906101000a90046001600160a01b03166001600160a01b0316639556de738f600160009054906101000a90046001600160a01b03166001600160a01b031663cdfda4dd886040518263ffffffff1660e01b815260040161295291815260200190565b602060405180830381865afa15801561296f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906129939190615435565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b1681526001600160a01b03909216600483015265ffffffffffff166024820152604401602060405180830381865afa1580156129fc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a20919061545d565b61425e565b905060ff8a16612a9e576002840154612a649070010000000000000000000000000000000090046fffffffffffffffffffffffffffffffff16826142ad565b6002850180546fffffffffffffffffffffffffffffffff928316700100000000000000000000000000000000029216919091179055612bc6565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60ff8b1601612b37576001840154612afd9070010000000000000000000000000000000090046fffffffffffffffffffffffffffffffff16826142ad565b6001850180546fffffffffffffffffffffffffffffffff928316700100000000000000000000000000000000029216919091179055612bc6565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe60ff8b1601612bc6576002840154612b82906fffffffffffffffffffffffffffffffff16826142ad565b6002850180547fffffffffffffffffffffffffffffffff00000000000000000000000000000000166fffffffffffffffffffffffffffffffff929092169190911790555b6001600160a01b038d1660008181526004860160205260409081902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790555160ff8c1691907f4e3e2ad68670a2709cb408c31c5afd8da0b6d3d06c75b11feb404a455639fe7c90612c46908f359086908f908f90615713565b60405180910390a39c9b505050505050505050505050565b60018054604080517f91ddadf400000000000000000000000000000000000000000000000000000000815290516000936001600160a01b039093169263edb8ee5a92909184916391ddadf49160048083019260209291908290030181865afa158015612cce573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612cf29190615435565b612cfc9190615745565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b16815265ffffffffffff9091166004820152602401602060405180830381865afa158015612d57573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612d7b919061545d565b905080600003612db7576040517f34bbd58500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80821115612df1576040517f8a5e746800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60028290556040518281527fd91a985c173545ab0e0bd11c021a1ae84c1ea6eab9350d9bf3812d5b8bff49a4906020015b60405180910390a15050565b6000807f6da9390b4f29da2c44fa5a9da00b392393d01e989d16e4a3dec5a538318e352584612e5c856142f4565b6001600160a01b03871660009081526007602090815260408083207fffffffff00000000000000000000000000000000000000000000000000000000843516845290915290208054600181019091556040805160208101959095526001600160a01b03909316928401929092526060830152608082015260a001604051602081830303815290604052805190602001209050612ef66143eb565b6040517f190100000000000000000000000000000000000000000000000000000000000060208201526022810191909152604281018290526062016040516020818303038152906040528051906020012091505092915050565b80356000908152600560205260409020546001600160a01b03838116911614612fa5576040517f86ba025600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000546040517fb92cdd9a0000000000000000000000000000000000000000000000000000000081526001600160a01b039091169063b92cdd9a90612fee908490600401615764565b600060405180830381600087803b15801561300857600080fd5b505af115801561301c573d6000803e3d6000fd5b5050604051833581526001600160a01b03851692507fdcccc5725b7256a6975da00de8953e5d326756a3079d203ff6df9e52331f411a915060200160405180910390a25050565b8054600090819080820361307d5750600093849350915050565b600061308e8561216b600185615620565b60408051606081018252915465ffffffffffff8116835261ffff66010000000000008204811660208501819052680100000000000000009092041692909101829052969095509350505050565b6127108261ffff1611806130f1575061ffff8216155b1561312e576040517f8f6febc000000000000000000000000000000000000000000000000000000000815261ffff831660048201526024016109da565b6127108161ffff161180613144575061ffff8116155b15613181576040517f3bec511c00000000000000000000000000000000000000000000000000000000815261ffff821660048201526024016109da565b613194600361ffff80851690841661454d565b6040805161ffff8085168252831660208201527f77c3f43700db02acb49792bbf699b39f72c2ed4b920bd5c0b1843dcd7c832f4c9101612e22565b600080546040517fb6e768730000000000000000000000000000000000000000000000000000000081528635600482015282916001600160a01b03169063b6e768739060240161012060405180830381865afa158015613233573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061325791906152c8565b9050600060018260a0015161326c91906153a6565b8735600090815260066020526040902067ffffffffffffffff91909116915061329b6080890160608a016153ce565b6001600160a01b0316631a2a4e7789308c6040518463ffffffff1660e01b81526004016132ca939291906156af565b60006040518083038186803b1580156132e257600080fd5b505afa1580156132f6573d6000803e3d6000fd5b505050506001600160a01b038a16600090815260038201602052604090205460ff161561334f576040517f9dd6544b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61335d888a89600086613f6a565b600080808061336d600487612034565b9092509050600061338460808e0160608f016153ce565b6001600160a01b0316637999762c6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156133c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906133e591906153eb565b67ffffffffffffffff16905061271061ffff84168202048860a0015167ffffffffffffffff160194506127108261ffff1682028161342557613425615406565b0485019350844211613463576040517fd0b72b4900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8342111561349d576040517f5b73d19300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050600061350d600160009054906101000a90046001600160a01b03166001600160a01b0316639556de738f600160009054906101000a90046001600160a01b03166001600160a01b031663cdfda4dd886040518263ffffffff1660e01b815260040161295291815260200190565b905060ff8a16613580576001840154613538906fffffffffffffffffffffffffffffffff16826142ad565b6001850180547fffffffffffffffffffffffffffffffff00000000000000000000000000000000166fffffffffffffffffffffffffffffffff92909216919091179055613694565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60ff8b16016136095783546135c8906fffffffffffffffffffffffffffffffff16826142ad565b84547fffffffffffffffffffffffffffffffff00000000000000000000000000000000166fffffffffffffffffffffffffffffffff91909116178455613694565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe60ff8b16016136945783546136659070010000000000000000000000000000000090046fffffffffffffffffffffffffffffffff16826142ad565b84546fffffffffffffffffffffffffffffffff9182167001000000000000000000000000000000000291161784555b6001600160a01b038d1660008181526003860160205260409081902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790555160ff8c1691907f761cce3a1af5d9cfc0d57222f605ce4bd2be345f0ad9ebb7b83a84a91a0c201490612c46908f359086908f908f90615713565b6001600160a01b03881660009081526007602090815260408083207fffffffff000000000000000000000000000000000000000000000000000000008435168452909152812080546001810190915560007fd1fab1c7b3b37134662e5867b00e272eb49f7be0a890df29e802c3cc66c06f838b8b8b8b8b8b8b60405161379b929190615777565b604080519182900382208c516020808f0191909120908401999099526001600160a01b039788169183019190915260ff90951660608201529285166080840152931660a082015260c081019290925260e08201526101008101919091526101208101839052610140016040516020818303038152906040528051906020012090506138246143eb565b6040517f19010000000000000000000000000000000000000000000000000000000000006020820152602281019190915260428101829052606201604051602081830303815290604052805190602001209250505098975050505050505050565b600154604080517fae2a6df200000000000000000000000000000000000000000000000000000000815290516000926001600160a01b03169163ae2a6df29160048083019286929190829003018186803b1580156138e257600080fd5b505afa1580156138f6573d6000803e3d6000fd5b505060018054604080517f91ddadf40000000000000000000000000000000000000000000000000000000081529051600095506001600160a01b039092169350639556de73928e92909185916391ddadf4916004808201926020929091908290030181865afa15801561396d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906139919190615435565b61399b9190615745565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b1681526001600160a01b03909216600483015265ffffffffffff166024820152604401602060405180830381865afa158015613a04573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613a28919061545d565b9050600254811015613a69576040517f92665351000000000000000000000000000000000000000000000000000000008152600481018290526024016109da565b6000546040517fb3c678b00000000000000000000000000000000000000000000000000000000081526001600160a01b039091169063b3c678b090613abe908c908c908c908c908c908c908c906004016157ab565b6020604051808303816000875af1158015613add573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613b01919061545d565b60008181526005602090815260409182902080547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b038f16908117909155915183815292945090917f1834dfd49255741a8ce9a9bd66b91b64d13622e1d8170e4c78ac91f9ec50a542910160405180910390a25098975050505050505050565b612710613b96828461583b565b61ffff1610613bdf576040517f519dd38400000000000000000000000000000000000000000000000000000000815261ffff8084166004830152821660248201526044016109da565b613beb60048383614576565b6040805161ffff8085168252831660208201527f8df7bdcce333d9e1b85e40782fb2f293c805761d3f48aaea58865e9541e44c709101612e22565b6000807fd7be168a3509af358f222ee35ee76aba47bc5fc2c35061cdce3958f510b7b1b28888613c55896142f4565b888888604051613c66929190615777565b60408051918290039091206001600160a01b038f166000908152600760209081528382207fffffffff0000000000000000000000000000000000000000000000000000000083351683529052919091208054600181019091556040805160208101989098526001600160a01b039096169587019590955260ff938416606087015260808601929092529190911660a084015260c083015260e082015261010001604051602081830303815290604052805190602001209050613d266143eb565b6040517f19010000000000000000000000000000000000000000000000000000000000006020820152602281019190915260428101829052606201604051602081830303815290604052805190602001209150509695505050505050565b6000807fa87058c5a9888e7af4405a932381d5a4612c61354bc3e52e9ea361ba17703fb38888613c55896142f4565b600065ffffffffffff821115613df8576040517fc0188c4f000000000000000000000000000000000000000000000000000000008152600481018390526024016109da565b5090565b60b581710100000000000000000000000000000000008110613e235760409190911b9060801c5b69010000000000000000008110613e3f5760209190911b9060401c5b650100000000008110613e575760109190911b9060201c5b63010000008110613e6d5760089190911b9060101c5b62010000010260121c80820401600190811c80830401811c80830401811c80830401811c80830401811c80830401811c80830401901c908190048111900390565b60005b81831015613f08576000613ec584846145a2565b60008781526020902090915065ffffffffffff86169082015465ffffffffffff161115613ef457809250613f02565b613eff816001615662565b93505b50613eb1565b509392505050565b60005b81831015613f08576000613f2784846145a2565b60008781526020902090915065ffffffffffff86169082015465ffffffffffff161115613f5657809250613f64565b613f61816001615662565b93505b50613f13565b600260ff84161115613fad576040517ffe0e5d8b00000000000000000000000000000000000000000000000000000000815260ff841660048201526024016109da565b600080546040517fec12d8be0000000000000000000000000000000000000000000000000000000081526001600160a01b039091169063ec12d8be90613ff7908990600401615764565b602060405180830381865afa158015614014573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906140389190615675565b60ff16600681111561404c5761404c6156e4565b9050826006811115614060576140606156e4565b816006811115614072576140726156e4565b146140ab57806040517f87afe58e0000000000000000000000000000000000000000000000000000000081526004016109da9190615856565b60008060009054906101000a90046001600160a01b03166001600160a01b0316630505c8c96040518163ffffffff1660e01b8152600401602060405180830381865afa1580156140ff573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906141239190615603565b6040517fe0bec07600000000000000000000000000000000000000000000000000000000815230600482015260ff88166024820152604481018590526001600160a01b03919091169063e0bec07690606401602060405180830381865afa158015614192573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906141b69190615692565b9050806141ef576040517f88aebd1200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600160009054906101000a90046001600160a01b03166001600160a01b031663ae2a6df26040518163ffffffff1660e01b815260040160006040518083038186803b15801561423d57600080fd5b505afa158015614251573d6000803e3d6000fd5b5050505050505050505050565b60006fffffffffffffffffffffffffffffffff821115613df8576040517fc0188c4f000000000000000000000000000000000000000000000000000000008152600481018390526024016109da565b60006fffffffffffffffffffffffffffffffff6142ce838216858316615662565b106142ea57506fffffffffffffffffffffffffffffffff610f48565b6110a28284615897565b60007f86b4555c6e347ea3f038485b59b894986c208b67da7e65fcfa3707271608465f823561432960408501602086016153ce565b61433960608601604087016158c0565b61434960808701606088016153ce565b61435960a08801608089016153ce565b60a088013561436b60c08a018a6158dd565b604051614379929190615777565b6040805191829003822060208301999099528101969096526001600160a01b03948516606087015260ff909316608086015290831660a08501529190911660c083015260e082015261010081019190915261012001604051602081830303815290604052805190602001209050919050565b60008054604080517f06fdde0300000000000000000000000000000000000000000000000000000000815290517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f926001600160a01b0316916306fdde0391600480830192879291908290030181865afa15801561446d573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526144b39190810190615942565b8051602091820120604080518082018252600181527f310000000000000000000000000000000000000000000000000000000000000090840152805192830193909352918101919091527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a082015260c00160405160208183030381529060405280519060200120905090565b6145718361455a42613db3565b614563856145bd565b61456c856145bd565b6145fe565b505050565b6145718361458342613db3565b6145908561ffff166145bd565b61459d8561ffff166145bd565b614909565b60006145b160028484186159b0565b6110a290848416615662565b600061ffff821115613df8576040517fc0188c4f000000000000000000000000000000000000000000000000000000008152600481018390526024016109da565b835480156148475760006146178661216b600185615620565b60408051606081018252915465ffffffffffff80821680855261ffff66010000000000008404811660208701526801000000000000000090930490921692840192909252919250861610156146ed576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f51756f72756d20436865636b706f696e743a20696e76616c69642074696d657360448201527f74616d700000000000000000000000000000000000000000000000000000000060648201526084016109da565b805165ffffffffffff8087169116036147865760006147118761216b600186615620565b805461ffff86811668010000000000000000027fffffffffffffffffffffffffffffffffffffffffffff0000ffffffffffffffff918916660100000000000002919091167fffffffffffffffffffffffffffffffffffffffffffff00000000ffffffffffff9092169190911717905550614841565b6040805160608101825265ffffffffffff808816825261ffff80881660208085019182528883169585019586528b54600181018d5560008d81529190912094519401805491519551831668010000000000000000027fffffffffffffffffffffffffffffffffffffffffffff0000ffffffffffffffff969093166601000000000000027fffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000909216949093169390931792909217929092161790555b50614902565b6040805160608101825265ffffffffffff808716825261ffff80871660208085019182528783169585019586528a54600181018c5560008c81529190912094519401805491519551831668010000000000000000027fffffffffffffffffffffffffffffffffffffffffffff0000ffffffffffffffff969093166601000000000000027fffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000909216949093169390931792909217929092161790555b5050505050565b835480156148475760006149228661216b600185615620565b60408051606081018252915465ffffffffffff80821680855261ffff66010000000000008404811660208701526801000000000000000090930490921692840192909252919250861610156146ed576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602860248201527f506572696f642050637420436865636b706f696e743a20696e76616c6964207460448201527f696d657374616d7000000000000000000000000000000000000000000000000060648201526084016109da565b600060e08284031215614a0b57600080fd5b50919050565b600060208284031215614a2357600080fd5b813567ffffffffffffffff811115614a3a57600080fd5b61260a848285016149f9565b600060208284031215614a5857600080fd5b5035919050565b60ff81168114610c7257600080fd5b8035614a7981614a5f565b919050565b60008083601f840112614a9057600080fd5b50813567ffffffffffffffff811115614aa857600080fd5b6020830191508360208285010111156121c657600080fd5b600080600080600060808688031215614ad857600080fd5b8535614ae381614a5f565b9450602086013567ffffffffffffffff80821115614b0057600080fd5b614b0c89838a016149f9565b955060408801359150614b1e82614a5f565b90935060608701359080821115614b3457600080fd5b50614b4188828901614a7e565b969995985093965092949392505050565b80357fffffffff0000000000000000000000000000000000000000000000000000000081168114614a7957600080fd5b600060208284031215614b9457600080fd5b6110a282614b52565b6001600160a01b0381168114610c7257600080fd5b8035614a7981614b9d565b600080600080600060a08688031215614bd557600080fd5b8535614be081614b9d565b9450602086013567ffffffffffffffff811115614bfc57600080fd5b614c08888289016149f9565b9450506040860135614c1981614a5f565b94979396509394606081013594506080013592915050565b60008060408385031215614c4457600080fd5b50508035926020909101359150565b60208082528251828201829052805160408401819052600092916060919083019082860190855b81811015614cc357614cb3838551805165ffffffffffff16825260208082015161ffff9081169184019190915260409182015116910152565b9285019291840191600101614c7a565b5090979650505050505050565b803561ffff81168114614a7957600080fd5b60008060408385031215614cf557600080fd5b614cfe83614cd0565b9150614d0c60208401614cd0565b90509250929050565b8015158114610c7257600080fd5b600080600060608486031215614d3857600080fd5b833592506020840135614d4a81614b9d565b91506040840135614d5a81614d15565b809150509250925092565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051610120810167ffffffffffffffff81118282101715614db857614db8614d65565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715614e0557614e05614d65565b604052919050565b600067ffffffffffffffff821115614e2757614e27614d65565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b600082601f830112614e6457600080fd5b8135614e77614e7282614e0d565b614dbe565b818152846020838601011115614e8c57600080fd5b816020850160208301376000918101602001919091529392505050565b60008060008060008060008060008060006101408c8e031215614ecb57600080fd5b614ed48c614bb2565b9a50614ee260208d01614a6e565b9950614ef060408d01614bb2565b9850614efe60608d01614bb2565b975060808c0135965067ffffffffffffffff8060a08e01351115614f2157600080fd5b614f318e60a08f01358f01614a7e565b909750955060c08d0135811015614f4757600080fd5b50614f588d60c08e01358e01614e53565b9350614f6660e08d01614a6e565b92506101008c013591506101208c013590509295989b509295989b9093969950565b60008060008084860360e0811215614f9f57600080fd5b8535614faa81614b9d565b94506020860135614fba81614b9d565b93506040860135925060807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa082011215614ff357600080fd5b506040516080810181811067ffffffffffffffff8211171561501757615017614d65565b60405261502660608701614cd0565b815261503460808701614cd0565b602082015261504560a08701614cd0565b604082015261505660c08701614cd0565b6060820152939692955090935050565b60008060008060008060008060006101008a8c03121561508557600080fd5b893561509081614b9d565b985060208a01356150a081614a5f565b975060408a013567ffffffffffffffff808211156150bd57600080fd5b6150c98d838e016149f9565b985060608c013591506150db82614a5f565b90965060808b013590808211156150f157600080fd5b506150fe8c828d01614a7e565b90965094505060a08a013561511281614a5f565b8093505060c08a0135915060e08a013590509295985092959850929598565b60008060008060008060008060c0898b03121561514d57600080fd5b883561515881614a5f565b9750602089013561516881614b9d565b9650604089013561517881614b9d565b955060608901359450608089013567ffffffffffffffff8082111561519c57600080fd5b6151a88c838d01614a7e565b909650945060a08b01359150808211156151c157600080fd5b506151ce8b828c01614a7e565b999c989b5096995094979396929594505050565b600080604083850312156151f557600080fd5b823561520081614b9d565b9150614d0c60208401614b52565b60208082528251828201829052805160408401819052600092916060919083019082860190855b81811015614cc35761526e838551805165ffffffffffff16825260208082015161ffff9081169184019190915260409182015116910152565b9285019291840191600101615235565b8051614a7981614d15565b8051614a7981614b9d565b805167ffffffffffffffff81168114614a7957600080fd5b80516bffffffffffffffffffffffff81168114614a7957600080fd5b600061012082840312156152db57600080fd5b6152e3614d94565b825181526152f36020840161527e565b60208201526153046040840161527e565b60408201526153156060840161527e565b606082015261532660808401615289565b608082015261533760a08401615294565b60a082015261534860c08401615294565b60c082015261535960e084016152ac565b60e082015261010061536c8185016152ac565b908201529392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b67ffffffffffffffff8281168282160390808211156153c7576153c7615377565b5092915050565b6000602082840312156153e057600080fd5b81356110a281614b9d565b6000602082840312156153fd57600080fd5b6110a282615294565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006020828403121561544757600080fd5b815165ffffffffffff811681146110a257600080fd5b60006020828403121561546f57600080fd5b5051919050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b80358252600060208201356154d381614b9d565b6001600160a01b0390811660208501526040830135906154f282614a5f565b60ff821660408601526060840135915061550b82614b9d565b908116606085015260808301359061552282614b9d565b16608084015260a0828101359084015260c0820135368390037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe101811261556857600080fd5b820160208101903567ffffffffffffffff81111561558557600080fd5b80360382131561559457600080fd5b60e060c08601526155a960e086018284615476565b95945050505050565b60ff831681526060602082015260006155ce60608301846154bf565b828103604084015260008152602081019150509392505050565b6000602082840312156155fa57600080fd5b6110a2826152ac565b60006020828403121561561557600080fd5b81516110a281614b9d565b81810381811115610f4857610f48615377565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b80820180821115610f4857610f48615377565b60006020828403121561568757600080fd5b81516110a281614a5f565b6000602082840312156156a457600080fd5b81516110a281614d15565b6060815260006156c260608301866154bf565b90506001600160a01b038416602083015260ff83166040830152949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b8481526fffffffffffffffffffffffffffffffff84166020820152606060408201526000610ba0606083018486615476565b65ffffffffffff8281168282160390808211156153c7576153c7615377565b6020815260006110a260208301846154bf565b8183823760009101908152919050565b60005b838110156157a257818101518382015260200161578a565b50506000910152565b60ff8816815260006001600160a01b03808916602084015280881660408401525085606083015260c060808301526157e760c083018587615476565b82810360a08401528351808252615805816020840160208801615787565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016016020019998505050505050505050565b61ffff8181168382160190808211156153c7576153c7615377565b6020810160078310615891577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b91905290565b6fffffffffffffffffffffffffffffffff8181168382160190808211156153c7576153c7615377565b6000602082840312156158d257600080fd5b81356110a281614a5f565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261591257600080fd5b83018035915067ffffffffffffffff82111561592d57600080fd5b6020019150368190038213156121c657600080fd5b60006020828403121561595457600080fd5b815167ffffffffffffffff81111561596b57600080fd5b8201601f8101841361597c57600080fd5b805161598a614e7282614e0d565b81815285602083850101111561599f57600080fd5b6155a9826020830160208601615787565b6000826159e6577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b50049056fea164736f6c6343000817000a", + "nonce": "0x0", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x3c7c00dac5543a64b72ea9e7a41c7e69e042ade35e52a14bcc4fa2cc083df56d", + "transactionType": "CREATE", + "contractName": "LlamaTokenVotingFactory", + "contractAddress": "0xFBE17545dffD75A92A5A72926AE581478973FE65", + "function": null, + "arguments": [ + "0x3f3DAB3ab8cEc2FBd06767c2A5F66Cb6BFF21A4A" + ], + "transaction": { + "type": "0x02", + "from": "0xb72276d9ff15c7998b9962ffcfb21a6c7249441b", + "gas": "0xc9127", + "value": "0x0", + "data": "0x60a060405234801561001057600080fd5b50604051610b16380380610b1683398101604081905261002f91610040565b6001600160a01b0316608052610070565b60006020828403121561005257600080fd5b81516001600160a01b038116811461006957600080fd5b9392505050565b608051610a8561009160003960008181604001526104390152610a856000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c806321618ea41461003b5780633ec857a51461008b575b600080fd5b6100627f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b61006261009936600461087b565b600080338360000151846040015185606001516040516020016100bf9493929190610959565b60405160208183030381529060405280519060200120905060006100e7846020015183610622565b60408086015190517f439fab9100000000000000000000000000000000000000000000000000000000815291925073ffffffffffffffffffffffffffffffffffffffff83169163439fab919161013f916004016109b9565b6020604051808303816000875af115801561015e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101829190610a0a565b50600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1663fc0c546a6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156101e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061020a9190610a33565b73ffffffffffffffffffffffffffffffffffffffff1603610257576040517f65f5b03400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517fcdfda4dd00000000000000000000000000000000000000000000000000000000815242600482015273ffffffffffffffffffffffffffffffffffffffff82169063cdfda4dd90602401602060405180830381865afa1580156102c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102e59190610a50565b65ffffffffffff16600003610326576040517f65f5b03400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff166391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865afa158015610371573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103959190610a50565b65ffffffffffff166000036103d6576040517f65f5b03400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1663ae2a6df26040518163ffffffff1660e01b815260040160006040518083038186803b15801561041c57600080fd5b505afa158015610430573d6000803e3d6000fd5b5050505061045e7f000000000000000000000000000000000000000000000000000000000000000083610622565b8451608086015160a0870151604080517f8734852a00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff948516600482015286851660248201526044810193909352815161ffff908116606485015260208301518116608485015290820151811660a48401526060909101511660c4820152919450841690638734852a9060e401600060405180830381600087803b15801561051757600080fd5b505af115801561052b573d6000803e3d6000fd5b505050508073ffffffffffffffffffffffffffffffffffffffff1663fc0c546a6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561057a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061059e9190610a33565b84516020808701516060808901516040805173ffffffffffffffffffffffffffffffffffffffff94851681528885169581019590955284015287821690830152466080830152928316929091169033907f4c8bb78cb1c62e64cef39fc4b4a1864d1a331a28c7bd59a67fe969cc8ab715879060a00160405180910390a45050919050565b6000763d602d80600a3d3981f3363d3d373d3d3d363d730000008360601b60e81c176000526e5af43d82803e903d91602b57fd5bf38360781b1760205281603760096000f5905073ffffffffffffffffffffffffffffffffffffffff81166106b6576040517fc2f868f400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405160c0810167ffffffffffffffff8111828210171561070e5761070e6106bc565b60405290565b73ffffffffffffffffffffffffffffffffffffffff8116811461073657600080fd5b50565b600082601f83011261074a57600080fd5b813567ffffffffffffffff80821115610765576107656106bc565b604051601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011681019082821181831017156107ab576107ab6106bc565b816040528381528660208588010111156107c457600080fd5b836020870160208301376000602085830101528094505050505092915050565b803561ffff811681146107f657600080fd5b919050565b60006080828403121561080d57600080fd5b6040516080810181811067ffffffffffffffff82111715610830576108306106bc565b60405290508061083f836107e4565b815261084d602084016107e4565b602082015261085e604084016107e4565b604082015261086f606084016107e4565b60608201525092915050565b60006020828403121561088d57600080fd5b813567ffffffffffffffff808211156108a557600080fd5b9083019061012082860312156108ba57600080fd5b6108c26106eb565b82356108cd81610714565b815260208301356108dd81610714565b60208201526040830135828111156108f457600080fd5b61090087828601610739565b60408301525060608301356060820152608083013560808201526109278660a085016107fb565b60a082015295945050505050565b60005b83811015610950578181015183820152602001610938565b50506000910152565b60007fffffffffffffffffffffffffffffffffffffffff000000000000000000000000808760601b168352808660601b1660148401525083516109a3816028850160208801610935565b6028920191820192909252604801949350505050565b60208152600082518060208401526109d8816040850160208701610935565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169190910160400192915050565b600060208284031215610a1c57600080fd5b81518015158114610a2c57600080fd5b9392505050565b600060208284031215610a4557600080fd5b8151610a2c81610714565b600060208284031215610a6257600080fd5b815165ffffffffffff81168114610a2c57600080fdfea164736f6c6343000817000a0000000000000000000000003f3dab3ab8cec2fbd06767c2a5f66cb6bff21a4a", + "nonce": "0x1", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xbae9f17fb3a4c1378cc66973b1e2182c27810d27ca5d390810af0ce10c61529e", + "transactionType": "CREATE", + "contractName": "LlamaTokenAdapterVotesTimestamp", + "contractAddress": "0x088C268cb00226D6A9b29e5488905Aa94D2f0239", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0xb72276d9ff15c7998b9962ffcfb21a6c7249441b", + "gas": "0x10d28c", + "value": "0x0", + "data": "0x608060405234801561001057600080fd5b5061001961001e565b6100d0565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff161561006e5760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b03908116146100cd5780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b610df5806100df6000396000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c8063ae2a6df21161005b578063ae2a6df21461010a578063cdfda4dd14610114578063edb8ee5a14610127578063fc0c546a1461013a57600080fd5b8063439fab911461008d5780634bf5d7e9146100b557806391ddadf4146100ca5780639556de73146100e9575b600080fd5b6100a061009b3660046108e4565b61017f565b60405190151581526020015b60405180910390f35b6100bd6103a1565b6040516100ac9190610988565b6100d261042f565b60405165ffffffffffff90911681526020016100ac565b6100fc6100f7366004610a12565b6104e9565b6040519081526020016100ac565b610112610593565b005b6100d2610122366004610a4b565b6105ef565b6100fc610135366004610a64565b610600565b60005461015a9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100ac565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0080546000919068010000000000000000810460ff16159067ffffffffffffffff1683811580156101cd5750825b905060008267ffffffffffffffff1660011480156101ea5750303b155b9050811580156101f8575080155b1561022f576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b84547fffffffffffffffffffffffffffffffffffffffffffffffff000000000000000016600117855583156102905784547fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff16680100000000000000001785555b6000878060200190518101906102a69190610a81565b8051600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff90921691909117905560408051808201909152600e81527f6d6f64653d74696d657374616d7000000000000000000000000000000000000060208201529091506001906103309082610b71565b50600196505083156103975784547fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b5050505050919050565b600180546103ae90610acd565b80601f01602080910402602001604051908101604052809291908181526020018280546103da90610acd565b80156104275780601f106103fc57610100808354040283529160200191610427565b820191906000526020600020905b81548152906001019060200180831161040a57829003601f168201915b505050505081565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156104d7575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682019092526104d491810190610c8b565b60015b6104e4576104e44261069b565b905090565b600080546040517f3a46b1a800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff858116600483015265ffffffffffff8516602483015290911690633a46b1a890604401602060405180830381865afa158015610568573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061058c9190610ca8565b9392505050565b600061059d6106e8565b905060006105a9610712565b905081806105b45750805b156105eb576040517f6ff0714000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050565b60006105fa8261069b565b92915050565b600080546040517f8e539e8c00000000000000000000000000000000000000000000000000000000815265ffffffffffff8416600482015273ffffffffffffffffffffffffffffffffffffffff90911690638e539e8c90602401602060405180830381865afa158015610677573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105fa9190610ca8565b600065ffffffffffff8211156106e4576040517fc0188c4f0000000000000000000000000000000000000000000000000000000081526004810183905260240160405180910390fd5b5090565b60006106f34261069b565b65ffffffffffff1661070361042f565b65ffffffffffff161415905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16634bf5d7e96040518163ffffffff1660e01b8152600401600060405180830381865afa9250505080156107bf57506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526107bc9190810190610cc1565b60015b6107c95750600090565b60016040516020016107db9190610d38565b60405160208183030381529060405280519060200120816040516020016108029190610dcc565b60405160208183030381529060405280519060200120141591505090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff8111828210171561089657610896610820565b604052919050565b600067ffffffffffffffff8211156108b8576108b8610820565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b6000602082840312156108f657600080fd5b813567ffffffffffffffff81111561090d57600080fd5b8201601f8101841361091e57600080fd5b803561093161092c8261089e565b61084f565b81815285602083850101111561094657600080fd5b81602084016020830137600091810160200191909152949350505050565b60005b8381101561097f578181015183820152602001610967565b50506000910152565b60208152600082518060208401526109a7816040850160208701610964565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169190910160400192915050565b73ffffffffffffffffffffffffffffffffffffffff811681146109fb57600080fd5b50565b65ffffffffffff811681146109fb57600080fd5b60008060408385031215610a2557600080fd5b8235610a30816109d9565b91506020830135610a40816109fe565b809150509250929050565b600060208284031215610a5d57600080fd5b5035919050565b600060208284031215610a7657600080fd5b813561058c816109fe565b600060208284031215610a9357600080fd5b6040516020810181811067ffffffffffffffff82111715610ab657610ab6610820565b6040528251610ac4816109d9565b81529392505050565b600181811c90821680610ae157607f821691505b602082108103610b1a577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b601f821115610b6c576000816000526020600020601f850160051c81016020861015610b495750805b601f850160051c820191505b81811015610b6857828155600101610b55565b5050505b505050565b815167ffffffffffffffff811115610b8b57610b8b610820565b610b9f81610b998454610acd565b84610b20565b602080601f831160018114610bf25760008415610bbc5750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b178555610b68565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b82811015610c3f57888601518255948401946001909101908401610c20565b5085821015610c7b57878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b600060208284031215610c9d57600080fd5b815161058c816109fe565b600060208284031215610cba57600080fd5b5051919050565b600060208284031215610cd357600080fd5b815167ffffffffffffffff811115610cea57600080fd5b8201601f81018413610cfb57600080fd5b8051610d0961092c8261089e565b818152856020838501011115610d1e57600080fd5b610d2f826020830160208601610964565b95945050505050565b6000808354610d4681610acd565b60018281168015610d5e5760018114610d9157610dc0565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0084168752821515830287019450610dc0565b8760005260208060002060005b85811015610db75781548a820152908401908201610d9e565b50505082870194505b50929695505050505050565b60008251610dde818460208701610964565b919091019291505056fea164736f6c6343000817000a", + "nonce": "0x2", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0x25cb153d2c598a0e43a49a5e7ee562bde2e3c8381405486ed493c44ba923b0fa", + "transactionIndex": "0x7", + "blockHash": "0x24f4a228c714407afe9c74a8eb1ccfff1e6c74a97124467de416e196aa7ab88d", + "blockNumber": "0x9e0ce6", + "from": "0xb72276D9FF15c7998b9962FFCfB21A6C7249441B", + "to": null, + "cumulativeGasUsed": "0xb66bec", + "gasUsed": "0x4ca2c1", + "contractAddress": "0x3f3DAB3ab8cEc2FBd06767c2A5F66Cb6BFF21A4A", + "logs": [ + { + "address": "0x3f3DAB3ab8cEc2FBd06767c2A5F66Cb6BFF21A4A", + "topics": [ + "0xc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2" + ], + "data": "0x000000000000000000000000000000000000000000000000ffffffffffffffff", + "blockHash": "0x24f4a228c714407afe9c74a8eb1ccfff1e6c74a97124467de416e196aa7ab88d", + "blockNumber": "0x9e0ce6", + "transactionHash": "0x25cb153d2c598a0e43a49a5e7ee562bde2e3c8381405486ed493c44ba923b0fa", + "transactionIndex": "0x7", + "logIndex": "0x1d", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000800000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e0c" + }, + { + "transactionHash": "0x3c7c00dac5543a64b72ea9e7a41c7e69e042ade35e52a14bcc4fa2cc083df56d", + "transactionIndex": "0x8", + "blockHash": "0x24f4a228c714407afe9c74a8eb1ccfff1e6c74a97124467de416e196aa7ab88d", + "blockNumber": "0x9e0ce6", + "from": "0xb72276D9FF15c7998b9962FFCfB21A6C7249441B", + "to": null, + "cumulativeGasUsed": "0xc0175c", + "gasUsed": "0x9ab70", + "contractAddress": "0xFBE17545dffD75A92A5A72926AE581478973FE65", + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e0c" + }, + { + "transactionHash": "0xbae9f17fb3a4c1378cc66973b1e2182c27810d27ca5d390810af0ce10c61529e", + "transactionIndex": "0x9", + "blockHash": "0x24f4a228c714407afe9c74a8eb1ccfff1e6c74a97124467de416e196aa7ab88d", + "blockNumber": "0x9e0ce6", + "from": "0xb72276D9FF15c7998b9962FFCfB21A6C7249441B", + "to": null, + "cumulativeGasUsed": "0xcd0905", + "gasUsed": "0xcf1a9", + "contractAddress": "0x088C268cb00226D6A9b29e5488905Aa94D2f0239", + "logs": [ + { + "address": "0x088C268cb00226D6A9b29e5488905Aa94D2f0239", + "topics": [ + "0xc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2" + ], + "data": "0x000000000000000000000000000000000000000000000000ffffffffffffffff", + "blockHash": "0x24f4a228c714407afe9c74a8eb1ccfff1e6c74a97124467de416e196aa7ab88d", + "blockNumber": "0x9e0ce6", + "transactionHash": "0xbae9f17fb3a4c1378cc66973b1e2182c27810d27ca5d390810af0ce10c61529e", + "transactionIndex": "0x9", + "logIndex": "0x1e", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000800000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000008000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e0c" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1704991380, + "chain": 5, + "multi": false, + "commit": "688208a" +} \ No newline at end of file diff --git a/broadcast/DeployLlamaTokenVotingFactory.s.sol/5/run-latest.json b/broadcast/DeployLlamaTokenVotingFactory.s.sol/5/run-latest.json new file mode 100644 index 0000000..09d9add --- /dev/null +++ b/broadcast/DeployLlamaTokenVotingFactory.s.sol/5/run-latest.json @@ -0,0 +1,148 @@ +{ + "transactions": [ + { + "hash": "0x25cb153d2c598a0e43a49a5e7ee562bde2e3c8381405486ed493c44ba923b0fa", + "transactionType": "CREATE", + "contractName": "LlamaTokenGovernor", + "contractAddress": "0x3f3DAB3ab8cEc2FBd06767c2A5F66Cb6BFF21A4A", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0xb72276d9ff15c7998b9962ffcfb21a6c7249441b", + "gas": "0x6398ff", + "value": "0x0", + "data": "0x60806040523480156200001157600080fd5b506200001c62000022565b620000d6565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff1615620000735760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b0390811614620000d35780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b6159f880620000e66000396000f3fe608060405234801561001057600080fd5b50600436106101da5760003560e01c80637e4a56bb11610104578063b92cdd9a116100a2578063cae3bdff11610071578063cae3bdff1461053d578063dcae21b714610552578063e45061ea14610565578063e5589b9d1461057857600080fd5b8063b92cdd9a146104e4578063b9b2cf6c146104f7578063c193c2691461050a578063c26c12eb1461053557600080fd5b80638734852a116100de5780638734852a1461049857806396ff6e2e146104ab578063a1d9b412146104be578063b3c678b0146104d157600080fd5b80637e4a56bb1461046a5780637ed7238e14610472578063807ad1141461048557600080fd5b80633fed8f161161017c57806359e5332d1161014b57806359e5332d1461036457806364f6b3161461037b5780637186dd9c1461038e57806374f717cd1461044757600080fd5b80633fed8f16146103165780634d61ebf4146103365780634ec0ab1c1461033e578063509c5fbd1461035157600080fd5b806319a39740116101b857806319a397401461025b5780631e127ddf1461026e578063372fa8e8146102c25780633df91222146102d557600080fd5b80630669b1ce146101df57806311f900b5146101f45780631650080714610227575b600080fd5b6101f26101ed366004614a11565b61058b565b005b610207610202366004614a46565b610b79565b6040805161ffff9384168152929091166020830152015b60405180910390f35b61023a610235366004614ac0565b610b90565b6040516fffffffffffffffffffffffffffffffff909116815260200161021e565b6101f2610269366004614a46565b610baa565b6101f261027c366004614b82565b3360009081526007602090815260408083207fffffffff000000000000000000000000000000000000000000000000000000009490941683529290522080546001019055565b6101f26102d0366004614bbd565b610c75565b6102fe6102e3366004614a46565b6005602052600090815260409020546001600160a01b031681565b6040516001600160a01b03909116815260200161021e565b610329610324366004614c31565b610d76565b60405161021e9190614c53565b610207610f4e565b6101f261034c366004614ce2565b610f63565b61023a61035f366004614ac0565b611030565b61036d60025481565b60405190815260200161021e565b6000546102fe906001600160a01b031681565b6103fc61039c366004614a46565b6006602052600090815260409020805460018201546002909201546fffffffffffffffffffffffffffffffff8083169370010000000000000000000000000000000093849004821693818316939181900483169282811692919091041686565b604080516fffffffffffffffffffffffffffffffff978816815295871660208701529386169385019390935290841660608401528316608083015290911660a082015260c00161021e565b61045a610455366004614d23565b611040565b604051901515815260200161021e565b6103296110a9565b61036d610480366004614ea9565b61114c565b6001546102fe906001600160a01b031681565b6101f26104a6366004614f88565b611263565b61023a6104b9366004615066565b6114b5565b61023a6104cc366004615066565b6115c6565b61036d6104df366004615131565b6116c7565b6101f26104f2366004614a11565b61171c565b6101f2610505366004614ce2565b611726565b61036d6105183660046151e2565b600760209081526000928352604080842090915290825290205481565b6102076117ef565b6105456117fc565b60405161021e919061520e565b610545610560366004614c31565b61188f565b6101f2610573366004614a11565b611a4d565b610207610586366004614a46565b612026565b600080546040517fb6e76873000000000000000000000000000000000000000000000000000000008152833560048201526001600160a01b039091169063b6e768739060240161012060405180830381865afa1580156105ef573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061061391906152c8565b9050600060018260a0015161062891906153a6565b67ffffffffffffffff169050600160009054906101000a90046001600160a01b03166001600160a01b031663ae2a6df26040518163ffffffff1660e01b815260040160006040518083038186803b15801561068257600080fd5b505afa158015610696573d6000803e3d6000fd5b505050506000806000806106b485600461203490919063ffffffff16565b909250905060006106cb6080890160608a016153ce565b6001600160a01b031663b02bd9206040518163ffffffff1660e01b8152600401602060405180830381865afa158015610708573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061072c91906153eb565b67ffffffffffffffff16905061271061ffff8416820204818860c0015167ffffffffffffffff16030194506127108261ffff1682028161076e5761076e615406565b04850193508342116107ac576040517f038d8a6a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8660c0015167ffffffffffffffff1642106107f3576040517f08c8d62700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050843560009081526006602052604080822060015491517fcdfda4dd000000000000000000000000000000000000000000000000000000008152600481018690529092916001600160a01b03169063edb8ee5a90829063cdfda4dd90602401602060405180830381865afa158015610871573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108959190615435565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b16815265ffffffffffff9091166004820152602401602060405180830381865afa1580156108f0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610914919061545d565b600183015460028401549192506fffffffffffffffffffffffffffffffff7001000000000000000000000000000000009182900481169291820481169116600061095f60038a6121cd565b9150506000610975868361ffff166127106122d8565b905080856fffffffffffffffffffffffffffffffff1610156109e3576040517fbfb9aa550000000000000000000000000000000000000000000000000000000081526fffffffffffffffffffffffffffffffff86166004820152602481018290526044015b60405180910390fd5b836fffffffffffffffffffffffffffffffff16856fffffffffffffffffffffffffffffffff1611610a5c576040517f8a0df63f0000000000000000000000000000000000000000000000000000000081526fffffffffffffffffffffffffffffffff8087166004830152851660248201526044016109da565b6000610a7b8d6060016020810190610a7491906153ce565b600061231c565b905060008054906101000a90046001600160a01b03166001600160a01b03166394004706828f6040518363ffffffff1660e01b8152600401610abe9291906155b2565b6020604051808303816000875af1158015610add573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b0191906155e8565b50604080518e3581526fffffffffffffffffffffffffffffffff808916602083015280881692820192909252908516606082015260ff82169033907ff5bc433f16cc3d0e9fcb5ac4f8de9f17eb90de1fd2a9ede5952c2097d4ef1a59906080015b60405180910390a350505050505050505050505050565b600080610b87600484612034565b91509150915091565b6000610ba0338787878787612612565b9695505050505050565b60008054906101000a90046001600160a01b03166001600160a01b031663c34c08e56040518163ffffffff1660e01b8152600401602060405180830381865afa158015610bfb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c1f9190615603565b6001600160a01b0316336001600160a01b031614610c69576040517f26bee1ce00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610c7281612c5e565b50565b6000610c818686612e2e565b6040805160008082526020820180845284905260ff88169282019290925260608101869052608081018590529192509060019060a0016020604051602081039080840390855afa158015610cd9573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001519150506001600160a01b0381161580610d2c5750866001600160a01b0316816001600160a01b031614155b15610d63576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610d6d8187612f50565b50505050505050565b60408051602081019091526060815281831115610dbf576040517f2cd4dad300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60045480831115610dfc576040517f2cd4dad300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610e088585615620565b905060008167ffffffffffffffff811115610e2557610e25614d65565b604051908082528060200260200182016040528015610e8e57816020015b60408051606081018252600080825260208083018290529282015282527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff909201910181610e435790505b509050855b85811015610f34576004805482908110610eaf57610eaf615633565b600091825260209182902060408051606081018252919092015465ffffffffffff8116825261ffff660100000000000082048116948301949094526801000000000000000090049092169082015282610f088984615620565b81518110610f1857610f18615633565b6020026020010181905250610f2d8160010190565b9050610e93565b506040805160208101909152908152925050505b92915050565b600080610f5b6004613063565b915091509091565b60008054906101000a90046001600160a01b03166001600160a01b031663c34c08e56040518163ffffffff1660e01b8152600401602060405180830381865afa158015610fb4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fd89190615603565b6001600160a01b0316336001600160a01b031614611022576040517f26bee1ce00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61102c82826130db565b5050565b6000610ba03387878787876131cf565b60008115611077575060008381526006602090815260408083206001600160a01b038616845260030190915290205460ff166110a2565b5060008381526006602090815260408083206001600160a01b038616845260040190915290205460ff165b9392505050565b6040805160208101909152606081526040805160048054602081810284018501855283018181529293919284929091849160009085015b8282101561113f576000848152602090819020604080516060810182529185015465ffffffffffff8116835261ffff660100000000000082048116848601526801000000000000000090910416908201528252600190920191016110e0565b5050505081525050905090565b60008061115f8d8d8d8d8d8d8d8d613714565b6040805160008082526020820180845284905260ff89169282019290925260608101879052608081018690529192509060019060a0016020604051602081039080840390855afa1580156111b7573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001519150506001600160a01b038116158061120a57508d6001600160a01b0316816001600160a01b031614155b15611241576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611251818e8e8e8e8e8e8e613885565b9e9d5050505050505050505050505050565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000810460ff16159067ffffffffffffffff166000811580156112ae5750825b905060008267ffffffffffffffff1660011480156112cb5750303b155b9050811580156112d9575080155b15611310576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b84547fffffffffffffffffffffffffffffffffffffffffffffffff000000000000000016600117855583156113715784547fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff16680100000000000000001785555b886001600160a01b0316639bccfe496040518163ffffffff1660e01b8152600401602060405180830381865afa1580156113af573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113d3919061545d565b50600080546001600160a01b03808c167fffffffffffffffffffffffff00000000000000000000000000000000000000009283161790925560018054928b169290911691909117905561142587612c5e565b611437866000015187602001516130db565b61144986604001518760600151613b89565b83156114aa5784547fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b505050505050505050565b6000806114c68b8b8b8b8b8b613c26565b6040805160008082526020820180845284905260ff89169282019290925260608101879052608081018690529192509060019060a0016020604051602081039080840390855afa15801561151e573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001519150506001600160a01b038116158061157157508b6001600160a01b0316816001600160a01b031614155b156115a8576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6115b6818c8c8c8c8c6131cf565b9c9b505050505050505050505050565b6000806115d78b8b8b8b8b8b613d84565b6040805160008082526020820180845284905260ff89169282019290925260608101879052608081018690529192509060019060a0016020604051602081039080840390855afa15801561162f573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001519150506001600160a01b038116158061168257508b6001600160a01b0316816001600160a01b031614155b156116b9576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6115b6818c8c8c8c8c612612565b600061170f338a8a8a8a8a8a8a8a8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061388592505050565b9998505050505050505050565b610c723382612f50565b60008054906101000a90046001600160a01b03166001600160a01b031663c34c08e56040518163ffffffff1660e01b8152600401602060405180830381865afa158015611777573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061179b9190615603565b6001600160a01b0316336001600160a01b0316146117e5576040517f26bee1ce00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61102c8282613b89565b600080610f5b6003613063565b604080516020810190915260608152604080516003805460208082028401850185528301818152929391928492909184916000908501821561113f576000848152602090819020604080516060810182529185015465ffffffffffff8116835261ffff660100000000000082048116848601526801000000000000000090910416908201528252600190920191016110e0565b604080516020810190915260608152818311156118d8576040517f2cd4dad300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60035480831115611915576040517f2cd4dad300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006119218585615620565b905060008167ffffffffffffffff81111561193e5761193e614d65565b6040519080825280602002602001820160405280156119a757816020015b60408051606081018252600080825260208083018290529282015282527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90920191018161195c5790505b509050855b85811015610f345760038054829081106119c8576119c8615633565b600091825260209182902060408051606081018252919092015465ffffffffffff8116825261ffff660100000000000082048116948301949094526801000000000000000090049092169082015282611a218984615620565b81518110611a3157611a31615633565b6020026020010181905250611a468160010190565b90506119ac565b600080546040517fb6e76873000000000000000000000000000000000000000000000000000000008152833560048201526001600160a01b039091169063b6e768739060240161012060405180830381865afa158015611ab1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ad591906152c8565b9050600060018260a00151611aea91906153a6565b67ffffffffffffffff169050600160009054906101000a90046001600160a01b03166001600160a01b031663ae2a6df26040518163ffffffff1660e01b815260040160006040518083038186803b158015611b4457600080fd5b505afa158015611b58573d6000803e3d6000fd5b50505050600080600080611b7685600461203490919063ffffffff16565b90925090506000611b8d6080890160608a016153ce565b6001600160a01b0316637999762c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611bca573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bee91906153eb565b67ffffffffffffffff16905061271061ffff84168202048760a0015167ffffffffffffffff160194506127108261ffff16820281611c2e57611c2e615406565b0485019350834211611c6c576040517f038d8a6a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b808760a0015167ffffffffffffffff16611c869190615662565b421115611cbf576040517f08c8d62700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050843560009081526006602052604080822060015491517fcdfda4dd000000000000000000000000000000000000000000000000000000008152600481018690529092916001600160a01b03169063edb8ee5a90829063cdfda4dd90602401602060405180830381865afa158015611d3d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d619190615435565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b16815265ffffffffffff9091166004820152602401602060405180830381865afa158015611dbc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611de0919061545d565b825460018401549192506fffffffffffffffffffffffffffffffff808216928116917001000000000000000000000000000000009004166000611e2460038a6121cd565b5090506000611e3a868361ffff166127106122d8565b905080856fffffffffffffffffffffffffffffffff161015611ea3576040517f0425fab10000000000000000000000000000000000000000000000000000000081526fffffffffffffffffffffffffffffffff86166004820152602481018290526044016109da565b836fffffffffffffffffffffffffffffffff16856fffffffffffffffffffffffffffffffff1611611f1c576040517f8a0df63f0000000000000000000000000000000000000000000000000000000081526fffffffffffffffffffffffffffffffff8087166004830152851660248201526044016109da565b6000611f3b8d6060016020810190611f3491906153ce565b600161231c565b905060008054906101000a90046001600160a01b03166001600160a01b03166389e7d126828f6040518363ffffffff1660e01b8152600401611f7e9291906155b2565b6020604051808303816000875af1158015611f9d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fc191906155e8565b50604080518e3581526fffffffffffffffffffffffffffffffff808916602083015280881692820192909252908516606082015260ff82169033907ff23279e924757f3bfe4f543bc1b43685e851d6ace53f8518b806dcd8d42fc13990608001610b62565b600080610b876003846121cd565b6000804283106120c6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f506572696f64506374436865636b706f696e74733a2074696d657374616d702060448201527f6973206e6f7420696e207468652070617374000000000000000000000000000060648201526084016109da565b60006120d184613db3565b855490915060008160058111156121315760006120ed84613dfc565b6120f79085615620565b60008a81526020902090915081015465ffffffffffff90811690861610156121215780915061212f565b61212c816001615662565b92505b505b600061213f89868585613eae565b90508060000361215a576000809650965050505050506121c6565b60006121798a61216b600185615620565b600091825260209091200190565b60408051606081018252915465ffffffffffff8116835261ffff66010000000000008204811660208501819052680100000000000000009092041692909101829052985096505050505050505b9250929050565b60008042831061225f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602f60248201527f51756f72756d436865636b706f696e74733a2074696d657374616d702069732060448201527f6e6f7420696e207468652070617374000000000000000000000000000000000060648201526084016109da565b600061226a84613db3565b855490915060008160058111156122ca57600061228684613dfc565b6122909085615620565b60008a81526020902090915081015465ffffffffffff90811690861610156122ba578091506122c8565b6122c5816001615662565b92505b505b600061213f89868585613f10565b6000827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048411830215820261230d57600080fd5b50910281810615159190040190565b60008054604080517f0505c8c9000000000000000000000000000000000000000000000000000000008152905183926001600160a01b031691630505c8c99160048083019260209291908290030181865afa15801561237f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123a39190615603565b6001600160a01b0316638b2ed3886040518163ffffffff1660e01b8152600401602060405180830381865afa1580156123e0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124049190615675565b905060015b8160ff16811161253b57836124a1576040517fc167ebae00000000000000000000000000000000000000000000000000000000815260ff821660048201526001600160a01b0386169063c167ebae90602401602060405180830381865afa158015612478573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061249c9190615692565b612525565b6040517ffb847c4300000000000000000000000000000000000000000000000000000000815260ff821660048201526001600160a01b0386169063fb847c4390602401602060405180830381865afa158015612501573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125259190615692565b15612533579150610f489050565b600101612409565b50826125a857836001600160a01b03166312a52f006040518163ffffffff1660e01b8152600401602060405180830381865afa15801561257f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125a39190615675565b61260a565b836001600160a01b03166366cacdc96040518163ffffffff1660e01b8152600401602060405180830381865afa1580156125e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061260a9190615675565b949350505050565b600080546040517fb6e768730000000000000000000000000000000000000000000000000000000081528635600482015282916001600160a01b03169063b6e768739060240161012060405180830381865afa158015612676573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061269a91906152c8565b9050600060018260a001516126af91906153a6565b8735600090815260066020526040902067ffffffffffffffff9190911691506126de6080890160608a016153ce565b6001600160a01b03166302674e4b89308c6040518463ffffffff1660e01b815260040161270d939291906156af565b60006040518083038186803b15801561272557600080fd5b505afa158015612739573d6000803e3d6000fd5b505050506001600160a01b038a16600090815260048201602052604090205460ff1615612792576040517f9dd6544b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6127a0888a89600486613f6a565b60008080806127b0600487612034565b909250905060006127c760808e0160608f016153ce565b6001600160a01b031663b02bd9206040518163ffffffff1660e01b8152600401602060405180830381865afa158015612804573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061282891906153eb565b67ffffffffffffffff16905061271061ffff8416820204818960c0015167ffffffffffffffff16030194506127108261ffff1682028161286a5761286a615406565b04850193508442116128a8576040517fd0b72b4900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b834211156128e2576040517f5b73d19300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050506000612a25600160009054906101000a90046001600160a01b03166001600160a01b0316639556de738f600160009054906101000a90046001600160a01b03166001600160a01b031663cdfda4dd886040518263ffffffff1660e01b815260040161295291815260200190565b602060405180830381865afa15801561296f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906129939190615435565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b1681526001600160a01b03909216600483015265ffffffffffff166024820152604401602060405180830381865afa1580156129fc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a20919061545d565b61425e565b905060ff8a16612a9e576002840154612a649070010000000000000000000000000000000090046fffffffffffffffffffffffffffffffff16826142ad565b6002850180546fffffffffffffffffffffffffffffffff928316700100000000000000000000000000000000029216919091179055612bc6565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60ff8b1601612b37576001840154612afd9070010000000000000000000000000000000090046fffffffffffffffffffffffffffffffff16826142ad565b6001850180546fffffffffffffffffffffffffffffffff928316700100000000000000000000000000000000029216919091179055612bc6565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe60ff8b1601612bc6576002840154612b82906fffffffffffffffffffffffffffffffff16826142ad565b6002850180547fffffffffffffffffffffffffffffffff00000000000000000000000000000000166fffffffffffffffffffffffffffffffff929092169190911790555b6001600160a01b038d1660008181526004860160205260409081902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790555160ff8c1691907f4e3e2ad68670a2709cb408c31c5afd8da0b6d3d06c75b11feb404a455639fe7c90612c46908f359086908f908f90615713565b60405180910390a39c9b505050505050505050505050565b60018054604080517f91ddadf400000000000000000000000000000000000000000000000000000000815290516000936001600160a01b039093169263edb8ee5a92909184916391ddadf49160048083019260209291908290030181865afa158015612cce573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612cf29190615435565b612cfc9190615745565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b16815265ffffffffffff9091166004820152602401602060405180830381865afa158015612d57573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612d7b919061545d565b905080600003612db7576040517f34bbd58500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80821115612df1576040517f8a5e746800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60028290556040518281527fd91a985c173545ab0e0bd11c021a1ae84c1ea6eab9350d9bf3812d5b8bff49a4906020015b60405180910390a15050565b6000807f6da9390b4f29da2c44fa5a9da00b392393d01e989d16e4a3dec5a538318e352584612e5c856142f4565b6001600160a01b03871660009081526007602090815260408083207fffffffff00000000000000000000000000000000000000000000000000000000843516845290915290208054600181019091556040805160208101959095526001600160a01b03909316928401929092526060830152608082015260a001604051602081830303815290604052805190602001209050612ef66143eb565b6040517f190100000000000000000000000000000000000000000000000000000000000060208201526022810191909152604281018290526062016040516020818303038152906040528051906020012091505092915050565b80356000908152600560205260409020546001600160a01b03838116911614612fa5576040517f86ba025600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000546040517fb92cdd9a0000000000000000000000000000000000000000000000000000000081526001600160a01b039091169063b92cdd9a90612fee908490600401615764565b600060405180830381600087803b15801561300857600080fd5b505af115801561301c573d6000803e3d6000fd5b5050604051833581526001600160a01b03851692507fdcccc5725b7256a6975da00de8953e5d326756a3079d203ff6df9e52331f411a915060200160405180910390a25050565b8054600090819080820361307d5750600093849350915050565b600061308e8561216b600185615620565b60408051606081018252915465ffffffffffff8116835261ffff66010000000000008204811660208501819052680100000000000000009092041692909101829052969095509350505050565b6127108261ffff1611806130f1575061ffff8216155b1561312e576040517f8f6febc000000000000000000000000000000000000000000000000000000000815261ffff831660048201526024016109da565b6127108161ffff161180613144575061ffff8116155b15613181576040517f3bec511c00000000000000000000000000000000000000000000000000000000815261ffff821660048201526024016109da565b613194600361ffff80851690841661454d565b6040805161ffff8085168252831660208201527f77c3f43700db02acb49792bbf699b39f72c2ed4b920bd5c0b1843dcd7c832f4c9101612e22565b600080546040517fb6e768730000000000000000000000000000000000000000000000000000000081528635600482015282916001600160a01b03169063b6e768739060240161012060405180830381865afa158015613233573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061325791906152c8565b9050600060018260a0015161326c91906153a6565b8735600090815260066020526040902067ffffffffffffffff91909116915061329b6080890160608a016153ce565b6001600160a01b0316631a2a4e7789308c6040518463ffffffff1660e01b81526004016132ca939291906156af565b60006040518083038186803b1580156132e257600080fd5b505afa1580156132f6573d6000803e3d6000fd5b505050506001600160a01b038a16600090815260038201602052604090205460ff161561334f576040517f9dd6544b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61335d888a89600086613f6a565b600080808061336d600487612034565b9092509050600061338460808e0160608f016153ce565b6001600160a01b0316637999762c6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156133c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906133e591906153eb565b67ffffffffffffffff16905061271061ffff84168202048860a0015167ffffffffffffffff160194506127108261ffff1682028161342557613425615406565b0485019350844211613463576040517fd0b72b4900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8342111561349d576040517f5b73d19300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050600061350d600160009054906101000a90046001600160a01b03166001600160a01b0316639556de738f600160009054906101000a90046001600160a01b03166001600160a01b031663cdfda4dd886040518263ffffffff1660e01b815260040161295291815260200190565b905060ff8a16613580576001840154613538906fffffffffffffffffffffffffffffffff16826142ad565b6001850180547fffffffffffffffffffffffffffffffff00000000000000000000000000000000166fffffffffffffffffffffffffffffffff92909216919091179055613694565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60ff8b16016136095783546135c8906fffffffffffffffffffffffffffffffff16826142ad565b84547fffffffffffffffffffffffffffffffff00000000000000000000000000000000166fffffffffffffffffffffffffffffffff91909116178455613694565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe60ff8b16016136945783546136659070010000000000000000000000000000000090046fffffffffffffffffffffffffffffffff16826142ad565b84546fffffffffffffffffffffffffffffffff9182167001000000000000000000000000000000000291161784555b6001600160a01b038d1660008181526003860160205260409081902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790555160ff8c1691907f761cce3a1af5d9cfc0d57222f605ce4bd2be345f0ad9ebb7b83a84a91a0c201490612c46908f359086908f908f90615713565b6001600160a01b03881660009081526007602090815260408083207fffffffff000000000000000000000000000000000000000000000000000000008435168452909152812080546001810190915560007fd1fab1c7b3b37134662e5867b00e272eb49f7be0a890df29e802c3cc66c06f838b8b8b8b8b8b8b60405161379b929190615777565b604080519182900382208c516020808f0191909120908401999099526001600160a01b039788169183019190915260ff90951660608201529285166080840152931660a082015260c081019290925260e08201526101008101919091526101208101839052610140016040516020818303038152906040528051906020012090506138246143eb565b6040517f19010000000000000000000000000000000000000000000000000000000000006020820152602281019190915260428101829052606201604051602081830303815290604052805190602001209250505098975050505050505050565b600154604080517fae2a6df200000000000000000000000000000000000000000000000000000000815290516000926001600160a01b03169163ae2a6df29160048083019286929190829003018186803b1580156138e257600080fd5b505afa1580156138f6573d6000803e3d6000fd5b505060018054604080517f91ddadf40000000000000000000000000000000000000000000000000000000081529051600095506001600160a01b039092169350639556de73928e92909185916391ddadf4916004808201926020929091908290030181865afa15801561396d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906139919190615435565b61399b9190615745565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b1681526001600160a01b03909216600483015265ffffffffffff166024820152604401602060405180830381865afa158015613a04573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613a28919061545d565b9050600254811015613a69576040517f92665351000000000000000000000000000000000000000000000000000000008152600481018290526024016109da565b6000546040517fb3c678b00000000000000000000000000000000000000000000000000000000081526001600160a01b039091169063b3c678b090613abe908c908c908c908c908c908c908c906004016157ab565b6020604051808303816000875af1158015613add573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613b01919061545d565b60008181526005602090815260409182902080547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b038f16908117909155915183815292945090917f1834dfd49255741a8ce9a9bd66b91b64d13622e1d8170e4c78ac91f9ec50a542910160405180910390a25098975050505050505050565b612710613b96828461583b565b61ffff1610613bdf576040517f519dd38400000000000000000000000000000000000000000000000000000000815261ffff8084166004830152821660248201526044016109da565b613beb60048383614576565b6040805161ffff8085168252831660208201527f8df7bdcce333d9e1b85e40782fb2f293c805761d3f48aaea58865e9541e44c709101612e22565b6000807fd7be168a3509af358f222ee35ee76aba47bc5fc2c35061cdce3958f510b7b1b28888613c55896142f4565b888888604051613c66929190615777565b60408051918290039091206001600160a01b038f166000908152600760209081528382207fffffffff0000000000000000000000000000000000000000000000000000000083351683529052919091208054600181019091556040805160208101989098526001600160a01b039096169587019590955260ff938416606087015260808601929092529190911660a084015260c083015260e082015261010001604051602081830303815290604052805190602001209050613d266143eb565b6040517f19010000000000000000000000000000000000000000000000000000000000006020820152602281019190915260428101829052606201604051602081830303815290604052805190602001209150509695505050505050565b6000807fa87058c5a9888e7af4405a932381d5a4612c61354bc3e52e9ea361ba17703fb38888613c55896142f4565b600065ffffffffffff821115613df8576040517fc0188c4f000000000000000000000000000000000000000000000000000000008152600481018390526024016109da565b5090565b60b581710100000000000000000000000000000000008110613e235760409190911b9060801c5b69010000000000000000008110613e3f5760209190911b9060401c5b650100000000008110613e575760109190911b9060201c5b63010000008110613e6d5760089190911b9060101c5b62010000010260121c80820401600190811c80830401811c80830401811c80830401811c80830401811c80830401811c80830401901c908190048111900390565b60005b81831015613f08576000613ec584846145a2565b60008781526020902090915065ffffffffffff86169082015465ffffffffffff161115613ef457809250613f02565b613eff816001615662565b93505b50613eb1565b509392505050565b60005b81831015613f08576000613f2784846145a2565b60008781526020902090915065ffffffffffff86169082015465ffffffffffff161115613f5657809250613f64565b613f61816001615662565b93505b50613f13565b600260ff84161115613fad576040517ffe0e5d8b00000000000000000000000000000000000000000000000000000000815260ff841660048201526024016109da565b600080546040517fec12d8be0000000000000000000000000000000000000000000000000000000081526001600160a01b039091169063ec12d8be90613ff7908990600401615764565b602060405180830381865afa158015614014573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906140389190615675565b60ff16600681111561404c5761404c6156e4565b9050826006811115614060576140606156e4565b816006811115614072576140726156e4565b146140ab57806040517f87afe58e0000000000000000000000000000000000000000000000000000000081526004016109da9190615856565b60008060009054906101000a90046001600160a01b03166001600160a01b0316630505c8c96040518163ffffffff1660e01b8152600401602060405180830381865afa1580156140ff573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906141239190615603565b6040517fe0bec07600000000000000000000000000000000000000000000000000000000815230600482015260ff88166024820152604481018590526001600160a01b03919091169063e0bec07690606401602060405180830381865afa158015614192573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906141b69190615692565b9050806141ef576040517f88aebd1200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600160009054906101000a90046001600160a01b03166001600160a01b031663ae2a6df26040518163ffffffff1660e01b815260040160006040518083038186803b15801561423d57600080fd5b505afa158015614251573d6000803e3d6000fd5b5050505050505050505050565b60006fffffffffffffffffffffffffffffffff821115613df8576040517fc0188c4f000000000000000000000000000000000000000000000000000000008152600481018390526024016109da565b60006fffffffffffffffffffffffffffffffff6142ce838216858316615662565b106142ea57506fffffffffffffffffffffffffffffffff610f48565b6110a28284615897565b60007f86b4555c6e347ea3f038485b59b894986c208b67da7e65fcfa3707271608465f823561432960408501602086016153ce565b61433960608601604087016158c0565b61434960808701606088016153ce565b61435960a08801608089016153ce565b60a088013561436b60c08a018a6158dd565b604051614379929190615777565b6040805191829003822060208301999099528101969096526001600160a01b03948516606087015260ff909316608086015290831660a08501529190911660c083015260e082015261010081019190915261012001604051602081830303815290604052805190602001209050919050565b60008054604080517f06fdde0300000000000000000000000000000000000000000000000000000000815290517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f926001600160a01b0316916306fdde0391600480830192879291908290030181865afa15801561446d573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526144b39190810190615942565b8051602091820120604080518082018252600181527f310000000000000000000000000000000000000000000000000000000000000090840152805192830193909352918101919091527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a082015260c00160405160208183030381529060405280519060200120905090565b6145718361455a42613db3565b614563856145bd565b61456c856145bd565b6145fe565b505050565b6145718361458342613db3565b6145908561ffff166145bd565b61459d8561ffff166145bd565b614909565b60006145b160028484186159b0565b6110a290848416615662565b600061ffff821115613df8576040517fc0188c4f000000000000000000000000000000000000000000000000000000008152600481018390526024016109da565b835480156148475760006146178661216b600185615620565b60408051606081018252915465ffffffffffff80821680855261ffff66010000000000008404811660208701526801000000000000000090930490921692840192909252919250861610156146ed576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f51756f72756d20436865636b706f696e743a20696e76616c69642074696d657360448201527f74616d700000000000000000000000000000000000000000000000000000000060648201526084016109da565b805165ffffffffffff8087169116036147865760006147118761216b600186615620565b805461ffff86811668010000000000000000027fffffffffffffffffffffffffffffffffffffffffffff0000ffffffffffffffff918916660100000000000002919091167fffffffffffffffffffffffffffffffffffffffffffff00000000ffffffffffff9092169190911717905550614841565b6040805160608101825265ffffffffffff808816825261ffff80881660208085019182528883169585019586528b54600181018d5560008d81529190912094519401805491519551831668010000000000000000027fffffffffffffffffffffffffffffffffffffffffffff0000ffffffffffffffff969093166601000000000000027fffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000909216949093169390931792909217929092161790555b50614902565b6040805160608101825265ffffffffffff808716825261ffff80871660208085019182528783169585019586528a54600181018c5560008c81529190912094519401805491519551831668010000000000000000027fffffffffffffffffffffffffffffffffffffffffffff0000ffffffffffffffff969093166601000000000000027fffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000909216949093169390931792909217929092161790555b5050505050565b835480156148475760006149228661216b600185615620565b60408051606081018252915465ffffffffffff80821680855261ffff66010000000000008404811660208701526801000000000000000090930490921692840192909252919250861610156146ed576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602860248201527f506572696f642050637420436865636b706f696e743a20696e76616c6964207460448201527f696d657374616d7000000000000000000000000000000000000000000000000060648201526084016109da565b600060e08284031215614a0b57600080fd5b50919050565b600060208284031215614a2357600080fd5b813567ffffffffffffffff811115614a3a57600080fd5b61260a848285016149f9565b600060208284031215614a5857600080fd5b5035919050565b60ff81168114610c7257600080fd5b8035614a7981614a5f565b919050565b60008083601f840112614a9057600080fd5b50813567ffffffffffffffff811115614aa857600080fd5b6020830191508360208285010111156121c657600080fd5b600080600080600060808688031215614ad857600080fd5b8535614ae381614a5f565b9450602086013567ffffffffffffffff80821115614b0057600080fd5b614b0c89838a016149f9565b955060408801359150614b1e82614a5f565b90935060608701359080821115614b3457600080fd5b50614b4188828901614a7e565b969995985093965092949392505050565b80357fffffffff0000000000000000000000000000000000000000000000000000000081168114614a7957600080fd5b600060208284031215614b9457600080fd5b6110a282614b52565b6001600160a01b0381168114610c7257600080fd5b8035614a7981614b9d565b600080600080600060a08688031215614bd557600080fd5b8535614be081614b9d565b9450602086013567ffffffffffffffff811115614bfc57600080fd5b614c08888289016149f9565b9450506040860135614c1981614a5f565b94979396509394606081013594506080013592915050565b60008060408385031215614c4457600080fd5b50508035926020909101359150565b60208082528251828201829052805160408401819052600092916060919083019082860190855b81811015614cc357614cb3838551805165ffffffffffff16825260208082015161ffff9081169184019190915260409182015116910152565b9285019291840191600101614c7a565b5090979650505050505050565b803561ffff81168114614a7957600080fd5b60008060408385031215614cf557600080fd5b614cfe83614cd0565b9150614d0c60208401614cd0565b90509250929050565b8015158114610c7257600080fd5b600080600060608486031215614d3857600080fd5b833592506020840135614d4a81614b9d565b91506040840135614d5a81614d15565b809150509250925092565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051610120810167ffffffffffffffff81118282101715614db857614db8614d65565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715614e0557614e05614d65565b604052919050565b600067ffffffffffffffff821115614e2757614e27614d65565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b600082601f830112614e6457600080fd5b8135614e77614e7282614e0d565b614dbe565b818152846020838601011115614e8c57600080fd5b816020850160208301376000918101602001919091529392505050565b60008060008060008060008060008060006101408c8e031215614ecb57600080fd5b614ed48c614bb2565b9a50614ee260208d01614a6e565b9950614ef060408d01614bb2565b9850614efe60608d01614bb2565b975060808c0135965067ffffffffffffffff8060a08e01351115614f2157600080fd5b614f318e60a08f01358f01614a7e565b909750955060c08d0135811015614f4757600080fd5b50614f588d60c08e01358e01614e53565b9350614f6660e08d01614a6e565b92506101008c013591506101208c013590509295989b509295989b9093969950565b60008060008084860360e0811215614f9f57600080fd5b8535614faa81614b9d565b94506020860135614fba81614b9d565b93506040860135925060807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa082011215614ff357600080fd5b506040516080810181811067ffffffffffffffff8211171561501757615017614d65565b60405261502660608701614cd0565b815261503460808701614cd0565b602082015261504560a08701614cd0565b604082015261505660c08701614cd0565b6060820152939692955090935050565b60008060008060008060008060006101008a8c03121561508557600080fd5b893561509081614b9d565b985060208a01356150a081614a5f565b975060408a013567ffffffffffffffff808211156150bd57600080fd5b6150c98d838e016149f9565b985060608c013591506150db82614a5f565b90965060808b013590808211156150f157600080fd5b506150fe8c828d01614a7e565b90965094505060a08a013561511281614a5f565b8093505060c08a0135915060e08a013590509295985092959850929598565b60008060008060008060008060c0898b03121561514d57600080fd5b883561515881614a5f565b9750602089013561516881614b9d565b9650604089013561517881614b9d565b955060608901359450608089013567ffffffffffffffff8082111561519c57600080fd5b6151a88c838d01614a7e565b909650945060a08b01359150808211156151c157600080fd5b506151ce8b828c01614a7e565b999c989b5096995094979396929594505050565b600080604083850312156151f557600080fd5b823561520081614b9d565b9150614d0c60208401614b52565b60208082528251828201829052805160408401819052600092916060919083019082860190855b81811015614cc35761526e838551805165ffffffffffff16825260208082015161ffff9081169184019190915260409182015116910152565b9285019291840191600101615235565b8051614a7981614d15565b8051614a7981614b9d565b805167ffffffffffffffff81168114614a7957600080fd5b80516bffffffffffffffffffffffff81168114614a7957600080fd5b600061012082840312156152db57600080fd5b6152e3614d94565b825181526152f36020840161527e565b60208201526153046040840161527e565b60408201526153156060840161527e565b606082015261532660808401615289565b608082015261533760a08401615294565b60a082015261534860c08401615294565b60c082015261535960e084016152ac565b60e082015261010061536c8185016152ac565b908201529392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b67ffffffffffffffff8281168282160390808211156153c7576153c7615377565b5092915050565b6000602082840312156153e057600080fd5b81356110a281614b9d565b6000602082840312156153fd57600080fd5b6110a282615294565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006020828403121561544757600080fd5b815165ffffffffffff811681146110a257600080fd5b60006020828403121561546f57600080fd5b5051919050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b80358252600060208201356154d381614b9d565b6001600160a01b0390811660208501526040830135906154f282614a5f565b60ff821660408601526060840135915061550b82614b9d565b908116606085015260808301359061552282614b9d565b16608084015260a0828101359084015260c0820135368390037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe101811261556857600080fd5b820160208101903567ffffffffffffffff81111561558557600080fd5b80360382131561559457600080fd5b60e060c08601526155a960e086018284615476565b95945050505050565b60ff831681526060602082015260006155ce60608301846154bf565b828103604084015260008152602081019150509392505050565b6000602082840312156155fa57600080fd5b6110a2826152ac565b60006020828403121561561557600080fd5b81516110a281614b9d565b81810381811115610f4857610f48615377565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b80820180821115610f4857610f48615377565b60006020828403121561568757600080fd5b81516110a281614a5f565b6000602082840312156156a457600080fd5b81516110a281614d15565b6060815260006156c260608301866154bf565b90506001600160a01b038416602083015260ff83166040830152949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b8481526fffffffffffffffffffffffffffffffff84166020820152606060408201526000610ba0606083018486615476565b65ffffffffffff8281168282160390808211156153c7576153c7615377565b6020815260006110a260208301846154bf565b8183823760009101908152919050565b60005b838110156157a257818101518382015260200161578a565b50506000910152565b60ff8816815260006001600160a01b03808916602084015280881660408401525085606083015260c060808301526157e760c083018587615476565b82810360a08401528351808252615805816020840160208801615787565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016016020019998505050505050505050565b61ffff8181168382160190808211156153c7576153c7615377565b6020810160078310615891577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b91905290565b6fffffffffffffffffffffffffffffffff8181168382160190808211156153c7576153c7615377565b6000602082840312156158d257600080fd5b81356110a281614a5f565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261591257600080fd5b83018035915067ffffffffffffffff82111561592d57600080fd5b6020019150368190038213156121c657600080fd5b60006020828403121561595457600080fd5b815167ffffffffffffffff81111561596b57600080fd5b8201601f8101841361597c57600080fd5b805161598a614e7282614e0d565b81815285602083850101111561599f57600080fd5b6155a9826020830160208601615787565b6000826159e6577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b50049056fea164736f6c6343000817000a", + "nonce": "0x0", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x3c7c00dac5543a64b72ea9e7a41c7e69e042ade35e52a14bcc4fa2cc083df56d", + "transactionType": "CREATE", + "contractName": "LlamaTokenVotingFactory", + "contractAddress": "0xFBE17545dffD75A92A5A72926AE581478973FE65", + "function": null, + "arguments": [ + "0x3f3DAB3ab8cEc2FBd06767c2A5F66Cb6BFF21A4A" + ], + "transaction": { + "type": "0x02", + "from": "0xb72276d9ff15c7998b9962ffcfb21a6c7249441b", + "gas": "0xc9127", + "value": "0x0", + "data": "0x60a060405234801561001057600080fd5b50604051610b16380380610b1683398101604081905261002f91610040565b6001600160a01b0316608052610070565b60006020828403121561005257600080fd5b81516001600160a01b038116811461006957600080fd5b9392505050565b608051610a8561009160003960008181604001526104390152610a856000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c806321618ea41461003b5780633ec857a51461008b575b600080fd5b6100627f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b61006261009936600461087b565b600080338360000151846040015185606001516040516020016100bf9493929190610959565b60405160208183030381529060405280519060200120905060006100e7846020015183610622565b60408086015190517f439fab9100000000000000000000000000000000000000000000000000000000815291925073ffffffffffffffffffffffffffffffffffffffff83169163439fab919161013f916004016109b9565b6020604051808303816000875af115801561015e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101829190610a0a565b50600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1663fc0c546a6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156101e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061020a9190610a33565b73ffffffffffffffffffffffffffffffffffffffff1603610257576040517f65f5b03400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517fcdfda4dd00000000000000000000000000000000000000000000000000000000815242600482015273ffffffffffffffffffffffffffffffffffffffff82169063cdfda4dd90602401602060405180830381865afa1580156102c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102e59190610a50565b65ffffffffffff16600003610326576040517f65f5b03400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff166391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865afa158015610371573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103959190610a50565b65ffffffffffff166000036103d6576040517f65f5b03400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1663ae2a6df26040518163ffffffff1660e01b815260040160006040518083038186803b15801561041c57600080fd5b505afa158015610430573d6000803e3d6000fd5b5050505061045e7f000000000000000000000000000000000000000000000000000000000000000083610622565b8451608086015160a0870151604080517f8734852a00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff948516600482015286851660248201526044810193909352815161ffff908116606485015260208301518116608485015290820151811660a48401526060909101511660c4820152919450841690638734852a9060e401600060405180830381600087803b15801561051757600080fd5b505af115801561052b573d6000803e3d6000fd5b505050508073ffffffffffffffffffffffffffffffffffffffff1663fc0c546a6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561057a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061059e9190610a33565b84516020808701516060808901516040805173ffffffffffffffffffffffffffffffffffffffff94851681528885169581019590955284015287821690830152466080830152928316929091169033907f4c8bb78cb1c62e64cef39fc4b4a1864d1a331a28c7bd59a67fe969cc8ab715879060a00160405180910390a45050919050565b6000763d602d80600a3d3981f3363d3d373d3d3d363d730000008360601b60e81c176000526e5af43d82803e903d91602b57fd5bf38360781b1760205281603760096000f5905073ffffffffffffffffffffffffffffffffffffffff81166106b6576040517fc2f868f400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405160c0810167ffffffffffffffff8111828210171561070e5761070e6106bc565b60405290565b73ffffffffffffffffffffffffffffffffffffffff8116811461073657600080fd5b50565b600082601f83011261074a57600080fd5b813567ffffffffffffffff80821115610765576107656106bc565b604051601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011681019082821181831017156107ab576107ab6106bc565b816040528381528660208588010111156107c457600080fd5b836020870160208301376000602085830101528094505050505092915050565b803561ffff811681146107f657600080fd5b919050565b60006080828403121561080d57600080fd5b6040516080810181811067ffffffffffffffff82111715610830576108306106bc565b60405290508061083f836107e4565b815261084d602084016107e4565b602082015261085e604084016107e4565b604082015261086f606084016107e4565b60608201525092915050565b60006020828403121561088d57600080fd5b813567ffffffffffffffff808211156108a557600080fd5b9083019061012082860312156108ba57600080fd5b6108c26106eb565b82356108cd81610714565b815260208301356108dd81610714565b60208201526040830135828111156108f457600080fd5b61090087828601610739565b60408301525060608301356060820152608083013560808201526109278660a085016107fb565b60a082015295945050505050565b60005b83811015610950578181015183820152602001610938565b50506000910152565b60007fffffffffffffffffffffffffffffffffffffffff000000000000000000000000808760601b168352808660601b1660148401525083516109a3816028850160208801610935565b6028920191820192909252604801949350505050565b60208152600082518060208401526109d8816040850160208701610935565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169190910160400192915050565b600060208284031215610a1c57600080fd5b81518015158114610a2c57600080fd5b9392505050565b600060208284031215610a4557600080fd5b8151610a2c81610714565b600060208284031215610a6257600080fd5b815165ffffffffffff81168114610a2c57600080fdfea164736f6c6343000817000a0000000000000000000000003f3dab3ab8cec2fbd06767c2a5f66cb6bff21a4a", + "nonce": "0x1", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xbae9f17fb3a4c1378cc66973b1e2182c27810d27ca5d390810af0ce10c61529e", + "transactionType": "CREATE", + "contractName": "LlamaTokenAdapterVotesTimestamp", + "contractAddress": "0x088C268cb00226D6A9b29e5488905Aa94D2f0239", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0xb72276d9ff15c7998b9962ffcfb21a6c7249441b", + "gas": "0x10d28c", + "value": "0x0", + "data": "0x608060405234801561001057600080fd5b5061001961001e565b6100d0565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff161561006e5760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b03908116146100cd5780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b610df5806100df6000396000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c8063ae2a6df21161005b578063ae2a6df21461010a578063cdfda4dd14610114578063edb8ee5a14610127578063fc0c546a1461013a57600080fd5b8063439fab911461008d5780634bf5d7e9146100b557806391ddadf4146100ca5780639556de73146100e9575b600080fd5b6100a061009b3660046108e4565b61017f565b60405190151581526020015b60405180910390f35b6100bd6103a1565b6040516100ac9190610988565b6100d261042f565b60405165ffffffffffff90911681526020016100ac565b6100fc6100f7366004610a12565b6104e9565b6040519081526020016100ac565b610112610593565b005b6100d2610122366004610a4b565b6105ef565b6100fc610135366004610a64565b610600565b60005461015a9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100ac565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0080546000919068010000000000000000810460ff16159067ffffffffffffffff1683811580156101cd5750825b905060008267ffffffffffffffff1660011480156101ea5750303b155b9050811580156101f8575080155b1561022f576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b84547fffffffffffffffffffffffffffffffffffffffffffffffff000000000000000016600117855583156102905784547fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff16680100000000000000001785555b6000878060200190518101906102a69190610a81565b8051600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff90921691909117905560408051808201909152600e81527f6d6f64653d74696d657374616d7000000000000000000000000000000000000060208201529091506001906103309082610b71565b50600196505083156103975784547fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b5050505050919050565b600180546103ae90610acd565b80601f01602080910402602001604051908101604052809291908181526020018280546103da90610acd565b80156104275780601f106103fc57610100808354040283529160200191610427565b820191906000526020600020905b81548152906001019060200180831161040a57829003601f168201915b505050505081565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156104d7575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682019092526104d491810190610c8b565b60015b6104e4576104e44261069b565b905090565b600080546040517f3a46b1a800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff858116600483015265ffffffffffff8516602483015290911690633a46b1a890604401602060405180830381865afa158015610568573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061058c9190610ca8565b9392505050565b600061059d6106e8565b905060006105a9610712565b905081806105b45750805b156105eb576040517f6ff0714000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050565b60006105fa8261069b565b92915050565b600080546040517f8e539e8c00000000000000000000000000000000000000000000000000000000815265ffffffffffff8416600482015273ffffffffffffffffffffffffffffffffffffffff90911690638e539e8c90602401602060405180830381865afa158015610677573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105fa9190610ca8565b600065ffffffffffff8211156106e4576040517fc0188c4f0000000000000000000000000000000000000000000000000000000081526004810183905260240160405180910390fd5b5090565b60006106f34261069b565b65ffffffffffff1661070361042f565b65ffffffffffff161415905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16634bf5d7e96040518163ffffffff1660e01b8152600401600060405180830381865afa9250505080156107bf57506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526107bc9190810190610cc1565b60015b6107c95750600090565b60016040516020016107db9190610d38565b60405160208183030381529060405280519060200120816040516020016108029190610dcc565b60405160208183030381529060405280519060200120141591505090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff8111828210171561089657610896610820565b604052919050565b600067ffffffffffffffff8211156108b8576108b8610820565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b6000602082840312156108f657600080fd5b813567ffffffffffffffff81111561090d57600080fd5b8201601f8101841361091e57600080fd5b803561093161092c8261089e565b61084f565b81815285602083850101111561094657600080fd5b81602084016020830137600091810160200191909152949350505050565b60005b8381101561097f578181015183820152602001610967565b50506000910152565b60208152600082518060208401526109a7816040850160208701610964565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169190910160400192915050565b73ffffffffffffffffffffffffffffffffffffffff811681146109fb57600080fd5b50565b65ffffffffffff811681146109fb57600080fd5b60008060408385031215610a2557600080fd5b8235610a30816109d9565b91506020830135610a40816109fe565b809150509250929050565b600060208284031215610a5d57600080fd5b5035919050565b600060208284031215610a7657600080fd5b813561058c816109fe565b600060208284031215610a9357600080fd5b6040516020810181811067ffffffffffffffff82111715610ab657610ab6610820565b6040528251610ac4816109d9565b81529392505050565b600181811c90821680610ae157607f821691505b602082108103610b1a577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b601f821115610b6c576000816000526020600020601f850160051c81016020861015610b495750805b601f850160051c820191505b81811015610b6857828155600101610b55565b5050505b505050565b815167ffffffffffffffff811115610b8b57610b8b610820565b610b9f81610b998454610acd565b84610b20565b602080601f831160018114610bf25760008415610bbc5750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b178555610b68565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b82811015610c3f57888601518255948401946001909101908401610c20565b5085821015610c7b57878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b600060208284031215610c9d57600080fd5b815161058c816109fe565b600060208284031215610cba57600080fd5b5051919050565b600060208284031215610cd357600080fd5b815167ffffffffffffffff811115610cea57600080fd5b8201601f81018413610cfb57600080fd5b8051610d0961092c8261089e565b818152856020838501011115610d1e57600080fd5b610d2f826020830160208601610964565b95945050505050565b6000808354610d4681610acd565b60018281168015610d5e5760018114610d9157610dc0565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0084168752821515830287019450610dc0565b8760005260208060002060005b85811015610db75781548a820152908401908201610d9e565b50505082870194505b50929695505050505050565b60008251610dde818460208701610964565b919091019291505056fea164736f6c6343000817000a", + "nonce": "0x2", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0x25cb153d2c598a0e43a49a5e7ee562bde2e3c8381405486ed493c44ba923b0fa", + "transactionIndex": "0x7", + "blockHash": "0x24f4a228c714407afe9c74a8eb1ccfff1e6c74a97124467de416e196aa7ab88d", + "blockNumber": "0x9e0ce6", + "from": "0xb72276D9FF15c7998b9962FFCfB21A6C7249441B", + "to": null, + "cumulativeGasUsed": "0xb66bec", + "gasUsed": "0x4ca2c1", + "contractAddress": "0x3f3DAB3ab8cEc2FBd06767c2A5F66Cb6BFF21A4A", + "logs": [ + { + "address": "0x3f3DAB3ab8cEc2FBd06767c2A5F66Cb6BFF21A4A", + "topics": [ + "0xc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2" + ], + "data": "0x000000000000000000000000000000000000000000000000ffffffffffffffff", + "blockHash": "0x24f4a228c714407afe9c74a8eb1ccfff1e6c74a97124467de416e196aa7ab88d", + "blockNumber": "0x9e0ce6", + "transactionHash": "0x25cb153d2c598a0e43a49a5e7ee562bde2e3c8381405486ed493c44ba923b0fa", + "transactionIndex": "0x7", + "logIndex": "0x1d", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000800000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e0c" + }, + { + "transactionHash": "0x3c7c00dac5543a64b72ea9e7a41c7e69e042ade35e52a14bcc4fa2cc083df56d", + "transactionIndex": "0x8", + "blockHash": "0x24f4a228c714407afe9c74a8eb1ccfff1e6c74a97124467de416e196aa7ab88d", + "blockNumber": "0x9e0ce6", + "from": "0xb72276D9FF15c7998b9962FFCfB21A6C7249441B", + "to": null, + "cumulativeGasUsed": "0xc0175c", + "gasUsed": "0x9ab70", + "contractAddress": "0xFBE17545dffD75A92A5A72926AE581478973FE65", + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e0c" + }, + { + "transactionHash": "0xbae9f17fb3a4c1378cc66973b1e2182c27810d27ca5d390810af0ce10c61529e", + "transactionIndex": "0x9", + "blockHash": "0x24f4a228c714407afe9c74a8eb1ccfff1e6c74a97124467de416e196aa7ab88d", + "blockNumber": "0x9e0ce6", + "from": "0xb72276D9FF15c7998b9962FFCfB21A6C7249441B", + "to": null, + "cumulativeGasUsed": "0xcd0905", + "gasUsed": "0xcf1a9", + "contractAddress": "0x088C268cb00226D6A9b29e5488905Aa94D2f0239", + "logs": [ + { + "address": "0x088C268cb00226D6A9b29e5488905Aa94D2f0239", + "topics": [ + "0xc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2" + ], + "data": "0x000000000000000000000000000000000000000000000000ffffffffffffffff", + "blockHash": "0x24f4a228c714407afe9c74a8eb1ccfff1e6c74a97124467de416e196aa7ab88d", + "blockNumber": "0x9e0ce6", + "transactionHash": "0xbae9f17fb3a4c1378cc66973b1e2182c27810d27ca5d390810af0ce10c61529e", + "transactionIndex": "0x9", + "logIndex": "0x1e", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000800000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000008000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e0c" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1704991380, + "chain": 5, + "multi": false, + "commit": "688208a" +} \ No newline at end of file diff --git a/broadcast/DeployLlamaTokenVotingFactory.s.sol/8453/run-1704995262.json b/broadcast/DeployLlamaTokenVotingFactory.s.sol/8453/run-1704995262.json new file mode 100644 index 0000000..2ab2c45 --- /dev/null +++ b/broadcast/DeployLlamaTokenVotingFactory.s.sol/8453/run-1704995262.json @@ -0,0 +1,75 @@ +{ + "transactions": [ + { + "hash": "0x5794742df00549335af9866a24f455930c4e4d52b31699c0c7dd107c6bdefc81", + "transactionType": "CREATE", + "contractName": "LlamaTokenGovernor", + "contractAddress": "0x3f3DAB3ab8cEc2FBd06767c2A5F66Cb6BFF21A4A", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0xb72276d9ff15c7998b9962ffcfb21a6c7249441b", + "gas": "0x6398ff", + "value": "0x0", + "data": "0x60806040523480156200001157600080fd5b506200001c62000022565b620000d6565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff1615620000735760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b0390811614620000d35780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b6159f880620000e66000396000f3fe608060405234801561001057600080fd5b50600436106101da5760003560e01c80637e4a56bb11610104578063b92cdd9a116100a2578063cae3bdff11610071578063cae3bdff1461053d578063dcae21b714610552578063e45061ea14610565578063e5589b9d1461057857600080fd5b8063b92cdd9a146104e4578063b9b2cf6c146104f7578063c193c2691461050a578063c26c12eb1461053557600080fd5b80638734852a116100de5780638734852a1461049857806396ff6e2e146104ab578063a1d9b412146104be578063b3c678b0146104d157600080fd5b80637e4a56bb1461046a5780637ed7238e14610472578063807ad1141461048557600080fd5b80633fed8f161161017c57806359e5332d1161014b57806359e5332d1461036457806364f6b3161461037b5780637186dd9c1461038e57806374f717cd1461044757600080fd5b80633fed8f16146103165780634d61ebf4146103365780634ec0ab1c1461033e578063509c5fbd1461035157600080fd5b806319a39740116101b857806319a397401461025b5780631e127ddf1461026e578063372fa8e8146102c25780633df91222146102d557600080fd5b80630669b1ce146101df57806311f900b5146101f45780631650080714610227575b600080fd5b6101f26101ed366004614a11565b61058b565b005b610207610202366004614a46565b610b79565b6040805161ffff9384168152929091166020830152015b60405180910390f35b61023a610235366004614ac0565b610b90565b6040516fffffffffffffffffffffffffffffffff909116815260200161021e565b6101f2610269366004614a46565b610baa565b6101f261027c366004614b82565b3360009081526007602090815260408083207fffffffff000000000000000000000000000000000000000000000000000000009490941683529290522080546001019055565b6101f26102d0366004614bbd565b610c75565b6102fe6102e3366004614a46565b6005602052600090815260409020546001600160a01b031681565b6040516001600160a01b03909116815260200161021e565b610329610324366004614c31565b610d76565b60405161021e9190614c53565b610207610f4e565b6101f261034c366004614ce2565b610f63565b61023a61035f366004614ac0565b611030565b61036d60025481565b60405190815260200161021e565b6000546102fe906001600160a01b031681565b6103fc61039c366004614a46565b6006602052600090815260409020805460018201546002909201546fffffffffffffffffffffffffffffffff8083169370010000000000000000000000000000000093849004821693818316939181900483169282811692919091041686565b604080516fffffffffffffffffffffffffffffffff978816815295871660208701529386169385019390935290841660608401528316608083015290911660a082015260c00161021e565b61045a610455366004614d23565b611040565b604051901515815260200161021e565b6103296110a9565b61036d610480366004614ea9565b61114c565b6001546102fe906001600160a01b031681565b6101f26104a6366004614f88565b611263565b61023a6104b9366004615066565b6114b5565b61023a6104cc366004615066565b6115c6565b61036d6104df366004615131565b6116c7565b6101f26104f2366004614a11565b61171c565b6101f2610505366004614ce2565b611726565b61036d6105183660046151e2565b600760209081526000928352604080842090915290825290205481565b6102076117ef565b6105456117fc565b60405161021e919061520e565b610545610560366004614c31565b61188f565b6101f2610573366004614a11565b611a4d565b610207610586366004614a46565b612026565b600080546040517fb6e76873000000000000000000000000000000000000000000000000000000008152833560048201526001600160a01b039091169063b6e768739060240161012060405180830381865afa1580156105ef573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061061391906152c8565b9050600060018260a0015161062891906153a6565b67ffffffffffffffff169050600160009054906101000a90046001600160a01b03166001600160a01b031663ae2a6df26040518163ffffffff1660e01b815260040160006040518083038186803b15801561068257600080fd5b505afa158015610696573d6000803e3d6000fd5b505050506000806000806106b485600461203490919063ffffffff16565b909250905060006106cb6080890160608a016153ce565b6001600160a01b031663b02bd9206040518163ffffffff1660e01b8152600401602060405180830381865afa158015610708573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061072c91906153eb565b67ffffffffffffffff16905061271061ffff8416820204818860c0015167ffffffffffffffff16030194506127108261ffff1682028161076e5761076e615406565b04850193508342116107ac576040517f038d8a6a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8660c0015167ffffffffffffffff1642106107f3576040517f08c8d62700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050843560009081526006602052604080822060015491517fcdfda4dd000000000000000000000000000000000000000000000000000000008152600481018690529092916001600160a01b03169063edb8ee5a90829063cdfda4dd90602401602060405180830381865afa158015610871573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108959190615435565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b16815265ffffffffffff9091166004820152602401602060405180830381865afa1580156108f0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610914919061545d565b600183015460028401549192506fffffffffffffffffffffffffffffffff7001000000000000000000000000000000009182900481169291820481169116600061095f60038a6121cd565b9150506000610975868361ffff166127106122d8565b905080856fffffffffffffffffffffffffffffffff1610156109e3576040517fbfb9aa550000000000000000000000000000000000000000000000000000000081526fffffffffffffffffffffffffffffffff86166004820152602481018290526044015b60405180910390fd5b836fffffffffffffffffffffffffffffffff16856fffffffffffffffffffffffffffffffff1611610a5c576040517f8a0df63f0000000000000000000000000000000000000000000000000000000081526fffffffffffffffffffffffffffffffff8087166004830152851660248201526044016109da565b6000610a7b8d6060016020810190610a7491906153ce565b600061231c565b905060008054906101000a90046001600160a01b03166001600160a01b03166394004706828f6040518363ffffffff1660e01b8152600401610abe9291906155b2565b6020604051808303816000875af1158015610add573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b0191906155e8565b50604080518e3581526fffffffffffffffffffffffffffffffff808916602083015280881692820192909252908516606082015260ff82169033907ff5bc433f16cc3d0e9fcb5ac4f8de9f17eb90de1fd2a9ede5952c2097d4ef1a59906080015b60405180910390a350505050505050505050505050565b600080610b87600484612034565b91509150915091565b6000610ba0338787878787612612565b9695505050505050565b60008054906101000a90046001600160a01b03166001600160a01b031663c34c08e56040518163ffffffff1660e01b8152600401602060405180830381865afa158015610bfb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c1f9190615603565b6001600160a01b0316336001600160a01b031614610c69576040517f26bee1ce00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610c7281612c5e565b50565b6000610c818686612e2e565b6040805160008082526020820180845284905260ff88169282019290925260608101869052608081018590529192509060019060a0016020604051602081039080840390855afa158015610cd9573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001519150506001600160a01b0381161580610d2c5750866001600160a01b0316816001600160a01b031614155b15610d63576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610d6d8187612f50565b50505050505050565b60408051602081019091526060815281831115610dbf576040517f2cd4dad300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60045480831115610dfc576040517f2cd4dad300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610e088585615620565b905060008167ffffffffffffffff811115610e2557610e25614d65565b604051908082528060200260200182016040528015610e8e57816020015b60408051606081018252600080825260208083018290529282015282527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff909201910181610e435790505b509050855b85811015610f34576004805482908110610eaf57610eaf615633565b600091825260209182902060408051606081018252919092015465ffffffffffff8116825261ffff660100000000000082048116948301949094526801000000000000000090049092169082015282610f088984615620565b81518110610f1857610f18615633565b6020026020010181905250610f2d8160010190565b9050610e93565b506040805160208101909152908152925050505b92915050565b600080610f5b6004613063565b915091509091565b60008054906101000a90046001600160a01b03166001600160a01b031663c34c08e56040518163ffffffff1660e01b8152600401602060405180830381865afa158015610fb4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fd89190615603565b6001600160a01b0316336001600160a01b031614611022576040517f26bee1ce00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61102c82826130db565b5050565b6000610ba03387878787876131cf565b60008115611077575060008381526006602090815260408083206001600160a01b038616845260030190915290205460ff166110a2565b5060008381526006602090815260408083206001600160a01b038616845260040190915290205460ff165b9392505050565b6040805160208101909152606081526040805160048054602081810284018501855283018181529293919284929091849160009085015b8282101561113f576000848152602090819020604080516060810182529185015465ffffffffffff8116835261ffff660100000000000082048116848601526801000000000000000090910416908201528252600190920191016110e0565b5050505081525050905090565b60008061115f8d8d8d8d8d8d8d8d613714565b6040805160008082526020820180845284905260ff89169282019290925260608101879052608081018690529192509060019060a0016020604051602081039080840390855afa1580156111b7573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001519150506001600160a01b038116158061120a57508d6001600160a01b0316816001600160a01b031614155b15611241576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611251818e8e8e8e8e8e8e613885565b9e9d5050505050505050505050505050565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000810460ff16159067ffffffffffffffff166000811580156112ae5750825b905060008267ffffffffffffffff1660011480156112cb5750303b155b9050811580156112d9575080155b15611310576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b84547fffffffffffffffffffffffffffffffffffffffffffffffff000000000000000016600117855583156113715784547fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff16680100000000000000001785555b886001600160a01b0316639bccfe496040518163ffffffff1660e01b8152600401602060405180830381865afa1580156113af573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113d3919061545d565b50600080546001600160a01b03808c167fffffffffffffffffffffffff00000000000000000000000000000000000000009283161790925560018054928b169290911691909117905561142587612c5e565b611437866000015187602001516130db565b61144986604001518760600151613b89565b83156114aa5784547fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b505050505050505050565b6000806114c68b8b8b8b8b8b613c26565b6040805160008082526020820180845284905260ff89169282019290925260608101879052608081018690529192509060019060a0016020604051602081039080840390855afa15801561151e573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001519150506001600160a01b038116158061157157508b6001600160a01b0316816001600160a01b031614155b156115a8576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6115b6818c8c8c8c8c6131cf565b9c9b505050505050505050505050565b6000806115d78b8b8b8b8b8b613d84565b6040805160008082526020820180845284905260ff89169282019290925260608101879052608081018690529192509060019060a0016020604051602081039080840390855afa15801561162f573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001519150506001600160a01b038116158061168257508b6001600160a01b0316816001600160a01b031614155b156116b9576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6115b6818c8c8c8c8c612612565b600061170f338a8a8a8a8a8a8a8a8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061388592505050565b9998505050505050505050565b610c723382612f50565b60008054906101000a90046001600160a01b03166001600160a01b031663c34c08e56040518163ffffffff1660e01b8152600401602060405180830381865afa158015611777573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061179b9190615603565b6001600160a01b0316336001600160a01b0316146117e5576040517f26bee1ce00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61102c8282613b89565b600080610f5b6003613063565b604080516020810190915260608152604080516003805460208082028401850185528301818152929391928492909184916000908501821561113f576000848152602090819020604080516060810182529185015465ffffffffffff8116835261ffff660100000000000082048116848601526801000000000000000090910416908201528252600190920191016110e0565b604080516020810190915260608152818311156118d8576040517f2cd4dad300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60035480831115611915576040517f2cd4dad300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006119218585615620565b905060008167ffffffffffffffff81111561193e5761193e614d65565b6040519080825280602002602001820160405280156119a757816020015b60408051606081018252600080825260208083018290529282015282527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90920191018161195c5790505b509050855b85811015610f345760038054829081106119c8576119c8615633565b600091825260209182902060408051606081018252919092015465ffffffffffff8116825261ffff660100000000000082048116948301949094526801000000000000000090049092169082015282611a218984615620565b81518110611a3157611a31615633565b6020026020010181905250611a468160010190565b90506119ac565b600080546040517fb6e76873000000000000000000000000000000000000000000000000000000008152833560048201526001600160a01b039091169063b6e768739060240161012060405180830381865afa158015611ab1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ad591906152c8565b9050600060018260a00151611aea91906153a6565b67ffffffffffffffff169050600160009054906101000a90046001600160a01b03166001600160a01b031663ae2a6df26040518163ffffffff1660e01b815260040160006040518083038186803b158015611b4457600080fd5b505afa158015611b58573d6000803e3d6000fd5b50505050600080600080611b7685600461203490919063ffffffff16565b90925090506000611b8d6080890160608a016153ce565b6001600160a01b0316637999762c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611bca573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bee91906153eb565b67ffffffffffffffff16905061271061ffff84168202048760a0015167ffffffffffffffff160194506127108261ffff16820281611c2e57611c2e615406565b0485019350834211611c6c576040517f038d8a6a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b808760a0015167ffffffffffffffff16611c869190615662565b421115611cbf576040517f08c8d62700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050843560009081526006602052604080822060015491517fcdfda4dd000000000000000000000000000000000000000000000000000000008152600481018690529092916001600160a01b03169063edb8ee5a90829063cdfda4dd90602401602060405180830381865afa158015611d3d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d619190615435565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b16815265ffffffffffff9091166004820152602401602060405180830381865afa158015611dbc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611de0919061545d565b825460018401549192506fffffffffffffffffffffffffffffffff808216928116917001000000000000000000000000000000009004166000611e2460038a6121cd565b5090506000611e3a868361ffff166127106122d8565b905080856fffffffffffffffffffffffffffffffff161015611ea3576040517f0425fab10000000000000000000000000000000000000000000000000000000081526fffffffffffffffffffffffffffffffff86166004820152602481018290526044016109da565b836fffffffffffffffffffffffffffffffff16856fffffffffffffffffffffffffffffffff1611611f1c576040517f8a0df63f0000000000000000000000000000000000000000000000000000000081526fffffffffffffffffffffffffffffffff8087166004830152851660248201526044016109da565b6000611f3b8d6060016020810190611f3491906153ce565b600161231c565b905060008054906101000a90046001600160a01b03166001600160a01b03166389e7d126828f6040518363ffffffff1660e01b8152600401611f7e9291906155b2565b6020604051808303816000875af1158015611f9d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fc191906155e8565b50604080518e3581526fffffffffffffffffffffffffffffffff808916602083015280881692820192909252908516606082015260ff82169033907ff23279e924757f3bfe4f543bc1b43685e851d6ace53f8518b806dcd8d42fc13990608001610b62565b600080610b876003846121cd565b6000804283106120c6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f506572696f64506374436865636b706f696e74733a2074696d657374616d702060448201527f6973206e6f7420696e207468652070617374000000000000000000000000000060648201526084016109da565b60006120d184613db3565b855490915060008160058111156121315760006120ed84613dfc565b6120f79085615620565b60008a81526020902090915081015465ffffffffffff90811690861610156121215780915061212f565b61212c816001615662565b92505b505b600061213f89868585613eae565b90508060000361215a576000809650965050505050506121c6565b60006121798a61216b600185615620565b600091825260209091200190565b60408051606081018252915465ffffffffffff8116835261ffff66010000000000008204811660208501819052680100000000000000009092041692909101829052985096505050505050505b9250929050565b60008042831061225f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602f60248201527f51756f72756d436865636b706f696e74733a2074696d657374616d702069732060448201527f6e6f7420696e207468652070617374000000000000000000000000000000000060648201526084016109da565b600061226a84613db3565b855490915060008160058111156122ca57600061228684613dfc565b6122909085615620565b60008a81526020902090915081015465ffffffffffff90811690861610156122ba578091506122c8565b6122c5816001615662565b92505b505b600061213f89868585613f10565b6000827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048411830215820261230d57600080fd5b50910281810615159190040190565b60008054604080517f0505c8c9000000000000000000000000000000000000000000000000000000008152905183926001600160a01b031691630505c8c99160048083019260209291908290030181865afa15801561237f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123a39190615603565b6001600160a01b0316638b2ed3886040518163ffffffff1660e01b8152600401602060405180830381865afa1580156123e0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124049190615675565b905060015b8160ff16811161253b57836124a1576040517fc167ebae00000000000000000000000000000000000000000000000000000000815260ff821660048201526001600160a01b0386169063c167ebae90602401602060405180830381865afa158015612478573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061249c9190615692565b612525565b6040517ffb847c4300000000000000000000000000000000000000000000000000000000815260ff821660048201526001600160a01b0386169063fb847c4390602401602060405180830381865afa158015612501573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125259190615692565b15612533579150610f489050565b600101612409565b50826125a857836001600160a01b03166312a52f006040518163ffffffff1660e01b8152600401602060405180830381865afa15801561257f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125a39190615675565b61260a565b836001600160a01b03166366cacdc96040518163ffffffff1660e01b8152600401602060405180830381865afa1580156125e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061260a9190615675565b949350505050565b600080546040517fb6e768730000000000000000000000000000000000000000000000000000000081528635600482015282916001600160a01b03169063b6e768739060240161012060405180830381865afa158015612676573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061269a91906152c8565b9050600060018260a001516126af91906153a6565b8735600090815260066020526040902067ffffffffffffffff9190911691506126de6080890160608a016153ce565b6001600160a01b03166302674e4b89308c6040518463ffffffff1660e01b815260040161270d939291906156af565b60006040518083038186803b15801561272557600080fd5b505afa158015612739573d6000803e3d6000fd5b505050506001600160a01b038a16600090815260048201602052604090205460ff1615612792576040517f9dd6544b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6127a0888a89600486613f6a565b60008080806127b0600487612034565b909250905060006127c760808e0160608f016153ce565b6001600160a01b031663b02bd9206040518163ffffffff1660e01b8152600401602060405180830381865afa158015612804573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061282891906153eb565b67ffffffffffffffff16905061271061ffff8416820204818960c0015167ffffffffffffffff16030194506127108261ffff1682028161286a5761286a615406565b04850193508442116128a8576040517fd0b72b4900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b834211156128e2576040517f5b73d19300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050506000612a25600160009054906101000a90046001600160a01b03166001600160a01b0316639556de738f600160009054906101000a90046001600160a01b03166001600160a01b031663cdfda4dd886040518263ffffffff1660e01b815260040161295291815260200190565b602060405180830381865afa15801561296f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906129939190615435565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b1681526001600160a01b03909216600483015265ffffffffffff166024820152604401602060405180830381865afa1580156129fc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a20919061545d565b61425e565b905060ff8a16612a9e576002840154612a649070010000000000000000000000000000000090046fffffffffffffffffffffffffffffffff16826142ad565b6002850180546fffffffffffffffffffffffffffffffff928316700100000000000000000000000000000000029216919091179055612bc6565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60ff8b1601612b37576001840154612afd9070010000000000000000000000000000000090046fffffffffffffffffffffffffffffffff16826142ad565b6001850180546fffffffffffffffffffffffffffffffff928316700100000000000000000000000000000000029216919091179055612bc6565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe60ff8b1601612bc6576002840154612b82906fffffffffffffffffffffffffffffffff16826142ad565b6002850180547fffffffffffffffffffffffffffffffff00000000000000000000000000000000166fffffffffffffffffffffffffffffffff929092169190911790555b6001600160a01b038d1660008181526004860160205260409081902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790555160ff8c1691907f4e3e2ad68670a2709cb408c31c5afd8da0b6d3d06c75b11feb404a455639fe7c90612c46908f359086908f908f90615713565b60405180910390a39c9b505050505050505050505050565b60018054604080517f91ddadf400000000000000000000000000000000000000000000000000000000815290516000936001600160a01b039093169263edb8ee5a92909184916391ddadf49160048083019260209291908290030181865afa158015612cce573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612cf29190615435565b612cfc9190615745565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b16815265ffffffffffff9091166004820152602401602060405180830381865afa158015612d57573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612d7b919061545d565b905080600003612db7576040517f34bbd58500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80821115612df1576040517f8a5e746800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60028290556040518281527fd91a985c173545ab0e0bd11c021a1ae84c1ea6eab9350d9bf3812d5b8bff49a4906020015b60405180910390a15050565b6000807f6da9390b4f29da2c44fa5a9da00b392393d01e989d16e4a3dec5a538318e352584612e5c856142f4565b6001600160a01b03871660009081526007602090815260408083207fffffffff00000000000000000000000000000000000000000000000000000000843516845290915290208054600181019091556040805160208101959095526001600160a01b03909316928401929092526060830152608082015260a001604051602081830303815290604052805190602001209050612ef66143eb565b6040517f190100000000000000000000000000000000000000000000000000000000000060208201526022810191909152604281018290526062016040516020818303038152906040528051906020012091505092915050565b80356000908152600560205260409020546001600160a01b03838116911614612fa5576040517f86ba025600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000546040517fb92cdd9a0000000000000000000000000000000000000000000000000000000081526001600160a01b039091169063b92cdd9a90612fee908490600401615764565b600060405180830381600087803b15801561300857600080fd5b505af115801561301c573d6000803e3d6000fd5b5050604051833581526001600160a01b03851692507fdcccc5725b7256a6975da00de8953e5d326756a3079d203ff6df9e52331f411a915060200160405180910390a25050565b8054600090819080820361307d5750600093849350915050565b600061308e8561216b600185615620565b60408051606081018252915465ffffffffffff8116835261ffff66010000000000008204811660208501819052680100000000000000009092041692909101829052969095509350505050565b6127108261ffff1611806130f1575061ffff8216155b1561312e576040517f8f6febc000000000000000000000000000000000000000000000000000000000815261ffff831660048201526024016109da565b6127108161ffff161180613144575061ffff8116155b15613181576040517f3bec511c00000000000000000000000000000000000000000000000000000000815261ffff821660048201526024016109da565b613194600361ffff80851690841661454d565b6040805161ffff8085168252831660208201527f77c3f43700db02acb49792bbf699b39f72c2ed4b920bd5c0b1843dcd7c832f4c9101612e22565b600080546040517fb6e768730000000000000000000000000000000000000000000000000000000081528635600482015282916001600160a01b03169063b6e768739060240161012060405180830381865afa158015613233573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061325791906152c8565b9050600060018260a0015161326c91906153a6565b8735600090815260066020526040902067ffffffffffffffff91909116915061329b6080890160608a016153ce565b6001600160a01b0316631a2a4e7789308c6040518463ffffffff1660e01b81526004016132ca939291906156af565b60006040518083038186803b1580156132e257600080fd5b505afa1580156132f6573d6000803e3d6000fd5b505050506001600160a01b038a16600090815260038201602052604090205460ff161561334f576040517f9dd6544b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61335d888a89600086613f6a565b600080808061336d600487612034565b9092509050600061338460808e0160608f016153ce565b6001600160a01b0316637999762c6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156133c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906133e591906153eb565b67ffffffffffffffff16905061271061ffff84168202048860a0015167ffffffffffffffff160194506127108261ffff1682028161342557613425615406565b0485019350844211613463576040517fd0b72b4900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8342111561349d576040517f5b73d19300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050600061350d600160009054906101000a90046001600160a01b03166001600160a01b0316639556de738f600160009054906101000a90046001600160a01b03166001600160a01b031663cdfda4dd886040518263ffffffff1660e01b815260040161295291815260200190565b905060ff8a16613580576001840154613538906fffffffffffffffffffffffffffffffff16826142ad565b6001850180547fffffffffffffffffffffffffffffffff00000000000000000000000000000000166fffffffffffffffffffffffffffffffff92909216919091179055613694565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60ff8b16016136095783546135c8906fffffffffffffffffffffffffffffffff16826142ad565b84547fffffffffffffffffffffffffffffffff00000000000000000000000000000000166fffffffffffffffffffffffffffffffff91909116178455613694565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe60ff8b16016136945783546136659070010000000000000000000000000000000090046fffffffffffffffffffffffffffffffff16826142ad565b84546fffffffffffffffffffffffffffffffff9182167001000000000000000000000000000000000291161784555b6001600160a01b038d1660008181526003860160205260409081902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790555160ff8c1691907f761cce3a1af5d9cfc0d57222f605ce4bd2be345f0ad9ebb7b83a84a91a0c201490612c46908f359086908f908f90615713565b6001600160a01b03881660009081526007602090815260408083207fffffffff000000000000000000000000000000000000000000000000000000008435168452909152812080546001810190915560007fd1fab1c7b3b37134662e5867b00e272eb49f7be0a890df29e802c3cc66c06f838b8b8b8b8b8b8b60405161379b929190615777565b604080519182900382208c516020808f0191909120908401999099526001600160a01b039788169183019190915260ff90951660608201529285166080840152931660a082015260c081019290925260e08201526101008101919091526101208101839052610140016040516020818303038152906040528051906020012090506138246143eb565b6040517f19010000000000000000000000000000000000000000000000000000000000006020820152602281019190915260428101829052606201604051602081830303815290604052805190602001209250505098975050505050505050565b600154604080517fae2a6df200000000000000000000000000000000000000000000000000000000815290516000926001600160a01b03169163ae2a6df29160048083019286929190829003018186803b1580156138e257600080fd5b505afa1580156138f6573d6000803e3d6000fd5b505060018054604080517f91ddadf40000000000000000000000000000000000000000000000000000000081529051600095506001600160a01b039092169350639556de73928e92909185916391ddadf4916004808201926020929091908290030181865afa15801561396d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906139919190615435565b61399b9190615745565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b1681526001600160a01b03909216600483015265ffffffffffff166024820152604401602060405180830381865afa158015613a04573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613a28919061545d565b9050600254811015613a69576040517f92665351000000000000000000000000000000000000000000000000000000008152600481018290526024016109da565b6000546040517fb3c678b00000000000000000000000000000000000000000000000000000000081526001600160a01b039091169063b3c678b090613abe908c908c908c908c908c908c908c906004016157ab565b6020604051808303816000875af1158015613add573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613b01919061545d565b60008181526005602090815260409182902080547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b038f16908117909155915183815292945090917f1834dfd49255741a8ce9a9bd66b91b64d13622e1d8170e4c78ac91f9ec50a542910160405180910390a25098975050505050505050565b612710613b96828461583b565b61ffff1610613bdf576040517f519dd38400000000000000000000000000000000000000000000000000000000815261ffff8084166004830152821660248201526044016109da565b613beb60048383614576565b6040805161ffff8085168252831660208201527f8df7bdcce333d9e1b85e40782fb2f293c805761d3f48aaea58865e9541e44c709101612e22565b6000807fd7be168a3509af358f222ee35ee76aba47bc5fc2c35061cdce3958f510b7b1b28888613c55896142f4565b888888604051613c66929190615777565b60408051918290039091206001600160a01b038f166000908152600760209081528382207fffffffff0000000000000000000000000000000000000000000000000000000083351683529052919091208054600181019091556040805160208101989098526001600160a01b039096169587019590955260ff938416606087015260808601929092529190911660a084015260c083015260e082015261010001604051602081830303815290604052805190602001209050613d266143eb565b6040517f19010000000000000000000000000000000000000000000000000000000000006020820152602281019190915260428101829052606201604051602081830303815290604052805190602001209150509695505050505050565b6000807fa87058c5a9888e7af4405a932381d5a4612c61354bc3e52e9ea361ba17703fb38888613c55896142f4565b600065ffffffffffff821115613df8576040517fc0188c4f000000000000000000000000000000000000000000000000000000008152600481018390526024016109da565b5090565b60b581710100000000000000000000000000000000008110613e235760409190911b9060801c5b69010000000000000000008110613e3f5760209190911b9060401c5b650100000000008110613e575760109190911b9060201c5b63010000008110613e6d5760089190911b9060101c5b62010000010260121c80820401600190811c80830401811c80830401811c80830401811c80830401811c80830401811c80830401901c908190048111900390565b60005b81831015613f08576000613ec584846145a2565b60008781526020902090915065ffffffffffff86169082015465ffffffffffff161115613ef457809250613f02565b613eff816001615662565b93505b50613eb1565b509392505050565b60005b81831015613f08576000613f2784846145a2565b60008781526020902090915065ffffffffffff86169082015465ffffffffffff161115613f5657809250613f64565b613f61816001615662565b93505b50613f13565b600260ff84161115613fad576040517ffe0e5d8b00000000000000000000000000000000000000000000000000000000815260ff841660048201526024016109da565b600080546040517fec12d8be0000000000000000000000000000000000000000000000000000000081526001600160a01b039091169063ec12d8be90613ff7908990600401615764565b602060405180830381865afa158015614014573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906140389190615675565b60ff16600681111561404c5761404c6156e4565b9050826006811115614060576140606156e4565b816006811115614072576140726156e4565b146140ab57806040517f87afe58e0000000000000000000000000000000000000000000000000000000081526004016109da9190615856565b60008060009054906101000a90046001600160a01b03166001600160a01b0316630505c8c96040518163ffffffff1660e01b8152600401602060405180830381865afa1580156140ff573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906141239190615603565b6040517fe0bec07600000000000000000000000000000000000000000000000000000000815230600482015260ff88166024820152604481018590526001600160a01b03919091169063e0bec07690606401602060405180830381865afa158015614192573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906141b69190615692565b9050806141ef576040517f88aebd1200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600160009054906101000a90046001600160a01b03166001600160a01b031663ae2a6df26040518163ffffffff1660e01b815260040160006040518083038186803b15801561423d57600080fd5b505afa158015614251573d6000803e3d6000fd5b5050505050505050505050565b60006fffffffffffffffffffffffffffffffff821115613df8576040517fc0188c4f000000000000000000000000000000000000000000000000000000008152600481018390526024016109da565b60006fffffffffffffffffffffffffffffffff6142ce838216858316615662565b106142ea57506fffffffffffffffffffffffffffffffff610f48565b6110a28284615897565b60007f86b4555c6e347ea3f038485b59b894986c208b67da7e65fcfa3707271608465f823561432960408501602086016153ce565b61433960608601604087016158c0565b61434960808701606088016153ce565b61435960a08801608089016153ce565b60a088013561436b60c08a018a6158dd565b604051614379929190615777565b6040805191829003822060208301999099528101969096526001600160a01b03948516606087015260ff909316608086015290831660a08501529190911660c083015260e082015261010081019190915261012001604051602081830303815290604052805190602001209050919050565b60008054604080517f06fdde0300000000000000000000000000000000000000000000000000000000815290517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f926001600160a01b0316916306fdde0391600480830192879291908290030181865afa15801561446d573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526144b39190810190615942565b8051602091820120604080518082018252600181527f310000000000000000000000000000000000000000000000000000000000000090840152805192830193909352918101919091527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a082015260c00160405160208183030381529060405280519060200120905090565b6145718361455a42613db3565b614563856145bd565b61456c856145bd565b6145fe565b505050565b6145718361458342613db3565b6145908561ffff166145bd565b61459d8561ffff166145bd565b614909565b60006145b160028484186159b0565b6110a290848416615662565b600061ffff821115613df8576040517fc0188c4f000000000000000000000000000000000000000000000000000000008152600481018390526024016109da565b835480156148475760006146178661216b600185615620565b60408051606081018252915465ffffffffffff80821680855261ffff66010000000000008404811660208701526801000000000000000090930490921692840192909252919250861610156146ed576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f51756f72756d20436865636b706f696e743a20696e76616c69642074696d657360448201527f74616d700000000000000000000000000000000000000000000000000000000060648201526084016109da565b805165ffffffffffff8087169116036147865760006147118761216b600186615620565b805461ffff86811668010000000000000000027fffffffffffffffffffffffffffffffffffffffffffff0000ffffffffffffffff918916660100000000000002919091167fffffffffffffffffffffffffffffffffffffffffffff00000000ffffffffffff9092169190911717905550614841565b6040805160608101825265ffffffffffff808816825261ffff80881660208085019182528883169585019586528b54600181018d5560008d81529190912094519401805491519551831668010000000000000000027fffffffffffffffffffffffffffffffffffffffffffff0000ffffffffffffffff969093166601000000000000027fffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000909216949093169390931792909217929092161790555b50614902565b6040805160608101825265ffffffffffff808716825261ffff80871660208085019182528783169585019586528a54600181018c5560008c81529190912094519401805491519551831668010000000000000000027fffffffffffffffffffffffffffffffffffffffffffff0000ffffffffffffffff969093166601000000000000027fffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000909216949093169390931792909217929092161790555b5050505050565b835480156148475760006149228661216b600185615620565b60408051606081018252915465ffffffffffff80821680855261ffff66010000000000008404811660208701526801000000000000000090930490921692840192909252919250861610156146ed576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602860248201527f506572696f642050637420436865636b706f696e743a20696e76616c6964207460448201527f696d657374616d7000000000000000000000000000000000000000000000000060648201526084016109da565b600060e08284031215614a0b57600080fd5b50919050565b600060208284031215614a2357600080fd5b813567ffffffffffffffff811115614a3a57600080fd5b61260a848285016149f9565b600060208284031215614a5857600080fd5b5035919050565b60ff81168114610c7257600080fd5b8035614a7981614a5f565b919050565b60008083601f840112614a9057600080fd5b50813567ffffffffffffffff811115614aa857600080fd5b6020830191508360208285010111156121c657600080fd5b600080600080600060808688031215614ad857600080fd5b8535614ae381614a5f565b9450602086013567ffffffffffffffff80821115614b0057600080fd5b614b0c89838a016149f9565b955060408801359150614b1e82614a5f565b90935060608701359080821115614b3457600080fd5b50614b4188828901614a7e565b969995985093965092949392505050565b80357fffffffff0000000000000000000000000000000000000000000000000000000081168114614a7957600080fd5b600060208284031215614b9457600080fd5b6110a282614b52565b6001600160a01b0381168114610c7257600080fd5b8035614a7981614b9d565b600080600080600060a08688031215614bd557600080fd5b8535614be081614b9d565b9450602086013567ffffffffffffffff811115614bfc57600080fd5b614c08888289016149f9565b9450506040860135614c1981614a5f565b94979396509394606081013594506080013592915050565b60008060408385031215614c4457600080fd5b50508035926020909101359150565b60208082528251828201829052805160408401819052600092916060919083019082860190855b81811015614cc357614cb3838551805165ffffffffffff16825260208082015161ffff9081169184019190915260409182015116910152565b9285019291840191600101614c7a565b5090979650505050505050565b803561ffff81168114614a7957600080fd5b60008060408385031215614cf557600080fd5b614cfe83614cd0565b9150614d0c60208401614cd0565b90509250929050565b8015158114610c7257600080fd5b600080600060608486031215614d3857600080fd5b833592506020840135614d4a81614b9d565b91506040840135614d5a81614d15565b809150509250925092565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051610120810167ffffffffffffffff81118282101715614db857614db8614d65565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715614e0557614e05614d65565b604052919050565b600067ffffffffffffffff821115614e2757614e27614d65565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b600082601f830112614e6457600080fd5b8135614e77614e7282614e0d565b614dbe565b818152846020838601011115614e8c57600080fd5b816020850160208301376000918101602001919091529392505050565b60008060008060008060008060008060006101408c8e031215614ecb57600080fd5b614ed48c614bb2565b9a50614ee260208d01614a6e565b9950614ef060408d01614bb2565b9850614efe60608d01614bb2565b975060808c0135965067ffffffffffffffff8060a08e01351115614f2157600080fd5b614f318e60a08f01358f01614a7e565b909750955060c08d0135811015614f4757600080fd5b50614f588d60c08e01358e01614e53565b9350614f6660e08d01614a6e565b92506101008c013591506101208c013590509295989b509295989b9093969950565b60008060008084860360e0811215614f9f57600080fd5b8535614faa81614b9d565b94506020860135614fba81614b9d565b93506040860135925060807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa082011215614ff357600080fd5b506040516080810181811067ffffffffffffffff8211171561501757615017614d65565b60405261502660608701614cd0565b815261503460808701614cd0565b602082015261504560a08701614cd0565b604082015261505660c08701614cd0565b6060820152939692955090935050565b60008060008060008060008060006101008a8c03121561508557600080fd5b893561509081614b9d565b985060208a01356150a081614a5f565b975060408a013567ffffffffffffffff808211156150bd57600080fd5b6150c98d838e016149f9565b985060608c013591506150db82614a5f565b90965060808b013590808211156150f157600080fd5b506150fe8c828d01614a7e565b90965094505060a08a013561511281614a5f565b8093505060c08a0135915060e08a013590509295985092959850929598565b60008060008060008060008060c0898b03121561514d57600080fd5b883561515881614a5f565b9750602089013561516881614b9d565b9650604089013561517881614b9d565b955060608901359450608089013567ffffffffffffffff8082111561519c57600080fd5b6151a88c838d01614a7e565b909650945060a08b01359150808211156151c157600080fd5b506151ce8b828c01614a7e565b999c989b5096995094979396929594505050565b600080604083850312156151f557600080fd5b823561520081614b9d565b9150614d0c60208401614b52565b60208082528251828201829052805160408401819052600092916060919083019082860190855b81811015614cc35761526e838551805165ffffffffffff16825260208082015161ffff9081169184019190915260409182015116910152565b9285019291840191600101615235565b8051614a7981614d15565b8051614a7981614b9d565b805167ffffffffffffffff81168114614a7957600080fd5b80516bffffffffffffffffffffffff81168114614a7957600080fd5b600061012082840312156152db57600080fd5b6152e3614d94565b825181526152f36020840161527e565b60208201526153046040840161527e565b60408201526153156060840161527e565b606082015261532660808401615289565b608082015261533760a08401615294565b60a082015261534860c08401615294565b60c082015261535960e084016152ac565b60e082015261010061536c8185016152ac565b908201529392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b67ffffffffffffffff8281168282160390808211156153c7576153c7615377565b5092915050565b6000602082840312156153e057600080fd5b81356110a281614b9d565b6000602082840312156153fd57600080fd5b6110a282615294565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006020828403121561544757600080fd5b815165ffffffffffff811681146110a257600080fd5b60006020828403121561546f57600080fd5b5051919050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b80358252600060208201356154d381614b9d565b6001600160a01b0390811660208501526040830135906154f282614a5f565b60ff821660408601526060840135915061550b82614b9d565b908116606085015260808301359061552282614b9d565b16608084015260a0828101359084015260c0820135368390037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe101811261556857600080fd5b820160208101903567ffffffffffffffff81111561558557600080fd5b80360382131561559457600080fd5b60e060c08601526155a960e086018284615476565b95945050505050565b60ff831681526060602082015260006155ce60608301846154bf565b828103604084015260008152602081019150509392505050565b6000602082840312156155fa57600080fd5b6110a2826152ac565b60006020828403121561561557600080fd5b81516110a281614b9d565b81810381811115610f4857610f48615377565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b80820180821115610f4857610f48615377565b60006020828403121561568757600080fd5b81516110a281614a5f565b6000602082840312156156a457600080fd5b81516110a281614d15565b6060815260006156c260608301866154bf565b90506001600160a01b038416602083015260ff83166040830152949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b8481526fffffffffffffffffffffffffffffffff84166020820152606060408201526000610ba0606083018486615476565b65ffffffffffff8281168282160390808211156153c7576153c7615377565b6020815260006110a260208301846154bf565b8183823760009101908152919050565b60005b838110156157a257818101518382015260200161578a565b50506000910152565b60ff8816815260006001600160a01b03808916602084015280881660408401525085606083015260c060808301526157e760c083018587615476565b82810360a08401528351808252615805816020840160208801615787565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016016020019998505050505050505050565b61ffff8181168382160190808211156153c7576153c7615377565b6020810160078310615891577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b91905290565b6fffffffffffffffffffffffffffffffff8181168382160190808211156153c7576153c7615377565b6000602082840312156158d257600080fd5b81356110a281614a5f565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261591257600080fd5b83018035915067ffffffffffffffff82111561592d57600080fd5b6020019150368190038213156121c657600080fd5b60006020828403121561595457600080fd5b815167ffffffffffffffff81111561596b57600080fd5b8201601f8101841361597c57600080fd5b805161598a614e7282614e0d565b81815285602083850101111561599f57600080fd5b6155a9826020830160208601615787565b6000826159e6577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b50049056fea164736f6c6343000817000a", + "nonce": "0x0", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xd6a6779e8bebc623bacc89562b7c8d60e63fc341df4bee66f6ab085c5ceb27bd", + "transactionType": "CREATE", + "contractName": "LlamaTokenVotingFactory", + "contractAddress": "0xFBE17545dffD75A92A5A72926AE581478973FE65", + "function": null, + "arguments": [ + "0x3f3DAB3ab8cEc2FBd06767c2A5F66Cb6BFF21A4A" + ], + "transaction": { + "type": "0x02", + "from": "0xb72276d9ff15c7998b9962ffcfb21a6c7249441b", + "gas": "0xc9127", + "value": "0x0", + "data": "0x60a060405234801561001057600080fd5b50604051610b16380380610b1683398101604081905261002f91610040565b6001600160a01b0316608052610070565b60006020828403121561005257600080fd5b81516001600160a01b038116811461006957600080fd5b9392505050565b608051610a8561009160003960008181604001526104390152610a856000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c806321618ea41461003b5780633ec857a51461008b575b600080fd5b6100627f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b61006261009936600461087b565b600080338360000151846040015185606001516040516020016100bf9493929190610959565b60405160208183030381529060405280519060200120905060006100e7846020015183610622565b60408086015190517f439fab9100000000000000000000000000000000000000000000000000000000815291925073ffffffffffffffffffffffffffffffffffffffff83169163439fab919161013f916004016109b9565b6020604051808303816000875af115801561015e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101829190610a0a565b50600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1663fc0c546a6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156101e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061020a9190610a33565b73ffffffffffffffffffffffffffffffffffffffff1603610257576040517f65f5b03400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517fcdfda4dd00000000000000000000000000000000000000000000000000000000815242600482015273ffffffffffffffffffffffffffffffffffffffff82169063cdfda4dd90602401602060405180830381865afa1580156102c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102e59190610a50565b65ffffffffffff16600003610326576040517f65f5b03400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff166391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865afa158015610371573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103959190610a50565b65ffffffffffff166000036103d6576040517f65f5b03400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1663ae2a6df26040518163ffffffff1660e01b815260040160006040518083038186803b15801561041c57600080fd5b505afa158015610430573d6000803e3d6000fd5b5050505061045e7f000000000000000000000000000000000000000000000000000000000000000083610622565b8451608086015160a0870151604080517f8734852a00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff948516600482015286851660248201526044810193909352815161ffff908116606485015260208301518116608485015290820151811660a48401526060909101511660c4820152919450841690638734852a9060e401600060405180830381600087803b15801561051757600080fd5b505af115801561052b573d6000803e3d6000fd5b505050508073ffffffffffffffffffffffffffffffffffffffff1663fc0c546a6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561057a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061059e9190610a33565b84516020808701516060808901516040805173ffffffffffffffffffffffffffffffffffffffff94851681528885169581019590955284015287821690830152466080830152928316929091169033907f4c8bb78cb1c62e64cef39fc4b4a1864d1a331a28c7bd59a67fe969cc8ab715879060a00160405180910390a45050919050565b6000763d602d80600a3d3981f3363d3d373d3d3d363d730000008360601b60e81c176000526e5af43d82803e903d91602b57fd5bf38360781b1760205281603760096000f5905073ffffffffffffffffffffffffffffffffffffffff81166106b6576040517fc2f868f400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405160c0810167ffffffffffffffff8111828210171561070e5761070e6106bc565b60405290565b73ffffffffffffffffffffffffffffffffffffffff8116811461073657600080fd5b50565b600082601f83011261074a57600080fd5b813567ffffffffffffffff80821115610765576107656106bc565b604051601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011681019082821181831017156107ab576107ab6106bc565b816040528381528660208588010111156107c457600080fd5b836020870160208301376000602085830101528094505050505092915050565b803561ffff811681146107f657600080fd5b919050565b60006080828403121561080d57600080fd5b6040516080810181811067ffffffffffffffff82111715610830576108306106bc565b60405290508061083f836107e4565b815261084d602084016107e4565b602082015261085e604084016107e4565b604082015261086f606084016107e4565b60608201525092915050565b60006020828403121561088d57600080fd5b813567ffffffffffffffff808211156108a557600080fd5b9083019061012082860312156108ba57600080fd5b6108c26106eb565b82356108cd81610714565b815260208301356108dd81610714565b60208201526040830135828111156108f457600080fd5b61090087828601610739565b60408301525060608301356060820152608083013560808201526109278660a085016107fb565b60a082015295945050505050565b60005b83811015610950578181015183820152602001610938565b50506000910152565b60007fffffffffffffffffffffffffffffffffffffffff000000000000000000000000808760601b168352808660601b1660148401525083516109a3816028850160208801610935565b6028920191820192909252604801949350505050565b60208152600082518060208401526109d8816040850160208701610935565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169190910160400192915050565b600060208284031215610a1c57600080fd5b81518015158114610a2c57600080fd5b9392505050565b600060208284031215610a4557600080fd5b8151610a2c81610714565b600060208284031215610a6257600080fd5b815165ffffffffffff81168114610a2c57600080fdfea164736f6c6343000817000a0000000000000000000000003f3dab3ab8cec2fbd06767c2a5f66cb6bff21a4a", + "nonce": "0x1", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xaaff59fcd0337323ba2c4e2bdb9a170e72af4e9acc7b0ad353328d86a9472441", + "transactionType": "CREATE", + "contractName": "LlamaTokenAdapterVotesTimestamp", + "contractAddress": "0x088C268cb00226D6A9b29e5488905Aa94D2f0239", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0xb72276d9ff15c7998b9962ffcfb21a6c7249441b", + "gas": "0x10d28c", + "value": "0x0", + "data": "0x608060405234801561001057600080fd5b5061001961001e565b6100d0565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff161561006e5760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b03908116146100cd5780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b610df5806100df6000396000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c8063ae2a6df21161005b578063ae2a6df21461010a578063cdfda4dd14610114578063edb8ee5a14610127578063fc0c546a1461013a57600080fd5b8063439fab911461008d5780634bf5d7e9146100b557806391ddadf4146100ca5780639556de73146100e9575b600080fd5b6100a061009b3660046108e4565b61017f565b60405190151581526020015b60405180910390f35b6100bd6103a1565b6040516100ac9190610988565b6100d261042f565b60405165ffffffffffff90911681526020016100ac565b6100fc6100f7366004610a12565b6104e9565b6040519081526020016100ac565b610112610593565b005b6100d2610122366004610a4b565b6105ef565b6100fc610135366004610a64565b610600565b60005461015a9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100ac565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0080546000919068010000000000000000810460ff16159067ffffffffffffffff1683811580156101cd5750825b905060008267ffffffffffffffff1660011480156101ea5750303b155b9050811580156101f8575080155b1561022f576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b84547fffffffffffffffffffffffffffffffffffffffffffffffff000000000000000016600117855583156102905784547fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff16680100000000000000001785555b6000878060200190518101906102a69190610a81565b8051600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff90921691909117905560408051808201909152600e81527f6d6f64653d74696d657374616d7000000000000000000000000000000000000060208201529091506001906103309082610b71565b50600196505083156103975784547fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b5050505050919050565b600180546103ae90610acd565b80601f01602080910402602001604051908101604052809291908181526020018280546103da90610acd565b80156104275780601f106103fc57610100808354040283529160200191610427565b820191906000526020600020905b81548152906001019060200180831161040a57829003601f168201915b505050505081565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156104d7575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682019092526104d491810190610c8b565b60015b6104e4576104e44261069b565b905090565b600080546040517f3a46b1a800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff858116600483015265ffffffffffff8516602483015290911690633a46b1a890604401602060405180830381865afa158015610568573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061058c9190610ca8565b9392505050565b600061059d6106e8565b905060006105a9610712565b905081806105b45750805b156105eb576040517f6ff0714000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050565b60006105fa8261069b565b92915050565b600080546040517f8e539e8c00000000000000000000000000000000000000000000000000000000815265ffffffffffff8416600482015273ffffffffffffffffffffffffffffffffffffffff90911690638e539e8c90602401602060405180830381865afa158015610677573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105fa9190610ca8565b600065ffffffffffff8211156106e4576040517fc0188c4f0000000000000000000000000000000000000000000000000000000081526004810183905260240160405180910390fd5b5090565b60006106f34261069b565b65ffffffffffff1661070361042f565b65ffffffffffff161415905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16634bf5d7e96040518163ffffffff1660e01b8152600401600060405180830381865afa9250505080156107bf57506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526107bc9190810190610cc1565b60015b6107c95750600090565b60016040516020016107db9190610d38565b60405160208183030381529060405280519060200120816040516020016108029190610dcc565b60405160208183030381529060405280519060200120141591505090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff8111828210171561089657610896610820565b604052919050565b600067ffffffffffffffff8211156108b8576108b8610820565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b6000602082840312156108f657600080fd5b813567ffffffffffffffff81111561090d57600080fd5b8201601f8101841361091e57600080fd5b803561093161092c8261089e565b61084f565b81815285602083850101111561094657600080fd5b81602084016020830137600091810160200191909152949350505050565b60005b8381101561097f578181015183820152602001610967565b50506000910152565b60208152600082518060208401526109a7816040850160208701610964565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169190910160400192915050565b73ffffffffffffffffffffffffffffffffffffffff811681146109fb57600080fd5b50565b65ffffffffffff811681146109fb57600080fd5b60008060408385031215610a2557600080fd5b8235610a30816109d9565b91506020830135610a40816109fe565b809150509250929050565b600060208284031215610a5d57600080fd5b5035919050565b600060208284031215610a7657600080fd5b813561058c816109fe565b600060208284031215610a9357600080fd5b6040516020810181811067ffffffffffffffff82111715610ab657610ab6610820565b6040528251610ac4816109d9565b81529392505050565b600181811c90821680610ae157607f821691505b602082108103610b1a577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b601f821115610b6c576000816000526020600020601f850160051c81016020861015610b495750805b601f850160051c820191505b81811015610b6857828155600101610b55565b5050505b505050565b815167ffffffffffffffff811115610b8b57610b8b610820565b610b9f81610b998454610acd565b84610b20565b602080601f831160018114610bf25760008415610bbc5750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b178555610b68565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b82811015610c3f57888601518255948401946001909101908401610c20565b5085821015610c7b57878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b600060208284031215610c9d57600080fd5b815161058c816109fe565b600060208284031215610cba57600080fd5b5051919050565b600060208284031215610cd357600080fd5b815167ffffffffffffffff811115610cea57600080fd5b8201601f81018413610cfb57600080fd5b8051610d0961092c8261089e565b818152856020838501011115610d1e57600080fd5b610d2f826020830160208601610964565b95945050505050565b6000808354610d4681610acd565b60018281168015610d5e5760018114610d9157610dc0565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0084168752821515830287019450610dc0565b8760005260208060002060005b85811015610db75781548a820152908401908201610d9e565b50505082870194505b50929695505050505050565b60008251610dde818460208701610964565b919091019291505056fea164736f6c6343000817000a", + "nonce": "0x2", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [ + "0x5794742df00549335af9866a24f455930c4e4d52b31699c0c7dd107c6bdefc81", + "0xd6a6779e8bebc623bacc89562b7c8d60e63fc341df4bee66f6ab085c5ceb27bd", + "0xaaff59fcd0337323ba2c4e2bdb9a170e72af4e9acc7b0ad353328d86a9472441" + ], + "returns": {}, + "timestamp": 1704995262, + "chain": 8453, + "multi": false, + "commit": "688208a" +} \ No newline at end of file diff --git a/broadcast/DeployLlamaTokenVotingFactory.s.sol/8453/run-1704995268.json b/broadcast/DeployLlamaTokenVotingFactory.s.sol/8453/run-1704995268.json new file mode 100644 index 0000000..c3838fa --- /dev/null +++ b/broadcast/DeployLlamaTokenVotingFactory.s.sol/8453/run-1704995268.json @@ -0,0 +1,148 @@ +{ + "transactions": [ + { + "hash": "0x5794742df00549335af9866a24f455930c4e4d52b31699c0c7dd107c6bdefc81", + "transactionType": "CREATE", + "contractName": "LlamaTokenGovernor", + "contractAddress": "0x3f3DAB3ab8cEc2FBd06767c2A5F66Cb6BFF21A4A", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0xb72276d9ff15c7998b9962ffcfb21a6c7249441b", + "gas": "0x6398ff", + "value": "0x0", + "data": "0x60806040523480156200001157600080fd5b506200001c62000022565b620000d6565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff1615620000735760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b0390811614620000d35780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b6159f880620000e66000396000f3fe608060405234801561001057600080fd5b50600436106101da5760003560e01c80637e4a56bb11610104578063b92cdd9a116100a2578063cae3bdff11610071578063cae3bdff1461053d578063dcae21b714610552578063e45061ea14610565578063e5589b9d1461057857600080fd5b8063b92cdd9a146104e4578063b9b2cf6c146104f7578063c193c2691461050a578063c26c12eb1461053557600080fd5b80638734852a116100de5780638734852a1461049857806396ff6e2e146104ab578063a1d9b412146104be578063b3c678b0146104d157600080fd5b80637e4a56bb1461046a5780637ed7238e14610472578063807ad1141461048557600080fd5b80633fed8f161161017c57806359e5332d1161014b57806359e5332d1461036457806364f6b3161461037b5780637186dd9c1461038e57806374f717cd1461044757600080fd5b80633fed8f16146103165780634d61ebf4146103365780634ec0ab1c1461033e578063509c5fbd1461035157600080fd5b806319a39740116101b857806319a397401461025b5780631e127ddf1461026e578063372fa8e8146102c25780633df91222146102d557600080fd5b80630669b1ce146101df57806311f900b5146101f45780631650080714610227575b600080fd5b6101f26101ed366004614a11565b61058b565b005b610207610202366004614a46565b610b79565b6040805161ffff9384168152929091166020830152015b60405180910390f35b61023a610235366004614ac0565b610b90565b6040516fffffffffffffffffffffffffffffffff909116815260200161021e565b6101f2610269366004614a46565b610baa565b6101f261027c366004614b82565b3360009081526007602090815260408083207fffffffff000000000000000000000000000000000000000000000000000000009490941683529290522080546001019055565b6101f26102d0366004614bbd565b610c75565b6102fe6102e3366004614a46565b6005602052600090815260409020546001600160a01b031681565b6040516001600160a01b03909116815260200161021e565b610329610324366004614c31565b610d76565b60405161021e9190614c53565b610207610f4e565b6101f261034c366004614ce2565b610f63565b61023a61035f366004614ac0565b611030565b61036d60025481565b60405190815260200161021e565b6000546102fe906001600160a01b031681565b6103fc61039c366004614a46565b6006602052600090815260409020805460018201546002909201546fffffffffffffffffffffffffffffffff8083169370010000000000000000000000000000000093849004821693818316939181900483169282811692919091041686565b604080516fffffffffffffffffffffffffffffffff978816815295871660208701529386169385019390935290841660608401528316608083015290911660a082015260c00161021e565b61045a610455366004614d23565b611040565b604051901515815260200161021e565b6103296110a9565b61036d610480366004614ea9565b61114c565b6001546102fe906001600160a01b031681565b6101f26104a6366004614f88565b611263565b61023a6104b9366004615066565b6114b5565b61023a6104cc366004615066565b6115c6565b61036d6104df366004615131565b6116c7565b6101f26104f2366004614a11565b61171c565b6101f2610505366004614ce2565b611726565b61036d6105183660046151e2565b600760209081526000928352604080842090915290825290205481565b6102076117ef565b6105456117fc565b60405161021e919061520e565b610545610560366004614c31565b61188f565b6101f2610573366004614a11565b611a4d565b610207610586366004614a46565b612026565b600080546040517fb6e76873000000000000000000000000000000000000000000000000000000008152833560048201526001600160a01b039091169063b6e768739060240161012060405180830381865afa1580156105ef573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061061391906152c8565b9050600060018260a0015161062891906153a6565b67ffffffffffffffff169050600160009054906101000a90046001600160a01b03166001600160a01b031663ae2a6df26040518163ffffffff1660e01b815260040160006040518083038186803b15801561068257600080fd5b505afa158015610696573d6000803e3d6000fd5b505050506000806000806106b485600461203490919063ffffffff16565b909250905060006106cb6080890160608a016153ce565b6001600160a01b031663b02bd9206040518163ffffffff1660e01b8152600401602060405180830381865afa158015610708573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061072c91906153eb565b67ffffffffffffffff16905061271061ffff8416820204818860c0015167ffffffffffffffff16030194506127108261ffff1682028161076e5761076e615406565b04850193508342116107ac576040517f038d8a6a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8660c0015167ffffffffffffffff1642106107f3576040517f08c8d62700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050843560009081526006602052604080822060015491517fcdfda4dd000000000000000000000000000000000000000000000000000000008152600481018690529092916001600160a01b03169063edb8ee5a90829063cdfda4dd90602401602060405180830381865afa158015610871573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108959190615435565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b16815265ffffffffffff9091166004820152602401602060405180830381865afa1580156108f0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610914919061545d565b600183015460028401549192506fffffffffffffffffffffffffffffffff7001000000000000000000000000000000009182900481169291820481169116600061095f60038a6121cd565b9150506000610975868361ffff166127106122d8565b905080856fffffffffffffffffffffffffffffffff1610156109e3576040517fbfb9aa550000000000000000000000000000000000000000000000000000000081526fffffffffffffffffffffffffffffffff86166004820152602481018290526044015b60405180910390fd5b836fffffffffffffffffffffffffffffffff16856fffffffffffffffffffffffffffffffff1611610a5c576040517f8a0df63f0000000000000000000000000000000000000000000000000000000081526fffffffffffffffffffffffffffffffff8087166004830152851660248201526044016109da565b6000610a7b8d6060016020810190610a7491906153ce565b600061231c565b905060008054906101000a90046001600160a01b03166001600160a01b03166394004706828f6040518363ffffffff1660e01b8152600401610abe9291906155b2565b6020604051808303816000875af1158015610add573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b0191906155e8565b50604080518e3581526fffffffffffffffffffffffffffffffff808916602083015280881692820192909252908516606082015260ff82169033907ff5bc433f16cc3d0e9fcb5ac4f8de9f17eb90de1fd2a9ede5952c2097d4ef1a59906080015b60405180910390a350505050505050505050505050565b600080610b87600484612034565b91509150915091565b6000610ba0338787878787612612565b9695505050505050565b60008054906101000a90046001600160a01b03166001600160a01b031663c34c08e56040518163ffffffff1660e01b8152600401602060405180830381865afa158015610bfb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c1f9190615603565b6001600160a01b0316336001600160a01b031614610c69576040517f26bee1ce00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610c7281612c5e565b50565b6000610c818686612e2e565b6040805160008082526020820180845284905260ff88169282019290925260608101869052608081018590529192509060019060a0016020604051602081039080840390855afa158015610cd9573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001519150506001600160a01b0381161580610d2c5750866001600160a01b0316816001600160a01b031614155b15610d63576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610d6d8187612f50565b50505050505050565b60408051602081019091526060815281831115610dbf576040517f2cd4dad300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60045480831115610dfc576040517f2cd4dad300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610e088585615620565b905060008167ffffffffffffffff811115610e2557610e25614d65565b604051908082528060200260200182016040528015610e8e57816020015b60408051606081018252600080825260208083018290529282015282527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff909201910181610e435790505b509050855b85811015610f34576004805482908110610eaf57610eaf615633565b600091825260209182902060408051606081018252919092015465ffffffffffff8116825261ffff660100000000000082048116948301949094526801000000000000000090049092169082015282610f088984615620565b81518110610f1857610f18615633565b6020026020010181905250610f2d8160010190565b9050610e93565b506040805160208101909152908152925050505b92915050565b600080610f5b6004613063565b915091509091565b60008054906101000a90046001600160a01b03166001600160a01b031663c34c08e56040518163ffffffff1660e01b8152600401602060405180830381865afa158015610fb4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fd89190615603565b6001600160a01b0316336001600160a01b031614611022576040517f26bee1ce00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61102c82826130db565b5050565b6000610ba03387878787876131cf565b60008115611077575060008381526006602090815260408083206001600160a01b038616845260030190915290205460ff166110a2565b5060008381526006602090815260408083206001600160a01b038616845260040190915290205460ff165b9392505050565b6040805160208101909152606081526040805160048054602081810284018501855283018181529293919284929091849160009085015b8282101561113f576000848152602090819020604080516060810182529185015465ffffffffffff8116835261ffff660100000000000082048116848601526801000000000000000090910416908201528252600190920191016110e0565b5050505081525050905090565b60008061115f8d8d8d8d8d8d8d8d613714565b6040805160008082526020820180845284905260ff89169282019290925260608101879052608081018690529192509060019060a0016020604051602081039080840390855afa1580156111b7573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001519150506001600160a01b038116158061120a57508d6001600160a01b0316816001600160a01b031614155b15611241576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611251818e8e8e8e8e8e8e613885565b9e9d5050505050505050505050505050565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000810460ff16159067ffffffffffffffff166000811580156112ae5750825b905060008267ffffffffffffffff1660011480156112cb5750303b155b9050811580156112d9575080155b15611310576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b84547fffffffffffffffffffffffffffffffffffffffffffffffff000000000000000016600117855583156113715784547fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff16680100000000000000001785555b886001600160a01b0316639bccfe496040518163ffffffff1660e01b8152600401602060405180830381865afa1580156113af573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113d3919061545d565b50600080546001600160a01b03808c167fffffffffffffffffffffffff00000000000000000000000000000000000000009283161790925560018054928b169290911691909117905561142587612c5e565b611437866000015187602001516130db565b61144986604001518760600151613b89565b83156114aa5784547fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b505050505050505050565b6000806114c68b8b8b8b8b8b613c26565b6040805160008082526020820180845284905260ff89169282019290925260608101879052608081018690529192509060019060a0016020604051602081039080840390855afa15801561151e573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001519150506001600160a01b038116158061157157508b6001600160a01b0316816001600160a01b031614155b156115a8576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6115b6818c8c8c8c8c6131cf565b9c9b505050505050505050505050565b6000806115d78b8b8b8b8b8b613d84565b6040805160008082526020820180845284905260ff89169282019290925260608101879052608081018690529192509060019060a0016020604051602081039080840390855afa15801561162f573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001519150506001600160a01b038116158061168257508b6001600160a01b0316816001600160a01b031614155b156116b9576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6115b6818c8c8c8c8c612612565b600061170f338a8a8a8a8a8a8a8a8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061388592505050565b9998505050505050505050565b610c723382612f50565b60008054906101000a90046001600160a01b03166001600160a01b031663c34c08e56040518163ffffffff1660e01b8152600401602060405180830381865afa158015611777573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061179b9190615603565b6001600160a01b0316336001600160a01b0316146117e5576040517f26bee1ce00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61102c8282613b89565b600080610f5b6003613063565b604080516020810190915260608152604080516003805460208082028401850185528301818152929391928492909184916000908501821561113f576000848152602090819020604080516060810182529185015465ffffffffffff8116835261ffff660100000000000082048116848601526801000000000000000090910416908201528252600190920191016110e0565b604080516020810190915260608152818311156118d8576040517f2cd4dad300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60035480831115611915576040517f2cd4dad300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006119218585615620565b905060008167ffffffffffffffff81111561193e5761193e614d65565b6040519080825280602002602001820160405280156119a757816020015b60408051606081018252600080825260208083018290529282015282527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90920191018161195c5790505b509050855b85811015610f345760038054829081106119c8576119c8615633565b600091825260209182902060408051606081018252919092015465ffffffffffff8116825261ffff660100000000000082048116948301949094526801000000000000000090049092169082015282611a218984615620565b81518110611a3157611a31615633565b6020026020010181905250611a468160010190565b90506119ac565b600080546040517fb6e76873000000000000000000000000000000000000000000000000000000008152833560048201526001600160a01b039091169063b6e768739060240161012060405180830381865afa158015611ab1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ad591906152c8565b9050600060018260a00151611aea91906153a6565b67ffffffffffffffff169050600160009054906101000a90046001600160a01b03166001600160a01b031663ae2a6df26040518163ffffffff1660e01b815260040160006040518083038186803b158015611b4457600080fd5b505afa158015611b58573d6000803e3d6000fd5b50505050600080600080611b7685600461203490919063ffffffff16565b90925090506000611b8d6080890160608a016153ce565b6001600160a01b0316637999762c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611bca573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bee91906153eb565b67ffffffffffffffff16905061271061ffff84168202048760a0015167ffffffffffffffff160194506127108261ffff16820281611c2e57611c2e615406565b0485019350834211611c6c576040517f038d8a6a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b808760a0015167ffffffffffffffff16611c869190615662565b421115611cbf576040517f08c8d62700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050843560009081526006602052604080822060015491517fcdfda4dd000000000000000000000000000000000000000000000000000000008152600481018690529092916001600160a01b03169063edb8ee5a90829063cdfda4dd90602401602060405180830381865afa158015611d3d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d619190615435565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b16815265ffffffffffff9091166004820152602401602060405180830381865afa158015611dbc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611de0919061545d565b825460018401549192506fffffffffffffffffffffffffffffffff808216928116917001000000000000000000000000000000009004166000611e2460038a6121cd565b5090506000611e3a868361ffff166127106122d8565b905080856fffffffffffffffffffffffffffffffff161015611ea3576040517f0425fab10000000000000000000000000000000000000000000000000000000081526fffffffffffffffffffffffffffffffff86166004820152602481018290526044016109da565b836fffffffffffffffffffffffffffffffff16856fffffffffffffffffffffffffffffffff1611611f1c576040517f8a0df63f0000000000000000000000000000000000000000000000000000000081526fffffffffffffffffffffffffffffffff8087166004830152851660248201526044016109da565b6000611f3b8d6060016020810190611f3491906153ce565b600161231c565b905060008054906101000a90046001600160a01b03166001600160a01b03166389e7d126828f6040518363ffffffff1660e01b8152600401611f7e9291906155b2565b6020604051808303816000875af1158015611f9d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fc191906155e8565b50604080518e3581526fffffffffffffffffffffffffffffffff808916602083015280881692820192909252908516606082015260ff82169033907ff23279e924757f3bfe4f543bc1b43685e851d6ace53f8518b806dcd8d42fc13990608001610b62565b600080610b876003846121cd565b6000804283106120c6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f506572696f64506374436865636b706f696e74733a2074696d657374616d702060448201527f6973206e6f7420696e207468652070617374000000000000000000000000000060648201526084016109da565b60006120d184613db3565b855490915060008160058111156121315760006120ed84613dfc565b6120f79085615620565b60008a81526020902090915081015465ffffffffffff90811690861610156121215780915061212f565b61212c816001615662565b92505b505b600061213f89868585613eae565b90508060000361215a576000809650965050505050506121c6565b60006121798a61216b600185615620565b600091825260209091200190565b60408051606081018252915465ffffffffffff8116835261ffff66010000000000008204811660208501819052680100000000000000009092041692909101829052985096505050505050505b9250929050565b60008042831061225f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602f60248201527f51756f72756d436865636b706f696e74733a2074696d657374616d702069732060448201527f6e6f7420696e207468652070617374000000000000000000000000000000000060648201526084016109da565b600061226a84613db3565b855490915060008160058111156122ca57600061228684613dfc565b6122909085615620565b60008a81526020902090915081015465ffffffffffff90811690861610156122ba578091506122c8565b6122c5816001615662565b92505b505b600061213f89868585613f10565b6000827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048411830215820261230d57600080fd5b50910281810615159190040190565b60008054604080517f0505c8c9000000000000000000000000000000000000000000000000000000008152905183926001600160a01b031691630505c8c99160048083019260209291908290030181865afa15801561237f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123a39190615603565b6001600160a01b0316638b2ed3886040518163ffffffff1660e01b8152600401602060405180830381865afa1580156123e0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124049190615675565b905060015b8160ff16811161253b57836124a1576040517fc167ebae00000000000000000000000000000000000000000000000000000000815260ff821660048201526001600160a01b0386169063c167ebae90602401602060405180830381865afa158015612478573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061249c9190615692565b612525565b6040517ffb847c4300000000000000000000000000000000000000000000000000000000815260ff821660048201526001600160a01b0386169063fb847c4390602401602060405180830381865afa158015612501573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125259190615692565b15612533579150610f489050565b600101612409565b50826125a857836001600160a01b03166312a52f006040518163ffffffff1660e01b8152600401602060405180830381865afa15801561257f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125a39190615675565b61260a565b836001600160a01b03166366cacdc96040518163ffffffff1660e01b8152600401602060405180830381865afa1580156125e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061260a9190615675565b949350505050565b600080546040517fb6e768730000000000000000000000000000000000000000000000000000000081528635600482015282916001600160a01b03169063b6e768739060240161012060405180830381865afa158015612676573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061269a91906152c8565b9050600060018260a001516126af91906153a6565b8735600090815260066020526040902067ffffffffffffffff9190911691506126de6080890160608a016153ce565b6001600160a01b03166302674e4b89308c6040518463ffffffff1660e01b815260040161270d939291906156af565b60006040518083038186803b15801561272557600080fd5b505afa158015612739573d6000803e3d6000fd5b505050506001600160a01b038a16600090815260048201602052604090205460ff1615612792576040517f9dd6544b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6127a0888a89600486613f6a565b60008080806127b0600487612034565b909250905060006127c760808e0160608f016153ce565b6001600160a01b031663b02bd9206040518163ffffffff1660e01b8152600401602060405180830381865afa158015612804573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061282891906153eb565b67ffffffffffffffff16905061271061ffff8416820204818960c0015167ffffffffffffffff16030194506127108261ffff1682028161286a5761286a615406565b04850193508442116128a8576040517fd0b72b4900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b834211156128e2576040517f5b73d19300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050506000612a25600160009054906101000a90046001600160a01b03166001600160a01b0316639556de738f600160009054906101000a90046001600160a01b03166001600160a01b031663cdfda4dd886040518263ffffffff1660e01b815260040161295291815260200190565b602060405180830381865afa15801561296f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906129939190615435565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b1681526001600160a01b03909216600483015265ffffffffffff166024820152604401602060405180830381865afa1580156129fc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a20919061545d565b61425e565b905060ff8a16612a9e576002840154612a649070010000000000000000000000000000000090046fffffffffffffffffffffffffffffffff16826142ad565b6002850180546fffffffffffffffffffffffffffffffff928316700100000000000000000000000000000000029216919091179055612bc6565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60ff8b1601612b37576001840154612afd9070010000000000000000000000000000000090046fffffffffffffffffffffffffffffffff16826142ad565b6001850180546fffffffffffffffffffffffffffffffff928316700100000000000000000000000000000000029216919091179055612bc6565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe60ff8b1601612bc6576002840154612b82906fffffffffffffffffffffffffffffffff16826142ad565b6002850180547fffffffffffffffffffffffffffffffff00000000000000000000000000000000166fffffffffffffffffffffffffffffffff929092169190911790555b6001600160a01b038d1660008181526004860160205260409081902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790555160ff8c1691907f4e3e2ad68670a2709cb408c31c5afd8da0b6d3d06c75b11feb404a455639fe7c90612c46908f359086908f908f90615713565b60405180910390a39c9b505050505050505050505050565b60018054604080517f91ddadf400000000000000000000000000000000000000000000000000000000815290516000936001600160a01b039093169263edb8ee5a92909184916391ddadf49160048083019260209291908290030181865afa158015612cce573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612cf29190615435565b612cfc9190615745565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b16815265ffffffffffff9091166004820152602401602060405180830381865afa158015612d57573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612d7b919061545d565b905080600003612db7576040517f34bbd58500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80821115612df1576040517f8a5e746800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60028290556040518281527fd91a985c173545ab0e0bd11c021a1ae84c1ea6eab9350d9bf3812d5b8bff49a4906020015b60405180910390a15050565b6000807f6da9390b4f29da2c44fa5a9da00b392393d01e989d16e4a3dec5a538318e352584612e5c856142f4565b6001600160a01b03871660009081526007602090815260408083207fffffffff00000000000000000000000000000000000000000000000000000000843516845290915290208054600181019091556040805160208101959095526001600160a01b03909316928401929092526060830152608082015260a001604051602081830303815290604052805190602001209050612ef66143eb565b6040517f190100000000000000000000000000000000000000000000000000000000000060208201526022810191909152604281018290526062016040516020818303038152906040528051906020012091505092915050565b80356000908152600560205260409020546001600160a01b03838116911614612fa5576040517f86ba025600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000546040517fb92cdd9a0000000000000000000000000000000000000000000000000000000081526001600160a01b039091169063b92cdd9a90612fee908490600401615764565b600060405180830381600087803b15801561300857600080fd5b505af115801561301c573d6000803e3d6000fd5b5050604051833581526001600160a01b03851692507fdcccc5725b7256a6975da00de8953e5d326756a3079d203ff6df9e52331f411a915060200160405180910390a25050565b8054600090819080820361307d5750600093849350915050565b600061308e8561216b600185615620565b60408051606081018252915465ffffffffffff8116835261ffff66010000000000008204811660208501819052680100000000000000009092041692909101829052969095509350505050565b6127108261ffff1611806130f1575061ffff8216155b1561312e576040517f8f6febc000000000000000000000000000000000000000000000000000000000815261ffff831660048201526024016109da565b6127108161ffff161180613144575061ffff8116155b15613181576040517f3bec511c00000000000000000000000000000000000000000000000000000000815261ffff821660048201526024016109da565b613194600361ffff80851690841661454d565b6040805161ffff8085168252831660208201527f77c3f43700db02acb49792bbf699b39f72c2ed4b920bd5c0b1843dcd7c832f4c9101612e22565b600080546040517fb6e768730000000000000000000000000000000000000000000000000000000081528635600482015282916001600160a01b03169063b6e768739060240161012060405180830381865afa158015613233573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061325791906152c8565b9050600060018260a0015161326c91906153a6565b8735600090815260066020526040902067ffffffffffffffff91909116915061329b6080890160608a016153ce565b6001600160a01b0316631a2a4e7789308c6040518463ffffffff1660e01b81526004016132ca939291906156af565b60006040518083038186803b1580156132e257600080fd5b505afa1580156132f6573d6000803e3d6000fd5b505050506001600160a01b038a16600090815260038201602052604090205460ff161561334f576040517f9dd6544b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61335d888a89600086613f6a565b600080808061336d600487612034565b9092509050600061338460808e0160608f016153ce565b6001600160a01b0316637999762c6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156133c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906133e591906153eb565b67ffffffffffffffff16905061271061ffff84168202048860a0015167ffffffffffffffff160194506127108261ffff1682028161342557613425615406565b0485019350844211613463576040517fd0b72b4900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8342111561349d576040517f5b73d19300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050600061350d600160009054906101000a90046001600160a01b03166001600160a01b0316639556de738f600160009054906101000a90046001600160a01b03166001600160a01b031663cdfda4dd886040518263ffffffff1660e01b815260040161295291815260200190565b905060ff8a16613580576001840154613538906fffffffffffffffffffffffffffffffff16826142ad565b6001850180547fffffffffffffffffffffffffffffffff00000000000000000000000000000000166fffffffffffffffffffffffffffffffff92909216919091179055613694565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60ff8b16016136095783546135c8906fffffffffffffffffffffffffffffffff16826142ad565b84547fffffffffffffffffffffffffffffffff00000000000000000000000000000000166fffffffffffffffffffffffffffffffff91909116178455613694565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe60ff8b16016136945783546136659070010000000000000000000000000000000090046fffffffffffffffffffffffffffffffff16826142ad565b84546fffffffffffffffffffffffffffffffff9182167001000000000000000000000000000000000291161784555b6001600160a01b038d1660008181526003860160205260409081902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790555160ff8c1691907f761cce3a1af5d9cfc0d57222f605ce4bd2be345f0ad9ebb7b83a84a91a0c201490612c46908f359086908f908f90615713565b6001600160a01b03881660009081526007602090815260408083207fffffffff000000000000000000000000000000000000000000000000000000008435168452909152812080546001810190915560007fd1fab1c7b3b37134662e5867b00e272eb49f7be0a890df29e802c3cc66c06f838b8b8b8b8b8b8b60405161379b929190615777565b604080519182900382208c516020808f0191909120908401999099526001600160a01b039788169183019190915260ff90951660608201529285166080840152931660a082015260c081019290925260e08201526101008101919091526101208101839052610140016040516020818303038152906040528051906020012090506138246143eb565b6040517f19010000000000000000000000000000000000000000000000000000000000006020820152602281019190915260428101829052606201604051602081830303815290604052805190602001209250505098975050505050505050565b600154604080517fae2a6df200000000000000000000000000000000000000000000000000000000815290516000926001600160a01b03169163ae2a6df29160048083019286929190829003018186803b1580156138e257600080fd5b505afa1580156138f6573d6000803e3d6000fd5b505060018054604080517f91ddadf40000000000000000000000000000000000000000000000000000000081529051600095506001600160a01b039092169350639556de73928e92909185916391ddadf4916004808201926020929091908290030181865afa15801561396d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906139919190615435565b61399b9190615745565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b1681526001600160a01b03909216600483015265ffffffffffff166024820152604401602060405180830381865afa158015613a04573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613a28919061545d565b9050600254811015613a69576040517f92665351000000000000000000000000000000000000000000000000000000008152600481018290526024016109da565b6000546040517fb3c678b00000000000000000000000000000000000000000000000000000000081526001600160a01b039091169063b3c678b090613abe908c908c908c908c908c908c908c906004016157ab565b6020604051808303816000875af1158015613add573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613b01919061545d565b60008181526005602090815260409182902080547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b038f16908117909155915183815292945090917f1834dfd49255741a8ce9a9bd66b91b64d13622e1d8170e4c78ac91f9ec50a542910160405180910390a25098975050505050505050565b612710613b96828461583b565b61ffff1610613bdf576040517f519dd38400000000000000000000000000000000000000000000000000000000815261ffff8084166004830152821660248201526044016109da565b613beb60048383614576565b6040805161ffff8085168252831660208201527f8df7bdcce333d9e1b85e40782fb2f293c805761d3f48aaea58865e9541e44c709101612e22565b6000807fd7be168a3509af358f222ee35ee76aba47bc5fc2c35061cdce3958f510b7b1b28888613c55896142f4565b888888604051613c66929190615777565b60408051918290039091206001600160a01b038f166000908152600760209081528382207fffffffff0000000000000000000000000000000000000000000000000000000083351683529052919091208054600181019091556040805160208101989098526001600160a01b039096169587019590955260ff938416606087015260808601929092529190911660a084015260c083015260e082015261010001604051602081830303815290604052805190602001209050613d266143eb565b6040517f19010000000000000000000000000000000000000000000000000000000000006020820152602281019190915260428101829052606201604051602081830303815290604052805190602001209150509695505050505050565b6000807fa87058c5a9888e7af4405a932381d5a4612c61354bc3e52e9ea361ba17703fb38888613c55896142f4565b600065ffffffffffff821115613df8576040517fc0188c4f000000000000000000000000000000000000000000000000000000008152600481018390526024016109da565b5090565b60b581710100000000000000000000000000000000008110613e235760409190911b9060801c5b69010000000000000000008110613e3f5760209190911b9060401c5b650100000000008110613e575760109190911b9060201c5b63010000008110613e6d5760089190911b9060101c5b62010000010260121c80820401600190811c80830401811c80830401811c80830401811c80830401811c80830401811c80830401901c908190048111900390565b60005b81831015613f08576000613ec584846145a2565b60008781526020902090915065ffffffffffff86169082015465ffffffffffff161115613ef457809250613f02565b613eff816001615662565b93505b50613eb1565b509392505050565b60005b81831015613f08576000613f2784846145a2565b60008781526020902090915065ffffffffffff86169082015465ffffffffffff161115613f5657809250613f64565b613f61816001615662565b93505b50613f13565b600260ff84161115613fad576040517ffe0e5d8b00000000000000000000000000000000000000000000000000000000815260ff841660048201526024016109da565b600080546040517fec12d8be0000000000000000000000000000000000000000000000000000000081526001600160a01b039091169063ec12d8be90613ff7908990600401615764565b602060405180830381865afa158015614014573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906140389190615675565b60ff16600681111561404c5761404c6156e4565b9050826006811115614060576140606156e4565b816006811115614072576140726156e4565b146140ab57806040517f87afe58e0000000000000000000000000000000000000000000000000000000081526004016109da9190615856565b60008060009054906101000a90046001600160a01b03166001600160a01b0316630505c8c96040518163ffffffff1660e01b8152600401602060405180830381865afa1580156140ff573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906141239190615603565b6040517fe0bec07600000000000000000000000000000000000000000000000000000000815230600482015260ff88166024820152604481018590526001600160a01b03919091169063e0bec07690606401602060405180830381865afa158015614192573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906141b69190615692565b9050806141ef576040517f88aebd1200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600160009054906101000a90046001600160a01b03166001600160a01b031663ae2a6df26040518163ffffffff1660e01b815260040160006040518083038186803b15801561423d57600080fd5b505afa158015614251573d6000803e3d6000fd5b5050505050505050505050565b60006fffffffffffffffffffffffffffffffff821115613df8576040517fc0188c4f000000000000000000000000000000000000000000000000000000008152600481018390526024016109da565b60006fffffffffffffffffffffffffffffffff6142ce838216858316615662565b106142ea57506fffffffffffffffffffffffffffffffff610f48565b6110a28284615897565b60007f86b4555c6e347ea3f038485b59b894986c208b67da7e65fcfa3707271608465f823561432960408501602086016153ce565b61433960608601604087016158c0565b61434960808701606088016153ce565b61435960a08801608089016153ce565b60a088013561436b60c08a018a6158dd565b604051614379929190615777565b6040805191829003822060208301999099528101969096526001600160a01b03948516606087015260ff909316608086015290831660a08501529190911660c083015260e082015261010081019190915261012001604051602081830303815290604052805190602001209050919050565b60008054604080517f06fdde0300000000000000000000000000000000000000000000000000000000815290517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f926001600160a01b0316916306fdde0391600480830192879291908290030181865afa15801561446d573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526144b39190810190615942565b8051602091820120604080518082018252600181527f310000000000000000000000000000000000000000000000000000000000000090840152805192830193909352918101919091527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a082015260c00160405160208183030381529060405280519060200120905090565b6145718361455a42613db3565b614563856145bd565b61456c856145bd565b6145fe565b505050565b6145718361458342613db3565b6145908561ffff166145bd565b61459d8561ffff166145bd565b614909565b60006145b160028484186159b0565b6110a290848416615662565b600061ffff821115613df8576040517fc0188c4f000000000000000000000000000000000000000000000000000000008152600481018390526024016109da565b835480156148475760006146178661216b600185615620565b60408051606081018252915465ffffffffffff80821680855261ffff66010000000000008404811660208701526801000000000000000090930490921692840192909252919250861610156146ed576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f51756f72756d20436865636b706f696e743a20696e76616c69642074696d657360448201527f74616d700000000000000000000000000000000000000000000000000000000060648201526084016109da565b805165ffffffffffff8087169116036147865760006147118761216b600186615620565b805461ffff86811668010000000000000000027fffffffffffffffffffffffffffffffffffffffffffff0000ffffffffffffffff918916660100000000000002919091167fffffffffffffffffffffffffffffffffffffffffffff00000000ffffffffffff9092169190911717905550614841565b6040805160608101825265ffffffffffff808816825261ffff80881660208085019182528883169585019586528b54600181018d5560008d81529190912094519401805491519551831668010000000000000000027fffffffffffffffffffffffffffffffffffffffffffff0000ffffffffffffffff969093166601000000000000027fffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000909216949093169390931792909217929092161790555b50614902565b6040805160608101825265ffffffffffff808716825261ffff80871660208085019182528783169585019586528a54600181018c5560008c81529190912094519401805491519551831668010000000000000000027fffffffffffffffffffffffffffffffffffffffffffff0000ffffffffffffffff969093166601000000000000027fffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000909216949093169390931792909217929092161790555b5050505050565b835480156148475760006149228661216b600185615620565b60408051606081018252915465ffffffffffff80821680855261ffff66010000000000008404811660208701526801000000000000000090930490921692840192909252919250861610156146ed576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602860248201527f506572696f642050637420436865636b706f696e743a20696e76616c6964207460448201527f696d657374616d7000000000000000000000000000000000000000000000000060648201526084016109da565b600060e08284031215614a0b57600080fd5b50919050565b600060208284031215614a2357600080fd5b813567ffffffffffffffff811115614a3a57600080fd5b61260a848285016149f9565b600060208284031215614a5857600080fd5b5035919050565b60ff81168114610c7257600080fd5b8035614a7981614a5f565b919050565b60008083601f840112614a9057600080fd5b50813567ffffffffffffffff811115614aa857600080fd5b6020830191508360208285010111156121c657600080fd5b600080600080600060808688031215614ad857600080fd5b8535614ae381614a5f565b9450602086013567ffffffffffffffff80821115614b0057600080fd5b614b0c89838a016149f9565b955060408801359150614b1e82614a5f565b90935060608701359080821115614b3457600080fd5b50614b4188828901614a7e565b969995985093965092949392505050565b80357fffffffff0000000000000000000000000000000000000000000000000000000081168114614a7957600080fd5b600060208284031215614b9457600080fd5b6110a282614b52565b6001600160a01b0381168114610c7257600080fd5b8035614a7981614b9d565b600080600080600060a08688031215614bd557600080fd5b8535614be081614b9d565b9450602086013567ffffffffffffffff811115614bfc57600080fd5b614c08888289016149f9565b9450506040860135614c1981614a5f565b94979396509394606081013594506080013592915050565b60008060408385031215614c4457600080fd5b50508035926020909101359150565b60208082528251828201829052805160408401819052600092916060919083019082860190855b81811015614cc357614cb3838551805165ffffffffffff16825260208082015161ffff9081169184019190915260409182015116910152565b9285019291840191600101614c7a565b5090979650505050505050565b803561ffff81168114614a7957600080fd5b60008060408385031215614cf557600080fd5b614cfe83614cd0565b9150614d0c60208401614cd0565b90509250929050565b8015158114610c7257600080fd5b600080600060608486031215614d3857600080fd5b833592506020840135614d4a81614b9d565b91506040840135614d5a81614d15565b809150509250925092565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051610120810167ffffffffffffffff81118282101715614db857614db8614d65565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715614e0557614e05614d65565b604052919050565b600067ffffffffffffffff821115614e2757614e27614d65565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b600082601f830112614e6457600080fd5b8135614e77614e7282614e0d565b614dbe565b818152846020838601011115614e8c57600080fd5b816020850160208301376000918101602001919091529392505050565b60008060008060008060008060008060006101408c8e031215614ecb57600080fd5b614ed48c614bb2565b9a50614ee260208d01614a6e565b9950614ef060408d01614bb2565b9850614efe60608d01614bb2565b975060808c0135965067ffffffffffffffff8060a08e01351115614f2157600080fd5b614f318e60a08f01358f01614a7e565b909750955060c08d0135811015614f4757600080fd5b50614f588d60c08e01358e01614e53565b9350614f6660e08d01614a6e565b92506101008c013591506101208c013590509295989b509295989b9093969950565b60008060008084860360e0811215614f9f57600080fd5b8535614faa81614b9d565b94506020860135614fba81614b9d565b93506040860135925060807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa082011215614ff357600080fd5b506040516080810181811067ffffffffffffffff8211171561501757615017614d65565b60405261502660608701614cd0565b815261503460808701614cd0565b602082015261504560a08701614cd0565b604082015261505660c08701614cd0565b6060820152939692955090935050565b60008060008060008060008060006101008a8c03121561508557600080fd5b893561509081614b9d565b985060208a01356150a081614a5f565b975060408a013567ffffffffffffffff808211156150bd57600080fd5b6150c98d838e016149f9565b985060608c013591506150db82614a5f565b90965060808b013590808211156150f157600080fd5b506150fe8c828d01614a7e565b90965094505060a08a013561511281614a5f565b8093505060c08a0135915060e08a013590509295985092959850929598565b60008060008060008060008060c0898b03121561514d57600080fd5b883561515881614a5f565b9750602089013561516881614b9d565b9650604089013561517881614b9d565b955060608901359450608089013567ffffffffffffffff8082111561519c57600080fd5b6151a88c838d01614a7e565b909650945060a08b01359150808211156151c157600080fd5b506151ce8b828c01614a7e565b999c989b5096995094979396929594505050565b600080604083850312156151f557600080fd5b823561520081614b9d565b9150614d0c60208401614b52565b60208082528251828201829052805160408401819052600092916060919083019082860190855b81811015614cc35761526e838551805165ffffffffffff16825260208082015161ffff9081169184019190915260409182015116910152565b9285019291840191600101615235565b8051614a7981614d15565b8051614a7981614b9d565b805167ffffffffffffffff81168114614a7957600080fd5b80516bffffffffffffffffffffffff81168114614a7957600080fd5b600061012082840312156152db57600080fd5b6152e3614d94565b825181526152f36020840161527e565b60208201526153046040840161527e565b60408201526153156060840161527e565b606082015261532660808401615289565b608082015261533760a08401615294565b60a082015261534860c08401615294565b60c082015261535960e084016152ac565b60e082015261010061536c8185016152ac565b908201529392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b67ffffffffffffffff8281168282160390808211156153c7576153c7615377565b5092915050565b6000602082840312156153e057600080fd5b81356110a281614b9d565b6000602082840312156153fd57600080fd5b6110a282615294565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006020828403121561544757600080fd5b815165ffffffffffff811681146110a257600080fd5b60006020828403121561546f57600080fd5b5051919050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b80358252600060208201356154d381614b9d565b6001600160a01b0390811660208501526040830135906154f282614a5f565b60ff821660408601526060840135915061550b82614b9d565b908116606085015260808301359061552282614b9d565b16608084015260a0828101359084015260c0820135368390037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe101811261556857600080fd5b820160208101903567ffffffffffffffff81111561558557600080fd5b80360382131561559457600080fd5b60e060c08601526155a960e086018284615476565b95945050505050565b60ff831681526060602082015260006155ce60608301846154bf565b828103604084015260008152602081019150509392505050565b6000602082840312156155fa57600080fd5b6110a2826152ac565b60006020828403121561561557600080fd5b81516110a281614b9d565b81810381811115610f4857610f48615377565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b80820180821115610f4857610f48615377565b60006020828403121561568757600080fd5b81516110a281614a5f565b6000602082840312156156a457600080fd5b81516110a281614d15565b6060815260006156c260608301866154bf565b90506001600160a01b038416602083015260ff83166040830152949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b8481526fffffffffffffffffffffffffffffffff84166020820152606060408201526000610ba0606083018486615476565b65ffffffffffff8281168282160390808211156153c7576153c7615377565b6020815260006110a260208301846154bf565b8183823760009101908152919050565b60005b838110156157a257818101518382015260200161578a565b50506000910152565b60ff8816815260006001600160a01b03808916602084015280881660408401525085606083015260c060808301526157e760c083018587615476565b82810360a08401528351808252615805816020840160208801615787565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016016020019998505050505050505050565b61ffff8181168382160190808211156153c7576153c7615377565b6020810160078310615891577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b91905290565b6fffffffffffffffffffffffffffffffff8181168382160190808211156153c7576153c7615377565b6000602082840312156158d257600080fd5b81356110a281614a5f565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261591257600080fd5b83018035915067ffffffffffffffff82111561592d57600080fd5b6020019150368190038213156121c657600080fd5b60006020828403121561595457600080fd5b815167ffffffffffffffff81111561596b57600080fd5b8201601f8101841361597c57600080fd5b805161598a614e7282614e0d565b81815285602083850101111561599f57600080fd5b6155a9826020830160208601615787565b6000826159e6577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b50049056fea164736f6c6343000817000a", + "nonce": "0x0", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xd6a6779e8bebc623bacc89562b7c8d60e63fc341df4bee66f6ab085c5ceb27bd", + "transactionType": "CREATE", + "contractName": "LlamaTokenVotingFactory", + "contractAddress": "0xFBE17545dffD75A92A5A72926AE581478973FE65", + "function": null, + "arguments": [ + "0x3f3DAB3ab8cEc2FBd06767c2A5F66Cb6BFF21A4A" + ], + "transaction": { + "type": "0x02", + "from": "0xb72276d9ff15c7998b9962ffcfb21a6c7249441b", + "gas": "0xc9127", + "value": "0x0", + "data": "0x60a060405234801561001057600080fd5b50604051610b16380380610b1683398101604081905261002f91610040565b6001600160a01b0316608052610070565b60006020828403121561005257600080fd5b81516001600160a01b038116811461006957600080fd5b9392505050565b608051610a8561009160003960008181604001526104390152610a856000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c806321618ea41461003b5780633ec857a51461008b575b600080fd5b6100627f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b61006261009936600461087b565b600080338360000151846040015185606001516040516020016100bf9493929190610959565b60405160208183030381529060405280519060200120905060006100e7846020015183610622565b60408086015190517f439fab9100000000000000000000000000000000000000000000000000000000815291925073ffffffffffffffffffffffffffffffffffffffff83169163439fab919161013f916004016109b9565b6020604051808303816000875af115801561015e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101829190610a0a565b50600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1663fc0c546a6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156101e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061020a9190610a33565b73ffffffffffffffffffffffffffffffffffffffff1603610257576040517f65f5b03400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517fcdfda4dd00000000000000000000000000000000000000000000000000000000815242600482015273ffffffffffffffffffffffffffffffffffffffff82169063cdfda4dd90602401602060405180830381865afa1580156102c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102e59190610a50565b65ffffffffffff16600003610326576040517f65f5b03400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff166391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865afa158015610371573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103959190610a50565b65ffffffffffff166000036103d6576040517f65f5b03400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1663ae2a6df26040518163ffffffff1660e01b815260040160006040518083038186803b15801561041c57600080fd5b505afa158015610430573d6000803e3d6000fd5b5050505061045e7f000000000000000000000000000000000000000000000000000000000000000083610622565b8451608086015160a0870151604080517f8734852a00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff948516600482015286851660248201526044810193909352815161ffff908116606485015260208301518116608485015290820151811660a48401526060909101511660c4820152919450841690638734852a9060e401600060405180830381600087803b15801561051757600080fd5b505af115801561052b573d6000803e3d6000fd5b505050508073ffffffffffffffffffffffffffffffffffffffff1663fc0c546a6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561057a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061059e9190610a33565b84516020808701516060808901516040805173ffffffffffffffffffffffffffffffffffffffff94851681528885169581019590955284015287821690830152466080830152928316929091169033907f4c8bb78cb1c62e64cef39fc4b4a1864d1a331a28c7bd59a67fe969cc8ab715879060a00160405180910390a45050919050565b6000763d602d80600a3d3981f3363d3d373d3d3d363d730000008360601b60e81c176000526e5af43d82803e903d91602b57fd5bf38360781b1760205281603760096000f5905073ffffffffffffffffffffffffffffffffffffffff81166106b6576040517fc2f868f400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405160c0810167ffffffffffffffff8111828210171561070e5761070e6106bc565b60405290565b73ffffffffffffffffffffffffffffffffffffffff8116811461073657600080fd5b50565b600082601f83011261074a57600080fd5b813567ffffffffffffffff80821115610765576107656106bc565b604051601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011681019082821181831017156107ab576107ab6106bc565b816040528381528660208588010111156107c457600080fd5b836020870160208301376000602085830101528094505050505092915050565b803561ffff811681146107f657600080fd5b919050565b60006080828403121561080d57600080fd5b6040516080810181811067ffffffffffffffff82111715610830576108306106bc565b60405290508061083f836107e4565b815261084d602084016107e4565b602082015261085e604084016107e4565b604082015261086f606084016107e4565b60608201525092915050565b60006020828403121561088d57600080fd5b813567ffffffffffffffff808211156108a557600080fd5b9083019061012082860312156108ba57600080fd5b6108c26106eb565b82356108cd81610714565b815260208301356108dd81610714565b60208201526040830135828111156108f457600080fd5b61090087828601610739565b60408301525060608301356060820152608083013560808201526109278660a085016107fb565b60a082015295945050505050565b60005b83811015610950578181015183820152602001610938565b50506000910152565b60007fffffffffffffffffffffffffffffffffffffffff000000000000000000000000808760601b168352808660601b1660148401525083516109a3816028850160208801610935565b6028920191820192909252604801949350505050565b60208152600082518060208401526109d8816040850160208701610935565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169190910160400192915050565b600060208284031215610a1c57600080fd5b81518015158114610a2c57600080fd5b9392505050565b600060208284031215610a4557600080fd5b8151610a2c81610714565b600060208284031215610a6257600080fd5b815165ffffffffffff81168114610a2c57600080fdfea164736f6c6343000817000a0000000000000000000000003f3dab3ab8cec2fbd06767c2a5f66cb6bff21a4a", + "nonce": "0x1", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xaaff59fcd0337323ba2c4e2bdb9a170e72af4e9acc7b0ad353328d86a9472441", + "transactionType": "CREATE", + "contractName": "LlamaTokenAdapterVotesTimestamp", + "contractAddress": "0x088C268cb00226D6A9b29e5488905Aa94D2f0239", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0xb72276d9ff15c7998b9962ffcfb21a6c7249441b", + "gas": "0x10d28c", + "value": "0x0", + "data": "0x608060405234801561001057600080fd5b5061001961001e565b6100d0565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff161561006e5760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b03908116146100cd5780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b610df5806100df6000396000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c8063ae2a6df21161005b578063ae2a6df21461010a578063cdfda4dd14610114578063edb8ee5a14610127578063fc0c546a1461013a57600080fd5b8063439fab911461008d5780634bf5d7e9146100b557806391ddadf4146100ca5780639556de73146100e9575b600080fd5b6100a061009b3660046108e4565b61017f565b60405190151581526020015b60405180910390f35b6100bd6103a1565b6040516100ac9190610988565b6100d261042f565b60405165ffffffffffff90911681526020016100ac565b6100fc6100f7366004610a12565b6104e9565b6040519081526020016100ac565b610112610593565b005b6100d2610122366004610a4b565b6105ef565b6100fc610135366004610a64565b610600565b60005461015a9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100ac565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0080546000919068010000000000000000810460ff16159067ffffffffffffffff1683811580156101cd5750825b905060008267ffffffffffffffff1660011480156101ea5750303b155b9050811580156101f8575080155b1561022f576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b84547fffffffffffffffffffffffffffffffffffffffffffffffff000000000000000016600117855583156102905784547fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff16680100000000000000001785555b6000878060200190518101906102a69190610a81565b8051600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff90921691909117905560408051808201909152600e81527f6d6f64653d74696d657374616d7000000000000000000000000000000000000060208201529091506001906103309082610b71565b50600196505083156103975784547fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b5050505050919050565b600180546103ae90610acd565b80601f01602080910402602001604051908101604052809291908181526020018280546103da90610acd565b80156104275780601f106103fc57610100808354040283529160200191610427565b820191906000526020600020905b81548152906001019060200180831161040a57829003601f168201915b505050505081565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156104d7575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682019092526104d491810190610c8b565b60015b6104e4576104e44261069b565b905090565b600080546040517f3a46b1a800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff858116600483015265ffffffffffff8516602483015290911690633a46b1a890604401602060405180830381865afa158015610568573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061058c9190610ca8565b9392505050565b600061059d6106e8565b905060006105a9610712565b905081806105b45750805b156105eb576040517f6ff0714000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050565b60006105fa8261069b565b92915050565b600080546040517f8e539e8c00000000000000000000000000000000000000000000000000000000815265ffffffffffff8416600482015273ffffffffffffffffffffffffffffffffffffffff90911690638e539e8c90602401602060405180830381865afa158015610677573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105fa9190610ca8565b600065ffffffffffff8211156106e4576040517fc0188c4f0000000000000000000000000000000000000000000000000000000081526004810183905260240160405180910390fd5b5090565b60006106f34261069b565b65ffffffffffff1661070361042f565b65ffffffffffff161415905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16634bf5d7e96040518163ffffffff1660e01b8152600401600060405180830381865afa9250505080156107bf57506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526107bc9190810190610cc1565b60015b6107c95750600090565b60016040516020016107db9190610d38565b60405160208183030381529060405280519060200120816040516020016108029190610dcc565b60405160208183030381529060405280519060200120141591505090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff8111828210171561089657610896610820565b604052919050565b600067ffffffffffffffff8211156108b8576108b8610820565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b6000602082840312156108f657600080fd5b813567ffffffffffffffff81111561090d57600080fd5b8201601f8101841361091e57600080fd5b803561093161092c8261089e565b61084f565b81815285602083850101111561094657600080fd5b81602084016020830137600091810160200191909152949350505050565b60005b8381101561097f578181015183820152602001610967565b50506000910152565b60208152600082518060208401526109a7816040850160208701610964565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169190910160400192915050565b73ffffffffffffffffffffffffffffffffffffffff811681146109fb57600080fd5b50565b65ffffffffffff811681146109fb57600080fd5b60008060408385031215610a2557600080fd5b8235610a30816109d9565b91506020830135610a40816109fe565b809150509250929050565b600060208284031215610a5d57600080fd5b5035919050565b600060208284031215610a7657600080fd5b813561058c816109fe565b600060208284031215610a9357600080fd5b6040516020810181811067ffffffffffffffff82111715610ab657610ab6610820565b6040528251610ac4816109d9565b81529392505050565b600181811c90821680610ae157607f821691505b602082108103610b1a577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b601f821115610b6c576000816000526020600020601f850160051c81016020861015610b495750805b601f850160051c820191505b81811015610b6857828155600101610b55565b5050505b505050565b815167ffffffffffffffff811115610b8b57610b8b610820565b610b9f81610b998454610acd565b84610b20565b602080601f831160018114610bf25760008415610bbc5750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b178555610b68565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b82811015610c3f57888601518255948401946001909101908401610c20565b5085821015610c7b57878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b600060208284031215610c9d57600080fd5b815161058c816109fe565b600060208284031215610cba57600080fd5b5051919050565b600060208284031215610cd357600080fd5b815167ffffffffffffffff811115610cea57600080fd5b8201601f81018413610cfb57600080fd5b8051610d0961092c8261089e565b818152856020838501011115610d1e57600080fd5b610d2f826020830160208601610964565b95945050505050565b6000808354610d4681610acd565b60018281168015610d5e5760018114610d9157610dc0565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0084168752821515830287019450610dc0565b8760005260208060002060005b85811015610db75781548a820152908401908201610d9e565b50505082870194505b50929695505050505050565b60008251610dde818460208701610964565b919091019291505056fea164736f6c6343000817000a", + "nonce": "0x2", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0x5794742df00549335af9866a24f455930c4e4d52b31699c0c7dd107c6bdefc81", + "transactionIndex": "0x1", + "blockHash": "0x7e9250894e4240cb2ecae2f3e92c190e8b6776e1cbc05f8e476848076bb17d66", + "blockNumber": "0x8ae66f", + "from": "0xb72276D9FF15c7998b9962FFCfB21A6C7249441B", + "to": null, + "cumulativeGasUsed": "0x4d6806", + "gasUsed": "0x4ca2c1", + "contractAddress": "0x3f3DAB3ab8cEc2FBd06767c2A5F66Cb6BFF21A4A", + "logs": [ + { + "address": "0x3f3DAB3ab8cEc2FBd06767c2A5F66Cb6BFF21A4A", + "topics": [ + "0xc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2" + ], + "data": "0x000000000000000000000000000000000000000000000000ffffffffffffffff", + "blockHash": "0x7e9250894e4240cb2ecae2f3e92c190e8b6776e1cbc05f8e476848076bb17d66", + "blockNumber": "0x8ae66f", + "transactionHash": "0x5794742df00549335af9866a24f455930c4e4d52b31699c0c7dd107c6bdefc81", + "transactionIndex": "0x1", + "logIndex": "0x0", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000800000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e3e" + }, + { + "transactionHash": "0xd6a6779e8bebc623bacc89562b7c8d60e63fc341df4bee66f6ab085c5ceb27bd", + "transactionIndex": "0x2", + "blockHash": "0x7e9250894e4240cb2ecae2f3e92c190e8b6776e1cbc05f8e476848076bb17d66", + "blockNumber": "0x8ae66f", + "from": "0xb72276D9FF15c7998b9962FFCfB21A6C7249441B", + "to": null, + "cumulativeGasUsed": "0x571376", + "gasUsed": "0x9ab70", + "contractAddress": "0xFBE17545dffD75A92A5A72926AE581478973FE65", + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e3e" + }, + { + "transactionHash": "0xaaff59fcd0337323ba2c4e2bdb9a170e72af4e9acc7b0ad353328d86a9472441", + "transactionIndex": "0x3", + "blockHash": "0x7e9250894e4240cb2ecae2f3e92c190e8b6776e1cbc05f8e476848076bb17d66", + "blockNumber": "0x8ae66f", + "from": "0xb72276D9FF15c7998b9962FFCfB21A6C7249441B", + "to": null, + "cumulativeGasUsed": "0x64051f", + "gasUsed": "0xcf1a9", + "contractAddress": "0x088C268cb00226D6A9b29e5488905Aa94D2f0239", + "logs": [ + { + "address": "0x088C268cb00226D6A9b29e5488905Aa94D2f0239", + "topics": [ + "0xc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2" + ], + "data": "0x000000000000000000000000000000000000000000000000ffffffffffffffff", + "blockHash": "0x7e9250894e4240cb2ecae2f3e92c190e8b6776e1cbc05f8e476848076bb17d66", + "blockNumber": "0x8ae66f", + "transactionHash": "0xaaff59fcd0337323ba2c4e2bdb9a170e72af4e9acc7b0ad353328d86a9472441", + "transactionIndex": "0x3", + "logIndex": "0x1", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000800000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000008000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e3e" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1704995268, + "chain": 8453, + "multi": false, + "commit": "688208a" +} \ No newline at end of file diff --git a/broadcast/DeployLlamaTokenVotingFactory.s.sol/8453/run-1704995320.json b/broadcast/DeployLlamaTokenVotingFactory.s.sol/8453/run-1704995320.json new file mode 100644 index 0000000..c8e34e8 --- /dev/null +++ b/broadcast/DeployLlamaTokenVotingFactory.s.sol/8453/run-1704995320.json @@ -0,0 +1,148 @@ +{ + "transactions": [ + { + "hash": "0x5794742df00549335af9866a24f455930c4e4d52b31699c0c7dd107c6bdefc81", + "transactionType": "CREATE", + "contractName": "LlamaTokenGovernor", + "contractAddress": "0x3f3DAB3ab8cEc2FBd06767c2A5F66Cb6BFF21A4A", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0xb72276d9ff15c7998b9962ffcfb21a6c7249441b", + "gas": "0x6398ff", + "value": "0x0", + "data": "0x60806040523480156200001157600080fd5b506200001c62000022565b620000d6565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff1615620000735760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b0390811614620000d35780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b6159f880620000e66000396000f3fe608060405234801561001057600080fd5b50600436106101da5760003560e01c80637e4a56bb11610104578063b92cdd9a116100a2578063cae3bdff11610071578063cae3bdff1461053d578063dcae21b714610552578063e45061ea14610565578063e5589b9d1461057857600080fd5b8063b92cdd9a146104e4578063b9b2cf6c146104f7578063c193c2691461050a578063c26c12eb1461053557600080fd5b80638734852a116100de5780638734852a1461049857806396ff6e2e146104ab578063a1d9b412146104be578063b3c678b0146104d157600080fd5b80637e4a56bb1461046a5780637ed7238e14610472578063807ad1141461048557600080fd5b80633fed8f161161017c57806359e5332d1161014b57806359e5332d1461036457806364f6b3161461037b5780637186dd9c1461038e57806374f717cd1461044757600080fd5b80633fed8f16146103165780634d61ebf4146103365780634ec0ab1c1461033e578063509c5fbd1461035157600080fd5b806319a39740116101b857806319a397401461025b5780631e127ddf1461026e578063372fa8e8146102c25780633df91222146102d557600080fd5b80630669b1ce146101df57806311f900b5146101f45780631650080714610227575b600080fd5b6101f26101ed366004614a11565b61058b565b005b610207610202366004614a46565b610b79565b6040805161ffff9384168152929091166020830152015b60405180910390f35b61023a610235366004614ac0565b610b90565b6040516fffffffffffffffffffffffffffffffff909116815260200161021e565b6101f2610269366004614a46565b610baa565b6101f261027c366004614b82565b3360009081526007602090815260408083207fffffffff000000000000000000000000000000000000000000000000000000009490941683529290522080546001019055565b6101f26102d0366004614bbd565b610c75565b6102fe6102e3366004614a46565b6005602052600090815260409020546001600160a01b031681565b6040516001600160a01b03909116815260200161021e565b610329610324366004614c31565b610d76565b60405161021e9190614c53565b610207610f4e565b6101f261034c366004614ce2565b610f63565b61023a61035f366004614ac0565b611030565b61036d60025481565b60405190815260200161021e565b6000546102fe906001600160a01b031681565b6103fc61039c366004614a46565b6006602052600090815260409020805460018201546002909201546fffffffffffffffffffffffffffffffff8083169370010000000000000000000000000000000093849004821693818316939181900483169282811692919091041686565b604080516fffffffffffffffffffffffffffffffff978816815295871660208701529386169385019390935290841660608401528316608083015290911660a082015260c00161021e565b61045a610455366004614d23565b611040565b604051901515815260200161021e565b6103296110a9565b61036d610480366004614ea9565b61114c565b6001546102fe906001600160a01b031681565b6101f26104a6366004614f88565b611263565b61023a6104b9366004615066565b6114b5565b61023a6104cc366004615066565b6115c6565b61036d6104df366004615131565b6116c7565b6101f26104f2366004614a11565b61171c565b6101f2610505366004614ce2565b611726565b61036d6105183660046151e2565b600760209081526000928352604080842090915290825290205481565b6102076117ef565b6105456117fc565b60405161021e919061520e565b610545610560366004614c31565b61188f565b6101f2610573366004614a11565b611a4d565b610207610586366004614a46565b612026565b600080546040517fb6e76873000000000000000000000000000000000000000000000000000000008152833560048201526001600160a01b039091169063b6e768739060240161012060405180830381865afa1580156105ef573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061061391906152c8565b9050600060018260a0015161062891906153a6565b67ffffffffffffffff169050600160009054906101000a90046001600160a01b03166001600160a01b031663ae2a6df26040518163ffffffff1660e01b815260040160006040518083038186803b15801561068257600080fd5b505afa158015610696573d6000803e3d6000fd5b505050506000806000806106b485600461203490919063ffffffff16565b909250905060006106cb6080890160608a016153ce565b6001600160a01b031663b02bd9206040518163ffffffff1660e01b8152600401602060405180830381865afa158015610708573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061072c91906153eb565b67ffffffffffffffff16905061271061ffff8416820204818860c0015167ffffffffffffffff16030194506127108261ffff1682028161076e5761076e615406565b04850193508342116107ac576040517f038d8a6a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8660c0015167ffffffffffffffff1642106107f3576040517f08c8d62700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050843560009081526006602052604080822060015491517fcdfda4dd000000000000000000000000000000000000000000000000000000008152600481018690529092916001600160a01b03169063edb8ee5a90829063cdfda4dd90602401602060405180830381865afa158015610871573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108959190615435565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b16815265ffffffffffff9091166004820152602401602060405180830381865afa1580156108f0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610914919061545d565b600183015460028401549192506fffffffffffffffffffffffffffffffff7001000000000000000000000000000000009182900481169291820481169116600061095f60038a6121cd565b9150506000610975868361ffff166127106122d8565b905080856fffffffffffffffffffffffffffffffff1610156109e3576040517fbfb9aa550000000000000000000000000000000000000000000000000000000081526fffffffffffffffffffffffffffffffff86166004820152602481018290526044015b60405180910390fd5b836fffffffffffffffffffffffffffffffff16856fffffffffffffffffffffffffffffffff1611610a5c576040517f8a0df63f0000000000000000000000000000000000000000000000000000000081526fffffffffffffffffffffffffffffffff8087166004830152851660248201526044016109da565b6000610a7b8d6060016020810190610a7491906153ce565b600061231c565b905060008054906101000a90046001600160a01b03166001600160a01b03166394004706828f6040518363ffffffff1660e01b8152600401610abe9291906155b2565b6020604051808303816000875af1158015610add573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b0191906155e8565b50604080518e3581526fffffffffffffffffffffffffffffffff808916602083015280881692820192909252908516606082015260ff82169033907ff5bc433f16cc3d0e9fcb5ac4f8de9f17eb90de1fd2a9ede5952c2097d4ef1a59906080015b60405180910390a350505050505050505050505050565b600080610b87600484612034565b91509150915091565b6000610ba0338787878787612612565b9695505050505050565b60008054906101000a90046001600160a01b03166001600160a01b031663c34c08e56040518163ffffffff1660e01b8152600401602060405180830381865afa158015610bfb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c1f9190615603565b6001600160a01b0316336001600160a01b031614610c69576040517f26bee1ce00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610c7281612c5e565b50565b6000610c818686612e2e565b6040805160008082526020820180845284905260ff88169282019290925260608101869052608081018590529192509060019060a0016020604051602081039080840390855afa158015610cd9573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001519150506001600160a01b0381161580610d2c5750866001600160a01b0316816001600160a01b031614155b15610d63576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610d6d8187612f50565b50505050505050565b60408051602081019091526060815281831115610dbf576040517f2cd4dad300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60045480831115610dfc576040517f2cd4dad300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610e088585615620565b905060008167ffffffffffffffff811115610e2557610e25614d65565b604051908082528060200260200182016040528015610e8e57816020015b60408051606081018252600080825260208083018290529282015282527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff909201910181610e435790505b509050855b85811015610f34576004805482908110610eaf57610eaf615633565b600091825260209182902060408051606081018252919092015465ffffffffffff8116825261ffff660100000000000082048116948301949094526801000000000000000090049092169082015282610f088984615620565b81518110610f1857610f18615633565b6020026020010181905250610f2d8160010190565b9050610e93565b506040805160208101909152908152925050505b92915050565b600080610f5b6004613063565b915091509091565b60008054906101000a90046001600160a01b03166001600160a01b031663c34c08e56040518163ffffffff1660e01b8152600401602060405180830381865afa158015610fb4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fd89190615603565b6001600160a01b0316336001600160a01b031614611022576040517f26bee1ce00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61102c82826130db565b5050565b6000610ba03387878787876131cf565b60008115611077575060008381526006602090815260408083206001600160a01b038616845260030190915290205460ff166110a2565b5060008381526006602090815260408083206001600160a01b038616845260040190915290205460ff165b9392505050565b6040805160208101909152606081526040805160048054602081810284018501855283018181529293919284929091849160009085015b8282101561113f576000848152602090819020604080516060810182529185015465ffffffffffff8116835261ffff660100000000000082048116848601526801000000000000000090910416908201528252600190920191016110e0565b5050505081525050905090565b60008061115f8d8d8d8d8d8d8d8d613714565b6040805160008082526020820180845284905260ff89169282019290925260608101879052608081018690529192509060019060a0016020604051602081039080840390855afa1580156111b7573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001519150506001600160a01b038116158061120a57508d6001600160a01b0316816001600160a01b031614155b15611241576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611251818e8e8e8e8e8e8e613885565b9e9d5050505050505050505050505050565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000810460ff16159067ffffffffffffffff166000811580156112ae5750825b905060008267ffffffffffffffff1660011480156112cb5750303b155b9050811580156112d9575080155b15611310576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b84547fffffffffffffffffffffffffffffffffffffffffffffffff000000000000000016600117855583156113715784547fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff16680100000000000000001785555b886001600160a01b0316639bccfe496040518163ffffffff1660e01b8152600401602060405180830381865afa1580156113af573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113d3919061545d565b50600080546001600160a01b03808c167fffffffffffffffffffffffff00000000000000000000000000000000000000009283161790925560018054928b169290911691909117905561142587612c5e565b611437866000015187602001516130db565b61144986604001518760600151613b89565b83156114aa5784547fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b505050505050505050565b6000806114c68b8b8b8b8b8b613c26565b6040805160008082526020820180845284905260ff89169282019290925260608101879052608081018690529192509060019060a0016020604051602081039080840390855afa15801561151e573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001519150506001600160a01b038116158061157157508b6001600160a01b0316816001600160a01b031614155b156115a8576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6115b6818c8c8c8c8c6131cf565b9c9b505050505050505050505050565b6000806115d78b8b8b8b8b8b613d84565b6040805160008082526020820180845284905260ff89169282019290925260608101879052608081018690529192509060019060a0016020604051602081039080840390855afa15801561162f573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001519150506001600160a01b038116158061168257508b6001600160a01b0316816001600160a01b031614155b156116b9576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6115b6818c8c8c8c8c612612565b600061170f338a8a8a8a8a8a8a8a8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061388592505050565b9998505050505050505050565b610c723382612f50565b60008054906101000a90046001600160a01b03166001600160a01b031663c34c08e56040518163ffffffff1660e01b8152600401602060405180830381865afa158015611777573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061179b9190615603565b6001600160a01b0316336001600160a01b0316146117e5576040517f26bee1ce00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61102c8282613b89565b600080610f5b6003613063565b604080516020810190915260608152604080516003805460208082028401850185528301818152929391928492909184916000908501821561113f576000848152602090819020604080516060810182529185015465ffffffffffff8116835261ffff660100000000000082048116848601526801000000000000000090910416908201528252600190920191016110e0565b604080516020810190915260608152818311156118d8576040517f2cd4dad300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60035480831115611915576040517f2cd4dad300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006119218585615620565b905060008167ffffffffffffffff81111561193e5761193e614d65565b6040519080825280602002602001820160405280156119a757816020015b60408051606081018252600080825260208083018290529282015282527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90920191018161195c5790505b509050855b85811015610f345760038054829081106119c8576119c8615633565b600091825260209182902060408051606081018252919092015465ffffffffffff8116825261ffff660100000000000082048116948301949094526801000000000000000090049092169082015282611a218984615620565b81518110611a3157611a31615633565b6020026020010181905250611a468160010190565b90506119ac565b600080546040517fb6e76873000000000000000000000000000000000000000000000000000000008152833560048201526001600160a01b039091169063b6e768739060240161012060405180830381865afa158015611ab1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ad591906152c8565b9050600060018260a00151611aea91906153a6565b67ffffffffffffffff169050600160009054906101000a90046001600160a01b03166001600160a01b031663ae2a6df26040518163ffffffff1660e01b815260040160006040518083038186803b158015611b4457600080fd5b505afa158015611b58573d6000803e3d6000fd5b50505050600080600080611b7685600461203490919063ffffffff16565b90925090506000611b8d6080890160608a016153ce565b6001600160a01b0316637999762c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611bca573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bee91906153eb565b67ffffffffffffffff16905061271061ffff84168202048760a0015167ffffffffffffffff160194506127108261ffff16820281611c2e57611c2e615406565b0485019350834211611c6c576040517f038d8a6a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b808760a0015167ffffffffffffffff16611c869190615662565b421115611cbf576040517f08c8d62700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050843560009081526006602052604080822060015491517fcdfda4dd000000000000000000000000000000000000000000000000000000008152600481018690529092916001600160a01b03169063edb8ee5a90829063cdfda4dd90602401602060405180830381865afa158015611d3d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d619190615435565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b16815265ffffffffffff9091166004820152602401602060405180830381865afa158015611dbc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611de0919061545d565b825460018401549192506fffffffffffffffffffffffffffffffff808216928116917001000000000000000000000000000000009004166000611e2460038a6121cd565b5090506000611e3a868361ffff166127106122d8565b905080856fffffffffffffffffffffffffffffffff161015611ea3576040517f0425fab10000000000000000000000000000000000000000000000000000000081526fffffffffffffffffffffffffffffffff86166004820152602481018290526044016109da565b836fffffffffffffffffffffffffffffffff16856fffffffffffffffffffffffffffffffff1611611f1c576040517f8a0df63f0000000000000000000000000000000000000000000000000000000081526fffffffffffffffffffffffffffffffff8087166004830152851660248201526044016109da565b6000611f3b8d6060016020810190611f3491906153ce565b600161231c565b905060008054906101000a90046001600160a01b03166001600160a01b03166389e7d126828f6040518363ffffffff1660e01b8152600401611f7e9291906155b2565b6020604051808303816000875af1158015611f9d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fc191906155e8565b50604080518e3581526fffffffffffffffffffffffffffffffff808916602083015280881692820192909252908516606082015260ff82169033907ff23279e924757f3bfe4f543bc1b43685e851d6ace53f8518b806dcd8d42fc13990608001610b62565b600080610b876003846121cd565b6000804283106120c6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f506572696f64506374436865636b706f696e74733a2074696d657374616d702060448201527f6973206e6f7420696e207468652070617374000000000000000000000000000060648201526084016109da565b60006120d184613db3565b855490915060008160058111156121315760006120ed84613dfc565b6120f79085615620565b60008a81526020902090915081015465ffffffffffff90811690861610156121215780915061212f565b61212c816001615662565b92505b505b600061213f89868585613eae565b90508060000361215a576000809650965050505050506121c6565b60006121798a61216b600185615620565b600091825260209091200190565b60408051606081018252915465ffffffffffff8116835261ffff66010000000000008204811660208501819052680100000000000000009092041692909101829052985096505050505050505b9250929050565b60008042831061225f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602f60248201527f51756f72756d436865636b706f696e74733a2074696d657374616d702069732060448201527f6e6f7420696e207468652070617374000000000000000000000000000000000060648201526084016109da565b600061226a84613db3565b855490915060008160058111156122ca57600061228684613dfc565b6122909085615620565b60008a81526020902090915081015465ffffffffffff90811690861610156122ba578091506122c8565b6122c5816001615662565b92505b505b600061213f89868585613f10565b6000827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048411830215820261230d57600080fd5b50910281810615159190040190565b60008054604080517f0505c8c9000000000000000000000000000000000000000000000000000000008152905183926001600160a01b031691630505c8c99160048083019260209291908290030181865afa15801561237f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123a39190615603565b6001600160a01b0316638b2ed3886040518163ffffffff1660e01b8152600401602060405180830381865afa1580156123e0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124049190615675565b905060015b8160ff16811161253b57836124a1576040517fc167ebae00000000000000000000000000000000000000000000000000000000815260ff821660048201526001600160a01b0386169063c167ebae90602401602060405180830381865afa158015612478573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061249c9190615692565b612525565b6040517ffb847c4300000000000000000000000000000000000000000000000000000000815260ff821660048201526001600160a01b0386169063fb847c4390602401602060405180830381865afa158015612501573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125259190615692565b15612533579150610f489050565b600101612409565b50826125a857836001600160a01b03166312a52f006040518163ffffffff1660e01b8152600401602060405180830381865afa15801561257f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125a39190615675565b61260a565b836001600160a01b03166366cacdc96040518163ffffffff1660e01b8152600401602060405180830381865afa1580156125e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061260a9190615675565b949350505050565b600080546040517fb6e768730000000000000000000000000000000000000000000000000000000081528635600482015282916001600160a01b03169063b6e768739060240161012060405180830381865afa158015612676573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061269a91906152c8565b9050600060018260a001516126af91906153a6565b8735600090815260066020526040902067ffffffffffffffff9190911691506126de6080890160608a016153ce565b6001600160a01b03166302674e4b89308c6040518463ffffffff1660e01b815260040161270d939291906156af565b60006040518083038186803b15801561272557600080fd5b505afa158015612739573d6000803e3d6000fd5b505050506001600160a01b038a16600090815260048201602052604090205460ff1615612792576040517f9dd6544b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6127a0888a89600486613f6a565b60008080806127b0600487612034565b909250905060006127c760808e0160608f016153ce565b6001600160a01b031663b02bd9206040518163ffffffff1660e01b8152600401602060405180830381865afa158015612804573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061282891906153eb565b67ffffffffffffffff16905061271061ffff8416820204818960c0015167ffffffffffffffff16030194506127108261ffff1682028161286a5761286a615406565b04850193508442116128a8576040517fd0b72b4900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b834211156128e2576040517f5b73d19300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050506000612a25600160009054906101000a90046001600160a01b03166001600160a01b0316639556de738f600160009054906101000a90046001600160a01b03166001600160a01b031663cdfda4dd886040518263ffffffff1660e01b815260040161295291815260200190565b602060405180830381865afa15801561296f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906129939190615435565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b1681526001600160a01b03909216600483015265ffffffffffff166024820152604401602060405180830381865afa1580156129fc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a20919061545d565b61425e565b905060ff8a16612a9e576002840154612a649070010000000000000000000000000000000090046fffffffffffffffffffffffffffffffff16826142ad565b6002850180546fffffffffffffffffffffffffffffffff928316700100000000000000000000000000000000029216919091179055612bc6565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60ff8b1601612b37576001840154612afd9070010000000000000000000000000000000090046fffffffffffffffffffffffffffffffff16826142ad565b6001850180546fffffffffffffffffffffffffffffffff928316700100000000000000000000000000000000029216919091179055612bc6565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe60ff8b1601612bc6576002840154612b82906fffffffffffffffffffffffffffffffff16826142ad565b6002850180547fffffffffffffffffffffffffffffffff00000000000000000000000000000000166fffffffffffffffffffffffffffffffff929092169190911790555b6001600160a01b038d1660008181526004860160205260409081902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790555160ff8c1691907f4e3e2ad68670a2709cb408c31c5afd8da0b6d3d06c75b11feb404a455639fe7c90612c46908f359086908f908f90615713565b60405180910390a39c9b505050505050505050505050565b60018054604080517f91ddadf400000000000000000000000000000000000000000000000000000000815290516000936001600160a01b039093169263edb8ee5a92909184916391ddadf49160048083019260209291908290030181865afa158015612cce573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612cf29190615435565b612cfc9190615745565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b16815265ffffffffffff9091166004820152602401602060405180830381865afa158015612d57573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612d7b919061545d565b905080600003612db7576040517f34bbd58500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80821115612df1576040517f8a5e746800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60028290556040518281527fd91a985c173545ab0e0bd11c021a1ae84c1ea6eab9350d9bf3812d5b8bff49a4906020015b60405180910390a15050565b6000807f6da9390b4f29da2c44fa5a9da00b392393d01e989d16e4a3dec5a538318e352584612e5c856142f4565b6001600160a01b03871660009081526007602090815260408083207fffffffff00000000000000000000000000000000000000000000000000000000843516845290915290208054600181019091556040805160208101959095526001600160a01b03909316928401929092526060830152608082015260a001604051602081830303815290604052805190602001209050612ef66143eb565b6040517f190100000000000000000000000000000000000000000000000000000000000060208201526022810191909152604281018290526062016040516020818303038152906040528051906020012091505092915050565b80356000908152600560205260409020546001600160a01b03838116911614612fa5576040517f86ba025600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000546040517fb92cdd9a0000000000000000000000000000000000000000000000000000000081526001600160a01b039091169063b92cdd9a90612fee908490600401615764565b600060405180830381600087803b15801561300857600080fd5b505af115801561301c573d6000803e3d6000fd5b5050604051833581526001600160a01b03851692507fdcccc5725b7256a6975da00de8953e5d326756a3079d203ff6df9e52331f411a915060200160405180910390a25050565b8054600090819080820361307d5750600093849350915050565b600061308e8561216b600185615620565b60408051606081018252915465ffffffffffff8116835261ffff66010000000000008204811660208501819052680100000000000000009092041692909101829052969095509350505050565b6127108261ffff1611806130f1575061ffff8216155b1561312e576040517f8f6febc000000000000000000000000000000000000000000000000000000000815261ffff831660048201526024016109da565b6127108161ffff161180613144575061ffff8116155b15613181576040517f3bec511c00000000000000000000000000000000000000000000000000000000815261ffff821660048201526024016109da565b613194600361ffff80851690841661454d565b6040805161ffff8085168252831660208201527f77c3f43700db02acb49792bbf699b39f72c2ed4b920bd5c0b1843dcd7c832f4c9101612e22565b600080546040517fb6e768730000000000000000000000000000000000000000000000000000000081528635600482015282916001600160a01b03169063b6e768739060240161012060405180830381865afa158015613233573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061325791906152c8565b9050600060018260a0015161326c91906153a6565b8735600090815260066020526040902067ffffffffffffffff91909116915061329b6080890160608a016153ce565b6001600160a01b0316631a2a4e7789308c6040518463ffffffff1660e01b81526004016132ca939291906156af565b60006040518083038186803b1580156132e257600080fd5b505afa1580156132f6573d6000803e3d6000fd5b505050506001600160a01b038a16600090815260038201602052604090205460ff161561334f576040517f9dd6544b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61335d888a89600086613f6a565b600080808061336d600487612034565b9092509050600061338460808e0160608f016153ce565b6001600160a01b0316637999762c6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156133c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906133e591906153eb565b67ffffffffffffffff16905061271061ffff84168202048860a0015167ffffffffffffffff160194506127108261ffff1682028161342557613425615406565b0485019350844211613463576040517fd0b72b4900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8342111561349d576040517f5b73d19300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050600061350d600160009054906101000a90046001600160a01b03166001600160a01b0316639556de738f600160009054906101000a90046001600160a01b03166001600160a01b031663cdfda4dd886040518263ffffffff1660e01b815260040161295291815260200190565b905060ff8a16613580576001840154613538906fffffffffffffffffffffffffffffffff16826142ad565b6001850180547fffffffffffffffffffffffffffffffff00000000000000000000000000000000166fffffffffffffffffffffffffffffffff92909216919091179055613694565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60ff8b16016136095783546135c8906fffffffffffffffffffffffffffffffff16826142ad565b84547fffffffffffffffffffffffffffffffff00000000000000000000000000000000166fffffffffffffffffffffffffffffffff91909116178455613694565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe60ff8b16016136945783546136659070010000000000000000000000000000000090046fffffffffffffffffffffffffffffffff16826142ad565b84546fffffffffffffffffffffffffffffffff9182167001000000000000000000000000000000000291161784555b6001600160a01b038d1660008181526003860160205260409081902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790555160ff8c1691907f761cce3a1af5d9cfc0d57222f605ce4bd2be345f0ad9ebb7b83a84a91a0c201490612c46908f359086908f908f90615713565b6001600160a01b03881660009081526007602090815260408083207fffffffff000000000000000000000000000000000000000000000000000000008435168452909152812080546001810190915560007fd1fab1c7b3b37134662e5867b00e272eb49f7be0a890df29e802c3cc66c06f838b8b8b8b8b8b8b60405161379b929190615777565b604080519182900382208c516020808f0191909120908401999099526001600160a01b039788169183019190915260ff90951660608201529285166080840152931660a082015260c081019290925260e08201526101008101919091526101208101839052610140016040516020818303038152906040528051906020012090506138246143eb565b6040517f19010000000000000000000000000000000000000000000000000000000000006020820152602281019190915260428101829052606201604051602081830303815290604052805190602001209250505098975050505050505050565b600154604080517fae2a6df200000000000000000000000000000000000000000000000000000000815290516000926001600160a01b03169163ae2a6df29160048083019286929190829003018186803b1580156138e257600080fd5b505afa1580156138f6573d6000803e3d6000fd5b505060018054604080517f91ddadf40000000000000000000000000000000000000000000000000000000081529051600095506001600160a01b039092169350639556de73928e92909185916391ddadf4916004808201926020929091908290030181865afa15801561396d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906139919190615435565b61399b9190615745565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b1681526001600160a01b03909216600483015265ffffffffffff166024820152604401602060405180830381865afa158015613a04573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613a28919061545d565b9050600254811015613a69576040517f92665351000000000000000000000000000000000000000000000000000000008152600481018290526024016109da565b6000546040517fb3c678b00000000000000000000000000000000000000000000000000000000081526001600160a01b039091169063b3c678b090613abe908c908c908c908c908c908c908c906004016157ab565b6020604051808303816000875af1158015613add573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613b01919061545d565b60008181526005602090815260409182902080547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b038f16908117909155915183815292945090917f1834dfd49255741a8ce9a9bd66b91b64d13622e1d8170e4c78ac91f9ec50a542910160405180910390a25098975050505050505050565b612710613b96828461583b565b61ffff1610613bdf576040517f519dd38400000000000000000000000000000000000000000000000000000000815261ffff8084166004830152821660248201526044016109da565b613beb60048383614576565b6040805161ffff8085168252831660208201527f8df7bdcce333d9e1b85e40782fb2f293c805761d3f48aaea58865e9541e44c709101612e22565b6000807fd7be168a3509af358f222ee35ee76aba47bc5fc2c35061cdce3958f510b7b1b28888613c55896142f4565b888888604051613c66929190615777565b60408051918290039091206001600160a01b038f166000908152600760209081528382207fffffffff0000000000000000000000000000000000000000000000000000000083351683529052919091208054600181019091556040805160208101989098526001600160a01b039096169587019590955260ff938416606087015260808601929092529190911660a084015260c083015260e082015261010001604051602081830303815290604052805190602001209050613d266143eb565b6040517f19010000000000000000000000000000000000000000000000000000000000006020820152602281019190915260428101829052606201604051602081830303815290604052805190602001209150509695505050505050565b6000807fa87058c5a9888e7af4405a932381d5a4612c61354bc3e52e9ea361ba17703fb38888613c55896142f4565b600065ffffffffffff821115613df8576040517fc0188c4f000000000000000000000000000000000000000000000000000000008152600481018390526024016109da565b5090565b60b581710100000000000000000000000000000000008110613e235760409190911b9060801c5b69010000000000000000008110613e3f5760209190911b9060401c5b650100000000008110613e575760109190911b9060201c5b63010000008110613e6d5760089190911b9060101c5b62010000010260121c80820401600190811c80830401811c80830401811c80830401811c80830401811c80830401811c80830401901c908190048111900390565b60005b81831015613f08576000613ec584846145a2565b60008781526020902090915065ffffffffffff86169082015465ffffffffffff161115613ef457809250613f02565b613eff816001615662565b93505b50613eb1565b509392505050565b60005b81831015613f08576000613f2784846145a2565b60008781526020902090915065ffffffffffff86169082015465ffffffffffff161115613f5657809250613f64565b613f61816001615662565b93505b50613f13565b600260ff84161115613fad576040517ffe0e5d8b00000000000000000000000000000000000000000000000000000000815260ff841660048201526024016109da565b600080546040517fec12d8be0000000000000000000000000000000000000000000000000000000081526001600160a01b039091169063ec12d8be90613ff7908990600401615764565b602060405180830381865afa158015614014573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906140389190615675565b60ff16600681111561404c5761404c6156e4565b9050826006811115614060576140606156e4565b816006811115614072576140726156e4565b146140ab57806040517f87afe58e0000000000000000000000000000000000000000000000000000000081526004016109da9190615856565b60008060009054906101000a90046001600160a01b03166001600160a01b0316630505c8c96040518163ffffffff1660e01b8152600401602060405180830381865afa1580156140ff573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906141239190615603565b6040517fe0bec07600000000000000000000000000000000000000000000000000000000815230600482015260ff88166024820152604481018590526001600160a01b03919091169063e0bec07690606401602060405180830381865afa158015614192573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906141b69190615692565b9050806141ef576040517f88aebd1200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600160009054906101000a90046001600160a01b03166001600160a01b031663ae2a6df26040518163ffffffff1660e01b815260040160006040518083038186803b15801561423d57600080fd5b505afa158015614251573d6000803e3d6000fd5b5050505050505050505050565b60006fffffffffffffffffffffffffffffffff821115613df8576040517fc0188c4f000000000000000000000000000000000000000000000000000000008152600481018390526024016109da565b60006fffffffffffffffffffffffffffffffff6142ce838216858316615662565b106142ea57506fffffffffffffffffffffffffffffffff610f48565b6110a28284615897565b60007f86b4555c6e347ea3f038485b59b894986c208b67da7e65fcfa3707271608465f823561432960408501602086016153ce565b61433960608601604087016158c0565b61434960808701606088016153ce565b61435960a08801608089016153ce565b60a088013561436b60c08a018a6158dd565b604051614379929190615777565b6040805191829003822060208301999099528101969096526001600160a01b03948516606087015260ff909316608086015290831660a08501529190911660c083015260e082015261010081019190915261012001604051602081830303815290604052805190602001209050919050565b60008054604080517f06fdde0300000000000000000000000000000000000000000000000000000000815290517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f926001600160a01b0316916306fdde0391600480830192879291908290030181865afa15801561446d573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526144b39190810190615942565b8051602091820120604080518082018252600181527f310000000000000000000000000000000000000000000000000000000000000090840152805192830193909352918101919091527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a082015260c00160405160208183030381529060405280519060200120905090565b6145718361455a42613db3565b614563856145bd565b61456c856145bd565b6145fe565b505050565b6145718361458342613db3565b6145908561ffff166145bd565b61459d8561ffff166145bd565b614909565b60006145b160028484186159b0565b6110a290848416615662565b600061ffff821115613df8576040517fc0188c4f000000000000000000000000000000000000000000000000000000008152600481018390526024016109da565b835480156148475760006146178661216b600185615620565b60408051606081018252915465ffffffffffff80821680855261ffff66010000000000008404811660208701526801000000000000000090930490921692840192909252919250861610156146ed576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f51756f72756d20436865636b706f696e743a20696e76616c69642074696d657360448201527f74616d700000000000000000000000000000000000000000000000000000000060648201526084016109da565b805165ffffffffffff8087169116036147865760006147118761216b600186615620565b805461ffff86811668010000000000000000027fffffffffffffffffffffffffffffffffffffffffffff0000ffffffffffffffff918916660100000000000002919091167fffffffffffffffffffffffffffffffffffffffffffff00000000ffffffffffff9092169190911717905550614841565b6040805160608101825265ffffffffffff808816825261ffff80881660208085019182528883169585019586528b54600181018d5560008d81529190912094519401805491519551831668010000000000000000027fffffffffffffffffffffffffffffffffffffffffffff0000ffffffffffffffff969093166601000000000000027fffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000909216949093169390931792909217929092161790555b50614902565b6040805160608101825265ffffffffffff808716825261ffff80871660208085019182528783169585019586528a54600181018c5560008c81529190912094519401805491519551831668010000000000000000027fffffffffffffffffffffffffffffffffffffffffffff0000ffffffffffffffff969093166601000000000000027fffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000909216949093169390931792909217929092161790555b5050505050565b835480156148475760006149228661216b600185615620565b60408051606081018252915465ffffffffffff80821680855261ffff66010000000000008404811660208701526801000000000000000090930490921692840192909252919250861610156146ed576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602860248201527f506572696f642050637420436865636b706f696e743a20696e76616c6964207460448201527f696d657374616d7000000000000000000000000000000000000000000000000060648201526084016109da565b600060e08284031215614a0b57600080fd5b50919050565b600060208284031215614a2357600080fd5b813567ffffffffffffffff811115614a3a57600080fd5b61260a848285016149f9565b600060208284031215614a5857600080fd5b5035919050565b60ff81168114610c7257600080fd5b8035614a7981614a5f565b919050565b60008083601f840112614a9057600080fd5b50813567ffffffffffffffff811115614aa857600080fd5b6020830191508360208285010111156121c657600080fd5b600080600080600060808688031215614ad857600080fd5b8535614ae381614a5f565b9450602086013567ffffffffffffffff80821115614b0057600080fd5b614b0c89838a016149f9565b955060408801359150614b1e82614a5f565b90935060608701359080821115614b3457600080fd5b50614b4188828901614a7e565b969995985093965092949392505050565b80357fffffffff0000000000000000000000000000000000000000000000000000000081168114614a7957600080fd5b600060208284031215614b9457600080fd5b6110a282614b52565b6001600160a01b0381168114610c7257600080fd5b8035614a7981614b9d565b600080600080600060a08688031215614bd557600080fd5b8535614be081614b9d565b9450602086013567ffffffffffffffff811115614bfc57600080fd5b614c08888289016149f9565b9450506040860135614c1981614a5f565b94979396509394606081013594506080013592915050565b60008060408385031215614c4457600080fd5b50508035926020909101359150565b60208082528251828201829052805160408401819052600092916060919083019082860190855b81811015614cc357614cb3838551805165ffffffffffff16825260208082015161ffff9081169184019190915260409182015116910152565b9285019291840191600101614c7a565b5090979650505050505050565b803561ffff81168114614a7957600080fd5b60008060408385031215614cf557600080fd5b614cfe83614cd0565b9150614d0c60208401614cd0565b90509250929050565b8015158114610c7257600080fd5b600080600060608486031215614d3857600080fd5b833592506020840135614d4a81614b9d565b91506040840135614d5a81614d15565b809150509250925092565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051610120810167ffffffffffffffff81118282101715614db857614db8614d65565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715614e0557614e05614d65565b604052919050565b600067ffffffffffffffff821115614e2757614e27614d65565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b600082601f830112614e6457600080fd5b8135614e77614e7282614e0d565b614dbe565b818152846020838601011115614e8c57600080fd5b816020850160208301376000918101602001919091529392505050565b60008060008060008060008060008060006101408c8e031215614ecb57600080fd5b614ed48c614bb2565b9a50614ee260208d01614a6e565b9950614ef060408d01614bb2565b9850614efe60608d01614bb2565b975060808c0135965067ffffffffffffffff8060a08e01351115614f2157600080fd5b614f318e60a08f01358f01614a7e565b909750955060c08d0135811015614f4757600080fd5b50614f588d60c08e01358e01614e53565b9350614f6660e08d01614a6e565b92506101008c013591506101208c013590509295989b509295989b9093969950565b60008060008084860360e0811215614f9f57600080fd5b8535614faa81614b9d565b94506020860135614fba81614b9d565b93506040860135925060807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa082011215614ff357600080fd5b506040516080810181811067ffffffffffffffff8211171561501757615017614d65565b60405261502660608701614cd0565b815261503460808701614cd0565b602082015261504560a08701614cd0565b604082015261505660c08701614cd0565b6060820152939692955090935050565b60008060008060008060008060006101008a8c03121561508557600080fd5b893561509081614b9d565b985060208a01356150a081614a5f565b975060408a013567ffffffffffffffff808211156150bd57600080fd5b6150c98d838e016149f9565b985060608c013591506150db82614a5f565b90965060808b013590808211156150f157600080fd5b506150fe8c828d01614a7e565b90965094505060a08a013561511281614a5f565b8093505060c08a0135915060e08a013590509295985092959850929598565b60008060008060008060008060c0898b03121561514d57600080fd5b883561515881614a5f565b9750602089013561516881614b9d565b9650604089013561517881614b9d565b955060608901359450608089013567ffffffffffffffff8082111561519c57600080fd5b6151a88c838d01614a7e565b909650945060a08b01359150808211156151c157600080fd5b506151ce8b828c01614a7e565b999c989b5096995094979396929594505050565b600080604083850312156151f557600080fd5b823561520081614b9d565b9150614d0c60208401614b52565b60208082528251828201829052805160408401819052600092916060919083019082860190855b81811015614cc35761526e838551805165ffffffffffff16825260208082015161ffff9081169184019190915260409182015116910152565b9285019291840191600101615235565b8051614a7981614d15565b8051614a7981614b9d565b805167ffffffffffffffff81168114614a7957600080fd5b80516bffffffffffffffffffffffff81168114614a7957600080fd5b600061012082840312156152db57600080fd5b6152e3614d94565b825181526152f36020840161527e565b60208201526153046040840161527e565b60408201526153156060840161527e565b606082015261532660808401615289565b608082015261533760a08401615294565b60a082015261534860c08401615294565b60c082015261535960e084016152ac565b60e082015261010061536c8185016152ac565b908201529392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b67ffffffffffffffff8281168282160390808211156153c7576153c7615377565b5092915050565b6000602082840312156153e057600080fd5b81356110a281614b9d565b6000602082840312156153fd57600080fd5b6110a282615294565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006020828403121561544757600080fd5b815165ffffffffffff811681146110a257600080fd5b60006020828403121561546f57600080fd5b5051919050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b80358252600060208201356154d381614b9d565b6001600160a01b0390811660208501526040830135906154f282614a5f565b60ff821660408601526060840135915061550b82614b9d565b908116606085015260808301359061552282614b9d565b16608084015260a0828101359084015260c0820135368390037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe101811261556857600080fd5b820160208101903567ffffffffffffffff81111561558557600080fd5b80360382131561559457600080fd5b60e060c08601526155a960e086018284615476565b95945050505050565b60ff831681526060602082015260006155ce60608301846154bf565b828103604084015260008152602081019150509392505050565b6000602082840312156155fa57600080fd5b6110a2826152ac565b60006020828403121561561557600080fd5b81516110a281614b9d565b81810381811115610f4857610f48615377565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b80820180821115610f4857610f48615377565b60006020828403121561568757600080fd5b81516110a281614a5f565b6000602082840312156156a457600080fd5b81516110a281614d15565b6060815260006156c260608301866154bf565b90506001600160a01b038416602083015260ff83166040830152949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b8481526fffffffffffffffffffffffffffffffff84166020820152606060408201526000610ba0606083018486615476565b65ffffffffffff8281168282160390808211156153c7576153c7615377565b6020815260006110a260208301846154bf565b8183823760009101908152919050565b60005b838110156157a257818101518382015260200161578a565b50506000910152565b60ff8816815260006001600160a01b03808916602084015280881660408401525085606083015260c060808301526157e760c083018587615476565b82810360a08401528351808252615805816020840160208801615787565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016016020019998505050505050505050565b61ffff8181168382160190808211156153c7576153c7615377565b6020810160078310615891577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b91905290565b6fffffffffffffffffffffffffffffffff8181168382160190808211156153c7576153c7615377565b6000602082840312156158d257600080fd5b81356110a281614a5f565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261591257600080fd5b83018035915067ffffffffffffffff82111561592d57600080fd5b6020019150368190038213156121c657600080fd5b60006020828403121561595457600080fd5b815167ffffffffffffffff81111561596b57600080fd5b8201601f8101841361597c57600080fd5b805161598a614e7282614e0d565b81815285602083850101111561599f57600080fd5b6155a9826020830160208601615787565b6000826159e6577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b50049056fea164736f6c6343000817000a", + "nonce": "0x0", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xd6a6779e8bebc623bacc89562b7c8d60e63fc341df4bee66f6ab085c5ceb27bd", + "transactionType": "CREATE", + "contractName": "LlamaTokenVotingFactory", + "contractAddress": "0xFBE17545dffD75A92A5A72926AE581478973FE65", + "function": null, + "arguments": [ + "0x3f3DAB3ab8cEc2FBd06767c2A5F66Cb6BFF21A4A" + ], + "transaction": { + "type": "0x02", + "from": "0xb72276d9ff15c7998b9962ffcfb21a6c7249441b", + "gas": "0xc9127", + "value": "0x0", + "data": "0x60a060405234801561001057600080fd5b50604051610b16380380610b1683398101604081905261002f91610040565b6001600160a01b0316608052610070565b60006020828403121561005257600080fd5b81516001600160a01b038116811461006957600080fd5b9392505050565b608051610a8561009160003960008181604001526104390152610a856000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c806321618ea41461003b5780633ec857a51461008b575b600080fd5b6100627f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b61006261009936600461087b565b600080338360000151846040015185606001516040516020016100bf9493929190610959565b60405160208183030381529060405280519060200120905060006100e7846020015183610622565b60408086015190517f439fab9100000000000000000000000000000000000000000000000000000000815291925073ffffffffffffffffffffffffffffffffffffffff83169163439fab919161013f916004016109b9565b6020604051808303816000875af115801561015e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101829190610a0a565b50600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1663fc0c546a6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156101e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061020a9190610a33565b73ffffffffffffffffffffffffffffffffffffffff1603610257576040517f65f5b03400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517fcdfda4dd00000000000000000000000000000000000000000000000000000000815242600482015273ffffffffffffffffffffffffffffffffffffffff82169063cdfda4dd90602401602060405180830381865afa1580156102c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102e59190610a50565b65ffffffffffff16600003610326576040517f65f5b03400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff166391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865afa158015610371573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103959190610a50565b65ffffffffffff166000036103d6576040517f65f5b03400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1663ae2a6df26040518163ffffffff1660e01b815260040160006040518083038186803b15801561041c57600080fd5b505afa158015610430573d6000803e3d6000fd5b5050505061045e7f000000000000000000000000000000000000000000000000000000000000000083610622565b8451608086015160a0870151604080517f8734852a00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff948516600482015286851660248201526044810193909352815161ffff908116606485015260208301518116608485015290820151811660a48401526060909101511660c4820152919450841690638734852a9060e401600060405180830381600087803b15801561051757600080fd5b505af115801561052b573d6000803e3d6000fd5b505050508073ffffffffffffffffffffffffffffffffffffffff1663fc0c546a6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561057a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061059e9190610a33565b84516020808701516060808901516040805173ffffffffffffffffffffffffffffffffffffffff94851681528885169581019590955284015287821690830152466080830152928316929091169033907f4c8bb78cb1c62e64cef39fc4b4a1864d1a331a28c7bd59a67fe969cc8ab715879060a00160405180910390a45050919050565b6000763d602d80600a3d3981f3363d3d373d3d3d363d730000008360601b60e81c176000526e5af43d82803e903d91602b57fd5bf38360781b1760205281603760096000f5905073ffffffffffffffffffffffffffffffffffffffff81166106b6576040517fc2f868f400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405160c0810167ffffffffffffffff8111828210171561070e5761070e6106bc565b60405290565b73ffffffffffffffffffffffffffffffffffffffff8116811461073657600080fd5b50565b600082601f83011261074a57600080fd5b813567ffffffffffffffff80821115610765576107656106bc565b604051601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011681019082821181831017156107ab576107ab6106bc565b816040528381528660208588010111156107c457600080fd5b836020870160208301376000602085830101528094505050505092915050565b803561ffff811681146107f657600080fd5b919050565b60006080828403121561080d57600080fd5b6040516080810181811067ffffffffffffffff82111715610830576108306106bc565b60405290508061083f836107e4565b815261084d602084016107e4565b602082015261085e604084016107e4565b604082015261086f606084016107e4565b60608201525092915050565b60006020828403121561088d57600080fd5b813567ffffffffffffffff808211156108a557600080fd5b9083019061012082860312156108ba57600080fd5b6108c26106eb565b82356108cd81610714565b815260208301356108dd81610714565b60208201526040830135828111156108f457600080fd5b61090087828601610739565b60408301525060608301356060820152608083013560808201526109278660a085016107fb565b60a082015295945050505050565b60005b83811015610950578181015183820152602001610938565b50506000910152565b60007fffffffffffffffffffffffffffffffffffffffff000000000000000000000000808760601b168352808660601b1660148401525083516109a3816028850160208801610935565b6028920191820192909252604801949350505050565b60208152600082518060208401526109d8816040850160208701610935565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169190910160400192915050565b600060208284031215610a1c57600080fd5b81518015158114610a2c57600080fd5b9392505050565b600060208284031215610a4557600080fd5b8151610a2c81610714565b600060208284031215610a6257600080fd5b815165ffffffffffff81168114610a2c57600080fdfea164736f6c6343000817000a0000000000000000000000003f3dab3ab8cec2fbd06767c2a5f66cb6bff21a4a", + "nonce": "0x1", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xaaff59fcd0337323ba2c4e2bdb9a170e72af4e9acc7b0ad353328d86a9472441", + "transactionType": "CREATE", + "contractName": "LlamaTokenAdapterVotesTimestamp", + "contractAddress": "0x088C268cb00226D6A9b29e5488905Aa94D2f0239", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0xb72276d9ff15c7998b9962ffcfb21a6c7249441b", + "gas": "0x10d28c", + "value": "0x0", + "data": "0x608060405234801561001057600080fd5b5061001961001e565b6100d0565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff161561006e5760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b03908116146100cd5780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b610df5806100df6000396000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c8063ae2a6df21161005b578063ae2a6df21461010a578063cdfda4dd14610114578063edb8ee5a14610127578063fc0c546a1461013a57600080fd5b8063439fab911461008d5780634bf5d7e9146100b557806391ddadf4146100ca5780639556de73146100e9575b600080fd5b6100a061009b3660046108e4565b61017f565b60405190151581526020015b60405180910390f35b6100bd6103a1565b6040516100ac9190610988565b6100d261042f565b60405165ffffffffffff90911681526020016100ac565b6100fc6100f7366004610a12565b6104e9565b6040519081526020016100ac565b610112610593565b005b6100d2610122366004610a4b565b6105ef565b6100fc610135366004610a64565b610600565b60005461015a9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100ac565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0080546000919068010000000000000000810460ff16159067ffffffffffffffff1683811580156101cd5750825b905060008267ffffffffffffffff1660011480156101ea5750303b155b9050811580156101f8575080155b1561022f576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b84547fffffffffffffffffffffffffffffffffffffffffffffffff000000000000000016600117855583156102905784547fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff16680100000000000000001785555b6000878060200190518101906102a69190610a81565b8051600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff90921691909117905560408051808201909152600e81527f6d6f64653d74696d657374616d7000000000000000000000000000000000000060208201529091506001906103309082610b71565b50600196505083156103975784547fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b5050505050919050565b600180546103ae90610acd565b80601f01602080910402602001604051908101604052809291908181526020018280546103da90610acd565b80156104275780601f106103fc57610100808354040283529160200191610427565b820191906000526020600020905b81548152906001019060200180831161040a57829003601f168201915b505050505081565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156104d7575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682019092526104d491810190610c8b565b60015b6104e4576104e44261069b565b905090565b600080546040517f3a46b1a800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff858116600483015265ffffffffffff8516602483015290911690633a46b1a890604401602060405180830381865afa158015610568573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061058c9190610ca8565b9392505050565b600061059d6106e8565b905060006105a9610712565b905081806105b45750805b156105eb576040517f6ff0714000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050565b60006105fa8261069b565b92915050565b600080546040517f8e539e8c00000000000000000000000000000000000000000000000000000000815265ffffffffffff8416600482015273ffffffffffffffffffffffffffffffffffffffff90911690638e539e8c90602401602060405180830381865afa158015610677573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105fa9190610ca8565b600065ffffffffffff8211156106e4576040517fc0188c4f0000000000000000000000000000000000000000000000000000000081526004810183905260240160405180910390fd5b5090565b60006106f34261069b565b65ffffffffffff1661070361042f565b65ffffffffffff161415905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16634bf5d7e96040518163ffffffff1660e01b8152600401600060405180830381865afa9250505080156107bf57506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526107bc9190810190610cc1565b60015b6107c95750600090565b60016040516020016107db9190610d38565b60405160208183030381529060405280519060200120816040516020016108029190610dcc565b60405160208183030381529060405280519060200120141591505090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff8111828210171561089657610896610820565b604052919050565b600067ffffffffffffffff8211156108b8576108b8610820565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b6000602082840312156108f657600080fd5b813567ffffffffffffffff81111561090d57600080fd5b8201601f8101841361091e57600080fd5b803561093161092c8261089e565b61084f565b81815285602083850101111561094657600080fd5b81602084016020830137600091810160200191909152949350505050565b60005b8381101561097f578181015183820152602001610967565b50506000910152565b60208152600082518060208401526109a7816040850160208701610964565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169190910160400192915050565b73ffffffffffffffffffffffffffffffffffffffff811681146109fb57600080fd5b50565b65ffffffffffff811681146109fb57600080fd5b60008060408385031215610a2557600080fd5b8235610a30816109d9565b91506020830135610a40816109fe565b809150509250929050565b600060208284031215610a5d57600080fd5b5035919050565b600060208284031215610a7657600080fd5b813561058c816109fe565b600060208284031215610a9357600080fd5b6040516020810181811067ffffffffffffffff82111715610ab657610ab6610820565b6040528251610ac4816109d9565b81529392505050565b600181811c90821680610ae157607f821691505b602082108103610b1a577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b601f821115610b6c576000816000526020600020601f850160051c81016020861015610b495750805b601f850160051c820191505b81811015610b6857828155600101610b55565b5050505b505050565b815167ffffffffffffffff811115610b8b57610b8b610820565b610b9f81610b998454610acd565b84610b20565b602080601f831160018114610bf25760008415610bbc5750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b178555610b68565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b82811015610c3f57888601518255948401946001909101908401610c20565b5085821015610c7b57878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b600060208284031215610c9d57600080fd5b815161058c816109fe565b600060208284031215610cba57600080fd5b5051919050565b600060208284031215610cd357600080fd5b815167ffffffffffffffff811115610cea57600080fd5b8201601f81018413610cfb57600080fd5b8051610d0961092c8261089e565b818152856020838501011115610d1e57600080fd5b610d2f826020830160208601610964565b95945050505050565b6000808354610d4681610acd565b60018281168015610d5e5760018114610d9157610dc0565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0084168752821515830287019450610dc0565b8760005260208060002060005b85811015610db75781548a820152908401908201610d9e565b50505082870194505b50929695505050505050565b60008251610dde818460208701610964565b919091019291505056fea164736f6c6343000817000a", + "nonce": "0x2", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0x5794742df00549335af9866a24f455930c4e4d52b31699c0c7dd107c6bdefc81", + "transactionIndex": "0x1", + "blockHash": "0x7e9250894e4240cb2ecae2f3e92c190e8b6776e1cbc05f8e476848076bb17d66", + "blockNumber": "0x8ae66f", + "from": "0xb72276D9FF15c7998b9962FFCfB21A6C7249441B", + "to": null, + "cumulativeGasUsed": "0x4d6806", + "gasUsed": "0x4ca2c1", + "contractAddress": "0x3f3DAB3ab8cEc2FBd06767c2A5F66Cb6BFF21A4A", + "logs": [ + { + "address": "0x3f3DAB3ab8cEc2FBd06767c2A5F66Cb6BFF21A4A", + "topics": [ + "0xc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2" + ], + "data": "0x000000000000000000000000000000000000000000000000ffffffffffffffff", + "blockHash": "0x7e9250894e4240cb2ecae2f3e92c190e8b6776e1cbc05f8e476848076bb17d66", + "blockNumber": "0x8ae66f", + "transactionHash": "0x5794742df00549335af9866a24f455930c4e4d52b31699c0c7dd107c6bdefc81", + "transactionIndex": "0x1", + "logIndex": "0x0", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000800000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e3e" + }, + { + "transactionHash": "0xd6a6779e8bebc623bacc89562b7c8d60e63fc341df4bee66f6ab085c5ceb27bd", + "transactionIndex": "0x2", + "blockHash": "0x7e9250894e4240cb2ecae2f3e92c190e8b6776e1cbc05f8e476848076bb17d66", + "blockNumber": "0x8ae66f", + "from": "0xb72276D9FF15c7998b9962FFCfB21A6C7249441B", + "to": null, + "cumulativeGasUsed": "0x571376", + "gasUsed": "0x9ab70", + "contractAddress": "0xFBE17545dffD75A92A5A72926AE581478973FE65", + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e3e" + }, + { + "transactionHash": "0xaaff59fcd0337323ba2c4e2bdb9a170e72af4e9acc7b0ad353328d86a9472441", + "transactionIndex": "0x3", + "blockHash": "0x7e9250894e4240cb2ecae2f3e92c190e8b6776e1cbc05f8e476848076bb17d66", + "blockNumber": "0x8ae66f", + "from": "0xb72276D9FF15c7998b9962FFCfB21A6C7249441B", + "to": null, + "cumulativeGasUsed": "0x64051f", + "gasUsed": "0xcf1a9", + "contractAddress": "0x088C268cb00226D6A9b29e5488905Aa94D2f0239", + "logs": [ + { + "address": "0x088C268cb00226D6A9b29e5488905Aa94D2f0239", + "topics": [ + "0xc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2" + ], + "data": "0x000000000000000000000000000000000000000000000000ffffffffffffffff", + "blockHash": "0x7e9250894e4240cb2ecae2f3e92c190e8b6776e1cbc05f8e476848076bb17d66", + "blockNumber": "0x8ae66f", + "transactionHash": "0xaaff59fcd0337323ba2c4e2bdb9a170e72af4e9acc7b0ad353328d86a9472441", + "transactionIndex": "0x3", + "logIndex": "0x1", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000800000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000008000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e3e" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1704995320, + "chain": 8453, + "multi": false, + "commit": "688208a" +} \ No newline at end of file diff --git a/broadcast/DeployLlamaTokenVotingFactory.s.sol/8453/run-latest.json b/broadcast/DeployLlamaTokenVotingFactory.s.sol/8453/run-latest.json new file mode 100644 index 0000000..c8e34e8 --- /dev/null +++ b/broadcast/DeployLlamaTokenVotingFactory.s.sol/8453/run-latest.json @@ -0,0 +1,148 @@ +{ + "transactions": [ + { + "hash": "0x5794742df00549335af9866a24f455930c4e4d52b31699c0c7dd107c6bdefc81", + "transactionType": "CREATE", + "contractName": "LlamaTokenGovernor", + "contractAddress": "0x3f3DAB3ab8cEc2FBd06767c2A5F66Cb6BFF21A4A", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0xb72276d9ff15c7998b9962ffcfb21a6c7249441b", + "gas": "0x6398ff", + "value": "0x0", + "data": "0x60806040523480156200001157600080fd5b506200001c62000022565b620000d6565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff1615620000735760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b0390811614620000d35780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b6159f880620000e66000396000f3fe608060405234801561001057600080fd5b50600436106101da5760003560e01c80637e4a56bb11610104578063b92cdd9a116100a2578063cae3bdff11610071578063cae3bdff1461053d578063dcae21b714610552578063e45061ea14610565578063e5589b9d1461057857600080fd5b8063b92cdd9a146104e4578063b9b2cf6c146104f7578063c193c2691461050a578063c26c12eb1461053557600080fd5b80638734852a116100de5780638734852a1461049857806396ff6e2e146104ab578063a1d9b412146104be578063b3c678b0146104d157600080fd5b80637e4a56bb1461046a5780637ed7238e14610472578063807ad1141461048557600080fd5b80633fed8f161161017c57806359e5332d1161014b57806359e5332d1461036457806364f6b3161461037b5780637186dd9c1461038e57806374f717cd1461044757600080fd5b80633fed8f16146103165780634d61ebf4146103365780634ec0ab1c1461033e578063509c5fbd1461035157600080fd5b806319a39740116101b857806319a397401461025b5780631e127ddf1461026e578063372fa8e8146102c25780633df91222146102d557600080fd5b80630669b1ce146101df57806311f900b5146101f45780631650080714610227575b600080fd5b6101f26101ed366004614a11565b61058b565b005b610207610202366004614a46565b610b79565b6040805161ffff9384168152929091166020830152015b60405180910390f35b61023a610235366004614ac0565b610b90565b6040516fffffffffffffffffffffffffffffffff909116815260200161021e565b6101f2610269366004614a46565b610baa565b6101f261027c366004614b82565b3360009081526007602090815260408083207fffffffff000000000000000000000000000000000000000000000000000000009490941683529290522080546001019055565b6101f26102d0366004614bbd565b610c75565b6102fe6102e3366004614a46565b6005602052600090815260409020546001600160a01b031681565b6040516001600160a01b03909116815260200161021e565b610329610324366004614c31565b610d76565b60405161021e9190614c53565b610207610f4e565b6101f261034c366004614ce2565b610f63565b61023a61035f366004614ac0565b611030565b61036d60025481565b60405190815260200161021e565b6000546102fe906001600160a01b031681565b6103fc61039c366004614a46565b6006602052600090815260409020805460018201546002909201546fffffffffffffffffffffffffffffffff8083169370010000000000000000000000000000000093849004821693818316939181900483169282811692919091041686565b604080516fffffffffffffffffffffffffffffffff978816815295871660208701529386169385019390935290841660608401528316608083015290911660a082015260c00161021e565b61045a610455366004614d23565b611040565b604051901515815260200161021e565b6103296110a9565b61036d610480366004614ea9565b61114c565b6001546102fe906001600160a01b031681565b6101f26104a6366004614f88565b611263565b61023a6104b9366004615066565b6114b5565b61023a6104cc366004615066565b6115c6565b61036d6104df366004615131565b6116c7565b6101f26104f2366004614a11565b61171c565b6101f2610505366004614ce2565b611726565b61036d6105183660046151e2565b600760209081526000928352604080842090915290825290205481565b6102076117ef565b6105456117fc565b60405161021e919061520e565b610545610560366004614c31565b61188f565b6101f2610573366004614a11565b611a4d565b610207610586366004614a46565b612026565b600080546040517fb6e76873000000000000000000000000000000000000000000000000000000008152833560048201526001600160a01b039091169063b6e768739060240161012060405180830381865afa1580156105ef573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061061391906152c8565b9050600060018260a0015161062891906153a6565b67ffffffffffffffff169050600160009054906101000a90046001600160a01b03166001600160a01b031663ae2a6df26040518163ffffffff1660e01b815260040160006040518083038186803b15801561068257600080fd5b505afa158015610696573d6000803e3d6000fd5b505050506000806000806106b485600461203490919063ffffffff16565b909250905060006106cb6080890160608a016153ce565b6001600160a01b031663b02bd9206040518163ffffffff1660e01b8152600401602060405180830381865afa158015610708573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061072c91906153eb565b67ffffffffffffffff16905061271061ffff8416820204818860c0015167ffffffffffffffff16030194506127108261ffff1682028161076e5761076e615406565b04850193508342116107ac576040517f038d8a6a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8660c0015167ffffffffffffffff1642106107f3576040517f08c8d62700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050843560009081526006602052604080822060015491517fcdfda4dd000000000000000000000000000000000000000000000000000000008152600481018690529092916001600160a01b03169063edb8ee5a90829063cdfda4dd90602401602060405180830381865afa158015610871573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108959190615435565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b16815265ffffffffffff9091166004820152602401602060405180830381865afa1580156108f0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610914919061545d565b600183015460028401549192506fffffffffffffffffffffffffffffffff7001000000000000000000000000000000009182900481169291820481169116600061095f60038a6121cd565b9150506000610975868361ffff166127106122d8565b905080856fffffffffffffffffffffffffffffffff1610156109e3576040517fbfb9aa550000000000000000000000000000000000000000000000000000000081526fffffffffffffffffffffffffffffffff86166004820152602481018290526044015b60405180910390fd5b836fffffffffffffffffffffffffffffffff16856fffffffffffffffffffffffffffffffff1611610a5c576040517f8a0df63f0000000000000000000000000000000000000000000000000000000081526fffffffffffffffffffffffffffffffff8087166004830152851660248201526044016109da565b6000610a7b8d6060016020810190610a7491906153ce565b600061231c565b905060008054906101000a90046001600160a01b03166001600160a01b03166394004706828f6040518363ffffffff1660e01b8152600401610abe9291906155b2565b6020604051808303816000875af1158015610add573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b0191906155e8565b50604080518e3581526fffffffffffffffffffffffffffffffff808916602083015280881692820192909252908516606082015260ff82169033907ff5bc433f16cc3d0e9fcb5ac4f8de9f17eb90de1fd2a9ede5952c2097d4ef1a59906080015b60405180910390a350505050505050505050505050565b600080610b87600484612034565b91509150915091565b6000610ba0338787878787612612565b9695505050505050565b60008054906101000a90046001600160a01b03166001600160a01b031663c34c08e56040518163ffffffff1660e01b8152600401602060405180830381865afa158015610bfb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c1f9190615603565b6001600160a01b0316336001600160a01b031614610c69576040517f26bee1ce00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610c7281612c5e565b50565b6000610c818686612e2e565b6040805160008082526020820180845284905260ff88169282019290925260608101869052608081018590529192509060019060a0016020604051602081039080840390855afa158015610cd9573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001519150506001600160a01b0381161580610d2c5750866001600160a01b0316816001600160a01b031614155b15610d63576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610d6d8187612f50565b50505050505050565b60408051602081019091526060815281831115610dbf576040517f2cd4dad300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60045480831115610dfc576040517f2cd4dad300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610e088585615620565b905060008167ffffffffffffffff811115610e2557610e25614d65565b604051908082528060200260200182016040528015610e8e57816020015b60408051606081018252600080825260208083018290529282015282527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff909201910181610e435790505b509050855b85811015610f34576004805482908110610eaf57610eaf615633565b600091825260209182902060408051606081018252919092015465ffffffffffff8116825261ffff660100000000000082048116948301949094526801000000000000000090049092169082015282610f088984615620565b81518110610f1857610f18615633565b6020026020010181905250610f2d8160010190565b9050610e93565b506040805160208101909152908152925050505b92915050565b600080610f5b6004613063565b915091509091565b60008054906101000a90046001600160a01b03166001600160a01b031663c34c08e56040518163ffffffff1660e01b8152600401602060405180830381865afa158015610fb4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fd89190615603565b6001600160a01b0316336001600160a01b031614611022576040517f26bee1ce00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61102c82826130db565b5050565b6000610ba03387878787876131cf565b60008115611077575060008381526006602090815260408083206001600160a01b038616845260030190915290205460ff166110a2565b5060008381526006602090815260408083206001600160a01b038616845260040190915290205460ff165b9392505050565b6040805160208101909152606081526040805160048054602081810284018501855283018181529293919284929091849160009085015b8282101561113f576000848152602090819020604080516060810182529185015465ffffffffffff8116835261ffff660100000000000082048116848601526801000000000000000090910416908201528252600190920191016110e0565b5050505081525050905090565b60008061115f8d8d8d8d8d8d8d8d613714565b6040805160008082526020820180845284905260ff89169282019290925260608101879052608081018690529192509060019060a0016020604051602081039080840390855afa1580156111b7573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001519150506001600160a01b038116158061120a57508d6001600160a01b0316816001600160a01b031614155b15611241576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611251818e8e8e8e8e8e8e613885565b9e9d5050505050505050505050505050565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000810460ff16159067ffffffffffffffff166000811580156112ae5750825b905060008267ffffffffffffffff1660011480156112cb5750303b155b9050811580156112d9575080155b15611310576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b84547fffffffffffffffffffffffffffffffffffffffffffffffff000000000000000016600117855583156113715784547fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff16680100000000000000001785555b886001600160a01b0316639bccfe496040518163ffffffff1660e01b8152600401602060405180830381865afa1580156113af573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113d3919061545d565b50600080546001600160a01b03808c167fffffffffffffffffffffffff00000000000000000000000000000000000000009283161790925560018054928b169290911691909117905561142587612c5e565b611437866000015187602001516130db565b61144986604001518760600151613b89565b83156114aa5784547fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b505050505050505050565b6000806114c68b8b8b8b8b8b613c26565b6040805160008082526020820180845284905260ff89169282019290925260608101879052608081018690529192509060019060a0016020604051602081039080840390855afa15801561151e573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001519150506001600160a01b038116158061157157508b6001600160a01b0316816001600160a01b031614155b156115a8576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6115b6818c8c8c8c8c6131cf565b9c9b505050505050505050505050565b6000806115d78b8b8b8b8b8b613d84565b6040805160008082526020820180845284905260ff89169282019290925260608101879052608081018690529192509060019060a0016020604051602081039080840390855afa15801561162f573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001519150506001600160a01b038116158061168257508b6001600160a01b0316816001600160a01b031614155b156116b9576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6115b6818c8c8c8c8c612612565b600061170f338a8a8a8a8a8a8a8a8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061388592505050565b9998505050505050505050565b610c723382612f50565b60008054906101000a90046001600160a01b03166001600160a01b031663c34c08e56040518163ffffffff1660e01b8152600401602060405180830381865afa158015611777573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061179b9190615603565b6001600160a01b0316336001600160a01b0316146117e5576040517f26bee1ce00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61102c8282613b89565b600080610f5b6003613063565b604080516020810190915260608152604080516003805460208082028401850185528301818152929391928492909184916000908501821561113f576000848152602090819020604080516060810182529185015465ffffffffffff8116835261ffff660100000000000082048116848601526801000000000000000090910416908201528252600190920191016110e0565b604080516020810190915260608152818311156118d8576040517f2cd4dad300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60035480831115611915576040517f2cd4dad300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006119218585615620565b905060008167ffffffffffffffff81111561193e5761193e614d65565b6040519080825280602002602001820160405280156119a757816020015b60408051606081018252600080825260208083018290529282015282527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90920191018161195c5790505b509050855b85811015610f345760038054829081106119c8576119c8615633565b600091825260209182902060408051606081018252919092015465ffffffffffff8116825261ffff660100000000000082048116948301949094526801000000000000000090049092169082015282611a218984615620565b81518110611a3157611a31615633565b6020026020010181905250611a468160010190565b90506119ac565b600080546040517fb6e76873000000000000000000000000000000000000000000000000000000008152833560048201526001600160a01b039091169063b6e768739060240161012060405180830381865afa158015611ab1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ad591906152c8565b9050600060018260a00151611aea91906153a6565b67ffffffffffffffff169050600160009054906101000a90046001600160a01b03166001600160a01b031663ae2a6df26040518163ffffffff1660e01b815260040160006040518083038186803b158015611b4457600080fd5b505afa158015611b58573d6000803e3d6000fd5b50505050600080600080611b7685600461203490919063ffffffff16565b90925090506000611b8d6080890160608a016153ce565b6001600160a01b0316637999762c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611bca573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bee91906153eb565b67ffffffffffffffff16905061271061ffff84168202048760a0015167ffffffffffffffff160194506127108261ffff16820281611c2e57611c2e615406565b0485019350834211611c6c576040517f038d8a6a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b808760a0015167ffffffffffffffff16611c869190615662565b421115611cbf576040517f08c8d62700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050843560009081526006602052604080822060015491517fcdfda4dd000000000000000000000000000000000000000000000000000000008152600481018690529092916001600160a01b03169063edb8ee5a90829063cdfda4dd90602401602060405180830381865afa158015611d3d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d619190615435565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b16815265ffffffffffff9091166004820152602401602060405180830381865afa158015611dbc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611de0919061545d565b825460018401549192506fffffffffffffffffffffffffffffffff808216928116917001000000000000000000000000000000009004166000611e2460038a6121cd565b5090506000611e3a868361ffff166127106122d8565b905080856fffffffffffffffffffffffffffffffff161015611ea3576040517f0425fab10000000000000000000000000000000000000000000000000000000081526fffffffffffffffffffffffffffffffff86166004820152602481018290526044016109da565b836fffffffffffffffffffffffffffffffff16856fffffffffffffffffffffffffffffffff1611611f1c576040517f8a0df63f0000000000000000000000000000000000000000000000000000000081526fffffffffffffffffffffffffffffffff8087166004830152851660248201526044016109da565b6000611f3b8d6060016020810190611f3491906153ce565b600161231c565b905060008054906101000a90046001600160a01b03166001600160a01b03166389e7d126828f6040518363ffffffff1660e01b8152600401611f7e9291906155b2565b6020604051808303816000875af1158015611f9d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fc191906155e8565b50604080518e3581526fffffffffffffffffffffffffffffffff808916602083015280881692820192909252908516606082015260ff82169033907ff23279e924757f3bfe4f543bc1b43685e851d6ace53f8518b806dcd8d42fc13990608001610b62565b600080610b876003846121cd565b6000804283106120c6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f506572696f64506374436865636b706f696e74733a2074696d657374616d702060448201527f6973206e6f7420696e207468652070617374000000000000000000000000000060648201526084016109da565b60006120d184613db3565b855490915060008160058111156121315760006120ed84613dfc565b6120f79085615620565b60008a81526020902090915081015465ffffffffffff90811690861610156121215780915061212f565b61212c816001615662565b92505b505b600061213f89868585613eae565b90508060000361215a576000809650965050505050506121c6565b60006121798a61216b600185615620565b600091825260209091200190565b60408051606081018252915465ffffffffffff8116835261ffff66010000000000008204811660208501819052680100000000000000009092041692909101829052985096505050505050505b9250929050565b60008042831061225f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602f60248201527f51756f72756d436865636b706f696e74733a2074696d657374616d702069732060448201527f6e6f7420696e207468652070617374000000000000000000000000000000000060648201526084016109da565b600061226a84613db3565b855490915060008160058111156122ca57600061228684613dfc565b6122909085615620565b60008a81526020902090915081015465ffffffffffff90811690861610156122ba578091506122c8565b6122c5816001615662565b92505b505b600061213f89868585613f10565b6000827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048411830215820261230d57600080fd5b50910281810615159190040190565b60008054604080517f0505c8c9000000000000000000000000000000000000000000000000000000008152905183926001600160a01b031691630505c8c99160048083019260209291908290030181865afa15801561237f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123a39190615603565b6001600160a01b0316638b2ed3886040518163ffffffff1660e01b8152600401602060405180830381865afa1580156123e0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124049190615675565b905060015b8160ff16811161253b57836124a1576040517fc167ebae00000000000000000000000000000000000000000000000000000000815260ff821660048201526001600160a01b0386169063c167ebae90602401602060405180830381865afa158015612478573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061249c9190615692565b612525565b6040517ffb847c4300000000000000000000000000000000000000000000000000000000815260ff821660048201526001600160a01b0386169063fb847c4390602401602060405180830381865afa158015612501573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125259190615692565b15612533579150610f489050565b600101612409565b50826125a857836001600160a01b03166312a52f006040518163ffffffff1660e01b8152600401602060405180830381865afa15801561257f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125a39190615675565b61260a565b836001600160a01b03166366cacdc96040518163ffffffff1660e01b8152600401602060405180830381865afa1580156125e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061260a9190615675565b949350505050565b600080546040517fb6e768730000000000000000000000000000000000000000000000000000000081528635600482015282916001600160a01b03169063b6e768739060240161012060405180830381865afa158015612676573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061269a91906152c8565b9050600060018260a001516126af91906153a6565b8735600090815260066020526040902067ffffffffffffffff9190911691506126de6080890160608a016153ce565b6001600160a01b03166302674e4b89308c6040518463ffffffff1660e01b815260040161270d939291906156af565b60006040518083038186803b15801561272557600080fd5b505afa158015612739573d6000803e3d6000fd5b505050506001600160a01b038a16600090815260048201602052604090205460ff1615612792576040517f9dd6544b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6127a0888a89600486613f6a565b60008080806127b0600487612034565b909250905060006127c760808e0160608f016153ce565b6001600160a01b031663b02bd9206040518163ffffffff1660e01b8152600401602060405180830381865afa158015612804573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061282891906153eb565b67ffffffffffffffff16905061271061ffff8416820204818960c0015167ffffffffffffffff16030194506127108261ffff1682028161286a5761286a615406565b04850193508442116128a8576040517fd0b72b4900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b834211156128e2576040517f5b73d19300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050506000612a25600160009054906101000a90046001600160a01b03166001600160a01b0316639556de738f600160009054906101000a90046001600160a01b03166001600160a01b031663cdfda4dd886040518263ffffffff1660e01b815260040161295291815260200190565b602060405180830381865afa15801561296f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906129939190615435565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b1681526001600160a01b03909216600483015265ffffffffffff166024820152604401602060405180830381865afa1580156129fc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a20919061545d565b61425e565b905060ff8a16612a9e576002840154612a649070010000000000000000000000000000000090046fffffffffffffffffffffffffffffffff16826142ad565b6002850180546fffffffffffffffffffffffffffffffff928316700100000000000000000000000000000000029216919091179055612bc6565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60ff8b1601612b37576001840154612afd9070010000000000000000000000000000000090046fffffffffffffffffffffffffffffffff16826142ad565b6001850180546fffffffffffffffffffffffffffffffff928316700100000000000000000000000000000000029216919091179055612bc6565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe60ff8b1601612bc6576002840154612b82906fffffffffffffffffffffffffffffffff16826142ad565b6002850180547fffffffffffffffffffffffffffffffff00000000000000000000000000000000166fffffffffffffffffffffffffffffffff929092169190911790555b6001600160a01b038d1660008181526004860160205260409081902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790555160ff8c1691907f4e3e2ad68670a2709cb408c31c5afd8da0b6d3d06c75b11feb404a455639fe7c90612c46908f359086908f908f90615713565b60405180910390a39c9b505050505050505050505050565b60018054604080517f91ddadf400000000000000000000000000000000000000000000000000000000815290516000936001600160a01b039093169263edb8ee5a92909184916391ddadf49160048083019260209291908290030181865afa158015612cce573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612cf29190615435565b612cfc9190615745565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b16815265ffffffffffff9091166004820152602401602060405180830381865afa158015612d57573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612d7b919061545d565b905080600003612db7576040517f34bbd58500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80821115612df1576040517f8a5e746800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60028290556040518281527fd91a985c173545ab0e0bd11c021a1ae84c1ea6eab9350d9bf3812d5b8bff49a4906020015b60405180910390a15050565b6000807f6da9390b4f29da2c44fa5a9da00b392393d01e989d16e4a3dec5a538318e352584612e5c856142f4565b6001600160a01b03871660009081526007602090815260408083207fffffffff00000000000000000000000000000000000000000000000000000000843516845290915290208054600181019091556040805160208101959095526001600160a01b03909316928401929092526060830152608082015260a001604051602081830303815290604052805190602001209050612ef66143eb565b6040517f190100000000000000000000000000000000000000000000000000000000000060208201526022810191909152604281018290526062016040516020818303038152906040528051906020012091505092915050565b80356000908152600560205260409020546001600160a01b03838116911614612fa5576040517f86ba025600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000546040517fb92cdd9a0000000000000000000000000000000000000000000000000000000081526001600160a01b039091169063b92cdd9a90612fee908490600401615764565b600060405180830381600087803b15801561300857600080fd5b505af115801561301c573d6000803e3d6000fd5b5050604051833581526001600160a01b03851692507fdcccc5725b7256a6975da00de8953e5d326756a3079d203ff6df9e52331f411a915060200160405180910390a25050565b8054600090819080820361307d5750600093849350915050565b600061308e8561216b600185615620565b60408051606081018252915465ffffffffffff8116835261ffff66010000000000008204811660208501819052680100000000000000009092041692909101829052969095509350505050565b6127108261ffff1611806130f1575061ffff8216155b1561312e576040517f8f6febc000000000000000000000000000000000000000000000000000000000815261ffff831660048201526024016109da565b6127108161ffff161180613144575061ffff8116155b15613181576040517f3bec511c00000000000000000000000000000000000000000000000000000000815261ffff821660048201526024016109da565b613194600361ffff80851690841661454d565b6040805161ffff8085168252831660208201527f77c3f43700db02acb49792bbf699b39f72c2ed4b920bd5c0b1843dcd7c832f4c9101612e22565b600080546040517fb6e768730000000000000000000000000000000000000000000000000000000081528635600482015282916001600160a01b03169063b6e768739060240161012060405180830381865afa158015613233573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061325791906152c8565b9050600060018260a0015161326c91906153a6565b8735600090815260066020526040902067ffffffffffffffff91909116915061329b6080890160608a016153ce565b6001600160a01b0316631a2a4e7789308c6040518463ffffffff1660e01b81526004016132ca939291906156af565b60006040518083038186803b1580156132e257600080fd5b505afa1580156132f6573d6000803e3d6000fd5b505050506001600160a01b038a16600090815260038201602052604090205460ff161561334f576040517f9dd6544b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61335d888a89600086613f6a565b600080808061336d600487612034565b9092509050600061338460808e0160608f016153ce565b6001600160a01b0316637999762c6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156133c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906133e591906153eb565b67ffffffffffffffff16905061271061ffff84168202048860a0015167ffffffffffffffff160194506127108261ffff1682028161342557613425615406565b0485019350844211613463576040517fd0b72b4900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8342111561349d576040517f5b73d19300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050600061350d600160009054906101000a90046001600160a01b03166001600160a01b0316639556de738f600160009054906101000a90046001600160a01b03166001600160a01b031663cdfda4dd886040518263ffffffff1660e01b815260040161295291815260200190565b905060ff8a16613580576001840154613538906fffffffffffffffffffffffffffffffff16826142ad565b6001850180547fffffffffffffffffffffffffffffffff00000000000000000000000000000000166fffffffffffffffffffffffffffffffff92909216919091179055613694565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60ff8b16016136095783546135c8906fffffffffffffffffffffffffffffffff16826142ad565b84547fffffffffffffffffffffffffffffffff00000000000000000000000000000000166fffffffffffffffffffffffffffffffff91909116178455613694565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe60ff8b16016136945783546136659070010000000000000000000000000000000090046fffffffffffffffffffffffffffffffff16826142ad565b84546fffffffffffffffffffffffffffffffff9182167001000000000000000000000000000000000291161784555b6001600160a01b038d1660008181526003860160205260409081902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790555160ff8c1691907f761cce3a1af5d9cfc0d57222f605ce4bd2be345f0ad9ebb7b83a84a91a0c201490612c46908f359086908f908f90615713565b6001600160a01b03881660009081526007602090815260408083207fffffffff000000000000000000000000000000000000000000000000000000008435168452909152812080546001810190915560007fd1fab1c7b3b37134662e5867b00e272eb49f7be0a890df29e802c3cc66c06f838b8b8b8b8b8b8b60405161379b929190615777565b604080519182900382208c516020808f0191909120908401999099526001600160a01b039788169183019190915260ff90951660608201529285166080840152931660a082015260c081019290925260e08201526101008101919091526101208101839052610140016040516020818303038152906040528051906020012090506138246143eb565b6040517f19010000000000000000000000000000000000000000000000000000000000006020820152602281019190915260428101829052606201604051602081830303815290604052805190602001209250505098975050505050505050565b600154604080517fae2a6df200000000000000000000000000000000000000000000000000000000815290516000926001600160a01b03169163ae2a6df29160048083019286929190829003018186803b1580156138e257600080fd5b505afa1580156138f6573d6000803e3d6000fd5b505060018054604080517f91ddadf40000000000000000000000000000000000000000000000000000000081529051600095506001600160a01b039092169350639556de73928e92909185916391ddadf4916004808201926020929091908290030181865afa15801561396d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906139919190615435565b61399b9190615745565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b1681526001600160a01b03909216600483015265ffffffffffff166024820152604401602060405180830381865afa158015613a04573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613a28919061545d565b9050600254811015613a69576040517f92665351000000000000000000000000000000000000000000000000000000008152600481018290526024016109da565b6000546040517fb3c678b00000000000000000000000000000000000000000000000000000000081526001600160a01b039091169063b3c678b090613abe908c908c908c908c908c908c908c906004016157ab565b6020604051808303816000875af1158015613add573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613b01919061545d565b60008181526005602090815260409182902080547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b038f16908117909155915183815292945090917f1834dfd49255741a8ce9a9bd66b91b64d13622e1d8170e4c78ac91f9ec50a542910160405180910390a25098975050505050505050565b612710613b96828461583b565b61ffff1610613bdf576040517f519dd38400000000000000000000000000000000000000000000000000000000815261ffff8084166004830152821660248201526044016109da565b613beb60048383614576565b6040805161ffff8085168252831660208201527f8df7bdcce333d9e1b85e40782fb2f293c805761d3f48aaea58865e9541e44c709101612e22565b6000807fd7be168a3509af358f222ee35ee76aba47bc5fc2c35061cdce3958f510b7b1b28888613c55896142f4565b888888604051613c66929190615777565b60408051918290039091206001600160a01b038f166000908152600760209081528382207fffffffff0000000000000000000000000000000000000000000000000000000083351683529052919091208054600181019091556040805160208101989098526001600160a01b039096169587019590955260ff938416606087015260808601929092529190911660a084015260c083015260e082015261010001604051602081830303815290604052805190602001209050613d266143eb565b6040517f19010000000000000000000000000000000000000000000000000000000000006020820152602281019190915260428101829052606201604051602081830303815290604052805190602001209150509695505050505050565b6000807fa87058c5a9888e7af4405a932381d5a4612c61354bc3e52e9ea361ba17703fb38888613c55896142f4565b600065ffffffffffff821115613df8576040517fc0188c4f000000000000000000000000000000000000000000000000000000008152600481018390526024016109da565b5090565b60b581710100000000000000000000000000000000008110613e235760409190911b9060801c5b69010000000000000000008110613e3f5760209190911b9060401c5b650100000000008110613e575760109190911b9060201c5b63010000008110613e6d5760089190911b9060101c5b62010000010260121c80820401600190811c80830401811c80830401811c80830401811c80830401811c80830401811c80830401901c908190048111900390565b60005b81831015613f08576000613ec584846145a2565b60008781526020902090915065ffffffffffff86169082015465ffffffffffff161115613ef457809250613f02565b613eff816001615662565b93505b50613eb1565b509392505050565b60005b81831015613f08576000613f2784846145a2565b60008781526020902090915065ffffffffffff86169082015465ffffffffffff161115613f5657809250613f64565b613f61816001615662565b93505b50613f13565b600260ff84161115613fad576040517ffe0e5d8b00000000000000000000000000000000000000000000000000000000815260ff841660048201526024016109da565b600080546040517fec12d8be0000000000000000000000000000000000000000000000000000000081526001600160a01b039091169063ec12d8be90613ff7908990600401615764565b602060405180830381865afa158015614014573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906140389190615675565b60ff16600681111561404c5761404c6156e4565b9050826006811115614060576140606156e4565b816006811115614072576140726156e4565b146140ab57806040517f87afe58e0000000000000000000000000000000000000000000000000000000081526004016109da9190615856565b60008060009054906101000a90046001600160a01b03166001600160a01b0316630505c8c96040518163ffffffff1660e01b8152600401602060405180830381865afa1580156140ff573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906141239190615603565b6040517fe0bec07600000000000000000000000000000000000000000000000000000000815230600482015260ff88166024820152604481018590526001600160a01b03919091169063e0bec07690606401602060405180830381865afa158015614192573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906141b69190615692565b9050806141ef576040517f88aebd1200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600160009054906101000a90046001600160a01b03166001600160a01b031663ae2a6df26040518163ffffffff1660e01b815260040160006040518083038186803b15801561423d57600080fd5b505afa158015614251573d6000803e3d6000fd5b5050505050505050505050565b60006fffffffffffffffffffffffffffffffff821115613df8576040517fc0188c4f000000000000000000000000000000000000000000000000000000008152600481018390526024016109da565b60006fffffffffffffffffffffffffffffffff6142ce838216858316615662565b106142ea57506fffffffffffffffffffffffffffffffff610f48565b6110a28284615897565b60007f86b4555c6e347ea3f038485b59b894986c208b67da7e65fcfa3707271608465f823561432960408501602086016153ce565b61433960608601604087016158c0565b61434960808701606088016153ce565b61435960a08801608089016153ce565b60a088013561436b60c08a018a6158dd565b604051614379929190615777565b6040805191829003822060208301999099528101969096526001600160a01b03948516606087015260ff909316608086015290831660a08501529190911660c083015260e082015261010081019190915261012001604051602081830303815290604052805190602001209050919050565b60008054604080517f06fdde0300000000000000000000000000000000000000000000000000000000815290517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f926001600160a01b0316916306fdde0391600480830192879291908290030181865afa15801561446d573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526144b39190810190615942565b8051602091820120604080518082018252600181527f310000000000000000000000000000000000000000000000000000000000000090840152805192830193909352918101919091527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a082015260c00160405160208183030381529060405280519060200120905090565b6145718361455a42613db3565b614563856145bd565b61456c856145bd565b6145fe565b505050565b6145718361458342613db3565b6145908561ffff166145bd565b61459d8561ffff166145bd565b614909565b60006145b160028484186159b0565b6110a290848416615662565b600061ffff821115613df8576040517fc0188c4f000000000000000000000000000000000000000000000000000000008152600481018390526024016109da565b835480156148475760006146178661216b600185615620565b60408051606081018252915465ffffffffffff80821680855261ffff66010000000000008404811660208701526801000000000000000090930490921692840192909252919250861610156146ed576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f51756f72756d20436865636b706f696e743a20696e76616c69642074696d657360448201527f74616d700000000000000000000000000000000000000000000000000000000060648201526084016109da565b805165ffffffffffff8087169116036147865760006147118761216b600186615620565b805461ffff86811668010000000000000000027fffffffffffffffffffffffffffffffffffffffffffff0000ffffffffffffffff918916660100000000000002919091167fffffffffffffffffffffffffffffffffffffffffffff00000000ffffffffffff9092169190911717905550614841565b6040805160608101825265ffffffffffff808816825261ffff80881660208085019182528883169585019586528b54600181018d5560008d81529190912094519401805491519551831668010000000000000000027fffffffffffffffffffffffffffffffffffffffffffff0000ffffffffffffffff969093166601000000000000027fffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000909216949093169390931792909217929092161790555b50614902565b6040805160608101825265ffffffffffff808716825261ffff80871660208085019182528783169585019586528a54600181018c5560008c81529190912094519401805491519551831668010000000000000000027fffffffffffffffffffffffffffffffffffffffffffff0000ffffffffffffffff969093166601000000000000027fffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000909216949093169390931792909217929092161790555b5050505050565b835480156148475760006149228661216b600185615620565b60408051606081018252915465ffffffffffff80821680855261ffff66010000000000008404811660208701526801000000000000000090930490921692840192909252919250861610156146ed576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602860248201527f506572696f642050637420436865636b706f696e743a20696e76616c6964207460448201527f696d657374616d7000000000000000000000000000000000000000000000000060648201526084016109da565b600060e08284031215614a0b57600080fd5b50919050565b600060208284031215614a2357600080fd5b813567ffffffffffffffff811115614a3a57600080fd5b61260a848285016149f9565b600060208284031215614a5857600080fd5b5035919050565b60ff81168114610c7257600080fd5b8035614a7981614a5f565b919050565b60008083601f840112614a9057600080fd5b50813567ffffffffffffffff811115614aa857600080fd5b6020830191508360208285010111156121c657600080fd5b600080600080600060808688031215614ad857600080fd5b8535614ae381614a5f565b9450602086013567ffffffffffffffff80821115614b0057600080fd5b614b0c89838a016149f9565b955060408801359150614b1e82614a5f565b90935060608701359080821115614b3457600080fd5b50614b4188828901614a7e565b969995985093965092949392505050565b80357fffffffff0000000000000000000000000000000000000000000000000000000081168114614a7957600080fd5b600060208284031215614b9457600080fd5b6110a282614b52565b6001600160a01b0381168114610c7257600080fd5b8035614a7981614b9d565b600080600080600060a08688031215614bd557600080fd5b8535614be081614b9d565b9450602086013567ffffffffffffffff811115614bfc57600080fd5b614c08888289016149f9565b9450506040860135614c1981614a5f565b94979396509394606081013594506080013592915050565b60008060408385031215614c4457600080fd5b50508035926020909101359150565b60208082528251828201829052805160408401819052600092916060919083019082860190855b81811015614cc357614cb3838551805165ffffffffffff16825260208082015161ffff9081169184019190915260409182015116910152565b9285019291840191600101614c7a565b5090979650505050505050565b803561ffff81168114614a7957600080fd5b60008060408385031215614cf557600080fd5b614cfe83614cd0565b9150614d0c60208401614cd0565b90509250929050565b8015158114610c7257600080fd5b600080600060608486031215614d3857600080fd5b833592506020840135614d4a81614b9d565b91506040840135614d5a81614d15565b809150509250925092565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051610120810167ffffffffffffffff81118282101715614db857614db8614d65565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715614e0557614e05614d65565b604052919050565b600067ffffffffffffffff821115614e2757614e27614d65565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b600082601f830112614e6457600080fd5b8135614e77614e7282614e0d565b614dbe565b818152846020838601011115614e8c57600080fd5b816020850160208301376000918101602001919091529392505050565b60008060008060008060008060008060006101408c8e031215614ecb57600080fd5b614ed48c614bb2565b9a50614ee260208d01614a6e565b9950614ef060408d01614bb2565b9850614efe60608d01614bb2565b975060808c0135965067ffffffffffffffff8060a08e01351115614f2157600080fd5b614f318e60a08f01358f01614a7e565b909750955060c08d0135811015614f4757600080fd5b50614f588d60c08e01358e01614e53565b9350614f6660e08d01614a6e565b92506101008c013591506101208c013590509295989b509295989b9093969950565b60008060008084860360e0811215614f9f57600080fd5b8535614faa81614b9d565b94506020860135614fba81614b9d565b93506040860135925060807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa082011215614ff357600080fd5b506040516080810181811067ffffffffffffffff8211171561501757615017614d65565b60405261502660608701614cd0565b815261503460808701614cd0565b602082015261504560a08701614cd0565b604082015261505660c08701614cd0565b6060820152939692955090935050565b60008060008060008060008060006101008a8c03121561508557600080fd5b893561509081614b9d565b985060208a01356150a081614a5f565b975060408a013567ffffffffffffffff808211156150bd57600080fd5b6150c98d838e016149f9565b985060608c013591506150db82614a5f565b90965060808b013590808211156150f157600080fd5b506150fe8c828d01614a7e565b90965094505060a08a013561511281614a5f565b8093505060c08a0135915060e08a013590509295985092959850929598565b60008060008060008060008060c0898b03121561514d57600080fd5b883561515881614a5f565b9750602089013561516881614b9d565b9650604089013561517881614b9d565b955060608901359450608089013567ffffffffffffffff8082111561519c57600080fd5b6151a88c838d01614a7e565b909650945060a08b01359150808211156151c157600080fd5b506151ce8b828c01614a7e565b999c989b5096995094979396929594505050565b600080604083850312156151f557600080fd5b823561520081614b9d565b9150614d0c60208401614b52565b60208082528251828201829052805160408401819052600092916060919083019082860190855b81811015614cc35761526e838551805165ffffffffffff16825260208082015161ffff9081169184019190915260409182015116910152565b9285019291840191600101615235565b8051614a7981614d15565b8051614a7981614b9d565b805167ffffffffffffffff81168114614a7957600080fd5b80516bffffffffffffffffffffffff81168114614a7957600080fd5b600061012082840312156152db57600080fd5b6152e3614d94565b825181526152f36020840161527e565b60208201526153046040840161527e565b60408201526153156060840161527e565b606082015261532660808401615289565b608082015261533760a08401615294565b60a082015261534860c08401615294565b60c082015261535960e084016152ac565b60e082015261010061536c8185016152ac565b908201529392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b67ffffffffffffffff8281168282160390808211156153c7576153c7615377565b5092915050565b6000602082840312156153e057600080fd5b81356110a281614b9d565b6000602082840312156153fd57600080fd5b6110a282615294565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006020828403121561544757600080fd5b815165ffffffffffff811681146110a257600080fd5b60006020828403121561546f57600080fd5b5051919050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b80358252600060208201356154d381614b9d565b6001600160a01b0390811660208501526040830135906154f282614a5f565b60ff821660408601526060840135915061550b82614b9d565b908116606085015260808301359061552282614b9d565b16608084015260a0828101359084015260c0820135368390037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe101811261556857600080fd5b820160208101903567ffffffffffffffff81111561558557600080fd5b80360382131561559457600080fd5b60e060c08601526155a960e086018284615476565b95945050505050565b60ff831681526060602082015260006155ce60608301846154bf565b828103604084015260008152602081019150509392505050565b6000602082840312156155fa57600080fd5b6110a2826152ac565b60006020828403121561561557600080fd5b81516110a281614b9d565b81810381811115610f4857610f48615377565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b80820180821115610f4857610f48615377565b60006020828403121561568757600080fd5b81516110a281614a5f565b6000602082840312156156a457600080fd5b81516110a281614d15565b6060815260006156c260608301866154bf565b90506001600160a01b038416602083015260ff83166040830152949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b8481526fffffffffffffffffffffffffffffffff84166020820152606060408201526000610ba0606083018486615476565b65ffffffffffff8281168282160390808211156153c7576153c7615377565b6020815260006110a260208301846154bf565b8183823760009101908152919050565b60005b838110156157a257818101518382015260200161578a565b50506000910152565b60ff8816815260006001600160a01b03808916602084015280881660408401525085606083015260c060808301526157e760c083018587615476565b82810360a08401528351808252615805816020840160208801615787565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016016020019998505050505050505050565b61ffff8181168382160190808211156153c7576153c7615377565b6020810160078310615891577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b91905290565b6fffffffffffffffffffffffffffffffff8181168382160190808211156153c7576153c7615377565b6000602082840312156158d257600080fd5b81356110a281614a5f565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261591257600080fd5b83018035915067ffffffffffffffff82111561592d57600080fd5b6020019150368190038213156121c657600080fd5b60006020828403121561595457600080fd5b815167ffffffffffffffff81111561596b57600080fd5b8201601f8101841361597c57600080fd5b805161598a614e7282614e0d565b81815285602083850101111561599f57600080fd5b6155a9826020830160208601615787565b6000826159e6577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b50049056fea164736f6c6343000817000a", + "nonce": "0x0", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xd6a6779e8bebc623bacc89562b7c8d60e63fc341df4bee66f6ab085c5ceb27bd", + "transactionType": "CREATE", + "contractName": "LlamaTokenVotingFactory", + "contractAddress": "0xFBE17545dffD75A92A5A72926AE581478973FE65", + "function": null, + "arguments": [ + "0x3f3DAB3ab8cEc2FBd06767c2A5F66Cb6BFF21A4A" + ], + "transaction": { + "type": "0x02", + "from": "0xb72276d9ff15c7998b9962ffcfb21a6c7249441b", + "gas": "0xc9127", + "value": "0x0", + "data": "0x60a060405234801561001057600080fd5b50604051610b16380380610b1683398101604081905261002f91610040565b6001600160a01b0316608052610070565b60006020828403121561005257600080fd5b81516001600160a01b038116811461006957600080fd5b9392505050565b608051610a8561009160003960008181604001526104390152610a856000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c806321618ea41461003b5780633ec857a51461008b575b600080fd5b6100627f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b61006261009936600461087b565b600080338360000151846040015185606001516040516020016100bf9493929190610959565b60405160208183030381529060405280519060200120905060006100e7846020015183610622565b60408086015190517f439fab9100000000000000000000000000000000000000000000000000000000815291925073ffffffffffffffffffffffffffffffffffffffff83169163439fab919161013f916004016109b9565b6020604051808303816000875af115801561015e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101829190610a0a565b50600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1663fc0c546a6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156101e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061020a9190610a33565b73ffffffffffffffffffffffffffffffffffffffff1603610257576040517f65f5b03400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517fcdfda4dd00000000000000000000000000000000000000000000000000000000815242600482015273ffffffffffffffffffffffffffffffffffffffff82169063cdfda4dd90602401602060405180830381865afa1580156102c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102e59190610a50565b65ffffffffffff16600003610326576040517f65f5b03400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff166391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865afa158015610371573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103959190610a50565b65ffffffffffff166000036103d6576040517f65f5b03400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1663ae2a6df26040518163ffffffff1660e01b815260040160006040518083038186803b15801561041c57600080fd5b505afa158015610430573d6000803e3d6000fd5b5050505061045e7f000000000000000000000000000000000000000000000000000000000000000083610622565b8451608086015160a0870151604080517f8734852a00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff948516600482015286851660248201526044810193909352815161ffff908116606485015260208301518116608485015290820151811660a48401526060909101511660c4820152919450841690638734852a9060e401600060405180830381600087803b15801561051757600080fd5b505af115801561052b573d6000803e3d6000fd5b505050508073ffffffffffffffffffffffffffffffffffffffff1663fc0c546a6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561057a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061059e9190610a33565b84516020808701516060808901516040805173ffffffffffffffffffffffffffffffffffffffff94851681528885169581019590955284015287821690830152466080830152928316929091169033907f4c8bb78cb1c62e64cef39fc4b4a1864d1a331a28c7bd59a67fe969cc8ab715879060a00160405180910390a45050919050565b6000763d602d80600a3d3981f3363d3d373d3d3d363d730000008360601b60e81c176000526e5af43d82803e903d91602b57fd5bf38360781b1760205281603760096000f5905073ffffffffffffffffffffffffffffffffffffffff81166106b6576040517fc2f868f400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405160c0810167ffffffffffffffff8111828210171561070e5761070e6106bc565b60405290565b73ffffffffffffffffffffffffffffffffffffffff8116811461073657600080fd5b50565b600082601f83011261074a57600080fd5b813567ffffffffffffffff80821115610765576107656106bc565b604051601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011681019082821181831017156107ab576107ab6106bc565b816040528381528660208588010111156107c457600080fd5b836020870160208301376000602085830101528094505050505092915050565b803561ffff811681146107f657600080fd5b919050565b60006080828403121561080d57600080fd5b6040516080810181811067ffffffffffffffff82111715610830576108306106bc565b60405290508061083f836107e4565b815261084d602084016107e4565b602082015261085e604084016107e4565b604082015261086f606084016107e4565b60608201525092915050565b60006020828403121561088d57600080fd5b813567ffffffffffffffff808211156108a557600080fd5b9083019061012082860312156108ba57600080fd5b6108c26106eb565b82356108cd81610714565b815260208301356108dd81610714565b60208201526040830135828111156108f457600080fd5b61090087828601610739565b60408301525060608301356060820152608083013560808201526109278660a085016107fb565b60a082015295945050505050565b60005b83811015610950578181015183820152602001610938565b50506000910152565b60007fffffffffffffffffffffffffffffffffffffffff000000000000000000000000808760601b168352808660601b1660148401525083516109a3816028850160208801610935565b6028920191820192909252604801949350505050565b60208152600082518060208401526109d8816040850160208701610935565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169190910160400192915050565b600060208284031215610a1c57600080fd5b81518015158114610a2c57600080fd5b9392505050565b600060208284031215610a4557600080fd5b8151610a2c81610714565b600060208284031215610a6257600080fd5b815165ffffffffffff81168114610a2c57600080fdfea164736f6c6343000817000a0000000000000000000000003f3dab3ab8cec2fbd06767c2a5f66cb6bff21a4a", + "nonce": "0x1", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xaaff59fcd0337323ba2c4e2bdb9a170e72af4e9acc7b0ad353328d86a9472441", + "transactionType": "CREATE", + "contractName": "LlamaTokenAdapterVotesTimestamp", + "contractAddress": "0x088C268cb00226D6A9b29e5488905Aa94D2f0239", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0xb72276d9ff15c7998b9962ffcfb21a6c7249441b", + "gas": "0x10d28c", + "value": "0x0", + "data": "0x608060405234801561001057600080fd5b5061001961001e565b6100d0565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff161561006e5760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b03908116146100cd5780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b610df5806100df6000396000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c8063ae2a6df21161005b578063ae2a6df21461010a578063cdfda4dd14610114578063edb8ee5a14610127578063fc0c546a1461013a57600080fd5b8063439fab911461008d5780634bf5d7e9146100b557806391ddadf4146100ca5780639556de73146100e9575b600080fd5b6100a061009b3660046108e4565b61017f565b60405190151581526020015b60405180910390f35b6100bd6103a1565b6040516100ac9190610988565b6100d261042f565b60405165ffffffffffff90911681526020016100ac565b6100fc6100f7366004610a12565b6104e9565b6040519081526020016100ac565b610112610593565b005b6100d2610122366004610a4b565b6105ef565b6100fc610135366004610a64565b610600565b60005461015a9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100ac565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0080546000919068010000000000000000810460ff16159067ffffffffffffffff1683811580156101cd5750825b905060008267ffffffffffffffff1660011480156101ea5750303b155b9050811580156101f8575080155b1561022f576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b84547fffffffffffffffffffffffffffffffffffffffffffffffff000000000000000016600117855583156102905784547fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff16680100000000000000001785555b6000878060200190518101906102a69190610a81565b8051600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff90921691909117905560408051808201909152600e81527f6d6f64653d74696d657374616d7000000000000000000000000000000000000060208201529091506001906103309082610b71565b50600196505083156103975784547fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b5050505050919050565b600180546103ae90610acd565b80601f01602080910402602001604051908101604052809291908181526020018280546103da90610acd565b80156104275780601f106103fc57610100808354040283529160200191610427565b820191906000526020600020905b81548152906001019060200180831161040a57829003601f168201915b505050505081565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156104d7575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682019092526104d491810190610c8b565b60015b6104e4576104e44261069b565b905090565b600080546040517f3a46b1a800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff858116600483015265ffffffffffff8516602483015290911690633a46b1a890604401602060405180830381865afa158015610568573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061058c9190610ca8565b9392505050565b600061059d6106e8565b905060006105a9610712565b905081806105b45750805b156105eb576040517f6ff0714000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050565b60006105fa8261069b565b92915050565b600080546040517f8e539e8c00000000000000000000000000000000000000000000000000000000815265ffffffffffff8416600482015273ffffffffffffffffffffffffffffffffffffffff90911690638e539e8c90602401602060405180830381865afa158015610677573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105fa9190610ca8565b600065ffffffffffff8211156106e4576040517fc0188c4f0000000000000000000000000000000000000000000000000000000081526004810183905260240160405180910390fd5b5090565b60006106f34261069b565b65ffffffffffff1661070361042f565b65ffffffffffff161415905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16634bf5d7e96040518163ffffffff1660e01b8152600401600060405180830381865afa9250505080156107bf57506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526107bc9190810190610cc1565b60015b6107c95750600090565b60016040516020016107db9190610d38565b60405160208183030381529060405280519060200120816040516020016108029190610dcc565b60405160208183030381529060405280519060200120141591505090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff8111828210171561089657610896610820565b604052919050565b600067ffffffffffffffff8211156108b8576108b8610820565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b6000602082840312156108f657600080fd5b813567ffffffffffffffff81111561090d57600080fd5b8201601f8101841361091e57600080fd5b803561093161092c8261089e565b61084f565b81815285602083850101111561094657600080fd5b81602084016020830137600091810160200191909152949350505050565b60005b8381101561097f578181015183820152602001610967565b50506000910152565b60208152600082518060208401526109a7816040850160208701610964565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169190910160400192915050565b73ffffffffffffffffffffffffffffffffffffffff811681146109fb57600080fd5b50565b65ffffffffffff811681146109fb57600080fd5b60008060408385031215610a2557600080fd5b8235610a30816109d9565b91506020830135610a40816109fe565b809150509250929050565b600060208284031215610a5d57600080fd5b5035919050565b600060208284031215610a7657600080fd5b813561058c816109fe565b600060208284031215610a9357600080fd5b6040516020810181811067ffffffffffffffff82111715610ab657610ab6610820565b6040528251610ac4816109d9565b81529392505050565b600181811c90821680610ae157607f821691505b602082108103610b1a577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b601f821115610b6c576000816000526020600020601f850160051c81016020861015610b495750805b601f850160051c820191505b81811015610b6857828155600101610b55565b5050505b505050565b815167ffffffffffffffff811115610b8b57610b8b610820565b610b9f81610b998454610acd565b84610b20565b602080601f831160018114610bf25760008415610bbc5750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b178555610b68565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b82811015610c3f57888601518255948401946001909101908401610c20565b5085821015610c7b57878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b600060208284031215610c9d57600080fd5b815161058c816109fe565b600060208284031215610cba57600080fd5b5051919050565b600060208284031215610cd357600080fd5b815167ffffffffffffffff811115610cea57600080fd5b8201601f81018413610cfb57600080fd5b8051610d0961092c8261089e565b818152856020838501011115610d1e57600080fd5b610d2f826020830160208601610964565b95945050505050565b6000808354610d4681610acd565b60018281168015610d5e5760018114610d9157610dc0565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0084168752821515830287019450610dc0565b8760005260208060002060005b85811015610db75781548a820152908401908201610d9e565b50505082870194505b50929695505050505050565b60008251610dde818460208701610964565b919091019291505056fea164736f6c6343000817000a", + "nonce": "0x2", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0x5794742df00549335af9866a24f455930c4e4d52b31699c0c7dd107c6bdefc81", + "transactionIndex": "0x1", + "blockHash": "0x7e9250894e4240cb2ecae2f3e92c190e8b6776e1cbc05f8e476848076bb17d66", + "blockNumber": "0x8ae66f", + "from": "0xb72276D9FF15c7998b9962FFCfB21A6C7249441B", + "to": null, + "cumulativeGasUsed": "0x4d6806", + "gasUsed": "0x4ca2c1", + "contractAddress": "0x3f3DAB3ab8cEc2FBd06767c2A5F66Cb6BFF21A4A", + "logs": [ + { + "address": "0x3f3DAB3ab8cEc2FBd06767c2A5F66Cb6BFF21A4A", + "topics": [ + "0xc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2" + ], + "data": "0x000000000000000000000000000000000000000000000000ffffffffffffffff", + "blockHash": "0x7e9250894e4240cb2ecae2f3e92c190e8b6776e1cbc05f8e476848076bb17d66", + "blockNumber": "0x8ae66f", + "transactionHash": "0x5794742df00549335af9866a24f455930c4e4d52b31699c0c7dd107c6bdefc81", + "transactionIndex": "0x1", + "logIndex": "0x0", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000800000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e3e" + }, + { + "transactionHash": "0xd6a6779e8bebc623bacc89562b7c8d60e63fc341df4bee66f6ab085c5ceb27bd", + "transactionIndex": "0x2", + "blockHash": "0x7e9250894e4240cb2ecae2f3e92c190e8b6776e1cbc05f8e476848076bb17d66", + "blockNumber": "0x8ae66f", + "from": "0xb72276D9FF15c7998b9962FFCfB21A6C7249441B", + "to": null, + "cumulativeGasUsed": "0x571376", + "gasUsed": "0x9ab70", + "contractAddress": "0xFBE17545dffD75A92A5A72926AE581478973FE65", + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e3e" + }, + { + "transactionHash": "0xaaff59fcd0337323ba2c4e2bdb9a170e72af4e9acc7b0ad353328d86a9472441", + "transactionIndex": "0x3", + "blockHash": "0x7e9250894e4240cb2ecae2f3e92c190e8b6776e1cbc05f8e476848076bb17d66", + "blockNumber": "0x8ae66f", + "from": "0xb72276D9FF15c7998b9962FFCfB21A6C7249441B", + "to": null, + "cumulativeGasUsed": "0x64051f", + "gasUsed": "0xcf1a9", + "contractAddress": "0x088C268cb00226D6A9b29e5488905Aa94D2f0239", + "logs": [ + { + "address": "0x088C268cb00226D6A9b29e5488905Aa94D2f0239", + "topics": [ + "0xc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2" + ], + "data": "0x000000000000000000000000000000000000000000000000ffffffffffffffff", + "blockHash": "0x7e9250894e4240cb2ecae2f3e92c190e8b6776e1cbc05f8e476848076bb17d66", + "blockNumber": "0x8ae66f", + "transactionHash": "0xaaff59fcd0337323ba2c4e2bdb9a170e72af4e9acc7b0ad353328d86a9472441", + "transactionIndex": "0x3", + "logIndex": "0x1", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000800000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000008000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e3e" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1704995320, + "chain": 8453, + "multi": false, + "commit": "688208a" +} \ No newline at end of file diff --git a/broadcast/DeployLlamaTokenVotingFactory.s.sol/84531/run-1704991516.json b/broadcast/DeployLlamaTokenVotingFactory.s.sol/84531/run-1704991516.json new file mode 100644 index 0000000..f4f6f73 --- /dev/null +++ b/broadcast/DeployLlamaTokenVotingFactory.s.sol/84531/run-1704991516.json @@ -0,0 +1,75 @@ +{ + "transactions": [ + { + "hash": "0xd51972dbb2c6846fbd16f473b681a814d8d5e11c2ee7f82be9cd929599f7b461", + "transactionType": "CREATE", + "contractName": "LlamaTokenGovernor", + "contractAddress": "0x3f3DAB3ab8cEc2FBd06767c2A5F66Cb6BFF21A4A", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0xb72276d9ff15c7998b9962ffcfb21a6c7249441b", + "gas": "0x6398ff", + "value": "0x0", + "data": "0x60806040523480156200001157600080fd5b506200001c62000022565b620000d6565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff1615620000735760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b0390811614620000d35780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b6159f880620000e66000396000f3fe608060405234801561001057600080fd5b50600436106101da5760003560e01c80637e4a56bb11610104578063b92cdd9a116100a2578063cae3bdff11610071578063cae3bdff1461053d578063dcae21b714610552578063e45061ea14610565578063e5589b9d1461057857600080fd5b8063b92cdd9a146104e4578063b9b2cf6c146104f7578063c193c2691461050a578063c26c12eb1461053557600080fd5b80638734852a116100de5780638734852a1461049857806396ff6e2e146104ab578063a1d9b412146104be578063b3c678b0146104d157600080fd5b80637e4a56bb1461046a5780637ed7238e14610472578063807ad1141461048557600080fd5b80633fed8f161161017c57806359e5332d1161014b57806359e5332d1461036457806364f6b3161461037b5780637186dd9c1461038e57806374f717cd1461044757600080fd5b80633fed8f16146103165780634d61ebf4146103365780634ec0ab1c1461033e578063509c5fbd1461035157600080fd5b806319a39740116101b857806319a397401461025b5780631e127ddf1461026e578063372fa8e8146102c25780633df91222146102d557600080fd5b80630669b1ce146101df57806311f900b5146101f45780631650080714610227575b600080fd5b6101f26101ed366004614a11565b61058b565b005b610207610202366004614a46565b610b79565b6040805161ffff9384168152929091166020830152015b60405180910390f35b61023a610235366004614ac0565b610b90565b6040516fffffffffffffffffffffffffffffffff909116815260200161021e565b6101f2610269366004614a46565b610baa565b6101f261027c366004614b82565b3360009081526007602090815260408083207fffffffff000000000000000000000000000000000000000000000000000000009490941683529290522080546001019055565b6101f26102d0366004614bbd565b610c75565b6102fe6102e3366004614a46565b6005602052600090815260409020546001600160a01b031681565b6040516001600160a01b03909116815260200161021e565b610329610324366004614c31565b610d76565b60405161021e9190614c53565b610207610f4e565b6101f261034c366004614ce2565b610f63565b61023a61035f366004614ac0565b611030565b61036d60025481565b60405190815260200161021e565b6000546102fe906001600160a01b031681565b6103fc61039c366004614a46565b6006602052600090815260409020805460018201546002909201546fffffffffffffffffffffffffffffffff8083169370010000000000000000000000000000000093849004821693818316939181900483169282811692919091041686565b604080516fffffffffffffffffffffffffffffffff978816815295871660208701529386169385019390935290841660608401528316608083015290911660a082015260c00161021e565b61045a610455366004614d23565b611040565b604051901515815260200161021e565b6103296110a9565b61036d610480366004614ea9565b61114c565b6001546102fe906001600160a01b031681565b6101f26104a6366004614f88565b611263565b61023a6104b9366004615066565b6114b5565b61023a6104cc366004615066565b6115c6565b61036d6104df366004615131565b6116c7565b6101f26104f2366004614a11565b61171c565b6101f2610505366004614ce2565b611726565b61036d6105183660046151e2565b600760209081526000928352604080842090915290825290205481565b6102076117ef565b6105456117fc565b60405161021e919061520e565b610545610560366004614c31565b61188f565b6101f2610573366004614a11565b611a4d565b610207610586366004614a46565b612026565b600080546040517fb6e76873000000000000000000000000000000000000000000000000000000008152833560048201526001600160a01b039091169063b6e768739060240161012060405180830381865afa1580156105ef573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061061391906152c8565b9050600060018260a0015161062891906153a6565b67ffffffffffffffff169050600160009054906101000a90046001600160a01b03166001600160a01b031663ae2a6df26040518163ffffffff1660e01b815260040160006040518083038186803b15801561068257600080fd5b505afa158015610696573d6000803e3d6000fd5b505050506000806000806106b485600461203490919063ffffffff16565b909250905060006106cb6080890160608a016153ce565b6001600160a01b031663b02bd9206040518163ffffffff1660e01b8152600401602060405180830381865afa158015610708573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061072c91906153eb565b67ffffffffffffffff16905061271061ffff8416820204818860c0015167ffffffffffffffff16030194506127108261ffff1682028161076e5761076e615406565b04850193508342116107ac576040517f038d8a6a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8660c0015167ffffffffffffffff1642106107f3576040517f08c8d62700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050843560009081526006602052604080822060015491517fcdfda4dd000000000000000000000000000000000000000000000000000000008152600481018690529092916001600160a01b03169063edb8ee5a90829063cdfda4dd90602401602060405180830381865afa158015610871573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108959190615435565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b16815265ffffffffffff9091166004820152602401602060405180830381865afa1580156108f0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610914919061545d565b600183015460028401549192506fffffffffffffffffffffffffffffffff7001000000000000000000000000000000009182900481169291820481169116600061095f60038a6121cd565b9150506000610975868361ffff166127106122d8565b905080856fffffffffffffffffffffffffffffffff1610156109e3576040517fbfb9aa550000000000000000000000000000000000000000000000000000000081526fffffffffffffffffffffffffffffffff86166004820152602481018290526044015b60405180910390fd5b836fffffffffffffffffffffffffffffffff16856fffffffffffffffffffffffffffffffff1611610a5c576040517f8a0df63f0000000000000000000000000000000000000000000000000000000081526fffffffffffffffffffffffffffffffff8087166004830152851660248201526044016109da565b6000610a7b8d6060016020810190610a7491906153ce565b600061231c565b905060008054906101000a90046001600160a01b03166001600160a01b03166394004706828f6040518363ffffffff1660e01b8152600401610abe9291906155b2565b6020604051808303816000875af1158015610add573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b0191906155e8565b50604080518e3581526fffffffffffffffffffffffffffffffff808916602083015280881692820192909252908516606082015260ff82169033907ff5bc433f16cc3d0e9fcb5ac4f8de9f17eb90de1fd2a9ede5952c2097d4ef1a59906080015b60405180910390a350505050505050505050505050565b600080610b87600484612034565b91509150915091565b6000610ba0338787878787612612565b9695505050505050565b60008054906101000a90046001600160a01b03166001600160a01b031663c34c08e56040518163ffffffff1660e01b8152600401602060405180830381865afa158015610bfb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c1f9190615603565b6001600160a01b0316336001600160a01b031614610c69576040517f26bee1ce00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610c7281612c5e565b50565b6000610c818686612e2e565b6040805160008082526020820180845284905260ff88169282019290925260608101869052608081018590529192509060019060a0016020604051602081039080840390855afa158015610cd9573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001519150506001600160a01b0381161580610d2c5750866001600160a01b0316816001600160a01b031614155b15610d63576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610d6d8187612f50565b50505050505050565b60408051602081019091526060815281831115610dbf576040517f2cd4dad300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60045480831115610dfc576040517f2cd4dad300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610e088585615620565b905060008167ffffffffffffffff811115610e2557610e25614d65565b604051908082528060200260200182016040528015610e8e57816020015b60408051606081018252600080825260208083018290529282015282527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff909201910181610e435790505b509050855b85811015610f34576004805482908110610eaf57610eaf615633565b600091825260209182902060408051606081018252919092015465ffffffffffff8116825261ffff660100000000000082048116948301949094526801000000000000000090049092169082015282610f088984615620565b81518110610f1857610f18615633565b6020026020010181905250610f2d8160010190565b9050610e93565b506040805160208101909152908152925050505b92915050565b600080610f5b6004613063565b915091509091565b60008054906101000a90046001600160a01b03166001600160a01b031663c34c08e56040518163ffffffff1660e01b8152600401602060405180830381865afa158015610fb4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fd89190615603565b6001600160a01b0316336001600160a01b031614611022576040517f26bee1ce00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61102c82826130db565b5050565b6000610ba03387878787876131cf565b60008115611077575060008381526006602090815260408083206001600160a01b038616845260030190915290205460ff166110a2565b5060008381526006602090815260408083206001600160a01b038616845260040190915290205460ff165b9392505050565b6040805160208101909152606081526040805160048054602081810284018501855283018181529293919284929091849160009085015b8282101561113f576000848152602090819020604080516060810182529185015465ffffffffffff8116835261ffff660100000000000082048116848601526801000000000000000090910416908201528252600190920191016110e0565b5050505081525050905090565b60008061115f8d8d8d8d8d8d8d8d613714565b6040805160008082526020820180845284905260ff89169282019290925260608101879052608081018690529192509060019060a0016020604051602081039080840390855afa1580156111b7573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001519150506001600160a01b038116158061120a57508d6001600160a01b0316816001600160a01b031614155b15611241576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611251818e8e8e8e8e8e8e613885565b9e9d5050505050505050505050505050565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000810460ff16159067ffffffffffffffff166000811580156112ae5750825b905060008267ffffffffffffffff1660011480156112cb5750303b155b9050811580156112d9575080155b15611310576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b84547fffffffffffffffffffffffffffffffffffffffffffffffff000000000000000016600117855583156113715784547fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff16680100000000000000001785555b886001600160a01b0316639bccfe496040518163ffffffff1660e01b8152600401602060405180830381865afa1580156113af573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113d3919061545d565b50600080546001600160a01b03808c167fffffffffffffffffffffffff00000000000000000000000000000000000000009283161790925560018054928b169290911691909117905561142587612c5e565b611437866000015187602001516130db565b61144986604001518760600151613b89565b83156114aa5784547fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b505050505050505050565b6000806114c68b8b8b8b8b8b613c26565b6040805160008082526020820180845284905260ff89169282019290925260608101879052608081018690529192509060019060a0016020604051602081039080840390855afa15801561151e573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001519150506001600160a01b038116158061157157508b6001600160a01b0316816001600160a01b031614155b156115a8576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6115b6818c8c8c8c8c6131cf565b9c9b505050505050505050505050565b6000806115d78b8b8b8b8b8b613d84565b6040805160008082526020820180845284905260ff89169282019290925260608101879052608081018690529192509060019060a0016020604051602081039080840390855afa15801561162f573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001519150506001600160a01b038116158061168257508b6001600160a01b0316816001600160a01b031614155b156116b9576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6115b6818c8c8c8c8c612612565b600061170f338a8a8a8a8a8a8a8a8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061388592505050565b9998505050505050505050565b610c723382612f50565b60008054906101000a90046001600160a01b03166001600160a01b031663c34c08e56040518163ffffffff1660e01b8152600401602060405180830381865afa158015611777573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061179b9190615603565b6001600160a01b0316336001600160a01b0316146117e5576040517f26bee1ce00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61102c8282613b89565b600080610f5b6003613063565b604080516020810190915260608152604080516003805460208082028401850185528301818152929391928492909184916000908501821561113f576000848152602090819020604080516060810182529185015465ffffffffffff8116835261ffff660100000000000082048116848601526801000000000000000090910416908201528252600190920191016110e0565b604080516020810190915260608152818311156118d8576040517f2cd4dad300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60035480831115611915576040517f2cd4dad300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006119218585615620565b905060008167ffffffffffffffff81111561193e5761193e614d65565b6040519080825280602002602001820160405280156119a757816020015b60408051606081018252600080825260208083018290529282015282527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90920191018161195c5790505b509050855b85811015610f345760038054829081106119c8576119c8615633565b600091825260209182902060408051606081018252919092015465ffffffffffff8116825261ffff660100000000000082048116948301949094526801000000000000000090049092169082015282611a218984615620565b81518110611a3157611a31615633565b6020026020010181905250611a468160010190565b90506119ac565b600080546040517fb6e76873000000000000000000000000000000000000000000000000000000008152833560048201526001600160a01b039091169063b6e768739060240161012060405180830381865afa158015611ab1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ad591906152c8565b9050600060018260a00151611aea91906153a6565b67ffffffffffffffff169050600160009054906101000a90046001600160a01b03166001600160a01b031663ae2a6df26040518163ffffffff1660e01b815260040160006040518083038186803b158015611b4457600080fd5b505afa158015611b58573d6000803e3d6000fd5b50505050600080600080611b7685600461203490919063ffffffff16565b90925090506000611b8d6080890160608a016153ce565b6001600160a01b0316637999762c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611bca573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bee91906153eb565b67ffffffffffffffff16905061271061ffff84168202048760a0015167ffffffffffffffff160194506127108261ffff16820281611c2e57611c2e615406565b0485019350834211611c6c576040517f038d8a6a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b808760a0015167ffffffffffffffff16611c869190615662565b421115611cbf576040517f08c8d62700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050843560009081526006602052604080822060015491517fcdfda4dd000000000000000000000000000000000000000000000000000000008152600481018690529092916001600160a01b03169063edb8ee5a90829063cdfda4dd90602401602060405180830381865afa158015611d3d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d619190615435565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b16815265ffffffffffff9091166004820152602401602060405180830381865afa158015611dbc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611de0919061545d565b825460018401549192506fffffffffffffffffffffffffffffffff808216928116917001000000000000000000000000000000009004166000611e2460038a6121cd565b5090506000611e3a868361ffff166127106122d8565b905080856fffffffffffffffffffffffffffffffff161015611ea3576040517f0425fab10000000000000000000000000000000000000000000000000000000081526fffffffffffffffffffffffffffffffff86166004820152602481018290526044016109da565b836fffffffffffffffffffffffffffffffff16856fffffffffffffffffffffffffffffffff1611611f1c576040517f8a0df63f0000000000000000000000000000000000000000000000000000000081526fffffffffffffffffffffffffffffffff8087166004830152851660248201526044016109da565b6000611f3b8d6060016020810190611f3491906153ce565b600161231c565b905060008054906101000a90046001600160a01b03166001600160a01b03166389e7d126828f6040518363ffffffff1660e01b8152600401611f7e9291906155b2565b6020604051808303816000875af1158015611f9d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fc191906155e8565b50604080518e3581526fffffffffffffffffffffffffffffffff808916602083015280881692820192909252908516606082015260ff82169033907ff23279e924757f3bfe4f543bc1b43685e851d6ace53f8518b806dcd8d42fc13990608001610b62565b600080610b876003846121cd565b6000804283106120c6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f506572696f64506374436865636b706f696e74733a2074696d657374616d702060448201527f6973206e6f7420696e207468652070617374000000000000000000000000000060648201526084016109da565b60006120d184613db3565b855490915060008160058111156121315760006120ed84613dfc565b6120f79085615620565b60008a81526020902090915081015465ffffffffffff90811690861610156121215780915061212f565b61212c816001615662565b92505b505b600061213f89868585613eae565b90508060000361215a576000809650965050505050506121c6565b60006121798a61216b600185615620565b600091825260209091200190565b60408051606081018252915465ffffffffffff8116835261ffff66010000000000008204811660208501819052680100000000000000009092041692909101829052985096505050505050505b9250929050565b60008042831061225f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602f60248201527f51756f72756d436865636b706f696e74733a2074696d657374616d702069732060448201527f6e6f7420696e207468652070617374000000000000000000000000000000000060648201526084016109da565b600061226a84613db3565b855490915060008160058111156122ca57600061228684613dfc565b6122909085615620565b60008a81526020902090915081015465ffffffffffff90811690861610156122ba578091506122c8565b6122c5816001615662565b92505b505b600061213f89868585613f10565b6000827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048411830215820261230d57600080fd5b50910281810615159190040190565b60008054604080517f0505c8c9000000000000000000000000000000000000000000000000000000008152905183926001600160a01b031691630505c8c99160048083019260209291908290030181865afa15801561237f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123a39190615603565b6001600160a01b0316638b2ed3886040518163ffffffff1660e01b8152600401602060405180830381865afa1580156123e0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124049190615675565b905060015b8160ff16811161253b57836124a1576040517fc167ebae00000000000000000000000000000000000000000000000000000000815260ff821660048201526001600160a01b0386169063c167ebae90602401602060405180830381865afa158015612478573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061249c9190615692565b612525565b6040517ffb847c4300000000000000000000000000000000000000000000000000000000815260ff821660048201526001600160a01b0386169063fb847c4390602401602060405180830381865afa158015612501573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125259190615692565b15612533579150610f489050565b600101612409565b50826125a857836001600160a01b03166312a52f006040518163ffffffff1660e01b8152600401602060405180830381865afa15801561257f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125a39190615675565b61260a565b836001600160a01b03166366cacdc96040518163ffffffff1660e01b8152600401602060405180830381865afa1580156125e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061260a9190615675565b949350505050565b600080546040517fb6e768730000000000000000000000000000000000000000000000000000000081528635600482015282916001600160a01b03169063b6e768739060240161012060405180830381865afa158015612676573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061269a91906152c8565b9050600060018260a001516126af91906153a6565b8735600090815260066020526040902067ffffffffffffffff9190911691506126de6080890160608a016153ce565b6001600160a01b03166302674e4b89308c6040518463ffffffff1660e01b815260040161270d939291906156af565b60006040518083038186803b15801561272557600080fd5b505afa158015612739573d6000803e3d6000fd5b505050506001600160a01b038a16600090815260048201602052604090205460ff1615612792576040517f9dd6544b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6127a0888a89600486613f6a565b60008080806127b0600487612034565b909250905060006127c760808e0160608f016153ce565b6001600160a01b031663b02bd9206040518163ffffffff1660e01b8152600401602060405180830381865afa158015612804573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061282891906153eb565b67ffffffffffffffff16905061271061ffff8416820204818960c0015167ffffffffffffffff16030194506127108261ffff1682028161286a5761286a615406565b04850193508442116128a8576040517fd0b72b4900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b834211156128e2576040517f5b73d19300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050506000612a25600160009054906101000a90046001600160a01b03166001600160a01b0316639556de738f600160009054906101000a90046001600160a01b03166001600160a01b031663cdfda4dd886040518263ffffffff1660e01b815260040161295291815260200190565b602060405180830381865afa15801561296f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906129939190615435565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b1681526001600160a01b03909216600483015265ffffffffffff166024820152604401602060405180830381865afa1580156129fc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a20919061545d565b61425e565b905060ff8a16612a9e576002840154612a649070010000000000000000000000000000000090046fffffffffffffffffffffffffffffffff16826142ad565b6002850180546fffffffffffffffffffffffffffffffff928316700100000000000000000000000000000000029216919091179055612bc6565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60ff8b1601612b37576001840154612afd9070010000000000000000000000000000000090046fffffffffffffffffffffffffffffffff16826142ad565b6001850180546fffffffffffffffffffffffffffffffff928316700100000000000000000000000000000000029216919091179055612bc6565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe60ff8b1601612bc6576002840154612b82906fffffffffffffffffffffffffffffffff16826142ad565b6002850180547fffffffffffffffffffffffffffffffff00000000000000000000000000000000166fffffffffffffffffffffffffffffffff929092169190911790555b6001600160a01b038d1660008181526004860160205260409081902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790555160ff8c1691907f4e3e2ad68670a2709cb408c31c5afd8da0b6d3d06c75b11feb404a455639fe7c90612c46908f359086908f908f90615713565b60405180910390a39c9b505050505050505050505050565b60018054604080517f91ddadf400000000000000000000000000000000000000000000000000000000815290516000936001600160a01b039093169263edb8ee5a92909184916391ddadf49160048083019260209291908290030181865afa158015612cce573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612cf29190615435565b612cfc9190615745565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b16815265ffffffffffff9091166004820152602401602060405180830381865afa158015612d57573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612d7b919061545d565b905080600003612db7576040517f34bbd58500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80821115612df1576040517f8a5e746800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60028290556040518281527fd91a985c173545ab0e0bd11c021a1ae84c1ea6eab9350d9bf3812d5b8bff49a4906020015b60405180910390a15050565b6000807f6da9390b4f29da2c44fa5a9da00b392393d01e989d16e4a3dec5a538318e352584612e5c856142f4565b6001600160a01b03871660009081526007602090815260408083207fffffffff00000000000000000000000000000000000000000000000000000000843516845290915290208054600181019091556040805160208101959095526001600160a01b03909316928401929092526060830152608082015260a001604051602081830303815290604052805190602001209050612ef66143eb565b6040517f190100000000000000000000000000000000000000000000000000000000000060208201526022810191909152604281018290526062016040516020818303038152906040528051906020012091505092915050565b80356000908152600560205260409020546001600160a01b03838116911614612fa5576040517f86ba025600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000546040517fb92cdd9a0000000000000000000000000000000000000000000000000000000081526001600160a01b039091169063b92cdd9a90612fee908490600401615764565b600060405180830381600087803b15801561300857600080fd5b505af115801561301c573d6000803e3d6000fd5b5050604051833581526001600160a01b03851692507fdcccc5725b7256a6975da00de8953e5d326756a3079d203ff6df9e52331f411a915060200160405180910390a25050565b8054600090819080820361307d5750600093849350915050565b600061308e8561216b600185615620565b60408051606081018252915465ffffffffffff8116835261ffff66010000000000008204811660208501819052680100000000000000009092041692909101829052969095509350505050565b6127108261ffff1611806130f1575061ffff8216155b1561312e576040517f8f6febc000000000000000000000000000000000000000000000000000000000815261ffff831660048201526024016109da565b6127108161ffff161180613144575061ffff8116155b15613181576040517f3bec511c00000000000000000000000000000000000000000000000000000000815261ffff821660048201526024016109da565b613194600361ffff80851690841661454d565b6040805161ffff8085168252831660208201527f77c3f43700db02acb49792bbf699b39f72c2ed4b920bd5c0b1843dcd7c832f4c9101612e22565b600080546040517fb6e768730000000000000000000000000000000000000000000000000000000081528635600482015282916001600160a01b03169063b6e768739060240161012060405180830381865afa158015613233573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061325791906152c8565b9050600060018260a0015161326c91906153a6565b8735600090815260066020526040902067ffffffffffffffff91909116915061329b6080890160608a016153ce565b6001600160a01b0316631a2a4e7789308c6040518463ffffffff1660e01b81526004016132ca939291906156af565b60006040518083038186803b1580156132e257600080fd5b505afa1580156132f6573d6000803e3d6000fd5b505050506001600160a01b038a16600090815260038201602052604090205460ff161561334f576040517f9dd6544b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61335d888a89600086613f6a565b600080808061336d600487612034565b9092509050600061338460808e0160608f016153ce565b6001600160a01b0316637999762c6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156133c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906133e591906153eb565b67ffffffffffffffff16905061271061ffff84168202048860a0015167ffffffffffffffff160194506127108261ffff1682028161342557613425615406565b0485019350844211613463576040517fd0b72b4900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8342111561349d576040517f5b73d19300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050600061350d600160009054906101000a90046001600160a01b03166001600160a01b0316639556de738f600160009054906101000a90046001600160a01b03166001600160a01b031663cdfda4dd886040518263ffffffff1660e01b815260040161295291815260200190565b905060ff8a16613580576001840154613538906fffffffffffffffffffffffffffffffff16826142ad565b6001850180547fffffffffffffffffffffffffffffffff00000000000000000000000000000000166fffffffffffffffffffffffffffffffff92909216919091179055613694565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60ff8b16016136095783546135c8906fffffffffffffffffffffffffffffffff16826142ad565b84547fffffffffffffffffffffffffffffffff00000000000000000000000000000000166fffffffffffffffffffffffffffffffff91909116178455613694565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe60ff8b16016136945783546136659070010000000000000000000000000000000090046fffffffffffffffffffffffffffffffff16826142ad565b84546fffffffffffffffffffffffffffffffff9182167001000000000000000000000000000000000291161784555b6001600160a01b038d1660008181526003860160205260409081902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790555160ff8c1691907f761cce3a1af5d9cfc0d57222f605ce4bd2be345f0ad9ebb7b83a84a91a0c201490612c46908f359086908f908f90615713565b6001600160a01b03881660009081526007602090815260408083207fffffffff000000000000000000000000000000000000000000000000000000008435168452909152812080546001810190915560007fd1fab1c7b3b37134662e5867b00e272eb49f7be0a890df29e802c3cc66c06f838b8b8b8b8b8b8b60405161379b929190615777565b604080519182900382208c516020808f0191909120908401999099526001600160a01b039788169183019190915260ff90951660608201529285166080840152931660a082015260c081019290925260e08201526101008101919091526101208101839052610140016040516020818303038152906040528051906020012090506138246143eb565b6040517f19010000000000000000000000000000000000000000000000000000000000006020820152602281019190915260428101829052606201604051602081830303815290604052805190602001209250505098975050505050505050565b600154604080517fae2a6df200000000000000000000000000000000000000000000000000000000815290516000926001600160a01b03169163ae2a6df29160048083019286929190829003018186803b1580156138e257600080fd5b505afa1580156138f6573d6000803e3d6000fd5b505060018054604080517f91ddadf40000000000000000000000000000000000000000000000000000000081529051600095506001600160a01b039092169350639556de73928e92909185916391ddadf4916004808201926020929091908290030181865afa15801561396d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906139919190615435565b61399b9190615745565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b1681526001600160a01b03909216600483015265ffffffffffff166024820152604401602060405180830381865afa158015613a04573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613a28919061545d565b9050600254811015613a69576040517f92665351000000000000000000000000000000000000000000000000000000008152600481018290526024016109da565b6000546040517fb3c678b00000000000000000000000000000000000000000000000000000000081526001600160a01b039091169063b3c678b090613abe908c908c908c908c908c908c908c906004016157ab565b6020604051808303816000875af1158015613add573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613b01919061545d565b60008181526005602090815260409182902080547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b038f16908117909155915183815292945090917f1834dfd49255741a8ce9a9bd66b91b64d13622e1d8170e4c78ac91f9ec50a542910160405180910390a25098975050505050505050565b612710613b96828461583b565b61ffff1610613bdf576040517f519dd38400000000000000000000000000000000000000000000000000000000815261ffff8084166004830152821660248201526044016109da565b613beb60048383614576565b6040805161ffff8085168252831660208201527f8df7bdcce333d9e1b85e40782fb2f293c805761d3f48aaea58865e9541e44c709101612e22565b6000807fd7be168a3509af358f222ee35ee76aba47bc5fc2c35061cdce3958f510b7b1b28888613c55896142f4565b888888604051613c66929190615777565b60408051918290039091206001600160a01b038f166000908152600760209081528382207fffffffff0000000000000000000000000000000000000000000000000000000083351683529052919091208054600181019091556040805160208101989098526001600160a01b039096169587019590955260ff938416606087015260808601929092529190911660a084015260c083015260e082015261010001604051602081830303815290604052805190602001209050613d266143eb565b6040517f19010000000000000000000000000000000000000000000000000000000000006020820152602281019190915260428101829052606201604051602081830303815290604052805190602001209150509695505050505050565b6000807fa87058c5a9888e7af4405a932381d5a4612c61354bc3e52e9ea361ba17703fb38888613c55896142f4565b600065ffffffffffff821115613df8576040517fc0188c4f000000000000000000000000000000000000000000000000000000008152600481018390526024016109da565b5090565b60b581710100000000000000000000000000000000008110613e235760409190911b9060801c5b69010000000000000000008110613e3f5760209190911b9060401c5b650100000000008110613e575760109190911b9060201c5b63010000008110613e6d5760089190911b9060101c5b62010000010260121c80820401600190811c80830401811c80830401811c80830401811c80830401811c80830401811c80830401901c908190048111900390565b60005b81831015613f08576000613ec584846145a2565b60008781526020902090915065ffffffffffff86169082015465ffffffffffff161115613ef457809250613f02565b613eff816001615662565b93505b50613eb1565b509392505050565b60005b81831015613f08576000613f2784846145a2565b60008781526020902090915065ffffffffffff86169082015465ffffffffffff161115613f5657809250613f64565b613f61816001615662565b93505b50613f13565b600260ff84161115613fad576040517ffe0e5d8b00000000000000000000000000000000000000000000000000000000815260ff841660048201526024016109da565b600080546040517fec12d8be0000000000000000000000000000000000000000000000000000000081526001600160a01b039091169063ec12d8be90613ff7908990600401615764565b602060405180830381865afa158015614014573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906140389190615675565b60ff16600681111561404c5761404c6156e4565b9050826006811115614060576140606156e4565b816006811115614072576140726156e4565b146140ab57806040517f87afe58e0000000000000000000000000000000000000000000000000000000081526004016109da9190615856565b60008060009054906101000a90046001600160a01b03166001600160a01b0316630505c8c96040518163ffffffff1660e01b8152600401602060405180830381865afa1580156140ff573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906141239190615603565b6040517fe0bec07600000000000000000000000000000000000000000000000000000000815230600482015260ff88166024820152604481018590526001600160a01b03919091169063e0bec07690606401602060405180830381865afa158015614192573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906141b69190615692565b9050806141ef576040517f88aebd1200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600160009054906101000a90046001600160a01b03166001600160a01b031663ae2a6df26040518163ffffffff1660e01b815260040160006040518083038186803b15801561423d57600080fd5b505afa158015614251573d6000803e3d6000fd5b5050505050505050505050565b60006fffffffffffffffffffffffffffffffff821115613df8576040517fc0188c4f000000000000000000000000000000000000000000000000000000008152600481018390526024016109da565b60006fffffffffffffffffffffffffffffffff6142ce838216858316615662565b106142ea57506fffffffffffffffffffffffffffffffff610f48565b6110a28284615897565b60007f86b4555c6e347ea3f038485b59b894986c208b67da7e65fcfa3707271608465f823561432960408501602086016153ce565b61433960608601604087016158c0565b61434960808701606088016153ce565b61435960a08801608089016153ce565b60a088013561436b60c08a018a6158dd565b604051614379929190615777565b6040805191829003822060208301999099528101969096526001600160a01b03948516606087015260ff909316608086015290831660a08501529190911660c083015260e082015261010081019190915261012001604051602081830303815290604052805190602001209050919050565b60008054604080517f06fdde0300000000000000000000000000000000000000000000000000000000815290517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f926001600160a01b0316916306fdde0391600480830192879291908290030181865afa15801561446d573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526144b39190810190615942565b8051602091820120604080518082018252600181527f310000000000000000000000000000000000000000000000000000000000000090840152805192830193909352918101919091527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a082015260c00160405160208183030381529060405280519060200120905090565b6145718361455a42613db3565b614563856145bd565b61456c856145bd565b6145fe565b505050565b6145718361458342613db3565b6145908561ffff166145bd565b61459d8561ffff166145bd565b614909565b60006145b160028484186159b0565b6110a290848416615662565b600061ffff821115613df8576040517fc0188c4f000000000000000000000000000000000000000000000000000000008152600481018390526024016109da565b835480156148475760006146178661216b600185615620565b60408051606081018252915465ffffffffffff80821680855261ffff66010000000000008404811660208701526801000000000000000090930490921692840192909252919250861610156146ed576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f51756f72756d20436865636b706f696e743a20696e76616c69642074696d657360448201527f74616d700000000000000000000000000000000000000000000000000000000060648201526084016109da565b805165ffffffffffff8087169116036147865760006147118761216b600186615620565b805461ffff86811668010000000000000000027fffffffffffffffffffffffffffffffffffffffffffff0000ffffffffffffffff918916660100000000000002919091167fffffffffffffffffffffffffffffffffffffffffffff00000000ffffffffffff9092169190911717905550614841565b6040805160608101825265ffffffffffff808816825261ffff80881660208085019182528883169585019586528b54600181018d5560008d81529190912094519401805491519551831668010000000000000000027fffffffffffffffffffffffffffffffffffffffffffff0000ffffffffffffffff969093166601000000000000027fffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000909216949093169390931792909217929092161790555b50614902565b6040805160608101825265ffffffffffff808716825261ffff80871660208085019182528783169585019586528a54600181018c5560008c81529190912094519401805491519551831668010000000000000000027fffffffffffffffffffffffffffffffffffffffffffff0000ffffffffffffffff969093166601000000000000027fffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000909216949093169390931792909217929092161790555b5050505050565b835480156148475760006149228661216b600185615620565b60408051606081018252915465ffffffffffff80821680855261ffff66010000000000008404811660208701526801000000000000000090930490921692840192909252919250861610156146ed576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602860248201527f506572696f642050637420436865636b706f696e743a20696e76616c6964207460448201527f696d657374616d7000000000000000000000000000000000000000000000000060648201526084016109da565b600060e08284031215614a0b57600080fd5b50919050565b600060208284031215614a2357600080fd5b813567ffffffffffffffff811115614a3a57600080fd5b61260a848285016149f9565b600060208284031215614a5857600080fd5b5035919050565b60ff81168114610c7257600080fd5b8035614a7981614a5f565b919050565b60008083601f840112614a9057600080fd5b50813567ffffffffffffffff811115614aa857600080fd5b6020830191508360208285010111156121c657600080fd5b600080600080600060808688031215614ad857600080fd5b8535614ae381614a5f565b9450602086013567ffffffffffffffff80821115614b0057600080fd5b614b0c89838a016149f9565b955060408801359150614b1e82614a5f565b90935060608701359080821115614b3457600080fd5b50614b4188828901614a7e565b969995985093965092949392505050565b80357fffffffff0000000000000000000000000000000000000000000000000000000081168114614a7957600080fd5b600060208284031215614b9457600080fd5b6110a282614b52565b6001600160a01b0381168114610c7257600080fd5b8035614a7981614b9d565b600080600080600060a08688031215614bd557600080fd5b8535614be081614b9d565b9450602086013567ffffffffffffffff811115614bfc57600080fd5b614c08888289016149f9565b9450506040860135614c1981614a5f565b94979396509394606081013594506080013592915050565b60008060408385031215614c4457600080fd5b50508035926020909101359150565b60208082528251828201829052805160408401819052600092916060919083019082860190855b81811015614cc357614cb3838551805165ffffffffffff16825260208082015161ffff9081169184019190915260409182015116910152565b9285019291840191600101614c7a565b5090979650505050505050565b803561ffff81168114614a7957600080fd5b60008060408385031215614cf557600080fd5b614cfe83614cd0565b9150614d0c60208401614cd0565b90509250929050565b8015158114610c7257600080fd5b600080600060608486031215614d3857600080fd5b833592506020840135614d4a81614b9d565b91506040840135614d5a81614d15565b809150509250925092565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051610120810167ffffffffffffffff81118282101715614db857614db8614d65565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715614e0557614e05614d65565b604052919050565b600067ffffffffffffffff821115614e2757614e27614d65565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b600082601f830112614e6457600080fd5b8135614e77614e7282614e0d565b614dbe565b818152846020838601011115614e8c57600080fd5b816020850160208301376000918101602001919091529392505050565b60008060008060008060008060008060006101408c8e031215614ecb57600080fd5b614ed48c614bb2565b9a50614ee260208d01614a6e565b9950614ef060408d01614bb2565b9850614efe60608d01614bb2565b975060808c0135965067ffffffffffffffff8060a08e01351115614f2157600080fd5b614f318e60a08f01358f01614a7e565b909750955060c08d0135811015614f4757600080fd5b50614f588d60c08e01358e01614e53565b9350614f6660e08d01614a6e565b92506101008c013591506101208c013590509295989b509295989b9093969950565b60008060008084860360e0811215614f9f57600080fd5b8535614faa81614b9d565b94506020860135614fba81614b9d565b93506040860135925060807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa082011215614ff357600080fd5b506040516080810181811067ffffffffffffffff8211171561501757615017614d65565b60405261502660608701614cd0565b815261503460808701614cd0565b602082015261504560a08701614cd0565b604082015261505660c08701614cd0565b6060820152939692955090935050565b60008060008060008060008060006101008a8c03121561508557600080fd5b893561509081614b9d565b985060208a01356150a081614a5f565b975060408a013567ffffffffffffffff808211156150bd57600080fd5b6150c98d838e016149f9565b985060608c013591506150db82614a5f565b90965060808b013590808211156150f157600080fd5b506150fe8c828d01614a7e565b90965094505060a08a013561511281614a5f565b8093505060c08a0135915060e08a013590509295985092959850929598565b60008060008060008060008060c0898b03121561514d57600080fd5b883561515881614a5f565b9750602089013561516881614b9d565b9650604089013561517881614b9d565b955060608901359450608089013567ffffffffffffffff8082111561519c57600080fd5b6151a88c838d01614a7e565b909650945060a08b01359150808211156151c157600080fd5b506151ce8b828c01614a7e565b999c989b5096995094979396929594505050565b600080604083850312156151f557600080fd5b823561520081614b9d565b9150614d0c60208401614b52565b60208082528251828201829052805160408401819052600092916060919083019082860190855b81811015614cc35761526e838551805165ffffffffffff16825260208082015161ffff9081169184019190915260409182015116910152565b9285019291840191600101615235565b8051614a7981614d15565b8051614a7981614b9d565b805167ffffffffffffffff81168114614a7957600080fd5b80516bffffffffffffffffffffffff81168114614a7957600080fd5b600061012082840312156152db57600080fd5b6152e3614d94565b825181526152f36020840161527e565b60208201526153046040840161527e565b60408201526153156060840161527e565b606082015261532660808401615289565b608082015261533760a08401615294565b60a082015261534860c08401615294565b60c082015261535960e084016152ac565b60e082015261010061536c8185016152ac565b908201529392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b67ffffffffffffffff8281168282160390808211156153c7576153c7615377565b5092915050565b6000602082840312156153e057600080fd5b81356110a281614b9d565b6000602082840312156153fd57600080fd5b6110a282615294565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006020828403121561544757600080fd5b815165ffffffffffff811681146110a257600080fd5b60006020828403121561546f57600080fd5b5051919050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b80358252600060208201356154d381614b9d565b6001600160a01b0390811660208501526040830135906154f282614a5f565b60ff821660408601526060840135915061550b82614b9d565b908116606085015260808301359061552282614b9d565b16608084015260a0828101359084015260c0820135368390037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe101811261556857600080fd5b820160208101903567ffffffffffffffff81111561558557600080fd5b80360382131561559457600080fd5b60e060c08601526155a960e086018284615476565b95945050505050565b60ff831681526060602082015260006155ce60608301846154bf565b828103604084015260008152602081019150509392505050565b6000602082840312156155fa57600080fd5b6110a2826152ac565b60006020828403121561561557600080fd5b81516110a281614b9d565b81810381811115610f4857610f48615377565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b80820180821115610f4857610f48615377565b60006020828403121561568757600080fd5b81516110a281614a5f565b6000602082840312156156a457600080fd5b81516110a281614d15565b6060815260006156c260608301866154bf565b90506001600160a01b038416602083015260ff83166040830152949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b8481526fffffffffffffffffffffffffffffffff84166020820152606060408201526000610ba0606083018486615476565b65ffffffffffff8281168282160390808211156153c7576153c7615377565b6020815260006110a260208301846154bf565b8183823760009101908152919050565b60005b838110156157a257818101518382015260200161578a565b50506000910152565b60ff8816815260006001600160a01b03808916602084015280881660408401525085606083015260c060808301526157e760c083018587615476565b82810360a08401528351808252615805816020840160208801615787565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016016020019998505050505050505050565b61ffff8181168382160190808211156153c7576153c7615377565b6020810160078310615891577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b91905290565b6fffffffffffffffffffffffffffffffff8181168382160190808211156153c7576153c7615377565b6000602082840312156158d257600080fd5b81356110a281614a5f565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261591257600080fd5b83018035915067ffffffffffffffff82111561592d57600080fd5b6020019150368190038213156121c657600080fd5b60006020828403121561595457600080fd5b815167ffffffffffffffff81111561596b57600080fd5b8201601f8101841361597c57600080fd5b805161598a614e7282614e0d565b81815285602083850101111561599f57600080fd5b6155a9826020830160208601615787565b6000826159e6577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b50049056fea164736f6c6343000817000a", + "nonce": "0x0", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x69cc85032858f025368562fe1bcb0b1408879f092eff2a06cff566b845854094", + "transactionType": "CREATE", + "contractName": "LlamaTokenVotingFactory", + "contractAddress": "0xFBE17545dffD75A92A5A72926AE581478973FE65", + "function": null, + "arguments": [ + "0x3f3DAB3ab8cEc2FBd06767c2A5F66Cb6BFF21A4A" + ], + "transaction": { + "type": "0x02", + "from": "0xb72276d9ff15c7998b9962ffcfb21a6c7249441b", + "gas": "0xc9127", + "value": "0x0", + "data": "0x60a060405234801561001057600080fd5b50604051610b16380380610b1683398101604081905261002f91610040565b6001600160a01b0316608052610070565b60006020828403121561005257600080fd5b81516001600160a01b038116811461006957600080fd5b9392505050565b608051610a8561009160003960008181604001526104390152610a856000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c806321618ea41461003b5780633ec857a51461008b575b600080fd5b6100627f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b61006261009936600461087b565b600080338360000151846040015185606001516040516020016100bf9493929190610959565b60405160208183030381529060405280519060200120905060006100e7846020015183610622565b60408086015190517f439fab9100000000000000000000000000000000000000000000000000000000815291925073ffffffffffffffffffffffffffffffffffffffff83169163439fab919161013f916004016109b9565b6020604051808303816000875af115801561015e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101829190610a0a565b50600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1663fc0c546a6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156101e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061020a9190610a33565b73ffffffffffffffffffffffffffffffffffffffff1603610257576040517f65f5b03400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517fcdfda4dd00000000000000000000000000000000000000000000000000000000815242600482015273ffffffffffffffffffffffffffffffffffffffff82169063cdfda4dd90602401602060405180830381865afa1580156102c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102e59190610a50565b65ffffffffffff16600003610326576040517f65f5b03400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff166391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865afa158015610371573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103959190610a50565b65ffffffffffff166000036103d6576040517f65f5b03400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1663ae2a6df26040518163ffffffff1660e01b815260040160006040518083038186803b15801561041c57600080fd5b505afa158015610430573d6000803e3d6000fd5b5050505061045e7f000000000000000000000000000000000000000000000000000000000000000083610622565b8451608086015160a0870151604080517f8734852a00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff948516600482015286851660248201526044810193909352815161ffff908116606485015260208301518116608485015290820151811660a48401526060909101511660c4820152919450841690638734852a9060e401600060405180830381600087803b15801561051757600080fd5b505af115801561052b573d6000803e3d6000fd5b505050508073ffffffffffffffffffffffffffffffffffffffff1663fc0c546a6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561057a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061059e9190610a33565b84516020808701516060808901516040805173ffffffffffffffffffffffffffffffffffffffff94851681528885169581019590955284015287821690830152466080830152928316929091169033907f4c8bb78cb1c62e64cef39fc4b4a1864d1a331a28c7bd59a67fe969cc8ab715879060a00160405180910390a45050919050565b6000763d602d80600a3d3981f3363d3d373d3d3d363d730000008360601b60e81c176000526e5af43d82803e903d91602b57fd5bf38360781b1760205281603760096000f5905073ffffffffffffffffffffffffffffffffffffffff81166106b6576040517fc2f868f400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405160c0810167ffffffffffffffff8111828210171561070e5761070e6106bc565b60405290565b73ffffffffffffffffffffffffffffffffffffffff8116811461073657600080fd5b50565b600082601f83011261074a57600080fd5b813567ffffffffffffffff80821115610765576107656106bc565b604051601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011681019082821181831017156107ab576107ab6106bc565b816040528381528660208588010111156107c457600080fd5b836020870160208301376000602085830101528094505050505092915050565b803561ffff811681146107f657600080fd5b919050565b60006080828403121561080d57600080fd5b6040516080810181811067ffffffffffffffff82111715610830576108306106bc565b60405290508061083f836107e4565b815261084d602084016107e4565b602082015261085e604084016107e4565b604082015261086f606084016107e4565b60608201525092915050565b60006020828403121561088d57600080fd5b813567ffffffffffffffff808211156108a557600080fd5b9083019061012082860312156108ba57600080fd5b6108c26106eb565b82356108cd81610714565b815260208301356108dd81610714565b60208201526040830135828111156108f457600080fd5b61090087828601610739565b60408301525060608301356060820152608083013560808201526109278660a085016107fb565b60a082015295945050505050565b60005b83811015610950578181015183820152602001610938565b50506000910152565b60007fffffffffffffffffffffffffffffffffffffffff000000000000000000000000808760601b168352808660601b1660148401525083516109a3816028850160208801610935565b6028920191820192909252604801949350505050565b60208152600082518060208401526109d8816040850160208701610935565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169190910160400192915050565b600060208284031215610a1c57600080fd5b81518015158114610a2c57600080fd5b9392505050565b600060208284031215610a4557600080fd5b8151610a2c81610714565b600060208284031215610a6257600080fd5b815165ffffffffffff81168114610a2c57600080fdfea164736f6c6343000817000a0000000000000000000000003f3dab3ab8cec2fbd06767c2a5f66cb6bff21a4a", + "nonce": "0x1", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x08c82c413a9fd929e93f0e7cf7d5b0123514ca1c6bc495e3240469cd5f149ffb", + "transactionType": "CREATE", + "contractName": "LlamaTokenAdapterVotesTimestamp", + "contractAddress": "0x088C268cb00226D6A9b29e5488905Aa94D2f0239", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0xb72276d9ff15c7998b9962ffcfb21a6c7249441b", + "gas": "0x10d28c", + "value": "0x0", + "data": "0x608060405234801561001057600080fd5b5061001961001e565b6100d0565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff161561006e5760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b03908116146100cd5780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b610df5806100df6000396000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c8063ae2a6df21161005b578063ae2a6df21461010a578063cdfda4dd14610114578063edb8ee5a14610127578063fc0c546a1461013a57600080fd5b8063439fab911461008d5780634bf5d7e9146100b557806391ddadf4146100ca5780639556de73146100e9575b600080fd5b6100a061009b3660046108e4565b61017f565b60405190151581526020015b60405180910390f35b6100bd6103a1565b6040516100ac9190610988565b6100d261042f565b60405165ffffffffffff90911681526020016100ac565b6100fc6100f7366004610a12565b6104e9565b6040519081526020016100ac565b610112610593565b005b6100d2610122366004610a4b565b6105ef565b6100fc610135366004610a64565b610600565b60005461015a9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100ac565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0080546000919068010000000000000000810460ff16159067ffffffffffffffff1683811580156101cd5750825b905060008267ffffffffffffffff1660011480156101ea5750303b155b9050811580156101f8575080155b1561022f576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b84547fffffffffffffffffffffffffffffffffffffffffffffffff000000000000000016600117855583156102905784547fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff16680100000000000000001785555b6000878060200190518101906102a69190610a81565b8051600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff90921691909117905560408051808201909152600e81527f6d6f64653d74696d657374616d7000000000000000000000000000000000000060208201529091506001906103309082610b71565b50600196505083156103975784547fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b5050505050919050565b600180546103ae90610acd565b80601f01602080910402602001604051908101604052809291908181526020018280546103da90610acd565b80156104275780601f106103fc57610100808354040283529160200191610427565b820191906000526020600020905b81548152906001019060200180831161040a57829003601f168201915b505050505081565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156104d7575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682019092526104d491810190610c8b565b60015b6104e4576104e44261069b565b905090565b600080546040517f3a46b1a800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff858116600483015265ffffffffffff8516602483015290911690633a46b1a890604401602060405180830381865afa158015610568573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061058c9190610ca8565b9392505050565b600061059d6106e8565b905060006105a9610712565b905081806105b45750805b156105eb576040517f6ff0714000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050565b60006105fa8261069b565b92915050565b600080546040517f8e539e8c00000000000000000000000000000000000000000000000000000000815265ffffffffffff8416600482015273ffffffffffffffffffffffffffffffffffffffff90911690638e539e8c90602401602060405180830381865afa158015610677573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105fa9190610ca8565b600065ffffffffffff8211156106e4576040517fc0188c4f0000000000000000000000000000000000000000000000000000000081526004810183905260240160405180910390fd5b5090565b60006106f34261069b565b65ffffffffffff1661070361042f565b65ffffffffffff161415905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16634bf5d7e96040518163ffffffff1660e01b8152600401600060405180830381865afa9250505080156107bf57506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526107bc9190810190610cc1565b60015b6107c95750600090565b60016040516020016107db9190610d38565b60405160208183030381529060405280519060200120816040516020016108029190610dcc565b60405160208183030381529060405280519060200120141591505090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff8111828210171561089657610896610820565b604052919050565b600067ffffffffffffffff8211156108b8576108b8610820565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b6000602082840312156108f657600080fd5b813567ffffffffffffffff81111561090d57600080fd5b8201601f8101841361091e57600080fd5b803561093161092c8261089e565b61084f565b81815285602083850101111561094657600080fd5b81602084016020830137600091810160200191909152949350505050565b60005b8381101561097f578181015183820152602001610967565b50506000910152565b60208152600082518060208401526109a7816040850160208701610964565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169190910160400192915050565b73ffffffffffffffffffffffffffffffffffffffff811681146109fb57600080fd5b50565b65ffffffffffff811681146109fb57600080fd5b60008060408385031215610a2557600080fd5b8235610a30816109d9565b91506020830135610a40816109fe565b809150509250929050565b600060208284031215610a5d57600080fd5b5035919050565b600060208284031215610a7657600080fd5b813561058c816109fe565b600060208284031215610a9357600080fd5b6040516020810181811067ffffffffffffffff82111715610ab657610ab6610820565b6040528251610ac4816109d9565b81529392505050565b600181811c90821680610ae157607f821691505b602082108103610b1a577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b601f821115610b6c576000816000526020600020601f850160051c81016020861015610b495750805b601f850160051c820191505b81811015610b6857828155600101610b55565b5050505b505050565b815167ffffffffffffffff811115610b8b57610b8b610820565b610b9f81610b998454610acd565b84610b20565b602080601f831160018114610bf25760008415610bbc5750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b178555610b68565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b82811015610c3f57888601518255948401946001909101908401610c20565b5085821015610c7b57878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b600060208284031215610c9d57600080fd5b815161058c816109fe565b600060208284031215610cba57600080fd5b5051919050565b600060208284031215610cd357600080fd5b815167ffffffffffffffff811115610cea57600080fd5b8201601f81018413610cfb57600080fd5b8051610d0961092c8261089e565b818152856020838501011115610d1e57600080fd5b610d2f826020830160208601610964565b95945050505050565b6000808354610d4681610acd565b60018281168015610d5e5760018114610d9157610dc0565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0084168752821515830287019450610dc0565b8760005260208060002060005b85811015610db75781548a820152908401908201610d9e565b50505082870194505b50929695505050505050565b60008251610dde818460208701610964565b919091019291505056fea164736f6c6343000817000a", + "nonce": "0x2", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [ + "0xd51972dbb2c6846fbd16f473b681a814d8d5e11c2ee7f82be9cd929599f7b461", + "0x69cc85032858f025368562fe1bcb0b1408879f092eff2a06cff566b845854094", + "0x08c82c413a9fd929e93f0e7cf7d5b0123514ca1c6bc495e3240469cd5f149ffb" + ], + "returns": {}, + "timestamp": 1704991516, + "chain": 84531, + "multi": false, + "commit": "688208a" +} \ No newline at end of file diff --git a/broadcast/DeployLlamaTokenVotingFactory.s.sol/84531/run-1704991522.json b/broadcast/DeployLlamaTokenVotingFactory.s.sol/84531/run-1704991522.json new file mode 100644 index 0000000..1fe0575 --- /dev/null +++ b/broadcast/DeployLlamaTokenVotingFactory.s.sol/84531/run-1704991522.json @@ -0,0 +1,148 @@ +{ + "transactions": [ + { + "hash": "0xd51972dbb2c6846fbd16f473b681a814d8d5e11c2ee7f82be9cd929599f7b461", + "transactionType": "CREATE", + "contractName": "LlamaTokenGovernor", + "contractAddress": "0x3f3DAB3ab8cEc2FBd06767c2A5F66Cb6BFF21A4A", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0xb72276d9ff15c7998b9962ffcfb21a6c7249441b", + "gas": "0x6398ff", + "value": "0x0", + "data": "0x60806040523480156200001157600080fd5b506200001c62000022565b620000d6565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff1615620000735760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b0390811614620000d35780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b6159f880620000e66000396000f3fe608060405234801561001057600080fd5b50600436106101da5760003560e01c80637e4a56bb11610104578063b92cdd9a116100a2578063cae3bdff11610071578063cae3bdff1461053d578063dcae21b714610552578063e45061ea14610565578063e5589b9d1461057857600080fd5b8063b92cdd9a146104e4578063b9b2cf6c146104f7578063c193c2691461050a578063c26c12eb1461053557600080fd5b80638734852a116100de5780638734852a1461049857806396ff6e2e146104ab578063a1d9b412146104be578063b3c678b0146104d157600080fd5b80637e4a56bb1461046a5780637ed7238e14610472578063807ad1141461048557600080fd5b80633fed8f161161017c57806359e5332d1161014b57806359e5332d1461036457806364f6b3161461037b5780637186dd9c1461038e57806374f717cd1461044757600080fd5b80633fed8f16146103165780634d61ebf4146103365780634ec0ab1c1461033e578063509c5fbd1461035157600080fd5b806319a39740116101b857806319a397401461025b5780631e127ddf1461026e578063372fa8e8146102c25780633df91222146102d557600080fd5b80630669b1ce146101df57806311f900b5146101f45780631650080714610227575b600080fd5b6101f26101ed366004614a11565b61058b565b005b610207610202366004614a46565b610b79565b6040805161ffff9384168152929091166020830152015b60405180910390f35b61023a610235366004614ac0565b610b90565b6040516fffffffffffffffffffffffffffffffff909116815260200161021e565b6101f2610269366004614a46565b610baa565b6101f261027c366004614b82565b3360009081526007602090815260408083207fffffffff000000000000000000000000000000000000000000000000000000009490941683529290522080546001019055565b6101f26102d0366004614bbd565b610c75565b6102fe6102e3366004614a46565b6005602052600090815260409020546001600160a01b031681565b6040516001600160a01b03909116815260200161021e565b610329610324366004614c31565b610d76565b60405161021e9190614c53565b610207610f4e565b6101f261034c366004614ce2565b610f63565b61023a61035f366004614ac0565b611030565b61036d60025481565b60405190815260200161021e565b6000546102fe906001600160a01b031681565b6103fc61039c366004614a46565b6006602052600090815260409020805460018201546002909201546fffffffffffffffffffffffffffffffff8083169370010000000000000000000000000000000093849004821693818316939181900483169282811692919091041686565b604080516fffffffffffffffffffffffffffffffff978816815295871660208701529386169385019390935290841660608401528316608083015290911660a082015260c00161021e565b61045a610455366004614d23565b611040565b604051901515815260200161021e565b6103296110a9565b61036d610480366004614ea9565b61114c565b6001546102fe906001600160a01b031681565b6101f26104a6366004614f88565b611263565b61023a6104b9366004615066565b6114b5565b61023a6104cc366004615066565b6115c6565b61036d6104df366004615131565b6116c7565b6101f26104f2366004614a11565b61171c565b6101f2610505366004614ce2565b611726565b61036d6105183660046151e2565b600760209081526000928352604080842090915290825290205481565b6102076117ef565b6105456117fc565b60405161021e919061520e565b610545610560366004614c31565b61188f565b6101f2610573366004614a11565b611a4d565b610207610586366004614a46565b612026565b600080546040517fb6e76873000000000000000000000000000000000000000000000000000000008152833560048201526001600160a01b039091169063b6e768739060240161012060405180830381865afa1580156105ef573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061061391906152c8565b9050600060018260a0015161062891906153a6565b67ffffffffffffffff169050600160009054906101000a90046001600160a01b03166001600160a01b031663ae2a6df26040518163ffffffff1660e01b815260040160006040518083038186803b15801561068257600080fd5b505afa158015610696573d6000803e3d6000fd5b505050506000806000806106b485600461203490919063ffffffff16565b909250905060006106cb6080890160608a016153ce565b6001600160a01b031663b02bd9206040518163ffffffff1660e01b8152600401602060405180830381865afa158015610708573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061072c91906153eb565b67ffffffffffffffff16905061271061ffff8416820204818860c0015167ffffffffffffffff16030194506127108261ffff1682028161076e5761076e615406565b04850193508342116107ac576040517f038d8a6a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8660c0015167ffffffffffffffff1642106107f3576040517f08c8d62700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050843560009081526006602052604080822060015491517fcdfda4dd000000000000000000000000000000000000000000000000000000008152600481018690529092916001600160a01b03169063edb8ee5a90829063cdfda4dd90602401602060405180830381865afa158015610871573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108959190615435565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b16815265ffffffffffff9091166004820152602401602060405180830381865afa1580156108f0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610914919061545d565b600183015460028401549192506fffffffffffffffffffffffffffffffff7001000000000000000000000000000000009182900481169291820481169116600061095f60038a6121cd565b9150506000610975868361ffff166127106122d8565b905080856fffffffffffffffffffffffffffffffff1610156109e3576040517fbfb9aa550000000000000000000000000000000000000000000000000000000081526fffffffffffffffffffffffffffffffff86166004820152602481018290526044015b60405180910390fd5b836fffffffffffffffffffffffffffffffff16856fffffffffffffffffffffffffffffffff1611610a5c576040517f8a0df63f0000000000000000000000000000000000000000000000000000000081526fffffffffffffffffffffffffffffffff8087166004830152851660248201526044016109da565b6000610a7b8d6060016020810190610a7491906153ce565b600061231c565b905060008054906101000a90046001600160a01b03166001600160a01b03166394004706828f6040518363ffffffff1660e01b8152600401610abe9291906155b2565b6020604051808303816000875af1158015610add573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b0191906155e8565b50604080518e3581526fffffffffffffffffffffffffffffffff808916602083015280881692820192909252908516606082015260ff82169033907ff5bc433f16cc3d0e9fcb5ac4f8de9f17eb90de1fd2a9ede5952c2097d4ef1a59906080015b60405180910390a350505050505050505050505050565b600080610b87600484612034565b91509150915091565b6000610ba0338787878787612612565b9695505050505050565b60008054906101000a90046001600160a01b03166001600160a01b031663c34c08e56040518163ffffffff1660e01b8152600401602060405180830381865afa158015610bfb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c1f9190615603565b6001600160a01b0316336001600160a01b031614610c69576040517f26bee1ce00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610c7281612c5e565b50565b6000610c818686612e2e565b6040805160008082526020820180845284905260ff88169282019290925260608101869052608081018590529192509060019060a0016020604051602081039080840390855afa158015610cd9573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001519150506001600160a01b0381161580610d2c5750866001600160a01b0316816001600160a01b031614155b15610d63576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610d6d8187612f50565b50505050505050565b60408051602081019091526060815281831115610dbf576040517f2cd4dad300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60045480831115610dfc576040517f2cd4dad300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610e088585615620565b905060008167ffffffffffffffff811115610e2557610e25614d65565b604051908082528060200260200182016040528015610e8e57816020015b60408051606081018252600080825260208083018290529282015282527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff909201910181610e435790505b509050855b85811015610f34576004805482908110610eaf57610eaf615633565b600091825260209182902060408051606081018252919092015465ffffffffffff8116825261ffff660100000000000082048116948301949094526801000000000000000090049092169082015282610f088984615620565b81518110610f1857610f18615633565b6020026020010181905250610f2d8160010190565b9050610e93565b506040805160208101909152908152925050505b92915050565b600080610f5b6004613063565b915091509091565b60008054906101000a90046001600160a01b03166001600160a01b031663c34c08e56040518163ffffffff1660e01b8152600401602060405180830381865afa158015610fb4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fd89190615603565b6001600160a01b0316336001600160a01b031614611022576040517f26bee1ce00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61102c82826130db565b5050565b6000610ba03387878787876131cf565b60008115611077575060008381526006602090815260408083206001600160a01b038616845260030190915290205460ff166110a2565b5060008381526006602090815260408083206001600160a01b038616845260040190915290205460ff165b9392505050565b6040805160208101909152606081526040805160048054602081810284018501855283018181529293919284929091849160009085015b8282101561113f576000848152602090819020604080516060810182529185015465ffffffffffff8116835261ffff660100000000000082048116848601526801000000000000000090910416908201528252600190920191016110e0565b5050505081525050905090565b60008061115f8d8d8d8d8d8d8d8d613714565b6040805160008082526020820180845284905260ff89169282019290925260608101879052608081018690529192509060019060a0016020604051602081039080840390855afa1580156111b7573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001519150506001600160a01b038116158061120a57508d6001600160a01b0316816001600160a01b031614155b15611241576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611251818e8e8e8e8e8e8e613885565b9e9d5050505050505050505050505050565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000810460ff16159067ffffffffffffffff166000811580156112ae5750825b905060008267ffffffffffffffff1660011480156112cb5750303b155b9050811580156112d9575080155b15611310576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b84547fffffffffffffffffffffffffffffffffffffffffffffffff000000000000000016600117855583156113715784547fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff16680100000000000000001785555b886001600160a01b0316639bccfe496040518163ffffffff1660e01b8152600401602060405180830381865afa1580156113af573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113d3919061545d565b50600080546001600160a01b03808c167fffffffffffffffffffffffff00000000000000000000000000000000000000009283161790925560018054928b169290911691909117905561142587612c5e565b611437866000015187602001516130db565b61144986604001518760600151613b89565b83156114aa5784547fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b505050505050505050565b6000806114c68b8b8b8b8b8b613c26565b6040805160008082526020820180845284905260ff89169282019290925260608101879052608081018690529192509060019060a0016020604051602081039080840390855afa15801561151e573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001519150506001600160a01b038116158061157157508b6001600160a01b0316816001600160a01b031614155b156115a8576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6115b6818c8c8c8c8c6131cf565b9c9b505050505050505050505050565b6000806115d78b8b8b8b8b8b613d84565b6040805160008082526020820180845284905260ff89169282019290925260608101879052608081018690529192509060019060a0016020604051602081039080840390855afa15801561162f573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001519150506001600160a01b038116158061168257508b6001600160a01b0316816001600160a01b031614155b156116b9576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6115b6818c8c8c8c8c612612565b600061170f338a8a8a8a8a8a8a8a8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061388592505050565b9998505050505050505050565b610c723382612f50565b60008054906101000a90046001600160a01b03166001600160a01b031663c34c08e56040518163ffffffff1660e01b8152600401602060405180830381865afa158015611777573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061179b9190615603565b6001600160a01b0316336001600160a01b0316146117e5576040517f26bee1ce00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61102c8282613b89565b600080610f5b6003613063565b604080516020810190915260608152604080516003805460208082028401850185528301818152929391928492909184916000908501821561113f576000848152602090819020604080516060810182529185015465ffffffffffff8116835261ffff660100000000000082048116848601526801000000000000000090910416908201528252600190920191016110e0565b604080516020810190915260608152818311156118d8576040517f2cd4dad300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60035480831115611915576040517f2cd4dad300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006119218585615620565b905060008167ffffffffffffffff81111561193e5761193e614d65565b6040519080825280602002602001820160405280156119a757816020015b60408051606081018252600080825260208083018290529282015282527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90920191018161195c5790505b509050855b85811015610f345760038054829081106119c8576119c8615633565b600091825260209182902060408051606081018252919092015465ffffffffffff8116825261ffff660100000000000082048116948301949094526801000000000000000090049092169082015282611a218984615620565b81518110611a3157611a31615633565b6020026020010181905250611a468160010190565b90506119ac565b600080546040517fb6e76873000000000000000000000000000000000000000000000000000000008152833560048201526001600160a01b039091169063b6e768739060240161012060405180830381865afa158015611ab1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ad591906152c8565b9050600060018260a00151611aea91906153a6565b67ffffffffffffffff169050600160009054906101000a90046001600160a01b03166001600160a01b031663ae2a6df26040518163ffffffff1660e01b815260040160006040518083038186803b158015611b4457600080fd5b505afa158015611b58573d6000803e3d6000fd5b50505050600080600080611b7685600461203490919063ffffffff16565b90925090506000611b8d6080890160608a016153ce565b6001600160a01b0316637999762c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611bca573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bee91906153eb565b67ffffffffffffffff16905061271061ffff84168202048760a0015167ffffffffffffffff160194506127108261ffff16820281611c2e57611c2e615406565b0485019350834211611c6c576040517f038d8a6a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b808760a0015167ffffffffffffffff16611c869190615662565b421115611cbf576040517f08c8d62700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050843560009081526006602052604080822060015491517fcdfda4dd000000000000000000000000000000000000000000000000000000008152600481018690529092916001600160a01b03169063edb8ee5a90829063cdfda4dd90602401602060405180830381865afa158015611d3d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d619190615435565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b16815265ffffffffffff9091166004820152602401602060405180830381865afa158015611dbc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611de0919061545d565b825460018401549192506fffffffffffffffffffffffffffffffff808216928116917001000000000000000000000000000000009004166000611e2460038a6121cd565b5090506000611e3a868361ffff166127106122d8565b905080856fffffffffffffffffffffffffffffffff161015611ea3576040517f0425fab10000000000000000000000000000000000000000000000000000000081526fffffffffffffffffffffffffffffffff86166004820152602481018290526044016109da565b836fffffffffffffffffffffffffffffffff16856fffffffffffffffffffffffffffffffff1611611f1c576040517f8a0df63f0000000000000000000000000000000000000000000000000000000081526fffffffffffffffffffffffffffffffff8087166004830152851660248201526044016109da565b6000611f3b8d6060016020810190611f3491906153ce565b600161231c565b905060008054906101000a90046001600160a01b03166001600160a01b03166389e7d126828f6040518363ffffffff1660e01b8152600401611f7e9291906155b2565b6020604051808303816000875af1158015611f9d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fc191906155e8565b50604080518e3581526fffffffffffffffffffffffffffffffff808916602083015280881692820192909252908516606082015260ff82169033907ff23279e924757f3bfe4f543bc1b43685e851d6ace53f8518b806dcd8d42fc13990608001610b62565b600080610b876003846121cd565b6000804283106120c6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f506572696f64506374436865636b706f696e74733a2074696d657374616d702060448201527f6973206e6f7420696e207468652070617374000000000000000000000000000060648201526084016109da565b60006120d184613db3565b855490915060008160058111156121315760006120ed84613dfc565b6120f79085615620565b60008a81526020902090915081015465ffffffffffff90811690861610156121215780915061212f565b61212c816001615662565b92505b505b600061213f89868585613eae565b90508060000361215a576000809650965050505050506121c6565b60006121798a61216b600185615620565b600091825260209091200190565b60408051606081018252915465ffffffffffff8116835261ffff66010000000000008204811660208501819052680100000000000000009092041692909101829052985096505050505050505b9250929050565b60008042831061225f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602f60248201527f51756f72756d436865636b706f696e74733a2074696d657374616d702069732060448201527f6e6f7420696e207468652070617374000000000000000000000000000000000060648201526084016109da565b600061226a84613db3565b855490915060008160058111156122ca57600061228684613dfc565b6122909085615620565b60008a81526020902090915081015465ffffffffffff90811690861610156122ba578091506122c8565b6122c5816001615662565b92505b505b600061213f89868585613f10565b6000827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048411830215820261230d57600080fd5b50910281810615159190040190565b60008054604080517f0505c8c9000000000000000000000000000000000000000000000000000000008152905183926001600160a01b031691630505c8c99160048083019260209291908290030181865afa15801561237f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123a39190615603565b6001600160a01b0316638b2ed3886040518163ffffffff1660e01b8152600401602060405180830381865afa1580156123e0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124049190615675565b905060015b8160ff16811161253b57836124a1576040517fc167ebae00000000000000000000000000000000000000000000000000000000815260ff821660048201526001600160a01b0386169063c167ebae90602401602060405180830381865afa158015612478573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061249c9190615692565b612525565b6040517ffb847c4300000000000000000000000000000000000000000000000000000000815260ff821660048201526001600160a01b0386169063fb847c4390602401602060405180830381865afa158015612501573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125259190615692565b15612533579150610f489050565b600101612409565b50826125a857836001600160a01b03166312a52f006040518163ffffffff1660e01b8152600401602060405180830381865afa15801561257f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125a39190615675565b61260a565b836001600160a01b03166366cacdc96040518163ffffffff1660e01b8152600401602060405180830381865afa1580156125e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061260a9190615675565b949350505050565b600080546040517fb6e768730000000000000000000000000000000000000000000000000000000081528635600482015282916001600160a01b03169063b6e768739060240161012060405180830381865afa158015612676573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061269a91906152c8565b9050600060018260a001516126af91906153a6565b8735600090815260066020526040902067ffffffffffffffff9190911691506126de6080890160608a016153ce565b6001600160a01b03166302674e4b89308c6040518463ffffffff1660e01b815260040161270d939291906156af565b60006040518083038186803b15801561272557600080fd5b505afa158015612739573d6000803e3d6000fd5b505050506001600160a01b038a16600090815260048201602052604090205460ff1615612792576040517f9dd6544b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6127a0888a89600486613f6a565b60008080806127b0600487612034565b909250905060006127c760808e0160608f016153ce565b6001600160a01b031663b02bd9206040518163ffffffff1660e01b8152600401602060405180830381865afa158015612804573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061282891906153eb565b67ffffffffffffffff16905061271061ffff8416820204818960c0015167ffffffffffffffff16030194506127108261ffff1682028161286a5761286a615406565b04850193508442116128a8576040517fd0b72b4900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b834211156128e2576040517f5b73d19300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050506000612a25600160009054906101000a90046001600160a01b03166001600160a01b0316639556de738f600160009054906101000a90046001600160a01b03166001600160a01b031663cdfda4dd886040518263ffffffff1660e01b815260040161295291815260200190565b602060405180830381865afa15801561296f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906129939190615435565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b1681526001600160a01b03909216600483015265ffffffffffff166024820152604401602060405180830381865afa1580156129fc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a20919061545d565b61425e565b905060ff8a16612a9e576002840154612a649070010000000000000000000000000000000090046fffffffffffffffffffffffffffffffff16826142ad565b6002850180546fffffffffffffffffffffffffffffffff928316700100000000000000000000000000000000029216919091179055612bc6565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60ff8b1601612b37576001840154612afd9070010000000000000000000000000000000090046fffffffffffffffffffffffffffffffff16826142ad565b6001850180546fffffffffffffffffffffffffffffffff928316700100000000000000000000000000000000029216919091179055612bc6565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe60ff8b1601612bc6576002840154612b82906fffffffffffffffffffffffffffffffff16826142ad565b6002850180547fffffffffffffffffffffffffffffffff00000000000000000000000000000000166fffffffffffffffffffffffffffffffff929092169190911790555b6001600160a01b038d1660008181526004860160205260409081902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790555160ff8c1691907f4e3e2ad68670a2709cb408c31c5afd8da0b6d3d06c75b11feb404a455639fe7c90612c46908f359086908f908f90615713565b60405180910390a39c9b505050505050505050505050565b60018054604080517f91ddadf400000000000000000000000000000000000000000000000000000000815290516000936001600160a01b039093169263edb8ee5a92909184916391ddadf49160048083019260209291908290030181865afa158015612cce573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612cf29190615435565b612cfc9190615745565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b16815265ffffffffffff9091166004820152602401602060405180830381865afa158015612d57573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612d7b919061545d565b905080600003612db7576040517f34bbd58500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80821115612df1576040517f8a5e746800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60028290556040518281527fd91a985c173545ab0e0bd11c021a1ae84c1ea6eab9350d9bf3812d5b8bff49a4906020015b60405180910390a15050565b6000807f6da9390b4f29da2c44fa5a9da00b392393d01e989d16e4a3dec5a538318e352584612e5c856142f4565b6001600160a01b03871660009081526007602090815260408083207fffffffff00000000000000000000000000000000000000000000000000000000843516845290915290208054600181019091556040805160208101959095526001600160a01b03909316928401929092526060830152608082015260a001604051602081830303815290604052805190602001209050612ef66143eb565b6040517f190100000000000000000000000000000000000000000000000000000000000060208201526022810191909152604281018290526062016040516020818303038152906040528051906020012091505092915050565b80356000908152600560205260409020546001600160a01b03838116911614612fa5576040517f86ba025600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000546040517fb92cdd9a0000000000000000000000000000000000000000000000000000000081526001600160a01b039091169063b92cdd9a90612fee908490600401615764565b600060405180830381600087803b15801561300857600080fd5b505af115801561301c573d6000803e3d6000fd5b5050604051833581526001600160a01b03851692507fdcccc5725b7256a6975da00de8953e5d326756a3079d203ff6df9e52331f411a915060200160405180910390a25050565b8054600090819080820361307d5750600093849350915050565b600061308e8561216b600185615620565b60408051606081018252915465ffffffffffff8116835261ffff66010000000000008204811660208501819052680100000000000000009092041692909101829052969095509350505050565b6127108261ffff1611806130f1575061ffff8216155b1561312e576040517f8f6febc000000000000000000000000000000000000000000000000000000000815261ffff831660048201526024016109da565b6127108161ffff161180613144575061ffff8116155b15613181576040517f3bec511c00000000000000000000000000000000000000000000000000000000815261ffff821660048201526024016109da565b613194600361ffff80851690841661454d565b6040805161ffff8085168252831660208201527f77c3f43700db02acb49792bbf699b39f72c2ed4b920bd5c0b1843dcd7c832f4c9101612e22565b600080546040517fb6e768730000000000000000000000000000000000000000000000000000000081528635600482015282916001600160a01b03169063b6e768739060240161012060405180830381865afa158015613233573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061325791906152c8565b9050600060018260a0015161326c91906153a6565b8735600090815260066020526040902067ffffffffffffffff91909116915061329b6080890160608a016153ce565b6001600160a01b0316631a2a4e7789308c6040518463ffffffff1660e01b81526004016132ca939291906156af565b60006040518083038186803b1580156132e257600080fd5b505afa1580156132f6573d6000803e3d6000fd5b505050506001600160a01b038a16600090815260038201602052604090205460ff161561334f576040517f9dd6544b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61335d888a89600086613f6a565b600080808061336d600487612034565b9092509050600061338460808e0160608f016153ce565b6001600160a01b0316637999762c6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156133c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906133e591906153eb565b67ffffffffffffffff16905061271061ffff84168202048860a0015167ffffffffffffffff160194506127108261ffff1682028161342557613425615406565b0485019350844211613463576040517fd0b72b4900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8342111561349d576040517f5b73d19300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050600061350d600160009054906101000a90046001600160a01b03166001600160a01b0316639556de738f600160009054906101000a90046001600160a01b03166001600160a01b031663cdfda4dd886040518263ffffffff1660e01b815260040161295291815260200190565b905060ff8a16613580576001840154613538906fffffffffffffffffffffffffffffffff16826142ad565b6001850180547fffffffffffffffffffffffffffffffff00000000000000000000000000000000166fffffffffffffffffffffffffffffffff92909216919091179055613694565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60ff8b16016136095783546135c8906fffffffffffffffffffffffffffffffff16826142ad565b84547fffffffffffffffffffffffffffffffff00000000000000000000000000000000166fffffffffffffffffffffffffffffffff91909116178455613694565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe60ff8b16016136945783546136659070010000000000000000000000000000000090046fffffffffffffffffffffffffffffffff16826142ad565b84546fffffffffffffffffffffffffffffffff9182167001000000000000000000000000000000000291161784555b6001600160a01b038d1660008181526003860160205260409081902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790555160ff8c1691907f761cce3a1af5d9cfc0d57222f605ce4bd2be345f0ad9ebb7b83a84a91a0c201490612c46908f359086908f908f90615713565b6001600160a01b03881660009081526007602090815260408083207fffffffff000000000000000000000000000000000000000000000000000000008435168452909152812080546001810190915560007fd1fab1c7b3b37134662e5867b00e272eb49f7be0a890df29e802c3cc66c06f838b8b8b8b8b8b8b60405161379b929190615777565b604080519182900382208c516020808f0191909120908401999099526001600160a01b039788169183019190915260ff90951660608201529285166080840152931660a082015260c081019290925260e08201526101008101919091526101208101839052610140016040516020818303038152906040528051906020012090506138246143eb565b6040517f19010000000000000000000000000000000000000000000000000000000000006020820152602281019190915260428101829052606201604051602081830303815290604052805190602001209250505098975050505050505050565b600154604080517fae2a6df200000000000000000000000000000000000000000000000000000000815290516000926001600160a01b03169163ae2a6df29160048083019286929190829003018186803b1580156138e257600080fd5b505afa1580156138f6573d6000803e3d6000fd5b505060018054604080517f91ddadf40000000000000000000000000000000000000000000000000000000081529051600095506001600160a01b039092169350639556de73928e92909185916391ddadf4916004808201926020929091908290030181865afa15801561396d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906139919190615435565b61399b9190615745565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b1681526001600160a01b03909216600483015265ffffffffffff166024820152604401602060405180830381865afa158015613a04573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613a28919061545d565b9050600254811015613a69576040517f92665351000000000000000000000000000000000000000000000000000000008152600481018290526024016109da565b6000546040517fb3c678b00000000000000000000000000000000000000000000000000000000081526001600160a01b039091169063b3c678b090613abe908c908c908c908c908c908c908c906004016157ab565b6020604051808303816000875af1158015613add573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613b01919061545d565b60008181526005602090815260409182902080547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b038f16908117909155915183815292945090917f1834dfd49255741a8ce9a9bd66b91b64d13622e1d8170e4c78ac91f9ec50a542910160405180910390a25098975050505050505050565b612710613b96828461583b565b61ffff1610613bdf576040517f519dd38400000000000000000000000000000000000000000000000000000000815261ffff8084166004830152821660248201526044016109da565b613beb60048383614576565b6040805161ffff8085168252831660208201527f8df7bdcce333d9e1b85e40782fb2f293c805761d3f48aaea58865e9541e44c709101612e22565b6000807fd7be168a3509af358f222ee35ee76aba47bc5fc2c35061cdce3958f510b7b1b28888613c55896142f4565b888888604051613c66929190615777565b60408051918290039091206001600160a01b038f166000908152600760209081528382207fffffffff0000000000000000000000000000000000000000000000000000000083351683529052919091208054600181019091556040805160208101989098526001600160a01b039096169587019590955260ff938416606087015260808601929092529190911660a084015260c083015260e082015261010001604051602081830303815290604052805190602001209050613d266143eb565b6040517f19010000000000000000000000000000000000000000000000000000000000006020820152602281019190915260428101829052606201604051602081830303815290604052805190602001209150509695505050505050565b6000807fa87058c5a9888e7af4405a932381d5a4612c61354bc3e52e9ea361ba17703fb38888613c55896142f4565b600065ffffffffffff821115613df8576040517fc0188c4f000000000000000000000000000000000000000000000000000000008152600481018390526024016109da565b5090565b60b581710100000000000000000000000000000000008110613e235760409190911b9060801c5b69010000000000000000008110613e3f5760209190911b9060401c5b650100000000008110613e575760109190911b9060201c5b63010000008110613e6d5760089190911b9060101c5b62010000010260121c80820401600190811c80830401811c80830401811c80830401811c80830401811c80830401811c80830401901c908190048111900390565b60005b81831015613f08576000613ec584846145a2565b60008781526020902090915065ffffffffffff86169082015465ffffffffffff161115613ef457809250613f02565b613eff816001615662565b93505b50613eb1565b509392505050565b60005b81831015613f08576000613f2784846145a2565b60008781526020902090915065ffffffffffff86169082015465ffffffffffff161115613f5657809250613f64565b613f61816001615662565b93505b50613f13565b600260ff84161115613fad576040517ffe0e5d8b00000000000000000000000000000000000000000000000000000000815260ff841660048201526024016109da565b600080546040517fec12d8be0000000000000000000000000000000000000000000000000000000081526001600160a01b039091169063ec12d8be90613ff7908990600401615764565b602060405180830381865afa158015614014573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906140389190615675565b60ff16600681111561404c5761404c6156e4565b9050826006811115614060576140606156e4565b816006811115614072576140726156e4565b146140ab57806040517f87afe58e0000000000000000000000000000000000000000000000000000000081526004016109da9190615856565b60008060009054906101000a90046001600160a01b03166001600160a01b0316630505c8c96040518163ffffffff1660e01b8152600401602060405180830381865afa1580156140ff573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906141239190615603565b6040517fe0bec07600000000000000000000000000000000000000000000000000000000815230600482015260ff88166024820152604481018590526001600160a01b03919091169063e0bec07690606401602060405180830381865afa158015614192573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906141b69190615692565b9050806141ef576040517f88aebd1200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600160009054906101000a90046001600160a01b03166001600160a01b031663ae2a6df26040518163ffffffff1660e01b815260040160006040518083038186803b15801561423d57600080fd5b505afa158015614251573d6000803e3d6000fd5b5050505050505050505050565b60006fffffffffffffffffffffffffffffffff821115613df8576040517fc0188c4f000000000000000000000000000000000000000000000000000000008152600481018390526024016109da565b60006fffffffffffffffffffffffffffffffff6142ce838216858316615662565b106142ea57506fffffffffffffffffffffffffffffffff610f48565b6110a28284615897565b60007f86b4555c6e347ea3f038485b59b894986c208b67da7e65fcfa3707271608465f823561432960408501602086016153ce565b61433960608601604087016158c0565b61434960808701606088016153ce565b61435960a08801608089016153ce565b60a088013561436b60c08a018a6158dd565b604051614379929190615777565b6040805191829003822060208301999099528101969096526001600160a01b03948516606087015260ff909316608086015290831660a08501529190911660c083015260e082015261010081019190915261012001604051602081830303815290604052805190602001209050919050565b60008054604080517f06fdde0300000000000000000000000000000000000000000000000000000000815290517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f926001600160a01b0316916306fdde0391600480830192879291908290030181865afa15801561446d573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526144b39190810190615942565b8051602091820120604080518082018252600181527f310000000000000000000000000000000000000000000000000000000000000090840152805192830193909352918101919091527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a082015260c00160405160208183030381529060405280519060200120905090565b6145718361455a42613db3565b614563856145bd565b61456c856145bd565b6145fe565b505050565b6145718361458342613db3565b6145908561ffff166145bd565b61459d8561ffff166145bd565b614909565b60006145b160028484186159b0565b6110a290848416615662565b600061ffff821115613df8576040517fc0188c4f000000000000000000000000000000000000000000000000000000008152600481018390526024016109da565b835480156148475760006146178661216b600185615620565b60408051606081018252915465ffffffffffff80821680855261ffff66010000000000008404811660208701526801000000000000000090930490921692840192909252919250861610156146ed576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f51756f72756d20436865636b706f696e743a20696e76616c69642074696d657360448201527f74616d700000000000000000000000000000000000000000000000000000000060648201526084016109da565b805165ffffffffffff8087169116036147865760006147118761216b600186615620565b805461ffff86811668010000000000000000027fffffffffffffffffffffffffffffffffffffffffffff0000ffffffffffffffff918916660100000000000002919091167fffffffffffffffffffffffffffffffffffffffffffff00000000ffffffffffff9092169190911717905550614841565b6040805160608101825265ffffffffffff808816825261ffff80881660208085019182528883169585019586528b54600181018d5560008d81529190912094519401805491519551831668010000000000000000027fffffffffffffffffffffffffffffffffffffffffffff0000ffffffffffffffff969093166601000000000000027fffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000909216949093169390931792909217929092161790555b50614902565b6040805160608101825265ffffffffffff808716825261ffff80871660208085019182528783169585019586528a54600181018c5560008c81529190912094519401805491519551831668010000000000000000027fffffffffffffffffffffffffffffffffffffffffffff0000ffffffffffffffff969093166601000000000000027fffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000909216949093169390931792909217929092161790555b5050505050565b835480156148475760006149228661216b600185615620565b60408051606081018252915465ffffffffffff80821680855261ffff66010000000000008404811660208701526801000000000000000090930490921692840192909252919250861610156146ed576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602860248201527f506572696f642050637420436865636b706f696e743a20696e76616c6964207460448201527f696d657374616d7000000000000000000000000000000000000000000000000060648201526084016109da565b600060e08284031215614a0b57600080fd5b50919050565b600060208284031215614a2357600080fd5b813567ffffffffffffffff811115614a3a57600080fd5b61260a848285016149f9565b600060208284031215614a5857600080fd5b5035919050565b60ff81168114610c7257600080fd5b8035614a7981614a5f565b919050565b60008083601f840112614a9057600080fd5b50813567ffffffffffffffff811115614aa857600080fd5b6020830191508360208285010111156121c657600080fd5b600080600080600060808688031215614ad857600080fd5b8535614ae381614a5f565b9450602086013567ffffffffffffffff80821115614b0057600080fd5b614b0c89838a016149f9565b955060408801359150614b1e82614a5f565b90935060608701359080821115614b3457600080fd5b50614b4188828901614a7e565b969995985093965092949392505050565b80357fffffffff0000000000000000000000000000000000000000000000000000000081168114614a7957600080fd5b600060208284031215614b9457600080fd5b6110a282614b52565b6001600160a01b0381168114610c7257600080fd5b8035614a7981614b9d565b600080600080600060a08688031215614bd557600080fd5b8535614be081614b9d565b9450602086013567ffffffffffffffff811115614bfc57600080fd5b614c08888289016149f9565b9450506040860135614c1981614a5f565b94979396509394606081013594506080013592915050565b60008060408385031215614c4457600080fd5b50508035926020909101359150565b60208082528251828201829052805160408401819052600092916060919083019082860190855b81811015614cc357614cb3838551805165ffffffffffff16825260208082015161ffff9081169184019190915260409182015116910152565b9285019291840191600101614c7a565b5090979650505050505050565b803561ffff81168114614a7957600080fd5b60008060408385031215614cf557600080fd5b614cfe83614cd0565b9150614d0c60208401614cd0565b90509250929050565b8015158114610c7257600080fd5b600080600060608486031215614d3857600080fd5b833592506020840135614d4a81614b9d565b91506040840135614d5a81614d15565b809150509250925092565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051610120810167ffffffffffffffff81118282101715614db857614db8614d65565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715614e0557614e05614d65565b604052919050565b600067ffffffffffffffff821115614e2757614e27614d65565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b600082601f830112614e6457600080fd5b8135614e77614e7282614e0d565b614dbe565b818152846020838601011115614e8c57600080fd5b816020850160208301376000918101602001919091529392505050565b60008060008060008060008060008060006101408c8e031215614ecb57600080fd5b614ed48c614bb2565b9a50614ee260208d01614a6e565b9950614ef060408d01614bb2565b9850614efe60608d01614bb2565b975060808c0135965067ffffffffffffffff8060a08e01351115614f2157600080fd5b614f318e60a08f01358f01614a7e565b909750955060c08d0135811015614f4757600080fd5b50614f588d60c08e01358e01614e53565b9350614f6660e08d01614a6e565b92506101008c013591506101208c013590509295989b509295989b9093969950565b60008060008084860360e0811215614f9f57600080fd5b8535614faa81614b9d565b94506020860135614fba81614b9d565b93506040860135925060807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa082011215614ff357600080fd5b506040516080810181811067ffffffffffffffff8211171561501757615017614d65565b60405261502660608701614cd0565b815261503460808701614cd0565b602082015261504560a08701614cd0565b604082015261505660c08701614cd0565b6060820152939692955090935050565b60008060008060008060008060006101008a8c03121561508557600080fd5b893561509081614b9d565b985060208a01356150a081614a5f565b975060408a013567ffffffffffffffff808211156150bd57600080fd5b6150c98d838e016149f9565b985060608c013591506150db82614a5f565b90965060808b013590808211156150f157600080fd5b506150fe8c828d01614a7e565b90965094505060a08a013561511281614a5f565b8093505060c08a0135915060e08a013590509295985092959850929598565b60008060008060008060008060c0898b03121561514d57600080fd5b883561515881614a5f565b9750602089013561516881614b9d565b9650604089013561517881614b9d565b955060608901359450608089013567ffffffffffffffff8082111561519c57600080fd5b6151a88c838d01614a7e565b909650945060a08b01359150808211156151c157600080fd5b506151ce8b828c01614a7e565b999c989b5096995094979396929594505050565b600080604083850312156151f557600080fd5b823561520081614b9d565b9150614d0c60208401614b52565b60208082528251828201829052805160408401819052600092916060919083019082860190855b81811015614cc35761526e838551805165ffffffffffff16825260208082015161ffff9081169184019190915260409182015116910152565b9285019291840191600101615235565b8051614a7981614d15565b8051614a7981614b9d565b805167ffffffffffffffff81168114614a7957600080fd5b80516bffffffffffffffffffffffff81168114614a7957600080fd5b600061012082840312156152db57600080fd5b6152e3614d94565b825181526152f36020840161527e565b60208201526153046040840161527e565b60408201526153156060840161527e565b606082015261532660808401615289565b608082015261533760a08401615294565b60a082015261534860c08401615294565b60c082015261535960e084016152ac565b60e082015261010061536c8185016152ac565b908201529392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b67ffffffffffffffff8281168282160390808211156153c7576153c7615377565b5092915050565b6000602082840312156153e057600080fd5b81356110a281614b9d565b6000602082840312156153fd57600080fd5b6110a282615294565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006020828403121561544757600080fd5b815165ffffffffffff811681146110a257600080fd5b60006020828403121561546f57600080fd5b5051919050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b80358252600060208201356154d381614b9d565b6001600160a01b0390811660208501526040830135906154f282614a5f565b60ff821660408601526060840135915061550b82614b9d565b908116606085015260808301359061552282614b9d565b16608084015260a0828101359084015260c0820135368390037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe101811261556857600080fd5b820160208101903567ffffffffffffffff81111561558557600080fd5b80360382131561559457600080fd5b60e060c08601526155a960e086018284615476565b95945050505050565b60ff831681526060602082015260006155ce60608301846154bf565b828103604084015260008152602081019150509392505050565b6000602082840312156155fa57600080fd5b6110a2826152ac565b60006020828403121561561557600080fd5b81516110a281614b9d565b81810381811115610f4857610f48615377565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b80820180821115610f4857610f48615377565b60006020828403121561568757600080fd5b81516110a281614a5f565b6000602082840312156156a457600080fd5b81516110a281614d15565b6060815260006156c260608301866154bf565b90506001600160a01b038416602083015260ff83166040830152949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b8481526fffffffffffffffffffffffffffffffff84166020820152606060408201526000610ba0606083018486615476565b65ffffffffffff8281168282160390808211156153c7576153c7615377565b6020815260006110a260208301846154bf565b8183823760009101908152919050565b60005b838110156157a257818101518382015260200161578a565b50506000910152565b60ff8816815260006001600160a01b03808916602084015280881660408401525085606083015260c060808301526157e760c083018587615476565b82810360a08401528351808252615805816020840160208801615787565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016016020019998505050505050505050565b61ffff8181168382160190808211156153c7576153c7615377565b6020810160078310615891577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b91905290565b6fffffffffffffffffffffffffffffffff8181168382160190808211156153c7576153c7615377565b6000602082840312156158d257600080fd5b81356110a281614a5f565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261591257600080fd5b83018035915067ffffffffffffffff82111561592d57600080fd5b6020019150368190038213156121c657600080fd5b60006020828403121561595457600080fd5b815167ffffffffffffffff81111561596b57600080fd5b8201601f8101841361597c57600080fd5b805161598a614e7282614e0d565b81815285602083850101111561599f57600080fd5b6155a9826020830160208601615787565b6000826159e6577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b50049056fea164736f6c6343000817000a", + "nonce": "0x0", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x69cc85032858f025368562fe1bcb0b1408879f092eff2a06cff566b845854094", + "transactionType": "CREATE", + "contractName": "LlamaTokenVotingFactory", + "contractAddress": "0xFBE17545dffD75A92A5A72926AE581478973FE65", + "function": null, + "arguments": [ + "0x3f3DAB3ab8cEc2FBd06767c2A5F66Cb6BFF21A4A" + ], + "transaction": { + "type": "0x02", + "from": "0xb72276d9ff15c7998b9962ffcfb21a6c7249441b", + "gas": "0xc9127", + "value": "0x0", + "data": "0x60a060405234801561001057600080fd5b50604051610b16380380610b1683398101604081905261002f91610040565b6001600160a01b0316608052610070565b60006020828403121561005257600080fd5b81516001600160a01b038116811461006957600080fd5b9392505050565b608051610a8561009160003960008181604001526104390152610a856000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c806321618ea41461003b5780633ec857a51461008b575b600080fd5b6100627f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b61006261009936600461087b565b600080338360000151846040015185606001516040516020016100bf9493929190610959565b60405160208183030381529060405280519060200120905060006100e7846020015183610622565b60408086015190517f439fab9100000000000000000000000000000000000000000000000000000000815291925073ffffffffffffffffffffffffffffffffffffffff83169163439fab919161013f916004016109b9565b6020604051808303816000875af115801561015e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101829190610a0a565b50600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1663fc0c546a6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156101e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061020a9190610a33565b73ffffffffffffffffffffffffffffffffffffffff1603610257576040517f65f5b03400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517fcdfda4dd00000000000000000000000000000000000000000000000000000000815242600482015273ffffffffffffffffffffffffffffffffffffffff82169063cdfda4dd90602401602060405180830381865afa1580156102c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102e59190610a50565b65ffffffffffff16600003610326576040517f65f5b03400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff166391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865afa158015610371573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103959190610a50565b65ffffffffffff166000036103d6576040517f65f5b03400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1663ae2a6df26040518163ffffffff1660e01b815260040160006040518083038186803b15801561041c57600080fd5b505afa158015610430573d6000803e3d6000fd5b5050505061045e7f000000000000000000000000000000000000000000000000000000000000000083610622565b8451608086015160a0870151604080517f8734852a00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff948516600482015286851660248201526044810193909352815161ffff908116606485015260208301518116608485015290820151811660a48401526060909101511660c4820152919450841690638734852a9060e401600060405180830381600087803b15801561051757600080fd5b505af115801561052b573d6000803e3d6000fd5b505050508073ffffffffffffffffffffffffffffffffffffffff1663fc0c546a6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561057a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061059e9190610a33565b84516020808701516060808901516040805173ffffffffffffffffffffffffffffffffffffffff94851681528885169581019590955284015287821690830152466080830152928316929091169033907f4c8bb78cb1c62e64cef39fc4b4a1864d1a331a28c7bd59a67fe969cc8ab715879060a00160405180910390a45050919050565b6000763d602d80600a3d3981f3363d3d373d3d3d363d730000008360601b60e81c176000526e5af43d82803e903d91602b57fd5bf38360781b1760205281603760096000f5905073ffffffffffffffffffffffffffffffffffffffff81166106b6576040517fc2f868f400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405160c0810167ffffffffffffffff8111828210171561070e5761070e6106bc565b60405290565b73ffffffffffffffffffffffffffffffffffffffff8116811461073657600080fd5b50565b600082601f83011261074a57600080fd5b813567ffffffffffffffff80821115610765576107656106bc565b604051601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011681019082821181831017156107ab576107ab6106bc565b816040528381528660208588010111156107c457600080fd5b836020870160208301376000602085830101528094505050505092915050565b803561ffff811681146107f657600080fd5b919050565b60006080828403121561080d57600080fd5b6040516080810181811067ffffffffffffffff82111715610830576108306106bc565b60405290508061083f836107e4565b815261084d602084016107e4565b602082015261085e604084016107e4565b604082015261086f606084016107e4565b60608201525092915050565b60006020828403121561088d57600080fd5b813567ffffffffffffffff808211156108a557600080fd5b9083019061012082860312156108ba57600080fd5b6108c26106eb565b82356108cd81610714565b815260208301356108dd81610714565b60208201526040830135828111156108f457600080fd5b61090087828601610739565b60408301525060608301356060820152608083013560808201526109278660a085016107fb565b60a082015295945050505050565b60005b83811015610950578181015183820152602001610938565b50506000910152565b60007fffffffffffffffffffffffffffffffffffffffff000000000000000000000000808760601b168352808660601b1660148401525083516109a3816028850160208801610935565b6028920191820192909252604801949350505050565b60208152600082518060208401526109d8816040850160208701610935565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169190910160400192915050565b600060208284031215610a1c57600080fd5b81518015158114610a2c57600080fd5b9392505050565b600060208284031215610a4557600080fd5b8151610a2c81610714565b600060208284031215610a6257600080fd5b815165ffffffffffff81168114610a2c57600080fdfea164736f6c6343000817000a0000000000000000000000003f3dab3ab8cec2fbd06767c2a5f66cb6bff21a4a", + "nonce": "0x1", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x08c82c413a9fd929e93f0e7cf7d5b0123514ca1c6bc495e3240469cd5f149ffb", + "transactionType": "CREATE", + "contractName": "LlamaTokenAdapterVotesTimestamp", + "contractAddress": "0x088C268cb00226D6A9b29e5488905Aa94D2f0239", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0xb72276d9ff15c7998b9962ffcfb21a6c7249441b", + "gas": "0x10d28c", + "value": "0x0", + "data": "0x608060405234801561001057600080fd5b5061001961001e565b6100d0565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff161561006e5760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b03908116146100cd5780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b610df5806100df6000396000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c8063ae2a6df21161005b578063ae2a6df21461010a578063cdfda4dd14610114578063edb8ee5a14610127578063fc0c546a1461013a57600080fd5b8063439fab911461008d5780634bf5d7e9146100b557806391ddadf4146100ca5780639556de73146100e9575b600080fd5b6100a061009b3660046108e4565b61017f565b60405190151581526020015b60405180910390f35b6100bd6103a1565b6040516100ac9190610988565b6100d261042f565b60405165ffffffffffff90911681526020016100ac565b6100fc6100f7366004610a12565b6104e9565b6040519081526020016100ac565b610112610593565b005b6100d2610122366004610a4b565b6105ef565b6100fc610135366004610a64565b610600565b60005461015a9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100ac565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0080546000919068010000000000000000810460ff16159067ffffffffffffffff1683811580156101cd5750825b905060008267ffffffffffffffff1660011480156101ea5750303b155b9050811580156101f8575080155b1561022f576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b84547fffffffffffffffffffffffffffffffffffffffffffffffff000000000000000016600117855583156102905784547fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff16680100000000000000001785555b6000878060200190518101906102a69190610a81565b8051600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff90921691909117905560408051808201909152600e81527f6d6f64653d74696d657374616d7000000000000000000000000000000000000060208201529091506001906103309082610b71565b50600196505083156103975784547fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b5050505050919050565b600180546103ae90610acd565b80601f01602080910402602001604051908101604052809291908181526020018280546103da90610acd565b80156104275780601f106103fc57610100808354040283529160200191610427565b820191906000526020600020905b81548152906001019060200180831161040a57829003601f168201915b505050505081565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156104d7575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682019092526104d491810190610c8b565b60015b6104e4576104e44261069b565b905090565b600080546040517f3a46b1a800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff858116600483015265ffffffffffff8516602483015290911690633a46b1a890604401602060405180830381865afa158015610568573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061058c9190610ca8565b9392505050565b600061059d6106e8565b905060006105a9610712565b905081806105b45750805b156105eb576040517f6ff0714000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050565b60006105fa8261069b565b92915050565b600080546040517f8e539e8c00000000000000000000000000000000000000000000000000000000815265ffffffffffff8416600482015273ffffffffffffffffffffffffffffffffffffffff90911690638e539e8c90602401602060405180830381865afa158015610677573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105fa9190610ca8565b600065ffffffffffff8211156106e4576040517fc0188c4f0000000000000000000000000000000000000000000000000000000081526004810183905260240160405180910390fd5b5090565b60006106f34261069b565b65ffffffffffff1661070361042f565b65ffffffffffff161415905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16634bf5d7e96040518163ffffffff1660e01b8152600401600060405180830381865afa9250505080156107bf57506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526107bc9190810190610cc1565b60015b6107c95750600090565b60016040516020016107db9190610d38565b60405160208183030381529060405280519060200120816040516020016108029190610dcc565b60405160208183030381529060405280519060200120141591505090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff8111828210171561089657610896610820565b604052919050565b600067ffffffffffffffff8211156108b8576108b8610820565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b6000602082840312156108f657600080fd5b813567ffffffffffffffff81111561090d57600080fd5b8201601f8101841361091e57600080fd5b803561093161092c8261089e565b61084f565b81815285602083850101111561094657600080fd5b81602084016020830137600091810160200191909152949350505050565b60005b8381101561097f578181015183820152602001610967565b50506000910152565b60208152600082518060208401526109a7816040850160208701610964565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169190910160400192915050565b73ffffffffffffffffffffffffffffffffffffffff811681146109fb57600080fd5b50565b65ffffffffffff811681146109fb57600080fd5b60008060408385031215610a2557600080fd5b8235610a30816109d9565b91506020830135610a40816109fe565b809150509250929050565b600060208284031215610a5d57600080fd5b5035919050565b600060208284031215610a7657600080fd5b813561058c816109fe565b600060208284031215610a9357600080fd5b6040516020810181811067ffffffffffffffff82111715610ab657610ab6610820565b6040528251610ac4816109d9565b81529392505050565b600181811c90821680610ae157607f821691505b602082108103610b1a577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b601f821115610b6c576000816000526020600020601f850160051c81016020861015610b495750805b601f850160051c820191505b81811015610b6857828155600101610b55565b5050505b505050565b815167ffffffffffffffff811115610b8b57610b8b610820565b610b9f81610b998454610acd565b84610b20565b602080601f831160018114610bf25760008415610bbc5750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b178555610b68565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b82811015610c3f57888601518255948401946001909101908401610c20565b5085821015610c7b57878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b600060208284031215610c9d57600080fd5b815161058c816109fe565b600060208284031215610cba57600080fd5b5051919050565b600060208284031215610cd357600080fd5b815167ffffffffffffffff811115610cea57600080fd5b8201601f81018413610cfb57600080fd5b8051610d0961092c8261089e565b818152856020838501011115610d1e57600080fd5b610d2f826020830160208601610964565b95945050505050565b6000808354610d4681610acd565b60018281168015610d5e5760018114610d9157610dc0565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0084168752821515830287019450610dc0565b8760005260208060002060005b85811015610db75781548a820152908401908201610d9e565b50505082870194505b50929695505050505050565b60008251610dde818460208701610964565b919091019291505056fea164736f6c6343000817000a", + "nonce": "0x2", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0xd51972dbb2c6846fbd16f473b681a814d8d5e11c2ee7f82be9cd929599f7b461", + "transactionIndex": "0x1", + "blockHash": "0xfaf729156f4b8270f937b7e6adcb1ac09da8a44108f4f12f768ac63ae1dedd4f", + "blockNumber": "0xe35707", + "from": "0xb72276D9FF15c7998b9962FFCfB21A6C7249441B", + "to": null, + "cumulativeGasUsed": "0x4d59c6", + "gasUsed": "0x4ca2c1", + "contractAddress": "0x3f3DAB3ab8cEc2FBd06767c2A5F66Cb6BFF21A4A", + "logs": [ + { + "address": "0x3f3DAB3ab8cEc2FBd06767c2A5F66Cb6BFF21A4A", + "topics": [ + "0xc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2" + ], + "data": "0x000000000000000000000000000000000000000000000000ffffffffffffffff", + "blockHash": "0xfaf729156f4b8270f937b7e6adcb1ac09da8a44108f4f12f768ac63ae1dedd4f", + "blockNumber": "0xe35707", + "transactionHash": "0xd51972dbb2c6846fbd16f473b681a814d8d5e11c2ee7f82be9cd929599f7b461", + "transactionIndex": "0x1", + "logIndex": "0x0", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000800000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05efe" + }, + { + "transactionHash": "0x69cc85032858f025368562fe1bcb0b1408879f092eff2a06cff566b845854094", + "transactionIndex": "0x2", + "blockHash": "0xfaf729156f4b8270f937b7e6adcb1ac09da8a44108f4f12f768ac63ae1dedd4f", + "blockNumber": "0xe35707", + "from": "0xb72276D9FF15c7998b9962FFCfB21A6C7249441B", + "to": null, + "cumulativeGasUsed": "0x570536", + "gasUsed": "0x9ab70", + "contractAddress": "0xFBE17545dffD75A92A5A72926AE581478973FE65", + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05efe" + }, + { + "transactionHash": "0x08c82c413a9fd929e93f0e7cf7d5b0123514ca1c6bc495e3240469cd5f149ffb", + "transactionIndex": "0x3", + "blockHash": "0xfaf729156f4b8270f937b7e6adcb1ac09da8a44108f4f12f768ac63ae1dedd4f", + "blockNumber": "0xe35707", + "from": "0xb72276D9FF15c7998b9962FFCfB21A6C7249441B", + "to": null, + "cumulativeGasUsed": "0x63f6df", + "gasUsed": "0xcf1a9", + "contractAddress": "0x088C268cb00226D6A9b29e5488905Aa94D2f0239", + "logs": [ + { + "address": "0x088C268cb00226D6A9b29e5488905Aa94D2f0239", + "topics": [ + "0xc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2" + ], + "data": "0x000000000000000000000000000000000000000000000000ffffffffffffffff", + "blockHash": "0xfaf729156f4b8270f937b7e6adcb1ac09da8a44108f4f12f768ac63ae1dedd4f", + "blockNumber": "0xe35707", + "transactionHash": "0x08c82c413a9fd929e93f0e7cf7d5b0123514ca1c6bc495e3240469cd5f149ffb", + "transactionIndex": "0x3", + "logIndex": "0x1", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000800000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000008000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05efe" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1704991522, + "chain": 84531, + "multi": false, + "commit": "688208a" +} \ No newline at end of file diff --git a/broadcast/DeployLlamaTokenVotingFactory.s.sol/84531/run-1704991580.json b/broadcast/DeployLlamaTokenVotingFactory.s.sol/84531/run-1704991580.json new file mode 100644 index 0000000..2d318cc --- /dev/null +++ b/broadcast/DeployLlamaTokenVotingFactory.s.sol/84531/run-1704991580.json @@ -0,0 +1,148 @@ +{ + "transactions": [ + { + "hash": "0xd51972dbb2c6846fbd16f473b681a814d8d5e11c2ee7f82be9cd929599f7b461", + "transactionType": "CREATE", + "contractName": "LlamaTokenGovernor", + "contractAddress": "0x3f3DAB3ab8cEc2FBd06767c2A5F66Cb6BFF21A4A", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0xb72276d9ff15c7998b9962ffcfb21a6c7249441b", + "gas": "0x6398ff", + "value": "0x0", + "data": "0x60806040523480156200001157600080fd5b506200001c62000022565b620000d6565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff1615620000735760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b0390811614620000d35780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b6159f880620000e66000396000f3fe608060405234801561001057600080fd5b50600436106101da5760003560e01c80637e4a56bb11610104578063b92cdd9a116100a2578063cae3bdff11610071578063cae3bdff1461053d578063dcae21b714610552578063e45061ea14610565578063e5589b9d1461057857600080fd5b8063b92cdd9a146104e4578063b9b2cf6c146104f7578063c193c2691461050a578063c26c12eb1461053557600080fd5b80638734852a116100de5780638734852a1461049857806396ff6e2e146104ab578063a1d9b412146104be578063b3c678b0146104d157600080fd5b80637e4a56bb1461046a5780637ed7238e14610472578063807ad1141461048557600080fd5b80633fed8f161161017c57806359e5332d1161014b57806359e5332d1461036457806364f6b3161461037b5780637186dd9c1461038e57806374f717cd1461044757600080fd5b80633fed8f16146103165780634d61ebf4146103365780634ec0ab1c1461033e578063509c5fbd1461035157600080fd5b806319a39740116101b857806319a397401461025b5780631e127ddf1461026e578063372fa8e8146102c25780633df91222146102d557600080fd5b80630669b1ce146101df57806311f900b5146101f45780631650080714610227575b600080fd5b6101f26101ed366004614a11565b61058b565b005b610207610202366004614a46565b610b79565b6040805161ffff9384168152929091166020830152015b60405180910390f35b61023a610235366004614ac0565b610b90565b6040516fffffffffffffffffffffffffffffffff909116815260200161021e565b6101f2610269366004614a46565b610baa565b6101f261027c366004614b82565b3360009081526007602090815260408083207fffffffff000000000000000000000000000000000000000000000000000000009490941683529290522080546001019055565b6101f26102d0366004614bbd565b610c75565b6102fe6102e3366004614a46565b6005602052600090815260409020546001600160a01b031681565b6040516001600160a01b03909116815260200161021e565b610329610324366004614c31565b610d76565b60405161021e9190614c53565b610207610f4e565b6101f261034c366004614ce2565b610f63565b61023a61035f366004614ac0565b611030565b61036d60025481565b60405190815260200161021e565b6000546102fe906001600160a01b031681565b6103fc61039c366004614a46565b6006602052600090815260409020805460018201546002909201546fffffffffffffffffffffffffffffffff8083169370010000000000000000000000000000000093849004821693818316939181900483169282811692919091041686565b604080516fffffffffffffffffffffffffffffffff978816815295871660208701529386169385019390935290841660608401528316608083015290911660a082015260c00161021e565b61045a610455366004614d23565b611040565b604051901515815260200161021e565b6103296110a9565b61036d610480366004614ea9565b61114c565b6001546102fe906001600160a01b031681565b6101f26104a6366004614f88565b611263565b61023a6104b9366004615066565b6114b5565b61023a6104cc366004615066565b6115c6565b61036d6104df366004615131565b6116c7565b6101f26104f2366004614a11565b61171c565b6101f2610505366004614ce2565b611726565b61036d6105183660046151e2565b600760209081526000928352604080842090915290825290205481565b6102076117ef565b6105456117fc565b60405161021e919061520e565b610545610560366004614c31565b61188f565b6101f2610573366004614a11565b611a4d565b610207610586366004614a46565b612026565b600080546040517fb6e76873000000000000000000000000000000000000000000000000000000008152833560048201526001600160a01b039091169063b6e768739060240161012060405180830381865afa1580156105ef573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061061391906152c8565b9050600060018260a0015161062891906153a6565b67ffffffffffffffff169050600160009054906101000a90046001600160a01b03166001600160a01b031663ae2a6df26040518163ffffffff1660e01b815260040160006040518083038186803b15801561068257600080fd5b505afa158015610696573d6000803e3d6000fd5b505050506000806000806106b485600461203490919063ffffffff16565b909250905060006106cb6080890160608a016153ce565b6001600160a01b031663b02bd9206040518163ffffffff1660e01b8152600401602060405180830381865afa158015610708573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061072c91906153eb565b67ffffffffffffffff16905061271061ffff8416820204818860c0015167ffffffffffffffff16030194506127108261ffff1682028161076e5761076e615406565b04850193508342116107ac576040517f038d8a6a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8660c0015167ffffffffffffffff1642106107f3576040517f08c8d62700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050843560009081526006602052604080822060015491517fcdfda4dd000000000000000000000000000000000000000000000000000000008152600481018690529092916001600160a01b03169063edb8ee5a90829063cdfda4dd90602401602060405180830381865afa158015610871573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108959190615435565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b16815265ffffffffffff9091166004820152602401602060405180830381865afa1580156108f0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610914919061545d565b600183015460028401549192506fffffffffffffffffffffffffffffffff7001000000000000000000000000000000009182900481169291820481169116600061095f60038a6121cd565b9150506000610975868361ffff166127106122d8565b905080856fffffffffffffffffffffffffffffffff1610156109e3576040517fbfb9aa550000000000000000000000000000000000000000000000000000000081526fffffffffffffffffffffffffffffffff86166004820152602481018290526044015b60405180910390fd5b836fffffffffffffffffffffffffffffffff16856fffffffffffffffffffffffffffffffff1611610a5c576040517f8a0df63f0000000000000000000000000000000000000000000000000000000081526fffffffffffffffffffffffffffffffff8087166004830152851660248201526044016109da565b6000610a7b8d6060016020810190610a7491906153ce565b600061231c565b905060008054906101000a90046001600160a01b03166001600160a01b03166394004706828f6040518363ffffffff1660e01b8152600401610abe9291906155b2565b6020604051808303816000875af1158015610add573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b0191906155e8565b50604080518e3581526fffffffffffffffffffffffffffffffff808916602083015280881692820192909252908516606082015260ff82169033907ff5bc433f16cc3d0e9fcb5ac4f8de9f17eb90de1fd2a9ede5952c2097d4ef1a59906080015b60405180910390a350505050505050505050505050565b600080610b87600484612034565b91509150915091565b6000610ba0338787878787612612565b9695505050505050565b60008054906101000a90046001600160a01b03166001600160a01b031663c34c08e56040518163ffffffff1660e01b8152600401602060405180830381865afa158015610bfb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c1f9190615603565b6001600160a01b0316336001600160a01b031614610c69576040517f26bee1ce00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610c7281612c5e565b50565b6000610c818686612e2e565b6040805160008082526020820180845284905260ff88169282019290925260608101869052608081018590529192509060019060a0016020604051602081039080840390855afa158015610cd9573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001519150506001600160a01b0381161580610d2c5750866001600160a01b0316816001600160a01b031614155b15610d63576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610d6d8187612f50565b50505050505050565b60408051602081019091526060815281831115610dbf576040517f2cd4dad300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60045480831115610dfc576040517f2cd4dad300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610e088585615620565b905060008167ffffffffffffffff811115610e2557610e25614d65565b604051908082528060200260200182016040528015610e8e57816020015b60408051606081018252600080825260208083018290529282015282527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff909201910181610e435790505b509050855b85811015610f34576004805482908110610eaf57610eaf615633565b600091825260209182902060408051606081018252919092015465ffffffffffff8116825261ffff660100000000000082048116948301949094526801000000000000000090049092169082015282610f088984615620565b81518110610f1857610f18615633565b6020026020010181905250610f2d8160010190565b9050610e93565b506040805160208101909152908152925050505b92915050565b600080610f5b6004613063565b915091509091565b60008054906101000a90046001600160a01b03166001600160a01b031663c34c08e56040518163ffffffff1660e01b8152600401602060405180830381865afa158015610fb4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fd89190615603565b6001600160a01b0316336001600160a01b031614611022576040517f26bee1ce00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61102c82826130db565b5050565b6000610ba03387878787876131cf565b60008115611077575060008381526006602090815260408083206001600160a01b038616845260030190915290205460ff166110a2565b5060008381526006602090815260408083206001600160a01b038616845260040190915290205460ff165b9392505050565b6040805160208101909152606081526040805160048054602081810284018501855283018181529293919284929091849160009085015b8282101561113f576000848152602090819020604080516060810182529185015465ffffffffffff8116835261ffff660100000000000082048116848601526801000000000000000090910416908201528252600190920191016110e0565b5050505081525050905090565b60008061115f8d8d8d8d8d8d8d8d613714565b6040805160008082526020820180845284905260ff89169282019290925260608101879052608081018690529192509060019060a0016020604051602081039080840390855afa1580156111b7573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001519150506001600160a01b038116158061120a57508d6001600160a01b0316816001600160a01b031614155b15611241576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611251818e8e8e8e8e8e8e613885565b9e9d5050505050505050505050505050565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000810460ff16159067ffffffffffffffff166000811580156112ae5750825b905060008267ffffffffffffffff1660011480156112cb5750303b155b9050811580156112d9575080155b15611310576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b84547fffffffffffffffffffffffffffffffffffffffffffffffff000000000000000016600117855583156113715784547fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff16680100000000000000001785555b886001600160a01b0316639bccfe496040518163ffffffff1660e01b8152600401602060405180830381865afa1580156113af573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113d3919061545d565b50600080546001600160a01b03808c167fffffffffffffffffffffffff00000000000000000000000000000000000000009283161790925560018054928b169290911691909117905561142587612c5e565b611437866000015187602001516130db565b61144986604001518760600151613b89565b83156114aa5784547fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b505050505050505050565b6000806114c68b8b8b8b8b8b613c26565b6040805160008082526020820180845284905260ff89169282019290925260608101879052608081018690529192509060019060a0016020604051602081039080840390855afa15801561151e573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001519150506001600160a01b038116158061157157508b6001600160a01b0316816001600160a01b031614155b156115a8576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6115b6818c8c8c8c8c6131cf565b9c9b505050505050505050505050565b6000806115d78b8b8b8b8b8b613d84565b6040805160008082526020820180845284905260ff89169282019290925260608101879052608081018690529192509060019060a0016020604051602081039080840390855afa15801561162f573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001519150506001600160a01b038116158061168257508b6001600160a01b0316816001600160a01b031614155b156116b9576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6115b6818c8c8c8c8c612612565b600061170f338a8a8a8a8a8a8a8a8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061388592505050565b9998505050505050505050565b610c723382612f50565b60008054906101000a90046001600160a01b03166001600160a01b031663c34c08e56040518163ffffffff1660e01b8152600401602060405180830381865afa158015611777573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061179b9190615603565b6001600160a01b0316336001600160a01b0316146117e5576040517f26bee1ce00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61102c8282613b89565b600080610f5b6003613063565b604080516020810190915260608152604080516003805460208082028401850185528301818152929391928492909184916000908501821561113f576000848152602090819020604080516060810182529185015465ffffffffffff8116835261ffff660100000000000082048116848601526801000000000000000090910416908201528252600190920191016110e0565b604080516020810190915260608152818311156118d8576040517f2cd4dad300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60035480831115611915576040517f2cd4dad300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006119218585615620565b905060008167ffffffffffffffff81111561193e5761193e614d65565b6040519080825280602002602001820160405280156119a757816020015b60408051606081018252600080825260208083018290529282015282527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90920191018161195c5790505b509050855b85811015610f345760038054829081106119c8576119c8615633565b600091825260209182902060408051606081018252919092015465ffffffffffff8116825261ffff660100000000000082048116948301949094526801000000000000000090049092169082015282611a218984615620565b81518110611a3157611a31615633565b6020026020010181905250611a468160010190565b90506119ac565b600080546040517fb6e76873000000000000000000000000000000000000000000000000000000008152833560048201526001600160a01b039091169063b6e768739060240161012060405180830381865afa158015611ab1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ad591906152c8565b9050600060018260a00151611aea91906153a6565b67ffffffffffffffff169050600160009054906101000a90046001600160a01b03166001600160a01b031663ae2a6df26040518163ffffffff1660e01b815260040160006040518083038186803b158015611b4457600080fd5b505afa158015611b58573d6000803e3d6000fd5b50505050600080600080611b7685600461203490919063ffffffff16565b90925090506000611b8d6080890160608a016153ce565b6001600160a01b0316637999762c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611bca573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bee91906153eb565b67ffffffffffffffff16905061271061ffff84168202048760a0015167ffffffffffffffff160194506127108261ffff16820281611c2e57611c2e615406565b0485019350834211611c6c576040517f038d8a6a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b808760a0015167ffffffffffffffff16611c869190615662565b421115611cbf576040517f08c8d62700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050843560009081526006602052604080822060015491517fcdfda4dd000000000000000000000000000000000000000000000000000000008152600481018690529092916001600160a01b03169063edb8ee5a90829063cdfda4dd90602401602060405180830381865afa158015611d3d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d619190615435565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b16815265ffffffffffff9091166004820152602401602060405180830381865afa158015611dbc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611de0919061545d565b825460018401549192506fffffffffffffffffffffffffffffffff808216928116917001000000000000000000000000000000009004166000611e2460038a6121cd565b5090506000611e3a868361ffff166127106122d8565b905080856fffffffffffffffffffffffffffffffff161015611ea3576040517f0425fab10000000000000000000000000000000000000000000000000000000081526fffffffffffffffffffffffffffffffff86166004820152602481018290526044016109da565b836fffffffffffffffffffffffffffffffff16856fffffffffffffffffffffffffffffffff1611611f1c576040517f8a0df63f0000000000000000000000000000000000000000000000000000000081526fffffffffffffffffffffffffffffffff8087166004830152851660248201526044016109da565b6000611f3b8d6060016020810190611f3491906153ce565b600161231c565b905060008054906101000a90046001600160a01b03166001600160a01b03166389e7d126828f6040518363ffffffff1660e01b8152600401611f7e9291906155b2565b6020604051808303816000875af1158015611f9d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fc191906155e8565b50604080518e3581526fffffffffffffffffffffffffffffffff808916602083015280881692820192909252908516606082015260ff82169033907ff23279e924757f3bfe4f543bc1b43685e851d6ace53f8518b806dcd8d42fc13990608001610b62565b600080610b876003846121cd565b6000804283106120c6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f506572696f64506374436865636b706f696e74733a2074696d657374616d702060448201527f6973206e6f7420696e207468652070617374000000000000000000000000000060648201526084016109da565b60006120d184613db3565b855490915060008160058111156121315760006120ed84613dfc565b6120f79085615620565b60008a81526020902090915081015465ffffffffffff90811690861610156121215780915061212f565b61212c816001615662565b92505b505b600061213f89868585613eae565b90508060000361215a576000809650965050505050506121c6565b60006121798a61216b600185615620565b600091825260209091200190565b60408051606081018252915465ffffffffffff8116835261ffff66010000000000008204811660208501819052680100000000000000009092041692909101829052985096505050505050505b9250929050565b60008042831061225f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602f60248201527f51756f72756d436865636b706f696e74733a2074696d657374616d702069732060448201527f6e6f7420696e207468652070617374000000000000000000000000000000000060648201526084016109da565b600061226a84613db3565b855490915060008160058111156122ca57600061228684613dfc565b6122909085615620565b60008a81526020902090915081015465ffffffffffff90811690861610156122ba578091506122c8565b6122c5816001615662565b92505b505b600061213f89868585613f10565b6000827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048411830215820261230d57600080fd5b50910281810615159190040190565b60008054604080517f0505c8c9000000000000000000000000000000000000000000000000000000008152905183926001600160a01b031691630505c8c99160048083019260209291908290030181865afa15801561237f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123a39190615603565b6001600160a01b0316638b2ed3886040518163ffffffff1660e01b8152600401602060405180830381865afa1580156123e0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124049190615675565b905060015b8160ff16811161253b57836124a1576040517fc167ebae00000000000000000000000000000000000000000000000000000000815260ff821660048201526001600160a01b0386169063c167ebae90602401602060405180830381865afa158015612478573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061249c9190615692565b612525565b6040517ffb847c4300000000000000000000000000000000000000000000000000000000815260ff821660048201526001600160a01b0386169063fb847c4390602401602060405180830381865afa158015612501573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125259190615692565b15612533579150610f489050565b600101612409565b50826125a857836001600160a01b03166312a52f006040518163ffffffff1660e01b8152600401602060405180830381865afa15801561257f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125a39190615675565b61260a565b836001600160a01b03166366cacdc96040518163ffffffff1660e01b8152600401602060405180830381865afa1580156125e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061260a9190615675565b949350505050565b600080546040517fb6e768730000000000000000000000000000000000000000000000000000000081528635600482015282916001600160a01b03169063b6e768739060240161012060405180830381865afa158015612676573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061269a91906152c8565b9050600060018260a001516126af91906153a6565b8735600090815260066020526040902067ffffffffffffffff9190911691506126de6080890160608a016153ce565b6001600160a01b03166302674e4b89308c6040518463ffffffff1660e01b815260040161270d939291906156af565b60006040518083038186803b15801561272557600080fd5b505afa158015612739573d6000803e3d6000fd5b505050506001600160a01b038a16600090815260048201602052604090205460ff1615612792576040517f9dd6544b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6127a0888a89600486613f6a565b60008080806127b0600487612034565b909250905060006127c760808e0160608f016153ce565b6001600160a01b031663b02bd9206040518163ffffffff1660e01b8152600401602060405180830381865afa158015612804573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061282891906153eb565b67ffffffffffffffff16905061271061ffff8416820204818960c0015167ffffffffffffffff16030194506127108261ffff1682028161286a5761286a615406565b04850193508442116128a8576040517fd0b72b4900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b834211156128e2576040517f5b73d19300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050506000612a25600160009054906101000a90046001600160a01b03166001600160a01b0316639556de738f600160009054906101000a90046001600160a01b03166001600160a01b031663cdfda4dd886040518263ffffffff1660e01b815260040161295291815260200190565b602060405180830381865afa15801561296f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906129939190615435565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b1681526001600160a01b03909216600483015265ffffffffffff166024820152604401602060405180830381865afa1580156129fc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a20919061545d565b61425e565b905060ff8a16612a9e576002840154612a649070010000000000000000000000000000000090046fffffffffffffffffffffffffffffffff16826142ad565b6002850180546fffffffffffffffffffffffffffffffff928316700100000000000000000000000000000000029216919091179055612bc6565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60ff8b1601612b37576001840154612afd9070010000000000000000000000000000000090046fffffffffffffffffffffffffffffffff16826142ad565b6001850180546fffffffffffffffffffffffffffffffff928316700100000000000000000000000000000000029216919091179055612bc6565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe60ff8b1601612bc6576002840154612b82906fffffffffffffffffffffffffffffffff16826142ad565b6002850180547fffffffffffffffffffffffffffffffff00000000000000000000000000000000166fffffffffffffffffffffffffffffffff929092169190911790555b6001600160a01b038d1660008181526004860160205260409081902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790555160ff8c1691907f4e3e2ad68670a2709cb408c31c5afd8da0b6d3d06c75b11feb404a455639fe7c90612c46908f359086908f908f90615713565b60405180910390a39c9b505050505050505050505050565b60018054604080517f91ddadf400000000000000000000000000000000000000000000000000000000815290516000936001600160a01b039093169263edb8ee5a92909184916391ddadf49160048083019260209291908290030181865afa158015612cce573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612cf29190615435565b612cfc9190615745565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b16815265ffffffffffff9091166004820152602401602060405180830381865afa158015612d57573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612d7b919061545d565b905080600003612db7576040517f34bbd58500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80821115612df1576040517f8a5e746800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60028290556040518281527fd91a985c173545ab0e0bd11c021a1ae84c1ea6eab9350d9bf3812d5b8bff49a4906020015b60405180910390a15050565b6000807f6da9390b4f29da2c44fa5a9da00b392393d01e989d16e4a3dec5a538318e352584612e5c856142f4565b6001600160a01b03871660009081526007602090815260408083207fffffffff00000000000000000000000000000000000000000000000000000000843516845290915290208054600181019091556040805160208101959095526001600160a01b03909316928401929092526060830152608082015260a001604051602081830303815290604052805190602001209050612ef66143eb565b6040517f190100000000000000000000000000000000000000000000000000000000000060208201526022810191909152604281018290526062016040516020818303038152906040528051906020012091505092915050565b80356000908152600560205260409020546001600160a01b03838116911614612fa5576040517f86ba025600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000546040517fb92cdd9a0000000000000000000000000000000000000000000000000000000081526001600160a01b039091169063b92cdd9a90612fee908490600401615764565b600060405180830381600087803b15801561300857600080fd5b505af115801561301c573d6000803e3d6000fd5b5050604051833581526001600160a01b03851692507fdcccc5725b7256a6975da00de8953e5d326756a3079d203ff6df9e52331f411a915060200160405180910390a25050565b8054600090819080820361307d5750600093849350915050565b600061308e8561216b600185615620565b60408051606081018252915465ffffffffffff8116835261ffff66010000000000008204811660208501819052680100000000000000009092041692909101829052969095509350505050565b6127108261ffff1611806130f1575061ffff8216155b1561312e576040517f8f6febc000000000000000000000000000000000000000000000000000000000815261ffff831660048201526024016109da565b6127108161ffff161180613144575061ffff8116155b15613181576040517f3bec511c00000000000000000000000000000000000000000000000000000000815261ffff821660048201526024016109da565b613194600361ffff80851690841661454d565b6040805161ffff8085168252831660208201527f77c3f43700db02acb49792bbf699b39f72c2ed4b920bd5c0b1843dcd7c832f4c9101612e22565b600080546040517fb6e768730000000000000000000000000000000000000000000000000000000081528635600482015282916001600160a01b03169063b6e768739060240161012060405180830381865afa158015613233573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061325791906152c8565b9050600060018260a0015161326c91906153a6565b8735600090815260066020526040902067ffffffffffffffff91909116915061329b6080890160608a016153ce565b6001600160a01b0316631a2a4e7789308c6040518463ffffffff1660e01b81526004016132ca939291906156af565b60006040518083038186803b1580156132e257600080fd5b505afa1580156132f6573d6000803e3d6000fd5b505050506001600160a01b038a16600090815260038201602052604090205460ff161561334f576040517f9dd6544b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61335d888a89600086613f6a565b600080808061336d600487612034565b9092509050600061338460808e0160608f016153ce565b6001600160a01b0316637999762c6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156133c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906133e591906153eb565b67ffffffffffffffff16905061271061ffff84168202048860a0015167ffffffffffffffff160194506127108261ffff1682028161342557613425615406565b0485019350844211613463576040517fd0b72b4900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8342111561349d576040517f5b73d19300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050600061350d600160009054906101000a90046001600160a01b03166001600160a01b0316639556de738f600160009054906101000a90046001600160a01b03166001600160a01b031663cdfda4dd886040518263ffffffff1660e01b815260040161295291815260200190565b905060ff8a16613580576001840154613538906fffffffffffffffffffffffffffffffff16826142ad565b6001850180547fffffffffffffffffffffffffffffffff00000000000000000000000000000000166fffffffffffffffffffffffffffffffff92909216919091179055613694565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60ff8b16016136095783546135c8906fffffffffffffffffffffffffffffffff16826142ad565b84547fffffffffffffffffffffffffffffffff00000000000000000000000000000000166fffffffffffffffffffffffffffffffff91909116178455613694565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe60ff8b16016136945783546136659070010000000000000000000000000000000090046fffffffffffffffffffffffffffffffff16826142ad565b84546fffffffffffffffffffffffffffffffff9182167001000000000000000000000000000000000291161784555b6001600160a01b038d1660008181526003860160205260409081902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790555160ff8c1691907f761cce3a1af5d9cfc0d57222f605ce4bd2be345f0ad9ebb7b83a84a91a0c201490612c46908f359086908f908f90615713565b6001600160a01b03881660009081526007602090815260408083207fffffffff000000000000000000000000000000000000000000000000000000008435168452909152812080546001810190915560007fd1fab1c7b3b37134662e5867b00e272eb49f7be0a890df29e802c3cc66c06f838b8b8b8b8b8b8b60405161379b929190615777565b604080519182900382208c516020808f0191909120908401999099526001600160a01b039788169183019190915260ff90951660608201529285166080840152931660a082015260c081019290925260e08201526101008101919091526101208101839052610140016040516020818303038152906040528051906020012090506138246143eb565b6040517f19010000000000000000000000000000000000000000000000000000000000006020820152602281019190915260428101829052606201604051602081830303815290604052805190602001209250505098975050505050505050565b600154604080517fae2a6df200000000000000000000000000000000000000000000000000000000815290516000926001600160a01b03169163ae2a6df29160048083019286929190829003018186803b1580156138e257600080fd5b505afa1580156138f6573d6000803e3d6000fd5b505060018054604080517f91ddadf40000000000000000000000000000000000000000000000000000000081529051600095506001600160a01b039092169350639556de73928e92909185916391ddadf4916004808201926020929091908290030181865afa15801561396d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906139919190615435565b61399b9190615745565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b1681526001600160a01b03909216600483015265ffffffffffff166024820152604401602060405180830381865afa158015613a04573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613a28919061545d565b9050600254811015613a69576040517f92665351000000000000000000000000000000000000000000000000000000008152600481018290526024016109da565b6000546040517fb3c678b00000000000000000000000000000000000000000000000000000000081526001600160a01b039091169063b3c678b090613abe908c908c908c908c908c908c908c906004016157ab565b6020604051808303816000875af1158015613add573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613b01919061545d565b60008181526005602090815260409182902080547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b038f16908117909155915183815292945090917f1834dfd49255741a8ce9a9bd66b91b64d13622e1d8170e4c78ac91f9ec50a542910160405180910390a25098975050505050505050565b612710613b96828461583b565b61ffff1610613bdf576040517f519dd38400000000000000000000000000000000000000000000000000000000815261ffff8084166004830152821660248201526044016109da565b613beb60048383614576565b6040805161ffff8085168252831660208201527f8df7bdcce333d9e1b85e40782fb2f293c805761d3f48aaea58865e9541e44c709101612e22565b6000807fd7be168a3509af358f222ee35ee76aba47bc5fc2c35061cdce3958f510b7b1b28888613c55896142f4565b888888604051613c66929190615777565b60408051918290039091206001600160a01b038f166000908152600760209081528382207fffffffff0000000000000000000000000000000000000000000000000000000083351683529052919091208054600181019091556040805160208101989098526001600160a01b039096169587019590955260ff938416606087015260808601929092529190911660a084015260c083015260e082015261010001604051602081830303815290604052805190602001209050613d266143eb565b6040517f19010000000000000000000000000000000000000000000000000000000000006020820152602281019190915260428101829052606201604051602081830303815290604052805190602001209150509695505050505050565b6000807fa87058c5a9888e7af4405a932381d5a4612c61354bc3e52e9ea361ba17703fb38888613c55896142f4565b600065ffffffffffff821115613df8576040517fc0188c4f000000000000000000000000000000000000000000000000000000008152600481018390526024016109da565b5090565b60b581710100000000000000000000000000000000008110613e235760409190911b9060801c5b69010000000000000000008110613e3f5760209190911b9060401c5b650100000000008110613e575760109190911b9060201c5b63010000008110613e6d5760089190911b9060101c5b62010000010260121c80820401600190811c80830401811c80830401811c80830401811c80830401811c80830401811c80830401901c908190048111900390565b60005b81831015613f08576000613ec584846145a2565b60008781526020902090915065ffffffffffff86169082015465ffffffffffff161115613ef457809250613f02565b613eff816001615662565b93505b50613eb1565b509392505050565b60005b81831015613f08576000613f2784846145a2565b60008781526020902090915065ffffffffffff86169082015465ffffffffffff161115613f5657809250613f64565b613f61816001615662565b93505b50613f13565b600260ff84161115613fad576040517ffe0e5d8b00000000000000000000000000000000000000000000000000000000815260ff841660048201526024016109da565b600080546040517fec12d8be0000000000000000000000000000000000000000000000000000000081526001600160a01b039091169063ec12d8be90613ff7908990600401615764565b602060405180830381865afa158015614014573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906140389190615675565b60ff16600681111561404c5761404c6156e4565b9050826006811115614060576140606156e4565b816006811115614072576140726156e4565b146140ab57806040517f87afe58e0000000000000000000000000000000000000000000000000000000081526004016109da9190615856565b60008060009054906101000a90046001600160a01b03166001600160a01b0316630505c8c96040518163ffffffff1660e01b8152600401602060405180830381865afa1580156140ff573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906141239190615603565b6040517fe0bec07600000000000000000000000000000000000000000000000000000000815230600482015260ff88166024820152604481018590526001600160a01b03919091169063e0bec07690606401602060405180830381865afa158015614192573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906141b69190615692565b9050806141ef576040517f88aebd1200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600160009054906101000a90046001600160a01b03166001600160a01b031663ae2a6df26040518163ffffffff1660e01b815260040160006040518083038186803b15801561423d57600080fd5b505afa158015614251573d6000803e3d6000fd5b5050505050505050505050565b60006fffffffffffffffffffffffffffffffff821115613df8576040517fc0188c4f000000000000000000000000000000000000000000000000000000008152600481018390526024016109da565b60006fffffffffffffffffffffffffffffffff6142ce838216858316615662565b106142ea57506fffffffffffffffffffffffffffffffff610f48565b6110a28284615897565b60007f86b4555c6e347ea3f038485b59b894986c208b67da7e65fcfa3707271608465f823561432960408501602086016153ce565b61433960608601604087016158c0565b61434960808701606088016153ce565b61435960a08801608089016153ce565b60a088013561436b60c08a018a6158dd565b604051614379929190615777565b6040805191829003822060208301999099528101969096526001600160a01b03948516606087015260ff909316608086015290831660a08501529190911660c083015260e082015261010081019190915261012001604051602081830303815290604052805190602001209050919050565b60008054604080517f06fdde0300000000000000000000000000000000000000000000000000000000815290517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f926001600160a01b0316916306fdde0391600480830192879291908290030181865afa15801561446d573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526144b39190810190615942565b8051602091820120604080518082018252600181527f310000000000000000000000000000000000000000000000000000000000000090840152805192830193909352918101919091527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a082015260c00160405160208183030381529060405280519060200120905090565b6145718361455a42613db3565b614563856145bd565b61456c856145bd565b6145fe565b505050565b6145718361458342613db3565b6145908561ffff166145bd565b61459d8561ffff166145bd565b614909565b60006145b160028484186159b0565b6110a290848416615662565b600061ffff821115613df8576040517fc0188c4f000000000000000000000000000000000000000000000000000000008152600481018390526024016109da565b835480156148475760006146178661216b600185615620565b60408051606081018252915465ffffffffffff80821680855261ffff66010000000000008404811660208701526801000000000000000090930490921692840192909252919250861610156146ed576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f51756f72756d20436865636b706f696e743a20696e76616c69642074696d657360448201527f74616d700000000000000000000000000000000000000000000000000000000060648201526084016109da565b805165ffffffffffff8087169116036147865760006147118761216b600186615620565b805461ffff86811668010000000000000000027fffffffffffffffffffffffffffffffffffffffffffff0000ffffffffffffffff918916660100000000000002919091167fffffffffffffffffffffffffffffffffffffffffffff00000000ffffffffffff9092169190911717905550614841565b6040805160608101825265ffffffffffff808816825261ffff80881660208085019182528883169585019586528b54600181018d5560008d81529190912094519401805491519551831668010000000000000000027fffffffffffffffffffffffffffffffffffffffffffff0000ffffffffffffffff969093166601000000000000027fffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000909216949093169390931792909217929092161790555b50614902565b6040805160608101825265ffffffffffff808716825261ffff80871660208085019182528783169585019586528a54600181018c5560008c81529190912094519401805491519551831668010000000000000000027fffffffffffffffffffffffffffffffffffffffffffff0000ffffffffffffffff969093166601000000000000027fffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000909216949093169390931792909217929092161790555b5050505050565b835480156148475760006149228661216b600185615620565b60408051606081018252915465ffffffffffff80821680855261ffff66010000000000008404811660208701526801000000000000000090930490921692840192909252919250861610156146ed576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602860248201527f506572696f642050637420436865636b706f696e743a20696e76616c6964207460448201527f696d657374616d7000000000000000000000000000000000000000000000000060648201526084016109da565b600060e08284031215614a0b57600080fd5b50919050565b600060208284031215614a2357600080fd5b813567ffffffffffffffff811115614a3a57600080fd5b61260a848285016149f9565b600060208284031215614a5857600080fd5b5035919050565b60ff81168114610c7257600080fd5b8035614a7981614a5f565b919050565b60008083601f840112614a9057600080fd5b50813567ffffffffffffffff811115614aa857600080fd5b6020830191508360208285010111156121c657600080fd5b600080600080600060808688031215614ad857600080fd5b8535614ae381614a5f565b9450602086013567ffffffffffffffff80821115614b0057600080fd5b614b0c89838a016149f9565b955060408801359150614b1e82614a5f565b90935060608701359080821115614b3457600080fd5b50614b4188828901614a7e565b969995985093965092949392505050565b80357fffffffff0000000000000000000000000000000000000000000000000000000081168114614a7957600080fd5b600060208284031215614b9457600080fd5b6110a282614b52565b6001600160a01b0381168114610c7257600080fd5b8035614a7981614b9d565b600080600080600060a08688031215614bd557600080fd5b8535614be081614b9d565b9450602086013567ffffffffffffffff811115614bfc57600080fd5b614c08888289016149f9565b9450506040860135614c1981614a5f565b94979396509394606081013594506080013592915050565b60008060408385031215614c4457600080fd5b50508035926020909101359150565b60208082528251828201829052805160408401819052600092916060919083019082860190855b81811015614cc357614cb3838551805165ffffffffffff16825260208082015161ffff9081169184019190915260409182015116910152565b9285019291840191600101614c7a565b5090979650505050505050565b803561ffff81168114614a7957600080fd5b60008060408385031215614cf557600080fd5b614cfe83614cd0565b9150614d0c60208401614cd0565b90509250929050565b8015158114610c7257600080fd5b600080600060608486031215614d3857600080fd5b833592506020840135614d4a81614b9d565b91506040840135614d5a81614d15565b809150509250925092565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051610120810167ffffffffffffffff81118282101715614db857614db8614d65565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715614e0557614e05614d65565b604052919050565b600067ffffffffffffffff821115614e2757614e27614d65565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b600082601f830112614e6457600080fd5b8135614e77614e7282614e0d565b614dbe565b818152846020838601011115614e8c57600080fd5b816020850160208301376000918101602001919091529392505050565b60008060008060008060008060008060006101408c8e031215614ecb57600080fd5b614ed48c614bb2565b9a50614ee260208d01614a6e565b9950614ef060408d01614bb2565b9850614efe60608d01614bb2565b975060808c0135965067ffffffffffffffff8060a08e01351115614f2157600080fd5b614f318e60a08f01358f01614a7e565b909750955060c08d0135811015614f4757600080fd5b50614f588d60c08e01358e01614e53565b9350614f6660e08d01614a6e565b92506101008c013591506101208c013590509295989b509295989b9093969950565b60008060008084860360e0811215614f9f57600080fd5b8535614faa81614b9d565b94506020860135614fba81614b9d565b93506040860135925060807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa082011215614ff357600080fd5b506040516080810181811067ffffffffffffffff8211171561501757615017614d65565b60405261502660608701614cd0565b815261503460808701614cd0565b602082015261504560a08701614cd0565b604082015261505660c08701614cd0565b6060820152939692955090935050565b60008060008060008060008060006101008a8c03121561508557600080fd5b893561509081614b9d565b985060208a01356150a081614a5f565b975060408a013567ffffffffffffffff808211156150bd57600080fd5b6150c98d838e016149f9565b985060608c013591506150db82614a5f565b90965060808b013590808211156150f157600080fd5b506150fe8c828d01614a7e565b90965094505060a08a013561511281614a5f565b8093505060c08a0135915060e08a013590509295985092959850929598565b60008060008060008060008060c0898b03121561514d57600080fd5b883561515881614a5f565b9750602089013561516881614b9d565b9650604089013561517881614b9d565b955060608901359450608089013567ffffffffffffffff8082111561519c57600080fd5b6151a88c838d01614a7e565b909650945060a08b01359150808211156151c157600080fd5b506151ce8b828c01614a7e565b999c989b5096995094979396929594505050565b600080604083850312156151f557600080fd5b823561520081614b9d565b9150614d0c60208401614b52565b60208082528251828201829052805160408401819052600092916060919083019082860190855b81811015614cc35761526e838551805165ffffffffffff16825260208082015161ffff9081169184019190915260409182015116910152565b9285019291840191600101615235565b8051614a7981614d15565b8051614a7981614b9d565b805167ffffffffffffffff81168114614a7957600080fd5b80516bffffffffffffffffffffffff81168114614a7957600080fd5b600061012082840312156152db57600080fd5b6152e3614d94565b825181526152f36020840161527e565b60208201526153046040840161527e565b60408201526153156060840161527e565b606082015261532660808401615289565b608082015261533760a08401615294565b60a082015261534860c08401615294565b60c082015261535960e084016152ac565b60e082015261010061536c8185016152ac565b908201529392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b67ffffffffffffffff8281168282160390808211156153c7576153c7615377565b5092915050565b6000602082840312156153e057600080fd5b81356110a281614b9d565b6000602082840312156153fd57600080fd5b6110a282615294565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006020828403121561544757600080fd5b815165ffffffffffff811681146110a257600080fd5b60006020828403121561546f57600080fd5b5051919050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b80358252600060208201356154d381614b9d565b6001600160a01b0390811660208501526040830135906154f282614a5f565b60ff821660408601526060840135915061550b82614b9d565b908116606085015260808301359061552282614b9d565b16608084015260a0828101359084015260c0820135368390037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe101811261556857600080fd5b820160208101903567ffffffffffffffff81111561558557600080fd5b80360382131561559457600080fd5b60e060c08601526155a960e086018284615476565b95945050505050565b60ff831681526060602082015260006155ce60608301846154bf565b828103604084015260008152602081019150509392505050565b6000602082840312156155fa57600080fd5b6110a2826152ac565b60006020828403121561561557600080fd5b81516110a281614b9d565b81810381811115610f4857610f48615377565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b80820180821115610f4857610f48615377565b60006020828403121561568757600080fd5b81516110a281614a5f565b6000602082840312156156a457600080fd5b81516110a281614d15565b6060815260006156c260608301866154bf565b90506001600160a01b038416602083015260ff83166040830152949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b8481526fffffffffffffffffffffffffffffffff84166020820152606060408201526000610ba0606083018486615476565b65ffffffffffff8281168282160390808211156153c7576153c7615377565b6020815260006110a260208301846154bf565b8183823760009101908152919050565b60005b838110156157a257818101518382015260200161578a565b50506000910152565b60ff8816815260006001600160a01b03808916602084015280881660408401525085606083015260c060808301526157e760c083018587615476565b82810360a08401528351808252615805816020840160208801615787565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016016020019998505050505050505050565b61ffff8181168382160190808211156153c7576153c7615377565b6020810160078310615891577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b91905290565b6fffffffffffffffffffffffffffffffff8181168382160190808211156153c7576153c7615377565b6000602082840312156158d257600080fd5b81356110a281614a5f565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261591257600080fd5b83018035915067ffffffffffffffff82111561592d57600080fd5b6020019150368190038213156121c657600080fd5b60006020828403121561595457600080fd5b815167ffffffffffffffff81111561596b57600080fd5b8201601f8101841361597c57600080fd5b805161598a614e7282614e0d565b81815285602083850101111561599f57600080fd5b6155a9826020830160208601615787565b6000826159e6577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b50049056fea164736f6c6343000817000a", + "nonce": "0x0", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x69cc85032858f025368562fe1bcb0b1408879f092eff2a06cff566b845854094", + "transactionType": "CREATE", + "contractName": "LlamaTokenVotingFactory", + "contractAddress": "0xFBE17545dffD75A92A5A72926AE581478973FE65", + "function": null, + "arguments": [ + "0x3f3DAB3ab8cEc2FBd06767c2A5F66Cb6BFF21A4A" + ], + "transaction": { + "type": "0x02", + "from": "0xb72276d9ff15c7998b9962ffcfb21a6c7249441b", + "gas": "0xc9127", + "value": "0x0", + "data": "0x60a060405234801561001057600080fd5b50604051610b16380380610b1683398101604081905261002f91610040565b6001600160a01b0316608052610070565b60006020828403121561005257600080fd5b81516001600160a01b038116811461006957600080fd5b9392505050565b608051610a8561009160003960008181604001526104390152610a856000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c806321618ea41461003b5780633ec857a51461008b575b600080fd5b6100627f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b61006261009936600461087b565b600080338360000151846040015185606001516040516020016100bf9493929190610959565b60405160208183030381529060405280519060200120905060006100e7846020015183610622565b60408086015190517f439fab9100000000000000000000000000000000000000000000000000000000815291925073ffffffffffffffffffffffffffffffffffffffff83169163439fab919161013f916004016109b9565b6020604051808303816000875af115801561015e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101829190610a0a565b50600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1663fc0c546a6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156101e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061020a9190610a33565b73ffffffffffffffffffffffffffffffffffffffff1603610257576040517f65f5b03400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517fcdfda4dd00000000000000000000000000000000000000000000000000000000815242600482015273ffffffffffffffffffffffffffffffffffffffff82169063cdfda4dd90602401602060405180830381865afa1580156102c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102e59190610a50565b65ffffffffffff16600003610326576040517f65f5b03400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff166391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865afa158015610371573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103959190610a50565b65ffffffffffff166000036103d6576040517f65f5b03400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1663ae2a6df26040518163ffffffff1660e01b815260040160006040518083038186803b15801561041c57600080fd5b505afa158015610430573d6000803e3d6000fd5b5050505061045e7f000000000000000000000000000000000000000000000000000000000000000083610622565b8451608086015160a0870151604080517f8734852a00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff948516600482015286851660248201526044810193909352815161ffff908116606485015260208301518116608485015290820151811660a48401526060909101511660c4820152919450841690638734852a9060e401600060405180830381600087803b15801561051757600080fd5b505af115801561052b573d6000803e3d6000fd5b505050508073ffffffffffffffffffffffffffffffffffffffff1663fc0c546a6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561057a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061059e9190610a33565b84516020808701516060808901516040805173ffffffffffffffffffffffffffffffffffffffff94851681528885169581019590955284015287821690830152466080830152928316929091169033907f4c8bb78cb1c62e64cef39fc4b4a1864d1a331a28c7bd59a67fe969cc8ab715879060a00160405180910390a45050919050565b6000763d602d80600a3d3981f3363d3d373d3d3d363d730000008360601b60e81c176000526e5af43d82803e903d91602b57fd5bf38360781b1760205281603760096000f5905073ffffffffffffffffffffffffffffffffffffffff81166106b6576040517fc2f868f400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405160c0810167ffffffffffffffff8111828210171561070e5761070e6106bc565b60405290565b73ffffffffffffffffffffffffffffffffffffffff8116811461073657600080fd5b50565b600082601f83011261074a57600080fd5b813567ffffffffffffffff80821115610765576107656106bc565b604051601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011681019082821181831017156107ab576107ab6106bc565b816040528381528660208588010111156107c457600080fd5b836020870160208301376000602085830101528094505050505092915050565b803561ffff811681146107f657600080fd5b919050565b60006080828403121561080d57600080fd5b6040516080810181811067ffffffffffffffff82111715610830576108306106bc565b60405290508061083f836107e4565b815261084d602084016107e4565b602082015261085e604084016107e4565b604082015261086f606084016107e4565b60608201525092915050565b60006020828403121561088d57600080fd5b813567ffffffffffffffff808211156108a557600080fd5b9083019061012082860312156108ba57600080fd5b6108c26106eb565b82356108cd81610714565b815260208301356108dd81610714565b60208201526040830135828111156108f457600080fd5b61090087828601610739565b60408301525060608301356060820152608083013560808201526109278660a085016107fb565b60a082015295945050505050565b60005b83811015610950578181015183820152602001610938565b50506000910152565b60007fffffffffffffffffffffffffffffffffffffffff000000000000000000000000808760601b168352808660601b1660148401525083516109a3816028850160208801610935565b6028920191820192909252604801949350505050565b60208152600082518060208401526109d8816040850160208701610935565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169190910160400192915050565b600060208284031215610a1c57600080fd5b81518015158114610a2c57600080fd5b9392505050565b600060208284031215610a4557600080fd5b8151610a2c81610714565b600060208284031215610a6257600080fd5b815165ffffffffffff81168114610a2c57600080fdfea164736f6c6343000817000a0000000000000000000000003f3dab3ab8cec2fbd06767c2a5f66cb6bff21a4a", + "nonce": "0x1", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x08c82c413a9fd929e93f0e7cf7d5b0123514ca1c6bc495e3240469cd5f149ffb", + "transactionType": "CREATE", + "contractName": "LlamaTokenAdapterVotesTimestamp", + "contractAddress": "0x088C268cb00226D6A9b29e5488905Aa94D2f0239", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0xb72276d9ff15c7998b9962ffcfb21a6c7249441b", + "gas": "0x10d28c", + "value": "0x0", + "data": "0x608060405234801561001057600080fd5b5061001961001e565b6100d0565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff161561006e5760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b03908116146100cd5780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b610df5806100df6000396000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c8063ae2a6df21161005b578063ae2a6df21461010a578063cdfda4dd14610114578063edb8ee5a14610127578063fc0c546a1461013a57600080fd5b8063439fab911461008d5780634bf5d7e9146100b557806391ddadf4146100ca5780639556de73146100e9575b600080fd5b6100a061009b3660046108e4565b61017f565b60405190151581526020015b60405180910390f35b6100bd6103a1565b6040516100ac9190610988565b6100d261042f565b60405165ffffffffffff90911681526020016100ac565b6100fc6100f7366004610a12565b6104e9565b6040519081526020016100ac565b610112610593565b005b6100d2610122366004610a4b565b6105ef565b6100fc610135366004610a64565b610600565b60005461015a9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100ac565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0080546000919068010000000000000000810460ff16159067ffffffffffffffff1683811580156101cd5750825b905060008267ffffffffffffffff1660011480156101ea5750303b155b9050811580156101f8575080155b1561022f576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b84547fffffffffffffffffffffffffffffffffffffffffffffffff000000000000000016600117855583156102905784547fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff16680100000000000000001785555b6000878060200190518101906102a69190610a81565b8051600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff90921691909117905560408051808201909152600e81527f6d6f64653d74696d657374616d7000000000000000000000000000000000000060208201529091506001906103309082610b71565b50600196505083156103975784547fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b5050505050919050565b600180546103ae90610acd565b80601f01602080910402602001604051908101604052809291908181526020018280546103da90610acd565b80156104275780601f106103fc57610100808354040283529160200191610427565b820191906000526020600020905b81548152906001019060200180831161040a57829003601f168201915b505050505081565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156104d7575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682019092526104d491810190610c8b565b60015b6104e4576104e44261069b565b905090565b600080546040517f3a46b1a800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff858116600483015265ffffffffffff8516602483015290911690633a46b1a890604401602060405180830381865afa158015610568573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061058c9190610ca8565b9392505050565b600061059d6106e8565b905060006105a9610712565b905081806105b45750805b156105eb576040517f6ff0714000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050565b60006105fa8261069b565b92915050565b600080546040517f8e539e8c00000000000000000000000000000000000000000000000000000000815265ffffffffffff8416600482015273ffffffffffffffffffffffffffffffffffffffff90911690638e539e8c90602401602060405180830381865afa158015610677573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105fa9190610ca8565b600065ffffffffffff8211156106e4576040517fc0188c4f0000000000000000000000000000000000000000000000000000000081526004810183905260240160405180910390fd5b5090565b60006106f34261069b565b65ffffffffffff1661070361042f565b65ffffffffffff161415905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16634bf5d7e96040518163ffffffff1660e01b8152600401600060405180830381865afa9250505080156107bf57506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526107bc9190810190610cc1565b60015b6107c95750600090565b60016040516020016107db9190610d38565b60405160208183030381529060405280519060200120816040516020016108029190610dcc565b60405160208183030381529060405280519060200120141591505090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff8111828210171561089657610896610820565b604052919050565b600067ffffffffffffffff8211156108b8576108b8610820565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b6000602082840312156108f657600080fd5b813567ffffffffffffffff81111561090d57600080fd5b8201601f8101841361091e57600080fd5b803561093161092c8261089e565b61084f565b81815285602083850101111561094657600080fd5b81602084016020830137600091810160200191909152949350505050565b60005b8381101561097f578181015183820152602001610967565b50506000910152565b60208152600082518060208401526109a7816040850160208701610964565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169190910160400192915050565b73ffffffffffffffffffffffffffffffffffffffff811681146109fb57600080fd5b50565b65ffffffffffff811681146109fb57600080fd5b60008060408385031215610a2557600080fd5b8235610a30816109d9565b91506020830135610a40816109fe565b809150509250929050565b600060208284031215610a5d57600080fd5b5035919050565b600060208284031215610a7657600080fd5b813561058c816109fe565b600060208284031215610a9357600080fd5b6040516020810181811067ffffffffffffffff82111715610ab657610ab6610820565b6040528251610ac4816109d9565b81529392505050565b600181811c90821680610ae157607f821691505b602082108103610b1a577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b601f821115610b6c576000816000526020600020601f850160051c81016020861015610b495750805b601f850160051c820191505b81811015610b6857828155600101610b55565b5050505b505050565b815167ffffffffffffffff811115610b8b57610b8b610820565b610b9f81610b998454610acd565b84610b20565b602080601f831160018114610bf25760008415610bbc5750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b178555610b68565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b82811015610c3f57888601518255948401946001909101908401610c20565b5085821015610c7b57878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b600060208284031215610c9d57600080fd5b815161058c816109fe565b600060208284031215610cba57600080fd5b5051919050565b600060208284031215610cd357600080fd5b815167ffffffffffffffff811115610cea57600080fd5b8201601f81018413610cfb57600080fd5b8051610d0961092c8261089e565b818152856020838501011115610d1e57600080fd5b610d2f826020830160208601610964565b95945050505050565b6000808354610d4681610acd565b60018281168015610d5e5760018114610d9157610dc0565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0084168752821515830287019450610dc0565b8760005260208060002060005b85811015610db75781548a820152908401908201610d9e565b50505082870194505b50929695505050505050565b60008251610dde818460208701610964565b919091019291505056fea164736f6c6343000817000a", + "nonce": "0x2", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0xd51972dbb2c6846fbd16f473b681a814d8d5e11c2ee7f82be9cd929599f7b461", + "transactionIndex": "0x1", + "blockHash": "0xfaf729156f4b8270f937b7e6adcb1ac09da8a44108f4f12f768ac63ae1dedd4f", + "blockNumber": "0xe35707", + "from": "0xb72276D9FF15c7998b9962FFCfB21A6C7249441B", + "to": null, + "cumulativeGasUsed": "0x4d59c6", + "gasUsed": "0x4ca2c1", + "contractAddress": "0x3f3DAB3ab8cEc2FBd06767c2A5F66Cb6BFF21A4A", + "logs": [ + { + "address": "0x3f3DAB3ab8cEc2FBd06767c2A5F66Cb6BFF21A4A", + "topics": [ + "0xc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2" + ], + "data": "0x000000000000000000000000000000000000000000000000ffffffffffffffff", + "blockHash": "0xfaf729156f4b8270f937b7e6adcb1ac09da8a44108f4f12f768ac63ae1dedd4f", + "blockNumber": "0xe35707", + "transactionHash": "0xd51972dbb2c6846fbd16f473b681a814d8d5e11c2ee7f82be9cd929599f7b461", + "transactionIndex": "0x1", + "logIndex": "0x0", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000800000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05efe" + }, + { + "transactionHash": "0x69cc85032858f025368562fe1bcb0b1408879f092eff2a06cff566b845854094", + "transactionIndex": "0x2", + "blockHash": "0xfaf729156f4b8270f937b7e6adcb1ac09da8a44108f4f12f768ac63ae1dedd4f", + "blockNumber": "0xe35707", + "from": "0xb72276D9FF15c7998b9962FFCfB21A6C7249441B", + "to": null, + "cumulativeGasUsed": "0x570536", + "gasUsed": "0x9ab70", + "contractAddress": "0xFBE17545dffD75A92A5A72926AE581478973FE65", + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05efe" + }, + { + "transactionHash": "0x08c82c413a9fd929e93f0e7cf7d5b0123514ca1c6bc495e3240469cd5f149ffb", + "transactionIndex": "0x3", + "blockHash": "0xfaf729156f4b8270f937b7e6adcb1ac09da8a44108f4f12f768ac63ae1dedd4f", + "blockNumber": "0xe35707", + "from": "0xb72276D9FF15c7998b9962FFCfB21A6C7249441B", + "to": null, + "cumulativeGasUsed": "0x63f6df", + "gasUsed": "0xcf1a9", + "contractAddress": "0x088C268cb00226D6A9b29e5488905Aa94D2f0239", + "logs": [ + { + "address": "0x088C268cb00226D6A9b29e5488905Aa94D2f0239", + "topics": [ + "0xc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2" + ], + "data": "0x000000000000000000000000000000000000000000000000ffffffffffffffff", + "blockHash": "0xfaf729156f4b8270f937b7e6adcb1ac09da8a44108f4f12f768ac63ae1dedd4f", + "blockNumber": "0xe35707", + "transactionHash": "0x08c82c413a9fd929e93f0e7cf7d5b0123514ca1c6bc495e3240469cd5f149ffb", + "transactionIndex": "0x3", + "logIndex": "0x1", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000800000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000008000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05efe" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1704991580, + "chain": 84531, + "multi": false, + "commit": "688208a" +} \ No newline at end of file diff --git a/broadcast/DeployLlamaTokenVotingFactory.s.sol/84531/run-latest.json b/broadcast/DeployLlamaTokenVotingFactory.s.sol/84531/run-latest.json new file mode 100644 index 0000000..2d318cc --- /dev/null +++ b/broadcast/DeployLlamaTokenVotingFactory.s.sol/84531/run-latest.json @@ -0,0 +1,148 @@ +{ + "transactions": [ + { + "hash": "0xd51972dbb2c6846fbd16f473b681a814d8d5e11c2ee7f82be9cd929599f7b461", + "transactionType": "CREATE", + "contractName": "LlamaTokenGovernor", + "contractAddress": "0x3f3DAB3ab8cEc2FBd06767c2A5F66Cb6BFF21A4A", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0xb72276d9ff15c7998b9962ffcfb21a6c7249441b", + "gas": "0x6398ff", + "value": "0x0", + "data": "0x60806040523480156200001157600080fd5b506200001c62000022565b620000d6565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff1615620000735760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b0390811614620000d35780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b6159f880620000e66000396000f3fe608060405234801561001057600080fd5b50600436106101da5760003560e01c80637e4a56bb11610104578063b92cdd9a116100a2578063cae3bdff11610071578063cae3bdff1461053d578063dcae21b714610552578063e45061ea14610565578063e5589b9d1461057857600080fd5b8063b92cdd9a146104e4578063b9b2cf6c146104f7578063c193c2691461050a578063c26c12eb1461053557600080fd5b80638734852a116100de5780638734852a1461049857806396ff6e2e146104ab578063a1d9b412146104be578063b3c678b0146104d157600080fd5b80637e4a56bb1461046a5780637ed7238e14610472578063807ad1141461048557600080fd5b80633fed8f161161017c57806359e5332d1161014b57806359e5332d1461036457806364f6b3161461037b5780637186dd9c1461038e57806374f717cd1461044757600080fd5b80633fed8f16146103165780634d61ebf4146103365780634ec0ab1c1461033e578063509c5fbd1461035157600080fd5b806319a39740116101b857806319a397401461025b5780631e127ddf1461026e578063372fa8e8146102c25780633df91222146102d557600080fd5b80630669b1ce146101df57806311f900b5146101f45780631650080714610227575b600080fd5b6101f26101ed366004614a11565b61058b565b005b610207610202366004614a46565b610b79565b6040805161ffff9384168152929091166020830152015b60405180910390f35b61023a610235366004614ac0565b610b90565b6040516fffffffffffffffffffffffffffffffff909116815260200161021e565b6101f2610269366004614a46565b610baa565b6101f261027c366004614b82565b3360009081526007602090815260408083207fffffffff000000000000000000000000000000000000000000000000000000009490941683529290522080546001019055565b6101f26102d0366004614bbd565b610c75565b6102fe6102e3366004614a46565b6005602052600090815260409020546001600160a01b031681565b6040516001600160a01b03909116815260200161021e565b610329610324366004614c31565b610d76565b60405161021e9190614c53565b610207610f4e565b6101f261034c366004614ce2565b610f63565b61023a61035f366004614ac0565b611030565b61036d60025481565b60405190815260200161021e565b6000546102fe906001600160a01b031681565b6103fc61039c366004614a46565b6006602052600090815260409020805460018201546002909201546fffffffffffffffffffffffffffffffff8083169370010000000000000000000000000000000093849004821693818316939181900483169282811692919091041686565b604080516fffffffffffffffffffffffffffffffff978816815295871660208701529386169385019390935290841660608401528316608083015290911660a082015260c00161021e565b61045a610455366004614d23565b611040565b604051901515815260200161021e565b6103296110a9565b61036d610480366004614ea9565b61114c565b6001546102fe906001600160a01b031681565b6101f26104a6366004614f88565b611263565b61023a6104b9366004615066565b6114b5565b61023a6104cc366004615066565b6115c6565b61036d6104df366004615131565b6116c7565b6101f26104f2366004614a11565b61171c565b6101f2610505366004614ce2565b611726565b61036d6105183660046151e2565b600760209081526000928352604080842090915290825290205481565b6102076117ef565b6105456117fc565b60405161021e919061520e565b610545610560366004614c31565b61188f565b6101f2610573366004614a11565b611a4d565b610207610586366004614a46565b612026565b600080546040517fb6e76873000000000000000000000000000000000000000000000000000000008152833560048201526001600160a01b039091169063b6e768739060240161012060405180830381865afa1580156105ef573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061061391906152c8565b9050600060018260a0015161062891906153a6565b67ffffffffffffffff169050600160009054906101000a90046001600160a01b03166001600160a01b031663ae2a6df26040518163ffffffff1660e01b815260040160006040518083038186803b15801561068257600080fd5b505afa158015610696573d6000803e3d6000fd5b505050506000806000806106b485600461203490919063ffffffff16565b909250905060006106cb6080890160608a016153ce565b6001600160a01b031663b02bd9206040518163ffffffff1660e01b8152600401602060405180830381865afa158015610708573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061072c91906153eb565b67ffffffffffffffff16905061271061ffff8416820204818860c0015167ffffffffffffffff16030194506127108261ffff1682028161076e5761076e615406565b04850193508342116107ac576040517f038d8a6a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8660c0015167ffffffffffffffff1642106107f3576040517f08c8d62700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050843560009081526006602052604080822060015491517fcdfda4dd000000000000000000000000000000000000000000000000000000008152600481018690529092916001600160a01b03169063edb8ee5a90829063cdfda4dd90602401602060405180830381865afa158015610871573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108959190615435565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b16815265ffffffffffff9091166004820152602401602060405180830381865afa1580156108f0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610914919061545d565b600183015460028401549192506fffffffffffffffffffffffffffffffff7001000000000000000000000000000000009182900481169291820481169116600061095f60038a6121cd565b9150506000610975868361ffff166127106122d8565b905080856fffffffffffffffffffffffffffffffff1610156109e3576040517fbfb9aa550000000000000000000000000000000000000000000000000000000081526fffffffffffffffffffffffffffffffff86166004820152602481018290526044015b60405180910390fd5b836fffffffffffffffffffffffffffffffff16856fffffffffffffffffffffffffffffffff1611610a5c576040517f8a0df63f0000000000000000000000000000000000000000000000000000000081526fffffffffffffffffffffffffffffffff8087166004830152851660248201526044016109da565b6000610a7b8d6060016020810190610a7491906153ce565b600061231c565b905060008054906101000a90046001600160a01b03166001600160a01b03166394004706828f6040518363ffffffff1660e01b8152600401610abe9291906155b2565b6020604051808303816000875af1158015610add573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b0191906155e8565b50604080518e3581526fffffffffffffffffffffffffffffffff808916602083015280881692820192909252908516606082015260ff82169033907ff5bc433f16cc3d0e9fcb5ac4f8de9f17eb90de1fd2a9ede5952c2097d4ef1a59906080015b60405180910390a350505050505050505050505050565b600080610b87600484612034565b91509150915091565b6000610ba0338787878787612612565b9695505050505050565b60008054906101000a90046001600160a01b03166001600160a01b031663c34c08e56040518163ffffffff1660e01b8152600401602060405180830381865afa158015610bfb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c1f9190615603565b6001600160a01b0316336001600160a01b031614610c69576040517f26bee1ce00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610c7281612c5e565b50565b6000610c818686612e2e565b6040805160008082526020820180845284905260ff88169282019290925260608101869052608081018590529192509060019060a0016020604051602081039080840390855afa158015610cd9573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001519150506001600160a01b0381161580610d2c5750866001600160a01b0316816001600160a01b031614155b15610d63576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610d6d8187612f50565b50505050505050565b60408051602081019091526060815281831115610dbf576040517f2cd4dad300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60045480831115610dfc576040517f2cd4dad300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610e088585615620565b905060008167ffffffffffffffff811115610e2557610e25614d65565b604051908082528060200260200182016040528015610e8e57816020015b60408051606081018252600080825260208083018290529282015282527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff909201910181610e435790505b509050855b85811015610f34576004805482908110610eaf57610eaf615633565b600091825260209182902060408051606081018252919092015465ffffffffffff8116825261ffff660100000000000082048116948301949094526801000000000000000090049092169082015282610f088984615620565b81518110610f1857610f18615633565b6020026020010181905250610f2d8160010190565b9050610e93565b506040805160208101909152908152925050505b92915050565b600080610f5b6004613063565b915091509091565b60008054906101000a90046001600160a01b03166001600160a01b031663c34c08e56040518163ffffffff1660e01b8152600401602060405180830381865afa158015610fb4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fd89190615603565b6001600160a01b0316336001600160a01b031614611022576040517f26bee1ce00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61102c82826130db565b5050565b6000610ba03387878787876131cf565b60008115611077575060008381526006602090815260408083206001600160a01b038616845260030190915290205460ff166110a2565b5060008381526006602090815260408083206001600160a01b038616845260040190915290205460ff165b9392505050565b6040805160208101909152606081526040805160048054602081810284018501855283018181529293919284929091849160009085015b8282101561113f576000848152602090819020604080516060810182529185015465ffffffffffff8116835261ffff660100000000000082048116848601526801000000000000000090910416908201528252600190920191016110e0565b5050505081525050905090565b60008061115f8d8d8d8d8d8d8d8d613714565b6040805160008082526020820180845284905260ff89169282019290925260608101879052608081018690529192509060019060a0016020604051602081039080840390855afa1580156111b7573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001519150506001600160a01b038116158061120a57508d6001600160a01b0316816001600160a01b031614155b15611241576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611251818e8e8e8e8e8e8e613885565b9e9d5050505050505050505050505050565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000810460ff16159067ffffffffffffffff166000811580156112ae5750825b905060008267ffffffffffffffff1660011480156112cb5750303b155b9050811580156112d9575080155b15611310576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b84547fffffffffffffffffffffffffffffffffffffffffffffffff000000000000000016600117855583156113715784547fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff16680100000000000000001785555b886001600160a01b0316639bccfe496040518163ffffffff1660e01b8152600401602060405180830381865afa1580156113af573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113d3919061545d565b50600080546001600160a01b03808c167fffffffffffffffffffffffff00000000000000000000000000000000000000009283161790925560018054928b169290911691909117905561142587612c5e565b611437866000015187602001516130db565b61144986604001518760600151613b89565b83156114aa5784547fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b505050505050505050565b6000806114c68b8b8b8b8b8b613c26565b6040805160008082526020820180845284905260ff89169282019290925260608101879052608081018690529192509060019060a0016020604051602081039080840390855afa15801561151e573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001519150506001600160a01b038116158061157157508b6001600160a01b0316816001600160a01b031614155b156115a8576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6115b6818c8c8c8c8c6131cf565b9c9b505050505050505050505050565b6000806115d78b8b8b8b8b8b613d84565b6040805160008082526020820180845284905260ff89169282019290925260608101879052608081018690529192509060019060a0016020604051602081039080840390855afa15801561162f573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001519150506001600160a01b038116158061168257508b6001600160a01b0316816001600160a01b031614155b156116b9576040517f8baa579f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6115b6818c8c8c8c8c612612565b600061170f338a8a8a8a8a8a8a8a8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061388592505050565b9998505050505050505050565b610c723382612f50565b60008054906101000a90046001600160a01b03166001600160a01b031663c34c08e56040518163ffffffff1660e01b8152600401602060405180830381865afa158015611777573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061179b9190615603565b6001600160a01b0316336001600160a01b0316146117e5576040517f26bee1ce00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61102c8282613b89565b600080610f5b6003613063565b604080516020810190915260608152604080516003805460208082028401850185528301818152929391928492909184916000908501821561113f576000848152602090819020604080516060810182529185015465ffffffffffff8116835261ffff660100000000000082048116848601526801000000000000000090910416908201528252600190920191016110e0565b604080516020810190915260608152818311156118d8576040517f2cd4dad300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60035480831115611915576040517f2cd4dad300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006119218585615620565b905060008167ffffffffffffffff81111561193e5761193e614d65565b6040519080825280602002602001820160405280156119a757816020015b60408051606081018252600080825260208083018290529282015282527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90920191018161195c5790505b509050855b85811015610f345760038054829081106119c8576119c8615633565b600091825260209182902060408051606081018252919092015465ffffffffffff8116825261ffff660100000000000082048116948301949094526801000000000000000090049092169082015282611a218984615620565b81518110611a3157611a31615633565b6020026020010181905250611a468160010190565b90506119ac565b600080546040517fb6e76873000000000000000000000000000000000000000000000000000000008152833560048201526001600160a01b039091169063b6e768739060240161012060405180830381865afa158015611ab1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ad591906152c8565b9050600060018260a00151611aea91906153a6565b67ffffffffffffffff169050600160009054906101000a90046001600160a01b03166001600160a01b031663ae2a6df26040518163ffffffff1660e01b815260040160006040518083038186803b158015611b4457600080fd5b505afa158015611b58573d6000803e3d6000fd5b50505050600080600080611b7685600461203490919063ffffffff16565b90925090506000611b8d6080890160608a016153ce565b6001600160a01b0316637999762c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611bca573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bee91906153eb565b67ffffffffffffffff16905061271061ffff84168202048760a0015167ffffffffffffffff160194506127108261ffff16820281611c2e57611c2e615406565b0485019350834211611c6c576040517f038d8a6a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b808760a0015167ffffffffffffffff16611c869190615662565b421115611cbf576040517f08c8d62700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050843560009081526006602052604080822060015491517fcdfda4dd000000000000000000000000000000000000000000000000000000008152600481018690529092916001600160a01b03169063edb8ee5a90829063cdfda4dd90602401602060405180830381865afa158015611d3d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d619190615435565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b16815265ffffffffffff9091166004820152602401602060405180830381865afa158015611dbc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611de0919061545d565b825460018401549192506fffffffffffffffffffffffffffffffff808216928116917001000000000000000000000000000000009004166000611e2460038a6121cd565b5090506000611e3a868361ffff166127106122d8565b905080856fffffffffffffffffffffffffffffffff161015611ea3576040517f0425fab10000000000000000000000000000000000000000000000000000000081526fffffffffffffffffffffffffffffffff86166004820152602481018290526044016109da565b836fffffffffffffffffffffffffffffffff16856fffffffffffffffffffffffffffffffff1611611f1c576040517f8a0df63f0000000000000000000000000000000000000000000000000000000081526fffffffffffffffffffffffffffffffff8087166004830152851660248201526044016109da565b6000611f3b8d6060016020810190611f3491906153ce565b600161231c565b905060008054906101000a90046001600160a01b03166001600160a01b03166389e7d126828f6040518363ffffffff1660e01b8152600401611f7e9291906155b2565b6020604051808303816000875af1158015611f9d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fc191906155e8565b50604080518e3581526fffffffffffffffffffffffffffffffff808916602083015280881692820192909252908516606082015260ff82169033907ff23279e924757f3bfe4f543bc1b43685e851d6ace53f8518b806dcd8d42fc13990608001610b62565b600080610b876003846121cd565b6000804283106120c6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f506572696f64506374436865636b706f696e74733a2074696d657374616d702060448201527f6973206e6f7420696e207468652070617374000000000000000000000000000060648201526084016109da565b60006120d184613db3565b855490915060008160058111156121315760006120ed84613dfc565b6120f79085615620565b60008a81526020902090915081015465ffffffffffff90811690861610156121215780915061212f565b61212c816001615662565b92505b505b600061213f89868585613eae565b90508060000361215a576000809650965050505050506121c6565b60006121798a61216b600185615620565b600091825260209091200190565b60408051606081018252915465ffffffffffff8116835261ffff66010000000000008204811660208501819052680100000000000000009092041692909101829052985096505050505050505b9250929050565b60008042831061225f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602f60248201527f51756f72756d436865636b706f696e74733a2074696d657374616d702069732060448201527f6e6f7420696e207468652070617374000000000000000000000000000000000060648201526084016109da565b600061226a84613db3565b855490915060008160058111156122ca57600061228684613dfc565b6122909085615620565b60008a81526020902090915081015465ffffffffffff90811690861610156122ba578091506122c8565b6122c5816001615662565b92505b505b600061213f89868585613f10565b6000827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048411830215820261230d57600080fd5b50910281810615159190040190565b60008054604080517f0505c8c9000000000000000000000000000000000000000000000000000000008152905183926001600160a01b031691630505c8c99160048083019260209291908290030181865afa15801561237f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123a39190615603565b6001600160a01b0316638b2ed3886040518163ffffffff1660e01b8152600401602060405180830381865afa1580156123e0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124049190615675565b905060015b8160ff16811161253b57836124a1576040517fc167ebae00000000000000000000000000000000000000000000000000000000815260ff821660048201526001600160a01b0386169063c167ebae90602401602060405180830381865afa158015612478573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061249c9190615692565b612525565b6040517ffb847c4300000000000000000000000000000000000000000000000000000000815260ff821660048201526001600160a01b0386169063fb847c4390602401602060405180830381865afa158015612501573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125259190615692565b15612533579150610f489050565b600101612409565b50826125a857836001600160a01b03166312a52f006040518163ffffffff1660e01b8152600401602060405180830381865afa15801561257f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125a39190615675565b61260a565b836001600160a01b03166366cacdc96040518163ffffffff1660e01b8152600401602060405180830381865afa1580156125e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061260a9190615675565b949350505050565b600080546040517fb6e768730000000000000000000000000000000000000000000000000000000081528635600482015282916001600160a01b03169063b6e768739060240161012060405180830381865afa158015612676573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061269a91906152c8565b9050600060018260a001516126af91906153a6565b8735600090815260066020526040902067ffffffffffffffff9190911691506126de6080890160608a016153ce565b6001600160a01b03166302674e4b89308c6040518463ffffffff1660e01b815260040161270d939291906156af565b60006040518083038186803b15801561272557600080fd5b505afa158015612739573d6000803e3d6000fd5b505050506001600160a01b038a16600090815260048201602052604090205460ff1615612792576040517f9dd6544b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6127a0888a89600486613f6a565b60008080806127b0600487612034565b909250905060006127c760808e0160608f016153ce565b6001600160a01b031663b02bd9206040518163ffffffff1660e01b8152600401602060405180830381865afa158015612804573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061282891906153eb565b67ffffffffffffffff16905061271061ffff8416820204818960c0015167ffffffffffffffff16030194506127108261ffff1682028161286a5761286a615406565b04850193508442116128a8576040517fd0b72b4900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b834211156128e2576040517f5b73d19300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050506000612a25600160009054906101000a90046001600160a01b03166001600160a01b0316639556de738f600160009054906101000a90046001600160a01b03166001600160a01b031663cdfda4dd886040518263ffffffff1660e01b815260040161295291815260200190565b602060405180830381865afa15801561296f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906129939190615435565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b1681526001600160a01b03909216600483015265ffffffffffff166024820152604401602060405180830381865afa1580156129fc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a20919061545d565b61425e565b905060ff8a16612a9e576002840154612a649070010000000000000000000000000000000090046fffffffffffffffffffffffffffffffff16826142ad565b6002850180546fffffffffffffffffffffffffffffffff928316700100000000000000000000000000000000029216919091179055612bc6565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60ff8b1601612b37576001840154612afd9070010000000000000000000000000000000090046fffffffffffffffffffffffffffffffff16826142ad565b6001850180546fffffffffffffffffffffffffffffffff928316700100000000000000000000000000000000029216919091179055612bc6565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe60ff8b1601612bc6576002840154612b82906fffffffffffffffffffffffffffffffff16826142ad565b6002850180547fffffffffffffffffffffffffffffffff00000000000000000000000000000000166fffffffffffffffffffffffffffffffff929092169190911790555b6001600160a01b038d1660008181526004860160205260409081902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790555160ff8c1691907f4e3e2ad68670a2709cb408c31c5afd8da0b6d3d06c75b11feb404a455639fe7c90612c46908f359086908f908f90615713565b60405180910390a39c9b505050505050505050505050565b60018054604080517f91ddadf400000000000000000000000000000000000000000000000000000000815290516000936001600160a01b039093169263edb8ee5a92909184916391ddadf49160048083019260209291908290030181865afa158015612cce573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612cf29190615435565b612cfc9190615745565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b16815265ffffffffffff9091166004820152602401602060405180830381865afa158015612d57573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612d7b919061545d565b905080600003612db7576040517f34bbd58500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80821115612df1576040517f8a5e746800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60028290556040518281527fd91a985c173545ab0e0bd11c021a1ae84c1ea6eab9350d9bf3812d5b8bff49a4906020015b60405180910390a15050565b6000807f6da9390b4f29da2c44fa5a9da00b392393d01e989d16e4a3dec5a538318e352584612e5c856142f4565b6001600160a01b03871660009081526007602090815260408083207fffffffff00000000000000000000000000000000000000000000000000000000843516845290915290208054600181019091556040805160208101959095526001600160a01b03909316928401929092526060830152608082015260a001604051602081830303815290604052805190602001209050612ef66143eb565b6040517f190100000000000000000000000000000000000000000000000000000000000060208201526022810191909152604281018290526062016040516020818303038152906040528051906020012091505092915050565b80356000908152600560205260409020546001600160a01b03838116911614612fa5576040517f86ba025600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000546040517fb92cdd9a0000000000000000000000000000000000000000000000000000000081526001600160a01b039091169063b92cdd9a90612fee908490600401615764565b600060405180830381600087803b15801561300857600080fd5b505af115801561301c573d6000803e3d6000fd5b5050604051833581526001600160a01b03851692507fdcccc5725b7256a6975da00de8953e5d326756a3079d203ff6df9e52331f411a915060200160405180910390a25050565b8054600090819080820361307d5750600093849350915050565b600061308e8561216b600185615620565b60408051606081018252915465ffffffffffff8116835261ffff66010000000000008204811660208501819052680100000000000000009092041692909101829052969095509350505050565b6127108261ffff1611806130f1575061ffff8216155b1561312e576040517f8f6febc000000000000000000000000000000000000000000000000000000000815261ffff831660048201526024016109da565b6127108161ffff161180613144575061ffff8116155b15613181576040517f3bec511c00000000000000000000000000000000000000000000000000000000815261ffff821660048201526024016109da565b613194600361ffff80851690841661454d565b6040805161ffff8085168252831660208201527f77c3f43700db02acb49792bbf699b39f72c2ed4b920bd5c0b1843dcd7c832f4c9101612e22565b600080546040517fb6e768730000000000000000000000000000000000000000000000000000000081528635600482015282916001600160a01b03169063b6e768739060240161012060405180830381865afa158015613233573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061325791906152c8565b9050600060018260a0015161326c91906153a6565b8735600090815260066020526040902067ffffffffffffffff91909116915061329b6080890160608a016153ce565b6001600160a01b0316631a2a4e7789308c6040518463ffffffff1660e01b81526004016132ca939291906156af565b60006040518083038186803b1580156132e257600080fd5b505afa1580156132f6573d6000803e3d6000fd5b505050506001600160a01b038a16600090815260038201602052604090205460ff161561334f576040517f9dd6544b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61335d888a89600086613f6a565b600080808061336d600487612034565b9092509050600061338460808e0160608f016153ce565b6001600160a01b0316637999762c6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156133c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906133e591906153eb565b67ffffffffffffffff16905061271061ffff84168202048860a0015167ffffffffffffffff160194506127108261ffff1682028161342557613425615406565b0485019350844211613463576040517fd0b72b4900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8342111561349d576040517f5b73d19300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050600061350d600160009054906101000a90046001600160a01b03166001600160a01b0316639556de738f600160009054906101000a90046001600160a01b03166001600160a01b031663cdfda4dd886040518263ffffffff1660e01b815260040161295291815260200190565b905060ff8a16613580576001840154613538906fffffffffffffffffffffffffffffffff16826142ad565b6001850180547fffffffffffffffffffffffffffffffff00000000000000000000000000000000166fffffffffffffffffffffffffffffffff92909216919091179055613694565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60ff8b16016136095783546135c8906fffffffffffffffffffffffffffffffff16826142ad565b84547fffffffffffffffffffffffffffffffff00000000000000000000000000000000166fffffffffffffffffffffffffffffffff91909116178455613694565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe60ff8b16016136945783546136659070010000000000000000000000000000000090046fffffffffffffffffffffffffffffffff16826142ad565b84546fffffffffffffffffffffffffffffffff9182167001000000000000000000000000000000000291161784555b6001600160a01b038d1660008181526003860160205260409081902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790555160ff8c1691907f761cce3a1af5d9cfc0d57222f605ce4bd2be345f0ad9ebb7b83a84a91a0c201490612c46908f359086908f908f90615713565b6001600160a01b03881660009081526007602090815260408083207fffffffff000000000000000000000000000000000000000000000000000000008435168452909152812080546001810190915560007fd1fab1c7b3b37134662e5867b00e272eb49f7be0a890df29e802c3cc66c06f838b8b8b8b8b8b8b60405161379b929190615777565b604080519182900382208c516020808f0191909120908401999099526001600160a01b039788169183019190915260ff90951660608201529285166080840152931660a082015260c081019290925260e08201526101008101919091526101208101839052610140016040516020818303038152906040528051906020012090506138246143eb565b6040517f19010000000000000000000000000000000000000000000000000000000000006020820152602281019190915260428101829052606201604051602081830303815290604052805190602001209250505098975050505050505050565b600154604080517fae2a6df200000000000000000000000000000000000000000000000000000000815290516000926001600160a01b03169163ae2a6df29160048083019286929190829003018186803b1580156138e257600080fd5b505afa1580156138f6573d6000803e3d6000fd5b505060018054604080517f91ddadf40000000000000000000000000000000000000000000000000000000081529051600095506001600160a01b039092169350639556de73928e92909185916391ddadf4916004808201926020929091908290030181865afa15801561396d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906139919190615435565b61399b9190615745565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b1681526001600160a01b03909216600483015265ffffffffffff166024820152604401602060405180830381865afa158015613a04573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613a28919061545d565b9050600254811015613a69576040517f92665351000000000000000000000000000000000000000000000000000000008152600481018290526024016109da565b6000546040517fb3c678b00000000000000000000000000000000000000000000000000000000081526001600160a01b039091169063b3c678b090613abe908c908c908c908c908c908c908c906004016157ab565b6020604051808303816000875af1158015613add573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613b01919061545d565b60008181526005602090815260409182902080547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b038f16908117909155915183815292945090917f1834dfd49255741a8ce9a9bd66b91b64d13622e1d8170e4c78ac91f9ec50a542910160405180910390a25098975050505050505050565b612710613b96828461583b565b61ffff1610613bdf576040517f519dd38400000000000000000000000000000000000000000000000000000000815261ffff8084166004830152821660248201526044016109da565b613beb60048383614576565b6040805161ffff8085168252831660208201527f8df7bdcce333d9e1b85e40782fb2f293c805761d3f48aaea58865e9541e44c709101612e22565b6000807fd7be168a3509af358f222ee35ee76aba47bc5fc2c35061cdce3958f510b7b1b28888613c55896142f4565b888888604051613c66929190615777565b60408051918290039091206001600160a01b038f166000908152600760209081528382207fffffffff0000000000000000000000000000000000000000000000000000000083351683529052919091208054600181019091556040805160208101989098526001600160a01b039096169587019590955260ff938416606087015260808601929092529190911660a084015260c083015260e082015261010001604051602081830303815290604052805190602001209050613d266143eb565b6040517f19010000000000000000000000000000000000000000000000000000000000006020820152602281019190915260428101829052606201604051602081830303815290604052805190602001209150509695505050505050565b6000807fa87058c5a9888e7af4405a932381d5a4612c61354bc3e52e9ea361ba17703fb38888613c55896142f4565b600065ffffffffffff821115613df8576040517fc0188c4f000000000000000000000000000000000000000000000000000000008152600481018390526024016109da565b5090565b60b581710100000000000000000000000000000000008110613e235760409190911b9060801c5b69010000000000000000008110613e3f5760209190911b9060401c5b650100000000008110613e575760109190911b9060201c5b63010000008110613e6d5760089190911b9060101c5b62010000010260121c80820401600190811c80830401811c80830401811c80830401811c80830401811c80830401811c80830401901c908190048111900390565b60005b81831015613f08576000613ec584846145a2565b60008781526020902090915065ffffffffffff86169082015465ffffffffffff161115613ef457809250613f02565b613eff816001615662565b93505b50613eb1565b509392505050565b60005b81831015613f08576000613f2784846145a2565b60008781526020902090915065ffffffffffff86169082015465ffffffffffff161115613f5657809250613f64565b613f61816001615662565b93505b50613f13565b600260ff84161115613fad576040517ffe0e5d8b00000000000000000000000000000000000000000000000000000000815260ff841660048201526024016109da565b600080546040517fec12d8be0000000000000000000000000000000000000000000000000000000081526001600160a01b039091169063ec12d8be90613ff7908990600401615764565b602060405180830381865afa158015614014573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906140389190615675565b60ff16600681111561404c5761404c6156e4565b9050826006811115614060576140606156e4565b816006811115614072576140726156e4565b146140ab57806040517f87afe58e0000000000000000000000000000000000000000000000000000000081526004016109da9190615856565b60008060009054906101000a90046001600160a01b03166001600160a01b0316630505c8c96040518163ffffffff1660e01b8152600401602060405180830381865afa1580156140ff573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906141239190615603565b6040517fe0bec07600000000000000000000000000000000000000000000000000000000815230600482015260ff88166024820152604481018590526001600160a01b03919091169063e0bec07690606401602060405180830381865afa158015614192573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906141b69190615692565b9050806141ef576040517f88aebd1200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600160009054906101000a90046001600160a01b03166001600160a01b031663ae2a6df26040518163ffffffff1660e01b815260040160006040518083038186803b15801561423d57600080fd5b505afa158015614251573d6000803e3d6000fd5b5050505050505050505050565b60006fffffffffffffffffffffffffffffffff821115613df8576040517fc0188c4f000000000000000000000000000000000000000000000000000000008152600481018390526024016109da565b60006fffffffffffffffffffffffffffffffff6142ce838216858316615662565b106142ea57506fffffffffffffffffffffffffffffffff610f48565b6110a28284615897565b60007f86b4555c6e347ea3f038485b59b894986c208b67da7e65fcfa3707271608465f823561432960408501602086016153ce565b61433960608601604087016158c0565b61434960808701606088016153ce565b61435960a08801608089016153ce565b60a088013561436b60c08a018a6158dd565b604051614379929190615777565b6040805191829003822060208301999099528101969096526001600160a01b03948516606087015260ff909316608086015290831660a08501529190911660c083015260e082015261010081019190915261012001604051602081830303815290604052805190602001209050919050565b60008054604080517f06fdde0300000000000000000000000000000000000000000000000000000000815290517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f926001600160a01b0316916306fdde0391600480830192879291908290030181865afa15801561446d573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526144b39190810190615942565b8051602091820120604080518082018252600181527f310000000000000000000000000000000000000000000000000000000000000090840152805192830193909352918101919091527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a082015260c00160405160208183030381529060405280519060200120905090565b6145718361455a42613db3565b614563856145bd565b61456c856145bd565b6145fe565b505050565b6145718361458342613db3565b6145908561ffff166145bd565b61459d8561ffff166145bd565b614909565b60006145b160028484186159b0565b6110a290848416615662565b600061ffff821115613df8576040517fc0188c4f000000000000000000000000000000000000000000000000000000008152600481018390526024016109da565b835480156148475760006146178661216b600185615620565b60408051606081018252915465ffffffffffff80821680855261ffff66010000000000008404811660208701526801000000000000000090930490921692840192909252919250861610156146ed576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f51756f72756d20436865636b706f696e743a20696e76616c69642074696d657360448201527f74616d700000000000000000000000000000000000000000000000000000000060648201526084016109da565b805165ffffffffffff8087169116036147865760006147118761216b600186615620565b805461ffff86811668010000000000000000027fffffffffffffffffffffffffffffffffffffffffffff0000ffffffffffffffff918916660100000000000002919091167fffffffffffffffffffffffffffffffffffffffffffff00000000ffffffffffff9092169190911717905550614841565b6040805160608101825265ffffffffffff808816825261ffff80881660208085019182528883169585019586528b54600181018d5560008d81529190912094519401805491519551831668010000000000000000027fffffffffffffffffffffffffffffffffffffffffffff0000ffffffffffffffff969093166601000000000000027fffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000909216949093169390931792909217929092161790555b50614902565b6040805160608101825265ffffffffffff808716825261ffff80871660208085019182528783169585019586528a54600181018c5560008c81529190912094519401805491519551831668010000000000000000027fffffffffffffffffffffffffffffffffffffffffffff0000ffffffffffffffff969093166601000000000000027fffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000909216949093169390931792909217929092161790555b5050505050565b835480156148475760006149228661216b600185615620565b60408051606081018252915465ffffffffffff80821680855261ffff66010000000000008404811660208701526801000000000000000090930490921692840192909252919250861610156146ed576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602860248201527f506572696f642050637420436865636b706f696e743a20696e76616c6964207460448201527f696d657374616d7000000000000000000000000000000000000000000000000060648201526084016109da565b600060e08284031215614a0b57600080fd5b50919050565b600060208284031215614a2357600080fd5b813567ffffffffffffffff811115614a3a57600080fd5b61260a848285016149f9565b600060208284031215614a5857600080fd5b5035919050565b60ff81168114610c7257600080fd5b8035614a7981614a5f565b919050565b60008083601f840112614a9057600080fd5b50813567ffffffffffffffff811115614aa857600080fd5b6020830191508360208285010111156121c657600080fd5b600080600080600060808688031215614ad857600080fd5b8535614ae381614a5f565b9450602086013567ffffffffffffffff80821115614b0057600080fd5b614b0c89838a016149f9565b955060408801359150614b1e82614a5f565b90935060608701359080821115614b3457600080fd5b50614b4188828901614a7e565b969995985093965092949392505050565b80357fffffffff0000000000000000000000000000000000000000000000000000000081168114614a7957600080fd5b600060208284031215614b9457600080fd5b6110a282614b52565b6001600160a01b0381168114610c7257600080fd5b8035614a7981614b9d565b600080600080600060a08688031215614bd557600080fd5b8535614be081614b9d565b9450602086013567ffffffffffffffff811115614bfc57600080fd5b614c08888289016149f9565b9450506040860135614c1981614a5f565b94979396509394606081013594506080013592915050565b60008060408385031215614c4457600080fd5b50508035926020909101359150565b60208082528251828201829052805160408401819052600092916060919083019082860190855b81811015614cc357614cb3838551805165ffffffffffff16825260208082015161ffff9081169184019190915260409182015116910152565b9285019291840191600101614c7a565b5090979650505050505050565b803561ffff81168114614a7957600080fd5b60008060408385031215614cf557600080fd5b614cfe83614cd0565b9150614d0c60208401614cd0565b90509250929050565b8015158114610c7257600080fd5b600080600060608486031215614d3857600080fd5b833592506020840135614d4a81614b9d565b91506040840135614d5a81614d15565b809150509250925092565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051610120810167ffffffffffffffff81118282101715614db857614db8614d65565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715614e0557614e05614d65565b604052919050565b600067ffffffffffffffff821115614e2757614e27614d65565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b600082601f830112614e6457600080fd5b8135614e77614e7282614e0d565b614dbe565b818152846020838601011115614e8c57600080fd5b816020850160208301376000918101602001919091529392505050565b60008060008060008060008060008060006101408c8e031215614ecb57600080fd5b614ed48c614bb2565b9a50614ee260208d01614a6e565b9950614ef060408d01614bb2565b9850614efe60608d01614bb2565b975060808c0135965067ffffffffffffffff8060a08e01351115614f2157600080fd5b614f318e60a08f01358f01614a7e565b909750955060c08d0135811015614f4757600080fd5b50614f588d60c08e01358e01614e53565b9350614f6660e08d01614a6e565b92506101008c013591506101208c013590509295989b509295989b9093969950565b60008060008084860360e0811215614f9f57600080fd5b8535614faa81614b9d565b94506020860135614fba81614b9d565b93506040860135925060807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa082011215614ff357600080fd5b506040516080810181811067ffffffffffffffff8211171561501757615017614d65565b60405261502660608701614cd0565b815261503460808701614cd0565b602082015261504560a08701614cd0565b604082015261505660c08701614cd0565b6060820152939692955090935050565b60008060008060008060008060006101008a8c03121561508557600080fd5b893561509081614b9d565b985060208a01356150a081614a5f565b975060408a013567ffffffffffffffff808211156150bd57600080fd5b6150c98d838e016149f9565b985060608c013591506150db82614a5f565b90965060808b013590808211156150f157600080fd5b506150fe8c828d01614a7e565b90965094505060a08a013561511281614a5f565b8093505060c08a0135915060e08a013590509295985092959850929598565b60008060008060008060008060c0898b03121561514d57600080fd5b883561515881614a5f565b9750602089013561516881614b9d565b9650604089013561517881614b9d565b955060608901359450608089013567ffffffffffffffff8082111561519c57600080fd5b6151a88c838d01614a7e565b909650945060a08b01359150808211156151c157600080fd5b506151ce8b828c01614a7e565b999c989b5096995094979396929594505050565b600080604083850312156151f557600080fd5b823561520081614b9d565b9150614d0c60208401614b52565b60208082528251828201829052805160408401819052600092916060919083019082860190855b81811015614cc35761526e838551805165ffffffffffff16825260208082015161ffff9081169184019190915260409182015116910152565b9285019291840191600101615235565b8051614a7981614d15565b8051614a7981614b9d565b805167ffffffffffffffff81168114614a7957600080fd5b80516bffffffffffffffffffffffff81168114614a7957600080fd5b600061012082840312156152db57600080fd5b6152e3614d94565b825181526152f36020840161527e565b60208201526153046040840161527e565b60408201526153156060840161527e565b606082015261532660808401615289565b608082015261533760a08401615294565b60a082015261534860c08401615294565b60c082015261535960e084016152ac565b60e082015261010061536c8185016152ac565b908201529392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b67ffffffffffffffff8281168282160390808211156153c7576153c7615377565b5092915050565b6000602082840312156153e057600080fd5b81356110a281614b9d565b6000602082840312156153fd57600080fd5b6110a282615294565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006020828403121561544757600080fd5b815165ffffffffffff811681146110a257600080fd5b60006020828403121561546f57600080fd5b5051919050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b80358252600060208201356154d381614b9d565b6001600160a01b0390811660208501526040830135906154f282614a5f565b60ff821660408601526060840135915061550b82614b9d565b908116606085015260808301359061552282614b9d565b16608084015260a0828101359084015260c0820135368390037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe101811261556857600080fd5b820160208101903567ffffffffffffffff81111561558557600080fd5b80360382131561559457600080fd5b60e060c08601526155a960e086018284615476565b95945050505050565b60ff831681526060602082015260006155ce60608301846154bf565b828103604084015260008152602081019150509392505050565b6000602082840312156155fa57600080fd5b6110a2826152ac565b60006020828403121561561557600080fd5b81516110a281614b9d565b81810381811115610f4857610f48615377565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b80820180821115610f4857610f48615377565b60006020828403121561568757600080fd5b81516110a281614a5f565b6000602082840312156156a457600080fd5b81516110a281614d15565b6060815260006156c260608301866154bf565b90506001600160a01b038416602083015260ff83166040830152949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b8481526fffffffffffffffffffffffffffffffff84166020820152606060408201526000610ba0606083018486615476565b65ffffffffffff8281168282160390808211156153c7576153c7615377565b6020815260006110a260208301846154bf565b8183823760009101908152919050565b60005b838110156157a257818101518382015260200161578a565b50506000910152565b60ff8816815260006001600160a01b03808916602084015280881660408401525085606083015260c060808301526157e760c083018587615476565b82810360a08401528351808252615805816020840160208801615787565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016016020019998505050505050505050565b61ffff8181168382160190808211156153c7576153c7615377565b6020810160078310615891577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b91905290565b6fffffffffffffffffffffffffffffffff8181168382160190808211156153c7576153c7615377565b6000602082840312156158d257600080fd5b81356110a281614a5f565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261591257600080fd5b83018035915067ffffffffffffffff82111561592d57600080fd5b6020019150368190038213156121c657600080fd5b60006020828403121561595457600080fd5b815167ffffffffffffffff81111561596b57600080fd5b8201601f8101841361597c57600080fd5b805161598a614e7282614e0d565b81815285602083850101111561599f57600080fd5b6155a9826020830160208601615787565b6000826159e6577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b50049056fea164736f6c6343000817000a", + "nonce": "0x0", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x69cc85032858f025368562fe1bcb0b1408879f092eff2a06cff566b845854094", + "transactionType": "CREATE", + "contractName": "LlamaTokenVotingFactory", + "contractAddress": "0xFBE17545dffD75A92A5A72926AE581478973FE65", + "function": null, + "arguments": [ + "0x3f3DAB3ab8cEc2FBd06767c2A5F66Cb6BFF21A4A" + ], + "transaction": { + "type": "0x02", + "from": "0xb72276d9ff15c7998b9962ffcfb21a6c7249441b", + "gas": "0xc9127", + "value": "0x0", + "data": "0x60a060405234801561001057600080fd5b50604051610b16380380610b1683398101604081905261002f91610040565b6001600160a01b0316608052610070565b60006020828403121561005257600080fd5b81516001600160a01b038116811461006957600080fd5b9392505050565b608051610a8561009160003960008181604001526104390152610a856000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c806321618ea41461003b5780633ec857a51461008b575b600080fd5b6100627f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b61006261009936600461087b565b600080338360000151846040015185606001516040516020016100bf9493929190610959565b60405160208183030381529060405280519060200120905060006100e7846020015183610622565b60408086015190517f439fab9100000000000000000000000000000000000000000000000000000000815291925073ffffffffffffffffffffffffffffffffffffffff83169163439fab919161013f916004016109b9565b6020604051808303816000875af115801561015e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101829190610a0a565b50600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1663fc0c546a6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156101e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061020a9190610a33565b73ffffffffffffffffffffffffffffffffffffffff1603610257576040517f65f5b03400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517fcdfda4dd00000000000000000000000000000000000000000000000000000000815242600482015273ffffffffffffffffffffffffffffffffffffffff82169063cdfda4dd90602401602060405180830381865afa1580156102c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102e59190610a50565b65ffffffffffff16600003610326576040517f65f5b03400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff166391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865afa158015610371573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103959190610a50565b65ffffffffffff166000036103d6576040517f65f5b03400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1663ae2a6df26040518163ffffffff1660e01b815260040160006040518083038186803b15801561041c57600080fd5b505afa158015610430573d6000803e3d6000fd5b5050505061045e7f000000000000000000000000000000000000000000000000000000000000000083610622565b8451608086015160a0870151604080517f8734852a00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff948516600482015286851660248201526044810193909352815161ffff908116606485015260208301518116608485015290820151811660a48401526060909101511660c4820152919450841690638734852a9060e401600060405180830381600087803b15801561051757600080fd5b505af115801561052b573d6000803e3d6000fd5b505050508073ffffffffffffffffffffffffffffffffffffffff1663fc0c546a6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561057a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061059e9190610a33565b84516020808701516060808901516040805173ffffffffffffffffffffffffffffffffffffffff94851681528885169581019590955284015287821690830152466080830152928316929091169033907f4c8bb78cb1c62e64cef39fc4b4a1864d1a331a28c7bd59a67fe969cc8ab715879060a00160405180910390a45050919050565b6000763d602d80600a3d3981f3363d3d373d3d3d363d730000008360601b60e81c176000526e5af43d82803e903d91602b57fd5bf38360781b1760205281603760096000f5905073ffffffffffffffffffffffffffffffffffffffff81166106b6576040517fc2f868f400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405160c0810167ffffffffffffffff8111828210171561070e5761070e6106bc565b60405290565b73ffffffffffffffffffffffffffffffffffffffff8116811461073657600080fd5b50565b600082601f83011261074a57600080fd5b813567ffffffffffffffff80821115610765576107656106bc565b604051601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011681019082821181831017156107ab576107ab6106bc565b816040528381528660208588010111156107c457600080fd5b836020870160208301376000602085830101528094505050505092915050565b803561ffff811681146107f657600080fd5b919050565b60006080828403121561080d57600080fd5b6040516080810181811067ffffffffffffffff82111715610830576108306106bc565b60405290508061083f836107e4565b815261084d602084016107e4565b602082015261085e604084016107e4565b604082015261086f606084016107e4565b60608201525092915050565b60006020828403121561088d57600080fd5b813567ffffffffffffffff808211156108a557600080fd5b9083019061012082860312156108ba57600080fd5b6108c26106eb565b82356108cd81610714565b815260208301356108dd81610714565b60208201526040830135828111156108f457600080fd5b61090087828601610739565b60408301525060608301356060820152608083013560808201526109278660a085016107fb565b60a082015295945050505050565b60005b83811015610950578181015183820152602001610938565b50506000910152565b60007fffffffffffffffffffffffffffffffffffffffff000000000000000000000000808760601b168352808660601b1660148401525083516109a3816028850160208801610935565b6028920191820192909252604801949350505050565b60208152600082518060208401526109d8816040850160208701610935565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169190910160400192915050565b600060208284031215610a1c57600080fd5b81518015158114610a2c57600080fd5b9392505050565b600060208284031215610a4557600080fd5b8151610a2c81610714565b600060208284031215610a6257600080fd5b815165ffffffffffff81168114610a2c57600080fdfea164736f6c6343000817000a0000000000000000000000003f3dab3ab8cec2fbd06767c2a5f66cb6bff21a4a", + "nonce": "0x1", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x08c82c413a9fd929e93f0e7cf7d5b0123514ca1c6bc495e3240469cd5f149ffb", + "transactionType": "CREATE", + "contractName": "LlamaTokenAdapterVotesTimestamp", + "contractAddress": "0x088C268cb00226D6A9b29e5488905Aa94D2f0239", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0xb72276d9ff15c7998b9962ffcfb21a6c7249441b", + "gas": "0x10d28c", + "value": "0x0", + "data": "0x608060405234801561001057600080fd5b5061001961001e565b6100d0565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff161561006e5760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b03908116146100cd5780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b610df5806100df6000396000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c8063ae2a6df21161005b578063ae2a6df21461010a578063cdfda4dd14610114578063edb8ee5a14610127578063fc0c546a1461013a57600080fd5b8063439fab911461008d5780634bf5d7e9146100b557806391ddadf4146100ca5780639556de73146100e9575b600080fd5b6100a061009b3660046108e4565b61017f565b60405190151581526020015b60405180910390f35b6100bd6103a1565b6040516100ac9190610988565b6100d261042f565b60405165ffffffffffff90911681526020016100ac565b6100fc6100f7366004610a12565b6104e9565b6040519081526020016100ac565b610112610593565b005b6100d2610122366004610a4b565b6105ef565b6100fc610135366004610a64565b610600565b60005461015a9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100ac565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0080546000919068010000000000000000810460ff16159067ffffffffffffffff1683811580156101cd5750825b905060008267ffffffffffffffff1660011480156101ea5750303b155b9050811580156101f8575080155b1561022f576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b84547fffffffffffffffffffffffffffffffffffffffffffffffff000000000000000016600117855583156102905784547fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff16680100000000000000001785555b6000878060200190518101906102a69190610a81565b8051600080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff90921691909117905560408051808201909152600e81527f6d6f64653d74696d657374616d7000000000000000000000000000000000000060208201529091506001906103309082610b71565b50600196505083156103975784547fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b5050505050919050565b600180546103ae90610acd565b80601f01602080910402602001604051908101604052809291908181526020018280546103da90610acd565b80156104275780601f106103fc57610100808354040283529160200191610427565b820191906000526020600020905b81548152906001019060200180831161040a57829003601f168201915b505050505081565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166391ddadf46040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156104d7575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682019092526104d491810190610c8b565b60015b6104e4576104e44261069b565b905090565b600080546040517f3a46b1a800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff858116600483015265ffffffffffff8516602483015290911690633a46b1a890604401602060405180830381865afa158015610568573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061058c9190610ca8565b9392505050565b600061059d6106e8565b905060006105a9610712565b905081806105b45750805b156105eb576040517f6ff0714000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050565b60006105fa8261069b565b92915050565b600080546040517f8e539e8c00000000000000000000000000000000000000000000000000000000815265ffffffffffff8416600482015273ffffffffffffffffffffffffffffffffffffffff90911690638e539e8c90602401602060405180830381865afa158015610677573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105fa9190610ca8565b600065ffffffffffff8211156106e4576040517fc0188c4f0000000000000000000000000000000000000000000000000000000081526004810183905260240160405180910390fd5b5090565b60006106f34261069b565b65ffffffffffff1661070361042f565b65ffffffffffff161415905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16634bf5d7e96040518163ffffffff1660e01b8152600401600060405180830381865afa9250505080156107bf57506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526107bc9190810190610cc1565b60015b6107c95750600090565b60016040516020016107db9190610d38565b60405160208183030381529060405280519060200120816040516020016108029190610dcc565b60405160208183030381529060405280519060200120141591505090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff8111828210171561089657610896610820565b604052919050565b600067ffffffffffffffff8211156108b8576108b8610820565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b6000602082840312156108f657600080fd5b813567ffffffffffffffff81111561090d57600080fd5b8201601f8101841361091e57600080fd5b803561093161092c8261089e565b61084f565b81815285602083850101111561094657600080fd5b81602084016020830137600091810160200191909152949350505050565b60005b8381101561097f578181015183820152602001610967565b50506000910152565b60208152600082518060208401526109a7816040850160208701610964565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169190910160400192915050565b73ffffffffffffffffffffffffffffffffffffffff811681146109fb57600080fd5b50565b65ffffffffffff811681146109fb57600080fd5b60008060408385031215610a2557600080fd5b8235610a30816109d9565b91506020830135610a40816109fe565b809150509250929050565b600060208284031215610a5d57600080fd5b5035919050565b600060208284031215610a7657600080fd5b813561058c816109fe565b600060208284031215610a9357600080fd5b6040516020810181811067ffffffffffffffff82111715610ab657610ab6610820565b6040528251610ac4816109d9565b81529392505050565b600181811c90821680610ae157607f821691505b602082108103610b1a577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b601f821115610b6c576000816000526020600020601f850160051c81016020861015610b495750805b601f850160051c820191505b81811015610b6857828155600101610b55565b5050505b505050565b815167ffffffffffffffff811115610b8b57610b8b610820565b610b9f81610b998454610acd565b84610b20565b602080601f831160018114610bf25760008415610bbc5750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b178555610b68565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b82811015610c3f57888601518255948401946001909101908401610c20565b5085821015610c7b57878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b600060208284031215610c9d57600080fd5b815161058c816109fe565b600060208284031215610cba57600080fd5b5051919050565b600060208284031215610cd357600080fd5b815167ffffffffffffffff811115610cea57600080fd5b8201601f81018413610cfb57600080fd5b8051610d0961092c8261089e565b818152856020838501011115610d1e57600080fd5b610d2f826020830160208601610964565b95945050505050565b6000808354610d4681610acd565b60018281168015610d5e5760018114610d9157610dc0565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0084168752821515830287019450610dc0565b8760005260208060002060005b85811015610db75781548a820152908401908201610d9e565b50505082870194505b50929695505050505050565b60008251610dde818460208701610964565b919091019291505056fea164736f6c6343000817000a", + "nonce": "0x2", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0xd51972dbb2c6846fbd16f473b681a814d8d5e11c2ee7f82be9cd929599f7b461", + "transactionIndex": "0x1", + "blockHash": "0xfaf729156f4b8270f937b7e6adcb1ac09da8a44108f4f12f768ac63ae1dedd4f", + "blockNumber": "0xe35707", + "from": "0xb72276D9FF15c7998b9962FFCfB21A6C7249441B", + "to": null, + "cumulativeGasUsed": "0x4d59c6", + "gasUsed": "0x4ca2c1", + "contractAddress": "0x3f3DAB3ab8cEc2FBd06767c2A5F66Cb6BFF21A4A", + "logs": [ + { + "address": "0x3f3DAB3ab8cEc2FBd06767c2A5F66Cb6BFF21A4A", + "topics": [ + "0xc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2" + ], + "data": "0x000000000000000000000000000000000000000000000000ffffffffffffffff", + "blockHash": "0xfaf729156f4b8270f937b7e6adcb1ac09da8a44108f4f12f768ac63ae1dedd4f", + "blockNumber": "0xe35707", + "transactionHash": "0xd51972dbb2c6846fbd16f473b681a814d8d5e11c2ee7f82be9cd929599f7b461", + "transactionIndex": "0x1", + "logIndex": "0x0", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000800000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05efe" + }, + { + "transactionHash": "0x69cc85032858f025368562fe1bcb0b1408879f092eff2a06cff566b845854094", + "transactionIndex": "0x2", + "blockHash": "0xfaf729156f4b8270f937b7e6adcb1ac09da8a44108f4f12f768ac63ae1dedd4f", + "blockNumber": "0xe35707", + "from": "0xb72276D9FF15c7998b9962FFCfB21A6C7249441B", + "to": null, + "cumulativeGasUsed": "0x570536", + "gasUsed": "0x9ab70", + "contractAddress": "0xFBE17545dffD75A92A5A72926AE581478973FE65", + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05efe" + }, + { + "transactionHash": "0x08c82c413a9fd929e93f0e7cf7d5b0123514ca1c6bc495e3240469cd5f149ffb", + "transactionIndex": "0x3", + "blockHash": "0xfaf729156f4b8270f937b7e6adcb1ac09da8a44108f4f12f768ac63ae1dedd4f", + "blockNumber": "0xe35707", + "from": "0xb72276D9FF15c7998b9962FFCfB21A6C7249441B", + "to": null, + "cumulativeGasUsed": "0x63f6df", + "gasUsed": "0xcf1a9", + "contractAddress": "0x088C268cb00226D6A9b29e5488905Aa94D2f0239", + "logs": [ + { + "address": "0x088C268cb00226D6A9b29e5488905Aa94D2f0239", + "topics": [ + "0xc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2" + ], + "data": "0x000000000000000000000000000000000000000000000000ffffffffffffffff", + "blockHash": "0xfaf729156f4b8270f937b7e6adcb1ac09da8a44108f4f12f768ac63ae1dedd4f", + "blockNumber": "0xe35707", + "transactionHash": "0x08c82c413a9fd929e93f0e7cf7d5b0123514ca1c6bc495e3240469cd5f149ffb", + "transactionIndex": "0x3", + "logIndex": "0x1", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000800000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000008000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05efe" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1704991580, + "chain": 84531, + "multi": false, + "commit": "688208a" +} \ No newline at end of file diff --git a/build_info/token_voting_module_deployment_info.md b/build_info/token_voting_module_deployment_info.md new file mode 100644 index 0000000..20c115c --- /dev/null +++ b/build_info/token_voting_module_deployment_info.md @@ -0,0 +1,2 @@ +Deployed with: +- `forge 0.2.0 (68c3663 2024-01-11T00:37:40.946762000Z)` diff --git a/foundry.toml b/foundry.toml index 371ec3b..7a6a0b9 100644 --- a/foundry.toml +++ b/foundry.toml @@ -1,5 +1,6 @@ [profile.default] bytecode_hash = 'none' + evm_version = 'paris' ffi = true fs_permissions = [{ access = "read", path = "./script/input" }] invariant = { fail_on_revert = true } @@ -8,6 +9,7 @@ via_ir = false [profile.ci] + evm_version = 'paris' fuzz = { runs = 5000 } invariant = { runs = 1000, depth = 100 } optimizer = true