0x608060405234801561001057600080fd5b50600436106103275760003560e01c8063638e8219116101b8578063b137392911610104578063d505accf116100a2578063f887ea401161007c578063f887ea401461086e578063f92883a214610876578063fe33b302146108b4578063fee151ae146108da57610327565b8063d505accf146107a3578063d7c41c79146107f4578063dd62ed3e1461084057610327565b8063b9e74160116100de578063b9e7416014610783578063ba9a7a561461078b578063c45a015514610793578063d21220a71461079b57610327565b8063b13739291461076b578063b52d5b1e14610773578063b85a30c41461077b57610327565b806379fa52591161017157806389afcb441161014b57806389afcb44146106ee57806395d89b4114610714578063a8ca698b1461071c578063a9059cbb1461073f57610327565b806379fa5259146106815780637ecebe001461068957806387b99b4e146106af57610327565b8063638e82191461063357806366b3d2491461063b57806367194ea114610643578063681fe70c1461064b578063684daf271461065357806370a082311461065b57610327565b8063291fd746116102775780633644e515116102305780635a3d54931161020a5780635a3d5493146105e05780635a76f25e146105e85780635b8f9617146105f057806361d027b31461062b57610327565b80633644e515146105c8578063443cb4bc146105d05780635909c0d5146105d857610327565b8063291fd746146105335780632b81cb8e1461053b5780632de8d010146105925780632f2770db1461059a57806330adf81f146105a2578063313ce567146105aa57610327565b80630dea890c116102e457806318160ddd116102be57806318160ddd146104e557806318f25b86146104ed57806323b872dd146104f557806325eda4d61461052b57610327565b80630dea890c146104b15780630dfe1681146104b9578063151767b8146104dd57610327565b806302fb0c5e1461032c578063039b46941461034857806306fdde03146103c25780630768a9d01461043f5780630902f1ac14610459578063095ea7b314610485575b600080fd5b61033461095e565b604080519115158252519081900360200190f35b610350610967565b604080519e8f5260208f019d909d528d8d019b909b5260608d019990995260808c019790975260a08b019590955260c08a019390935260e0890191909152610100880152610120870152610140860152610160850152151561018084015215156101a083015251908190036101c00190f35b6103ca610a00565b6040805160208082528351818301528351919283929083019185019080838360005b838110156104045781810151838201526020016103ec565b50505050905090810190601f1680156104315780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610447610a39565b60408051918252519081900360200190f35b610461610a4a565b60408051938452602084019290925263ffffffff1682820152519081900360600190f35b6103346004803603604081101561049b57600080fd5b506001600160a01b038135169060200135610a74565b610447610a8b565b6104c1610a91565b604080516001600160a01b039092168252519081900360200190f35b610447610aa0565b610447610aa6565b610447610aac565b6103346004803603606081101561050b57600080fd5b506001600160a01b03813581169160208101359091169060400135610ab2565b610447610b7e565b610447610b84565b610590600480360361010081101561055257600080fd5b506001600160a01b03813581169160208101359091169060408101359060608101359060808101359060a08101359060c08101359060e00135610b8a565b005b610447610ef4565b610590610efa565b610447610f78565b6105b2610f9c565b6040805160ff9092168252519081900360200190f35b610447610fa1565b610447610fa7565b610447610fb9565b610447610fbf565b610447610fc5565b6105f8610fd7565b604080519687526020870195909552858501939093526060850191909152608084015260a0830152519081900360c00190f35b6104c1611013565b610334611022565b61044761102e565b610447611034565b61033461103a565b610447611065565b6104476004803603602081101561067157600080fd5b50356001600160a01b0316611071565b610447611083565b6104476004803603602081101561069f57600080fd5b50356001600160a01b0316611089565b6106d5600480360360208110156106c557600080fd5b50356001600160a01b031661109b565b6040805192835260208301919091528051918290030190f35b6106d56004803603602081101561070457600080fd5b50356001600160a01b031661120d565b6103ca611461565b6104476004803603604081101561073257600080fd5b5080359060200135611481565b6103346004803603604081101561075557600080fd5b506001600160a01b0381351690602001356114fc565b610447611509565b61044761150f565b610334611517565b610447611523565b610447611529565b6104c161152f565b6104c1611553565b610590600480360360e08110156107b957600080fd5b506001600160a01b03813581169160208101359091169060408101359060608101359060ff6080820135169060a08101359060c00135611562565b610590600480360360c081101561080a57600080fd5b506001600160a01b0381358116916020810135821691604082013581169160608101359091169060808101359060a00135611853565b6104476004803603604081101561085657600080fd5b506001600160a01b0381358116916020013516611a3f565b6104c1611a5c565b610447600480360360a081101561088c57600080fd5b506001600160a01b038135169060208101359060408101359060608101359060800135611a6b565b6106d5600480360360208110156108ca57600080fd5b50356001600160a01b0316611db0565b6108e2611de6565b604080516001600160a01b03909f168f5260208f019d909d528d8d019b909b5260608d019990995260808c019790975260a08b019590955260c08a019390935260e0890191909152610100880152610120870152610140860152610160850152151561018084015215156101a083015251908190036101c00190f35b60205460ff1681565b6000806000806000806000806000806000806000806012600201546012600301546018600201546018600301546012600001546018600001546010546109ad6012611e35565b6109b76018611e35565b601154601e54601f546109ca6012611e9a565b6109d46018611e9a565b9d509d509d509d509d509d509d509d509d509d509d509d509d509d50909192939495969798999a9b9c9d565b6040518060400160405280601c81526020017f416c6c69616e6365426c6f636b2044455820506f6f6c20546f6b656e0000000081525081565b6000610a456012611e35565b905090565b6000806000610a57610fa7565b9250610a61610fc5565b600c549394909363ffffffff1692509050565b6000610a81338484611ea5565b5060015b92915050565b601b5490565b6008546001600160a01b031681565b60145490565b60005481565b60125490565b6001600160a01b038316600090815260026020908152604080832033845290915281205460001914610b69576001600160a01b0384166000908152600260209081526040808320338452909152902054610b0c9083611f07565b6001600160a01b0385166000818152600260209081526040808320338085529083529281902085905580519485525191937f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929081900390910190a35b610b74848484611f5f565b5060019392505050565b601f5481565b60155490565b602154600114610bd0576040805162461bcd60e51b815260206004820152600c60248201526b141bdbdb0e881313d0d2d15160a21b604482015290519081900360640190fd5b600060215560205460ff16610c1d576040805162461bcd60e51b815260206004820152600e60248201526d141bdbdb0e88111254d05093115160921b604482015290519081900360640190fd5b6006546001600160a01b03163314610c70576040805162461bcd60e51b81526020600482015260116024820152702837b7b61d1027a7262cafa927aaaa22a960791b604482015290519081900360640190fd5b6008546001600160a01b03898116911614801590610c9c57506009546001600160a01b03898116911614155b610ce0576040805162461bcd60e51b815260206004820152601060248201526f506f6f6c3a20494e56414c49445f544f60801b604482015290519081900360640190fd5b6000610cec8383612018565b905060008111610d43576040805162461bcd60e51b815260206004820181905260248201527f506f6f6c3a20494e53554646494349454e545f4f55545055545f414d4f554e54604482015290519081900360640190fd5b600080610d4e610a4a565b509150915081831080610d6057508083105b610db1576040805162461bcd60e51b815260206004820152601c60248201527f506f6f6c3a20494e53554646494349454e545f4c495155494449545900000000604482015290519081900360640190fd5b6008546001600160a01b038b811691161415610e0b57600954600b54610ded916001600160a01b0316908d90610de890879061206e565b6120db565b610dfc6012886000808961222e565b610e0b6018876000808861222e565b6009546001600160a01b038b811691161415610e6057600854600a54610e42916001600160a01b0316908d90610de890879061206e565b610e516012600089888261222e565b610e606018600088878261222e565b600854610e7e908a908a906001600160a01b038e8116911614612288565b610e88828261241b565b60408051888152602081018890528082018790526060810186905290516001600160a01b03808e1692908d169133917f236c64fd115dc00cafeeaf44b6ca2af23a66ba0e282852756756b073c5515075919081900360800190a450506001602155505050505050505050565b601a5490565b336001600160a01b037f0000000000000000000000004072c974327722859798ac1722cf6ca92431d3431614610f6c576040805162461bcd60e51b8152602060048201526012602482015271506f6f6c3a204f4e4c595f464143544f525960701b604482015290519081900360640190fd5b6020805460ff19169055565b7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b601281565b60045481565b601454601a54600091610a4591612018565b600d5481565b600e5481565b601554601b54600091610a4591612018565b600080600080600080610fea6012611e35565b610ff46018611e35565b601454601554601a54601b54949b939a50919850965094509092509050565b6007546001600160a01b031681565b6000610a456012611e9a565b60115481565b600f5481565b60006110466012611e9a565b801561105757506110576018611e9a565b80610a455750506000541590565b6000610a456018611e35565b60016020526000908152604090205481565b601e5481565b60056020526000908152604090205481565b6000806021546001146110e4576040805162461bcd60e51b815260206004820152600c60248201526b141bdbdb0e881313d0d2d15160a21b604482015290519081900360640190fd5b60006021556006546001600160a01b0316331461113c576040805162461bcd60e51b81526020600482015260116024820152702837b7b61d1027a7262cafa927aaaa22a960791b604482015290519081900360640190fd5b60205460ff161561118a576040805162461bcd60e51b8152602060048201526013602482015272141bdbdb0e8814d512531317d1539050931151606a1b604482015290519081900360640190fd5b600080611195610a4a565b50915091506000806111a68761277c565b915091506111b4848461241b565b604080518381526020810183905281516001600160a01b038a169233927fa6c4df89e391c5f87aea64ebabe5ed165590d205664c7dd75d4c49b955f70f0d929081900390910190a3600160215590969095509350505050565b600080602154600114611256576040805162461bcd60e51b815260206004820152600c60248201526b141bdbdb0e881313d0d2d15160a21b604482015290519081900360640190fd5b600060215560205460ff166112a3576040805162461bcd60e51b815260206004820152600e60248201526d141bdbdb0e88111254d05093115160921b604482015290519081900360640190fd5b6006546001600160a01b031633146112f6576040805162461bcd60e51b81526020600482015260116024820152702837b7b61d1027a7262cafa927aaaa22a960791b604482015290519081900360640190fd5b601154600080611304610a4a565b50915091506000806113158861277c565b915091506103e860005411156113fd57600080611334601e5488612883565b91509150633b9aca008110611390576040805162461bcd60e51b815260206004820152601f60248201527f506f6f6c3a204255524e5f5354415445535f494e434f4e43495354454e435900604482015290519081900360640190fd5b633b9aca006113a86113a28985611481565b89612910565b106113fa576040805162461bcd60e51b815260206004820152601f60248201527f506f6f6c3a204255524e5f4c49515549444954595f4d4f5645535f53504f5400604482015290519081900360640190fd5b50505b611407848461241b565b604080518381526020810183905281516001600160a01b038b169233927fdccd412f0b1252819cb1fd330b93224ca42612892bb3f4f789976e6d81936496929081900390910190a360016021559097909650945050505050565b60405180604001604052806004815260200163041424c560e41b81525081565b60008061148d8361292c565b6114968561292c565b039050828410156114eb578381126114eb576040805162461bcd60e51b8152602060048201526013602482015272554e756d3a204142535f554e444552464c4f5760681b604482015290519081900360640190fd5b6114f481612986565b949350505050565b6000610a81338484611f5f565b60105481565b633b9aca0081565b6000610a456018611e9a565b60185490565b6103e881565b7f0000000000000000000000004072c974327722859798ac1722cf6ca92431d34381565b6009546001600160a01b031681565b428410156115a7576040805162461bcd60e51b815260206004820152600d60248201526c105093140e8811561412549151609a1b604482015290519081900360640190fd5b8260ff16601b14806115bc57508260ff16601c145b61160d576040805162461bcd60e51b815260206004820152601960248201527f41424c503a20494e56414c49445f5349474e41545552455f5600000000000000604482015290519081900360640190fd5b7f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0811115611682576040805162461bcd60e51b815260206004820152601960248201527f41424c503a20494e56414c49445f5349474e41545552455f5300000000000000604482015290519081900360640190fd5b6003544690811461169a57600381905561169a6129e2565b6004546001600160a01b03808a1660008181526005602090815260408083208054600180820190925582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98186015280840196909652958e166060860152608085018d905260a085019590955260c08085018c90528151808603909101815260e08501825280519083012061190160f01b6101008601526101028501969096526101228085019690965280518085039096018652610142840180825286519683019690962095839052610162840180825286905260ff8a166101828501526101a284018990526101c28401889052519193926101e280820193601f1981019281900390910190855afa1580156117b5573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b038116158015906117eb5750896001600160a01b0316816001600160a01b0316145b61183c576040805162461bcd60e51b815260206004820152601760248201527f41424c503a20494e56414c49445f5349474e4154555245000000000000000000604482015290519081900360640190fd5b6118478a8a8a611ea5565b50505050505050505050565b336001600160a01b037f0000000000000000000000004072c974327722859798ac1722cf6ca92431d34316146118c5576040805162461bcd60e51b8152602060048201526012602482015271506f6f6c3a204f4e4c595f464143544f525960701b604482015290519081900360640190fd5b600680546001600160a01b038089166001600160a01b0319928316179092556007805488841690831617905560088054878416908316811790915560098054938716939092169290921790556040805163313ce56760e01b8152905163313ce56791600480820192602092909190829003018186803b15801561194757600080fd5b505afa15801561195b573d6000803e3d6000fd5b505050506040513d602081101561197157600080fd5b505160ff16600a556040805163313ce56760e01b815290516001600160a01b0385169163313ce567916004808301926020929190829003018186803b1580156119b957600080fd5b505afa1580156119cd573d6000803e3d6000fd5b505050506040513d60208110156119e357600080fd5b505160ff16600b556119fc6119f6612acd565b83612ad9565b6012556018829055600f829055611a1a611a14612acd565b82612ad9565b6010556002611a27612acd565b81611a2e57fe5b04601e819055601f55505050505050565b600260209081526000928352604080842090915290825290205481565b6006546001600160a01b031681565b6000602154600114611ab3576040805162461bcd60e51b815260206004820152600c60248201526b141bdbdb0e881313d0d2d15160a21b604482015290519081900360640190fd5b600060215560205460ff16611b00576040805162461bcd60e51b815260206004820152600e60248201526d141bdbdb0e88111254d05093115160921b604482015290519081900360640190fd5b6006546001600160a01b03163314611b53576040805162461bcd60e51b81526020600482015260116024820152702837b7b61d1027a7262cafa927aaaa22a960791b604482015290519081900360640190fd5b601154600080611b61610a4a565b509150915060005460001415611b7e57611b7e60006103e8612b4d565b611b8b60128a8a89612bd7565b9350611ba384611b9e60188c8b8a612bd7565b612018565b935060008411611be45760405162461bcd60e51b81526004018080602001828103825260248152602001806135b66024913960400191505060405180910390fd5b611bee8985612b4d565b6000611bfa8989612018565b90506000611c088888612018565b9050600080611c19601e5488612883565b91509150600054611c2c6103e88a612018565b1415611c3d57819650816011819055505b633b9aca008110611c95576040805162461bcd60e51b815260206004820152601f60248201527f506f6f6c3a204d494e545f5354415445535f494e434f4e43495354454e435900604482015290519081900360640190fd5b633b9aca00611ca76113a28985611481565b10611cf9576040805162461bcd60e51b815260206004820152601f60248201527f506f6f6c3a204d494e545f4c49515549444954595f4d4f5645535f53504f5400604482015290519081900360640190fd5b633b9aca00611d1a611d14611d0e8688612910565b85611481565b84612910565b10611d565760405162461bcd60e51b815260040180806020018281038252602881526020018061358e6028913960400191505060405180910390fd5b611d60868661241b565b6040805185815260208101859052815133927f4c209b5fc8ad50758f13e2e1088ba56a560dff690a1c6fef26394f4c03821c4f928290030190a25050600160215550939998505050505050505050565b60085460009081906001600160a01b0384811691161415611dd8575050601454601a54611de1565b5050601554601b545b915091565b600080600080600080600080600080600080600080600860009054906101000a90046001600160a01b0316601260020154601260030154601860020154601860030154600f546010546109ad60125b6000611e4082611e9a565b15611e5057506001810154611e95565b611e74611e698360000154611e63612acd565b90612d2e565b600384015490612910565b82546002840154919250611e9291611e8b91612910565b8290612910565b90505b919050565b600401546103e81490565b6001600160a01b03808416600081815260026020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b80820382811115610a85576040805162461bcd60e51b815260206004820152601b60248201527f4c69717569646974794d6174683a205355425f4f564552464c4f570000000000604482015290519081900360640190fd5b611f6a838383612d96565b6001600160a01b038316600090815260016020526040902054611f8d9082611f07565b6001600160a01b038085166000908152600160205260408082209390935590841681522054611fbc9082612e24565b6001600160a01b0380841660008181526001602090815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b600082820183811015612067576040805162461bcd60e51b8152602060048201526012602482015271554e756d3a204144445f4f564552464c4f5760701b604482015290519081900360640190fd5b9392505050565b60008160121415612080575081610a85565b601282106120b4576120af670de0b6b3a764000061209f600a85612e7c565b816120a657fe5b85919004612eda565b612067565b6120676120c2600a84612e7c565b670de0b6b3a7640000816120d257fe5b85919004612f46565b604080516001600160a01b038481166024830152604480830185905283518084039091018152606490920183526020820180516001600160e01b031663a9059cbb60e01b1781529251825160009485949389169392918291908083835b602083106121575780518252601f199092019160209182019101612138565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d80600081146121b9576040519150601f19603f3d011682016040523d82523d6000602084013e6121be565b606091505b50915091508180156121ec5750805115806121ec57508080602001905160208110156121e957600080fd5b50515b6122275760405162461bcd60e51b815260040180806020018281038252602d8152602001806135fd602d913960400191505060405180910390fd5b5050505050565b600285015461223d9085612fad565b600286015560038501546122519084612fad565b600386015560028501546122659083612d2e565b600286015560038501546122799082612d2e565b85600301819055505050505050565b61229061103a565b156122e2576040805162461bcd60e51b815260206004820152601b60248201527f506f6f6c3a204e4f5f4c49515549444954595f494e5f50414952530000000000604482015290519081900360640190fd5b6000816122ef57826122f1565b835b905060008061230283601154612883565b915091506000821180156123195750633b9aca0081105b6123545760405162461bcd60e51b815260040180806020018281038252602681526020018061362a6026913960400191505060405180910390fd5b61235e6012611e9a565b156123ab5782156123a05760405162461bcd60e51b81526004018080602001828103825260278152602001806136776027913960400191505060405180910390fd5b6123ab601283613000565b6123b56018611e9a565b1561240a576123c2612acd565b83146123ff5760405162461bcd60e51b81526004018080602001828103825260278152602001806136506027913960400191505060405180910390fd5b61240a601883613000565b50601e949094555050601f55601155565b600854604080516370a0823160e01b815230600482015290516000926001600160a01b0316916370a08231916024808301926020929190829003018186803b15801561246657600080fd5b505afa15801561247a573d6000803e3d6000fd5b505050506040513d602081101561249057600080fd5b5051600954604080516370a0823160e01b815230600482015290519293506000926001600160a01b03909216916370a0823191602480820192602092909190829003018186803b1580156124e357600080fd5b505afa1580156124f7573d6000803e3d6000fd5b505050506040513d602081101561250d57600080fd5b5051905060008061251c610a4a565b50915091508160001415801561253157508015155b80612543575081158015612543575080155b612594576040805162461bcd60e51b815260206004820152601960248201527f506f6f6c3a2050414952535f494e434f4e43495354454e435900000000000000604482015290519081900360640190fd5b6001600160701b0382118015906125b257506001600160701b038111155b6125f4576040805162461bcd60e51b815260206004820152600e60248201526d506f6f6c3a204f564552464c4f5760901b604482015290519081900360640190fd5b600061260b600a548461206e90919063ffffffff16565b90506000612624600b548461206e90919063ffffffff16565b90508186111561264f5760085460075461264f916001600160a01b039081169116610de88986612ad9565b8085111561267857600954600754612678916001600160a01b039081169116610de88885612ad9565b600c5463ffffffff4281169181168203908116158015906126a157506001600160701b038a1615155b80156126b557506001600160701b03891615155b15612720578063ffffffff166126dd8b6126ce8c613008565b6001600160e01b03169061301a565b600d80546001600160e01b03929092169290920201905563ffffffff81166127088a6126ce8d613008565b600e80546001600160e01b0392909216929092020190555b600c805463ffffffff191663ffffffff8416179055604080518981526020810189905281517fcf2aa50876cdfbb541206f89af0ee78d44a2abf8d328e37fa4917f982149848a929181900390910190a150505050505050505050565b600080808061278c601230613037565b909250905060008061279f601830613037565b915091506127b9600a546127b38685612018565b9061206e565b95506127cb600b546127b38584612018565b94506000861180156127dd5750600085115b6128185760405162461bcd60e51b81526004018080602001828103825260238152602001806135da6023913960400191505060405180910390fd5b3060008181526001602052604090205461283291906130a3565b61283f6012308686613135565b61284c6018308484613135565b600854612863906001600160a01b031688886120db565b60095461287a906001600160a01b031688876120db565b50505050915091565b60008060006128926012611e35565b905060006128a06018611e35565b90506128b36128ad612acd565b87612ad9565b93506128bf848261321f565b93506128cf84611b9e888561321f565b935084156128f1576128ea6128e48383611481565b86612910565b9250612907565b6129046128fe8383611481565b85612910565b92505b50509250929050565b600061206761291e8461292c565b6129278461292c565b61323b565b60006001600160ff1b03821115612982576040805162461bcd60e51b815260206004820152601560248201527455436173743a20746f496e74204f766572666c6f7760581b604482015290519081900360640190fd5b5090565b600081600160ff1b14156129d0576040805162461bcd60e51b815260206004820152600c60248201526b4142535f4f564552464c4f5760a01b604482015290519081900360640190fd5b60008212156129825781600003611e92565b604080518082018252601c81527f416c6c69616e6365426c6f636b2044455820506f6f6c20546f6b656e000000006020918201528151808301835260018152603160f81b9082015260035482517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f818401527fef2172f6fef50c7bbdbb9649f3f7ea73717af162a407d3a91933315ee40af27b818501527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6606082015260808101919091523060a0808301919091528351808303909101815260c09091019092528151910120600455565b670de0b6b3a764000090565b6000806000612af8612aea8661292c565b612af38661292c565b613358565b915091508015612b45576040805162461bcd60e51b8152602060048201526013602482015272554e756d3a205355425f554e444552464c4f5760681b604482015290519081900360640190fd5b509392505050565b600054612b5a9082612e24565b60009081556001600160a01b038316815260016020526040902054612b7f9082612e24565b6001600160a01b03831660008181526001602090815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b6000846004015460001415612c1357612c046103e8612bfe612bf98686612eda565b6133eb565b90611f07565b6103e860048701559050612c66565b612c638560020154612c32876004015486612eda90919063ffffffff16565b81612c3957fe5b048660030154612c56886004015486612eda90919063ffffffff16565b81612c5d57fe5b0461343c565b90505b60008111612ca55760405162461bcd60e51b81526004018080602001828103825260248152602001806135b66024913960400191505060405180910390fd5b6002850154612cb49084612fad565b60028601556003850154612cc89083612fad565b60038601556004850154612cdc9082612e24565b60048601556001600160a01b0384166000908152600586016020526040902054612d069082612e24565b6001600160a01b03909416600090815260059095016020526040909420929092555090919050565b6000806000612d3f612aea8661292c565b915091508015612b45576040805162461bcd60e51b815260206004820152601760248201527f554e756d4d6174683a205355425f554e444552464c4f57000000000000000000604482015290519081900360640190fd5b6001600160a01b0383166000908152601760209081526040808320546001909252822054612dcf9190612dca908590612910565b61321f565b6001600160a01b0385166000908152601d602090815260408083205460019092528220549293509091612e089190612dca908690612910565b9050612e176012868685613452565b6122276018868684613452565b80820182811015610a85576040805162461bcd60e51b815260206004820152601b60248201527f4c69717569646974794d6174683a204144445f4f564552464c4f570000000000604482015290519081900360640190fd5b60006024821115612ed4576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a20504f575f4c494d49545f455843454544530000000000604482015290519081900360640190fd5b50900a90565b6000811580612ef557505080820282828281612ef257fe5b04145b610a85576040805162461bcd60e51b815260206004820152601b60248201527f4c69717569646974794d6174683a204d554c5f4f564552464c4f570000000000604482015290519081900360640190fd5b6000808211612f9c576040805162461bcd60e51b815260206004820152601f60248201527f4c69717569646974794d6174683a204449564953494f4e5f42595f5a45524f00604482015290519081900360640190fd5b818381612fa557fe5b049392505050565b600082820183811015612067576040805162461bcd60e51b8152602060048201526016602482015275554e756d4d6174683a204144445f4f564552464c4f5760501b604482015290519081900360640190fd5b600190910155565b6001600160701b0316600160701b0290565b60006001600160701b0382166001600160e01b03841681612fa557fe5b6001600160a01b0381166000908152600583016020526040812054600484015460028501548392919061306b908390612eda565b8161307257fe5b0492508460040154613091866003015483612eda90919063ffffffff16565b8161309857fe5b049150509250929050565b6001600160a01b0382166000908152600160205260409020546130c69082611f07565b6001600160a01b038316600090815260016020526040812091909155546130ed9082611f07565b60009081556040805183815290516001600160a01b038516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef919081900360200190a35050565b6000821180156131455750600081115b6131805760405162461bcd60e51b81526004018080602001828103825260238152602001806135da6023913960400191505060405180910390fd5b6001600160a01b038316600090815260058501602052604090205460028501546131aa9084611f07565b600286015560038501546131be9083611f07565b600386015560048501546131d29082611f07565b60048601556001600160a01b03841660009081526005860160205260409020546131fc9082611f07565b6001600160a01b0390941660009081526005909501602052505060409092205550565b600061206761322d8461292c565b6132368461292c565b6134cd565b60008161327e576040805162461bcd60e51b815260206004820152600c60248201526b4552525f4449565f5a45524f60a01b604482015290519081900360640190fd5b670de0b6b3a764000083028315806132a65750670de0b6b3a76400008482816132a357fe5b05145b6132ea576040805162461bcd60e51b815260206004820152601060248201526f11549497d1125597d25395115493905360821b604482015290519081900360640190fd5b6002830581016000828518126133455760008282181215613345576040805162461bcd60e51b815260206004820152601060248201526f11549497d1125597d25395115493905360821b604482015290519081900360640190fd5b83818161334e57fe5b0595945050505050565b6000808284038161336885612986565b61337187612986565b12156133805784600003613382565b855b9050600082821812156133c2576040805162461bcd60e51b815260206004820152600360248201526232b93960e91b604482015290519081900360640190fd5b600082126133d2578160006133de565b6133db82612986565b60015b9350935050509250929050565b6000600382111561342e575080600160028204015b818110156134285780915060028182858161341757fe5b04018161342057fe5b049050613400565b50611e95565b8115611e9557506001919050565b600081831061344b5781612067565b5090919050565b6001600160a01b03831660009081526005850160205260409020546134779082611f07565b6001600160a01b03808516600090815260058701602052604080822093909355908416815220546134a89082612e24565b6001600160a01b03909216600090815260059094016020525060409092209190915550565b60008282028315806134e75750828482816134e457fe5b05145b61352b576040805162461bcd60e51b815260206004820152601060248201526f4552525f4d554c5f4f564552464c4f5760801b604482015290519081900360640190fd5b6706f05b59d3b2000081018181121561357e576040805162461bcd60e51b815260206004820152601060248201526f4552525f4d554c5f4f564552464c4f5760801b604482015290519081900360640190fd5b670de0b6b3a76400008161334e56fe506f6f6c3a204c49515549444954595f414c4c4f434154494f4e5f494e434f4e53495354454e4359506f6f6c3a3a20494e53554646494349454e545f4c49515549444954595f4d494e544544506f6f6c3a20494e53554646494349454e545f4c49515549444954595f4255524e45445472616e7366657248656c7065723a3a736166655472616e736665723a207472616e73666572206661696c6564506f6f6c3a205550444154455f53504f545f5354415445535f494e434f4e43495354454e4359506f6f6c3a205354415445535f494e434f4e43495354454e43595f454d5054595f504149525f32506f6f6c3a205354415445535f494e434f4e43495354454e43595f454d5054595f504149525f31a26469706673582212206a64549d8fe4749e646aecd8279e46d5bab1d0dea74b7717a14c5dde9cdf338964736f6c63430007060033