@towns-protocol/generated 0.0.441 → 0.0.442
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dev/.contracts-hash +1 -1
- package/dev/abis/Architect.abi.json +5 -0
- package/dev/abis/Architect.abi.ts +5 -0
- package/dev/abis/Channels.abi.json +5 -0
- package/dev/abis/Channels.abi.ts +5 -0
- package/dev/abis/EntitlementsManager.abi.json +5 -0
- package/dev/abis/EntitlementsManager.abi.ts +5 -0
- package/dev/abis/IAppRegistry.abi.json +5 -0
- package/dev/abis/IAppRegistry.abi.ts +5 -0
- package/dev/abis/IAppRegistryBase.abi.json +5 -0
- package/dev/abis/IAppRegistryBase.abi.ts +5 -0
- package/dev/abis/ICreateSpace.abi.json +5 -0
- package/dev/abis/ICreateSpace.abi.ts +5 -0
- package/dev/abis/MembershipFacet.abi.json +5 -83
- package/dev/abis/MembershipFacet.abi.ts +5 -83
- package/dev/abis/Roles.abi.json +5 -0
- package/dev/abis/Roles.abi.ts +5 -0
- package/dev/typings/MembershipFacet.ts +0 -15
- package/dev/typings/factories/Architect__factory.ts +5 -0
- package/dev/typings/factories/Channels__factory.ts +5 -0
- package/dev/typings/factories/EntitlementsManager__factory.ts +5 -0
- package/dev/typings/factories/IAppRegistry__factory.ts +5 -0
- package/dev/typings/factories/IArchitect__factory.ts +5 -0
- package/dev/typings/factories/ICreateSpace__factory.ts +5 -0
- package/dev/typings/factories/MembershipFacet__factory.ts +6 -84
- package/dev/typings/factories/Roles__factory.ts +5 -0
- package/dev/typings/factories/index.ts +0 -1
- package/dev/typings/index.ts +0 -2
- package/package.json +3 -3
- package/scripts/build-contract-types.sh +2 -2
- package/dev/abis/PrepayFacet.abi.json +0 -1164
- package/dev/abis/PrepayFacet.abi.ts +0 -1164
- package/dev/typings/PrepayFacet.ts +0 -926
- package/dev/typings/factories/PrepayFacet__factory.ts +0 -1221
|
@@ -1388,19 +1388,6 @@ const _abi = [
|
|
|
1388
1388
|
],
|
|
1389
1389
|
anonymous: false,
|
|
1390
1390
|
},
|
|
1391
|
-
{
|
|
1392
|
-
type: "event",
|
|
1393
|
-
name: "Prepay__Prepaid",
|
|
1394
|
-
inputs: [
|
|
1395
|
-
{
|
|
1396
|
-
name: "supply",
|
|
1397
|
-
type: "uint256",
|
|
1398
|
-
indexed: false,
|
|
1399
|
-
internalType: "uint256",
|
|
1400
|
-
},
|
|
1401
|
-
],
|
|
1402
|
-
anonymous: false,
|
|
1403
|
-
},
|
|
1404
1391
|
{
|
|
1405
1392
|
type: "event",
|
|
1406
1393
|
name: "ReferralRegistered",
|
|
@@ -1970,11 +1957,6 @@ const _abi = [
|
|
|
1970
1957
|
name: "InvalidManifest",
|
|
1971
1958
|
inputs: [],
|
|
1972
1959
|
},
|
|
1973
|
-
{
|
|
1974
|
-
type: "error",
|
|
1975
|
-
name: "Membership__AlreadyMember",
|
|
1976
|
-
inputs: [],
|
|
1977
|
-
},
|
|
1978
1960
|
{
|
|
1979
1961
|
type: "error",
|
|
1980
1962
|
name: "Membership__Banned",
|
|
@@ -1985,16 +1967,6 @@ const _abi = [
|
|
|
1985
1967
|
name: "Membership__CannotSetFreeAllocationOnPaidSpace",
|
|
1986
1968
|
inputs: [],
|
|
1987
1969
|
},
|
|
1988
|
-
{
|
|
1989
|
-
type: "error",
|
|
1990
|
-
name: "Membership__CannotSetPriceOnFreeSpace",
|
|
1991
|
-
inputs: [],
|
|
1992
|
-
},
|
|
1993
|
-
{
|
|
1994
|
-
type: "error",
|
|
1995
|
-
name: "Membership__InsufficientAllowance",
|
|
1996
|
-
inputs: [],
|
|
1997
|
-
},
|
|
1998
1970
|
{
|
|
1999
1971
|
type: "error",
|
|
2000
1972
|
name: "Membership__InsufficientPayment",
|
|
@@ -2010,31 +1982,16 @@ const _abi = [
|
|
|
2010
1982
|
name: "Membership__InvalidAddress",
|
|
2011
1983
|
inputs: [],
|
|
2012
1984
|
},
|
|
2013
|
-
{
|
|
2014
|
-
type: "error",
|
|
2015
|
-
name: "Membership__InvalidCurrency",
|
|
2016
|
-
inputs: [],
|
|
2017
|
-
},
|
|
2018
1985
|
{
|
|
2019
1986
|
type: "error",
|
|
2020
1987
|
name: "Membership__InvalidDuration",
|
|
2021
1988
|
inputs: [],
|
|
2022
1989
|
},
|
|
2023
|
-
{
|
|
2024
|
-
type: "error",
|
|
2025
|
-
name: "Membership__InvalidFeeRecipient",
|
|
2026
|
-
inputs: [],
|
|
2027
|
-
},
|
|
2028
1990
|
{
|
|
2029
1991
|
type: "error",
|
|
2030
1992
|
name: "Membership__InvalidFreeAllocation",
|
|
2031
1993
|
inputs: [],
|
|
2032
1994
|
},
|
|
2033
|
-
{
|
|
2034
|
-
type: "error",
|
|
2035
|
-
name: "Membership__InvalidLimit",
|
|
2036
|
-
inputs: [],
|
|
2037
|
-
},
|
|
2038
1995
|
{
|
|
2039
1996
|
type: "error",
|
|
2040
1997
|
name: "Membership__InvalidMaxSupply",
|
|
@@ -2045,21 +2002,11 @@ const _abi = [
|
|
|
2045
2002
|
name: "Membership__InvalidPayment",
|
|
2046
2003
|
inputs: [],
|
|
2047
2004
|
},
|
|
2048
|
-
{
|
|
2049
|
-
type: "error",
|
|
2050
|
-
name: "Membership__InvalidPrice",
|
|
2051
|
-
inputs: [],
|
|
2052
|
-
},
|
|
2053
2005
|
{
|
|
2054
2006
|
type: "error",
|
|
2055
2007
|
name: "Membership__InvalidPricingModule",
|
|
2056
2008
|
inputs: [],
|
|
2057
2009
|
},
|
|
2058
|
-
{
|
|
2059
|
-
type: "error",
|
|
2060
|
-
name: "Membership__InvalidTokenId",
|
|
2061
|
-
inputs: [],
|
|
2062
|
-
},
|
|
2063
2010
|
{
|
|
2064
2011
|
type: "error",
|
|
2065
2012
|
name: "Membership__InvalidTransactionType",
|
|
@@ -2070,11 +2017,6 @@ const _abi = [
|
|
|
2070
2017
|
name: "Membership__MaxSupplyReached",
|
|
2071
2018
|
inputs: [],
|
|
2072
2019
|
},
|
|
2073
|
-
{
|
|
2074
|
-
type: "error",
|
|
2075
|
-
name: "Membership__NotExpired",
|
|
2076
|
-
inputs: [],
|
|
2077
|
-
},
|
|
2078
2020
|
{
|
|
2079
2021
|
type: "error",
|
|
2080
2022
|
name: "MintERC2309QuantityExceedsLimit",
|
|
@@ -2222,31 +2164,6 @@ const _abi = [
|
|
|
2222
2164
|
},
|
|
2223
2165
|
],
|
|
2224
2166
|
},
|
|
2225
|
-
{
|
|
2226
|
-
type: "error",
|
|
2227
|
-
name: "Prepay__InvalidAddress",
|
|
2228
|
-
inputs: [],
|
|
2229
|
-
},
|
|
2230
|
-
{
|
|
2231
|
-
type: "error",
|
|
2232
|
-
name: "Prepay__InvalidAmount",
|
|
2233
|
-
inputs: [],
|
|
2234
|
-
},
|
|
2235
|
-
{
|
|
2236
|
-
type: "error",
|
|
2237
|
-
name: "Prepay__InvalidMembership",
|
|
2238
|
-
inputs: [],
|
|
2239
|
-
},
|
|
2240
|
-
{
|
|
2241
|
-
type: "error",
|
|
2242
|
-
name: "Prepay__InvalidSupplyAmount",
|
|
2243
|
-
inputs: [],
|
|
2244
|
-
},
|
|
2245
|
-
{
|
|
2246
|
-
type: "error",
|
|
2247
|
-
name: "Prepay__NotAllowed",
|
|
2248
|
-
inputs: [],
|
|
2249
|
-
},
|
|
2250
2167
|
{
|
|
2251
2168
|
type: "error",
|
|
2252
2169
|
name: "Reentrancy",
|
|
@@ -2378,10 +2295,15 @@ const _abi = [
|
|
|
2378
2295
|
name: "UnauthorizedTarget",
|
|
2379
2296
|
inputs: [],
|
|
2380
2297
|
},
|
|
2298
|
+
{
|
|
2299
|
+
type: "error",
|
|
2300
|
+
name: "UnexpectedETH",
|
|
2301
|
+
inputs: [],
|
|
2302
|
+
},
|
|
2381
2303
|
] as const;
|
|
2382
2304
|
|
|
2383
2305
|
const _bytecode =
|
|
2384
|
-
"0x6080604052348015600e575f5ffd5b5060156019565b60bd565b7f59b501c3653afc186af7d48dda36cf6732bd21629a6295693664240a6ef520008054640100000000900460ff16156064576040516366008a2d60e01b815260040160405180910390fd5b805463ffffffff908116101560ba57805463ffffffff191663ffffffff90811782556040519081527fe9c9b456cb2994b80aeef036cf59d26e9617df80f816a6ee5a5b4166e07e2f5c9060200160405180910390a15b50565b61520c806100ca5f395ff3fe60806040526004361061016d575f3560e01c806379dda585116100c657806393b13cb71161007c578063a5a4103111610057578063a5a41031146103c9578063df9a9fe6146103dd578063e847abdd146103fc575f5ffd5b806393b13cb71461037557806395d600c81461039657806397fb7c1e146103aa575f5ffd5b80638120f0ba116100ac5780638120f0ba1461031657806383f3f0dc146103435780638c625b0614610362575f5ffd5b806379dda585146102ef5780637c9669ac14610303575f5ffd5b80635803909f11610126578063686f768411610101578063686f7684146102a957806369d5f38a146102bc578063706b8e09146102db575f5ffd5b80635803909f146102325780635becd24a14610251578063657e45e814610270575f5ffd5b806317c957091161015657806317c95709146101b9578063280a47c71461020d5780633e9491a214610220575f5ffd5b80630ef1be5f146101715780631278076a14610192575b5f5ffd5b34801561017c575f5ffd5b5061019061018b3660046145d4565b610410565b005b34801561019d575f5ffd5b506101a66104c5565b6040519081526020015b60405180910390f35b3480156101c4575f5ffd5b506101a66101d3366004614613565b5f9081527f4775a23600034fdd9f073b224f794d51a58b35ba663a9602623ba7a5c09cce00602052604090205467ffffffffffffffff1690565b61019061021b36600461462a565b61053a565b34801561022b575f5ffd5b50476101a6565b34801561023d575f5ffd5b506101a661024c366004614613565b610610565b34801561025c575f5ffd5b5061019061026b366004614613565b610688565b34801561027b575f5ffd5b5061028461076f565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101b0565b6101906102b7366004614834565b6107b3565b3480156102c7575f5ffd5b506101906102d6366004614613565b6107f7565b3480156102e6575f5ffd5b506101a6610906565b3480156102fa575f5ffd5b5061028461090f565b610190610311366004614613565b61094e565b348015610321575f5ffd5b5061032a610991565b60405167ffffffffffffffff90911681526020016101b0565b34801561034e575f5ffd5b5061019061035d366004614896565b61099a565b6101906103703660046148b1565b610a14565b348015610380575f5ffd5b50610389610a47565b6040516101b09190614918565b3480156103a1575f5ffd5b506101a6610a51565b3480156103b5575f5ffd5b506101906103c4366004614613565b610a7a565b3480156103d4575f5ffd5b506101a6610b64565b3480156103e8575f5ffd5b506101906103f73660046148b1565b610bd4565b348015610407575f5ffd5b50610284610cad565b610418610cec565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610483576040517f65f490650000000000000000000000000000000000000000000000000000000081523360048201526024015b60405180910390fd5b6104c182828080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92019190915250610dac92505050565b5050565b5f5f61051a6105157f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df01547f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df00540390565b610dd7565b9050805f0361052a575f91505090565b61053381610ee5565b5092915050565b3068929eee149b4bd2126854036105585763ab143c065f526004601cfd5b3068929eee149b4bd21268555f8360018111156105775761057761492a565b0361059a575f610589828401846148b1565b905061059481610f12565b506105ff565b60018360018111156105ae576105ae61492a565b036105d6575f806105c183850185614834565b915091506105cf8282611019565b50506105ff565b6105ff7f3be0196900000000000000000000000000000000000000000000000000000000611164565b3868929eee149b4bd2126855505050565b5f5f610666836106617f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df01547f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df00540390565b61116c565b9050805f0361067757505f92915050565b61068081610ee5565b509392505050565b610690610cec565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146106f6576040517f65f4906500000000000000000000000000000000000000000000000000000000815233600482015260240161047a565b5f61071f7fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb6035490565b9050801580159061072f57508082115b1561075d5761075d7fc3983b9100000000000000000000000000000000000000000000000000000000611164565b610766826111ea565b6104c18261128e565b5f6107ae7fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb6045473ffffffffffffffffffffffffffffffffffffffff1690565b905090565b3068929eee149b4bd2126854036107d15763ab143c065f526004601cfd5b3068929eee149b4bd21268556107e78282611019565b3868929eee149b4bd21268555050565b6107ff610cec565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610865576040517f65f4906500000000000000000000000000000000000000000000000000000000815233600482015260240161047a565b7fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb608546040517f91b7f5ed0000000000000000000000000000000000000000000000000000000081526004810183905273ffffffffffffffffffffffffffffffffffffffff909116906391b7f5ed906024015f604051808303815f87803b1580156108ed575f5ffd5b505af11580156108ff573d5f5f3e3d5ffd5b5050505050565b5f6107ae61134c565b5f6107ae7fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb6065473ffffffffffffffffffffffffffffffffffffffff1690565b3068929eee149b4bd21268540361096c5763ab143c065f526004601cfd5b3068929eee149b4bd21268556109823382611417565b3868929eee149b4bd212685550565b5f6107ae61160d565b6109a2610cec565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610a08576040517f65f4906500000000000000000000000000000000000000000000000000000000815233600482015260240161047a565b610a11816116d0565b50565b3068929eee149b4bd212685403610a325763ab143c065f526004601cfd5b3068929eee149b4bd212685561098281610f12565b60606107ae61174b565b5f6107ae7fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb6035490565b610a82610cec565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610ae8576040517f65f4906500000000000000000000000000000000000000000000000000000000815233600482015260240161047a565b610b3c81610b377f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df01547f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df00540390565b6117fd565b610a11817fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb60355565b5f5f610bb46105157f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df01547f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df00540390565b9050805f03610bc4575f91505090565b610bcd81610ee5565b9392505050565b610bdc610cec565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610c42576040517f65f4906500000000000000000000000000000000000000000000000000000000815233600482015260240161047a565b610c4b8161182e565b7fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb60880547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff831617905550565b5f6107ae7fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb6085473ffffffffffffffffffffffffffffffffffffffff1690565b5f807fd2f24d4f172e4e84e48e7c4125b6e904c29e5eba33ad4938fee51dd5dbd4b600805460018201546040517f6352211e000000000000000000000000000000000000000000000000000000008152600481019190915291925073ffffffffffffffffffffffffffffffffffffffff1690636352211e90602401602060405180830381865afa158015610d82573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610da69190614957565b91505090565b7fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb60c6104c18282614a07565b5f5f610e177fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb6085473ffffffffffffffffffffffffffffffffffffffff1690565b905073ffffffffffffffffffffffffffffffffffffffff8116610e3c57505f92915050565b5f610e4561134c565b6040517f5cf4ee91000000000000000000000000000000000000000000000000000000008152600481018290526024810186905290915073ffffffffffffffffffffffffffffffffffffffff831690635cf4ee91906044015b602060405180830381865afa158015610eb9573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610edd9190614b1e565b949350505050565b5f5f610ef083611967565b9050825f03610f0157809150915091565b610f0b8184614b62565b9150915091565b610f1b81611a80565b5f610f24611b76565b905080604001518015610f3a5750806020015134105b15610f6857610f687fb1296a8a00000000000000000000000000000000000000000000000000000000611164565b806060015115610f7c57610f7c6001611c5d565b5f610fc083610fbb7f8c625b06d047a4c1ca46cdab06b7e14ce79b486f06c67a1b220fa942669ca49b338760405180602001604052805f815250611c9a565b611ccc565b90505f5f610fd48533858760200151611e61565b91509150806108ff57811561100f57836040015115610ff757610ff78385611edc565b6110018386612039565b61100a856120c4565b6108ff565b6108ff83866121b3565b61102282611a80565b5f61102b611b76565b9050806040015180156110415750806020015134105b1561106f5761106f7fb1296a8a00000000000000000000000000000000000000000000000000000000611164565b806060015115611083576110836001611c5d565b61108d838361220a565b5f8260405160200161109f9190614b75565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081840301815291905290507f686f7684000000000000000000000000000000000000000000000000000000005f61110186610fbb84338388611c9a565b90505f5f6111158833858960200151611e61565b915091508061115a5781156111505785604001511561113857611138838761228f565b6111428389612039565b61114b886120c4565b61115a565b61115a83896121b3565b5050505050505050565b805f5260045ffd5b5f8281527fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb60960205260408120547fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb60090826111c585610dd7565b9050815f036111d85792506111e4915050565b81811890821102189150505b92915050565b6111f261090f565b73ffffffffffffffffffffffffffffffffffffffff16632cbb9d136040518163ffffffff1660e01b8152600401602060405180830381865afa15801561123a573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061125e9190614b1e565b811115610a1157610a117fc3983b9100000000000000000000000000000000000000000000000000000000611164565b7fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb60d80547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790557fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb6078190556040517fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb6009082907fab14a23e88fb272313490d4f20d63098e64fd38304c0e07a377db98c2b39b92f905f90a25050565b7fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb60d545f907fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb6009060ff16156113a35760070154919050565b6113ab61090f565b73ffffffffffffffffffffffffffffffffffffffff16632cbb9d136040518163ffffffff1660e01b8152600401602060405180830381865afa1580156113f3573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610da69190614b1e565b5f61142182612444565b905073ffffffffffffffffffffffffffffffffffffffff8116611467576114677f5fbd571700000000000000000000000000000000000000000000000000000000611164565b5f61147061160d565b67ffffffffffffffff1690505f6114cc846106617f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df01547f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df00540390565b9050805f036115285761151e6115167fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb6045473ffffffffffffffffffffffffffffffffffffffff1690565b30873461244f565b6108ff84836124a7565b5f61153282610ee5565b50905034811115611566576115667f34a7a93d00000000000000000000000000000000000000000000000000000000611164565b5f61157187846125d5565b90505f61157e8284614bcf565b9050801561159257611590888261269d565b505b5f61159d8434614bcf565b905080156115ee576115ee6115e67fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb6045473ffffffffffffffffffffffffffffffffffffffff1690565b308b8461244f565b6115f88785612813565b61160288876124a7565b505050505050505050565b7fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb6065474010000000000000000000000000000000000000000900467ffffffffffffffff165f8190036116cd5761166161090f565b73ffffffffffffffffffffffffffffffffffffffff16638120f0ba6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156116a9573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107ae9190614be2565b90565b6116d98161286a565b7fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb606805467ffffffffffffffff90921674010000000000000000000000000000000000000000027fffffffff0000000000000000ffffffffffffffffffffffffffffffffffffffff909216919091179055565b60607fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb600600c01805461177c90614972565b80601f01602080910402602001604051908101604052809291908181526020018280546117a890614972565b80156117f35780601f106117ca576101008083540402835291602001916117f3565b820191905f5260205f20905b8154815290600101906020018083116117d657829003601f168201915b5050505050905090565b808210156104c1576104c17fccc9aa2e00000000000000000000000000000000000000000000000000000000611164565b73ffffffffffffffffffffffffffffffffffffffff8116611872576118727f0e88bf4b00000000000000000000000000000000000000000000000000000000611164565b7fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb6065473ffffffffffffffffffffffffffffffffffffffff166040517f8df80bd600000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff83811660048301529190911690638df80bd690602401602060405180830381865afa158015611916573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061193a9190614c11565b610a1157610a117f0e88bf4b00000000000000000000000000000000000000000000000000000000611164565b5f5f61197161090f565b90505f8173ffffffffffffffffffffffffffffffffffffffff16630eac306d6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156119bd573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119e19190614b1e565b9050835f036119f1579392505050565b5f611a6c858473ffffffffffffffffffffffffffffffffffffffff16639f6542aa6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611a3f573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611a639190614c2a565b61ffff16612960565b905081811082821802811895945050505050565b73ffffffffffffffffffffffffffffffffffffffff8116611ac457611ac47f5fbd571700000000000000000000000000000000000000000000000000000000611164565b5f611aed7fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb6035490565b90508015801590611b48575080611b457f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df01547f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df00540390565b10155b156104c1576104c17f7efcdb4900000000000000000000000000000000000000000000000000000000611164565b604080516080810182525f808252602082018190529181018290526060810182905290611be47f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df01547f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df00540390565b90505f611bf082610dd7565b90505f611bfb61134c565b9050815f03611c0a5750505090565b81845282811115611c1b5750505090565b5f611c246129ac565b90508015611c3c575050600160608401525090919050565b5f611c4684610ee5565b506001604088015260208701525093949350505050565b7f097b4f25b64e012d0cf55f67e9b34fe5d57f15b11b95baa4ddd136b424967c008054829082905f90611c91908490614bcf565b90915550505050565b606084848484604051602001611cb39493929190614c4b565b6040516020818303038152906040529050949350505050565b6040517fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606084901b1660208201524360348201525f908190605401604051602081830303815290604052805190602001209050611dab81611d7f8387611d32866129d5565b6040805160208082019590955273ffffffffffffffffffffffffffffffffffffffff9390931683820152606080840192909252805180840390920182526080909201909152805191012090565b604080516020808201949094528082019290925280518083038201815260609092019052805191012090565b5f8181527f34516f6fe09a043d57f1ff579a303a7ae85314751c77b4eb1a55837604a86e026020526040812080549294507f34516f6fe09a043d57f1ff579a303a7ae85314751c77b4eb1a55837604a86e00929091908290611e0c90614972565b90501115611e3d57611e3d7ff82e65c300000000000000000000000000000000000000000000000000000000611164565b80611e488682614a07565b503415611e5857611e5884612a1b565b50505092915050565b5f5f5f611ea26040518060400160405280600981526020017f4a6f696e53706163650000000000000000000000000000000000000000000000815250612a79565b9050611eae8188612c11565b15611ec05760015f9250925050611ed3565b611ecd8188888888612e2c565b92509250505b94509492505050565b5f5f5f611ee885612fb9565b8054611ef390614972565b80601f0160208091040260200160405190810160405280929190818152602001828054611f1f90614972565b8015611f6a5780601f10611f4157610100808354040283529160200191611f6a565b820191905f5260205f20905b815481529060010190602001808311611f4d57829003601f168201915b5050505050806020019051810190611f829190614d2c565b50919450925090507fffffffff0000000000000000000000000000000000000000000000000000000083167f8c625b060000000000000000000000000000000000000000000000000000000014611ffc57611ffc7fda6153bd00000000000000000000000000000000000000000000000000000000611164565b5f61200a83865f01516125d5565b90505f81866020015161201d9190614bcf565b905061203087858589602001518561300c565b50505050505050565b5f8281527f34516f6fe09a043d57f1ff579a303a7ae85314751c77b4eb1a55837604a86e01602052604090205480156120bf57612076838261303b565b6120bf6120b77fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb6045473ffffffffffffffffffffffffffffffffffffffff1690565b30848461244f565b505050565b5f6120cd6130a3565b9050612151816121216105157f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df01547f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df00540390565b5f9182527fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb609602052604090912055565b61215c8260016130ca565b61216d8161216861160d565b6124a7565b604051819073ffffffffffffffffffffffffffffffffffffffff8416907f2f40b0474996b72a4251e00fb9170cdd960deea1dc749772cbbab61395b9b576905f90a35050565b6121bc826130e3565b6121c68282612039565b60405173ffffffffffffffffffffffffffffffffffffffff8216907f86fd446d5c04e892d58b448a924dcd9c3ece3a5e0d2960b8c35cd475a5595a1f905f90a25050565b8173ffffffffffffffffffffffffffffffffffffffff16816020015173ffffffffffffffffffffffffffffffffffffffff1614806122615750602081015173ffffffffffffffffffffffffffffffffffffffff1633145b156104c1576104c17f5fbd571700000000000000000000000000000000000000000000000000000000611164565b5f5f5f5f61229c86612fb9565b80546122a790614972565b80601f01602080910402602001604051908101604052809291908181526020018280546122d390614972565b801561231e5780601f106122f55761010080835404028352916020019161231e565b820191905f5260205f20905b81548152906001019060200180831161230157829003601f168201915b50505050508060200190518101906123369190614d2c565b929650909450925090507fffffffff0000000000000000000000000000000000000000000000000000000084167f686f768400000000000000000000000000000000000000000000000000000000146123b2576123b27fda6153bd00000000000000000000000000000000000000000000000000000000611164565b5f818060200190518101906123c79190614db0565b90505f5f6123d886895f01516125d5565b90505f6123ec87855f01518b5f015161313b565b90505f61240688866020015187604001518d5f01516132a0565b90508082848c6020015161241a9190614bcf565b6124249190614bcf565b61242e9190614bcf565b935050505061115a8886868a602001518561300c565b5f6111e48183613422565b80156124a15773ffffffffffffffffffffffffffffffffffffffff841673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee14612497576124928484848461342d565b6124a1565b6124a182826134c1565b50505050565b5f8281527f4775a23600034fdd9f073b224f794d51a58b35ba663a9602623ba7a5c09cce00602081905260409091205467ffffffffffffffff1680158015906124ed57505f5b15612527576040517ff7d2131a0000000000000000000000000000000000000000000000000000000081526004810185905260240161047a565b5f428267ffffffffffffffff16111561254b576125448483614e58565b9050612558565b6125558442614e58565b90505b5f858152602084815260409182902080547fffffffffffffffffffffffffffffffffffffffffffffffff00000000000000001667ffffffffffffffff8516908117909155915191825286917f2ec2be2c4b90c2cf13ecb6751a24daed6bb741ae5ed3f7371aabf9402f6d62e8910160405180910390a25050505050565b5f6125df82611967565b90506111e46126227fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb6045473ffffffffffffffffffffffffffffffffffffffff1690565b8461262b61090f565b73ffffffffffffffffffffffffffffffffffffffff16634ccb20c06040518163ffffffff1660e01b8152600401602060405180830381865afa158015612673573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906126979190614957565b8461244f565b5f7fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb600816126fe7fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb6045473ffffffffffffffffffffffffffffffffffffffff1690565b90507fffffffffffffffffffffffff111111111111111111111111111111111111111273ffffffffffffffffffffffffffffffffffffffff821601612760578382600a015f8282546127509190614b62565b909155508493506111e492505050565b5f61278173ffffffffffffffffffffffffffffffffffffffff8316306134e1565b905061278f8287308861342d565b5f6127b073ffffffffffffffffffffffffffffffffffffffff8416306134e1565b90505f6127bd8383614bcf565b90508681146127ef576127ef7fb1296a8a00000000000000000000000000000000000000000000000000000000611164565b8085600a015f8282546128029190614b62565b909155509098975050505050505050565b5f61281c613514565b90505f61284b825f8560405160200161283791815260200190565b6040516020818303038152906040526135e7565b905061285882858361363d565b6124a182612864610cec565b8361363d565b5f61287361090f565b73ffffffffffffffffffffffffffffffffffffffff16638120f0ba6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156128bb573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906128df9190614be2565b67ffffffffffffffff1690508167ffffffffffffffff165f03612925576129257f82323d2e00000000000000000000000000000000000000000000000000000000611164565b808267ffffffffffffffff1611156104c1576104c17f82323d2e00000000000000000000000000000000000000000000000000000000611164565b5f612710821115612995576129957f197f196200000000000000000000000000000000000000000000000000000000836136bc565b6127106129a28385614e78565b610bcd9190614e8f565b5f7f097b4f25b64e012d0cf55f67e9b34fe5d57f15b11b95baa4ddd136b424967c005b54919050565b5f8181527f34516f6fe09a043d57f1ff579a303a7ae85314751c77b4eb1a55837604a86e0060208190526040822080549083612a1083614ec7565b909155509392505050565b5f8181527f34516f6fe09a043d57f1ff579a303a7ae85314751c77b4eb1a55837604a86e016020526040812080547f34516f6fe09a043d57f1ff579a303a7ae85314751c77b4eb1a55837604a86e0092349291611c91908490614b62565b60605f612a846136c8565b80519091505f8167ffffffffffffffff811115612aa357612aa361469f565b604051908082528060200260200182016040528015612b0657816020015b612af36040518060a001604052805f8152602001606081526020015f1515815260200160608152602001606081525090565b815260200190600190039081612ac15790505b50855160208701209091505f90815b84811015612c05575f5f5f5f612b438a8681518110612b3657612b36614efe565b60200260200101516136f3565b93509350935093505f5b8251811015612bf55786838281518110612b6957612b69614efe565b60200260200101518051906020012003612bed576040518060a001604052808c8881518110612b9a57612b9a614efe565b60200260200101518152602001868152602001851515815260200184815260200183815250898981518110612bd157612bd1614efe565b602002602001018190525087612be690614ec7565b9750612bf5565b600101612b4d565b5050505050806001019050612b15565b50508152949350505050565b5f5f612c1c836137df565b90505f5b8451811015612e2257848181518110612c3b57612c3b614efe565b602002602001015160400151612e1a575f5b858281518110612c5f57612c5f614efe565b60200260200101516080015151811015612e18575f868381518110612c8657612c86614efe565b6020026020010151608001518281518110612ca357612ca3614efe565b602002602001015190508073ffffffffffffffffffffffffffffffffffffffff16632e1b61e46040518163ffffffff1660e01b8152600401602060405180830381865afa158015612cf6573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612d1a9190614c11565b158015612dfd57508073ffffffffffffffffffffffffffffffffffffffff16630cf0b5335f5f1b866040518060400160405280600981526020017f4a6f696e53706163650000000000000000000000000000000000000000000000815250604051602001612d889190614f2b565b604051602081830303815290604052612da090614f41565b6040518463ffffffff1660e01b8152600401612dbe93929190614f83565b602060405180830381865afa158015612dd9573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612dfd9190614c11565b15612e0f5760019450505050506111e4565b50600101612c4d565b505b600101612c20565b505f949350505050565b5f8080805b8851811015612faa57888181518110612e4c57612e4c614efe565b602002602001015160400151612fa2575f5b898281518110612e7057612e70614efe565b60200260200101516080015151811015612fa0575f8a8381518110612e9757612e97614efe565b6020026020010151608001518281518110612eb457612eb4614efe565b602002602001015190508073ffffffffffffffffffffffffffffffffffffffff16632e1b61e46040518163ffffffff1660e01b8152600401602060405180830381865afa158015612f07573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612f2b9190614c11565b15612f975783612f6857612f5f8a8a8a848f8881518110612f4e57612f4e614efe565b60200260200101515f01518c613a53565b60019350612f92565b612f928a8a8a848f8881518110612f8157612f81614efe565b60200260200101515f01515f613a53565b600194505b50600101612e5e565b505b600101612e31565b505f9250509550959350505050565b5f8181527f34516f6fe09a043d57f1ff579a303a7ae85314751c77b4eb1a55837604a86e02602052604081207f34516f6fe09a043d57f1ff579a303a7ae85314751c77b4eb1a55837604a86e0090610bcd565b801561301e5761301c848261269d565b505b613028858361303b565b613031856130e3565b6108ff8383612813565b5f8281527f34516f6fe09a043d57f1ff579a303a7ae85314751c77b4eb1a55837604a86e016020526040812080547f34516f6fe09a043d57f1ff579a303a7ae85314751c77b4eb1a55837604a86e0092849291613099908490614bcf565b9091555050505050565b5f7f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df006129cf565b6104c1828260405180602001604052805f815250613b43565b5f8181527f34516f6fe09a043d57f1ff579a303a7ae85314751c77b4eb1a55837604a86e02602052604090207f34516f6fe09a043d57f1ff579a303a7ae85314751c77b4eb1a55837604a86e00906104c1905f614545565b5f73ffffffffffffffffffffffffffffffffffffffff831661315e57505f610bcd565b5f61319d7fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb6065473ffffffffffffffffffffffffffffffffffffffff1690565b6040517f5cb4f54800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff86811660048301529190911690635cb4f54890602401608060405180830381865afa158015613209573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061322d9190614fee565b905080604001515f03613243575f915050610bcd565b613251838260400151612960565b91506106806132947fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb6045473ffffffffffffffffffffffffffffffffffffffff1690565b8683602001518561244f565b5f82515f14613350575f6132b384613c0b565b604081015190915073ffffffffffffffffffffffffffffffffffffffff1615806132df57506020810151155b156132ed575f915050610edd565b6132fb838260200151612960565b915061334a61333e7fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb6045473ffffffffffffffffffffffffffffffffffffffff1690565b8783604001518561244f565b50610edd565b73ffffffffffffffffffffffffffffffffffffffff841615610edd578473ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16036133a657505f610edd565b6133d7826133d27faca21cc4d2a125f3e0ae03aa135d42b2b9177631aca87599d42a68b47e9008015490565b612960565b9050610edd61341a7fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb6045473ffffffffffffffffffffffffffffffffffffffff1690565b86868461244f565b5f610bcd8383613cb3565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603156124a15773ffffffffffffffffffffffffffffffffffffffff831630146134a05761249273ffffffffffffffffffffffffffffffffffffffff8516848484613dee565b6124a173ffffffffffffffffffffffffffffffffffffffff85168383613e50565b6104c173ffffffffffffffffffffffffffffffffffffffff831682613ea3565b5f816014526f70a082310000000000000000000000005f5260208060246010865afa601f3d111660205102905092915050565b5f7fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb600600601546040517f44ab66800000000000000000000000000000000000000000000000000000000081527f526976657241697264726f700000000000000000000000000000000000000000600482015273ffffffffffffffffffffffffffffffffffffffff909116906344ab668090602401602060405180830381865afa1580156135c3573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107ae9190614957565b6040517fdc69fdde0000000000000000000000000000000000000000000000000000000081525f9073ffffffffffffffffffffffffffffffffffffffff85169063dc69fdde90610e9e9086908690600401615068565b6040517f40c10f1900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8381166004830152602482018390528416906340c10f19906044015f604051808303815f87803b1580156136aa575f5ffd5b505af1158015612030573d5f5f3e3d5ffd5b815f528060045260245ffd5b60606107ae7f672ef851d5f92307da037116e23aa9e31af7e1f7e3ca62c4e6d540631df3fd01613ebc565b5f8181527f672ef851d5f92307da037116e23aa9e31af7e1f7e3ca62c4e6d540631df3fd03602052604081208054606092918391829190819061373590614972565b80601f016020809104026020016040519081016040528092919081815260200182805461376190614972565b80156137ac5780601f10613783576101008083540402835291602001916137ac565b820191905f5260205f20905b81548152906001019060200180831161378f57829003601f168201915b5050505060018301549196505060ff1693506137ca60028201613ec8565b92506137d581613f9f565b9150509193509193565b60605f7fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb600600601546040517f02345b9800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff858116600483015290911691505f9082906302345b98906024015f60405180830381865afa158015613876573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526138bb91908101906150b5565b905080515f03613a2c576040517ff821039800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85811660048301525f919084169063f821039890602401602060405180830381865afa158015613932573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906139569190614957565b905073ffffffffffffffffffffffffffffffffffffffff811615613a2a576040517f02345b9800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff808316600483015291955085918416906302345b98906024015f60405180830381865afa1580156139e2573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052613a2791908101906150b5565b91505b505b613a3581613fae565b92506001835101835283604051526020604051016040525050919050565b613a5e868483613fbc565b5f7f9075c515a635ba70c9696f31149324218d75cf00afe836c482e6473f38b19e005f8681526001828101602052604090912080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016909117815560030180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8716179055905080546040805173ffffffffffffffffffffffffffffffffffffffff89811660208301526120309316918a9189918891889101604051602081830303815290604052614075565b613b4d8383614196565b73ffffffffffffffffffffffffffffffffffffffff83163b156120bf577f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df00548281035b613ba25f86838060010194508661434b565b613bd8576040517fd1a57ed600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b818110613b9057817f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df0054146108ff575f5ffd5b613c436040518060600160405280606081526020015f81526020015f73ffffffffffffffffffffffffffffffffffffffff1681525090565b5080516020808301919091205f9081527faca21cc4d2a125f3e0ae03aa135d42b2b9177631aca87599d42a68b47e9008028252604090819020815160608101835293845280549284019290925260019091015473ffffffffffffffffffffffffffffffffffffffff169082015290565b5f818311613dbc57505f8181527f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df046020526040812054907f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df00907c010000000000000000000000000000000000000000000000000000000083169003613dba57815f03613db45780548310613d73576040517fdf2d9b4200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9092015f81815260048401602052604090205490929091508115613d74575b506111e4565b505b6040517fdf2d9b4200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60405181606052826040528360601b602c526f23b872dd000000000000000000000000600c5260205f6064601c5f895af18060015f511416613e4257803d873b151710613e4257637939f4245f526004601cfd5b505f60605260405250505050565b81601452806034526fa9059cbb0000000000000000000000005f5260205f604460105f875af18060015f511416613e9957803d853b151710613e99576390b8ec185f526004601cfd5b505f603452505050565b5f385f3884865af16104c15763b12d13eb5f526004601cfd5b60605f610bcd836144bd565b6060815f01805480602002602001604051908101604052809291908181526020015f905b82821015613f94578382905f5260205f20018054613f0990614972565b80601f0160208091040260200160405190810160405280929190818152602001828054613f3590614972565b8015613f805780601f10613f5757610100808354040283529160200191613f80565b820191905f5260205f20905b815481529060010190602001808311613f6357829003601f168201915b505050505081526020019060010190613eec565b505050509050919050565b60605f610bcd83600401613ebc565b60606111e46116cd83614516565b34811115613fed57613fed7ff4e95a4100000000000000000000000000000000000000000000000000000000611164565b73ffffffffffffffffffffffffffffffffffffffff8316614031576140317f99ef038800000000000000000000000000000000000000000000000000000000611164565b73ffffffffffffffffffffffffffffffffffffffff82166120bf576120bf7f4bb7c20500000000000000000000000000000000000000000000000000000000611164565b8115614108576040517f21be050a00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8716906321be050a9084906140d5908990899089908890600401615169565b5f604051808303818588803b1580156140ec575f5ffd5b505af11580156140fe573d5f5f3e3d5ffd5b505050505061418e565b6040517f21be050a00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8716906321be050a90614160908890889088908790600401615169565b5f604051808303815f87803b158015614177575f5ffd5b505af1158015614189573d5f5f3e3d5ffd5b505050505b505050505050565b7f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df00545f8290036141f2576040517fb562e8dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff83165f8181527f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df056020908152604080832080546801000000000000000188020190558483527f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df0490915281206001851460e11b4260a01b178317905582840190839083907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8180a4600183015b8181146142e95780835f7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef5f5fa46001016142b3565b50815f03614323576040517f2e07630000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df005550505050565b6040517f150b7a020000000000000000000000000000000000000000000000000000000081525f9073ffffffffffffffffffffffffffffffffffffffff85169063150b7a02906143a59033908990889088906004016151a3565b6020604051808303815f875af19250505080156143fd575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682019092526143fa918101906151f3565b60015b614472573d80801561442a576040519150601f19603f3d011682016040523d82523d5f602084013e61442f565b606091505b5080515f0361446a576040517fd1a57ed600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b805181602001fd5b7fffffffff00000000000000000000000000000000000000000000000000000000167f150b7a0200000000000000000000000000000000000000000000000000000000149050610edd565b6060815f0180548060200260200160405190810160405280929190818152602001828054801561450a57602002820191905f5260205f20905b8154815260200190600101908083116144f6575b50505050509050919050565b604051815160051b8101602001818084035b808201518252816020019150828203614528575060405250919050565b50805461455190614972565b5f825580601f10614560575050565b601f0160209004905f5260205f2090810190610a1191905b8082111561458b575f8155600101614578565b5090565b5f5f83601f84011261459f575f5ffd5b50813567ffffffffffffffff8111156145b6575f5ffd5b6020830191508360208285010111156145cd575f5ffd5b9250929050565b5f5f602083850312156145e5575f5ffd5b823567ffffffffffffffff8111156145fb575f5ffd5b6146078582860161458f565b90969095509350505050565b5f60208284031215614623575f5ffd5b5035919050565b5f5f5f6040848603121561463c575f5ffd5b83356002811061464a575f5ffd5b9250602084013567ffffffffffffffff811115614665575f5ffd5b6146718682870161458f565b9497909650939450505050565b73ffffffffffffffffffffffffffffffffffffffff81168114610a11575f5ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6040516060810167ffffffffffffffff811182821017156146ef576146ef61469f565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff8111828210171561473c5761473c61469f565b604052919050565b5f67ffffffffffffffff82111561475d5761475d61469f565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b5f60608284031215614799575f5ffd5b6147a16146cc565b905081356147ae8161467e565b815260208201356147be8161467e565b6020820152604082013567ffffffffffffffff8111156147dc575f5ffd5b8201601f810184136147ec575f5ffd5b80356147ff6147fa82614744565b6146f5565b818152856020838501011115614813575f5ffd5b816020840160208301375f6020838301015280604085015250505092915050565b5f5f60408385031215614845575f5ffd5b82356148508161467e565b9150602083013567ffffffffffffffff81111561486b575f5ffd5b61487785828601614789565b9150509250929050565b67ffffffffffffffff81168114610a11575f5ffd5b5f602082840312156148a6575f5ffd5b8135610bcd81614881565b5f602082840312156148c1575f5ffd5b8135610bcd8161467e565b5f81518084528060208401602086015e5f6020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b602081525f610bcd60208301846148cc565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b5f60208284031215614967575f5ffd5b8151610bcd8161467e565b600181811c9082168061498657607f821691505b6020821081036149bd577f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b50919050565b601f8211156120bf57805f5260205f20601f840160051c810160208510156149e85750805b601f840160051c820191505b818110156108ff575f81556001016149f4565b815167ffffffffffffffff811115614a2157614a2161469f565b614a3581614a2f8454614972565b846149c3565b6020601f821160018114614a86575f8315614a505750848201515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600385901b1c1916600184901b1784556108ff565b5f848152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08516915b82811015614ad35787850151825560209485019460019092019101614ab3565b5084821015614b0f57868401517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600387901b60f8161c191681555b50505050600190811b01905550565b5f60208284031215614b2e575f5ffd5b5051919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b808201808211156111e4576111e4614b35565b6020815273ffffffffffffffffffffffffffffffffffffffff825116602082015273ffffffffffffffffffffffffffffffffffffffff60208301511660408201525f6040830151606080840152610edd60808401826148cc565b818103818111156111e4576111e4614b35565b5f60208284031215614bf2575f5ffd5b8151610bcd81614881565b80518015158114614c0c575f5ffd5b919050565b5f60208284031215614c21575f5ffd5b610bcd82614bfd565b5f60208284031215614c3a575f5ffd5b815161ffff81168114610bcd575f5ffd5b7fffffffff000000000000000000000000000000000000000000000000000000008516815273ffffffffffffffffffffffffffffffffffffffff8416602082015273ffffffffffffffffffffffffffffffffffffffff83166040820152608060608201525f614cbd60808301846148cc565b9695505050505050565b80517fffffffff0000000000000000000000000000000000000000000000000000000081168114614c0c575f5ffd5b5f614d036147fa84614744565b9050828152838383011115614d16575f5ffd5b8282602083015e5f602084830101529392505050565b5f5f5f5f60808587031215614d3f575f5ffd5b614d4885614cc7565b93506020850151614d588161467e565b6040860151909350614d698161467e565b606086015190925067ffffffffffffffff811115614d85575f5ffd5b8501601f81018713614d95575f5ffd5b614da487825160208401614cf6565b91505092959194509250565b5f60208284031215614dc0575f5ffd5b815167ffffffffffffffff811115614dd6575f5ffd5b820160608185031215614de7575f5ffd5b614def6146cc565b8151614dfa8161467e565b81526020820151614e0a8161467e565b6020820152604082015167ffffffffffffffff811115614e28575f5ffd5b80830192505084601f830112614e3c575f5ffd5b614e4b85835160208501614cf6565b6040820152949350505050565b67ffffffffffffffff81811683821601908111156111e4576111e4614b35565b80820281158282048414176111e4576111e4614b35565b5f82614ec2577f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b500490565b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203614ef757614ef7614b35565b5060010190565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f82518060208501845e5f920191825250919050565b805160208083015191908110156149bd577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60209190910360031b1b16919050565b5f60608201858352606060208401528085518083526080850191506020870192505f5b81811015614fda57835173ffffffffffffffffffffffffffffffffffffffff16835260209384019390920191600101614fa6565b505060409390930193909352509392505050565b5f6080828403128015614fff575f5ffd5b506040516080810167ffffffffffffffff811182821017156150235761502361469f565b60405282516150318161467e565b815260208301516150418161467e565b60208201526040838101519082015261505c60608401614bfd565b60608201529392505050565b5f6004841061509e577f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b83825260406020830152610edd60408301846148cc565b5f602082840312156150c5575f5ffd5b815167ffffffffffffffff8111156150db575f5ffd5b8201601f810184136150eb575f5ffd5b805167ffffffffffffffff8111156151055761510561469f565b8060051b615115602082016146f5565b91825260208184018101929081019087841115615130575f5ffd5b6020850194505b8385101561515e578451925061514c8361467e565b82825260209485019490910190615137565b979650505050505050565b73ffffffffffffffffffffffffffffffffffffffff85168152836020820152826040820152608060608201525f614cbd60808301846148cc565b73ffffffffffffffffffffffffffffffffffffffff8516815273ffffffffffffffffffffffffffffffffffffffff84166020820152826040820152608060608201525f614cbd60808301846148cc565b5f60208284031215615203575f5ffd5b610bcd82614cc756";
|
|
2306
|
+
"0x6080604052348015600e575f5ffd5b5060156019565b60bd565b7f59b501c3653afc186af7d48dda36cf6732bd21629a6295693664240a6ef520008054640100000000900460ff16156064576040516366008a2d60e01b815260040160405180910390fd5b805463ffffffff908116101560ba57805463ffffffff191663ffffffff90811782556040519081527fe9c9b456cb2994b80aeef036cf59d26e9617df80f816a6ee5a5b4166e07e2f5c9060200160405180910390a15b50565b61515f806100ca5f395ff3fe60806040526004361061016d575f3560e01c806379dda585116100c657806393b13cb71161007c578063a5a4103111610057578063a5a41031146103c9578063df9a9fe6146103dd578063e847abdd146103fc575f5ffd5b806393b13cb71461037557806395d600c81461039657806397fb7c1e146103aa575f5ffd5b80638120f0ba116100ac5780638120f0ba1461031657806383f3f0dc146103435780638c625b0614610362575f5ffd5b806379dda585146102ef5780637c9669ac14610303575f5ffd5b80635803909f11610126578063686f768411610101578063686f7684146102a957806369d5f38a146102bc578063706b8e09146102db575f5ffd5b80635803909f146102325780635becd24a14610251578063657e45e814610270575f5ffd5b806317c957091161015657806317c95709146101b9578063280a47c71461020d5780633e9491a214610220575f5ffd5b80630ef1be5f146101715780631278076a14610192575b5f5ffd5b34801561017c575f5ffd5b5061019061018b366004614527565b610410565b005b34801561019d575f5ffd5b506101a66104c5565b6040519081526020015b60405180910390f35b3480156101c4575f5ffd5b506101a66101d3366004614566565b5f9081527f4775a23600034fdd9f073b224f794d51a58b35ba663a9602623ba7a5c09cce00602052604090205467ffffffffffffffff1690565b61019061021b36600461457d565b61053a565b34801561022b575f5ffd5b50476101a6565b34801561023d575f5ffd5b506101a661024c366004614566565b610610565b34801561025c575f5ffd5b5061019061026b366004614566565b610688565b34801561027b575f5ffd5b5061028461076f565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101b0565b6101906102b7366004614787565b6107b3565b3480156102c7575f5ffd5b506101906102d6366004614566565b6107f7565b3480156102e6575f5ffd5b506101a6610906565b3480156102fa575f5ffd5b5061028461090f565b610190610311366004614566565b61094e565b348015610321575f5ffd5b5061032a610991565b60405167ffffffffffffffff90911681526020016101b0565b34801561034e575f5ffd5b5061019061035d3660046147e9565b61099a565b610190610370366004614804565b610a14565b348015610380575f5ffd5b50610389610a47565b6040516101b0919061486b565b3480156103a1575f5ffd5b506101a6610a51565b3480156103b5575f5ffd5b506101906103c4366004614566565b610a7a565b3480156103d4575f5ffd5b506101a6610b64565b3480156103e8575f5ffd5b506101906103f7366004614804565b610bd4565b348015610407575f5ffd5b50610284610cad565b610418610cec565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610483576040517f65f490650000000000000000000000000000000000000000000000000000000081523360048201526024015b60405180910390fd5b6104c182828080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92019190915250610dac92505050565b5050565b5f5f61051a6105157f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df01547f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df00540390565b610dd7565b9050805f0361052a575f91505090565b61053381610ee5565b5092915050565b3068929eee149b4bd2126854036105585763ab143c065f526004601cfd5b3068929eee149b4bd21268555f8360018111156105775761057761487d565b0361059a575f61058982840184614804565b905061059481610f12565b506105ff565b60018360018111156105ae576105ae61487d565b036105d6575f806105c183850185614787565b915091506105cf8282611005565b50506105ff565b6105ff7f3be019690000000000000000000000000000000000000000000000000000000061113c565b3868929eee149b4bd2126855505050565b5f5f610666836106617f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df01547f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df00540390565b611144565b9050805f0361067757505f92915050565b61068081610ee5565b509392505050565b610690610cec565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146106f6576040517f65f4906500000000000000000000000000000000000000000000000000000000815233600482015260240161047a565b5f61071f7fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb6035490565b9050801580159061072f57508082115b1561075d5761075d7fc3983b910000000000000000000000000000000000000000000000000000000061113c565b610766826111c2565b6104c182611266565b5f6107ae7fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb6045473ffffffffffffffffffffffffffffffffffffffff1690565b905090565b3068929eee149b4bd2126854036107d15763ab143c065f526004601cfd5b3068929eee149b4bd21268556107e78282611005565b3868929eee149b4bd21268555050565b6107ff610cec565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610865576040517f65f4906500000000000000000000000000000000000000000000000000000000815233600482015260240161047a565b7fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb608546040517f91b7f5ed0000000000000000000000000000000000000000000000000000000081526004810183905273ffffffffffffffffffffffffffffffffffffffff909116906391b7f5ed906024015f604051808303815f87803b1580156108ed575f5ffd5b505af11580156108ff573d5f5f3e3d5ffd5b5050505050565b5f6107ae611324565b5f6107ae7fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb6065473ffffffffffffffffffffffffffffffffffffffff1690565b3068929eee149b4bd21268540361096c5763ab143c065f526004601cfd5b3068929eee149b4bd212685561098233826113ef565b3868929eee149b4bd212685550565b5f6107ae6115e5565b6109a2610cec565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610a08576040517f65f4906500000000000000000000000000000000000000000000000000000000815233600482015260240161047a565b610a11816116a8565b50565b3068929eee149b4bd212685403610a325763ab143c065f526004601cfd5b3068929eee149b4bd212685561098281610f12565b60606107ae611723565b5f6107ae7fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb6035490565b610a82610cec565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610ae8576040517f65f4906500000000000000000000000000000000000000000000000000000000815233600482015260240161047a565b610b3c81610b377f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df01547f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df00540390565b6117d5565b610a11817fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb60355565b5f5f610bb46105157f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df01547f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df00540390565b9050805f03610bc4575f91505090565b610bcd81610ee5565b9392505050565b610bdc610cec565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610c42576040517f65f4906500000000000000000000000000000000000000000000000000000000815233600482015260240161047a565b610c4b81611806565b7fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb60880547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff831617905550565b5f6107ae7fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb6085473ffffffffffffffffffffffffffffffffffffffff1690565b5f807fd2f24d4f172e4e84e48e7c4125b6e904c29e5eba33ad4938fee51dd5dbd4b600805460018201546040517f6352211e000000000000000000000000000000000000000000000000000000008152600481019190915291925073ffffffffffffffffffffffffffffffffffffffff1690636352211e90602401602060405180830381865afa158015610d82573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610da691906148aa565b91505090565b7fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb60c6104c1828261495a565b5f5f610e177fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb6085473ffffffffffffffffffffffffffffffffffffffff1690565b905073ffffffffffffffffffffffffffffffffffffffff8116610e3c57505f92915050565b5f610e45611324565b6040517f5cf4ee91000000000000000000000000000000000000000000000000000000008152600481018290526024810186905290915073ffffffffffffffffffffffffffffffffffffffff831690635cf4ee91906044015b602060405180830381865afa158015610eb9573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610edd9190614a71565b949350505050565b5f5f610ef08361193f565b9050825f03610f0157809150915091565b610f0b8184614ab5565b9150915091565b610f1b81611a58565b5f610f24611b4e565b905080604001518015610f3a5750806020015134105b15610f6857610f687fb1296a8a0000000000000000000000000000000000000000000000000000000061113c565b5f610fac83610fa77f8c625b06d047a4c1ca46cdab06b7e14ce79b486f06c67a1b220fa942669ca49b338760405180602001604052805f815250611c14565b611c46565b90505f5f610fc08533858760200151611ddb565b91509150806108ff578115610ffb57836040015115610fe357610fe38385611e56565b610fed8386611fb3565b610ff68561203e565b6108ff565b6108ff838661214d565b61100e82611a58565b5f611017611b4e565b90508060400151801561102d5750806020015134105b1561105b5761105b7fb1296a8a0000000000000000000000000000000000000000000000000000000061113c565b61106583836121a4565b5f826040516020016110779190614ac8565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081840301815291905290507f686f7684000000000000000000000000000000000000000000000000000000005f6110d986610fa784338388611c14565b90505f5f6110ed8833858960200151611ddb565b915091508061113257811561112857856040015115611110576111108387612229565b61111a8389611fb3565b6111238861203e565b611132565b611132838961214d565b5050505050505050565b805f5260045ffd5b5f8281527fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb60960205260408120547fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb600908261119d85610dd7565b9050815f036111b05792506111bc915050565b81811890821102189150505b92915050565b6111ca61090f565b73ffffffffffffffffffffffffffffffffffffffff16632cbb9d136040518163ffffffff1660e01b8152600401602060405180830381865afa158015611212573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112369190614a71565b811115610a1157610a117fc3983b910000000000000000000000000000000000000000000000000000000061113c565b7fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb60d80547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790557fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb6078190556040517fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb6009082907fab14a23e88fb272313490d4f20d63098e64fd38304c0e07a377db98c2b39b92f905f90a25050565b7fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb60d545f907fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb6009060ff161561137b5760070154919050565b61138361090f565b73ffffffffffffffffffffffffffffffffffffffff16632cbb9d136040518163ffffffff1660e01b8152600401602060405180830381865afa1580156113cb573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610da69190614a71565b5f6113f9826123de565b905073ffffffffffffffffffffffffffffffffffffffff811661143f5761143f7f5fbd57170000000000000000000000000000000000000000000000000000000061113c565b5f6114486115e5565b67ffffffffffffffff1690505f6114a4846106617f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df01547f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df00540390565b9050805f03611500576114f66114ee7fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb6045473ffffffffffffffffffffffffffffffffffffffff1690565b3087346123e9565b6108ff8483612441565b5f61150a82610ee5565b5090503481111561153e5761153e7f34a7a93d0000000000000000000000000000000000000000000000000000000061113c565b5f611549878461256f565b90505f6115568284614b22565b9050801561156a576115688882612637565b505b5f6115758434614b22565b905080156115c6576115c66115be7fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb6045473ffffffffffffffffffffffffffffffffffffffff1690565b308b846123e9565b6115d087856127ad565b6115da8887612441565b505050505050505050565b7fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb6065474010000000000000000000000000000000000000000900467ffffffffffffffff165f8190036116a55761163961090f565b73ffffffffffffffffffffffffffffffffffffffff16638120f0ba6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611681573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107ae9190614b35565b90565b6116b181612804565b7fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb606805467ffffffffffffffff90921674010000000000000000000000000000000000000000027fffffffff0000000000000000ffffffffffffffffffffffffffffffffffffffff909216919091179055565b60607fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb600600c018054611754906148c5565b80601f0160208091040260200160405190810160405280929190818152602001828054611780906148c5565b80156117cb5780601f106117a2576101008083540402835291602001916117cb565b820191905f5260205f20905b8154815290600101906020018083116117ae57829003601f168201915b5050505050905090565b808210156104c1576104c17fccc9aa2e0000000000000000000000000000000000000000000000000000000061113c565b73ffffffffffffffffffffffffffffffffffffffff811661184a5761184a7f0e88bf4b0000000000000000000000000000000000000000000000000000000061113c565b7fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb6065473ffffffffffffffffffffffffffffffffffffffff166040517f8df80bd600000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff83811660048301529190911690638df80bd690602401602060405180830381865afa1580156118ee573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119129190614b64565b610a1157610a117f0e88bf4b0000000000000000000000000000000000000000000000000000000061113c565b5f5f61194961090f565b90505f8173ffffffffffffffffffffffffffffffffffffffff16630eac306d6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611995573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119b99190614a71565b9050835f036119c9579392505050565b5f611a44858473ffffffffffffffffffffffffffffffffffffffff16639f6542aa6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611a17573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611a3b9190614b7d565b61ffff166128fa565b905081811082821802811895945050505050565b73ffffffffffffffffffffffffffffffffffffffff8116611a9c57611a9c7f5fbd57170000000000000000000000000000000000000000000000000000000061113c565b5f611ac57fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb6035490565b90508015801590611b20575080611b1d7f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df01547f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df00540390565b10155b156104c1576104c17f7efcdb490000000000000000000000000000000000000000000000000000000061113c565b611b7160405180606001604052805f81526020015f81526020015f151581525090565b5f611bbd7f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df01547f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df00540390565b90505f611bc982610dd7565b90505f611bd4611324565b9050815f03611be35750505090565b81845282811115611bf45750505090565b5f611bfe83610ee5565b5060016040870152602086015250929392505050565b606084848484604051602001611c2d9493929190614b9e565b6040516020818303038152906040529050949350505050565b6040517fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606084901b1660208201524360348201525f908190605401604051602081830303815290604052805190602001209050611d2581611cf98387611cac86612946565b6040805160208082019590955273ffffffffffffffffffffffffffffffffffffffff9390931683820152606080840192909252805180840390920182526080909201909152805191012090565b604080516020808201949094528082019290925280518083038201815260609092019052805191012090565b5f8181527f34516f6fe09a043d57f1ff579a303a7ae85314751c77b4eb1a55837604a86e026020526040812080549294507f34516f6fe09a043d57f1ff579a303a7ae85314751c77b4eb1a55837604a86e00929091908290611d86906148c5565b90501115611db757611db77ff82e65c30000000000000000000000000000000000000000000000000000000061113c565b80611dc2868261495a565b503415611dd257611dd28461298c565b50505092915050565b5f5f5f611e1c6040518060400160405280600981526020017f4a6f696e537061636500000000000000000000000000000000000000000000008152506129f3565b9050611e288188612b8b565b15611e3a5760015f9250925050611e4d565b611e478188888888612da6565b92509250505b94509492505050565b5f5f5f611e6285612f33565b8054611e6d906148c5565b80601f0160208091040260200160405190810160405280929190818152602001828054611e99906148c5565b8015611ee45780601f10611ebb57610100808354040283529160200191611ee4565b820191905f5260205f20905b815481529060010190602001808311611ec757829003601f168201915b5050505050806020019051810190611efc9190614c7f565b50919450925090507fffffffff0000000000000000000000000000000000000000000000000000000083167f8c625b060000000000000000000000000000000000000000000000000000000014611f7657611f767fda6153bd0000000000000000000000000000000000000000000000000000000061113c565b5f611f8483865f015161256f565b90505f818660200151611f979190614b22565b9050611faa878585896020015185612f86565b50505050505050565b5f8281527f34516f6fe09a043d57f1ff579a303a7ae85314751c77b4eb1a55837604a86e016020526040902054801561203957611ff08382612fb5565b6120396120317fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb6045473ffffffffffffffffffffffffffffffffffffffff1690565b3084846123e9565b505050565b5f6120677f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df005490565b90506120eb816120bb6105157f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df01547f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df00540390565b5f9182527fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb609602052604090912055565b6120f682600161301d565b612107816121026115e5565b612441565b604051819073ffffffffffffffffffffffffffffffffffffffff8416907f2f40b0474996b72a4251e00fb9170cdd960deea1dc749772cbbab61395b9b576905f90a35050565b61215682613036565b6121608282611fb3565b60405173ffffffffffffffffffffffffffffffffffffffff8216907f86fd446d5c04e892d58b448a924dcd9c3ece3a5e0d2960b8c35cd475a5595a1f905f90a25050565b8173ffffffffffffffffffffffffffffffffffffffff16816020015173ffffffffffffffffffffffffffffffffffffffff1614806121fb5750602081015173ffffffffffffffffffffffffffffffffffffffff1633145b156104c1576104c17f5fbd57170000000000000000000000000000000000000000000000000000000061113c565b5f5f5f5f61223686612f33565b8054612241906148c5565b80601f016020809104026020016040519081016040528092919081815260200182805461226d906148c5565b80156122b85780601f1061228f576101008083540402835291602001916122b8565b820191905f5260205f20905b81548152906001019060200180831161229b57829003601f168201915b50505050508060200190518101906122d09190614c7f565b929650909450925090507fffffffff0000000000000000000000000000000000000000000000000000000084167f686f7684000000000000000000000000000000000000000000000000000000001461234c5761234c7fda6153bd0000000000000000000000000000000000000000000000000000000061113c565b5f818060200190518101906123619190614d03565b90505f5f61237286895f015161256f565b90505f61238687855f01518b5f015161308e565b90505f6123a088866020015187604001518d5f01516131f3565b90508082848c602001516123b49190614b22565b6123be9190614b22565b6123c89190614b22565b93505050506111328886868a6020015185612f86565b5f6111bc8183613375565b801561243b5773ffffffffffffffffffffffffffffffffffffffff841673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee146124315761242c84848484613380565b61243b565b61243b8282613414565b50505050565b5f8281527f4775a23600034fdd9f073b224f794d51a58b35ba663a9602623ba7a5c09cce00602081905260409091205467ffffffffffffffff16801580159061248757505f5b156124c1576040517ff7d2131a0000000000000000000000000000000000000000000000000000000081526004810185905260240161047a565b5f428267ffffffffffffffff1611156124e5576124de8483614dab565b90506124f2565b6124ef8442614dab565b90505b5f858152602084815260409182902080547fffffffffffffffffffffffffffffffffffffffffffffffff00000000000000001667ffffffffffffffff8516908117909155915191825286917f2ec2be2c4b90c2cf13ecb6751a24daed6bb741ae5ed3f7371aabf9402f6d62e8910160405180910390a25050505050565b5f6125798261193f565b90506111bc6125bc7fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb6045473ffffffffffffffffffffffffffffffffffffffff1690565b846125c561090f565b73ffffffffffffffffffffffffffffffffffffffff16634ccb20c06040518163ffffffff1660e01b8152600401602060405180830381865afa15801561260d573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061263191906148aa565b846123e9565b5f7fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb600816126987fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb6045473ffffffffffffffffffffffffffffffffffffffff1690565b90507fffffffffffffffffffffffff111111111111111111111111111111111111111273ffffffffffffffffffffffffffffffffffffffff8216016126fa578382600a015f8282546126ea9190614ab5565b909155508493506111bc92505050565b5f61271b73ffffffffffffffffffffffffffffffffffffffff831630613434565b905061272982873088613380565b5f61274a73ffffffffffffffffffffffffffffffffffffffff841630613434565b90505f6127578383614b22565b9050868114612789576127897fb1296a8a0000000000000000000000000000000000000000000000000000000061113c565b8085600a015f82825461279c9190614ab5565b909155509098975050505050505050565b5f6127b6613467565b90505f6127e5825f856040516020016127d191815260200190565b60405160208183030381529060405261353a565b90506127f2828583613590565b61243b826127fe610cec565b83613590565b5f61280d61090f565b73ffffffffffffffffffffffffffffffffffffffff16638120f0ba6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612855573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906128799190614b35565b67ffffffffffffffff1690508167ffffffffffffffff165f036128bf576128bf7f82323d2e0000000000000000000000000000000000000000000000000000000061113c565b808267ffffffffffffffff1611156104c1576104c17f82323d2e0000000000000000000000000000000000000000000000000000000061113c565b5f61271082111561292f5761292f7f197f1962000000000000000000000000000000000000000000000000000000008361360f565b61271061293c8385614dcb565b610bcd9190614de2565b5f8181527f34516f6fe09a043d57f1ff579a303a7ae85314751c77b4eb1a55837604a86e006020819052604082208054908361298183614e1a565b909155509392505050565b5f8181527f34516f6fe09a043d57f1ff579a303a7ae85314751c77b4eb1a55837604a86e016020526040812080547f34516f6fe09a043d57f1ff579a303a7ae85314751c77b4eb1a55837604a86e00923492916129ea908490614ab5565b90915550505050565b60605f6129fe61361b565b80519091505f8167ffffffffffffffff811115612a1d57612a1d6145f2565b604051908082528060200260200182016040528015612a8057816020015b612a6d6040518060a001604052805f8152602001606081526020015f1515815260200160608152602001606081525090565b815260200190600190039081612a3b5790505b50855160208701209091505f90815b84811015612b7f575f5f5f5f612abd8a8681518110612ab057612ab0614e51565b6020026020010151613646565b93509350935093505f5b8251811015612b6f5786838281518110612ae357612ae3614e51565b60200260200101518051906020012003612b67576040518060a001604052808c8881518110612b1457612b14614e51565b60200260200101518152602001868152602001851515815260200184815260200183815250898981518110612b4b57612b4b614e51565b602002602001018190525087612b6090614e1a565b9750612b6f565b600101612ac7565b5050505050806001019050612a8f565b50508152949350505050565b5f5f612b9683613732565b90505f5b8451811015612d9c57848181518110612bb557612bb5614e51565b602002602001015160400151612d94575f5b858281518110612bd957612bd9614e51565b60200260200101516080015151811015612d92575f868381518110612c0057612c00614e51565b6020026020010151608001518281518110612c1d57612c1d614e51565b602002602001015190508073ffffffffffffffffffffffffffffffffffffffff16632e1b61e46040518163ffffffff1660e01b8152600401602060405180830381865afa158015612c70573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612c949190614b64565b158015612d7757508073ffffffffffffffffffffffffffffffffffffffff16630cf0b5335f5f1b866040518060400160405280600981526020017f4a6f696e53706163650000000000000000000000000000000000000000000000815250604051602001612d029190614e7e565b604051602081830303815290604052612d1a90614e94565b6040518463ffffffff1660e01b8152600401612d3893929190614ed6565b602060405180830381865afa158015612d53573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612d779190614b64565b15612d895760019450505050506111bc565b50600101612bc7565b505b600101612b9a565b505f949350505050565b5f8080805b8851811015612f2457888181518110612dc657612dc6614e51565b602002602001015160400151612f1c575f5b898281518110612dea57612dea614e51565b60200260200101516080015151811015612f1a575f8a8381518110612e1157612e11614e51565b6020026020010151608001518281518110612e2e57612e2e614e51565b602002602001015190508073ffffffffffffffffffffffffffffffffffffffff16632e1b61e46040518163ffffffff1660e01b8152600401602060405180830381865afa158015612e81573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612ea59190614b64565b15612f115783612ee257612ed98a8a8a848f8881518110612ec857612ec8614e51565b60200260200101515f01518c6139a6565b60019350612f0c565b612f0c8a8a8a848f8881518110612efb57612efb614e51565b60200260200101515f01515f6139a6565b600194505b50600101612dd8565b505b600101612dab565b505f9250509550959350505050565b5f8181527f34516f6fe09a043d57f1ff579a303a7ae85314751c77b4eb1a55837604a86e02602052604081207f34516f6fe09a043d57f1ff579a303a7ae85314751c77b4eb1a55837604a86e0090610bcd565b8015612f9857612f968482612637565b505b612fa28583612fb5565b612fab85613036565b6108ff83836127ad565b5f8281527f34516f6fe09a043d57f1ff579a303a7ae85314751c77b4eb1a55837604a86e016020526040812080547f34516f6fe09a043d57f1ff579a303a7ae85314751c77b4eb1a55837604a86e0092849291613013908490614b22565b9091555050505050565b6104c1828260405180602001604052805f815250613a96565b5f8181527f34516f6fe09a043d57f1ff579a303a7ae85314751c77b4eb1a55837604a86e02602052604090207f34516f6fe09a043d57f1ff579a303a7ae85314751c77b4eb1a55837604a86e00906104c1905f614498565b5f73ffffffffffffffffffffffffffffffffffffffff83166130b157505f610bcd565b5f6130f07fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb6065473ffffffffffffffffffffffffffffffffffffffff1690565b6040517f5cb4f54800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff86811660048301529190911690635cb4f54890602401608060405180830381865afa15801561315c573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906131809190614f41565b905080604001515f03613196575f915050610bcd565b6131a48382604001516128fa565b91506106806131e77fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb6045473ffffffffffffffffffffffffffffffffffffffff1690565b868360200151856123e9565b5f82515f146132a3575f61320684613b5e565b604081015190915073ffffffffffffffffffffffffffffffffffffffff16158061323257506020810151155b15613240575f915050610edd565b61324e8382602001516128fa565b915061329d6132917fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb6045473ffffffffffffffffffffffffffffffffffffffff1690565b878360400151856123e9565b50610edd565b73ffffffffffffffffffffffffffffffffffffffff841615610edd578473ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16036132f957505f610edd565b61332a826133257faca21cc4d2a125f3e0ae03aa135d42b2b9177631aca87599d42a68b47e9008015490565b6128fa565b9050610edd61336d7fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb6045473ffffffffffffffffffffffffffffffffffffffff1690565b8686846123e9565b5f610bcd8383613c06565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16031561243b5773ffffffffffffffffffffffffffffffffffffffff831630146133f35761242c73ffffffffffffffffffffffffffffffffffffffff8516848484613d41565b61243b73ffffffffffffffffffffffffffffffffffffffff85168383613da3565b6104c173ffffffffffffffffffffffffffffffffffffffff831682613df6565b5f816014526f70a082310000000000000000000000005f5260208060246010865afa601f3d111660205102905092915050565b5f7fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb600600601546040517f44ab66800000000000000000000000000000000000000000000000000000000081527f526976657241697264726f700000000000000000000000000000000000000000600482015273ffffffffffffffffffffffffffffffffffffffff909116906344ab668090602401602060405180830381865afa158015613516573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107ae91906148aa565b6040517fdc69fdde0000000000000000000000000000000000000000000000000000000081525f9073ffffffffffffffffffffffffffffffffffffffff85169063dc69fdde90610e9e9086908690600401614fbb565b6040517f40c10f1900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8381166004830152602482018390528416906340c10f19906044015f604051808303815f87803b1580156135fd575f5ffd5b505af1158015611faa573d5f5f3e3d5ffd5b815f528060045260245ffd5b60606107ae7f672ef851d5f92307da037116e23aa9e31af7e1f7e3ca62c4e6d540631df3fd01613e0f565b5f8181527f672ef851d5f92307da037116e23aa9e31af7e1f7e3ca62c4e6d540631df3fd036020526040812080546060929183918291908190613688906148c5565b80601f01602080910402602001604051908101604052809291908181526020018280546136b4906148c5565b80156136ff5780601f106136d6576101008083540402835291602001916136ff565b820191905f5260205f20905b8154815290600101906020018083116136e257829003601f168201915b5050505060018301549196505060ff16935061371d60028201613e1b565b925061372881613ef2565b9150509193509193565b60605f7fc21004fcc619240a31f006438274d15cd813308303284436eef6055f0fdcb600600601546040517f02345b9800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff858116600483015290911691505f9082906302345b98906024015f60405180830381865afa1580156137c9573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820160405261380e9190810190615008565b905080515f0361397f576040517ff821039800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85811660048301525f919084169063f821039890602401602060405180830381865afa158015613885573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906138a991906148aa565b905073ffffffffffffffffffffffffffffffffffffffff81161561397d576040517f02345b9800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff808316600483015291955085918416906302345b98906024015f60405180830381865afa158015613935573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820160405261397a9190810190615008565b91505b505b61398881613f01565b92506001835101835283604051526020604051016040525050919050565b6139b1868483613f0f565b5f7f9075c515a635ba70c9696f31149324218d75cf00afe836c482e6473f38b19e005f8681526001828101602052604090912080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016909117815560030180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8716179055905080546040805173ffffffffffffffffffffffffffffffffffffffff8981166020830152611faa9316918a9189918891889101604051602081830303815290604052613fc8565b613aa083836140e9565b73ffffffffffffffffffffffffffffffffffffffff83163b15612039577f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df00548281035b613af55f86838060010194508661429e565b613b2b576040517fd1a57ed600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b818110613ae357817f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df0054146108ff575f5ffd5b613b966040518060600160405280606081526020015f81526020015f73ffffffffffffffffffffffffffffffffffffffff1681525090565b5080516020808301919091205f9081527faca21cc4d2a125f3e0ae03aa135d42b2b9177631aca87599d42a68b47e9008028252604090819020815160608101835293845280549284019290925260019091015473ffffffffffffffffffffffffffffffffffffffff169082015290565b5f818311613d0f57505f8181527f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df046020526040812054907f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df00907c010000000000000000000000000000000000000000000000000000000083169003613d0d57815f03613d075780548310613cc6576040517fdf2d9b4200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9092015f81815260048401602052604090205490929091508115613cc7575b506111bc565b505b6040517fdf2d9b4200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60405181606052826040528360601b602c526f23b872dd000000000000000000000000600c5260205f6064601c5f895af18060015f511416613d9557803d873b151710613d9557637939f4245f526004601cfd5b505f60605260405250505050565b81601452806034526fa9059cbb0000000000000000000000005f5260205f604460105f875af18060015f511416613dec57803d853b151710613dec576390b8ec185f526004601cfd5b505f603452505050565b5f385f3884865af16104c15763b12d13eb5f526004601cfd5b60605f610bcd83614410565b6060815f01805480602002602001604051908101604052809291908181526020015f905b82821015613ee7578382905f5260205f20018054613e5c906148c5565b80601f0160208091040260200160405190810160405280929190818152602001828054613e88906148c5565b8015613ed35780601f10613eaa57610100808354040283529160200191613ed3565b820191905f5260205f20905b815481529060010190602001808311613eb657829003601f168201915b505050505081526020019060010190613e3f565b505050509050919050565b60605f610bcd83600401613e0f565b60606111bc6116a583614469565b34811115613f4057613f407ff4e95a410000000000000000000000000000000000000000000000000000000061113c565b73ffffffffffffffffffffffffffffffffffffffff8316613f8457613f847f99ef03880000000000000000000000000000000000000000000000000000000061113c565b73ffffffffffffffffffffffffffffffffffffffff8216612039576120397f4bb7c2050000000000000000000000000000000000000000000000000000000061113c565b811561405b576040517f21be050a00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8716906321be050a9084906140289089908990899088906004016150bc565b5f604051808303818588803b15801561403f575f5ffd5b505af1158015614051573d5f5f3e3d5ffd5b50505050506140e1565b6040517f21be050a00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8716906321be050a906140b39088908890889087906004016150bc565b5f604051808303815f87803b1580156140ca575f5ffd5b505af11580156140dc573d5f5f3e3d5ffd5b505050505b505050505050565b7f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df00545f829003614145576040517fb562e8dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff83165f8181527f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df056020908152604080832080546801000000000000000188020190558483527f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df0490915281206001851460e11b4260a01b178317905582840190839083907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8180a4600183015b81811461423c5780835f7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef5f5fa4600101614206565b50815f03614276576040517f2e07630000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7f6569bde4a160c636ea8b8d11acb83a60d7fec0b8f2e09389306cba0e1340df005550505050565b6040517f150b7a020000000000000000000000000000000000000000000000000000000081525f9073ffffffffffffffffffffffffffffffffffffffff85169063150b7a02906142f89033908990889088906004016150f6565b6020604051808303815f875af1925050508015614350575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016820190925261434d91810190615146565b60015b6143c5573d80801561437d576040519150601f19603f3d011682016040523d82523d5f602084013e614382565b606091505b5080515f036143bd576040517fd1a57ed600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b805181602001fd5b7fffffffff00000000000000000000000000000000000000000000000000000000167f150b7a0200000000000000000000000000000000000000000000000000000000149050610edd565b6060815f0180548060200260200160405190810160405280929190818152602001828054801561445d57602002820191905f5260205f20905b815481526020019060010190808311614449575b50505050509050919050565b604051815160051b8101602001818084035b80820151825281602001915082820361447b575060405250919050565b5080546144a4906148c5565b5f825580601f106144b3575050565b601f0160209004905f5260205f2090810190610a1191905b808211156144de575f81556001016144cb565b5090565b5f5f83601f8401126144f2575f5ffd5b50813567ffffffffffffffff811115614509575f5ffd5b602083019150836020828501011115614520575f5ffd5b9250929050565b5f5f60208385031215614538575f5ffd5b823567ffffffffffffffff81111561454e575f5ffd5b61455a858286016144e2565b90969095509350505050565b5f60208284031215614576575f5ffd5b5035919050565b5f5f5f6040848603121561458f575f5ffd5b83356002811061459d575f5ffd5b9250602084013567ffffffffffffffff8111156145b8575f5ffd5b6145c4868287016144e2565b9497909650939450505050565b73ffffffffffffffffffffffffffffffffffffffff81168114610a11575f5ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6040516060810167ffffffffffffffff81118282101715614642576146426145f2565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff8111828210171561468f5761468f6145f2565b604052919050565b5f67ffffffffffffffff8211156146b0576146b06145f2565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b5f606082840312156146ec575f5ffd5b6146f461461f565b90508135614701816145d1565b81526020820135614711816145d1565b6020820152604082013567ffffffffffffffff81111561472f575f5ffd5b8201601f8101841361473f575f5ffd5b803561475261474d82614697565b614648565b818152856020838501011115614766575f5ffd5b816020840160208301375f6020838301015280604085015250505092915050565b5f5f60408385031215614798575f5ffd5b82356147a3816145d1565b9150602083013567ffffffffffffffff8111156147be575f5ffd5b6147ca858286016146dc565b9150509250929050565b67ffffffffffffffff81168114610a11575f5ffd5b5f602082840312156147f9575f5ffd5b8135610bcd816147d4565b5f60208284031215614814575f5ffd5b8135610bcd816145d1565b5f81518084528060208401602086015e5f6020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b602081525f610bcd602083018461481f565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b5f602082840312156148ba575f5ffd5b8151610bcd816145d1565b600181811c908216806148d957607f821691505b602082108103614910577f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b50919050565b601f82111561203957805f5260205f20601f840160051c8101602085101561493b5750805b601f840160051c820191505b818110156108ff575f8155600101614947565b815167ffffffffffffffff811115614974576149746145f2565b6149888161498284546148c5565b84614916565b6020601f8211600181146149d9575f83156149a35750848201515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600385901b1c1916600184901b1784556108ff565b5f848152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08516915b82811015614a265787850151825560209485019460019092019101614a06565b5084821015614a6257868401517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600387901b60f8161c191681555b50505050600190811b01905550565b5f60208284031215614a81575f5ffd5b5051919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b808201808211156111bc576111bc614a88565b6020815273ffffffffffffffffffffffffffffffffffffffff825116602082015273ffffffffffffffffffffffffffffffffffffffff60208301511660408201525f6040830151606080840152610edd608084018261481f565b818103818111156111bc576111bc614a88565b5f60208284031215614b45575f5ffd5b8151610bcd816147d4565b80518015158114614b5f575f5ffd5b919050565b5f60208284031215614b74575f5ffd5b610bcd82614b50565b5f60208284031215614b8d575f5ffd5b815161ffff81168114610bcd575f5ffd5b7fffffffff000000000000000000000000000000000000000000000000000000008516815273ffffffffffffffffffffffffffffffffffffffff8416602082015273ffffffffffffffffffffffffffffffffffffffff83166040820152608060608201525f614c10608083018461481f565b9695505050505050565b80517fffffffff0000000000000000000000000000000000000000000000000000000081168114614b5f575f5ffd5b5f614c5661474d84614697565b9050828152838383011115614c69575f5ffd5b8282602083015e5f602084830101529392505050565b5f5f5f5f60808587031215614c92575f5ffd5b614c9b85614c1a565b93506020850151614cab816145d1565b6040860151909350614cbc816145d1565b606086015190925067ffffffffffffffff811115614cd8575f5ffd5b8501601f81018713614ce8575f5ffd5b614cf787825160208401614c49565b91505092959194509250565b5f60208284031215614d13575f5ffd5b815167ffffffffffffffff811115614d29575f5ffd5b820160608185031215614d3a575f5ffd5b614d4261461f565b8151614d4d816145d1565b81526020820151614d5d816145d1565b6020820152604082015167ffffffffffffffff811115614d7b575f5ffd5b80830192505084601f830112614d8f575f5ffd5b614d9e85835160208501614c49565b6040820152949350505050565b67ffffffffffffffff81811683821601908111156111bc576111bc614a88565b80820281158282048414176111bc576111bc614a88565b5f82614e15577f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b500490565b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203614e4a57614e4a614a88565b5060010190565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f82518060208501845e5f920191825250919050565b80516020808301519190811015614910577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60209190910360031b1b16919050565b5f60608201858352606060208401528085518083526080850191506020870192505f5b81811015614f2d57835173ffffffffffffffffffffffffffffffffffffffff16835260209384019390920191600101614ef9565b505060409390930193909352509392505050565b5f6080828403128015614f52575f5ffd5b506040516080810167ffffffffffffffff81118282101715614f7657614f766145f2565b6040528251614f84816145d1565b81526020830151614f94816145d1565b602082015260408381015190820152614faf60608401614b50565b60608201529392505050565b5f60048410614ff1577f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b83825260406020830152610edd604083018461481f565b5f60208284031215615018575f5ffd5b815167ffffffffffffffff81111561502e575f5ffd5b8201601f8101841361503e575f5ffd5b805167ffffffffffffffff811115615058576150586145f2565b8060051b61506860208201614648565b91825260208184018101929081019087841115615083575f5ffd5b6020850194505b838510156150b1578451925061509f836145d1565b8282526020948501949091019061508a565b979650505050505050565b73ffffffffffffffffffffffffffffffffffffffff85168152836020820152826040820152608060608201525f614c10608083018461481f565b73ffffffffffffffffffffffffffffffffffffffff8516815273ffffffffffffffffffffffffffffffffffffffff84166020820152826040820152608060608201525f614c10608083018461481f565b5f60208284031215615156575f5ffd5b610bcd82614c1a56";
|
|
2385
2307
|
|
|
2386
2308
|
type MembershipFacetConstructorParams =
|
|
2387
2309
|
| [signer?: Signer]
|
|
@@ -60,7 +60,6 @@ export { NodeRegistry__factory } from "./NodeRegistry__factory";
|
|
|
60
60
|
export { OperatorRegistry__factory } from "./OperatorRegistry__factory";
|
|
61
61
|
export { OwnableFacet__factory } from "./OwnableFacet__factory";
|
|
62
62
|
export { PlatformRequirementsFacet__factory } from "./PlatformRequirementsFacet__factory";
|
|
63
|
-
export { PrepayFacet__factory } from "./PrepayFacet__factory";
|
|
64
63
|
export { RewardsDistributionV2__factory } from "./RewardsDistributionV2__factory";
|
|
65
64
|
export { Roles__factory } from "./Roles__factory";
|
|
66
65
|
export { SpaceOwner__factory } from "./SpaceOwner__factory";
|
package/dev/typings/index.ts
CHANGED
|
@@ -64,7 +64,6 @@ export type { NodeRegistry } from "./NodeRegistry";
|
|
|
64
64
|
export type { OperatorRegistry } from "./OperatorRegistry";
|
|
65
65
|
export type { OwnableFacet } from "./OwnableFacet";
|
|
66
66
|
export type { PlatformRequirementsFacet } from "./PlatformRequirementsFacet";
|
|
67
|
-
export type { PrepayFacet } from "./PrepayFacet";
|
|
68
67
|
export type { RewardsDistributionV2 } from "./RewardsDistributionV2";
|
|
69
68
|
export type { Roles } from "./Roles";
|
|
70
69
|
export type { SpaceOwner } from "./SpaceOwner";
|
|
@@ -138,7 +137,6 @@ export { NodeRegistry__factory } from "./factories/NodeRegistry__factory";
|
|
|
138
137
|
export { OperatorRegistry__factory } from "./factories/OperatorRegistry__factory";
|
|
139
138
|
export { OwnableFacet__factory } from "./factories/OwnableFacet__factory";
|
|
140
139
|
export { PlatformRequirementsFacet__factory } from "./factories/PlatformRequirementsFacet__factory";
|
|
141
|
-
export { PrepayFacet__factory } from "./factories/PrepayFacet__factory";
|
|
142
140
|
export { RewardsDistributionV2__factory } from "./factories/RewardsDistributionV2__factory";
|
|
143
141
|
export { Roles__factory } from "./factories/Roles__factory";
|
|
144
142
|
export { SpaceOwner__factory } from "./factories/SpaceOwner__factory";
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@towns-protocol/generated",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.442",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"scripts": {
|
|
6
6
|
"build": "bun ./scripts/prepare.js",
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
"ethers": "^5.8.0"
|
|
14
14
|
},
|
|
15
15
|
"devDependencies": {
|
|
16
|
-
"@towns-protocol/contracts": "^0.0.
|
|
16
|
+
"@towns-protocol/contracts": "^0.0.442",
|
|
17
17
|
"@typechain/ethers-v5": "^11.1.2",
|
|
18
18
|
"typechain": "^8.3.2"
|
|
19
19
|
},
|
|
@@ -34,5 +34,5 @@
|
|
|
34
34
|
"publishConfig": {
|
|
35
35
|
"access": "public"
|
|
36
36
|
},
|
|
37
|
-
"gitHead": "
|
|
37
|
+
"gitHead": "d2e07ef0deb899067d0d1a47e30c4edd5bb22547"
|
|
38
38
|
}
|
|
@@ -11,7 +11,7 @@ TYPINGS_DIR="./dev/typings"
|
|
|
11
11
|
# Run forge build in contracts directory (needs foundry.toml)
|
|
12
12
|
(cd "$CONTRACTS_DIR" && forge build)
|
|
13
13
|
|
|
14
|
-
CONTRACT_INTERFACES="(IDiamond|IDiamondCut|IArchitect|Architect|ILegacyArchitect|MockLegacyArchitect|IProxyManager|IPausable|IEntitlementsManager|EntitlementsManager|IChannel|Channels|IRoles|Roles|IMulticall|IRuleEntitlement|IRuleEntitlementV2|IWalletLink|WalletLink|INodeRegistry|NodeRegistry|IOperatorRegistry|OperatorRegistry|IStreamRegistry|StreamRegistry|OwnableFacet|TokenPausableFacet|UserEntitlement|SpaceOwner|MockERC721A|MembershipFacet|IMembershipMetadata|Member|IBanning|IPricingModules|ICrossChainEntitlement|MockEntitlementGated|
|
|
14
|
+
CONTRACT_INTERFACES="(IDiamond|IDiamondCut|IArchitect|Architect|ILegacyArchitect|MockLegacyArchitect|IProxyManager|IPausable|IEntitlementsManager|EntitlementsManager|IChannel|Channels|IRoles|Roles|IMulticall|IRuleEntitlement|IRuleEntitlementV2|IWalletLink|WalletLink|INodeRegistry|NodeRegistry|IOperatorRegistry|OperatorRegistry|IStreamRegistry|StreamRegistry|OwnableFacet|TokenPausableFacet|UserEntitlement|SpaceOwner|MockERC721A|MembershipFacet|IMembershipMetadata|Member|IBanning|IPricingModules|ICrossChainEntitlement|MockEntitlementGated|IERC721AQueryable|IEntitlementDataQueryable|PlatformRequirementsFacet|IERC721A|INodeOperator|ISpaceDelegation|IEntitlementChecker|IERC5267|ICreateSpace|IDropFacet|DropFacet|ITownsPoints|ITipping|IReview|ITreasury|ISwapRouter|ISwapFacet|IAppRegistry|IAppAccount|ISimpleApp|ITownsApp|Towns|RewardsDistributionV2|MainnetDelegation|GuardianFacet|SubscriptionModuleFacet|IAppInstaller|IAppFactory|IIdentityRegistry|IReputationRegistry)"
|
|
15
15
|
|
|
16
16
|
# Clean typings to avoid stale factories/interfaces lingering between runs
|
|
17
17
|
rm -rf "$TYPINGS_DIR"
|
|
@@ -20,7 +20,7 @@ bun run typechain --target=ethers-v5 "$CONTRACTS_DIR/out/**/?${CONTRACT_INTERFAC
|
|
|
20
20
|
# Clean abis to avoid stale abi files lingering between runs
|
|
21
21
|
rm -rf "$ABI_DIR"
|
|
22
22
|
mkdir -p "$ABI_DIR"
|
|
23
|
-
cp -a $CONTRACTS_DIR/out/{Diamond,DiamondCutFacet,Architect,MockLegacyArchitect,ProxyManager,IPausable,EntitlementsManager,Channels,Roles,IMulticall,OwnableFacet,WalletLink,MockWalletLink,NodeRegistry,OperatorRegistry,StreamRegistry,TokenPausableFacet,IRuleEntitlement,UserEntitlement,SpaceOwner,MockERC721A,MembershipFacet,IMembershipMetadata,Member,MockRiverRegistry,IBanning,IPricingModules,ICrossChainEntitlement,MockCrossChainEntitlement,MockEntitlementGated,
|
|
23
|
+
cp -a $CONTRACTS_DIR/out/{Diamond,DiamondCutFacet,Architect,MockLegacyArchitect,ProxyManager,IPausable,EntitlementsManager,Channels,Roles,IMulticall,OwnableFacet,WalletLink,MockWalletLink,NodeRegistry,OperatorRegistry,StreamRegistry,TokenPausableFacet,IRuleEntitlement,UserEntitlement,SpaceOwner,MockERC721A,MembershipFacet,IMembershipMetadata,Member,MockRiverRegistry,IBanning,IPricingModules,ICrossChainEntitlement,MockCrossChainEntitlement,MockEntitlementGated,IERC721AQueryable,IEntitlementDataQueryable,PlatformRequirementsFacet,IERC721A,INodeOperator,ISpaceDelegation,IEntitlementChecker,IEntitlementGated,IERC5267,ICreateSpace,DropFacet,ITownsPoints,ITipping,IReview,ITreasury,ISwapRouter,ISwapFacet,IAppRegistry,IAppAccount,ISimpleApp,ITownsApp,Towns,RewardsDistributionV2,MainnetDelegation,GuardianFacet,SubscriptionModuleFacet,IAppInstaller,IAppFactory,IIdentityRegistry,IReputationRegistry}.sol/*.abi.json "$ABI_DIR"
|
|
24
24
|
|
|
25
25
|
# Copy the json abis to TS files for type inference
|
|
26
26
|
for file in $ABI_DIR/*.abi.json; do
|