0x60a060405260015f5534801562000014575f80fd5b50604051620038da380380620038da83398181016040528101906200003a9190620000bf565b5f810362000074576040517fd36c850000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b806080818152505050620000ef565b5f80fd5b5f819050919050565b6200009b8162000087565b8114620000a6575f80fd5b50565b5f81519050620000b98162000090565b92915050565b5f60208284031215620000d757620000d662000083565b5b5f620000e684828501620000a9565b91505092915050565b6080516137cb6200010f5f395f81816116300152611f1d01526137cb5ff3fe608060405260043610610113575f3560e01c806384cc9dfb1161009f578063ec68555f11610063578063ec68555f146103cd578063ed33408314610409578063ef6598e314610445578063fe5ff46814610481578063ffa1ad74146104bd57610113565b806384cc9dfb146102ff57806390b21ac01461032757806393df293714610363578063c36f38741461038d578063d73792a9146103a357610113565b80636b547b64116100e65780636b547b64146101f35780636c004bbf1461022f5780636f0a9a9a1461026b5780637249fbb61461029b5780637c58de61146102c357610113565b80630cd55abf1461011757806325ecc0a6146101535780635778472a1461018f5780636b304b07146101cb575b5f80fd5b348015610122575f80fd5b5061013d600480360381019061013891906127d9565b6104e7565b60405161014a919061281c565b60405180910390f35b34801561015e575f80fd5b5061017960048036038101906101749190612868565b6104fc565b60405161018691906128b5565b60405180910390f35b34801561019a575f80fd5b506101b560048036038101906101b091906128ce565b61050f565b6040516101c29190612b36565b60405180910390f35b3480156101d6575f80fd5b506101f160048036038101906101ec91906127d9565b610819565b005b3480156101fe575f80fd5b5061021960048036038101906102149190612b7a565b6108d3565b60405161022691906128b5565b60405180910390f35b34801561023a575f80fd5b5061025560048036038101906102509190612c33565b610c04565b60405161026291906128b5565b60405180910390f35b61028560048036038101906102809190612cba565b610c1b565b60405161029291906128b5565b60405180910390f35b3480156102a6575f80fd5b506102c160048036038101906102bc91906128ce565b61102c565b005b3480156102ce575f80fd5b506102e960048036038101906102e49190612b7a565b611264565b6040516102f691906128b5565b60405180910390f35b34801561030a575f80fd5b5061032560048036038101906103209190612868565b61129c565b005b348015610332575f80fd5b5061034d600480360381019061034891906128ce565b611619565b60405161035a91906128b5565b60405180910390f35b34801561036e575f80fd5b5061037761162e565b604051610384919061281c565b60405180910390f35b348015610398575f80fd5b506103a1611652565b005b3480156103ae575f80fd5b506103b76116a6565b6040516103c4919061281c565b60405180910390f35b3480156103d8575f80fd5b506103f360048036038101906103ee91906128ce565b6116ac565b6040516104009190612dc9565b60405180910390f35b348015610414575f80fd5b5061042f600480360381019061042a91906128ce565b6117ae565b60405161043c91906128b5565b60405180910390f35b348015610450575f80fd5b5061046b60048036038101906104669190612de2565b6117c3565b60405161047891906128b5565b60405180910390f35b34801561048c575f80fd5b506104a760048036038101906104a291906127d9565b6117d6565b6040516104b4919061281c565b60405180910390f35b3480156104c8575f80fd5b506104d16117eb565b6040516104de919061281c565b60405180910390f35b6001602052805f5260405f205f915090505481565b5f61050783836117f0565b905092915050565b610517612601565b60025f8381526020019081526020015f20604051806102200160405290815f82015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600182015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600282015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600382015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200160048201548152602001600582015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016006820154815260200160078201548152602001600882015f9054906101000a900463ffffffff1663ffffffff1663ffffffff1681526020016008820160049054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200160098201548152602001600a8201548152602001600b8201548152602001600c82015f9054906101000a900467ffffffffffffffff1667ffffffffffffffff1667ffffffffffffffff168152602001600d8201548152602001600e8201548152602001600f82015f9054906101000a900460ff1660048111156107fc576107fb612966565b5b600481111561080e5761080d612966565b5b815250509050919050565b60025f5403610854576040517f3ee5aeb500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60025f819055505f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036108c0576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6108c981611868565b60015f8190555050565b5f8060025f8781526020019081526020015f209050600160048111156108fc576108fb612966565b5b81600f015f9054906101000a900460ff16600481111561091f5761091e612966565b5b14610956576040517fc2d72ba400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614806109bb57505f73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b156109f2576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b4283111580610a05575080600a01548310155b15610a3c576040517fb633081000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610a5446308884600e015485600d01548a8a8a611a2d565b9150600281600f015f6101000a81548160ff02191690836004811115610a7d57610a7c612966565b5b02179055506040518060a001604052808381526020018673ffffffffffffffffffffffffffffffffffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff1681526020018481526020016001151581525060035f8881526020019081526020015f205f820151815f01556020820151816001015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506040820151816002015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550606082015181600301556080820151816004015f6101000a81548160ff0219169083151502179055509050508473ffffffffffffffffffffffffffffffffffffffff1682877fe0b9caf83d67e911663a11eb281f2d49d30c0824c853e29f409b383099d001c98787604051610bf3929190612e30565b60405180910390a450949350505050565b5f610c1185858585611ab7565b9050949350505050565b5f60025f5403610c57576040517f3ee5aeb500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60025f81905550610c6787611b3b565b5f60015f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205490508088610100013514610cf857808861010001356040517f06427aeb000000000000000000000000000000000000000000000000000000008152600401610cef929190612e57565b60405180910390fd5b5f801b8703610d33576040517f2e0755ab00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60065f8881526020019081526020015f205f9054906101000a900460ff1615610d88576040517fe9204a0600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f610d9587878787611ab7565b90505f801b8103610dd2576040517f989a539a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60075f8281526020019081526020015f205f9054906101000a900460ff1615610e27576040517f9594202f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610e31338a611f8d565b92505f6004811115610e4657610e45612966565b5b60025f8581526020019081526020015f20600f015f9054906101000a900460ff166004811115610e7957610e78612966565b5b14610eb0576040517f966753c500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b87610ebd845f801b6117f0565b03610ef4576040517f2e0755ab00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b88608001353414610f31576040517f677606af00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600182610f3e9190612eab565b60015f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508260045f8a81526020019081526020015f20819055508260055f8381526020019081526020015f2081905550600160065f8a81526020019081526020015f205f6101000a81548160ff021916908315150217905550600160075f8381526020019081526020015f205f6101000a81548160ff021916908315150217905550611009838a8a8461210f565b611019838a8a848b8b8b8b612546565b505060015f819055509695505050505050565b5f60025f8381526020019081526020015f2090506001600481111561105457611053612966565b5b81600f015f9054906101000a900460ff16600481111561107757611076612966565b5b141580156110ba57506002600481111561109457611093612966565b5b81600f015f9054906101000a900460ff1660048111156110b7576110b6612966565b5b14155b156110f1576040517f0b4d698100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80600b015442101561112f576040517f0b4d698100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600481600f015f6101000a81548160ff0219169083600481111561115657611155612966565b5b0217905550806006015460085f835f015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8282546111cd9190612eab565b925050819055503373ffffffffffffffffffffffffffffffffffffffff16815f015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16837fdb0fd6ca55d56015cb0dac46894ff907fda41c8cb4c7892fd7b2dd70604194968460060154604051611258919061281c565b60405180910390a45050565b5f8060025f8781526020019081526020015f20905061129146308884600e015485600d01548a8a8a611a2d565b915050949350505050565b5f60025f8481526020019081526020015f209050600260048111156112c4576112c3612966565b5b81600f015f9054906101000a900460ff1660048111156112e7576112e6612966565b5b1461131e576040517f0878f9ef00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80600b0154421061135b576040517ff0f25a3300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80600e015461136a84846117f0565b146113a1576040517fabab6bd700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f60035f8581526020019081526020015f2090505f612710836008015f9054906101000a900463ffffffff1663ffffffff1661271085600601546113e59190612f0b565b6113ef9190612f3b565b6113f99190612f7c565b836008015f9054906101000a900463ffffffff1663ffffffff1661271085600601546114259190612f7c565b61142f9190612f3b565b6114399190612eab565b90505f81846006015461144c9190612fac565b9050600384600f015f6101000a81548160ff0219169083600481111561147557611474612966565b5b02179055508060085f856001015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8282546114e99190612eab565b925050819055505f821461156f578160085f8660080160049054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8282546115679190612eab565b925050819055505b826001015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16835f0154877f9597310aa683b0e7efbbdfb3bae5be6dba6901085ae33785a3af80e5dacc955d3389868a60080160049054906101000a900473ffffffffffffffffffffffffffffffffffffffff1689604051611609959493929190612fdf565b60405180910390a4505050505050565b6005602052805f5260405f205f915090505481565b7f000000000000000000000000000000000000000000000000000000000000000081565b60025f540361168d576040517f3ee5aeb500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60025f8190555061169d33611868565b60015f81905550565b61271081565b6116b4612720565b60035f8381526020019081526020015f206040518060a00160405290815f8201548152602001600182015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600282015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200160038201548152602001600482015f9054906101000a900460ff1615151515815250509050919050565b6004602052805f5260405f205f915090505481565b5f6117ce8383611f8d565b905092915050565b6008602052805f5260405f205f915090505481565b600381565b5f600283836040516020016118069291906130a4565b6040516020818303038152906040526040516118229190613146565b602060405180830381855afa15801561183d573d5f803e3d5ffd5b5050506040513d601f19601f820116820180604052508101906118609190613170565b905092915050565b5f60085f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205490505f81036118e2576040517f315b0e1400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f60085f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505f8273ffffffffffffffffffffffffffffffffffffffff1682604051611949906131be565b5f6040518083038185875af1925050503d805f8114611983576040519150601f19603f3d011682016040523d82523d5f602084013e611988565b606091505b50509050806119c3576040517ff4b3b1bc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f0a6f464c1425bbcaa6503a63a1a5f7eacb725491db6fb420f2ead6dfe07e5c0284604051611a20919061281c565b60405180910390a3505050565b5f60028989898989898989604051602001611a4f9897969594939291906132a7565b604051602081830303815290604052604051611a6b9190613146565b602060405180830381855afa158015611a86573d5f803e3d5ffd5b5050506040513d601f19601f82011682018060405250810190611aa99190613170565b905098975050505050505050565b5f6002600460f81b86868686604051602001611ad79594939291906133ae565b604051602081830303815290604052604051611af39190613146565b602060405180830381855afa158015611b0e573d5f803e3d5ffd5b5050506040513d601f19601f82011682018060405250810190611b319190613170565b9050949350505050565b5f73ffffffffffffffffffffffffffffffffffffffff16816020016020810190611b6591906127d9565b73ffffffffffffffffffffffffffffffffffffffff161480611bc457505f73ffffffffffffffffffffffffffffffffffffffff16816040016020810190611bac91906127d9565b73ffffffffffffffffffffffffffffffffffffffff16145b15611bfb576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f815f01351480611c0e575046815f0135145b15611c45576040517fafe7f4e000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f81608001351480611c5a57505f8160a00135145b15611c91576040517f1f2a200500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6127108160c0016020810190611ca79190613436565b63ffffffff161115611ce5576040517f58d620b300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f8160c0016020810190611cf99190613436565b63ffffffff16148015611d4a57505f73ffffffffffffffffffffffffffffffffffffffff168160e0016020810190611d3191906127d9565b73ffffffffffffffffffffffffffffffffffffffff1614155b15611d81576040517f58d620b300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f8160c0016020810190611d959190613436565b63ffffffff1614158015611de657505f73ffffffffffffffffffffffffffffffffffffffff168160e0016020810190611dce91906127d9565b73ffffffffffffffffffffffffffffffffffffffff16145b15611e1d576040517f58d620b300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6127108160c0016020810190611e339190613436565b63ffffffff1603611e70576040517f58d620b300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f81610160016020810190611e85919061348b565b67ffffffffffffffff1603611ec6576040517f470e22f500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b42816101200135111580611ee4575080610120013581610140013511155b15611f1b576040517fd36c850000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f0000000000000000000000000000000000000000000000000000000000000000816101200135826101400135611f529190612fac565b1015611f8a576040517fd36c850000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50565b5f804630845f0135856020016020810190611fa891906127d9565b87876040016020810190611fbc91906127d9565b604051602001611fd196959493929190613500565b60405160208183030381529060405290505f80846060016020810190611ff791906127d9565b85608001358660a001358760c00160208101906120149190613436565b8860e001602081019061202791906127d9565b89610100013560405160200161204397969594939291906135ae565b60405160208183030381529060405290506002828286610120013587610140013588610160016020810190612078919061348b565b60405160200161208a93929190613662565b6040516020818303038152906040526040516020016120ab9392919061369e565b6040516020818303038152906040526040516120c79190613146565b602060405180830381855afa1580156120e2573d5f803e3d5ffd5b5050506040513d601f19601f820116820180604052508101906121059190613170565b9250505092915050565b6040518061022001604052803373ffffffffffffffffffffffffffffffffffffffff16815260200184604001602081019061214a91906127d9565b73ffffffffffffffffffffffffffffffffffffffff1681526020015f73ffffffffffffffffffffffffffffffffffffffff16815260200184606001602081019061219491906127d9565b73ffffffffffffffffffffffffffffffffffffffff168152602001845f013581526020018460200160208101906121cb91906127d9565b73ffffffffffffffffffffffffffffffffffffffff168152602001846080013581526020018460a0013581526020018460c001602081019061220d9190613436565b63ffffffff1681526020018460e001602081019061222b91906127d9565b73ffffffffffffffffffffffffffffffffffffffff1681526020018461010001358152602001846101200135815260200184610140013581526020018461016001602081019061227b919061348b565b67ffffffffffffffff168152602001828152602001838152602001600160048111156122aa576122a9612966565b5b81525060025f8681526020019081526020015f205f820151815f015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506020820151816001015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506040820151816002015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506060820151816003015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506080820151816004015560a0820151816005015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060c0820151816006015560e08201518160070155610100820151816008015f6101000a81548163ffffffff021916908363ffffffff1602179055506101208201518160080160046101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610140820151816009015561016082015181600a015561018082015181600b01556101a082015181600c015f6101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055506101c082015181600d01556101e082015181600e015561020082015181600f015f6101000a81548160ff0219169083600481111561253857612537612966565b5b021790555090505050505050565b86604001602081019061255991906127d9565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16897f0b52ecaf559f09a71196859cc00fd0713aaf048e024a2fb38a2e33633339f0d78a608001358b60a001358b8d61012001358e61014001358f6101600160208101906125d3919061348b565b8e8e8e8e8e6040516125ef9b9a999897969594939291906136ec565b60405180910390a45050505050505050565b6040518061022001604052805f73ffffffffffffffffffffffffffffffffffffffff1681526020015f73ffffffffffffffffffffffffffffffffffffffff1681526020015f73ffffffffffffffffffffffffffffffffffffffff1681526020015f73ffffffffffffffffffffffffffffffffffffffff1681526020015f81526020015f73ffffffffffffffffffffffffffffffffffffffff1681526020015f81526020015f81526020015f63ffffffff1681526020015f73ffffffffffffffffffffffffffffffffffffffff1681526020015f81526020015f81526020015f81526020015f67ffffffffffffffff1681526020015f80191681526020015f80191681526020015f600481111561271a57612719612966565b5b81525090565b6040518060a001604052805f80191681526020015f73ffffffffffffffffffffffffffffffffffffffff1681526020015f73ffffffffffffffffffffffffffffffffffffffff1681526020015f81526020015f151581525090565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6127a88261277f565b9050919050565b6127b88161279e565b81146127c2575f80fd5b50565b5f813590506127d3816127af565b92915050565b5f602082840312156127ee576127ed61277b565b5b5f6127fb848285016127c5565b91505092915050565b5f819050919050565b61281681612804565b82525050565b5f60208201905061282f5f83018461280d565b92915050565b5f819050919050565b61284781612835565b8114612851575f80fd5b50565b5f813590506128628161283e565b92915050565b5f806040838503121561287e5761287d61277b565b5b5f61288b85828601612854565b925050602061289c85828601612854565b9150509250929050565b6128af81612835565b82525050565b5f6020820190506128c85f8301846128a6565b92915050565b5f602082840312156128e3576128e261277b565b5b5f6128f084828501612854565b91505092915050565b6129028161279e565b82525050565b61291181612804565b82525050565b5f63ffffffff82169050919050565b61292f81612917565b82525050565b5f67ffffffffffffffff82169050919050565b61295181612935565b82525050565b61296081612835565b82525050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b600581106129a4576129a3612966565b5b50565b5f8190506129b482612993565b919050565b5f6129c3826129a7565b9050919050565b6129d3816129b9565b82525050565b61022082015f8201516129ee5f8501826128f9565b506020820151612a0160208501826128f9565b506040820151612a1460408501826128f9565b506060820151612a2760608501826128f9565b506080820151612a3a6080850182612908565b5060a0820151612a4d60a08501826128f9565b5060c0820151612a6060c0850182612908565b5060e0820151612a7360e0850182612908565b50610100820151612a88610100850182612926565b50610120820151612a9d6101208501826128f9565b50610140820151612ab2610140850182612908565b50610160820151612ac7610160850182612908565b50610180820151612adc610180850182612908565b506101a0820151612af16101a0850182612948565b506101c0820151612b066101c0850182612957565b506101e0820151612b1b6101e0850182612957565b50610200820151612b306102008501826129ca565b50505050565b5f61022082019050612b4a5f8301846129d9565b92915050565b612b5981612804565b8114612b63575f80fd5b50565b5f81359050612b7481612b50565b92915050565b5f805f8060808587031215612b9257612b9161277b565b5b5f612b9f87828801612854565b9450506020612bb0878288016127c5565b9350506040612bc1878288016127c5565b9250506060612bd287828801612b66565b91505092959194509250565b5f7fffffffffffffffffffffffffffffffff0000000000000000000000000000000082169050919050565b612c1281612bde565b8114612c1c575f80fd5b50565b5f81359050612c2d81612c09565b92915050565b5f805f8060808587031215612c4b57612c4a61277b565b5b5f612c5887828801612854565b9450506020612c6987828801612854565b9350506040612c7a87828801612854565b9250506060612c8b87828801612c1f565b91505092959194509250565b5f80fd5b5f6101808284031215612cb157612cb0612c97565b5b81905092915050565b5f805f805f806102208789031215612cd557612cd461277b565b5b5f612ce289828a01612c9b565b965050610180612cf489828a01612854565b9550506101a0612d0689828a01612854565b9450506101c0612d1889828a01612854565b9350506101e0612d2a89828a01612854565b925050610200612d3c89828a01612c1f565b9150509295509295509295565b5f8115159050919050565b612d5d81612d49565b82525050565b60a082015f820151612d775f850182612957565b506020820151612d8a60208501826128f9565b506040820151612d9d60408501826128f9565b506060820151612db06060850182612908565b506080820151612dc36080850182612d54565b50505050565b5f60a082019050612ddc5f830184612d63565b92915050565b5f806101a08385031215612df957612df861277b565b5b5f612e06858286016127c5565b9250506020612e1785828601612c9b565b9150509250929050565b612e2a8161279e565b82525050565b5f604082019050612e435f830185612e21565b612e50602083018461280d565b9392505050565b5f604082019050612e6a5f83018561280d565b612e77602083018461280d565b9392505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f612eb582612804565b9150612ec083612804565b9250828201905080821115612ed857612ed7612e7e565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f612f1582612804565b9150612f2083612804565b925082612f3057612f2f612ede565b5b828206905092915050565b5f612f4582612804565b9150612f5083612804565b9250828202612f5e81612804565b91508282048414831517612f7557612f74612e7e565b5b5092915050565b5f612f8682612804565b9150612f9183612804565b925082612fa157612fa0612ede565b5b828204905092915050565b5f612fb682612804565b9150612fc183612804565b9250828203905081811115612fd957612fd8612e7e565b5b92915050565b5f60a082019050612ff25f830188612e21565b612fff60208301876128a6565b61300c604083018661280d565b6130196060830185612e21565b613026608083018461280d565b9695505050505050565b5f81905092915050565b7f7175616e74756d737761703a616b6173682d76333a686173686c6f636b3a76315f82015250565b5f61306e602083613030565b91506130798261303a565b602082019050919050565b5f819050919050565b61309e61309982612835565b613084565b82525050565b5f6130ae82613062565b91506130ba828561308d565b6020820191506130ca828461308d565b6020820191508190509392505050565b5f81519050919050565b5f81905092915050565b5f5b8381101561310b5780820151818401526020810190506130f0565b5f8484015250505050565b5f613120826130da565b61312a81856130e4565b935061313a8185602086016130ee565b80840191505092915050565b5f6131518284613116565b915081905092915050565b5f8151905061316a8161283e565b92915050565b5f602082840312156131855761318461277b565b5b5f6131928482850161315c565b91505092915050565b50565b5f6131a95f836130e4565b91506131b48261319b565b5f82019050919050565b5f6131c88261319e565b9150819050919050565b7f7175616e74756d737761703a616b6173682d76333a7265736572766174696f6e5f8201527f3a76310000000000000000000000000000000000000000000000000000000000602082015250565b5f61322c602383613030565b9150613237826131d2565b602382019050919050565b5f819050919050565b61325c61325782612804565b613242565b82525050565b5f8160601b9050919050565b5f61327882613262565b9050919050565b5f6132898261326e565b9050919050565b6132a161329c8261279e565b61327f565b82525050565b5f6132b182613220565b91506132bd828b61324b565b6020820191506132cd828a613290565b6014820191506132dd828961308d565b6020820191506132ed828861308d565b6020820191506132fd828761308d565b60208201915061330d8286613290565b60148201915061331d8285613290565b60148201915061332d828461324b565b6020820191508190509998505050505050505050565b5f7fff0000000000000000000000000000000000000000000000000000000000000082169050919050565b5f819050919050565b61338861338382613343565b61336e565b82525050565b5f819050919050565b6133a86133a382612bde565b61338e565b82525050565b5f6133b98288613377565b6001820191506133c9828761308d565b6020820191506133d9828661308d565b6020820191506133e9828561308d565b6020820191506133f98284613397565b6010820191508190509695505050505050565b61341581612917565b811461341f575f80fd5b50565b5f813590506134308161340c565b92915050565b5f6020828403121561344b5761344a61277b565b5b5f61345884828501613422565b91505092915050565b61346a81612935565b8114613474575f80fd5b50565b5f8135905061348581613461565b92915050565b5f602082840312156134a05761349f61277b565b5b5f6134ad84828501613477565b91505092915050565b7f7175616e74756d737761703a616b6173682d76333a6f726465723a76310000005f82015250565b5f6134ea601d83613030565b91506134f5826134b6565b601d82019050919050565b5f61350a826134de565b9150613516828961324b565b6020820191506135268288613290565b601482019150613536828761324b565b6020820191506135468286613290565b6014820191506135568285613290565b6014820191506135668284613290565b601482019150819050979650505050505050565b5f8160e01b9050919050565b5f6135908261357a565b9050919050565b6135a86135a382612917565b613586565b82525050565b5f6135b9828a613290565b6014820191506135c98289613290565b6014820191506135d9828861324b565b6020820191506135e9828761324b565b6020820191506135f98286613597565b6004820191506136098285613290565b601482019150613619828461324b565b60208201915081905098975050505050505050565b5f8160c01b9050919050565b5f6136448261362e565b9050919050565b61365c61365782612935565b61363a565b82525050565b5f61366d828661324b565b60208201915061367d828561324b565b60208201915061368d828461364b565b600882019150819050949350505050565b5f6136a98286613116565b91506136b58285613116565b91506136c18284613116565b9150819050949350505050565b6136d781612935565b82525050565b6136e681612bde565b82525050565b5f610160820190506137005f83018e61280d565b61370d602083018d61280d565b61371a604083018c6128a6565b613727606083018b61280d565b613734608083018a61280d565b61374160a08301896136ce565b61374e60c08301886128a6565b61375b60e08301876128a6565b6137696101008301866128a6565b6137776101208301856128a6565b6137856101408301846136dd565b9c9b50505050505050505050505056fea2646970667358221220f29afdc7b9f0132263b572932d424b036e0c8cb73d35441c76cc9a6912991bf464687970634300000200330000000000000000000000000000000000000000000000000000000000000708