60a06040523480156200001157600080fd5b50604051620031fb380380620031fb83398101604081905262000034916200023e565b733cc6cdda760b79bafa08df41ecfa224f810dceb660016daaeb6d7670e522a718067333cd4e3b1562000190578015620000de57604051633e9f1edf60e11b81523060048201526001600160a01b03831660248201526daaeb6d7670e522a718067333cd4e90637d3e3dbe906044015b600060405180830381600087803b158015620000bf57600080fd5b505af1158015620000d4573d6000803e3d6000fd5b5050505062000190565b6001600160a01b038216156200012f5760405163a0af290360e01b81523060048201526001600160a01b03831660248201526daaeb6d7670e522a718067333cd4e9063a0af290390604401620000a4565b604051632210724360e11b81523060048201526daaeb6d7670e522a718067333cd4e90634420e48690602401600060405180830381600087803b1580156200017657600080fd5b505af11580156200018b573d6000803e3d6000fd5b505050505b506200019e905033620001c7565b6001600160a01b03918216608052600380546001600160a01b0319169190921617905562000276565b600280546001600160a01b03838116610100818102610100600160a81b031985161790945560405193909204169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b80516001600160a01b03811681146200023957600080fd5b919050565b600080604083850312156200025257600080fd5b6200025d8362000221565b91506200026d6020840162000221565b90509250929050565b608051612f696200029260003960006110a10152612f696000f3fe6080604052600436106101b65760003560e01c80635ef9432a116100ec578063b7737ac11161008a578063f242432a11610064578063f242432a1461060c578063f2fde38b1461062c578063f6eb127a1461064c578063f8dd1f761461066c57600080fd5b8063b7737ac114610599578063e985e9c5146105b9578063ecba222a146105f457600080fd5b8063782f08ae116100c6578063782f08ae146104f35780638da5cb5b146105135780639723fb6d14610549578063a22cb4651461057957600080fd5b80635ef9432a146104575780635fe0409b1461046c578063715018a6146104de57600080fd5b80632eb2c2d6116101595780633b92e627116101335780633b92e627146103d55780633ccfd60b146103f55780634e1273f41461040a5780634f4aa9121461043757600080fd5b80632eb2c2d6146102e2578063310bddff1461030257806339fdc7901461031557600080fd5b8063123613dc11610195578063123613dc146102605780631fcf5799146102825780632946edb8146102a25780632b83cccd146102c257600080fd5b8062fdd58e146101bb57806301ffc9a7146102035780630e89341c14610233575b600080fd5b3480156101c757600080fd5b506101f06101d6366004612433565b600060208181529281526040808220909352908152205481565b6040519081526020015b60405180910390f35b34801561020f57600080fd5b5061022361021e366004612473565b61068c565b60405190151581526020016101fa565b34801561023f57600080fd5b5061025361024e366004612497565b6106de565b6040516101fa9190612500565b34801561026c57600080fd5b5061028061027b366004612527565b6107e2565b005b34801561028e57600080fd5b5061028061029d366004612497565b6108ab565b3480156102ae57600080fd5b506102806102bd366004612575565b6108ce565b3480156102ce57600080fd5b506102806102dd3660046125e1565b610a62565b3480156102ee57600080fd5b506102806102fd36600461269b565b610bb0565b610280610310366004612756565b610caf565b34801561032157600080fd5b5061038a610330366004612497565b6005602052600090815260409020546001600160981b0381169063ffffffff600160981b8204811691600160b81b81049091169061ffff600160d81b8204811691600160e81b81049091169060ff600160f81b9091041686565b604080516001600160981b0397909716875263ffffffff9586166020880152939094169285019290925261ffff908116606085015216608083015260ff1660a082015260c0016101fa565b3480156103e157600080fd5b506102806103f0366004612782565b610ec1565b34801561040157600080fd5b50610280611087565b34801561041657600080fd5b5061042a610425366004612804565b611127565b6040516101fa91906128ab565b34801561044357600080fd5b50610280610452366004612497565b61123a565b34801561046357600080fd5b50610280611308565b34801561047857600080fd5b506104b8610487366004612497565b60066020526000908152604090205463ffffffff80821691640100000000810490911690600160401b900460ff1683565b6040805163ffffffff948516815293909216602084015260ff16908201526060016101fa565b3480156104ea57600080fd5b5061028061137d565b3480156104ff57600080fd5b5061028061050e3660046128be565b611391565b34801561051f57600080fd5b5060025461010090046001600160a01b03166040516001600160a01b0390911681526020016101fa565b34801561055557600080fd5b50610223610564366004612497565b60046020526000908152604090205460ff1681565b34801561058557600080fd5b50610280610594366004612918565b6113b2565b3480156105a557600080fd5b506102806105b436600461294f565b61148d565b3480156105c557600080fd5b506102236105d436600461296a565b600160209081526000928352604080842090915290825290205460ff1681565b34801561060057600080fd5b5060025460ff16610223565b34801561061857600080fd5b50610280610627366004612994565b6114b7565b34801561063857600080fd5b5061028061064736600461294f565b6115a2565b34801561065857600080fd5b50610280610667366004612a0c565b61161b565b34801561067857600080fd5b50610280610687366004612497565b6116eb565b60006301ffc9a760e01b6001600160e01b0319831614806106bd5750636cdb3d1360e11b6001600160e01b03198316145b806106d857506303a24d0760e21b6001600160e01b03198316145b92915050565b6000818152600760205260408120805460609291906106fc90612a8d565b80601f016020809104026020016040519081016040528092919081815260200182805461072890612a8d565b80156107755780601f1061074a57610100808354040283529160200191610775565b820191906000526020600020905b81548152906001019060200180831161075857829003601f168201915b505050505090507fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470816040516020016107ae9190612ac7565b60405160208183030381529060405280519060200120036106d857604051631a2a531f60e31b815260040160405180910390fd5b6107ea611929565b604080516060808201835263ffffffff85811683528481166020808501918252600285870190815260008a815260068352879020865181548551845192881667ffffffffffffffff199092168217640100000000918916919091021760ff60401b1916600160401b60ff93841602179092558851918252935190941691840191909152511693810193909352909185917feb67873a426c6dcc61942ece74a99c4c852f6bca6a4a2f192e66a8f99932a86f910160405180910390a250505050565b6108b3611929565b6000908152600460205260409020805460ff19166001179055565b6108d6611929565b60006040518060c00160405280866001600160981b031681526020018563ffffffff1681526020018463ffffffff1681526020018361ffff168152602001600061ffff168152602001600260ff168152509050806005600088815260200190815260200160002060008201518160000160006101000a8154816001600160981b0302191690836001600160981b0316021790555060208201518160000160136101000a81548163ffffffff021916908363ffffffff16021790555060408201518160000160176101000a81548163ffffffff021916908363ffffffff160217905550606082015181600001601b6101000a81548161ffff021916908361ffff160217905550608082015181600001601d6101000a81548161ffff021916908361ffff16021790555060a082015181600001601f6101000a81548160ff021916908360ff160217905550905050857ffab89ca3b4fbf21a4ae520da22d1b69868e51dfb011ad15634fd125d260c223082604051610a529190612ae3565b60405180910390a2505050505050565b336001600160a01b03841614801590610a9f57506001600160a01b038316600090815260016020908152604080832033845290915290205460ff16155b15610abd5760405163bd31de3560e01b815260040160405180910390fd5b6000828152600660209081526040918290208251606081018452905463ffffffff808216835264010000000082041692820192909252600160401b90910460ff1691810182905290600214610b255760405163bec20f1960e01b815260040160405180910390fd5b805163ffffffff1615801590610b415750805163ffffffff1642105b15610b5f5760405163bec20f1960e01b815260040160405180910390fd5b602081015163ffffffff1615801590610b815750806020015163ffffffff1642115b15610b9f57604051631770a9f760e01b815260040160405180910390fd5b610baa848484611989565b50505050565b600254889060ff16158015610bd357506daaeb6d7670e522a718067333cd4e3b15155b15610c9457336001600160a01b03821603610bfd57610bf88989898989898989611a0d565b610ca4565b604051633185c44d60e21b81523060048201523360248201526daaeb6d7670e522a718067333cd4e9063c617113490604401602060405180830381865afa158015610c4c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c709190612b49565b610c9457604051633b79c77360e21b81523360048201526024015b60405180910390fd5b610ca48989898989898989611a0d565b505050505050505050565b600082815260056020908152604091829020825160c08101845290546001600160981b038116825263ffffffff600160981b8204811693830193909352600160b81b81049092169281019290925261ffff600160d81b820481166060840152600160e81b820416608083015260ff600160f81b9091041660a08201819052600214610d4d57604051631d99ddbf60e01b815260040160405180910390fd5b604081015163ffffffff1615801590610d6f5750806040015163ffffffff1642115b15610d8d57604051630bd8a3eb60e01b815260040160405180910390fd5b602081015163ffffffff1615801590610daf5750806020015163ffffffff1642105b15610dcd576040516316851a3760e11b815260040160405180910390fd5b606081015161ffff1615801590610dff5750806060015161ffff16828260800151610df89190612b7c565b61ffff1610155b15610e1d5760405163ade1cb4160e01b815260040160405180910390fd5b8051600090610e3a9061ffff8516906001600160981b0316612b9e565b9050803414610e5c5760405163f7760f2560e01b815260040160405180910390fd5b60008481526005602052604090208054849190601d90610e88908490600160e81b900461ffff16612b7c565b92506101000a81548161ffff021916908361ffff160217905550610baa33858561ffff1660405180602001604052806000815250611c8e565b8463ffffffff16421115610ee857604051635fddb14560e01b815260040160405180910390fd5b60008481526004602052604090205460ff1615610f1857604051630c8d9eab60e31b815260040160405180910390fd5b600084815260046020908152604091829020805460ff19166001179055815133818301523081840152606081018a905261ffff8916608082015263ffffffff881660a082015260c08082018890528351808303909101815260e090910190925281519101208314610f9b576040516257c03760e51b815260040160405180910390fd5b611031610ff5846040517f19457468657265756d205369676e6564204d6573736167653a0a3332000000006020820152603c8101829052600090605c01604051602081830303815290604052805190602001209050919050565b83838080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611dd092505050565b6003546001600160a01b0390811691161461105f57604051638baa579f60e01b815260040160405180910390fd5b61107e33888861ffff1660405180602001604052806000815250611c8e565b50505050505050565b61108f611929565b60405147906000906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169083908381818185875af1925050503d80600081146110fc576040519150601f19603f3d011682016040523d82523d6000602084013e611101565b606091505b505090508061112357604051631d42c86760e21b815260040160405180910390fd5b5050565b60608382146111485760405162461bcd60e51b8152600401610c8b90612bb5565b8367ffffffffffffffff81111561116157611161612bde565b60405190808252806020026020018201604052801561118a578160200160208202803683370190505b50905060005b84811015611231576000808787848181106111ad576111ad612bf4565b90506020020160208101906111c2919061294f565b6001600160a01b03166001600160a01b0316815260200190815260200160002060008585848181106111f6576111f6612bf4565b9050602002013581526020019081526020016000205482828151811061121e5761121e612bf4565b6020908102919091010152600101611190565b50949350505050565b611242611929565b6000818152600660208181526040808420815160608082018452825463ffffffff808216845264010000000080830482168589019081528588018b81529a8c9052988852845189518b5191841667ffffffffffffffff1990951685179084169092029190911760ff60401b1916600160401b60ff928316021790955585519182529651909616948601949094529451169083015283917feb67873a426c6dcc61942ece74a99c4c852f6bca6a4a2f192e66a8f99932a86f91015b60405180910390a25050565b60025461010090046001600160a01b03166001600160a01b0316336001600160a01b03161461134a57604051635fc483c560e01b815260040160405180910390fd5b60025460ff161561136e5760405163905e710760e01b815260040160405180910390fd5b6002805460ff19166001179055565b611385611929565b61138f6000611df4565b565b611399611929565b6000838152600760205260409020610baa828483612c50565b600254829060ff161580156113d557506daaeb6d7670e522a718067333cd4e3b15155b1561147e57604051633185c44d60e21b81523060048201526001600160a01b03821660248201526daaeb6d7670e522a718067333cd4e9063c617113490604401602060405180830381865afa158015611432573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114569190612b49565b61147e57604051633b79c77360e21b81526001600160a01b0382166004820152602401610c8b565b6114888383611e4e565b505050565b611495611929565b600380546001600160a01b0319166001600160a01b0392909216919091179055565b600254869060ff161580156114da57506daaeb6d7670e522a718067333cd4e3b15155b1561159457336001600160a01b03821603611502576114fd878787878787611eba565b61107e565b604051633185c44d60e21b81523060048201523360248201526daaeb6d7670e522a718067333cd4e9063c617113490604401602060405180830381865afa158015611551573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115759190612b49565b61159457604051633b79c77360e21b8152336004820152602401610c8b565b61107e878787878787611eba565b6115aa611929565b6001600160a01b03811661160f5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610c8b565b61161881611df4565b50565b336001600160a01b0386161480159061165857506001600160a01b038516600090815260016020908152604080832033845290915290205460ff16155b156116765760405163bd31de3560e01b815260040160405180910390fd5b6116e485858580806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250506040805160208089028281018201909352888252909350889250879182918501908490808284376000920191909152506120b492505050565b5050505050565b6116f3611929565b6000600560008381526020019081526020016000206040518060c00160405290816000820160009054906101000a90046001600160981b03166001600160981b03166001600160981b031681526020016000820160139054906101000a900463ffffffff1663ffffffff1663ffffffff1681526020016000820160179054906101000a900463ffffffff1663ffffffff1663ffffffff16815260200160008201601b9054906101000a900461ffff1661ffff1661ffff16815260200160008201601d9054906101000a900461ffff1661ffff1661ffff16815260200160008201601f9054906101000a900460ff1660ff1660ff1681525050905060008160a0019060ff16908160ff1681525050806005600084815260200190815260200160002060008201518160000160006101000a8154816001600160981b0302191690836001600160981b0316021790555060208201518160000160136101000a81548163ffffffff021916908363ffffffff16021790555060408201518160000160176101000a81548163ffffffff021916908363ffffffff160217905550606082015181600001601b6101000a81548161ffff021916908361ffff160217905550608082015181600001601d6101000a81548161ffff021916908361ffff16021790555060a082015181600001601f6101000a81548160ff021916908360ff160217905550905050817ffab89ca3b4fbf21a4ae520da22d1b69868e51dfb011ad15634fd125d260c2230826040516112fc9190612ae3565b6002546001600160a01b0361010090910416331461138f5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610c8b565b6001600160a01b038316600090815260208181526040808320858452909152812080548392906119ba908490612d10565b909155505060408051838152602081018390526000916001600160a01b0386169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4505050565b848314611a2c5760405162461bcd60e51b8152600401610c8b90612bb5565b336001600160a01b0389161480611a6657506001600160a01b038816600090815260016020908152604080832033845290915290205460ff165b611aa35760405162461bcd60e51b815260206004820152600e60248201526d1393d517d055551213d49256915160921b6044820152606401610c8b565b60008060005b87811015611b5e57888882818110611ac357611ac3612bf4565b905060200201359250868682818110611ade57611ade612bf4565b6001600160a01b038e1660009081526020818152604080832089845282528220805493909102949094013595508593925090611b1b908490612d10565b90915550506001600160a01b038a1660009081526020818152604080832086845290915281208054849290611b51908490612d23565b9091555050600101611aa9565b50886001600160a01b03168a6001600160a01b0316336001600160a01b03167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb8b8b8b8b604051611bb29493929190612d68565b60405180910390a46001600160a01b0389163b15611c595760405163bc197c8160e01b808252906001600160a01b038b169063bc197c8190611c069033908f908e908e908e908e908e908e90600401612dc3565b6020604051808303816000875af1158015611c25573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c499190612e27565b6001600160e01b03191614611c66565b6001600160a01b03891615155b611c825760405162461bcd60e51b8152600401610c8b90612e44565b50505050505050505050565b6001600160a01b03841660009081526020818152604080832086845290915281208054849290611cbf908490612d23565b909155505060408051848152602081018490526001600160a01b0386169160009133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a46001600160a01b0384163b15611da75760405163f23a6e6160e01b808252906001600160a01b0386169063f23a6e6190611d54903390600090899089908990600401612e6e565b6020604051808303816000875af1158015611d73573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d979190612e27565b6001600160e01b03191614611db4565b6001600160a01b03841615155b610baa5760405162461bcd60e51b8152600401610c8b90612e44565b6000806000611ddf85856121c4565b91509150611dec81612209565b509392505050565b600280546001600160a01b03838116610100818102610100600160a81b031985161790945560405193909204169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b3360008181526001602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b336001600160a01b0387161480611ef457506001600160a01b038616600090815260016020908152604080832033845290915290205460ff165b611f315760405162461bcd60e51b815260206004820152600e60248201526d1393d517d055551213d49256915160921b6044820152606401610c8b565b6001600160a01b03861660009081526020818152604080832087845290915281208054859290611f62908490612d10565b90915550506001600160a01b03851660009081526020818152604080832087845290915281208054859290611f98908490612d23565b909155505060408051858152602081018590526001600160a01b03808816929089169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a46001600160a01b0385163b156120835760405163f23a6e6160e01b808252906001600160a01b0387169063f23a6e61906120309033908b908a908a908a908a90600401612ea8565b6020604051808303816000875af115801561204f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120739190612e27565b6001600160e01b03191614612090565b6001600160a01b03851615155b6120ac5760405162461bcd60e51b8152600401610c8b90612e44565b505050505050565b8151815181146120d65760405162461bcd60e51b8152600401610c8b90612bb5565b60005b81811015612165578281815181106120f3576120f3612bf4565b6020026020010151600080876001600160a01b03166001600160a01b03168152602001908152602001600020600086848151811061213357612133612bf4565b6020026020010151815260200190815260200160002060008282546121589190612d10565b90915550506001016120d9565b5060006001600160a01b0316846001600160a01b0316336001600160a01b03167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb86866040516121b6929190612eef565b60405180910390a450505050565b60008082516041036121fa5760208301516040840151606085015160001a6121ee87828585612353565b94509450505050612202565b506000905060025b9250929050565b600081600481111561221d5761221d612f1d565b036122255750565b600181600481111561223957612239612f1d565b036122865760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e617475726500000000000000006044820152606401610c8b565b600281600481111561229a5761229a612f1d565b036122e75760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e677468006044820152606401610c8b565b60038160048111156122fb576122fb612f1d565b036116185760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c604482015261756560f01b6064820152608401610c8b565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a083111561238a575060009050600361240e565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa1580156123de573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b0381166124075760006001925092505061240e565b9150600090505b94509492505050565b80356001600160a01b038116811461242e57600080fd5b919050565b6000806040838503121561244657600080fd5b61244f83612417565b946020939093013593505050565b6001600160e01b03198116811461161857600080fd5b60006020828403121561248557600080fd5b81356124908161245d565b9392505050565b6000602082840312156124a957600080fd5b5035919050565b60005b838110156124cb5781810151838201526020016124b3565b50506000910152565b600081518084526124ec8160208601602086016124b0565b601f01601f19169290920160200192915050565b60208152600061249060208301846124d4565b803563ffffffff8116811461242e57600080fd5b60008060006060848603121561253c57600080fd5b8335925061254c60208501612513565b915061255a60408501612513565b90509250925092565b803561ffff8116811461242e57600080fd5b600080600080600060a0868803121561258d57600080fd5b8535945060208601356001600160981b03811681146125ab57600080fd5b93506125b960408701612513565b92506125c760608701612513565b91506125d560808701612563565b90509295509295909350565b6000806000606084860312156125f657600080fd5b6125ff84612417565b95602085013595506040909401359392505050565b60008083601f84011261262657600080fd5b50813567ffffffffffffffff81111561263e57600080fd5b6020830191508360208260051b850101111561220257600080fd5b60008083601f84011261266b57600080fd5b50813567ffffffffffffffff81111561268357600080fd5b60208301915083602082850101111561220257600080fd5b60008060008060008060008060a0898b0312156126b757600080fd5b6126c089612417565b97506126ce60208a01612417565b9650604089013567ffffffffffffffff808211156126eb57600080fd5b6126f78c838d01612614565b909850965060608b013591508082111561271057600080fd5b61271c8c838d01612614565b909650945060808b013591508082111561273557600080fd5b506127428b828c01612659565b999c989b5096995094979396929594505050565b6000806040838503121561276957600080fd5b8235915061277960208401612563565b90509250929050565b600080600080600080600060c0888a03121561279d57600080fd5b873596506127ad60208901612563565b95506127bb60408901612513565b9450606088013593506080880135925060a088013567ffffffffffffffff8111156127e557600080fd5b6127f18a828b01612659565b989b979a50959850939692959293505050565b6000806000806040858703121561281a57600080fd5b843567ffffffffffffffff8082111561283257600080fd5b61283e88838901612614565b9096509450602087013591508082111561285757600080fd5b5061286487828801612614565b95989497509550505050565b600081518084526020808501945080840160005b838110156128a057815187529582019590820190600101612884565b509495945050505050565b6020815260006124906020830184612870565b6000806000604084860312156128d357600080fd5b83359250602084013567ffffffffffffffff8111156128f157600080fd5b6128fd86828701612659565b9497909650939450505050565b801515811461161857600080fd5b6000806040838503121561292b57600080fd5b61293483612417565b915060208301356129448161290a565b809150509250929050565b60006020828403121561296157600080fd5b61249082612417565b6000806040838503121561297d57600080fd5b61298683612417565b915061277960208401612417565b60008060008060008060a087890312156129ad57600080fd5b6129b687612417565b95506129c460208801612417565b94506040870135935060608701359250608087013567ffffffffffffffff8111156129ee57600080fd5b6129fa89828a01612659565b979a9699509497509295939492505050565b600080600080600060608688031215612a2457600080fd5b612a2d86612417565b9450602086013567ffffffffffffffff80821115612a4a57600080fd5b612a5689838a01612614565b90965094506040880135915080821115612a6f57600080fd5b50612a7c88828901612614565b969995985093965092949392505050565b600181811c90821680612aa157607f821691505b602082108103612ac157634e487b7160e01b600052602260045260246000fd5b50919050565b60008251612ad98184602087016124b0565b9190910192915050565b600060c0820190506001600160981b038351168252602083015163ffffffff80821660208501528060408601511660408501525050606083015161ffff8082166060850152806080860151166080850152505060ff60a08401511660a083015292915050565b600060208284031215612b5b57600080fd5b81516124908161290a565b634e487b7160e01b600052601160045260246000fd5b61ffff818116838216019080821115612b9757612b97612b66565b5092915050565b80820281158282048414176106d8576106d8612b66565b6020808252600f908201526e0988a9c8ea890be9a92a69a82a8869608b1b604082015260600190565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b601f82111561148857600081815260208120601f850160051c81016020861015612c315750805b601f850160051c820191505b818110156120ac57828155600101612c3d565b67ffffffffffffffff831115612c6857612c68612bde565b612c7c83612c768354612a8d565b83612c0a565b6000601f841160018114612cb05760008515612c985750838201355b600019600387901b1c1916600186901b1783556116e4565b600083815260209020601f19861690835b82811015612ce15786850135825560209485019460019092019101612cc1565b5086821015612cfe5760001960f88860031b161c19848701351681555b505060018560011b0183555050505050565b818103818111156106d8576106d8612b66565b808201808211156106d8576106d8612b66565b81835260006001600160fb1b03831115612d4f57600080fd5b8260051b80836020870137939093016020019392505050565b604081526000612d7c604083018688612d36565b8281036020840152612d8f818587612d36565b979650505050505050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b6001600160a01b0389811682528816602082015260a060408201819052600090612df0908301888a612d36565b8281036060840152612e03818789612d36565b90508281036080840152612e18818587612d9a565b9b9a5050505050505050505050565b600060208284031215612e3957600080fd5b81516124908161245d565b60208082526010908201526f155394d0519157d49150d2541251539560821b604082015260600190565b6001600160a01b03868116825285166020820152604081018490526060810183905260a060808201819052600090612d8f908301846124d4565b6001600160a01b03878116825286166020820152604081018590526060810184905260a060808201819052600090612ee39083018486612d9a565b98975050505050505050565b604081526000612f026040830185612870565b8281036020840152612f148185612870565b95945050505050565b634e487b7160e01b600052602160045260246000fdfea2646970667358221220564d27b3f06e328c8f0f94bfa28ca4af506918c7a3d35639078f995cc3fa1c9b64736f6c6343000811003300000000000000000000000079a920f4f0d142264f147d5840248a8c0ca346d8000000000000000000000000c757a630f0387fdb47f80405e6e6767030736fa4