0x60a06040526103e86002553480156200001757600080fd5b50604051620039a7380380620039a78339810160408190526200003a91620000d8565b62000045336200006b565b600180546001600160a01b0319166001600160a01b039283161790551660805262000110565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b80516001600160a01b0381168114620000d357600080fd5b919050565b60008060408385031215620000ec57600080fd5b620000f783620000bb565b91506200010760208401620000bb565b90509250929050565b6080516138586200014f600039600081816105f401528181610d6401528181610f080152818161128f0152818161213e015261249a01526138586000f3fe6080604052600436106101845760003560e01c80637d6a4568116100d6578063b761ed3c1161007f578063cc7b4f8b11610059578063cc7b4f8b146106b6578063d9c45357146106d6578063f2fde38b146106e95761018b565b8063b761ed3c14610636578063bf298c3414610656578063c683630d146106765761018b565b80639ccfd8c1116100b05780639ccfd8c1146105c2578063ad5c4648146105e2578063b171d294146106165761018b565b80637d6a4568146105345780638b674f5d146105775780638da5cb5b146105975761018b565b80633334e66311610138578063715018a611610112578063715018a6146104df578063774b6b7e146104f457806378e3214f146105145761018b565b80633334e6631461047f5780633d4a345c14610492578063460690f4146104b25761018b565b80630b129abf116101695780630b129abf146103fc578063263cc4fd1461043f57806333320de31461045f5761018b565b806303a18fa31461036a57806308f2cc54146103c15761018b565b3661018b57005b34801561019757600080fd5b5060006101a43682612b67565b7fffffffff00000000000000000000000000000000000000000000000000000000811660009081526003602052604090205490915073ffffffffffffffffffffffffffffffffffffffff1680610281576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603860248201527f4167677265676174696f6e4578656375746f723a207468652063616c6c62616360448201527f6b2066756e6374696f6e20646f65736e2774206578697374000000000000000060648201526084015b60405180910390fd5b6000808273ffffffffffffffffffffffffffffffffffffffff166000366040516102ac929190612baf565b600060405180830381855af49150503d80600081146102e7576040519150601f19603f3d011682016040523d82523d6000602084013e6102ec565b606091505b50915091508161036857610335816040518060400160405280601181526020017f63616c6c6261636b206661696c65643a20000000000000000000000000000000815250610709565b6040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102789190612c2d565b005b34801561037657600080fd5b506001546103979073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b3480156103cd57600080fd5b506103ee6103dc366004612c74565b60076020526000908152604090205481565b6040519081526020016103b8565b34801561040857600080fd5b50610397610417366004612cc1565b60046020526000908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b34801561044b57600080fd5b5061036861045a366004612c74565b610b42565b34801561046b57600080fd5b5061036861047a366004612e4c565b610b91565b61036861048d3660046130fc565b610c4d565b34801561049e57600080fd5b506103686104ad3660046131a6565b61102b565b3480156104be57600080fd5b506103ee6104cd366004612c74565b60066020526000908152604090205481565b3480156104eb57600080fd5b50610368611161565b34801561050057600080fd5b5061036861050f3660046132af565b611175565b34801561052057600080fd5b5061036861052f36600461332b565b61138b565b34801561054057600080fd5b5061039761054f366004612cc1565b60036020526000908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b34801561058357600080fd5b50610368610592366004613357565b6113dd565b3480156105a357600080fd5b5060005473ffffffffffffffffffffffffffffffffffffffff16610397565b3480156105ce57600080fd5b506103686105dd366004613399565b611499565b3480156105ee57600080fd5b506103977f000000000000000000000000000000000000000000000000000000000000000081565b34801561062257600080fd5b5061036861063136600461332b565b611518565b34801561064257600080fd5b506103686106513660046133d0565b611648565b34801561066257600080fd5b506103686106713660046131a6565b6116e6565b34801561068257600080fd5b506106a6610691366004612c74565b60056020526000908152604090205460ff1681565b60405190151581526020016103b8565b3480156106c257600080fd5b506103686106d136600461332b565b61181c565b6103686106e4366004613357565b61193e565b3480156106f557600080fd5b50610368610704366004612c74565b6119ed565b6060604483511015801561077657508260008151811061072b5761072b6133e9565b6020910101517fff00000000000000000000000000000000000000000000000000000000000000167f0800000000000000000000000000000000000000000000000000000000000000145b80156107db575082600181518110610790576107906133e9565b6020910101517fff00000000000000000000000000000000000000000000000000000000000000167fc300000000000000000000000000000000000000000000000000000000000000145b80156108405750826002815181106107f5576107f56133e9565b6020910101517fff00000000000000000000000000000000000000000000000000000000000000167f7900000000000000000000000000000000000000000000000000000000000000145b80156108a557508260038151811061085a5761085a6133e9565b6020910101517fff00000000000000000000000000000000000000000000000000000000000000167fa000000000000000000000000000000000000000000000000000000000000000145b15610951576044838101805190916108bd9190613447565b84511015610927576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f496e76616c69642072657665727420726561736f6e00000000000000000000006044820152606401610278565b828160405160200161093a92919061345a565b604051602081830303815290604052915050610b3c565b825160241480156109bb575082600081518110610970576109706133e9565b6020910101517fff00000000000000000000000000000000000000000000000000000000000000167f4e00000000000000000000000000000000000000000000000000000000000000145b8015610a205750826001815181106109d5576109d56133e9565b6020910101517fff00000000000000000000000000000000000000000000000000000000000000167f4800000000000000000000000000000000000000000000000000000000000000145b8015610a85575082600281518110610a3a57610a3a6133e9565b6020910101517fff00000000000000000000000000000000000000000000000000000000000000167f7b00000000000000000000000000000000000000000000000000000000000000145b8015610aea575082600381518110610a9f57610a9f6133e9565b6020910101517fff00000000000000000000000000000000000000000000000000000000000000167f7100000000000000000000000000000000000000000000000000000000000000145b15610b0f57602483015182610afe82611aa4565b60405160200161093a9291906134dc565b81610b1984611acc565b604051602001610b2a929190613528565b60405160208183030381529060405290505b92915050565b610b4a611d71565b600180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b610b99611d71565b8051825114610ba757600080fd5b60005b8251811015610c4857818181518110610bc557610bc56133e9565b602002602001015160056000858481518110610be357610be36133e9565b60209081029190910181015173ffffffffffffffffffffffffffffffffffffffff16825281019190915260400160002080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016911515919091179055600101610baa565b505050565b8142811015610cb8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600f60248201527f526f757465723a204558504952454400000000000000000000000000000000006044820152606401610278565b3360009081526005602052604090205460ff16610d31576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f41646472657373206973206e6f742077686974656c69737465640000000000006044820152606401610278565b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee73ffffffffffffffffffffffffffffffffffffffff871603610de4577f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663d0e30db0346040518263ffffffff1660e01b81526004016000604051808303818588803b158015610dca57600080fd5b505af1158015610dde573d6000803e3d6000fd5b50505050505b60005b8751811015610e66576000805b898381518110610e0657610e066133e9565b602002602001015151811015610e5c57610e528a8481518110610e2b57610e2b6133e9565b60200260200101518281518110610e4457610e446133e9565b602002602001015183611df2565b9150600101610df4565b5050600101610de7565b506000610e72866120dd565b905073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee73ffffffffffffffffffffffffffffffffffffffff871603610f7a5780600003610eb4576000610ed8565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01805b506040517f2e1a7d4d000000000000000000000000000000000000000000000000000000008152600481018290527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1690632e1a7d4d90602401600060405180830381600087803b158015610f6157600080fd5b505af1158015610f75573d6000803e3d6000fd5b505050505b825115610f8f57610f8c838783612216565b90505b6000610f9a886120dd565b9050610fde888783600003610fb0576000610fd7565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90930192835b600161242e565b611020878784600003610ff2576000611019565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90940193845b600061242e565b505050505050505050565b611033611d71565b805182511461109e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4578656375746f723a20696e76616c6964206c656e67746800000000000000006044820152606401610278565b60005b8251811015610c48578181815181106110bc576110bc6133e9565b6020026020010151600460008584815181106110da576110da6133e9565b6020908102919091018101517fffffffff0000000000000000000000000000000000000000000000000000000016825281019190915260400160002080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff929092169190911790556001016110a1565b611169611d71565b611173600061252c565b565b3360009081526005602052604090205460ff166111ee576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f41646472657373206973206e6f742077686974656c69737465640000000000006044820152606401610278565b60006111f9856120dd565b905073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee73ffffffffffffffffffffffffffffffffffffffff861603611301578060000361123b57600061125f565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01805b506040517f2e1a7d4d000000000000000000000000000000000000000000000000000000008152600481018290527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1690632e1a7d4d90602401600060405180830381600087803b1580156112e857600080fd5b505af11580156112fc573d6000803e3d6000fd5b505050505b811561134d5761134a83838080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152508992508591506122169050565b90505b6000611358876120dd565b905061136e878683600003610fb0576000610fd7565b611382868684600003610ff2576000611019565b50505050505050565b611393611d71565b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee73ffffffffffffffffffffffffffffffffffffffff8316036113d2576113ce33826125a1565b5050565b6113ce8233836126b7565b3360009081526005602052604090205460ff16611456576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f41646472657373206973206e6f742077686974656c69737465640000000000006044820152606401610278565b6000611464828401846135aa565b90506000805b825181101561149257611488838281518110610e4457610e446133e9565b915060010161146a565b5050505050565b6114a1611d71565b7fffffffff0000000000000000000000000000000000000000000000000000000091909116600090815260046020526040902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff909216919091179055565b611520611d71565b73ffffffffffffffffffffffffffffffffffffffff821661159d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600f60248201527f496e76616c6964206164647265737300000000000000000000000000000000006044820152606401610278565b8015806115b9575061271081111580156115b957506113888110155b61161f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f496e76616c69642070657263656e7473000000000000000000000000000000006044820152606401610278565b73ffffffffffffffffffffffffffffffffffffffff909116600090815260066020526040902055565b611650611d71565b60648110156116e1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f4578656375746f723a206e65774c696d6974206d757374206e6f74206c6f776560448201527f72207468616e20312500000000000000000000000000000000000000000000006064820152608401610278565b600255565b6116ee611d71565b8051825114611759576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4578656375746f723a20696e76616c6964206c656e67746800000000000000006044820152606401610278565b60005b8251811015610c4857818181518110611777576117776133e9565b602002602001015160036000858481518110611795576117956133e9565b6020908102919091018101517fffffffff0000000000000000000000000000000000000000000000000000000016825281019190915260400160002080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff9290921691909117905560010161175c565b611824611d71565b73ffffffffffffffffffffffffffffffffffffffff82166118a1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600f60248201527f496e76616c6964206164647265737300000000000000000000000000000000006044820152606401610278565b8015806118af575060648110155b611915576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f496e76616c69642070657263656e7473000000000000000000000000000000006044820152606401610278565b73ffffffffffffffffffffffffffffffffffffffff909116600090815260076020526040902055565b3360009081526005602052604090205460ff166119b7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f41646472657373206973206e6f742077686974656c69737465640000000000006044820152606401610278565b60006119c5828401846135e7565b9050610c48816000015182602001518360400151846060015185608001518660a00151610c4d565b6119f5611d71565b73ffffffffffffffffffffffffffffffffffffffff8116611a98576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610278565b611aa18161252c565b50565b6060610b3c82604051602001611abc91815260200190565b6040516020818303038152906040525b80516060907f303132333435363738396162636465660000000000000000000000000000000090600090611b019060026136b5565b611b0c906002613447565b67ffffffffffffffff811115611b2457611b24612cdc565b6040519080825280601f01601f191660200182016040528015611b4e576020820181803683370190505b5090507f300000000000000000000000000000000000000000000000000000000000000081600081518110611b8557611b856133e9565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053507f780000000000000000000000000000000000000000000000000000000000000081600181518110611be857611be86133e9565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535060005b8451811015611d6957826004868381518110611c3857611c386133e9565b01602001517fff0000000000000000000000000000000000000000000000000000000000000016901c60f81c60108110611c7457611c746133e9565b1a60f81b82611c848360026136b5565b611c8f906002613447565b81518110611c9f57611c9f6133e9565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535082858281518110611ce157611ce16133e9565b60209101015160f81c600f1660108110611cfd57611cfd6133e9565b1a60f81b82611d0d8360026136b5565b611d18906003613447565b81518110611d2857611d286133e9565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535080611d61816136cc565b915050611c1a565b509392505050565b60005473ffffffffffffffffffffffffffffffffffffffff163314611173576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610278565b60007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8210611ea157604080517f08c379a00000000000000000000000000000000000000000000000000000000081526020600482015260248101919091527f4167677265676174696f6e4578656375746f723a2070726576416d6f756e744f60448201527f7574206d757374206265206c657373207468616e206d61785f75696e743232346064820152608401610278565b6020808401517fffffffff00000000000000000000000000000000000000000000000000000000811660009081526004909252604090912054819073ffffffffffffffffffffffffffffffffffffffff1680611f7f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603560248201527f4167677265676174696f6e4578656375746f723a204578656375746f7220666f60448201527f722064657820646f65736e2774206578697374656400000000000000000000006064820152608401610278565b60e08263ffffffff16901b851794506000808273ffffffffffffffffffffffffffffffffffffffff1685896000015189604051602001611fc0929190613704565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081840301815290829052611ffc9291602001613726565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152908290526120349161376e565b600060405180830381855af49150503d806000811461206f576040519150601f19603f3d011682016040523d82523d6000602084013e612074565b606091505b5091509150816120bd57610335816040518060400160405280601781526020017f7377617053696e676c65506f6f6c206661696c65643a20000000000000000000815250610709565b808060200190518101906120d1919061378a565b98975050505050505050565b600073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee73ffffffffffffffffffffffffffffffffffffffff8316036121bf576040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16906370a08231906024015b602060405180830381865afa15801561219b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b3c919061378a565b6040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff8316906370a082319060240161217e565b919050565b600080612223858461282d565b604081015160208201519192500180156124245780840393508160a001516000036122b457608082015173ffffffffffffffffffffffffffffffffffffffff161561227d5761227d8583608001518460200151600061242e565b815173ffffffffffffffffffffffffffffffffffffffff16156122af576122af8583600001518460400151600061242e565b612353565b8160a001516001036122f157608082015173ffffffffffffffffffffffffffffffffffffffff16156122af576122af85836080015183600061242e565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600360248201527f49464d00000000000000000000000000000000000000000000000000000000006044820152606401610278565b816000015173ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16836080015173ffffffffffffffffffffffffffffffffffffffff167f4bc8151c051441255339d01fbaeb38cf109cbfd75e9a5c62fb8f1dfb37fe6fd68486604001516040516123de929190918252602082015260400190565b60405180910390a47fbf402572f7d269fcae3a56e497d9fc9459e32213d9286c383ad57fa2b532fa8f8260a0015160405161241b91815260200190565b60405180910390a15b5091949350505050565b81156125265773eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee73ffffffffffffffffffffffffffffffffffffffff85160361251b57801561250c576040517f2e1a7d4d000000000000000000000000000000000000000000000000000000008152600481018390527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1690632e1a7d4d90602401600060405180830381600087803b1580156124f357600080fd5b505af1158015612507573d6000803e3d6000fd5b505050505b61251683836125a1565b612526565b6125268484846126b7565b50505050565b6000805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b806000036125ad575050565b6040805160008082526020820190925273ffffffffffffffffffffffffffffffffffffffff84169083906040516125e4919061376e565b60006040518083038185875af1925050503d8060008114612621576040519150601f19603f3d011682016040523d82523d6000602084013e612626565b606091505b5050905080610c48576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f5472616e7366657248656c7065723a204554485f5452414e534645525f46414960448201527f4c454400000000000000000000000000000000000000000000000000000000006064820152608401610278565b806000036126c457505050565b6040805173ffffffffffffffffffffffffffffffffffffffff8481166024830152604480830185905283518084039091018152606490920183526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb00000000000000000000000000000000000000000000000000000000179052915160009283929087169161275b919061376e565b6000604051808303816000865af19150503d8060008114612798576040519150601f19603f3d011682016040523d82523d6000602084013e61279d565b606091505b50915091508180156127c75750805115806127c75750808060200190518101906127c791906137a3565b611492576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5472616e7366657248656c7065723a205452414e534645525f4641494c4544006044820152606401610278565b6128926040518060c00160405280600073ffffffffffffffffffffffffffffffffffffffff168152602001600081526020016000815260200160008152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001600081525090565b602083511115612ac9576000838060200190518101906128b291906137c0565b905060808160200151901c81602001516fffffffffffffffffffffffffffffffff1601831115612ac35760408082015173ffffffffffffffffffffffffffffffffffffffff1660808401819052600090815260066020529081205490819003612977576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600f60248201527f4e6f742077686974656c697374656400000000000000000000000000000000006044820152606401610278565b815161ffff1660a0840152815160101c69ffffffffffffffffffff6127108390038116908216106129ac5781612710036129ae565b805b835160601c808652602080860151600092835260079091526040909120549192506fffffffffffffffffffffffffffffffff1686039080156129ff5761271087820204808311156129fd578092505b505b612710828502046020870152855173ffffffffffffffffffffffffffffffffffffffff16612a335760208601829052612aac565b856080015173ffffffffffffffffffffffffffffffffffffffff16866000015173ffffffffffffffffffffffffffffffffffffffff1603612a935760208601805161271069ffffffffffffffffffff861685020401905260008652612aac565b61271069ffffffffffffffffffff841683020460408701525b506040850151602086015190910303606085015250505b50610b3c565b8251602003610b3c57600083806020019051810190612ae8919061378a565b9050608081901c816fffffffffffffffffffffffffffffffff1601831115612b60576fffffffffffffffffffffffffffffffff81168303602083018190526002546127109085020490811015612b4057602083018190525b5060015473ffffffffffffffffffffffffffffffffffffffff1660808301525b5092915050565b7fffffffff000000000000000000000000000000000000000000000000000000008135818116916004851015612ba75780818660040360031b1b83161692505b505092915050565b8183823760009101908152919050565b60005b83811015612bda578181015183820152602001612bc2565b50506000910152565b60008151808452612bfb816020860160208601612bbf565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000612c406020830184612be3565b9392505050565b73ffffffffffffffffffffffffffffffffffffffff81168114611aa157600080fd5b803561221181612c47565b600060208284031215612c8657600080fd5b8135612c4081612c47565b80357fffffffff000000000000000000000000000000000000000000000000000000008116811461221157600080fd5b600060208284031215612cd357600080fd5b612c4082612c91565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040805190810167ffffffffffffffff81118282101715612d2e57612d2e612cdc565b60405290565b60405160c0810167ffffffffffffffff81118282101715612d2e57612d2e612cdc565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715612d9e57612d9e612cdc565b604052919050565b600067ffffffffffffffff821115612dc057612dc0612cdc565b5060051b60200190565b600082601f830112612ddb57600080fd5b81356020612df0612deb83612da6565b612d57565b82815260059290921b84018101918181019086841115612e0f57600080fd5b8286015b84811015612e33578035612e2681612c47565b8352918301918301612e13565b509695505050505050565b8015158114611aa157600080fd5b60008060408385031215612e5f57600080fd5b823567ffffffffffffffff80821115612e7757600080fd5b612e8386838701612dca565b9350602091508185013581811115612e9a57600080fd5b85019050601f81018613612ead57600080fd5b8035612ebb612deb82612da6565b81815260059190911b82018301908381019088831115612eda57600080fd5b928401925b82841015612f01578335612ef281612e3e565b82529284019290840190612edf565b80955050505050509250929050565b600082601f830112612f2157600080fd5b813567ffffffffffffffff811115612f3b57612f3b612cdc565b612f6c60207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f84011601612d57565b818152846020838601011115612f8157600080fd5b816020850160208301376000918101602001919091529392505050565b600082601f830112612faf57600080fd5b81356020612fbf612deb83612da6565b82815260059290921b84018101918181019086841115612fde57600080fd5b8286015b84811015612e3357803567ffffffffffffffff808211156130035760008081fd5b81890191506040807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0848d0301121561303c5760008081fd5b613044612d0b565b87840135838111156130565760008081fd5b6130648d8a83880101612f10565b82525092013586830152508352918301918301612fe2565b600082601f83011261308d57600080fd5b8135602061309d612deb83612da6565b82815260059290921b840181019181810190868411156130bc57600080fd5b8286015b84811015612e3357803567ffffffffffffffff8111156130e05760008081fd5b6130ee8986838b0101612f9e565b8452509183019183016130c0565b60008060008060008060c0878903121561311557600080fd5b863567ffffffffffffffff8082111561312d57600080fd5b6131398a838b0161307c565b97506020890135915061314b82612c47565b90955060408801359061315d82612c47565b90945060608801359061316f82612c47565b9093506080880135925060a0880135908082111561318c57600080fd5b5061319989828a01612f10565b9150509295509295509295565b600080604083850312156131b957600080fd5b823567ffffffffffffffff808211156131d157600080fd5b818501915085601f8301126131e557600080fd5b813560206131f5612deb83612da6565b82815260059290921b8401810191818101908984111561321457600080fd5b948201945b838610156132395761322a86612c91565b82529482019490820190613219565b9650508601359250508082111561324f57600080fd5b5061325c85828601612dca565b9150509250929050565b60008083601f84011261327857600080fd5b50813567ffffffffffffffff81111561329057600080fd5b6020830191508360208285010111156132a857600080fd5b9250929050565b6000806000806000608086880312156132c757600080fd5b85356132d281612c47565b945060208601356132e281612c47565b935060408601356132f281612c47565b9250606086013567ffffffffffffffff81111561330e57600080fd5b61331a88828901613266565b969995985093965092949392505050565b6000806040838503121561333e57600080fd5b823561334981612c47565b946020939093013593505050565b6000806020838503121561336a57600080fd5b823567ffffffffffffffff81111561338157600080fd5b61338d85828601613266565b90969095509350505050565b600080604083850312156133ac57600080fd5b6133b583612c91565b915060208301356133c581612c47565b809150509250929050565b6000602082840312156133e257600080fd5b5035919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b80820180821115610b3c57610b3c613418565b6000835161346c818460208801612bbf565b7f4572726f7228000000000000000000000000000000000000000000000000000090830190815283516134a6816006840160208801612bbf565b7f290000000000000000000000000000000000000000000000000000000000000060069290910191820152600701949350505050565b600083516134ee818460208801612bbf565b7f50616e696328000000000000000000000000000000000000000000000000000090830190815283516134a6816006840160208801612bbf565b6000835161353a818460208801612bbf565b7f556e6b6e6f776e280000000000000000000000000000000000000000000000009083019081528351613574816008840160208801612bbf565b7f290000000000000000000000000000000000000000000000000000000000000060089290910191820152600901949350505050565b6000602082840312156135bc57600080fd5b813567ffffffffffffffff8111156135d357600080fd5b6135df84828501612f9e565b949350505050565b6000602082840312156135f957600080fd5b813567ffffffffffffffff8082111561361157600080fd5b9083019060c0828603121561362557600080fd5b61362d612d34565b82358281111561363c57600080fd5b6136488782860161307c565b82525061365760208401612c69565b602082015261366860408401612c69565b604082015261367960608401612c69565b60608201526080830135608082015260a08301358281111561369a57600080fd5b6136a687828601612f10565b60a08301525095945050505050565b8082028115828204841417610b3c57610b3c613418565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036136fd576136fd613418565b5060010190565b6040815260006137176040830185612be3565b90508260208301529392505050565b7fffffffff000000000000000000000000000000000000000000000000000000008316815260008251613760816004850160208701612bbf565b919091016004019392505050565b60008251613780818460208701612bbf565b9190910192915050565b60006020828403121561379c57600080fd5b5051919050565b6000602082840312156137b557600080fd5b8151612c4081612e3e565b6000606082840312156137d257600080fd5b6040516060810181811067ffffffffffffffff821117156137f5576137f5612cdc565b80604052508251815260208301516020820152604083015161381681612c47565b6040820152939250505056fea264697066735822122018f1bfd97d4721f3c2ac2cf9dc28cfb2f4d244a73b5086c3db42f3c200265d7964736f6c6343000811003300000000000000000000000053000000000000000000000000000000000000040000000000000000000000004f82e73edb06d29ff62c91ec8f5ff06571bdeb29