0 txs
0 calls
constructor
No constructor.
functions
deployGov
nonpayablefunction deployGov(uint256 homeChainId, bytes32 salt, address nft, string manifestoCid, string name, uint48 votingDelay, uint32 votingPeriod, uint256 proposalThreshold, uint256 quorumPercentage) returns (address)
events
GovDeployed
event GovDeployed(address indexed gov)
errors
No errors.
creation bytecode
0x60808060405234601557615c5e908161001a8239f35b5f80fdfe6080806040526004361015610012575f80fd5b5f5f3560e01c63a0336c7414610026575f80fd5b34610256576101207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610256576044359173ffffffffffffffffffffffffffffffffffffffff83168093036102565760643567ffffffffffffffff811161025657610098903690600401610287565b919060843567ffffffffffffffff8111610256576100ba903690600401610287565b60a4939193359165ffffffffffff83168093036102565760c4359063ffffffff821680920361025657602081019060243582527f474f5600000000000000000000000000000000000000000000000000000000006040820152602381526101226043826102b5565b519020956040519561591d938488019488861067ffffffffffffffff87111761025a57889761018094610172926103358b3960043588528d602089015261010060408901526101008801916102f6565b9185830360608701526102f6565b92608083015260a082015260e43560c082015260e06101043591015203905ff5801561024b5773ffffffffffffffffffffffffffffffffffffffff16823b15610256575f80936024604051809681937ff2fde38b0000000000000000000000000000000000000000000000000000000083528660048401525af192831561024b57602093610236575b50807f04efc9488b89b0e2730f36ba18dafe19dad2cbcbf349250ba89dd9081a7281686040519380a28152f35b6102439192505f906102b5565b5f905f610209565b6040513d5f823e3d90fd5b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b9181601f840112156102565782359167ffffffffffffffff8311610256576020838186019501011161025657565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761025a57604052565b601f82602094937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe093818652868601375f858286010152011601019056fe6101a0604052346100f2576100246100156101dc565b969590959491949392936104cd565b604051614cd39081610c2a823960805181614282015260a05181614339015260c05181614253015260e051816142d1015261010051816142f70152610120518161174a01526101405181611776015261016051818181611a5a015281816123dd0152818161255f0152818161260d01528181612a9601528181612ec601528181612fc8015281816137db0152613a9201526101805181818161048301528181610aba01528181610b20015281816110350152818161154601528181611f9c015281816122ef015261243e0152f35b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b601f909101601f19168101906001600160401b0382119082101761012d57604052565b6100f6565b6040519061014160408361010a565b565b5f5b8381106101545750505f910152565b8181015183820152602001610145565b81601f820112156100f25780516001600160401b03811161012d5760405192610197601f8301601f19166020018561010a565b818452602082840101116100f2576101b59160208085019101610143565b90565b519065ffffffffffff821682036100f257565b519063ffffffff821682036100f257565b61591d80380380604051926101f1828561010a565b8339810190610100818303126100f25780516020820151936001600160a01b03851685036100f25760408301516001600160401b0381116100f25784610238918501610164565b606084015190946001600160401b0382116100f257610258918501610164565b92610265608082016101b8565b9261027260a083016101cb565b9260e060c0840151930151919796959493929190565b90600182811c921680156102b6575b60208310146102a257565b634e487b7160e01b5f52602260045260245ffd5b91607f1691610297565b601f82116102cd57505050565b5f5260205f20906020601f840160051c83019310610305575b601f0160051c01905b8181106102fa575050565b5f81556001016102ef565b90915081906102e6565b80519091906001600160401b03811161012d5761033881610331600354610288565b60036102c0565b602092601f821160011461037857610368929382915f9261036d575b50508160011b915f199060031b1c19161790565b600355565b015190505f80610354565b60035f52601f198216937fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b915f5b8681106103dc57508360019596106103c4575b505050811b01600355565b01515f1960f88460031b161c191690555f80806103b9565b919260206001819286850151815501940192016103a6565b80519091906001600160401b03811161012d5761041d81610416600b54610288565b600b6102c0565b602092601f82116001146104515761044c929382915f9261036d5750508160011b915f199060031b1c19161790565b600b55565b600b5f52601f198216937f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db9915f5b8681106104b5575083600195961061049d575b505050811b01600b55565b01515f1960f88460031b161c191690555f8080610492565b9192602060018192868501518155019401920161047f565b94956105a06105a592939761059b6105b7976105966101419c986040516104f560408261010a565b6001815260208101603160f81b815261050d8361078f565b6101205261051a8261087c565b6101405282516020840120918260e05251902080610100524660a0526040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a0815261058760c08261010a565b5190206080523060c05261030f565b610688565b6106d5565b610756565b6001600160a01b0316610160526105c0565b610180526103f4565b6064811161067157600a549081610611575f5160206158fd5f395f51905f5291505f5b6105fd6105ee61096e565b6105f784610a10565b90610b20565b5050604080519182526020820192909252a1565b815f1981011161065d57600a5f527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a791909101545f5160206158fd5f395f51905f52919060301c6105e3565b634e487b7160e01b5f52601160045260245ffd5b63243e544560e01b5f52600452606460245260445ffd5b6008547fc565b045403dc03c2eea82b81a0465edad9e2e7fc4d97e11421c209da93d7a93604065ffffffffffff81519481851686521693846020820152a165ffffffffffff191617600855565b63ffffffff81169081156107435769ffffffff000000000000907f7e3f7f0708a84de9203036abaa450dccc85ad5ff52f78c170f3edb55cf5e882860406008549481519063ffffffff8760301c1682526020820152a160301b169069ffffffff000000000000191617600855565b63f1cfbf0560e01b5f525f60045260245ffd5b60075460408051918252602082018390527fccb45da8d5717e6c4544694297c4ba5cf151d455c9bb0ed4fc7a38411bc0546191a1600755565b908151602081105f146107a75750906101b590610a41565b6001600160401b03811161012d576107c9816107c35f54610288565b5f6102c0565b602092601f82116001146107ff576107f8929382915f9261036d5750508160011b915f199060031b1c19161790565b5f5560ff90565b5f8052601f198216937f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563915f5b868110610864575083600195961061084c575b505050811b015f5560ff90565b01515f1960f88460031b161c191690555f808061083f565b9192602060018192868501518155019401920161082c565b908151602081105f146108945750906101b590610a41565b6001600160401b03811161012d576108b8816108b1600154610288565b60016102c0565b602092601f82116001146108ef576108e7929382915f9261036d5750508160011b915f199060031b1c19161790565b60015560ff90565b60015f52601f198216937fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6915f5b868110610956575083600195961061093e575b505050811b0160015560ff90565b01515f1960f88460031b161c191690555f8080610930565b9192602060018192868501518155019401920161091d565b610160516040516324776b7d60e21b815290602090829060049082906001600160a01b03165afa5f91816109d4575b506101b5575065ffffffffffff43116109bc5765ffffffffffff431690565b6306dfcc6560e41b5f5260306004524360245260445ffd5b9091506020813d602011610a08575b816109f06020938361010a565b810103126100f257610a01906101b8565b905f61099d565b3d91506109e3565b6001600160d01b038111610a2a576001600160d01b031690565b6306dfcc6560e41b5f5260d060045260245260445ffd5b601f815111610a6c576020815191015160208210610a5d571790565b5f198260200360031b1b161790565b6044604051809263305a27a960e01b825260206004830152610a9d8151809281602486015260208686019101610143565b601f01601f19168101030190fd5b5f1981019190821161065d57565b9081546801000000000000000081101561012d5760018101808455811015610b0c575f9283526020928390208251929093015160301b65ffffffffffff191665ffffffffffff9290921691909117910155565b634e487b7160e01b5f52603260045260245ffd5b600a549192918015610c0057610b38610b6191610aab565b600a5f527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a80190565b908154610b7d610b768265ffffffffffff1690565b9160301c90565b9265ffffffffffff808416921691808311610bf157869203610bbb57610bb792509065ffffffffffff82549181199060301b169116179055565b9190565b5050610bb790610bda610bcc610132565b65ffffffffffff9092168252565b6001600160d01b03851660208201525b600a610ab9565b632520601d60e01b5f5260045ffd5b50610c2490610c10610bcc610132565b6001600160d01b0384166020820152610bea565b5f919056fe6080604052600436101561001a575b3615610018575f80fd5b005b5f3560e01c806301ffc9a71461036957806302a251a31461036457806306f3f9e61461035f57806306fdde031461035a578063143489d014610355578063150b7a0214610350578063160cbed71461034b5780631670590d146103465780631985ba76146103415780632656227d1461033c5780632d63f693146103375780632fe3e261146103325780633932abb11461032d5780633cd8aa5f146103285780633e4f49e614610323578063404fe7df1461031e5780634385963214610319578063452115d6146103145780634bf5d7e91461030f578063544ffc9c1461030a57806354fd4d501461030557806356781388146103005780635b8d0e0d146102fb5780635f398a14146102f657806360c4247f146102f157806379051887146102ec5780637b3c71d3146102e75780637d5e81e2146102e25780637ecebe00146102dd57806384b0196e146102d85780638ff262e3146102d357806391ddadf4146102ce57806397c3d334146102c95780639a802a6d146102c4578063a7713a70146102bf578063a9a95294146102ba578063ab58fb8e146102b5578063b47a3218146102b0578063b58131b0146102ab578063bc197c81146102a6578063c01f9e37146102a1578063c28bc2fa1461029c578063c59057e414610297578063cc31491c14610292578063dd4e2ba51461028d578063deaaa7cc14610288578063e2f3dce014610283578063e540d01d1461027e578063eb9019d414610279578063ece40cc114610274578063f23a6e611461026f578063f8ce560a1461026a5763fc0c546a0361000e576125e1565b612501565b612493565b612420565b61234d565b6122c4565b61229a565b61209f565b612040565b611f5d565b611f40565b611ed8565b611eba565b611e09565b611dec565b611b5e565b611b2b565b611b10565b611ad2565b6119b9565b61199e565b611974565b61181e565b611732565b6116ba565b611619565b6115c3565b61151f565b6114f1565b61146f565b6113ca565b61135b565b6112ec565b6112ab565b61127c565b611158565b6110f8565b611025565b610ff6565b610ecc565b610ea7565b610e6d565b610e38565b610c94565b610b08565b610aa3565b610a58565b610809565b61068d565b610595565b610465565b61043f565b3461043b57602060031936011261043b576004357fffffffff00000000000000000000000000000000000000000000000000000000811680910361043b57807f65455a860000000000000000000000000000000000000000000000000000000060209214908115610411575b81156103e7575b506040519015158152f35b7f01ffc9a7000000000000000000000000000000000000000000000000000000009150145f6103dc565b7f4e2312e000000000000000000000000000000000000000000000000000000000811491506103d5565b5f80fd5b3461043b575f60031936011261043b57602063ffffffff60085460301c16604051908152f35b3461043b57602060031936011261043b5760043561048161337b565b7f00000000000000000000000000000000000000000000000000000000000000004603610513577f600fd04326dab9958c211ef80b2855cc3b991bb1793e123e1ecf1cad9695849260049179ffffffffffffffffffffffffffffffffffffffffffffffffffff6104ef61405b565b166104f9826133b0565b60408051918252602082019290925290819081015b0390a2005b7f970544a3000000000000000000000000000000000000000000000000000000005f5260045ffd5b5f5b83811061054c5750505f910152565b818101518382015260200161053d565b90601f19601f60209361057a8151809281875287808801910161053b565b0116010190565b90602061059292818152019061055c565b90565b3461043b575f60031936011261043b576040515f6003546105b5816120d9565b808452906001811690811561064b57506001146105ed575b6105e9836105dd81850382610763565b60405191829182610581565b0390f35b60035f9081527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b939250905b808210610631575090915081016020016105dd6105cd565b919260018160209254838588010152019101909291610619565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660208086019190915291151560051b840190910191506105dd90506105cd565b3461043b57602060031936011261043b576004355f526004602052602073ffffffffffffffffffffffffffffffffffffffff60405f205416604051908152f35b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361043b57565b6024359073ffffffffffffffffffffffffffffffffffffffff8216820361043b57565b6044359073ffffffffffffffffffffffffffffffffffffffff8216820361043b57565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b90601f601f19910116810190811067ffffffffffffffff82111761078657604052565b610736565b6040519061079a604083610763565b565b67ffffffffffffffff811161078657601f01601f191660200190565b9291926107c48261079c565b916107d26040519384610763565b82948184528183011161043b578281602093845f960137010152565b9080601f8301121561043b57816020610592933591016107b8565b3461043b57608060031936011261043b576108226106cd565b5061082b6106f0565b5060643567ffffffffffffffff811161043b5761084c9036906004016107ee565b5060206040517f150b7a02000000000000000000000000000000000000000000000000000000008152f35b67ffffffffffffffff81116107865760051b60200190565b9080601f8301121561043b578135906108a782610877565b926108b56040519485610763565b82845260208085019360051b82010191821161043b57602001915b8183106108dd5750505090565b823573ffffffffffffffffffffffffffffffffffffffff8116810361043b578152602092830192016108d0565b9080601f8301121561043b57813561092181610877565b9261092f6040519485610763565b81845260208085019260051b82010192831161043b57602001905b8282106109575750505090565b813581526020918201910161094a565b9080601f8301121561043b57813561097e81610877565b9261098c6040519485610763565b81845260208085019260051b8201019183831161043b5760208201905b8382106109b857505050505090565b813567ffffffffffffffff811161043b576020916109db878480948801016107ee565b8152019101906109a9565b608060031982011261043b5760043567ffffffffffffffff811161043b5781610a119160040161088f565b9160243567ffffffffffffffff811161043b5782610a319160040161090a565b916044359067ffffffffffffffff821161043b57610a5191600401610967565b9060643590565b3461043b57610a7a610a75610a6c366109e6565b929190916132ed565b6134fb565b507f90884a46000000000000000000000000000000000000000000000000000000005f5260045ffd5b3461043b575f60031936011261043b5760206040517f00000000000000000000000000000000000000000000000000000000000000008152f35b602060031982011261043b576004359067ffffffffffffffff821161043b57610592916004016107ee565b3461043b57610b1636610add565b610b1e61337b565b7f000000000000000000000000000000000000000000000000000000000000000046036105135760405190610b5d82610b568161212a565b0383610763565b80519167ffffffffffffffff831161078657610b8383610b7e600b546120d9565b61263b565b6020601f8411600114610bf357837fa8dfc2695fb14159dabe09a19be7fe25dc9ec353ad79a80d728140a1ec84214794610bd0925f91610be8575b505f198260011b9260031b1c19161790565b600b555b610be3604051928392836127bd565b0390a1005b90508401515f610bbe565b600b5f52601f198416907f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db9915f5b818110610c7c57509185917fa8dfc2695fb14159dabe09a19be7fe25dc9ec353ad79a80d728140a1ec8421479660019410610c64575b5050811b01600b55610bd4565b8501515f1960f88460031b161c191690555f80610c57565b91926020600181928689015181550194019201610c21565b610cac610ca0366109e6565b818385949693956132ed565b91602091610cbb603085613606565b50610d1a610cd1855f52600460205260405f2090565b7e010000000000000000000000000000000000000000000000000000000000007fff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff825416179055565b5f925b50906105e994610d2c926136e4565b80610d81575b610d78575b6040518181527f712ae1383f79ac853f8d882153778e0260ef8f03b504e2866e0593e04d2b291f9080602081015b0390a16040519081529081906020820190565b5f600555610d37565b50610daa610da66005546fffffffffffffffffffffffffffffffff81169060801c1490565b1590565b610d32565b8351811015610e295760019030610dff610de6610dcc848961280f565b5173ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff1690565b14610e0b575b01610daf565b610e24610e18828861280f565b5189815191012061365d565b610e05565b509394509291906105e9610d1d565b3461043b57602060031936011261043b576004355f526004602052602065ffffffffffff60405f205460a01c16604051908152f35b3461043b575f60031936011261043b5760206040517f3e83946653575f9a39005e1545185629e92736b7528ab20ca3816f315424a8118152f35b3461043b575f60031936011261043b57602065ffffffffffff60085416604051908152f35b3461043b57610eec610edd36610add565b60208082518301019101612877565b6040516020810190610f1181610f038630866128a8565b03601f198101835282610763565b519020604051610f5381610f03602082019485603c917f19457468657265756d205369676e6564204d6573736167653a0a3332000000008252601c8201520190565b51902003610f8e577fa8dfc2695fb14159dabe09a19be7fe25dc9ec353ad79a80d728140a1ec84214790610f85612287565b610bd4826126da565b7fe7ecd2c4000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b6008811015610ff157602452565b610fb6565b3461043b57602060031936011261043b576110126004356128f1565b6040516008821015610ff1576020918152f35b3461043b5761103336610add565b7f000000000000000000000000000000000000000000000000000000000000000046036110d0576105e9906105dd604051602081019061107881610f038630866128a8565b5190206040516110ba81610f03602082019485603c917f19457468657265756d205369676e6564204d6573736167653a0a3332000000008252601c8201520190565b51902091610f0360405193849260208401612a19565b7f0af9f83a000000000000000000000000000000000000000000000000000000005f5260045ffd5b3461043b57604060031936011261043b57602060ff61114c60043561111b6106f0565b905f5260098452600360405f20019073ffffffffffffffffffffffffffffffffffffffff165f5260205260405f2090565b54166040519015158152f35b3461043b57611166366109e6565b906111758282858796976132ed565b61117e81613554565b505f52600460205273ffffffffffffffffffffffffffffffffffffffff60405f2054163303611250576105e9936111b4936132ed565b6111bf603b82613606565b5061121e6111d5825f52600460205260405f2090565b7f01000000000000000000000000000000000000000000000000000000000000007effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff825416179055565b6040518181527f789cf55be980739dad1d0699b93b58e806b51c9d96619bfa8fe0a28abaa7b30c908060208101610d65565b7f233d98e3000000000000000000000000000000000000000000000000000000005f523360045260245ffd5b3461043b575f60031936011261043b576105e9611297612a54565b60405191829160208352602083019061055c565b3461043b57602060031936011261043b576004355f526009602052606060405f20805490600260018201549101549060405192835260208301526040820152f35b3461043b575f60031936011261043b576105e960405161130d604082610763565b600181527f3100000000000000000000000000000000000000000000000000000000000000602082015260405191829160208352602083019061055c565b6024359060ff8216820361043b57565b3461043b57604060031936011261043b57602061139460043561137c61134b565b6040519161138a8584610763565b5f83523390613836565b604051908152f35b9181601f8401121561043b5782359167ffffffffffffffff831161043b576020838186019501011161043b57565b3461043b5760c060031936011261043b576004356113e661134b565b906113ef610713565b9060643567ffffffffffffffff811161043b5761141090369060040161139c565b60843567ffffffffffffffff811161043b576114309036906004016107ee565b9160a4359467ffffffffffffffff861161043b576105e99661145961145f9736906004016107ee565b95612b41565b6040519081529081906020820190565b3461043b57608060031936011261043b5760043561148b61134b565b9060443567ffffffffffffffff811161043b576114ac90369060040161139c565b91909260643567ffffffffffffffff811161043b576114e6946114d66114de9236906004016107ee565b9436916107b8565b9133906139f6565b604051908152602090f35b3461043b57602060031936011261043b576020611394600435612cc4565b65ffffffffffff81160361043b57565b3461043b57602060031936011261043b5760043561153c8161150f565b61154461337b565b7f00000000000000000000000000000000000000000000000000000000000000004603610513577f600fd04326dab9958c211ef80b2855cc3b991bb1793e123e1ecf1cad9695849260019165ffffffffffff600854166115a382613bae565b6040805191825265ffffffffffff9092166020820152908190810161050e565b3461043b57606060031936011261043b576004356115df61134b565b906044359067ffffffffffffffff821161043b5760209261161161160a61139494369060040161139c565b36916107b8565b913390613836565b3461043b57608060031936011261043b5760043567ffffffffffffffff811161043b5761164a90369060040161088f565b60243567ffffffffffffffff811161043b5761166a90369060040161090a565b9060443567ffffffffffffffff811161043b5761168b903690600401610967565b906064359167ffffffffffffffff831161043b576105e9936116b461145f9436906004016107ee565b92612dfd565b3461043b57602060031936011261043b5773ffffffffffffffffffffffffffffffffffffffff6116e86106cd565b165f526002602052602060405f2054604051908152f35b90602080835192838152019201905f5b81811061171c5750505090565b825184526020938401939092019160010161170f565b3461043b575f60031936011261043b576117f061176e7f00000000000000000000000000000000000000000000000000000000000000006147f0565b6105e961179a7f0000000000000000000000000000000000000000000000000000000000000000614861565b6117fe604051916117ac602084610763565b5f8084523660208501376040519586957f0f00000000000000000000000000000000000000000000000000000000000000875260e0602088015260e087019061055c565b90858203604087015261055c565b904660608501523060808501525f60a085015283820360c08501526116ff565b3461043b57608060031936011261043b5760043561183a61134b565b90611843610713565b9160643567ffffffffffffffff811161043b57610da661186a6119169236906004016107ee565b61191061189e8773ffffffffffffffffffffffffffffffffffffffff165f52600260205260405f2080549060018201905590565b60405160208101917ff2aad550cf55f045cb27e9c559f9889fdfb6e6cdaa032301d6ea397784ae51d7835288604083015260ff8816606083015273ffffffffffffffffffffffffffffffffffffffff8a16608083015260a082015260a0815261190860c082610763565b519020613853565b8661389e565b611931579061145f916105e99361192b612a40565b92613836565b7f94ab6c07000000000000000000000000000000000000000000000000000000005f5273ffffffffffffffffffffffffffffffffffffffff831660045260245b5ffd5b3461043b575f60031936011261043b57602061198e612f85565b65ffffffffffff60405191168152f35b3461043b575f60031936011261043b57602060405160648152f35b3461043b57606060031936011261043b576119d26106cd565b60243560443567ffffffffffffffff811161043b576119f59036906004016107ee565b5073ffffffffffffffffffffffffffffffffffffffff604051927f3a46b1a8000000000000000000000000000000000000000000000000000000008452166004830152602482015260208160448173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000165afa8015611acd576105e9915f91611a9e575b506040519081529081906020820190565b611ac0915060203d602011611ac6575b611ab88183610763565b8101906130f3565b5f611a8d565b503d611aae565b612a35565b3461043b575f60031936011261043b57602079ffffffffffffffffffffffffffffffffffffffffffffffffffff611b0761405b565b16604051908152f35b3461043b57602060031936011261043b5760206040515f8152f35b3461043b57602060031936011261043b5760206113946004355f52600460205265ffffffffffff600160405f2001541690565b3461043b57611b7e611b6f36610add565b6020808251830101910161303e565b611b8783612631565b6040516020810190611b9f81610f0386883087613089565b519020604051611be181610f03602082019485603c917f19457468657265756d205369676e6564204d6573736167653a0a3332000000008252601c8201520190565b51902003611dc457611bf282612631565b60018203611c5e57611c2d611c277f600fd04326dab9958c211ef80b2855cc3b991bb1793e123e1ecf1cad969584929261316c565b60d01c90565b611c4c611c4165ffffffffffff6008541690565b65ffffffffffff1690565b611c5582613bae565b6115a384612631565b611c6782612631565b60028203611cf057611ca2611c9c7f600fd04326dab9958c211ef80b2855cc3b991bb1793e123e1ecf1cad9695849292613102565b60e01c90565b611cc0611cb763ffffffff60085460301c1690565b63ffffffff1690565b611cc9826140d8565b611cd284612631565b6040805191825263ffffffff9092166020820152908190810161050e565b611cf982612631565b60038203611d4a57611d35816020807f600fd04326dab9958c211ef80b2855cc3b991bb1793e123e1ecf1cad96958492945183010191016130f3565b600754611d418261409f565b6104f984612631565b611d5382612631565b60048214611d5d57005b611d91816020807f600fd04326dab9958c211ef80b2855cc3b991bb1793e123e1ecf1cad96958492945183010191016130f3565b611dbb611d9c61405b565b79ffffffffffffffffffffffffffffffffffffffffffffffffffff1690565b611d41826133b0565b7f6ef8eb94000000000000000000000000000000000000000000000000000000005f5260045ffd5b3461043b575f60031936011261043b576020600754604051908152f35b3461043b5760a060031936011261043b57611e226106cd565b50611e2b6106f0565b5060443567ffffffffffffffff811161043b57611e4c90369060040161090a565b5060643567ffffffffffffffff811161043b57611e6d90369060040161090a565b5060843567ffffffffffffffff811161043b57611e8e9036906004016107ee565b506040517fbc197c81000000000000000000000000000000000000000000000000000000008152602090f35b3461043b57602060031936011261043b5760206113946004356131d6565b606060031936011261043b57611eec6106cd565b60243560443567ffffffffffffffff811161043b57610018925f92611f168493369060040161139c565b9190611f2061337b565b826040519384928337810185815203925af1611f3a61321d565b90614187565b3461043b576020611394610a6c366109e6565b6005111561043b57565b3461043b57604060031936011261043b57600435611f7a81611f53565b60243567ffffffffffffffff811161043b57611f9a9036906004016107ee565b7f000000000000000000000000000000000000000000000000000000000000000046036110d0576005821015610ff1576105dd6105e992610f036040516020810190611fec81610f0388873087613089565b51902060405161202e81610f03602082019485603c917f19457468657265756d205369676e6564204d6573736167653a0a3332000000008252601c8201520190565b51902060405194859360208501613354565b3461043b575f60031936011261043b576105e9604051612061604082610763565b602081527f737570706f72743d627261766f2671756f72756d3d666f722c6162737461696e602082015260405191829160208352602083019061055c565b3461043b575f60031936011261043b5760206040517ff2aad550cf55f045cb27e9c559f9889fdfb6e6cdaa032301d6ea397784ae51d78152f35b90600182811c92168015612120575b60208310146120f357565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b91607f16916120e8565b600b545f9291612139826120d9565b80825291600181169081156121ad5750600114612154575050565b600b5f9081529293509091907f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db95b838310612193575060209250010190565b600181602092949394548385870101520191019190612182565b60209495507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0091509291921683830152151560051b010190565b5f92918154916121f6836120d9565b808352926001811690811561224b575060011461221257505050565b5f9081526020812093945091925b838310612231575060209250010190565b600181602092949394548385870101520191019190612220565b905060209495507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0091509291921683830152151560051b010190565b6040519061079a82610b5681600b6121e7565b3461043b575f60031936011261043b576105e9604051611297816122bd8161212a565b0382610763565b3461043b57602060031936011261043b5760043563ffffffff8116810361043b576122ed61337b565b7f00000000000000000000000000000000000000000000000000000000000000004603610513577f600fd04326dab9958c211ef80b2855cc3b991bb1793e123e1ecf1cad9695849260029163ffffffff60085460301c16611cd2826140d8565b3461043b57604060031936011261043b576123666106cd565b6024355f604051612378602082610763565b5273ffffffffffffffffffffffffffffffffffffffff604051927f3a46b1a8000000000000000000000000000000000000000000000000000000008452166004830152602482015260208160448173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000165afa8015611acd576105e9915f91611a9e57506040519081529081906020820190565b3461043b57602060031936011261043b5760043561243c61337b565b7f00000000000000000000000000000000000000000000000000000000000000004603610513577f600fd04326dab9958c211ef80b2855cc3b991bb1793e123e1ecf1cad969584926003916007546104f98261409f565b3461043b5760a060031936011261043b576124ac6106cd565b506124b56106f0565b5060843567ffffffffffffffff811161043b576124d69036906004016107ee565b5060206040517ff23a6e61000000000000000000000000000000000000000000000000000000008152f35b3461043b57602060031936011261043b57600435604051907f8e539e8c00000000000000000000000000000000000000000000000000000000825280600483015260208260248173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000165afa918215611acd576105e9926064926125aa925f926125bc575b506125a490612cc4565b906141f2565b04604051918291829190602083019252565b6125a49192506125da9060203d602011611ac657611ab88183610763565b919061259a565b3461043b575f60031936011261043b57602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b60051115610ff157565b601f8111612647575050565b600b5f5260205f20906020601f840160051c83019310612681575b601f0160051c01905b818110612676575050565b5f815560010161266b565b9091508190612662565b601f821161269857505050565b5f5260205f20906020601f840160051c830193106126d0575b601f0160051c01905b8181106126c5575050565b5f81556001016126ba565b90915081906126b1565b90815167ffffffffffffffff811161078657612702816126fb600b546120d9565b600b61268b565b602092601f821160011461274157612731929382915f92612736575b50505f198260011b9260031b1c19161790565b600b55565b015190505f8061271e565b600b5f52601f198216937f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db9915f5b8681106127a5575083600195961061278d575b505050811b01600b55565b01515f1960f88460031b161c191690555f8080612782565b9192602060018192868501518155019401920161276f565b90916127d46105929360408452604084019061055c565b91602081840391015261055c565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b80518210156128235760209160051b010190565b6127e2565b909291926128358161079c565b916128436040519384610763565b82948284528282011161043b57602061079a93019061053b565b9080601f8301121561043b57815161059292602001612828565b919060408382031261043b57825167ffffffffffffffff811161043b576020916128a291850161285d565b92015190565b7fffffffffffffffffffffffffffffffffffffffff0000000000000000000000006015939260601b1681525f60148201526128ec825180936020868501910161053b565b010190565b612903815f52600460205260405f2090565b5460f881901c9060f01c60ff16612a1257612a0c5761293f611c41612930835f52600460205260405f2090565b5460a01c65ffffffffffff1690565b80156129df57612950611c41612f85565b809110156129d957612961826131d6565b1061296c5750600190565b612978610da68261376d565b80156129b6575b1561298a5750600390565b6129a8905f52600460205265ffffffffffff600160405f2001541690565b6129b157600490565b600590565b506129d4610da6825f52600960205260405f20600181015490541090565b61297f565b50505f90565b7f6ad06075000000000000000000000000000000000000000000000000000000005f52600482905260245ffd5b50600290565b5050600790565b929190612a3060209160408652604086019061055c565b930152565b6040513d5f823e3d90fd5b60405190612a4f602083610763565b5f8252565b6040517f4bf5d7e90000000000000000000000000000000000000000000000000000000081525f8160048173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000165afa5f9181612b01575b506105925750604051612ad4604082610763565b601d81527f6d6f64653d626c6f636b6e756d6265722666726f6d3d64656661756c74000000602082015290565b9091503d805f833e612b138183610763565b810160208282031261043b57815167ffffffffffffffff811161043b57612b3a920161285d565b905f612ac0565b939092919695610da6612c1a91612c1487878c8b612b868273ffffffffffffffffffffffffffffffffffffffff165f52600260205260405f2080549060018201905590565b73ffffffffffffffffffffffffffffffffffffffff612ba6368c8e6107b8565b6020815191012092602081519101209360ff6040519660208801987f3e83946653575f9a39005e1545185629e92736b7528ab20ca3816f315424a8118a52604089015216606087015216608085015260a084015260c083015260e082015260e0815261190861010082610763565b8a61389e565b612c3557610592959691612c2f9136916107b8565b926139f6565b7f94ab6c07000000000000000000000000000000000000000000000000000000005f5273ffffffffffffffffffffffffffffffffffffffff871660045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b905f198201918211612cb257565b612c77565b91908203918211612cb257565b600a54905f198201828111612cb25782111561282357600a5f527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a78201548165ffffffffffff82161115612df45750612d1c90613b66565b5f829160058411612d83575b612d329350614664565b80612d3c57505f90565b612d7e612d77612d4e61059293612ca4565b600a5f527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a80190565b5460301c90565b611d9c565b9192612d8e816144ef565b8103908111612cb257612d3293600a5f5265ffffffffffff827fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a801541665ffffffffffff8516105f14612de2575091612d28565b929150612dee90613752565b90612d28565b91505060301c90565b9193929093612e0c8233613c14565b15612f59576007549485612e28575b6105929495503393613df2565b5f1965ffffffffffff612e39612f85565b160165ffffffffffff8111612cb25765ffffffffffff16955f604051612e60602082610763565b52604051967f3a46b1a800000000000000000000000000000000000000000000000000000000885273ffffffffffffffffffffffffffffffffffffffff33166004890152602488015260208760448173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000165afa968715611acd575f97612f38575b50808710612f045750612e1b565b7fc242ee16000000000000000000000000000000000000000000000000000000005f5233600452602487905260445260645ffd5b612f5291975060203d602011611ac657611ab88183610763565b955f612ef6565b7fd9b39557000000000000000000000000000000000000000000000000000000005f523360045260245ffd5b6040517f91ddadf400000000000000000000000000000000000000000000000000000000815260208160048173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000165afa5f9181613001575b50610592575061059243613b66565b9091506020813d602011613036575b8161301d60209383610763565b8101031261043b575161302f8161150f565b905f612ff2565b3d9150613010565b909160608284031261043b57815161305581611f53565b92602083015167ffffffffffffffff811161043b57830181601f8201121561043b576040918160206128a293519101612828565b90601593927fffffffffffffffffffffffffffffffffffffffff0000000000000000000000007fff000000000000000000000000000000000000000000000000000000000000009260601b16835260f81b1660148201526128ec825180936020868501910161053b565b9081602091031261043b575190565b90602082519201517fffffffff000000000000000000000000000000000000000000000000000000008116926004811061313a575050565b7fffffffff00000000000000000000000000000000000000000000000000000000929350829060040360031b1b161690565b90602082519201517fffffffffffff0000000000000000000000000000000000000000000000000000811692600681106131a4575050565b7fffffffffffff0000000000000000000000000000000000000000000000000000929350829060060360031b1b161690565b805f52600460205265ffffffffffff60405f205460a01c16905f52600460205263ffffffff60405f205460d01c160165ffffffffffff8111612cb25765ffffffffffff1690565b3d15613247573d9061322e8261079c565b9161323c6040519384610763565b82523d5f602084013e565b606090565b90602080835192838152019201905f5b8181106132695750505090565b825173ffffffffffffffffffffffffffffffffffffffff1684526020938401939092019160010161325c565b9080602083519182815201916020808360051b8301019401925f915b8383106132c057505050505090565b90919293946020806132de83601f198660019603018752895161055c565b970193019301919392906132b1565b929061334e9161333a61332894604051958694613316602087019960808b5260a088019061324c565b90601f198783030160408801526116ff565b90601f19858303016060860152613295565b90608083015203601f198101835282610763565b51902090565b939291906005811015610ff157604091612a3091865260606020870152606086019061055c565b33300361338457565b7f47096e47000000000000000000000000000000000000000000000000000000005f523360045260245ffd5b906064821161349e5779ffffffffffffffffffffffffffffffffffffffffffffffffffff6133dc61405b565b16916133e6612f85565b9279ffffffffffffffffffffffffffffffffffffffffffffffffffff821161346d576134517f0553476bf02ef2726e8ce5ced78d63e26e602e4a2257b1f559418e24b4633997939479ffffffffffffffffffffffffffffffffffffffffffffffffffff841690614904565b505060408051918252602082019290925290819081015b0390a1565b507f6dfcc650000000000000000000000000000000000000000000000000000000005f5260d060045260245260445ffd5b507f243e5445000000000000000000000000000000000000000000000000000000005f52600452606460245260445ffd5b6008811015610ff15760ff600191161b90565b600452606491906008811015610ff1576024525f604452565b613504816128f1565b906010613510836134cf565b161561351a575090565b61354a92507f31b75e4d000000000000000000000000000000000000000000000000000000005f52600452610fe3565b601060445260645ffd5b61355d816128f1565b906001613569836134cf565b1615613573575090565b6135a392507f31b75e4d000000000000000000000000000000000000000000000000000000005f52600452610fe3565b600160445260645ffd5b6135b6816128f1565b9060026135c2836134cf565b16156135cc575090565b6135fc92507f31b75e4d000000000000000000000000000000000000000000000000000000005f52600452610fe3565b600260445260645ffd5b90613610826128f1565b918161361b846134cf565b161561362657505090565b7f31b75e4d000000000000000000000000000000000000000000000000000000005f5260045261365582610fe3565b60445260645ffd5b600554908160801c6fffffffffffffffffffffffffffffffff806001830116931683146136d2575f52600660205260405f20556fffffffffffffffffffffffffffffffff7fffffffffffffffffffffffffffffffff000000000000000000000000000000006005549260801b16911617600555565b634e487b715f5260416020526024601cfd5b9291925f5b815181101561374b57806137445f8073ffffffffffffffffffffffffffffffffffffffff6137196001968861280f565b5116613725858961280f565b5190613731868c61280f565b5191602083519301915af1611f3a61321d565b50016136e9565b5050509050565b9060018201809211612cb257565b91908201809211612cb257565b805f52600960205260405f20905f52600460205265ffffffffffff60405f205460a01c16604051907f8e539e8c00000000000000000000000000000000000000000000000000000000825280600483015260208260248173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000165afa918215611acd576138319260649261381f925f926125bc57506125a490612cc4565b04916002600182015491015490613760565b101590565b9161059293916040519361384b602086610763565b5f85526139f6565b60429061385e61423c565b90604051917f19010000000000000000000000000000000000000000000000000000000000008352600283015260228201522090565b60041115610ff157565b9190823b6138e657906138b09161435f565b506138ba81613894565b1591826138c657505090565b73ffffffffffffffffffffffffffffffffffffffff919250811691161490565b915f92610f03613935859460405192839160208301957f1626ba7e000000000000000000000000000000000000000000000000000000008752602484015260406044840152606483019061055c565b51915afa61394161321d565b81613988575b81613950575090565b905060208180518101031261043b57602001517f1626ba7e000000000000000000000000000000000000000000000000000000001490565b905060208151101590613947565b93909260ff6139c29361059297958752166020860152604085015260a0606085015260a084019061055c565b91608081840391015261055c565b909260ff608093610592969584521660208301526040820152816060820152019061055c565b92919092613a03816135ad565b50805f52600460205265ffffffffffff613a2a60405f2065ffffffffffff905460a01c1690565b16936040517f3a46b1a800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff821695866004830152602482015260208160448173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000165afa908115611acd57613acf9285915f93613b45575b5084614399565b948051155f14613b125750613b0c7fb8e138887d0aa13bab447e82de9d5c1777041ecd21ca36ba824ff1e6c07ddda49386604051948594856139d0565b0390a290565b613b0c907fe2babfbac5889a709b63bb7f598b324e08bc5a4fb9ec647fb3cbc9ec07eb8712948760405195869586613996565b613b5f91935060203d602011611ac657611ab88183610763565b915f613ac8565b65ffffffffffff8111613b7e5765ffffffffffff1690565b7f6dfcc650000000000000000000000000000000000000000000000000000000005f52603060045260245260445ffd5b7fffffffffffffffffffffffffffffffffffffffffffffffffffff0000000000006008547fc565b045403dc03c2eea82b81a0465edad9e2e7fc4d97e11421c209da93d7a93604065ffffffffffff81519581851687521694856020820152a11617600855565b90805160348110613cc8577f2370726f706f7365723d000000000000000000000000000000000000000000007fffffffffffffffffffff000000000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec83850101511603613cc857613cba917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd68201906146dd565b90159182156138c657505090565b505050600190565b90613cda82610877565b613ce76040519182610763565b828152601f19613cf78294610877565b01905f5b828110613d0757505050565b806060602080938501015201613cfb565b95999896979493919273ffffffffffffffffffffffffffffffffffffffff613d6794613d59938952166020880152610120604088015261012087019061324c565b9085820360608701526116ff565b968388036080850152815180895260208901906020808260051b8c01019401915f905b828210613dc6575050505061059296975090613dad9184820360a0860152613295565b9360c083015260e082015261010081840391015261055c565b90919294602080613de4838f601f199060019603018652895161055c565b970192019201909291613d8a565b929094939194613e0a825160208401208783876132ed565b958451825190818114801590614050575b8015614048575b61400e57505065ffffffffffff613e44612930895f52600460205260405f2090565b16613fd85791613468917f7d84a6263ae0d98d3329bd7b46bb4e8d6f98cd35a7adb45c274c8b7fd5ebd5e0959493613e9f613e7d612f85565b65ffffffffffff613e98611c4165ffffffffffff6008541690565b9116613760565b90613eb5611cb763ffffffff60085460301c1690565b613fb6613eca8c5f52600460205260405f2090565b80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8a16178155613f5f613f1486613b66565b82547fffffffffffff000000000000ffffffffffffffffffffffffffffffffffffffff1660a09190911b79ffffffffffff000000000000000000000000000000000000000016178255565b613f68836147ac565b7fffff00000000ffffffffffffffffffffffffffffffffffffffffffffffffffff7dffffffff000000000000000000000000000000000000000000000000000083549260d01b169116179055565b613fca613fc38951613cd0565b9184613760565b936040519889988d8a613d18565b61197187613fe5816128f1565b907f31b75e4d000000000000000000000000000000000000000000000000000000005f526134e2565b6119719251907f447b05d0000000000000000000000000000000000000000000000000000000005f52929190606493600452602452604452565b508015613e22565b508251811415613e1b565b600a548061406857505f90565b805f19810111612cb257600a5f527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a7015460301c90565b60075460408051918252602082018390527fccb45da8d5717e6c4544694297c4ba5cf151d455c9bb0ed4fc7a38411bc0546191a1600755565b63ffffffff811690811561415b5769ffffffff0000000000007fffffffffffffffffffffffffffffffffffffffffffff00000000ffffffffffff917f7e3f7f0708a84de9203036abaa450dccc85ad5ff52f78c170f3edb55cf5e882860406008549581519063ffffffff8860301c1682526020820152a160301b16911617600855565b7ff1cfbf05000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b90919061079a575080511561419e57805190602001fd5b7fd6bda275000000000000000000000000000000000000000000000000000000005f5260045ffd5b908160011b9180830460021490151715612cb257565b908160041b9180830460101490151715612cb257565b81810292918115918404141715612cb257565b811561420f570490565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b73ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016301480614336575b156142a4577f000000000000000000000000000000000000000000000000000000000000000090565b60405160208101907f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f82527f000000000000000000000000000000000000000000000000000000000000000060408201527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260a0815261334e60c082610763565b507f0000000000000000000000000000000000000000000000000000000000000000461461427b565b815191906041830361438f576143889250602082015190606060408401519301515f1a90614a41565b9192909190565b50505f9160029190565b6143ae909291925f52600960205260405f2090565b91600383016143e56143de83839073ffffffffffffffffffffffffffffffffffffffff165f5260205260405f2090565b5460ff1690565b6144ad5761441760ff9392614442929073ffffffffffffffffffffffffffffffffffffffff165f5260205260405f2090565b60017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00825416179055565b16806144595750614454828254613760565b905590565b600181036144705750600101614454828254613760565b60020361448557600201614454828254613760565b7f06b337c2000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f71c6af49000000000000000000000000000000000000000000000000000000005f5273ffffffffffffffffffffffffffffffffffffffff821660045260245ffd5b600181111561059257806001700100000000000000000000000000000000831015614622575b6145c86145be6145b46145aa6145a06145966145856145cf9760048a680100000000000000006145d49c1015614615575b640100000000811015614608575b620100008110156145fb575b6101008110156145ee575b60108110156145e1575b10156145d9575b60030260011c90565b61458f818b614205565b0160011c90565b61458f818a614205565b61458f8189614205565b61458f8188614205565b61458f8187614205565b61458f8186614205565b8093614205565b821190565b900390565b60011b61457c565b60041c9160021b91614575565b60081c9160041b9161456b565b60101c9160081b91614560565b60201c9160101b91614554565b60401c9160201b91614546565b50506145d46145cf6145c86145be6145b46145aa6145a06145966145856146498a60801c90565b98506801000000000000000097506145159650505050505050565b905b82811061467257505090565b90918082169080831860011c8201809211612cb257600a5f527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a882015465ffffffffffff90811690851610156146cb5750915b90614666565b9291506146d790613752565b906146c5565b8051831180156147a3575b614749576146f582613752565b831180614752575b6147089015156141c6565b60280180602811612cb25761471d8385612cb7565b0361474957916147439173ffffffffffffffffffffffffffffffffffffffff9493614ad0565b90921690565b5050505f905f90565b50808201602001517fffff000000000000000000000000000000000000000000000000000000000000167f3078000000000000000000000000000000000000000000000000000000000000146146fd565b508282116146e8565b63ffffffff81116147c05763ffffffff1690565b7f6dfcc650000000000000000000000000000000000000000000000000000000005f52602060045260245260445ffd5b60ff811461484f5760ff811690601f82116148275760405191614814604084610763565b6020808452838101919036833783525290565b7fb3512b0c000000000000000000000000000000000000000000000000000000005f5260045ffd5b50604051610592816122bd815f6121e7565b60ff81146148855760ff811690601f82116148275760405191614814604084610763565b50604051610592816122bd8160016121e7565b908154680100000000000000008110156107865760018101808455811015612823575f9283526020928390208251929093015160301b7fffffffffffffffffffffffffffffffffffffffffffffffffffff0000000000001665ffffffffffff9290921691909117910155565b600a549192918015614a0557612d4e61491c91612ca4565b9081546149386149318265ffffffffffff1690565b9160301c90565b9265ffffffffffff8084169216918083116149dd578692036149945761499092509065ffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffff00000000000083549260301b169116179055565b9190565b5050614990906149b36149a561078b565b65ffffffffffff9092168252565b79ffffffffffffffffffffffffffffffffffffffffffffffffffff851660208201525b600a614898565b7f2520601d000000000000000000000000000000000000000000000000000000005f5260045ffd5b50614a3c90614a156149a561078b565b79ffffffffffffffffffffffffffffffffffffffffffffffffffff841660208201526149d6565b5f9190565b91907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08411614ac5579160209360809260ff5f9560405194855216868401526040830152606082015282805260015afa15611acd575f5173ffffffffffffffffffffffffffffffffffffffff811615614abb57905f905f90565b505f906001905f90565b5050505f9160039190565b929092614adc84613752565b831180614b78575b614af6614afd919492939415156141c6565b5f95613760565b915b818310614b0f5750505060019190565b9092919360ff614b4c614b47602088860101517fff000000000000000000000000000000000000000000000000000000000000001690565b614bfa565b1690600f8211614b6d5790614b626001926141dc565b019401919290614aff565b505f94508493505050565b50614afd614af67f30780000000000000000000000000000000000000000000000000000000000007fffff000000000000000000000000000000000000000000000000000000000000614bf0602089870101517fffff0000000000000000000000000000000000000000000000000000000000001690565b1614915050614ae4565b60f81c602f811180614cbc575b15614c34577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd00160ff1690565b6060811180614cb2575b15614c6b577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa90160ff1690565b6040811180614ca8575b15614ca2577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc90160ff1690565b5060ff90565b5060478110614c75565b5060678110614c3e565b50603a8110614c0756fea164736f6c634300081c000a0553476bf02ef2726e8ce5ced78d63e26e602e4a2257b1f559418e24b4633997a164736f6c634300081c000a