0x60806040523480156200001157600080fd5b506200001d3362000023565b62000073565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b613b0580620000836000396000f3fe6080604052600436106101485760003560e01c8063967acdac116100c0578063ebcabc2811610074578063f6e5e81711610059578063f6e5e817146103c5578063f9b17d9a146103e5578063fd1711e51461040557600080fd5b8063ebcabc2814610392578063f2fde38b146103a557600080fd5b8063bd368682116100a5578063bd3686821461033c578063e660d53e14610352578063e9ef5d8b1461037257600080fd5b8063967acdac146102ea5780639fb28faf1461031c57600080fd5b80635f56dfd311610117578063715018a6116100fc578063715018a6146102695780637e7ee88b1461027e5780638da5cb5b1461029e57600080fd5b80635f56dfd31461021b5780636872a84d1461024957600080fd5b806314c6440214610154578063268171b8146101765780633403c2fc146101c657806356ed83d5146101e057600080fd5b3661014f57005b600080fd5b34801561016057600080fd5b5061017461016f366004612d48565b610425565b005b34801561018257600080fd5b506101b1610191366004612d92565b600260209081526000928352604080842090915290825290205460ff1681565b60405190151581526020015b60405180910390f35b3480156101d257600080fd5b506003546101b19060ff1681565b3480156101ec57600080fd5b506101b16101fb366004612d92565b600160209081526000928352604080842090915290825290205460ff1681565b34801561022757600080fd5b5061023b610236366004613082565b6104dc565b6040519081526020016101bd565b34801561025557600080fd5b5061023b610264366004613150565b6104ed565b34801561027557600080fd5b506101746104f8565b34801561028a57600080fd5b5061023b610299366004613220565b610585565b3480156102aa57600080fd5b5060005473ffffffffffffffffffffffffffffffffffffffff165b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101bd565b3480156102f657600080fd5b506003546102c590610100900473ffffffffffffffffffffffffffffffffffffffff1681565b34801561032857600080fd5b50610174610337366004613255565b610590565b34801561034857600080fd5b5061023b60045481565b34801561035e57600080fd5b5061017461036d36600461331b565b610640565b34801561037e57600080fd5b5061017461038d36600461343c565b61067f565b6101746103a036600461331b565b61074c565b3480156103b157600080fd5b506101746103c036600461343c565b6109a4565b3480156103d157600080fd5b506101746103e0366004613459565b610ad4565b3480156103f157600080fd5b506101746104003660046134ab565b610b67565b34801561041157600080fd5b506101746104203660046134c4565b610c7f565b60005473ffffffffffffffffffffffffffffffffffffffff1633146104ab576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064015b60405180910390fd5b600380547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016911515919091179055565b60006104e782610d05565b92915050565b60006104e782610dcd565b60005473ffffffffffffffffffffffffffffffffffffffff163314610579576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016104a2565b6105836000610e82565b565b60006104e782610ef7565b60005b8181101561063b5760008383838181106105af576105af6134fa565b336000818152600160208181526040808420958202979097013580845294905285822080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169091179055935191945084939092507f35d8fd1186a8d5a470d6c39bac424b9b7e3b2bbfe1fd771fbefe09f98596350591a3508061063381613558565b915050610593565b505050565b6000806106528b8b8b8b8b8b8b610f7b565b915091506106658b8b848a8589896110fd565b6106728b8b848a85611628565b5050505050505050505050565b60005473ffffffffffffffffffffffffffffffffffffffff163314610700576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016104a2565b6003805473ffffffffffffffffffffffffffffffffffffffff909216610100027fffffffffffffffffffffff0000000000000000000000000000000000000000ff909216919091179055565b60008061075e8b8b8b8b8b8b8b610f7b565b90925090503373ffffffffffffffffffffffffffffffffffffffff831614610808576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f4d61726b65743a206f6e6c7920626964646572206d61792066696c6c2077697460448201527f682045544800000000000000000000000000000000000000000000000000000060648201526084016104a2565b60008b6000015190508073ffffffffffffffffffffffffffffffffffffffff1663d0e30db0346040518263ffffffff1660e01b81526004016000604051808303818588803b15801561085957600080fd5b505af115801561086d573d6000803e3d6000fd5b50506040517fa9059cbb00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff87811660048301523460248301528516935063a9059cbb925060440190506020604051808303816000875af11580156108e7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061090b9190613591565b6040518060400160405280601781526020017f4d61726b65743a207472616e73666572206661696c656400000000000000000081525090610979576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104a29190613619565b506109898c8c858b868a8a6110fd565b6109968c8c858b86611628565b505050505050505050505050565b60005473ffffffffffffffffffffffffffffffffffffffff163314610a25576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016104a2565b73ffffffffffffffffffffffffffffffffffffffff8116610ac8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084016104a2565b610ad181610e82565b50565b6000610adf83610dcd565b3360008181526002602090815260408083208584529091529081902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168615151790555191925082917f6f3de911b0f99f640ea02152b40d904d2c9913b2a056c48f8ca6fed7a83183a090610b5a9086908890613667565b60405180910390a3505050565b60005473ffffffffffffffffffffffffffffffffffffffff163314610be8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016104a2565b611388811115610c7a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f4d61726b65743a2070726f746f636f6c20726f79616c747920746f6f2068696760448201527f680000000000000000000000000000000000000000000000000000000000000060648201526084016104a2565b600455565b6000610c8a83610d05565b3360008181526002602090815260408083208584529091529081902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168615151790555191925082917f214a170e73e2a383db493e7149b4d064fa17ab5bd300a2e57dcc011d3e6ef02390610b5a90869088906136f5565b60007f31f9468f5d1e7eb4237db6d4f45aa4ca2c44fd2c8cbc5f1cd4c2178ed1922c9f826000015183602001518460400151610d4486606001516120cd565b6080870151805160209182012060a0890151604051610db0989796959493019687526020870195909552604086019390935264ffffffffff919091166060850152608084015260a083015273ffffffffffffffffffffffffffffffffffffffff1660c082015260e00190565b604051602081830303815290604052805190602001209050919050565b60007f391e27022501bf610123a796e8a213ce549369b3bc887d452f524d17ca711c0f826000015183602001518460400151610e0c86606001516120cd565b86608001518760a001518860c00151604051602001610db09897969594939291909788526020880196909652604087019490945264ffffffffff929092166060860152608085015260a0840152151560c083015273ffffffffffffffffffffffffffffffffffffffff1660e08201526101000190565b6000805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60007f91ae5aeaa8c54e77d27efff9c5621ce1113d43c961e101869142bddaa8596546826000015183602001518460400151610f3686606001516120cd565b60408051602081019690965273ffffffffffffffffffffffffffffffffffffffff948516908601526060850192909252909116608083015260a082015260c001610db0565b6000806000610f898a610ef7565b9050808960000151146040518060600160405280603c8152602001613a94603c913990610fe3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104a29190613619565b50808660000151146040518060600160405280603c8152602001613a94603c91399061103c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104a29190613619565b5060006110c1604080517f8cad95687ba82c2ce50e74f7b754645e5117c3a5bec8151c0726d5857980a86660208201527ffac22429634c4b83835d76f0b27b35ad0d97c5dfbdffb309216cd7e62efe2e9b9181019190915246606082015230608082015260009060a00160405160208183030381529060405280519060200120905090565b90506110d7816110d08c610d05565b8b8b6120e0565b93506110ed816110e689610dcd565b88886120e0565b9250505097509795505050505050565b60c084015173ffffffffffffffffffffffffffffffffffffffff16158061115357508473ffffffffffffffffffffffffffffffffffffffff168460c0015173ffffffffffffffffffffffffffffffffffffffff16145b6111b9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4d61726b65743a20626964646572206973206e6f7420617574686f72697a656460448201526064016104a2565b856040015164ffffffffff16421115604051806060016040528060228152602001613a726022913990611219576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104a29190613619565b50836040015164ffffffffff16421115604051806060016040528060228152602001613a72602291399061127a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104a29190613619565b5073ffffffffffffffffffffffffffffffffffffffff8516600090815260016020908152604080832089830151845282529182902054825160608101909352602280845260ff909116159291613a729083013990611305576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104a29190613619565b5073ffffffffffffffffffffffffffffffffffffffff8316600090815260016020908152604080832087830151845282529182902054825160608101909352602280845260ff909116159291613a729083013990611390576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104a29190613619565b5073ffffffffffffffffffffffffffffffffffffffff80861660008181526001602081815260408084208c83018051865290835281852080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff009081168617909155968a1685528383528185208b84015186529092528084208054909616909217909455925192517f35d8fd1186a8d5a470d6c39bac424b9b7e3b2bbfe1fd771fbefe09f9859635059190a3602084015160405173ffffffffffffffffffffffffffffffffffffffff8516907f35d8fd1186a8d5a470d6c39bac424b9b7e3b2bbfe1fd771fbefe09f98596350590600090a360a086015173ffffffffffffffffffffffffffffffffffffffff1661152757600086608001516114b1906137a8565b60808601519091508114611521576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f4d61726b65743a20746f6b656e204944206d69736d617463680000000000000060448201526064016104a2565b5061161f565b8560a0015173ffffffffffffffffffffffffffffffffffffffff166386839f3088604001518660800151896080015186866040518663ffffffff1660e01b81526004016115789594939291906137ed565b602060405180830381865afa158015611595573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115b99190613591565b61161f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f4d61726b65743a206d697373696e67207472616974000000000000000000000060448201526064016104a2565b50505050505050565b60035460ff1615611695576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f4d61726b65743a207368757420646f776e00000000000000000000000000000060448201526064016104a2565b60408581015160208088015188516080878101518a85015189860151885173ffffffffffffffffffffffffffffffffffffffff8d8116828a0152818b0193909352918a166060830152818401528751808203909301835260a001909652805193019290922092939092838060005b8c606001515181101561175b5761173d8d606001518281518110611729576117296134fa565b60200260200101518c8b8a888b8e8c612210565b6117479084613875565b92508061175381613558565b915050611703565b5060005b8960600151518110156117a3576117858a606001518281518110611729576117296134fa565b61178f9084613875565b92508061179b81613558565b91505061175f565b50600354610100900473ffffffffffffffffffffffffffffffffffffffff1615611979576000620f4240876004546117db919061388c565b6117e591906138c9565b90506117f18184613875565b6003546040517f23b872dd00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8e8116600483015261010090920482166024820152604481018490529194508716906323b872dd906064016020604051808303816000875af1158015611879573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061189d9190613591565b6040518060400160405280601781526020017f4d61726b65743a207472616e73666572206661696c65640000000000000000008152509061190b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104a29190613619565b50600354600454604080519182526020820184905273ffffffffffffffffffffffffffffffffffffffff898116838301529051610100909304811692908c169187917ff524c74bf2303c29e6511dc690bf20aa7408a9c6428d5678eb931b28bc3b0a089181900360600190a4505b60005b8b60600151518110156119d4576119b68c6060015182815181106119a2576119a26134fa565b60200260200101518c8d8a888b8e8c612210565b6119c09083613904565b9150806119cc81613558565b91505061197c565b506040517f6352211e00000000000000000000000000000000000000000000000000000000815260048101859052600090819073ffffffffffffffffffffffffffffffffffffffff8a1690636352211e90602401602060405180830381865afa158015611a45573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a69919061391c565b90508973ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611aa85760019150611c03565b6040517f081812fc0000000000000000000000000000000000000000000000000000000081526004810187905273ffffffffffffffffffffffffffffffffffffffff808c1691908b169063081812fc90602401602060405180830381865afa158015611b18573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b3c919061391c565b73ffffffffffffffffffffffffffffffffffffffff161415611b615760019150611c03565b6040517fe985e9c500000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff82811660048301528b811660248301528a169063e985e9c590604401602060405180830381865afa158015611bd5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bf99190613591565b15611c0357600191505b81611c90576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4d61726b65743a2061736b6572206973206e6f74206f776e6572206f7220617060448201527f70726f766564000000000000000000000000000000000000000000000000000060648201526084016104a2565b6040517f42842e0e00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff82811660048301528d81166024830152604482018890528a16906342842e0e90606401600060405180830381600087803b158015611d0857600080fd5b505af1158015611d1c573d6000803e3d6000fd5b505050508a60a0015115611f01576040517f23b872dd00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8d81166004830152306024830152604482018690528816906323b872dd906064016020604051808303816000875af1158015611da5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611dc99190613591565b6040518060400160405280601781526020017f4d61726b65743a207472616e73666572206661696c656400000000000000000081525090611e37576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104a29190613619565b506040517f2e1a7d4d0000000000000000000000000000000000000000000000000000000081526004810185905273ffffffffffffffffffffffffffffffffffffffff881690632e1a7d4d90602401600060405180830381600087803b158015611ea057600080fd5b505af1158015611eb4573d6000803e3d6000fd5b505060405173ffffffffffffffffffffffffffffffffffffffff8d16925086156108fc02915086906000818181858888f19350505050158015611efb573d6000803e3d6000fd5b50612012565b6040517f23b872dd00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8d811660048301528b81166024830152604482018690528816906323b872dd906064016020604051808303816000875af1158015611f7e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fa29190613591565b6040518060400160405280601781526020017f4d61726b65743a207472616e73666572206661696c656400000000000000000081525090612010576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104a29190613619565b505b604080518981526020810186905280820185905273ffffffffffffffffffffffffffffffffffffffff898116606083015291518c8316928f169188917f446ea7816fd82a3e830f82ef187f55d7718a739e8ecfcd33e456f69cfa164cb59181900360800190a4858973ffffffffffffffffffffffffffffffffffffffff16867f1db01bf65e5b6e3e603931112bbd1714e830813bdcf0b6ebf7b5dcf44542ca3160405160405180910390a45050505050505050505050505050565b600081604051602001610db09190613939565b6000808260028111156120f5576120f561396f565b1461210d576121068585858561223c565b9050612208565b600083806020019051810190612123919061391c565b905073ffffffffffffffffffffffffffffffffffffffff8116331480612179575073ffffffffffffffffffffffffffffffffffffffff8116600090815260026020908152604080832088845290915290205460ff165b612205576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f4d61726b65743a206f6e2d636861696e20617070726f76616c206d697373696e60448201527f670000000000000000000000000000000000000000000000000000000000000060648201526084016104a2565b90505b949350505050565b60008061221e8a85856123a1565b905061222e818a8a8a8a8a61266c565b9a9950505050505050505050565b60008060018360028111156122535761225361396f565b141561229357604080516020810188905290810186905261228c90606001604051602081830303815290604052805190602001206128a2565b905061238d565b60028360028111156122a7576122a761396f565b141561230657604080517f1901000000000000000000000000000000000000000000000000000000000000602080830191909152602282018990526042808301899052835180840390910181526062909201909252805191012061228c565b6040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f5369676e6174757265436865636b65723a206e6f207369676e6174757265206760448201527f6976656e0000000000000000000000000000000000000000000000000000000060648201526084016104a2565b61239781856128dd565b9695505050505050565b606083811c7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fffffff851663800000008087161580159061249057604080516001808252818301909252600091816020015b60408051808201909152600080825260208201528152602001906001900390816123f0579050509050838160008151811061242d5761242d6134fa565b60200260200101516020019063ffffffff16908163ffffffff1681525050848160008151811061245f5761245f6134fa565b602090810291909101015173ffffffffffffffffffffffffffffffffffffffff909116905294506126659350505050565b6040517fec10efb200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff88811660048301526024820188905263ffffffff8516604483015260208a901c67ffffffffffffffff811660648401529160009187169063ec10efb290608401600060405180830381865afa158015612528573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820160405261256e919081019061399e565b90506000805b82518110156125c05782818151811061258f5761258f6134fa565b60200260200101516020015163ffffffff16826125ac9190613904565b9150806125b881613558565b915050612574565b508563ffffffff16811115612657576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603060248201527f4d61726b65743a206f7261636c6520776f756c64206f7665727370656e64207260448201527f6f79616c747920616c6c6f746d656e740000000000000000000000000000000060648201526084016104a2565b509550612665945050505050565b9392505050565b60008060005b885181101561289657600089828151811061268f5761268f6134fa565b602002602001015190506000620f424088836020015163ffffffff166126b5919061388c565b6126bf91906138c9565b90506126cb8185613904565b82516040517f23b872dd00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8d811660048301529182166024820152604481018490529195508716906323b872dd906064016020604051808303816000875af115801561274d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127719190613591565b6040518060400160405280601781526020017f4d61726b65743a207472616e73666572206661696c6564000000000000000000815250906127df576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104a29190613619565b50816000015173ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff16887ff524c74bf2303c29e6511dc690bf20aa7408a9c6428d5678eb931b28bc3b0a088560200151858b6040516128799392919063ffffffff939093168352602083019190915273ffffffffffffffffffffffffffffffffffffffff16604082015260600190565b60405180910390a45050808061288e90613558565b915050612672565b50979650505050505050565b6040517f19457468657265756d205369676e6564204d6573736167653a0a3332000000006020820152603c8101829052600090605c01610db0565b60008060006128ec8585612901565b915091506128f981612971565b509392505050565b6000808251604114156129385760208301516040840151606085015160001a61292c87828585612bca565b9450945050505061296a565b8251604014156129625760208301516040840151612957868383612ce2565b93509350505061296a565b506000905060025b9250929050565b60008160048111156129855761298561396f565b141561298e5750565b60018160048111156129a2576129a261396f565b1415612a0a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f45434453413a20696e76616c6964207369676e6174757265000000000000000060448201526064016104a2565b6002816004811115612a1e57612a1e61396f565b1415612a86576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e6774680060448201526064016104a2565b6003816004811115612a9a57612a9a61396f565b1415612b28576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c60448201527f756500000000000000000000000000000000000000000000000000000000000060648201526084016104a2565b6004816004811115612b3c57612b3c61396f565b1415610ad1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202776272076616c60448201527f756500000000000000000000000000000000000000000000000000000000000060648201526084016104a2565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0831115612c015750600090506003612cd9565b8460ff16601b14158015612c1957508460ff16601c14155b15612c2a5750600090506004612cd9565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa158015612c7e573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff8116612cd257600060019250925050612cd9565b9150600090505b94509492505050565b6000807f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff831660ff84901c601b01612d1c87828885612bca565b935093505050935093915050565b8015158114610ad157600080fd5b8035612d4381612d2a565b919050565b600060208284031215612d5a57600080fd5b813561266581612d2a565b73ffffffffffffffffffffffffffffffffffffffff81168114610ad157600080fd5b8035612d4381612d65565b60008060408385031215612da557600080fd5b8235612db081612d65565b946020939093013593505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405160c0810167ffffffffffffffff81118282101715612e1057612e10612dbe565b60405290565b60405160e0810167ffffffffffffffff81118282101715612e1057612e10612dbe565b6040805190810167ffffffffffffffff81118282101715612e1057612e10612dbe565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715612ea357612ea3612dbe565b604052919050565b803564ffffffffff81168114612d4357600080fd5b600067ffffffffffffffff821115612eda57612eda612dbe565b5060051b60200190565b600082601f830112612ef557600080fd5b81356020612f0a612f0583612ec0565b612e5c565b82815260059290921b84018101918181019086841115612f2957600080fd5b8286015b84811015612f445780358352918301918301612f2d565b509695505050505050565b600082601f830112612f6057600080fd5b813567ffffffffffffffff811115612f7a57612f7a612dbe565b612fab60207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f84011601612e5c565b818152846020838601011115612fc057600080fd5b816020850160208301376000918101602001919091529392505050565b600060c08284031215612fef57600080fd5b612ff7612ded565b9050813581526020820135602082015261301360408301612eab565b6040820152606082013567ffffffffffffffff8082111561303357600080fd5b61303f85838601612ee4565b6060840152608084013591508082111561305857600080fd5b5061306584828501612f4f565b60808301525061307760a08301612d87565b60a082015292915050565b60006020828403121561309457600080fd5b813567ffffffffffffffff8111156130ab57600080fd5b61220884828501612fdd565b600060e082840312156130c957600080fd5b6130d1612e16565b905081358152602082013560208201526130ed60408301612eab565b6040820152606082013567ffffffffffffffff81111561310c57600080fd5b61311884828501612ee4565b6060830152506080820135608082015261313460a08301612d38565b60a082015261314560c08301612d87565b60c082015292915050565b60006020828403121561316257600080fd5b813567ffffffffffffffff81111561317957600080fd5b612208848285016130b7565b60006080828403121561319757600080fd5b6040516080810167ffffffffffffffff82821081831117156131bb576131bb612dbe565b81604052829350843591506131cf82612d65565b81835260208501356020840152604085013591506131ec82612d65565b816040840152606085013591508082111561320657600080fd5b5061321385828601612ee4565b6060830152505092915050565b60006020828403121561323257600080fd5b813567ffffffffffffffff81111561324957600080fd5b61220884828501613185565b6000806020838503121561326857600080fd5b823567ffffffffffffffff8082111561328057600080fd5b818501915085601f83011261329457600080fd5b8135818111156132a357600080fd5b8660208260051b85010111156132b857600080fd5b60209290920196919550909350505050565b803560038110612d4357600080fd5b60008083601f8401126132eb57600080fd5b50813567ffffffffffffffff81111561330357600080fd5b60208301915083602082850101111561296a57600080fd5b60008060008060008060008060006101008a8c03121561333a57600080fd5b893567ffffffffffffffff8082111561335257600080fd5b61335e8d838e01613185565b9a5060208c013591508082111561337457600080fd5b6133808d838e01612fdd565b995060408c013591508082111561339657600080fd5b6133a28d838e01612f4f565b98506133b060608d016132ca565b975060808c01359150808211156133c657600080fd5b6133d28d838e016130b7565b965060a08c01359150808211156133e857600080fd5b6133f48d838e01612f4f565b955061340260c08d016132ca565b945060e08c013591508082111561341857600080fd5b506134258c828d016132d9565b915080935050809150509295985092959850929598565b60006020828403121561344e57600080fd5b813561266581612d65565b6000806040838503121561346c57600080fd5b823567ffffffffffffffff81111561348357600080fd5b61348f858286016130b7565b92505060208301356134a081612d2a565b809150509250929050565b6000602082840312156134bd57600080fd5b5035919050565b600080604083850312156134d757600080fd5b823567ffffffffffffffff8111156134ee57600080fd5b61348f85828601612fdd565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82141561358a5761358a613529565b5060010190565b6000602082840312156135a357600080fd5b815161266581612d2a565b6000815180845260005b818110156135d4576020818501810151868301820152016135b8565b818111156135e6576000602083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b60208152600061266560208301846135ae565b600081518084526020808501945080840160005b8381101561365c57815187529582019590820190600101613640565b509495945050505050565b821515815260406020820152815160408201526020820151606082015264ffffffffff60408301511660808201526000606083015160e060a08401526136b161012084018261362c565b9050608084015160c084015260a0840151151560e084015273ffffffffffffffffffffffffffffffffffffffff60c085015116610100840152809150509392505050565b821515815260406020820152815160408201526020820151606082015264ffffffffff60408301511660808201526000606083015160c060a084015261373f61010084018261362c565b905060808401517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc08483030160c085015261377a82826135ae565b91505073ffffffffffffffffffffffffffffffffffffffff60a08501511660e0840152809150509392505050565b805160208083015191908110156137e7577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8160200360031b1b821691505b50919050565b73ffffffffffffffffffffffffffffffffffffffff8616815284602082015260806040820152600061382260808301866135ae565b82810360608401528381528385602083013760006020858301015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8601168201019150509695505050505050565b60008282101561388757613887613529565b500390565b6000817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156138c4576138c4613529565b500290565b6000826138ff577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500490565b6000821982111561391757613917613529565b500190565b60006020828403121561392e57600080fd5b815161266581612d65565b815160009082906020808601845b8381101561396357815185529382019390820190600101613947565b50929695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b600060208083850312156139b157600080fd5b825167ffffffffffffffff8111156139c857600080fd5b8301601f810185136139d957600080fd5b80516139e7612f0582612ec0565b81815260069190911b82018301908381019087831115613a0657600080fd5b928401925b82841015613a665760408489031215613a245760008081fd5b613a2c612e39565b8451613a3781612d65565b81528486015163ffffffff81168114613a505760008081fd5b8187015282526040939093019290840190613a0b565b97965050505050505056fe4d61726b65743a206f726465722063616e63656c6c6564206f7220657870697265644d61726b65743a206269642f61736b2061677265656d656e74206861736820646f65736e2774206d61746368206f726465722061677265656d656e74a2646970667358221220d3b1efc90892ef1017d51d4b6159b73d9bacb71865af3b555766d91e70af2bae64736f6c634300080a0033