0x6080604052600436106100eb5760003560e01c80639e35bf2111610084578063eae483c511610056578063eae483c5146102d6578063f2c816ae146102f6578063f2fde38b14610316578063fa51b1fe1461033657005b80639e35bf2114610246578063a0f11adb14610266578063dbac26e914610286578063df378f8f146102b657005b806335e82f3a116100bd57806335e82f3a146101995780633be86c6e146101c95780633ccfd60b146102115780635b4405961461022657005b80630b0619a8146100f45780630ca6522b1461012557806312eb4f9a146101555780631472e2cc1461017957005b366100f257005b005b34801561010057600080fd5b5060015461010e9060ff1681565b60405160ff90911681526020015b60405180910390f35b34801561013157600080fd5b5061014561014036600461161a565b610356565b60405161011c9493929190611677565b34801561016157600080fd5b5061016b60005481565b60405190815260200161011c565b34801561018557600080fd5b506100f26101943660046116fe565b61072f565b3480156101a557600080fd5b506101b96101b436600461161a565b61079f565b604051901515815260200161011c565b3480156101d557600080fd5b506101fc6101e436600461161a565b60046020526000908152604090205463ffffffff1681565b60405163ffffffff909116815260200161011c565b34801561021d57600080fd5b506100f2610841565b34801561023257600080fd5b5061016b61024136600461161a565b610b76565b34801561025257600080fd5b506100f2610261366004611721565b610d9a565b34801561027257600080fd5b506101b9610281366004611751565b610df4565b34801561029257600080fd5b506101b96102a136600461161a565b60036020526000908152604090205460ff1681565b3480156102c257600080fd5b506100f26102d1366004611784565b61108e565b3480156102e257600080fd5b506100f26102f136600461161a565b6111db565b34801561030257600080fd5b506101b961031136600461161a565b61125f565b34801561032257600080fd5b506100f261033136600461161a565b611300565b34801561034257600080fd5b506101b96103513660046117c2565b6113a7565b6001600160a01b03811660009081526004602052604090205460609081908190819063ffffffff1667ffffffffffffffff81111561039657610396611816565b6040519080825280602002602001820160405280156103bf578160200160208202803683370190505b506001600160a01b03861660009081526004602052604090205490945063ffffffff1667ffffffffffffffff8111156103fa576103fa611816565b604051908082528060200260200182016040528015610423578160200160208202803683370190505b506001600160a01b03861660009081526004602052604090205490935063ffffffff1667ffffffffffffffff81111561045e5761045e611816565b604051908082528060200260200182016040528015610487578160200160208202803683370190505b506001600160a01b03861660009081526004602052604090205490925063ffffffff1667ffffffffffffffff8111156104c2576104c2611816565b6040519080825280602002602001820160405280156104eb578160200160208202803683370190505b50905060005b6001600160a01b03861660009081526004602052604090205463ffffffff9081169082161015610727576001600160a01b038616600090815260046020526040812060019081019190610545908490611842565b63ffffffff908116825260208201929092526040016000205486519082169187919084169081106105785761057861185e565b63ffffffff9092166020928302919091018201526001600160a01b0387166000908152600490915260408120600190810191906105b6908490611842565b63ffffffff1663ffffffff16815260200190815260200160002060000160049054906101000a900463ffffffff16848263ffffffff16815181106105fc576105fc61185e565b63ffffffff9092166020928302919091018201526001600160a01b03871660009081526004909152604081206001908101919061063a908490611842565b63ffffffff1663ffffffff16815260200190815260200160002060000160089054906101000a90046001600160801b0316838263ffffffff16815181106106835761068361185e565b6001600160801b039092166020928302919091018201526001600160a01b0387166000908152600490915260408120600190810191906106c4908490611842565b63ffffffff1663ffffffff16815260200190815260200160002060000160189054906101000a900463ffffffff16828263ffffffff168151811061070a5761070a61185e565b63ffffffff909216602092830291909101909101526001016104f1565b509193509193565b60015461010090046001600160a01b031633146107895760405162461bcd60e51b8152602060048201526013602482015272139bc81cdd59999a58da595b9d081c9a59da1d606a1b60448201526064015b60405180910390fd5b6001805460ff191660ff92909216919091179055565b60015460009061010090046001600160a01b031633146107f75760405162461bcd60e51b8152602060048201526013602482015272139bc81cdd59999a58da595b9d081c9a59da1d606a1b6044820152606401610780565b6001600160a01b03821660009081526003602052604090205460ff161561083c57506001600160a01b0381166000908152600360205260409020805460ff1916905560015b919050565b3360009081526003602052604090205460ff161561085e57600080fd5b3360009081526004602052604090205463ffffffff166108c05760405162461bcd60e51b815260206004820152600e60248201527f4e6f20626f6e75736573207965740000000000000000000000000000000000006044820152606401610780565b60006108cb33610b76565b90506000811161091d5760405162461bcd60e51b815260206004820152601b60248201527f4e6f2076616c756520666f72207769746864726177616c2079657400000000006044820152606401610780565b6005546040517fa9059cbb000000000000000000000000000000000000000000000000000000008152336004820152602481018390526001600160a01b0390911690819063a9059cbb906044016020604051808303816000875af1158015610989573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109ad9190611874565b6109f95760405162461bcd60e51b815260206004820152600f60248201527f5472616e73666572206661696c656400000000000000000000000000000000006044820152606401610780565b60405182815233907f884edad9ce6fa2440d8a54cc123490eb96d2768479d49ff9c7366125a94243649060200160405180910390a260015b3360009081526004602052604090205463ffffffff90811690821611610b715733600090815260046020908152604080832063ffffffff858116855260019091019092529091205464010000000081048216600160c01b909104909116108015610b13575033600090815260046020908152604080832063ffffffff80861685526001909101835281842082516080810184529054808316825264010000000081048316948201949094526001600160801b036801000000000000000085041692810192909252600160c01b9092049091166060820152610b11906115a4565b115b15610b5f5733600090815260046020908152604080832063ffffffff8086168552600190910190925290912080544292909216600160c01b0263ffffffff60c01b199092169190911790555b80610b6981611896565b915050610a31565b505050565b6001600160a01b03811660009081526004602052604081205463ffffffff16610be15760405162461bcd60e51b815260206004820152600e60248201527f4e6f20626f6e75736573207965740000000000000000000000000000000000006044820152606401610780565b600160005b6001600160a01b03841660009081526004602052604090205463ffffffff90811690831611610d93576001600160a01b038416600090815260046020908152604080832063ffffffff868116855260019091019092529091205464010000000081048216600160c01b909104909116108015610ce357506001600160a01b038416600090815260046020908152604080832063ffffffff80871685526001909101835281842082516080810184529054808316825264010000000081048316948201949094526001600160801b036801000000000000000085041692810192909252600160c01b9092049091166060820152610ce1906115a4565b115b15610d81576001600160a01b038416600090815260046020908152604080832063ffffffff86811685526001909101835292819020548151608081018352818516815264010000000082048516938101939093526801000000000000000081046001600160801b0316918301829052600160c01b90049092166060820152610d6a906115a4565b610d7491906118bb565b610d7e90826118d2565b90505b81610d8b81611896565b925050610be6565b9392505050565b60015461010090046001600160a01b03163314610def5760405162461bcd60e51b8152602060048201526013602482015272139bc81cdd59999a58da595b9d081c9a59da1d606a1b6044820152606401610780565b600055565b60015460009061010090046001600160a01b03163314610e4c5760405162461bcd60e51b8152602060048201526013602482015272139bc81cdd59999a58da595b9d081c9a59da1d606a1b6044820152606401610780565b60008054600154429291610e629160ff166118bb565b610e6c90426118d2565b90506001600160801b03841615611081576001600160a01b03851660009081526004602052604081205463ffffffff169003610efb57600280546001810182556000919091527f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace01805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0387161790555b6001600160a01b0385166000908152600460205260408120805463ffffffff1691610f2583611896565b825463ffffffff9182166101009390930a9283029282021916919091179091556040805160808101825285831680825285841660208084019182526001600160801b03808c16858701908152606086019485526001600160a01b038e1660008181526004855288812080548b16825260010190945292879020955186549451915195518916600160c01b0263ffffffff60c01b19969093166801000000000000000002959095167fffffffff0000000000000000000000000000000000000000ffffffffffffffff9189166401000000000267ffffffffffffffff199095169590981694909417929092179290921694909417939093179055519091507fff4335197bdcba7c019c172bcf5ecd04bcf45cf49cf44d4212b4d5868e0232b1906110789085908590899063ffffffff93841681529190921660208201526001600160801b0391909116604082015260600190565b60405180910390a25b6001925050505b92915050565b60015461010090046001600160a01b031633146110e35760405162461bcd60e51b8152602060048201526013602482015272139bc81cdd59999a58da595b9d081c9a59da1d606a1b6044820152606401610780565b6005546001600160a01b03168063a9059cbb8461110885670de0b6b3a76400006118bb565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303816000875af115801561116b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061118f9190611874565b610b715760405162461bcd60e51b815260206004820152600f60248201527f5472616e73666572206661696c656400000000000000000000000000000000006044820152606401610780565b60015461010090046001600160a01b031633146112305760405162461bcd60e51b8152602060048201526013602482015272139bc81cdd59999a58da595b9d081c9a59da1d606a1b6044820152606401610780565b6005805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b60015460009061010090046001600160a01b031633146112b75760405162461bcd60e51b8152602060048201526013602482015272139bc81cdd59999a58da595b9d081c9a59da1d606a1b6044820152606401610780565b6001600160a01b03821660009081526003602052604090205460ff1661083c57506001600160a01b03166000908152600360205260409020805460ff1916600190811790915590565b60015461010090046001600160a01b031633146113555760405162461bcd60e51b8152602060048201526013602482015272139bc81cdd59999a58da595b9d081c9a59da1d606a1b6044820152606401610780565b6001600160a01b03811661136857600080fd5b600180546001600160a01b03909216610100027fffffffffffffffffffffff0000000000000000000000000000000000000000ff909216919091179055565b60015460009061010090046001600160a01b031633146113ff5760405162461bcd60e51b8152602060048201526013602482015272139bc81cdd59999a58da595b9d081c9a59da1d606a1b6044820152606401610780565b6001600160a01b03851660009081526004602052604090205463ffffffff1661146a5760405162461bcd60e51b815260206004820152601f60248201527f426f6e7573657320666f722077616c6c657420646f206e6f74206578697374006044820152606401610780565b6001600160a01b03851660009081526004602052604090205463ffffffff8086169116116115005760405162461bcd60e51b815260206004820152602960248201527f626f6e7573496e6465782073686f756c64206265206c657373207468616e206260448201527f6f6e7573436f756e7400000000000000000000000000000000000000000000006064820152608401610780565b8361150a81611896565b6001600160a01b0396909616600090815260046020908152604080832063ffffffff998a16845260019081019092529091208054949097166401000000000267ffffffff00000000196001600160801b03969096166801000000000000000002959095167fffffffffffffffff0000000000000000000000000000000000000000ffffffff90941693909317939093179094559392505050565b60008054826020015163ffffffff1642116115d35760608301516115ce9063ffffffff16426118e5565b6115f9565b606083015160208401516115e8906001611842565b6115f291906118f8565b63ffffffff165b6110889190611914565b80356001600160a01b038116811461083c57600080fd5b60006020828403121561162c57600080fd5b610d9382611603565b600081518084526020840193506020830160005b8281101561166d57815163ffffffff16865260209586019590910190600101611649565b5093949350505050565b60808152600061168a6080830187611635565b828103602084015261169c8187611635565b83810360408501528551808252602080880193509091019060005b818110156116de5783516001600160801b03168352602093840193909201916001016116b7565b505083810360608501526116f28186611635565b98975050505050505050565b60006020828403121561171057600080fd5b813560ff81168114610d9357600080fd5b60006020828403121561173357600080fd5b5035919050565b80356001600160801b038116811461083c57600080fd5b6000806040838503121561176457600080fd5b61176d83611603565b915061177b6020840161173a565b90509250929050565b6000806040838503121561179757600080fd5b6117a083611603565b946020939093013593505050565b803563ffffffff8116811461083c57600080fd5b600080600080608085870312156117d857600080fd5b6117e185611603565b93506117ef602086016117ae565b92506117fd6040860161173a565b915061180b606086016117ae565b905092959194509250565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052601160045260246000fd5b63ffffffff81811683821601908111156110885761108861182c565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561188657600080fd5b81518015158114610d9357600080fd5b600063ffffffff821663ffffffff81036118b2576118b261182c565b60010192915050565b80820281158282048414176110885761108861182c565b808201808211156110885761108861182c565b818103818111156110885761108861182c565b63ffffffff82811682821603908111156110885761108861182c565b60008261193157634e487b7160e01b600052601260045260246000fd5b50049056fea2646970667358221220ef8d3c65391b95c5904b198493b68dc5b7563a4e98dbab8885fe2f29587af73864736f6c634300081a0033
0x608060405261012c6000556001805460ff1916600c179055348015602257600080fd5b5060018054610100600160a81b031916336101000217905561196c806100496000396000f3fe6080604052600436106100eb5760003560e01c80639e35bf2111610084578063eae483c511610056578063eae483c5146102d6578063f2c816ae146102f6578063f2fde38b14610316578063fa51b1fe1461033657005b80639e35bf2114610246578063a0f11adb14610266578063dbac26e914610286578063df378f8f146102b657005b806335e82f3a116100bd57806335e82f3a146101995780633be86c6e146101c95780633ccfd60b146102115780635b4405961461022657005b80630b0619a8146100f45780630ca6522b1461012557806312eb4f9a146101555780631472e2cc1461017957005b366100f257005b005b34801561010057600080fd5b5060015461010e9060ff1681565b60405160ff90911681526020015b60405180910390f35b34801561013157600080fd5b5061014561014036600461161a565b610356565b60405161011c9493929190611677565b34801561016157600080fd5b5061016b60005481565b60405190815260200161011c565b34801561018557600080fd5b506100f26101943660046116fe565b61072f565b3480156101a557600080fd5b506101b96101b436600461161a565b61079f565b604051901515815260200161011c565b3480156101d557600080fd5b506101fc6101e436600461161a565b60046020526000908152604090205463ffffffff1681565b60405163ffffffff909116815260200161011c565b34801561021d57600080fd5b506100f2610841565b34801561023257600080fd5b5061016b61024136600461161a565b610b76565b34801561025257600080fd5b506100f2610261366004611721565b610d9a565b34801561027257600080fd5b506101b9610281366004611751565b610df4565b34801561029257600080fd5b506101b96102a136600461161a565b60036020526000908152604090205460ff1681565b3480156102c257600080fd5b506100f26102d1366004611784565b61108e565b3480156102e257600080fd5b506100f26102f136600461161a565b6111db565b34801561030257600080fd5b506101b961031136600461161a565b61125f565b34801561032257600080fd5b506100f261033136600461161a565b611300565b34801561034257600080fd5b506101b96103513660046117c2565b6113a7565b6001600160a01b03811660009081526004602052604090205460609081908190819063ffffffff1667ffffffffffffffff81111561039657610396611816565b6040519080825280602002602001820160405280156103bf578160200160208202803683370190505b506001600160a01b03861660009081526004602052604090205490945063ffffffff1667ffffffffffffffff8111156103fa576103fa611816565b604051908082528060200260200182016040528015610423578160200160208202803683370190505b506001600160a01b03861660009081526004602052604090205490935063ffffffff1667ffffffffffffffff81111561045e5761045e611816565b604051908082528060200260200182016040528015610487578160200160208202803683370190505b506001600160a01b03861660009081526004602052604090205490925063ffffffff1667ffffffffffffffff8111156104c2576104c2611816565b6040519080825280602002602001820160405280156104eb578160200160208202803683370190505b50905060005b6001600160a01b03861660009081526004602052604090205463ffffffff9081169082161015610727576001600160a01b038616600090815260046020526040812060019081019190610545908490611842565b63ffffffff908116825260208201929092526040016000205486519082169187919084169081106105785761057861185e565b63ffffffff9092166020928302919091018201526001600160a01b0387166000908152600490915260408120600190810191906105b6908490611842565b63ffffffff1663ffffffff16815260200190815260200160002060000160049054906101000a900463ffffffff16848263ffffffff16815181106105fc576105fc61185e565b63ffffffff9092166020928302919091018201526001600160a01b03871660009081526004909152604081206001908101919061063a908490611842565b63ffffffff1663ffffffff16815260200190815260200160002060000160089054906101000a90046001600160801b0316838263ffffffff16815181106106835761068361185e565b6001600160801b039092166020928302919091018201526001600160a01b0387166000908152600490915260408120600190810191906106c4908490611842565b63ffffffff1663ffffffff16815260200190815260200160002060000160189054906101000a900463ffffffff16828263ffffffff168151811061070a5761070a61185e565b63ffffffff909216602092830291909101909101526001016104f1565b509193509193565b60015461010090046001600160a01b031633146107895760405162461bcd60e51b8152602060048201526013602482015272139bc81cdd59999a58da595b9d081c9a59da1d606a1b60448201526064015b60405180910390fd5b6001805460ff191660ff92909216919091179055565b60015460009061010090046001600160a01b031633146107f75760405162461bcd60e51b8152602060048201526013602482015272139bc81cdd59999a58da595b9d081c9a59da1d606a1b6044820152606401610780565b6001600160a01b03821660009081526003602052604090205460ff161561083c57506001600160a01b0381166000908152600360205260409020805460ff1916905560015b919050565b3360009081526003602052604090205460ff161561085e57600080fd5b3360009081526004602052604090205463ffffffff166108c05760405162461bcd60e51b815260206004820152600e60248201527f4e6f20626f6e75736573207965740000000000000000000000000000000000006044820152606401610780565b60006108cb33610b76565b90506000811161091d5760405162461bcd60e51b815260206004820152601b60248201527f4e6f2076616c756520666f72207769746864726177616c2079657400000000006044820152606401610780565b6005546040517fa9059cbb000000000000000000000000000000000000000000000000000000008152336004820152602481018390526001600160a01b0390911690819063a9059cbb906044016020604051808303816000875af1158015610989573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109ad9190611874565b6109f95760405162461bcd60e51b815260206004820152600f60248201527f5472616e73666572206661696c656400000000000000000000000000000000006044820152606401610780565b60405182815233907f884edad9ce6fa2440d8a54cc123490eb96d2768479d49ff9c7366125a94243649060200160405180910390a260015b3360009081526004602052604090205463ffffffff90811690821611610b715733600090815260046020908152604080832063ffffffff858116855260019091019092529091205464010000000081048216600160c01b909104909116108015610b13575033600090815260046020908152604080832063ffffffff80861685526001909101835281842082516080810184529054808316825264010000000081048316948201949094526001600160801b036801000000000000000085041692810192909252600160c01b9092049091166060820152610b11906115a4565b115b15610b5f5733600090815260046020908152604080832063ffffffff8086168552600190910190925290912080544292909216600160c01b0263ffffffff60c01b199092169190911790555b80610b6981611896565b915050610a31565b505050565b6001600160a01b03811660009081526004602052604081205463ffffffff16610be15760405162461bcd60e51b815260206004820152600e60248201527f4e6f20626f6e75736573207965740000000000000000000000000000000000006044820152606401610780565b600160005b6001600160a01b03841660009081526004602052604090205463ffffffff90811690831611610d93576001600160a01b038416600090815260046020908152604080832063ffffffff868116855260019091019092529091205464010000000081048216600160c01b909104909116108015610ce357506001600160a01b038416600090815260046020908152604080832063ffffffff80871685526001909101835281842082516080810184529054808316825264010000000081048316948201949094526001600160801b036801000000000000000085041692810192909252600160c01b9092049091166060820152610ce1906115a4565b115b15610d81576001600160a01b038416600090815260046020908152604080832063ffffffff86811685526001909101835292819020548151608081018352818516815264010000000082048516938101939093526801000000000000000081046001600160801b0316918301829052600160c01b90049092166060820152610d6a906115a4565b610d7491906118bb565b610d7e90826118d2565b90505b81610d8b81611896565b925050610be6565b9392505050565b60015461010090046001600160a01b03163314610def5760405162461bcd60e51b8152602060048201526013602482015272139bc81cdd59999a58da595b9d081c9a59da1d606a1b6044820152606401610780565b600055565b60015460009061010090046001600160a01b03163314610e4c5760405162461bcd60e51b8152602060048201526013602482015272139bc81cdd59999a58da595b9d081c9a59da1d606a1b6044820152606401610780565b60008054600154429291610e629160ff166118bb565b610e6c90426118d2565b90506001600160801b03841615611081576001600160a01b03851660009081526004602052604081205463ffffffff169003610efb57600280546001810182556000919091527f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace01805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0387161790555b6001600160a01b0385166000908152600460205260408120805463ffffffff1691610f2583611896565b825463ffffffff9182166101009390930a9283029282021916919091179091556040805160808101825285831680825285841660208084019182526001600160801b03808c16858701908152606086019485526001600160a01b038e1660008181526004855288812080548b16825260010190945292879020955186549451915195518916600160c01b0263ffffffff60c01b19969093166801000000000000000002959095167fffffffff0000000000000000000000000000000000000000ffffffffffffffff9189166401000000000267ffffffffffffffff199095169590981694909417929092179290921694909417939093179055519091507fff4335197bdcba7c019c172bcf5ecd04bcf45cf49cf44d4212b4d5868e0232b1906110789085908590899063ffffffff93841681529190921660208201526001600160801b0391909116604082015260600190565b60405180910390a25b6001925050505b92915050565b60015461010090046001600160a01b031633146110e35760405162461bcd60e51b8152602060048201526013602482015272139bc81cdd59999a58da595b9d081c9a59da1d606a1b6044820152606401610780565b6005546001600160a01b03168063a9059cbb8461110885670de0b6b3a76400006118bb565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303816000875af115801561116b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061118f9190611874565b610b715760405162461bcd60e51b815260206004820152600f60248201527f5472616e73666572206661696c656400000000000000000000000000000000006044820152606401610780565b60015461010090046001600160a01b031633146112305760405162461bcd60e51b8152602060048201526013602482015272139bc81cdd59999a58da595b9d081c9a59da1d606a1b6044820152606401610780565b6005805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b60015460009061010090046001600160a01b031633146112b75760405162461bcd60e51b8152602060048201526013602482015272139bc81cdd59999a58da595b9d081c9a59da1d606a1b6044820152606401610780565b6001600160a01b03821660009081526003602052604090205460ff1661083c57506001600160a01b03166000908152600360205260409020805460ff1916600190811790915590565b60015461010090046001600160a01b031633146113555760405162461bcd60e51b8152602060048201526013602482015272139bc81cdd59999a58da595b9d081c9a59da1d606a1b6044820152606401610780565b6001600160a01b03811661136857600080fd5b600180546001600160a01b03909216610100027fffffffffffffffffffffff0000000000000000000000000000000000000000ff909216919091179055565b60015460009061010090046001600160a01b031633146113ff5760405162461bcd60e51b8152602060048201526013602482015272139bc81cdd59999a58da595b9d081c9a59da1d606a1b6044820152606401610780565b6001600160a01b03851660009081526004602052604090205463ffffffff1661146a5760405162461bcd60e51b815260206004820152601f60248201527f426f6e7573657320666f722077616c6c657420646f206e6f74206578697374006044820152606401610780565b6001600160a01b03851660009081526004602052604090205463ffffffff8086169116116115005760405162461bcd60e51b815260206004820152602960248201527f626f6e7573496e6465782073686f756c64206265206c657373207468616e206260448201527f6f6e7573436f756e7400000000000000000000000000000000000000000000006064820152608401610780565b8361150a81611896565b6001600160a01b0396909616600090815260046020908152604080832063ffffffff998a16845260019081019092529091208054949097166401000000000267ffffffff00000000196001600160801b03969096166801000000000000000002959095167fffffffffffffffff0000000000000000000000000000000000000000ffffffff90941693909317939093179094559392505050565b60008054826020015163ffffffff1642116115d35760608301516115ce9063ffffffff16426118e5565b6115f9565b606083015160208401516115e8906001611842565b6115f291906118f8565b63ffffffff165b6110889190611914565b80356001600160a01b038116811461083c57600080fd5b60006020828403121561162c57600080fd5b610d9382611603565b600081518084526020840193506020830160005b8281101561166d57815163ffffffff16865260209586019590910190600101611649565b5093949350505050565b60808152600061168a6080830187611635565b828103602084015261169c8187611635565b83810360408501528551808252602080880193509091019060005b818110156116de5783516001600160801b03168352602093840193909201916001016116b7565b505083810360608501526116f28186611635565b98975050505050505050565b60006020828403121561171057600080fd5b813560ff81168114610d9357600080fd5b60006020828403121561173357600080fd5b5035919050565b80356001600160801b038116811461083c57600080fd5b6000806040838503121561176457600080fd5b61176d83611603565b915061177b6020840161173a565b90509250929050565b6000806040838503121561179757600080fd5b6117a083611603565b946020939093013593505050565b803563ffffffff8116811461083c57600080fd5b600080600080608085870312156117d857600080fd5b6117e185611603565b93506117ef602086016117ae565b92506117fd6040860161173a565b915061180b606086016117ae565b905092959194509250565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052601160045260246000fd5b63ffffffff81811683821601908111156110885761108861182c565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561188657600080fd5b81518015158114610d9357600080fd5b600063ffffffff821663ffffffff81036118b2576118b261182c565b60010192915050565b80820281158282048414176110885761108861182c565b808201808211156110885761108861182c565b818103818111156110885761108861182c565b63ffffffff82811682821603908111156110885761108861182c565b60008261193157634e487b7160e01b600052601260045260246000fd5b50049056fea2646970667358221220ef8d3c65391b95c5904b198493b68dc5b7563a4e98dbab8885fe2f29587af73864736f6c634300081a0033