Loading
6101006040526001600b556001600f5f6101000a81548160ff02191690831515021790555034801562000030575f80fd5b5060405180602001604052805f8152506040518060400160405280600581526020017f42494a4f550000000000000000000000000000000000000000000000000000008152506040518060400160405280600581526020017f42494a4f550000000000000000000000000000000000000000000000000000008152506012620186a06001335f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160362000128575f6040517f1e4fbdf70000000000000000000000000000000000000000000000000000000081526004016200011f91906200046a565b60405180910390fd5b62000139816200034960201b60201c565b506200014b866200040a60201b60201c565b6200015b6200041f60201b60201c565b6004819055508460089081620001729190620006e9565b508360099081620001849190620006e9565b508260ff1660808160ff1681525050608051600a620001a4919062000956565b60c0818152505060c05181620001bb9190620009a6565b60e0818152505060c05182620001d29190620009a6565b60a081815250506001600a5f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555060a05160065f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503373ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60a051604051620002d3919062000a01565b60405180910390a350505050505060405180602001604052805f815250600c9081620003009190620006e9565b50606460026012600a62000315919062000956565b620186a0620003259190620009a6565b620003319190620009a6565b6200033d919062000a49565b600e8190555062000a80565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050815f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b80600390816200041b9190620006e9565b5050565b5f6001905090565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f620004528262000427565b9050919050565b620004648162000446565b82525050565b5f6020820190506200047f5f83018462000459565b92915050565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806200050157607f821691505b602082108103620005175762000516620004bc565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f600883026200057b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826200053e565b6200058786836200053e565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f620005d1620005cb620005c5846200059f565b620005a8565b6200059f565b9050919050565b5f819050919050565b620005ec83620005b1565b62000604620005fb82620005d8565b8484546200054a565b825550505050565b5f90565b6200061a6200060c565b62000627818484620005e1565b505050565b5b818110156200064e57620006425f8262000610565b6001810190506200062d565b5050565b601f8211156200069d5762000667816200051d565b62000672846200052f565b8101602085101562000682578190505b6200069a62000691856200052f565b8301826200062c565b50505b505050565b5f82821c905092915050565b5f620006bf5f1984600802620006a2565b1980831691505092915050565b5f620006d98383620006ae565b9150826002028217905092915050565b620006f48262000485565b67ffffffffffffffff81111562000710576200070f6200048f565b5b6200071c8254620004e9565b6200072982828562000652565b5f60209050601f8311600181146200075f575f84156200074a578287015190505b620007568582620006cc565b865550620007c5565b601f1984166200076f866200051d565b5f5b82811015620007985784890151825560018201915060208501945060208101905062000771565b86831015620007b85784890151620007b4601f891682620006ae565b8355505b6001600288020188555050505b505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b600185111562000857578086048111156200082f576200082e620007cd565b5b60018516156200083f5780820291505b80810290506200084f85620007fa565b94506200080f565b94509492505050565b5f8262000871576001905062000943565b8162000880575f905062000943565b8160018114620008995760028114620008a457620008da565b600191505062000943565b60ff841115620008b957620008b8620007cd565b5b8360020a915084821115620008d357620008d2620007cd565b5b5062000943565b5060208310610133831016604e8410600b8410161715620009145782820a9050838111156200090e576200090d620007cd565b5b62000943565b62000923848484600162000806565b925090508184048111156200093d576200093c620007cd565b5b81810290505b9392505050565b5f60ff82169050919050565b5f62000962826200059f565b91506200096f836200094a565b92506200099e7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000860565b905092915050565b5f620009b2826200059f565b9150620009bf836200059f565b9250828202620009cf816200059f565b91508282048414831517620009e957620009e8620007cd565b5b5092915050565b620009fb816200059f565b82525050565b5f60208201905062000a165f830184620009f0565b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f62000a55826200059f565b915062000a62836200059f565b92508262000a755762000a7462000a1c565b5b828204905092915050565b60805160a05160c05160e051615bbc62000aec5f395f8181610ed60152818161123201528181611fb9015281816124bc01528181612e5e01528181612e9501528181612fe5015261301101525f61129f01525f8181610c97015261126101525f6110740152615bbc5ff3fe608060405234801561000f575f80fd5b5060043610610245575f3560e01c806370a0823111610139578063c5b8f772116100b6578063e985e9c51161007a578063e985e9c51461074d578063f242432a1461077d578063f28ca1dd14610799578063f2fde38b146107b7578063f8b45b05146107d357610245565b8063c5b8f77214610683578063c87b56dd146106b3578063d547cfb7146106e3578063dd62ed3e14610701578063e0df5b6f1461073157610245565b806399a2557a116100fd57806399a2557a146105b95780639b19251a146105e9578063a014e6e214610619578063a22cb46514610637578063a9059cbb1461065357610245565b806370a0823114610513578063715018a6146105435780638462151c1461054d5780638da5cb5b1461057d57806395d89b411461059b57610245565b806323b872dd116101c75780634eabf2c61161018b5780634eabf2c61461049557806353d6fd591461049f5780635afcc2f5146104bb5780635d0044ca146104d95780636d6a6a4d146104f557610245565b806323b872dd146103cb5780632d760d57146103fb5780632eb2c2d61461042b578063313ce567146104475780634e1273f41461046557610245565b8063095ea7b31161020e578063095ea7b3146103135780630a702e8d146103435780630e89341c1461036157806318160ddd1461039157806318d217c3146103af57610245565b8062fdd58e1461024957806301ffc9a71461027957806302fe5305146102a957806306fdde03146102c5578063081812fc146102e3575b5f80fd5b610263600480360381019061025e9190614332565b6107f1565b604051610270919061437f565b60405180910390f35b610293600480360381019061028e91906143ed565b6108be565b6040516102a09190614432565b60405180910390f35b6102c360048036038101906102be9190614587565b610a67565b005b6102cd610a7b565b6040516102da9190614648565b60405180910390f35b6102fd60048036038101906102f89190614668565b610b07565b60405161030a91906146a2565b60405180910390f35b61032d60048036038101906103289190614332565b610b37565b60405161033a9190614432565b60405180910390f35b61034b610c71565b6040516103589190614432565b60405180910390f35b61037b60048036038101906103769190614668565b610c83565b6040516103889190614648565b60405180910390f35b610399610c95565b6040516103a6919061437f565b60405180910390f35b6103c960048036038101906103c49190614587565b610cb9565b005b6103e560048036038101906103e091906146bb565b610cd4565b6040516103f29190614432565b60405180910390f35b6104156004803603810190610410919061470b565b610f74565b604051610422919061437f565b60405180910390f35b610445600480360381019061044091906148bd565b610fda565b005b61044f611072565b60405161045c91906149a3565b60405180910390f35b61047f600480360381019061047a9190614a7c565b611096565b60405161048c9190614ba9565b60405180910390f35b61049d61119e565b005b6104b960048036038101906104b49190614bf3565b6111d0565b005b6104c3611230565b6040516104d0919061437f565b60405180910390f35b6104f360048036038101906104ee9190614668565b611254565b005b6104fd61129d565b60405161050a919061437f565b60405180910390f35b61052d60048036038101906105289190614c31565b6112c1565b60405161053a919061437f565b60405180910390f35b61054b611307565b005b61056760048036038101906105629190614c31565b61131a565b6040516105749190614ba9565b60405180910390f35b61058561139b565b60405161059291906146a2565b60405180910390f35b6105a36113c2565b6040516105b09190614648565b60405180910390f35b6105d360048036038101906105ce919061470b565b61144e565b6040516105e09190614ba9565b60405180910390f35b61060360048036038101906105fe9190614c31565b6115cf565b6040516106109190614432565b60405180910390f35b6106216115ec565b60405161062e919061437f565b60405180910390f35b610651600480360381019061064c9190614bf3565b6115f2565b005b61066d60048036038101906106689190614332565b611608565b60405161067a9190614432565b60405180910390f35b61069d60048036038101906106989190614332565b611625565b6040516106aa9190614432565b60405180910390f35b6106cd60048036038101906106c89190614668565b61167d565b6040516106da9190614648565b60405180910390f35b6106eb611813565b6040516106f89190614648565b60405180910390f35b61071b60048036038101906107169190614c5c565b61189f565b604051610728919061437f565b60405180910390f35b61074b60048036038101906107469190614587565b611921565b005b61076760048036038101906107629190614c5c565b61193c565b6040516107749190614432565b60405180910390f35b61079760048036038101906107929190614c9a565b6119ca565b005b6107a1611a6a565b6040516107ae9190614648565b60405180910390f35b6107d160048036038101906107cc9190614c31565b611af6565b005b6107db611b7a565b6040516107e8919061437f565b60405180910390f35b5f8073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610857576040517f8f4eb60400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6108a68260015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20611b8090919063ffffffff16565b156108b457600190506108b8565b5f90505b92915050565b5f7fd9b67a26000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061098857507f0e89341c000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b806109f057507fc5b8f772000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b80610a2057506380ac58cd60e01b827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b80610a505750635b5e139f60e01b827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b80610a605750610a5f82611bae565b5b9050919050565b610a6f611c17565b610a7881611c9e565b50565b60088054610a8890614d5a565b80601f0160208091040260200160405190810160405280929190818152602001828054610ab490614d5a565b8015610aff5780601f10610ad657610100808354040283529160200191610aff565b820191905f5260205f20905b815481529060010190602001808311610ae257829003601f168201915b505050505081565b6005602052805f5260405f205f915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f80339050610b44611cb1565b83108015610b5157505f83115b15610c5a57610b608184611625565b610ba157806040517f96c6fd1e000000000000000000000000000000000000000000000000000000008152600401610b9891906146a2565b60405180910390fd5b8360055f8581526020019081526020015f205f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92585604051610c4d919061437f565b60405180910390a3610c66565b610c65818585611cba565b5b600191505092915050565b600f5f9054906101000a900460ff1681565b6060610c8e8261167d565b9050919050565b7f000000000000000000000000000000000000000000000000000000000000000081565b610cc1611c17565b80600c9081610cd09190614f27565b5050565b5f8273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603610d43576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d3a90615040565b60405180910390fd5b610d4b611cb1565b821015610f5057610da18260015f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20611b8090919063ffffffff16565b610de257836040517f94280d62000000000000000000000000000000000000000000000000000000008152600401610dd991906146a2565b60405180910390fd5b8373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614158015610e255750610e23843361193c565b155b8015610e8d575060055f8381526020019081526020015f205f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614155b15610ecf57336040517f94280d62000000000000000000000000000000000000000000000000000000008152600401610ec691906146a2565b60405180910390fd5b610efb84847f00000000000000000000000000000000000000000000000000000000000000005f611ccc565b60055f8381526020019081526020015f205f6101000a81549073ffffffffffffffffffffffffffffffffffffffff0219169055610f4b848484600160405180602001604052805f8152505f611e2c565b610f69565b610f5b84338461211b565b610f688484846001611ccc565b5b600190509392505050565b5f610fd1838484610f85919061508b565b60015f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f206121ad9092919063ffffffff16565b90509392505050565b610fe261226b565b73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16148061102857506110278561102261226b565b61193c565b5b61105e576040517f59c896be00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61106b8585858585612272565b5050505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b606081518351146110d3576040517f7801f4e900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f835167ffffffffffffffff8111156110ef576110ee614463565b5b60405190808252806020026020018201604052801561111d5781602001602082028036833780820191505090505b5090505f5b845181101561119357611169858281518110611141576111406150be565b5b602002602001015185838151811061115c5761115b6150be565b5b60200260200101516107f1565b82828151811061117c5761117b6150be565b5b602002602001018181525050806001019050611122565b508091505092915050565b6111a6611c17565b600f5f9054906101000a900460ff1615600f5f6101000a81548160ff021916908315150217905550565b6111d8611c17565b80600a5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b61125c611c17565b6064817f000000000000000000000000000000000000000000000000000000000000000061128a91906150eb565b6112949190615159565b600e8190555050565b7f000000000000000000000000000000000000000000000000000000000000000081565b5f60065f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b61130f611c17565b6113185f612641565b565b60605f611325612702565b0361137a575f67ffffffffffffffff81111561134457611343614463565b5b6040519080825280602002602001820160405280156113725781602001602082028036833780820191505090505b509050611396565b61139382611386612722565b61138e611cb1565b61144e565b90505b919050565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600980546113cf90614d5a565b80601f01602080910402602001604051908101604052809291908181526020018280546113fb90614d5a565b80156114465780601f1061141d57610100808354040283529160200191611446565b820191905f5260205f20905b81548152906001019060200180831161142957829003601f168201915b505050505081565b6060818310611489576040517f32c1995a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611491612722565b8310156114a3576114a0612722565b92505b5f6114ac611cb1565b9050808311156114ba578092505b5f838510156114d5576114ce868686610f74565b90506114d9565b5f90505b5f8167ffffffffffffffff8111156114f4576114f3614463565b5b6040519080825280602002602001820160405280156115225781602001602082028036833780820191505090505b5090505f60015f8973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2090505f80885f915091505b8481146115bf576115888284611b8090919063ffffffff16565b156115b457818482806001019350815181106115a7576115a66150be565b5b6020026020010181815250505b81600101915061156e565b5050819450505050509392505050565b600a602052805f5260405f205f915054906101000a900460ff1681565b600b5481565b6116046115fd61226b565b838361272a565b5050565b5f8033905061161a8185856001611ccc565b600191505092915050565b5f6116758260015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20611b8090919063ffffffff16565b905092915050565b6060611687611cb1565b82106116bf576040517f7801f4e900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f6116c983612891565b5111156116e0576116d982612891565b905061180e565b5f600d80546116ee90614d5a565b9050111561172857600d61170183612923565b604051602001611712929190615243565b604051602081830303815290604052905061180e565b5f604051806080016040528060428152602001615b456042913990505f6040518060400160405280600781526020017f5261696e626f770000000000000000000000000000000000000000000000000081525090505f6040518060400160405280600a81526020017f422e492e4a2e4f2e552e0000000000000000000000000000000000000000000081525090505f6117c086612923565b82856040516020016117d493929190615344565b604051602081830303815290604052905080836040516020016117f8929190615499565b6040516020818303038152906040529450505050505b919050565b600d805461182090614d5a565b80601f016020809104026020016040519081016040528092919081815260200182805461184c90614d5a565b80156118975780601f1061186e57610100808354040283529160200191611897565b820191905f5260205f20905b81548152906001019060200180831161187a57829003601f168201915b505050505081565b5f60075f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b611929611c17565b80600d90816119389190614f27565b5050565b5f60025f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16905092915050565b6119d261226b565b73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161480611a185750611a1785611a1261226b565b61193c565b5b15611a3157611a2c85858585856001611e2c565b611a63565b6040517f59c896be00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050505050565b600c8054611a7790614d5a565b80601f0160208091040260200160405190810160405280929190818152602001828054611aa390614d5a565b8015611aee5780601f10611ac557610100808354040283529160200191611aee565b820191905f5260205f20905b815481529060010190602001808311611ad157829003601f168201915b505050505081565b611afe611c17565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611b6e575f6040517f1e4fbdf7000000000000000000000000000000000000000000000000000000008152600401611b6591906146a2565b60405180910390fd5b611b7781612641565b50565b600e5481565b5f80600160ff8416855f015f600887901c81526020019081526020015f2054901c1690508091505092915050565b5f7f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b611c1f61226b565b73ffffffffffffffffffffffffffffffffffffffff16611c3d61139b565b73ffffffffffffffffffffffffffffffffffffffff1614611c9c57611c6061226b565b6040517f118cdaa7000000000000000000000000000000000000000000000000000000008152600401611c9391906146a2565b60405180910390fd5b565b8060039081611cad9190614f27565b5050565b5f600454905090565b611cc78383836001612a7c565b505050565b8273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603611d3a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d3190615040565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603611daa575f6040517f96c6fd1e000000000000000000000000000000000000000000000000000000008152600401611da191906146a2565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611e1a575f6040517fec442f05000000000000000000000000000000000000000000000000000000008152600401611e1191906146a2565b60405180910390fd5b611e2684848484612c4b565b50505050565b5f73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1603611e91576040517fea553b3400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f611e9a61226b565b90505f611ea686613074565b9050611eb4828989846130e7565b600185148015611f0f5750611f0e8660015f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20611b8090919063ffffffff16565b5b15611fe357611f638660015f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f206130ed90919063ffffffff16565b611fb28660015f8a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2061311c90919063ffffffff16565b611fde88887f00000000000000000000000000000000000000000000000000000000000000005f611ccc565b612015565b6040517f37dbad3d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f8073ffffffffffffffffffffffffffffffffffffffff8916915073ffffffffffffffffffffffffffffffffffffffff8a1690508682827fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef5f80a48873ffffffffffffffffffffffffffffffffffffffff168a73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f628b8b6040516120e69291906154dd565b60405180910390a46120fa848b8b8661314a565b841561210f5761210e848b8b8b8b8b61337e565b5b50505050505050505050565b5f612126848461189f565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146121a75781811015612198578281836040517ffb8f41b200000000000000000000000000000000000000000000000000000000815260040161218f93929190615504565b60405180910390fd5b6121a684848484035f612a7c565b5b50505050565b5f80600884901c90505f60ff8516905061010181850110612239576121e681875f015f8581526020019081526020015f2054901c61377a565b92505f6008828601901c8301905060ff8286011694505f91508260010192505b80831461223757612228875f015f8581526020019081526020015f205461377a565b84019350826001019250612206565b505b61225e846101000382885f015f8681526020019081526020015f2054901c901b61377a565b8301925050509392505050565b5f33905090565b81518351146122ad576040517f7801f4e900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603612312576040517fea553b3400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f61231b61226b565b9050612329818787876130e7565b5f5b84518110156124b2575f858281518110612348576123476150be565b5b602002602001015190505f858381518110612366576123656150be565b5b602002602001015190506001811480156123cb57506123ca8260015f8c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20611b8090919063ffffffff16565b5b156124735761241f8260015f8c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f206130ed90919063ffffffff16565b61246e8260015f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2061311c90919063ffffffff16565b6124a5565b6040517f37dbad3d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505080600101905061232b565b506124eb868686517f00000000000000000000000000000000000000000000000000000000000000006124e591906150eb565b5f611ccc565b5f805f600187516124fc9190615539565b905073ffffffffffffffffffffffffffffffffffffffff8916915073ffffffffffffffffffffffffffffffffffffffff88169250602087015183837fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef5f80a460025b81811461259d578060200288015184847fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef5f80a460018101905061255e565b508773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb8a8a60405161261492919061556c565b60405180910390a4612628848a8a8a61314a565b612636848a8a8a8a8a6137c3565b505050505050505050565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050815f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f61270b612722565b612713611cb1565b61271d919061508b565b905090565b5f6001905090565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612798576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161278f90615611565b60405180910390fd5b8060025f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31836040516128849190614432565b60405180910390a3505050565b6060600380546128a090614d5a565b80601f01602080910402602001604051908101604052809291908181526020018280546128cc90614d5a565b80156129175780601f106128ee57610100808354040283529160200191612917565b820191905f5260205f20905b8154815290600101906020018083116128fa57829003601f168201915b50505050509050919050565b60605f8203612969576040518060400160405280600181526020017f30000000000000000000000000000000000000000000000000000000000000008152509050612a77565b5f8290505f5b5f82146129985780806129819061562f565b915050600a826129919190615159565b915061296f565b5f8167ffffffffffffffff8111156129b3576129b2614463565b5b6040519080825280601f01601f1916602001820160405280156129e55781602001600182028036833780820191505090505b5090505b5f8514612a70576001826129fd919061508b565b9150600a85612a0c9190615676565b6030612a189190615539565b60f81b818381518110612a2e57612a2d6150be565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff191690815f1a905350600a85612a699190615159565b94506129e9565b8093505050505b919050565b5f73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603612aec575f6040517fe602df05000000000000000000000000000000000000000000000000000000008152600401612ae391906146a2565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612b5c575f6040517f94280d62000000000000000000000000000000000000000000000000000000008152600401612b5391906146a2565b60405180910390fd5b8160075f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508015612c45578273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92584604051612c3c919061437f565b60405180910390a35b50505050565b5f60065f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205490505f60065f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905083821015612d16578582856040517fe450d38c000000000000000000000000000000000000000000000000000000008152600401612d0d93929190615504565b60405180910390fd5b83820360065f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555083810160065f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef86604051612dfb919061437f565b60405180910390a3821561306c575f600a5f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16905080612ee0575f7f00000000000000000000000000000000000000000000000000000000000000008685612e89919061508b565b612e939190615159565b7f000000000000000000000000000000000000000000000000000000000000000085612ebf9190615159565b612ec9919061508b565b90505f811115612ede57612edd8882613987565b5b505b600a5f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1661306a576001600b54148015612f3d5750805b8015612f7b5750612f4c61139b565b73ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff16145b15612fe2576001600a5f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055506002600b81905550613069565b5f7f00000000000000000000000000000000000000000000000000000000000000008361300f9190615159565b7f0000000000000000000000000000000000000000000000000000000000000000878561303c9190615539565b6130469190615159565b613050919061508b565b90505f811115613067576130648782613d77565b50505b505b5b505b505050505050565b6060600167ffffffffffffffff81111561309157613090614463565b5b6040519080825280602002602001820160405280156130bf5781602001602082028036833780820191505090505b50905081815f815181106130d6576130d56150be565b5b602002602001018181525050919050565b50505050565b60ff81166001901b19825f015f600884901c81526020019081526020015f205f82825416925050819055505050565b60ff81166001901b825f015f600884901c81526020019081526020015f205f82825417925050819055505050565b600a5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1661336c57600e5460065f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054111561321a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613211906156f0565b60405180910390fd5b600f5f9054906101000a900460ff161561336b574360105f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054106132ad576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016132a49061577e565b60405180910390fd5b4360105f3273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505f8273ffffffffffffffffffffffffffffffffffffffff163b14801561332b57505f3273ffffffffffffffffffffffffffffffffffffffff163b145b61336a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016133619061580c565b60405180910390fd5b5b5b613378848484846140e6565b50505050565b61339d8473ffffffffffffffffffffffffffffffffffffffff166140ec565b15613772578373ffffffffffffffffffffffffffffffffffffffff166301ffc9a77fd9b67a26000000000000000000000000000000000000000000000000000000006040518263ffffffff1660e01b81526004016133fb9190615839565b602060405180830381865afa158015613416573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061343a9190615866565b156135db578373ffffffffffffffffffffffffffffffffffffffff1663f23a6e6187878686866040518663ffffffff1660e01b81526004016134809594939291906158e3565b6020604051808303815f875af19250505080156134bb57506040513d601f19601f820116820180604052508101906134b8919061594f565b60015b613557576134c7615986565b806308c379a00361352357506134db6159a5565b806134e65750613525565b806040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161351a9190614648565b60405180910390fd5b505b6040517f9c05499b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b63f23a6e6160e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916146135d5576040517f9c05499b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50613771565b8373ffffffffffffffffffffffffffffffffffffffff1663150b7a02878786856040518563ffffffff1660e01b815260040161361a9493929190615a34565b6020604051808303815f875af192505050801561365557506040513d601f19601f82011682018060405250810190613652919061594f565b60015b6136f157613661615986565b806308c379a0036136bd57506136756159a5565b8061368057506136bf565b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016136b49190614648565b60405180910390fd5b505b6040517fd1a57ed600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161461376f576040517fd1a57ed600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505b5b505050505050565b5f8019808314600382048460011c1684039350600582048460021c16600583048516019350601182048460041c850116935060ff8204840260f81c8160081b1792505050919050565b6137e28473ffffffffffffffffffffffffffffffffffffffff166140ec565b1561397f578373ffffffffffffffffffffffffffffffffffffffff1663bc197c8187878686866040518663ffffffff1660e01b8152600401613828959493929190615a7e565b6020604051808303815f875af192505050801561386357506040513d601f19601f82011682018060405250810190613860919061594f565b60015b6138ff5761386f615986565b806308c379a0036138cb57506138836159a5565b8061388e57506138cd565b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016138c29190614648565b60405180910390fd5b505b6040517f9c05499b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b63bc197c8160e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161461397d576040517f9c05499b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505b505050505050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036139ec576040517fb817eee700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f6139f561226b565b90505f613a00611cb1565b90505f8367ffffffffffffffff811115613a1d57613a1c614463565b5b604051908082528060200260200182016040528015613a4b5781602001602082028036833780820191505090505b5090505f8467ffffffffffffffff811115613a6957613a68614463565b5b604051908082528060200260200182016040528015613a975781602001602082028036833780820191505090505b5090505f5b85811015613b97576001838281518110613ab957613ab86150be565b5b6020026020010181815250505f613b158560015f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f206140fd90919063ffffffff16565b905080838381518110613b2b57613b2a6150be565b5b602002602001018181525050613b868160015f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f206130ed90919063ffffffff16565b809450508080600101915050613a9c565b50613ba484875f846130e7565b5f80600187613bb39190615539565b905073ffffffffffffffffffffffffffffffffffffffff8816915060208301515f837fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef5f80a460025b818114613c3b57806020028401515f847fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef5f80a4600181019050613bfc565b5060018703613ce2575f73ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62865f81518110613cbd57613cbc6150be565b5b60200260200101516001604051613cd5929190615b1d565b60405180910390a4613d61565b5f73ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb8688604051613d5892919061556c565b60405180910390a45b613d6d86895f8661314a565b5050505050505050565b6060805f73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603613ddf576040517f2e07630000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f8303613e18576040517fb562e8dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f613e2161226b565b90508367ffffffffffffffff811115613e3d57613e3c614463565b5b604051908082528060200260200182016040528015613e6b5781602001602082028036833780820191505090505b5092508367ffffffffffffffff811115613e8857613e87614463565b5b604051908082528060200260200182016040528015613eb65781602001602082028036833780820191505090505b5091505f613ec2611cb1565b905080857fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff031015613ef2575f80fd5b5f5b85811015613f4c57808201858281518110613f1257613f116150be565b5b6020026020010181815250506001848281518110613f3357613f326150be565b5b6020026020010181815250508080600101915050613ef4565b50613f59825f88876130e7565b613faa818660015f8a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f206141769092919063ffffffff16565b8460045f828254613fbb9190615539565b925050819055505f808683613fd09190615539565b905073ffffffffffffffffffffffffffffffffffffffff8816915082825f7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef5f80a4600183015b8181146140505780835f7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef5f80a4600181019050614017565b508773ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb89896040516140c792919061556c565b60405180910390a46140db845f8a8961314a565b505050509250929050565b50505050565b5f80823b90505f8111915050919050565b5f805f801992508360081c9150815f5284602052831960ff1660405f2054811b811c91508215821761414b575b60011561414a578383019250825f5260405f20549150821582171561412a575b5b505f811461416e5761415c816141f3565b600883901b1792508383115f03831792505b505092915050565b5f1960ff8316846020528360081c5f52610101838201106141d95760405f2082821b815417815560015f510182850160081c5f510160ff8487011695505f93505b8082146141d257815f528460405f20556001820191506141b7565b815f525050505b60405f208284610100031c821b8154178155505050505050565b5f816fffffffffffffffffffffffffffffffff1060071b821560081b17905081811c67ffffffffffffffff1060061b8117905081811c63ffffffff1060051b8117905081811c61ffff1060041b8117905081811c60ff1060031b811790507f07060605060205040602030205040301060502050303040105050304000000006f8421084210842108cc6318c6db6d54be83831c1c601f161a81179050919050565b5f604051905090565b5f80fd5b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6142ce826142a5565b9050919050565b6142de816142c4565b81146142e8575f80fd5b50565b5f813590506142f9816142d5565b92915050565b5f819050919050565b614311816142ff565b811461431b575f80fd5b50565b5f8135905061432c81614308565b92915050565b5f80604083850312156143485761434761429d565b5b5f614355858286016142eb565b92505060206143668582860161431e565b9150509250929050565b614379816142ff565b82525050565b5f6020820190506143925f830184614370565b92915050565b5f7fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b6143cc81614398565b81146143d6575f80fd5b50565b5f813590506143e7816143c3565b92915050565b5f602082840312156144025761440161429d565b5b5f61440f848285016143d9565b91505092915050565b5f8115159050919050565b61442c81614418565b82525050565b5f6020820190506144455f830184614423565b92915050565b5f80fd5b5f80fd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b61449982614453565b810181811067ffffffffffffffff821117156144b8576144b7614463565b5b80604052505050565b5f6144ca614294565b90506144d68282614490565b919050565b5f67ffffffffffffffff8211156144f5576144f4614463565b5b6144fe82614453565b9050602081019050919050565b828183375f83830152505050565b5f61452b614526846144db565b6144c1565b9050828152602081018484840111156145475761454661444f565b5b61455284828561450b565b509392505050565b5f82601f83011261456e5761456d61444b565b5b813561457e848260208601614519565b91505092915050565b5f6020828403121561459c5761459b61429d565b5b5f82013567ffffffffffffffff8111156145b9576145b86142a1565b5b6145c58482850161455a565b91505092915050565b5f81519050919050565b5f82825260208201905092915050565b5f5b838110156146055780820151818401526020810190506145ea565b5f8484015250505050565b5f61461a826145ce565b61462481856145d8565b93506146348185602086016145e8565b61463d81614453565b840191505092915050565b5f6020820190508181035f8301526146608184614610565b905092915050565b5f6020828403121561467d5761467c61429d565b5b5f61468a8482850161431e565b91505092915050565b61469c816142c4565b82525050565b5f6020820190506146b55f830184614693565b92915050565b5f805f606084860312156146d2576146d161429d565b5b5f6146df868287016142eb565b93505060206146f0868287016142eb565b92505060406147018682870161431e565b9150509250925092565b5f805f606084860312156147225761472161429d565b5b5f61472f868287016142eb565b93505060206147408682870161431e565b92505060406147518682870161431e565b9150509250925092565b5f67ffffffffffffffff82111561477557614774614463565b5b602082029050602081019050919050565b5f80fd5b5f61479c6147978461475b565b6144c1565b905080838252602082019050602084028301858111156147bf576147be614786565b5b835b818110156147e857806147d4888261431e565b8452602084019350506020810190506147c1565b5050509392505050565b5f82601f8301126148065761480561444b565b5b813561481684826020860161478a565b91505092915050565b5f67ffffffffffffffff82111561483957614838614463565b5b61484282614453565b9050602081019050919050565b5f61486161485c8461481f565b6144c1565b90508281526020810184848401111561487d5761487c61444f565b5b61488884828561450b565b509392505050565b5f82601f8301126148a4576148a361444b565b5b81356148b484826020860161484f565b91505092915050565b5f805f805f60a086880312156148d6576148d561429d565b5b5f6148e3888289016142eb565b95505060206148f4888289016142eb565b945050604086013567ffffffffffffffff811115614915576149146142a1565b5b614921888289016147f2565b935050606086013567ffffffffffffffff811115614942576149416142a1565b5b61494e888289016147f2565b925050608086013567ffffffffffffffff81111561496f5761496e6142a1565b5b61497b88828901614890565b9150509295509295909350565b5f60ff82169050919050565b61499d81614988565b82525050565b5f6020820190506149b65f830184614994565b92915050565b5f67ffffffffffffffff8211156149d6576149d5614463565b5b602082029050602081019050919050565b5f6149f96149f4846149bc565b6144c1565b90508083825260208201905060208402830185811115614a1c57614a1b614786565b5b835b81811015614a455780614a3188826142eb565b845260208401935050602081019050614a1e565b5050509392505050565b5f82601f830112614a6357614a6261444b565b5b8135614a738482602086016149e7565b91505092915050565b5f8060408385031215614a9257614a9161429d565b5b5f83013567ffffffffffffffff811115614aaf57614aae6142a1565b5b614abb85828601614a4f565b925050602083013567ffffffffffffffff811115614adc57614adb6142a1565b5b614ae8858286016147f2565b9150509250929050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b614b24816142ff565b82525050565b5f614b358383614b1b565b60208301905092915050565b5f602082019050919050565b5f614b5782614af2565b614b618185614afc565b9350614b6c83614b0c565b805f5b83811015614b9c578151614b838882614b2a565b9750614b8e83614b41565b925050600181019050614b6f565b5085935050505092915050565b5f6020820190508181035f830152614bc18184614b4d565b905092915050565b614bd281614418565b8114614bdc575f80fd5b50565b5f81359050614bed81614bc9565b92915050565b5f8060408385031215614c0957614c0861429d565b5b5f614c16858286016142eb565b9250506020614c2785828601614bdf565b9150509250929050565b5f60208284031215614c4657614c4561429d565b5b5f614c53848285016142eb565b91505092915050565b5f8060408385031215614c7257614c7161429d565b5b5f614c7f858286016142eb565b9250506020614c90858286016142eb565b9150509250929050565b5f805f805f60a08688031215614cb357614cb261429d565b5b5f614cc0888289016142eb565b9550506020614cd1888289016142eb565b9450506040614ce28882890161431e565b9350506060614cf38882890161431e565b925050608086013567ffffffffffffffff811115614d1457614d136142a1565b5b614d2088828901614890565b9150509295509295909350565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f6002820490506001821680614d7157607f821691505b602082108103614d8457614d83614d2d565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f60088302614de67fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82614dab565b614df08683614dab565b95508019841693508086168417925050509392505050565b5f819050919050565b5f614e2b614e26614e21846142ff565b614e08565b6142ff565b9050919050565b5f819050919050565b614e4483614e11565b614e58614e5082614e32565b848454614db7565b825550505050565b5f90565b614e6c614e60565b614e77818484614e3b565b505050565b5b81811015614e9a57614e8f5f82614e64565b600181019050614e7d565b5050565b601f821115614edf57614eb081614d8a565b614eb984614d9c565b81016020851015614ec8578190505b614edc614ed485614d9c565b830182614e7c565b50505b505050565b5f82821c905092915050565b5f614eff5f1984600802614ee4565b1980831691505092915050565b5f614f178383614ef0565b9150826002028217905092915050565b614f30826145ce565b67ffffffffffffffff811115614f4957614f48614463565b5b614f538254614d5a565b614f5e828285614e9e565b5f60209050601f831160018114614f8f575f8415614f7d578287015190505b614f878582614f0c565b865550614fee565b601f198416614f9d86614d8a565b5f5b82811015614fc457848901518255600182019150602085019450602081019050614f9f565b86831015614fe15784890151614fdd601f891682614ef0565b8355505b6001600288020188555050505b505050505050565b7f5472796e61204675636b2077697468206d653f000000000000000000000000005f82015250565b5f61502a6013836145d8565b915061503582614ff6565b602082019050919050565b5f6020820190508181035f8301526150578161501e565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f615095826142ff565b91506150a0836142ff565b92508282039050818111156150b8576150b761505e565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f6150f5826142ff565b9150615100836142ff565b925082820261510e816142ff565b915082820484148315176151255761512461505e565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f615163826142ff565b915061516e836142ff565b92508261517e5761517d61512c565b5b828204905092915050565b5f81905092915050565b5f815461519f81614d5a565b6151a98186615189565b9450600182165f81146151c357600181146151d85761520a565b60ff198316865281151582028601935061520a565b6151e185614d8a565b5f5b83811015615202578154818901526001820191506020810190506151e3565b838801955050505b50505092915050565b5f61521d826145ce565b6152278185615189565b93506152378185602086016145e8565b80840191505092915050565b5f61524e8285615193565b915061525a8284615213565b91508190509392505050565b7f7b226e616d65223a202242494a4f5520230000000000000000000000000000005f82015250565b5f61529a601183615189565b91506152a582615266565b601182019050919050565b7f222c226465736372697074696f6e223a220000000000000000000000000000005f82015250565b5f6152e4601183615189565b91506152ef826152b0565b601182019050919050565b7f222c2265787465726e616c5f75726c223a22222c22696d616765223a220000005f82015250565b5f61532e601d83615189565b9150615339826152fa565b601d82019050919050565b5f61534e8261528e565b915061535a8286615213565b9150615365826152d8565b91506153718285615213565b915061537c82615322565b91506153888284615213565b9150819050949350505050565b7f646174613a6170706c69636174696f6e2f6a736f6e3b757466382c00000000005f82015250565b5f6153c9601b83615189565b91506153d482615395565b601b82019050919050565b7f222c2261747472696275746573223a5b7b2274726169745f74797065223a22435f8201527f6f6c6f72222c2276616c7565223a220000000000000000000000000000000000602082015250565b5f615439602f83615189565b9150615444826153df565b602f82019050919050565b7f227d5d7d000000000000000000000000000000000000000000000000000000005f82015250565b5f615483600483615189565b915061548e8261544f565b600482019050919050565b5f6154a3826153bd565b91506154af8285615213565b91506154ba8261542d565b91506154c68284615213565b91506154d182615477565b91508190509392505050565b5f6040820190506154f05f830185614370565b6154fd6020830184614370565b9392505050565b5f6060820190506155175f830186614693565b6155246020830185614370565b6155316040830184614370565b949350505050565b5f615543826142ff565b915061554e836142ff565b92508282019050808211156155665761556561505e565b5b92915050565b5f6040820190508181035f8301526155848185614b4d565b905081810360208301526155988184614b4d565b90509392505050565b7f455243313135353a2073657474696e6720617070726f76616c207374617475735f8201527f20666f722073656c660000000000000000000000000000000000000000000000602082015250565b5f6155fb6029836145d8565b9150615606826155a1565b604082019050919050565b5f6020820190508181035f830152615628816155ef565b9050919050565b5f615639826142ff565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361566b5761566a61505e565b5b600182019050919050565b5f615680826142ff565b915061568b836142ff565b92508261569b5761569a61512c565b5b828206905092915050565b7f5472616e736665722065786365656473206d6178696d756d2077616c6c6574005f82015250565b5f6156da601f836145d8565b91506156e5826156a6565b602082019050919050565b5f6020820190508181035f830152615707816156ce565b9050919050565b7f4f6e6c79206f6e65207472616e736665722070657220626c6f636b20616c6c6f5f8201527f7765642e00000000000000000000000000000000000000000000000000000000602082015250565b5f6157686024836145d8565b91506157738261570e565b604082019050919050565b5f6020820190508181035f8301526157958161575c565b9050919050565b7f436f6e74726163742074726164696e672072657374726963746564206174206c5f8201527f61756e6368000000000000000000000000000000000000000000000000000000602082015250565b5f6157f66025836145d8565b91506158018261579c565b604082019050919050565b5f6020820190508181035f830152615823816157ea565b9050919050565b61583381614398565b82525050565b5f60208201905061584c5f83018461582a565b92915050565b5f8151905061586081614bc9565b92915050565b5f6020828403121561587b5761587a61429d565b5b5f61588884828501615852565b91505092915050565b5f81519050919050565b5f82825260208201905092915050565b5f6158b582615891565b6158bf818561589b565b93506158cf8185602086016145e8565b6158d881614453565b840191505092915050565b5f60a0820190506158f65f830188614693565b6159036020830187614693565b6159106040830186614370565b61591d6060830185614370565b818103608083015261592f81846158ab565b90509695505050505050565b5f81519050615949816143c3565b92915050565b5f602082840312156159645761596361429d565b5b5f6159718482850161593b565b91505092915050565b5f8160e01c9050919050565b5f60033d11156159a25760045f803e61599f5f5161597a565b90505b90565b5f60443d10615a31576159b6614294565b60043d036004823e80513d602482011167ffffffffffffffff821117156159de575050615a31565b808201805167ffffffffffffffff8111156159fc5750505050615a31565b80602083010160043d038501811115615a19575050505050615a31565b615a2882602001850186614490565b82955050505050505b90565b5f608082019050615a475f830187614693565b615a546020830186614693565b615a616040830185614370565b8181036060830152615a7381846158ab565b905095945050505050565b5f60a082019050615a915f830188614693565b615a9e6020830187614693565b8181036040830152615ab08186614b4d565b90508181036060830152615ac48185614b4d565b90508181036080830152615ad881846158ab565b90509695505050505050565b5f819050919050565b5f615b07615b02615afd84615ae4565b614e08565b6142ff565b9050919050565b615b1781615aed565b82525050565b5f604082019050615b305f830185614370565b615b3d6020830184615b0e565b939250505056fe697066733a2f2f626166796265696267746b32796f68656b7a786f34677336346c33686b71776d69666d71777335636d78707966356a746463656234726c33377065a2646970667358221220cddc61ce7d178319fb6f91c67e0ac25b75c102a2bbd9180d0c4e3cde1aa5ffb264736f6c63430008180033