quorum/permission/bind/permission_impl.go

967 lines
139 KiB
Go

// Code generated - DO NOT EDIT.
// This file is a generated binding and any manual changes will be lost.
package permission
import (
"math/big"
"strings"
ethereum "github.com/ethereum/go-ethereum"
"github.com/ethereum/go-ethereum/accounts/abi"
"github.com/ethereum/go-ethereum/accounts/abi/bind"
"github.com/ethereum/go-ethereum/common"
"github.com/ethereum/go-ethereum/core/types"
"github.com/ethereum/go-ethereum/event"
)
// Reference imports to suppress errors if they are not otherwise used.
var (
_ = big.NewInt
_ = strings.NewReader
_ = ethereum.NotFound
_ = abi.U256
_ = bind.Bind
_ = common.Big1
_ = types.BloomLookup
_ = event.NewSubscription
)
// PermImplABI is the input ABI used to generate the binding from.
const PermImplABI = "[{\"constant\":false,\"inputs\":[{\"name\":\"_orgId\",\"type\":\"string\"},{\"name\":\"_account\",\"type\":\"address\"},{\"name\":\"_action\",\"type\":\"uint256\"},{\"name\":\"_caller\",\"type\":\"address\"}],\"name\":\"updateAccountStatus\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_roleId\",\"type\":\"string\"},{\"name\":\"_orgId\",\"type\":\"string\"},{\"name\":\"_access\",\"type\":\"uint256\"},{\"name\":\"_voter\",\"type\":\"bool\"},{\"name\":\"_admin\",\"type\":\"bool\"},{\"name\":\"_caller\",\"type\":\"address\"}],\"name\":\"addNewRole\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_nwAdminOrg\",\"type\":\"string\"},{\"name\":\"_nwAdminRole\",\"type\":\"string\"},{\"name\":\"_oAdminRole\",\"type\":\"string\"}],\"name\":\"setPolicy\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_orgId\",\"type\":\"string\"},{\"name\":\"_account\",\"type\":\"address\"},{\"name\":\"_caller\",\"type\":\"address\"}],\"name\":\"startBlacklistedAccountRecovery\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_orgId\",\"type\":\"string\"},{\"name\":\"_enodeId\",\"type\":\"string\"},{\"name\":\"_account\",\"type\":\"address\"},{\"name\":\"_caller\",\"type\":\"address\"}],\"name\":\"approveOrg\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_orgId\",\"type\":\"string\"},{\"name\":\"_action\",\"type\":\"uint256\"},{\"name\":\"_caller\",\"type\":\"address\"}],\"name\":\"updateOrgStatus\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_enodeId\",\"type\":\"string\"}],\"name\":\"addAdminNode\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_orgId\",\"type\":\"string\"},{\"name\":\"_account\",\"type\":\"address\"},{\"name\":\"_roleId\",\"type\":\"string\"},{\"name\":\"_caller\",\"type\":\"address\"}],\"name\":\"assignAdminRole\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"updateNetworkBootStatus\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_orgId\",\"type\":\"string\"},{\"name\":\"_account\",\"type\":\"address\"},{\"name\":\"_caller\",\"type\":\"address\"}],\"name\":\"approveBlacklistedAccountRecovery\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"getNetworkBootStatus\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_account\",\"type\":\"address\"}],\"name\":\"addAdminAccount\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_orgId\",\"type\":\"string\"},{\"name\":\"_enodeId\",\"type\":\"string\"},{\"name\":\"_caller\",\"type\":\"address\"}],\"name\":\"addNode\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_roleId\",\"type\":\"string\"},{\"name\":\"_orgId\",\"type\":\"string\"},{\"name\":\"_caller\",\"type\":\"address\"}],\"name\":\"removeRole\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_orgId\",\"type\":\"string\"},{\"name\":\"_enodeId\",\"type\":\"string\"},{\"name\":\"_caller\",\"type\":\"address\"}],\"name\":\"approveBlacklistedNodeRecovery\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_account\",\"type\":\"address\"},{\"name\":\"_orgId\",\"type\":\"string\"}],\"name\":\"validateAccount\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_orgId\",\"type\":\"string\"},{\"name\":\"_account\",\"type\":\"address\"},{\"name\":\"_caller\",\"type\":\"address\"}],\"name\":\"approveAdminRole\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_account\",\"type\":\"address\"},{\"name\":\"_orgId\",\"type\":\"string\"},{\"name\":\"_roleId\",\"type\":\"string\"},{\"name\":\"_caller\",\"type\":\"address\"}],\"name\":\"assignAccountRole\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_account\",\"type\":\"address\"},{\"name\":\"_orgId\",\"type\":\"string\"}],\"name\":\"isOrgAdmin\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_breadth\",\"type\":\"uint256\"},{\"name\":\"_depth\",\"type\":\"uint256\"}],\"name\":\"init\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_pOrgId\",\"type\":\"string\"},{\"name\":\"_orgId\",\"type\":\"string\"},{\"name\":\"_enodeId\",\"type\":\"string\"},{\"name\":\"_caller\",\"type\":\"address\"}],\"name\":\"addSubOrg\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_orgId\",\"type\":\"string\"},{\"name\":\"_action\",\"type\":\"uint256\"},{\"name\":\"_caller\",\"type\":\"address\"}],\"name\":\"approveOrgStatus\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_orgId\",\"type\":\"string\"},{\"name\":\"_enodeId\",\"type\":\"string\"},{\"name\":\"_caller\",\"type\":\"address\"}],\"name\":\"startBlacklistedNodeRecovery\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"getPolicyDetails\",\"outputs\":[{\"name\":\"\",\"type\":\"string\"},{\"name\":\"\",\"type\":\"string\"},{\"name\":\"\",\"type\":\"string\"},{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_account\",\"type\":\"address\"}],\"name\":\"isNetworkAdmin\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_orgId\",\"type\":\"string\"},{\"name\":\"_enodeId\",\"type\":\"string\"},{\"name\":\"_action\",\"type\":\"uint256\"},{\"name\":\"_caller\",\"type\":\"address\"}],\"name\":\"updateNodeStatus\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_orgId\",\"type\":\"string\"}],\"name\":\"getPendingOp\",\"outputs\":[{\"name\":\"\",\"type\":\"string\"},{\"name\":\"\",\"type\":\"string\"},{\"name\":\"\",\"type\":\"address\"},{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_nwAdminOrg\",\"type\":\"string\"},{\"name\":\"_nwAdminRole\",\"type\":\"string\"},{\"name\":\"_oAdminRole\",\"type\":\"string\"},{\"name\":\"_networkBootStatus\",\"type\":\"bool\"}],\"name\":\"setMigrationPolicy\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_orgId\",\"type\":\"string\"},{\"name\":\"_enodeId\",\"type\":\"string\"},{\"name\":\"_account\",\"type\":\"address\"},{\"name\":\"_caller\",\"type\":\"address\"}],\"name\":\"addOrg\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"name\":\"_permUpgradable\",\"type\":\"address\"},{\"name\":\"_orgManager\",\"type\":\"address\"},{\"name\":\"_rolesManager\",\"type\":\"address\"},{\"name\":\"_accountManager\",\"type\":\"address\"},{\"name\":\"_voterManager\",\"type\":\"address\"},{\"name\":\"_nodeManager\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"_networkBootStatus\",\"type\":\"bool\"}],\"name\":\"PermissionsInitialized\",\"type\":\"event\"}]"
// PermImplBin is the compiled bytecode used for deploying new contracts.
const PermImplBin = `608060405260036009556000600a60006101000a81548160ff0219169083151502179055503480156200003157600080fd5b5060405160c0806200a14c833981018060405260c08110156200005357600080fd5b8101908080519060200190929190805190602001909291908051906020019092919080519060200190929190805190602001909291908051906020019092919050505085600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555084600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555083600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550826000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505050505050619f1b80620002316000396000f3fe608060405234801561001057600080fd5b50600436106101ec576000357c010000000000000000000000000000000000000000000000000000000090048063655a8ef511610121578063b5546564116100bf578063dbfad7111161008e578063dbfad711146115e2578063f346a3a7146116da578063f5ad584a14611872578063f922f802146119a1576101ec565b8063b55465641461128f578063c3dc8e0914611332578063cc9ba6fa14611420578063d1aa0c2014611586576101ec565b80638baa8191116100fb5780638baa819114610e8f5780639bd3810114611021578063a5843f0814611114578063a64d28601461114c576101ec565b8063655a8ef514610bf55780636b568d7614610ce35780638884304114610dd6576101ec565b8063404bf3eb1161018e5780634cbfa82e116101685780634cbfa82e146109b35780634fe57e7a146109d557806359a260a314610a195780635ca5adbe14610b07576101ec565b8063404bf3eb146107ca57806344478e79146108d85780634b20f45f146108fa576101ec565b80631c249912116101ca5780631c249912146104e75780633bc07dea146105a05780633cf5f33b146106ae5780633f25c28814610751576101ec565b806304e81f1e146101f15780631b04c276146102b45780631b610220146103c4575b600080fd5b6102b26004803603608081101561020757600080fd5b810190808035906020019064010000000081111561022457600080fd5b82018360208201111561023657600080fd5b8035906020019184600183028401116401000000008311171561025857600080fd5b9091929391929390803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611aaf565b005b6103c2600480360360c08110156102ca57600080fd5b81019080803590602001906401000000008111156102e757600080fd5b8201836020820111156102f957600080fd5b8035906020019184600183028401116401000000008311171561031b57600080fd5b90919293919293908035906020019064010000000081111561033c57600080fd5b82018360208201111561034e57600080fd5b8035906020019184600183028401116401000000008311171561037057600080fd5b909192939192939080359060200190929190803515159060200190929190803515159060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611e2b565b005b6104e5600480360360608110156103da57600080fd5b81019080803590602001906401000000008111156103f757600080fd5b82018360208201111561040957600080fd5b8035906020019184600183028401116401000000008311171561042b57600080fd5b90919293919293908035906020019064010000000081111561044c57600080fd5b82018360208201111561045e57600080fd5b8035906020019184600183028401116401000000008311171561048057600080fd5b9091929391929390803590602001906401000000008111156104a157600080fd5b8201836020820111156104b357600080fd5b803590602001918460018302840111640100000000831117156104d557600080fd5b909192939192939050505061221c565b005b61059e600480360360608110156104fd57600080fd5b810190808035906020019064010000000081111561051a57600080fd5b82018360208201111561052c57600080fd5b8035906020019184600183028401116401000000008311171561054e57600080fd5b9091929391929390803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061242b565b005b6106ac600480360360808110156105b657600080fd5b81019080803590602001906401000000008111156105d357600080fd5b8201836020820111156105e557600080fd5b8035906020019184600183028401116401000000008311171561060757600080fd5b90919293919293908035906020019064010000000081111561062857600080fd5b82018360208201111561063a57600080fd5b8035906020019184600183028401116401000000008311171561065c57600080fd5b9091929391929390803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506128a0565b005b61074f600480360360608110156106c457600080fd5b81019080803590602001906401000000008111156106e157600080fd5b8201836020820111156106f357600080fd5b8035906020019184600183028401116401000000008311171561071557600080fd5b909192939192939080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050613058565b005b6107c86004803603602081101561076757600080fd5b810190808035906020019064010000000081111561078457600080fd5b82018360208201111561079657600080fd5b803590602001918460018302840111640100000000831117156107b857600080fd5b90919293919293905050506134c1565b005b6108d6600480360360808110156107e057600080fd5b81019080803590602001906401000000008111156107fd57600080fd5b82018360208201111561080f57600080fd5b8035906020019184600183028401116401000000008311171561083157600080fd5b9091929391929390803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019064010000000081111561087257600080fd5b82018360208201111561088457600080fd5b803590602001918460018302840111640100000000831117156108a657600080fd5b9091929391929390803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506137f6565b005b6108e0613d6b565b604051808215151515815260200191505060405180910390f35b6109b16004803603606081101561091057600080fd5b810190808035906020019064010000000081111561092d57600080fd5b82018360208201111561093f57600080fd5b8035906020019184600183028401116401000000008311171561096157600080fd5b9091929391929390803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050613f6e565b005b6109bb6142de565b604051808215151515815260200191505060405180910390f35b610a17600480360360208110156109eb57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506142f5565b005b610b0560048036036060811015610a2f57600080fd5b8101908080359060200190640100000000811115610a4c57600080fd5b820183602082011115610a5e57600080fd5b80359060200191846001830284011164010000000083111715610a8057600080fd5b909192939192939080359060200190640100000000811115610aa157600080fd5b820183602082011115610ab357600080fd5b80359060200191846001830284011164010000000083111715610ad557600080fd5b9091929391929390803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050614762565b005b610bf360048036036060811015610b1d57600080fd5b8101908080359060200190640100000000811115610b3a57600080fd5b820183602082011115610b4c57600080fd5b80359060200191846001830284011164010000000083111715610b6e57600080fd5b909192939192939080359060200190640100000000811115610b8f57600080fd5b820183602082011115610ba157600080fd5b80359060200191846001830284011164010000000083111715610bc357600080fd5b9091929391929390803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050614b30565b005b610ce160048036036060811015610c0b57600080fd5b8101908080359060200190640100000000811115610c2857600080fd5b820183602082011115610c3a57600080fd5b80359060200191846001830284011164010000000083111715610c5c57600080fd5b909192939192939080359060200190640100000000811115610c7d57600080fd5b820183602082011115610c8f57600080fd5b80359060200191846001830284011164010000000083111715610cb157600080fd5b9091929391929390803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050615178565b005b610dbc60048036036040811015610cf957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190640100000000811115610d3657600080fd5b820183602082011115610d4857600080fd5b80359060200191846001830284011164010000000083111715610d6a57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505091929192905050506154ea565b604051808215151515815260200191505060405180910390f35b610e8d60048036036060811015610dec57600080fd5b8101908080359060200190640100000000811115610e0957600080fd5b820183602082011115610e1b57600080fd5b80359060200191846001830284011164010000000083111715610e3d57600080fd5b9091929391929390803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050615656565b005b61101f60048036036080811015610ea557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190640100000000811115610ee257600080fd5b820183602082011115610ef457600080fd5b80359060200191846001830284011164010000000083111715610f1657600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050919291929080359060200190640100000000811115610f7957600080fd5b820183602082011115610f8b57600080fd5b80359060200191846001830284011164010000000083111715610fad57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050615c48565b005b6110fa6004803603604081101561103757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019064010000000081111561107457600080fd5b82018360208201111561108657600080fd5b803590602001918460018302840111640100000000831117156110a857600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050919291929050505061635e565b604051808215151515815260200191505060405180910390f35b61114a6004803603604081101561112a57600080fd5b8101908080359060200190929190803590602001909291905050506168a9565b005b61128d6004803603608081101561116257600080fd5b810190808035906020019064010000000081111561117f57600080fd5b82018360208201111561119157600080fd5b803590602001918460018302840111640100000000831117156111b357600080fd5b9091929391929390803590602001906401000000008111156111d457600080fd5b8201836020820111156111e657600080fd5b8035906020019184600183028401116401000000008311171561120857600080fd5b90919293919293908035906020019064010000000081111561122957600080fd5b82018360208201111561123b57600080fd5b8035906020019184600183028401116401000000008311171561125d57600080fd5b9091929391929390803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050616f4a565b005b611330600480360360608110156112a557600080fd5b81019080803590602001906401000000008111156112c257600080fd5b8201836020820111156112d457600080fd5b803590602001918460018302840111640100000000831117156112f657600080fd5b909192939192939080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050617527565b005b61141e6004803603606081101561134857600080fd5b810190808035906020019064010000000081111561136557600080fd5b82018360208201111561137757600080fd5b8035906020019184600183028401116401000000008311171561139957600080fd5b9091929391929390803590602001906401000000008111156113ba57600080fd5b8201836020820111156113cc57600080fd5b803590602001918460018302840111640100000000831117156113ee57600080fd5b9091929391929390803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506179dc565b005b611428617e74565b6040518080602001806020018060200185151515158152602001848103845288818151815260200191508051906020019080838360005b8381101561147a57808201518184015260208101905061145f565b50505050905090810190601f1680156114a75780820380516001836020036101000a031916815260200191505b50848103835287818151815260200191508051906020019080838360005b838110156114e05780820151818401526020810190506114c5565b50505050905090810190601f16801561150d5780820380516001836020036101000a031916815260200191505b50848103825286818151815260200191508051906020019080838360005b8381101561154657808201518184015260208101905061152b565b50505050905090810190601f1680156115735780820380516001836020036101000a031916815260200191505b5097505050505050505060405180910390f35b6115c86004803603602081101561159c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050618073565b604051808215151515815260200191505060405180910390f35b6116d8600480360360808110156115f857600080fd5b810190808035906020019064010000000081111561161557600080fd5b82018360208201111561162757600080fd5b8035906020019184600183028401116401000000008311171561164957600080fd5b90919293919293908035906020019064010000000081111561166a57600080fd5b82018360208201111561167c57600080fd5b8035906020019184600183028401116401000000008311171561169e57600080fd5b909192939192939080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506182fd565b005b611751600480360360208110156116f057600080fd5b810190808035906020019064010000000081111561170d57600080fd5b82018360208201111561171f57600080fd5b8035906020019184600183028401116401000000008311171561174157600080fd5b909192939192939050505061867b565b6040518080602001806020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001848152602001838103835287818151815260200191508051906020019080838360005b838110156117cd5780820151818401526020810190506117b2565b50505050905090810190601f1680156117fa5780820380516001836020036101000a031916815260200191505b50838103825286818151815260200191508051906020019080838360005b83811015611833578082015181840152602081019050611818565b50505050905090810190601f1680156118605780820380516001836020036101000a031916815260200191505b50965050505050505060405180910390f35b61199f6004803603608081101561188857600080fd5b81019080803590602001906401000000008111156118a557600080fd5b8201836020820111156118b757600080fd5b803590602001918460018302840111640100000000831117156118d957600080fd5b9091929391929390803590602001906401000000008111156118fa57600080fd5b82018360208201111561190c57600080fd5b8035906020019184600183028401116401000000008311171561192e57600080fd5b90919293919293908035906020019064010000000081111561194f57600080fd5b82018360208201111561196157600080fd5b8035906020019184600183028401116401000000008311171561198357600080fd5b9091929391929390803515159060200190929190505050618844565b005b611aad600480360360808110156119b757600080fd5b81019080803590602001906401000000008111156119d457600080fd5b8201836020820111156119e657600080fd5b80359060200191846001830284011164010000000083111715611a0857600080fd5b909192939192939080359060200190640100000000811115611a2957600080fd5b820183602082011115611a3b57600080fd5b80359060200191846001830284011164010000000083111715611a5d57600080fd5b9091929391929390803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506189ef565b005b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e572515c6040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040160206040518083038186803b158015611b3357600080fd5b505afa158015611b47573d6000803e3d6000fd5b505050506040513d6020811015611b5d57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611bf3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180619e806028913960400191505060405180910390fd5b8085858080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505060011515611c47838361635e565b1515141515611ca1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526022815260200180619ece6022913960400191505060405180910390fd5b6001841480611cb05750600284145b80611cbb5750600384145b1515611d12576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180619e5b6025913960400191505060405180910390fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166384b7a84a888888886040518563ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180806020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018381526020018281038252868682818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b158015611e0a57600080fd5b505af1158015611e1e573d6000803e3d6000fd5b5050505050505050505050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e572515c6040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040160206040518083038186803b158015611eaf57600080fd5b505afa158015611ec3573d6000803e3d6000fd5b505050506040513d6020811015611ed957600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611f6f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180619e806028913960400191505060405180910390fd5b85858080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505060011515611fc182619245565b1515141515612038576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f6f7267206e6f7420696e20617070726f7665642073746174757300000000000081525060200191505060405180910390fd5b8187878080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050506001151561208c838361635e565b15151415156120e6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526022815260200180619ece6022913960400191505060405180910390fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16637b7135798c8c8c8c8c8c8c6040518863ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808060200180602001868152602001851515151581526020018415151515815260200183810383528a8a82818152602001925080828437600081840152601f19601f8201169050808301925050508381038252888882818152602001925080828437600081840152601f19601f8201169050808301925050509950505050505050505050600060405180830381600087803b1580156121f757600080fd5b505af115801561220b573d6000803e3d6000fd5b505050505050505050505050505050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e572515c6040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040160206040518083038186803b1580156122a057600080fd5b505afa1580156122b4573d6000803e3d6000fd5b505050506040513d60208110156122ca57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515612360576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180619e806028913960400191505060405180910390fd5b6000801515600a60009054906101000a900460ff1615151415156123ec576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f496e636f7272656374206e6574776f726b20626f6f742073746174757300000081525060200191505060405180910390fd5b8686600691906123fd929190619db5565b5084846007919061240f929190619db5565b50828260089190612421929190619db5565b5050505050505050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e572515c6040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040160206040518083038186803b1580156124af57600080fd5b505afa1580156124c3573d6000803e3d6000fd5b505050506040513d60208110156124d957600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561256f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180619e806028913960400191505060405180910390fd5b806001151561257d82618073565b15151415156125d7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526026815260200180619ea86026913960400191505060405180910390fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166384b7a84a86868660046040518563ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180806020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018381526020018281038252868682818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b1580156126d057600080fd5b505af11580156126e4573d6000803e3d6000fd5b50505050600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e98ac22d600687878760066040518663ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808060200180602001806020018673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018581526020018481038452898181546001816001161561010002031660029004815260200191508054600181600116156101000203166002900480156128215780601f106127f657610100808354040283529160200191612821565b820191906000526020600020905b81548152906001019060200180831161280457829003601f168201915b50508481038352888882818152602001925080828437600081840152601f19601f82011690508083019250505084810382526000815260200160200198505050505050505050600060405180830381600087803b15801561288157600080fd5b505af1158015612895573d6000803e3d6000fd5b505050505050505050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e572515c6040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040160206040518083038186803b15801561292457600080fd5b505afa158015612938573d6000803e3d6000fd5b505050506040513d602081101561294e57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156129e4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180619e806028913960400191505060405180910390fd5b80600115156129f282618073565b1515141515612a4c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526026815260200180619ea86026913960400191505060405180910390fd5b60011515612a9f88888080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050506001619386565b1515141515612b16576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f4e6f7468696e6720746f20617070726f7665000000000000000000000000000081525060200191505060405180910390fd5b612bbc60068054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015612baf5780601f10612b8457610100808354040283529160200191612baf565b820191906000526020600020905b815481529060010190602001808311612b9257829003601f168201915b50505050508360016194c7565b1561304f57600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e302831688886040518363ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180806020018281038252848482818152602001925080828437600081840152601f19601f8201169050808301925050509350505050600060405180830381600087803b158015612c7e57600080fd5b505af1158015612c92573d6000803e3d6000fd5b50505050600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16637b713579600889896009546001806040518763ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018080602001806020018681526020018515151515815260200184151515158152602001838103835289818154600181600116156101000203166002900481526020019150805460018160011615610100020316600290048015612db05780601f10612d8557610100808354040283529160200191612db0565b820191906000526020600020905b815481529060010190602001808311612d9357829003601f168201915b50508381038252888882818152602001925080828437600081840152601f19601f82011690508083019250505098505050505050505050600060405180830381600087803b158015612e0157600080fd5b505af1158015612e15573d6000803e3d6000fd5b50505050600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166386bc365286868a8a6040518563ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018080602001806020018381038352878782818152602001925080828437600081840152601f19601f8201169050808301925050508381038252858582818152602001925080828437600081840152601f19601f8201169050808301925050509650505050505050600060405180830381600087803b158015612f0a57600080fd5b505af1158015612f1e573d6000803e3d6000fd5b505050506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c214e5e58888866040518463ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180806020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281038252858582818152602001925080828437600081840152601f19601f820116905080830192505050945050505050602060405180830381600087803b15801561301257600080fd5b505af1158015613026573d6000803e3d6000fd5b505050506040513d602081101561303c57600080fd5b8101908080519060200190929190505050505b50505050505050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e572515c6040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040160206040518083038186803b1580156130dc57600080fd5b505afa1580156130f0573d6000803e3d6000fd5b505050506040513d602081101561310657600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561319c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180619e806028913960400191505060405180910390fd5b80600115156131aa82618073565b1515141515613204576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526026815260200180619ea86026913960400191505060405180910390fd5b6000600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630cc274938787876040518463ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180806020018381526020018281038252858582818152602001925080828437600081840152601f19601f820116905080830192505050945050505050602060405180830381600087803b1580156132cb57600080fd5b505af11580156132df573d6000803e3d6000fd5b505050506040513d60208110156132f557600080fd5b81019080805190602001909291905050509050600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e98ac22d600688886000866040518663ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808060200180602001806020018673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018581526020018481038452898181546001816001161561010002031660029004815260200191508054600181600116156101000203166002900480156134415780601f1061341657610100808354040283529160200191613441565b820191906000526020600020905b81548152906001019060200180831161342457829003601f168201915b50508481038352888882818152602001925080828437600081840152601f19601f82011690508083019250505084810382526000815260200160200198505050505050505050600060405180830381600087803b1580156134a157600080fd5b505af11580156134b5573d6000803e3d6000fd5b50505050505050505050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e572515c6040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040160206040518083038186803b15801561354557600080fd5b505afa158015613559573d6000803e3d6000fd5b505050506040513d602081101561356f57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515613605576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180619e806028913960400191505060405180910390fd5b6000801515600a60009054906101000a900460ff161515141515613691576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f496e636f7272656374206e6574776f726b20626f6f742073746174757300000081525060200191505060405180910390fd5b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e3b09d84848460066040518463ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018080602001806020018381038352868682818152602001925080828437600081840152601f19601f8201169050808301925050508381038252848181546001816001161561010002031660029004815260200191508054600181600116156101000203166002900480156137b65780601f1061378b576101008083540402835291602001916137b6565b820191906000526020600020905b81548152906001019060200180831161379957829003601f168201915b505095505050505050600060405180830381600087803b1580156137d957600080fd5b505af11580156137ed573d6000803e3d6000fd5b50505050505050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e572515c6040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040160206040518083038186803b15801561387a57600080fd5b505afa15801561388e573d6000803e3d6000fd5b505050506040513d60208110156138a457600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561393a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180619e806028913960400191505060405180910390fd5b85858080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050506001151561398c8261963f565b1515141515613a03576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f6f726720646f6573206e6f74206578697374000000000000000000000000000081525060200191505060405180910390fd5b8160011515613a1182618073565b1515141515613a6b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526026815260200180619ea86026913960400191505060405180910390fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e3483a9d878a8a898960016040518763ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200180602001806020018481526020018381038352888882818152602001925080828437600081840152601f19601f8201169050808301925050508381038252868682818152602001925080828437600081840152601f19601f82011690508083019250505098505050505050505050600060405180830381600087803b158015613b9857600080fd5b505af1158015613bac573d6000803e3d6000fd5b50505050600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e98ac22d60068a8a8a60046040518663ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808060200180602001806020018673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001858152602001848103845289818154600181600116156101000203166002900481526020019150805460018160011615610100020316600290048015613ce95780601f10613cbe57610100808354040283529160200191613ce9565b820191906000526020600020905b815481529060010190602001808311613ccc57829003601f168201915b50508481038352888882818152602001925080828437600081840152601f19601f82011690508083019250505084810382526000815260200160200198505050505050505050600060405180830381600087803b158015613d4957600080fd5b505af1158015613d5d573d6000803e3d6000fd5b505050505050505050505050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e572515c6040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040160206040518083038186803b158015613df157600080fd5b505afa158015613e05573d6000803e3d6000fd5b505050506040513d6020811015613e1b57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515613eb1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180619e806028913960400191505060405180910390fd5b6000801515600a60009054906101000a900460ff161515141515613f3d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f496e636f7272656374206e6574776f726b20626f6f742073746174757300000081525060200191505060405180910390fd5b6001600a60006101000a81548160ff021916908315150217905550600a60009054906101000a900460ff1691505090565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e572515c6040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040160206040518083038186803b158015613ff257600080fd5b505afa158015614006573d6000803e3d6000fd5b505050506040513d602081101561401c57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156140b2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180619e806028913960400191505060405180910390fd5b80600115156140c082618073565b151514151561411a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526026815260200180619ea86026913960400191505060405180910390fd5b6141c060068054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156141b35780601f10614188576101008083540402835291602001916141b3565b820191906000526020600020905b81548152906001019060200180831161419657829003601f168201915b50505050508360066194c7565b156142d7576000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166384b7a84a86868660056040518563ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180806020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018381526020018281038252868682818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b1580156142be57600080fd5b505af11580156142d2573d6000803e3d6000fd5b505050505b5050505050565b6000600a60009054906101000a900460ff16905090565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e572515c6040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040160206040518083038186803b15801561437957600080fd5b505afa15801561438d573d6000803e3d6000fd5b505050506040513d60208110156143a357600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515614439576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180619e806028913960400191505060405180910390fd5b6000801515600a60009054906101000a900460ff1615151415156144c5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f496e636f7272656374206e6574776f726b20626f6f742073746174757300000081525060200191505060405180910390fd5b61456b60068054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561455e5780601f106145335761010080835404028352916020019161455e565b820191906000526020600020905b81548152906001019060200180831161454157829003601f168201915b5050505050836001619777565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e3483a9d836006600760026040518563ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001806020018060200184815260200183810383528681815460018160011615610100020316600290048152602001915080546001816001161561010002031660029004801561469f5780601f106146745761010080835404028352916020019161469f565b820191906000526020600020905b81548152906001019060200180831161468257829003601f168201915b50508381038252858181546001816001161561010002031660029004815260200191508054600181600116156101000203166002900480156147225780601f106146f757610100808354040283529160200191614722565b820191906000526020600020905b81548152906001019060200180831161470557829003601f168201915b50509650505050505050600060405180830381600087803b15801561474657600080fd5b505af115801561475a573d6000803e3d6000fd5b505050505050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e572515c6040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040160206040518083038186803b1580156147e657600080fd5b505afa1580156147fa573d6000803e3d6000fd5b505050506040513d602081101561481057600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156148a6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180619e806028913960400191505060405180910390fd5b84848080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050600115156148f882619245565b151514151561496f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f6f7267206e6f7420696e20617070726f7665642073746174757300000000000081525060200191505060405180910390fd5b8186868080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050600115156149c3838361635e565b1515141515614a1d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526022815260200180619ece6022913960400191505060405180910390fd5b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633f5e1a4587878b8b6040518563ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018080602001806020018381038352878782818152602001925080828437600081840152601f19601f8201169050808301925050508381038252858582818152602001925080828437600081840152601f19601f8201169050808301925050509650505050505050600060405180830381600087803b158015614b0e57600080fd5b505af1158015614b22573d6000803e3d6000fd5b505050505050505050505050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e572515c6040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040160206040518083038186803b158015614bb457600080fd5b505afa158015614bc8573d6000803e3d6000fd5b505050506040513d6020811015614bde57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515614c74576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180619e806028913960400191505060405180910390fd5b82828080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505060011515614cc682619245565b1515141515614d3d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f6f7267206e6f7420696e20617070726f7665642073746174757300000000000081525060200191505060405180910390fd5b8184848080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505060011515614d91838361635e565b1515141515614deb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526022815260200180619ece6022913960400191505060405180910390fd5b60076040516020018080602001828103825283818154600181600116156101000203166002900481526020019150805460018160011615610100020316600290048015614e795780601f10614e4e57610100808354040283529160200191614e79565b820191906000526020600020905b815481529060010190602001808311614e5c57829003601f168201915b50509250505060405160208183030381529060405280519060200120888860405160200180806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505093505050506040516020818303038152906040528051906020012014158015614ff1575060086040516020018080602001828103825283818154600181600116156101000203166002900481526020019150805460018160011615610100020316600290048015614f7f5780601f10614f5457610100808354040283529160200191614f7f565b820191906000526020600020905b815481529060010190602001808311614f6257829003601f168201915b50509250505060405160208183030381529060405280519060200120888860405160200180806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505093505050506040516020818303038152906040528051906020012014155b1515615065576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f61646d696e20726f6c65732063616e6e6f742062652072656d6f76656400000081525060200191505060405180910390fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a6343012898989896040518563ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018080602001806020018381038352878782818152602001925080828437600081840152601f19601f8201169050808301925050508381038252858582818152602001925080828437600081840152601f19601f8201169050808301925050509650505050505050600060405180830381600087803b15801561515657600080fd5b505af115801561516a573d6000803e3d6000fd5b505050505050505050505050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e572515c6040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040160206040518083038186803b1580156151fc57600080fd5b505afa158015615210573d6000803e3d6000fd5b505050506040513d602081101561522657600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156152bc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180619e806028913960400191505060405180910390fd5b80600115156152ca82618073565b1515141515615324576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526026815260200180619ea86026913960400191505060405180910390fd5b6153ca60068054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156153bd5780601f10615392576101008083540402835291602001916153bd565b820191906000526020600020905b8154815290600101906020018083116153a057829003601f168201915b50505050508360056194c7565b156154e257600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630cc501468585898960056040518663ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018080602001806020018481526020018381038352888882818152602001925080828437600081840152601f19601f8201169050808301925050508381038252868682818152602001925080828437600081840152601f19601f820116905080830192505050975050505050505050600060405180830381600087803b1580156154c957600080fd5b505af11580156154dd573d6000803e3d6000fd5b505050505b505050505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636b568d7684846040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200180602001828103825283818151815260200191508051906020019080838360005b838110156155c85780820151818401526020810190506155ad565b50505050905090810190601f1680156155f55780820380516001836020036101000a031916815260200191505b50935050505060206040518083038186803b15801561561357600080fd5b505afa158015615627573d6000803e3d6000fd5b505050506040513d602081101561563d57600080fd5b8101908080519060200190929190505050905092915050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e572515c6040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040160206040518083038186803b1580156156da57600080fd5b505afa1580156156ee573d6000803e3d6000fd5b505050506040513d602081101561570457600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561579a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180619e806028913960400191505060405180910390fd5b80600115156157a882618073565b1515141515615802576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526026815260200180619ea86026913960400191505060405180910390fd5b6158a860068054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561589b5780601f106158705761010080835404028352916020019161589b565b820191906000526020600020905b81548152906001019060200180831161587e57829003601f168201915b50505050508360046194c7565b15615c41576000806000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16631d09dc9388886040518363ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505093505050506040805180830381600087803b15801561596b57600080fd5b505af115801561597f573d6000803e3d6000fd5b505050506040513d604081101561599557600080fd5b810190808051906020019092919080519060200190929190505050915091508115615a6157615a6060068054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015615a535780601f10615a2857610100808354040283529160200191615a53565b820191906000526020600020905b815481529060010190602001808311615a3657829003601f168201915b5050505050826000619777565b5b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c214e5e58989896040518463ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180806020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281038252858582818152602001925080828437600081840152601f19601f820116905080830192505050945050505050602060405180830381600087803b158015615b5357600080fd5b505af1158015615b67573d6000803e3d6000fd5b505050506040513d6020811015615b7d57600080fd5b810190808051906020019092919050505090508015615c3d57615c3c60068054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015615c2f5780601f10615c0457610100808354040283529160200191615c2f565b820191906000526020600020905b815481529060010190602001808311615c1257829003601f168201915b5050505050876001619777565b5b5050505b5050505050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e572515c6040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040160206040518083038186803b158015615ccc57600080fd5b505afa158015615ce0573d6000803e3d6000fd5b505050506040513d6020811015615cf657600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515615d8c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180619e806028913960400191505060405180910390fd5b808360011515615d9c838361635e565b1515141515615df6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526022815260200180619ece6022913960400191505060405180910390fd5b8460011515615e0482619245565b1515141515615e7b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f6f7267206e6f7420696e20617070726f7665642073746174757300000000000081525060200191505060405180910390fd5b60011515615e8988886154ea565b1515141515615f00576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f6f7065726174696f6e2063616e6e6f7420626520706572666f726d656400000081525060200191505060405180910390fd5b60011515615f0e8688619a0c565b1515141515615f85576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f726f6c6520646f6573206e6f742065786973747300000000000000000000000081525060200191505060405180910390fd5b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663be322e548789615fd08b619c27565b6040518463ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180806020018060200180602001848103845287818151815260200191508051906020019080838360005b83811015616043578082015181840152602081019050616028565b50505050905090810190601f1680156160705780820380516001836020036101000a031916815260200191505b50848103835286818151815260200191508051906020019080838360005b838110156160a957808201518184015260208101905061608e565b50505050905090810190601f1680156160d65780820380516001836020036101000a031916815260200191505b50848103825285818151815260200191508051906020019080838360005b8381101561610f5780820151818401526020810190506160f4565b50505050905090810190601f16801561613c5780820380516001836020036101000a031916815260200191505b50965050505050505060206040518083038186803b15801561615d57600080fd5b505afa158015616171573d6000803e3d6000fd5b505050506040513d602081101561618757600080fd5b810190808051906020019092919050505090506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663143a5604898989856040518563ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001806020018060200184151515158152602001838103835286818151815260200191508051906020019080838360005b8381101561628657808201518184015260208101905061626b565b50505050905090810190601f1680156162b35780820380516001836020036101000a031916815260200191505b50838103825285818151815260200191508051906020019080838360005b838110156162ec5780820151818401526020810190506162d1565b50505050905090810190601f1680156163195780820380516001836020036101000a031916815260200191505b509650505050505050600060405180830381600087803b15801561633c57600080fd5b505af1158015616350573d6000803e3d6000fd5b505050505050505050505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e8b42bf484846163a886619c27565b6040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018060200180602001838103835285818151815260200191508051906020019080838360005b8381101561644957808201518184015260208101905061642e565b50505050905090810190601f1680156164765780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b838110156164af578082015181840152602081019050616494565b50505050905090810190601f1680156164dc5780820380516001836020036101000a031916815260200191505b509550505050505060206040518083038186803b1580156164fc57600080fd5b505afa158015616510573d6000803e3d6000fd5b505050506040513d602081101561652657600080fd5b81019080805190602001909291905050501561654557600190506168a3565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663be322e546000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166381d66b23866040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060006040518083038186803b15801561663d57600080fd5b505afa158015616651573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f82011682018060405250602081101561667b57600080fd5b81019080805164010000000081111561669357600080fd5b828101905060208101848111156166a957600080fd5b81518560018202830111640100000000821117156166c657600080fd5b5050929190505050846166d886619c27565b6040518463ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180806020018060200180602001848103845287818151815260200191508051906020019080838360005b8381101561674b578082015181840152602081019050616730565b50505050905090810190601f1680156167785780820380516001836020036101000a031916815260200191505b50848103835286818151815260200191508051906020019080838360005b838110156167b1578082015181840152602081019050616796565b50505050905090810190601f1680156167de5780820380516001836020036101000a031916815260200191505b50848103825285818151815260200191508051906020019080838360005b838110156168175780820151818401526020810190506167fc565b50505050905090810190601f1680156168445780820380516001836020036101000a031916815260200191505b50965050505050505060206040518083038186803b15801561686557600080fd5b505afa158015616879573d6000803e3d6000fd5b505050506040513d602081101561688f57600080fd5b810190808051906020019092919050505090505b92915050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e572515c6040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040160206040518083038186803b15801561692d57600080fd5b505afa158015616941573d6000803e3d6000fd5b505050506040513d602081101561695757600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156169ed576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180619e806028913960400191505060405180910390fd5b6000801515600a60009054906101000a900460ff161515141515616a79576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f496e636f7272656374206e6574776f726b20626f6f742073746174757300000081525060200191505060405180910390fd5b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16639e58eb9f600685856040518463ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018080602001848152602001838152602001828103825285818154600181600116156101000203166002900481526020019150805460018160011615610100020316600290048015616b7b5780601f10616b5057610100808354040283529160200191616b7b565b820191906000526020600020905b815481529060010190602001808311616b5e57829003601f168201915b5050945050505050600060405180830381600087803b158015616b9d57600080fd5b505af1158015616bb1573d6000803e3d6000fd5b50505050600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16637b713579600760066009546001806040518663ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018080602001806020018681526020018515151515815260200184151515158152602001838103835288818154600181600116156101000203166002900481526020019150805460018160011615610100020316600290048015616ccf5780601f10616ca457610100808354040283529160200191616ccf565b820191906000526020600020905b815481529060010190602001808311616cb257829003601f168201915b5050838103825287818154600181600116156101000203166002900481526020019150805460018160011615610100020316600290048015616d525780601f10616d2757610100808354040283529160200191616d52565b820191906000526020600020905b815481529060010190602001808311616d3557829003601f168201915b5050975050505050505050600060405180830381600087803b158015616d7757600080fd5b505af1158015616d8b573d6000803e3d6000fd5b505050506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663cef7f6af600760086040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808060200180602001838103835285818154600181600116156101000203166002900481526020019150805460018160011615610100020316600290048015616e885780601f10616e5d57610100808354040283529160200191616e88565b820191906000526020600020905b815481529060010190602001808311616e6b57829003601f168201915b5050838103825284818154600181600116156101000203166002900481526020019150805460018160011615610100020316600290048015616f0b5780601f10616ee057610100808354040283529160200191616f0b565b820191906000526020600020905b815481529060010190602001808311616eee57829003601f168201915b5050945050505050600060405180830381600087803b158015616f2d57600080fd5b505af1158015616f41573d6000803e3d6000fd5b50505050505050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e572515c6040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040160206040518083038186803b158015616fce57600080fd5b505afa158015616fe2573d6000803e3d6000fd5b505050506040513d6020811015616ff857600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561708e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180619e806028913960400191505060405180910390fd5b86868080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050600115156170e08261963f565b1515141515617157576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f6f726720646f6573206e6f74206578697374000000000000000000000000000081525060200191505060405180910390fd5b8188888080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050600115156171ab838361635e565b1515141515617205576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526022815260200180619ece6022913960400191505060405180910390fd5b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16631f9534808b8b8b8b6040518563ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018080602001806020018381038352878782818152602001925080828437600081840152601f19601f8201169050808301925050508381038252858582818152602001925080828437600081840152601f19601f8201169050808301925050509650505050505050600060405180830381600087803b1580156172f657600080fd5b505af115801561730a573d6000803e3d6000fd5b5050505060608a8a8a8a604051602001808060200180602001806020018481038452888882818152602001925080828437600081840152601f19601f820116905080830192505050848103835260018152602001807f2e000000000000000000000000000000000000000000000000000000000000008152506020018481038252868682818152602001925080828437600081840152601f19601f8201169050808301925050509750505050505050506040516020818303038152906040529050600087879050111561751a57600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633f5e1a458888846040518463ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018080602001806020018381038352868682818152602001925080828437600081840152601f19601f820116905080830192505050838103825284818151815260200191508051906020019080838360005b838110156174b2578082015181840152602081019050617497565b50505050905090810190601f1680156174df5780820380516001836020036101000a031916815260200191505b5095505050505050600060405180830381600087803b15801561750157600080fd5b505af1158015617515573d6000803e3d6000fd5b505050505b5050505050505050505050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e572515c6040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040160206040518083038186803b1580156175ab57600080fd5b505afa1580156175bf573d6000803e3d6000fd5b505050506040513d60208110156175d557600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561766b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180619e806028913960400191505060405180910390fd5b806001151561767982618073565b15151415156176d3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526026815260200180619ea86026913960400191505060405180910390fd5b60018314806176e25750600283145b1515617756576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f4f7065726174696f6e206e6f7420616c6c6f776564000000000000000000000081525060200191505060405180910390fd5b600080600185141561776f576002915060039050617782565b60028514156177815760039150600590505b5b600115156177d488888080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505083619386565b151514151561784b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f6f7065726174696f6e206e6f7420616c6c6f776564000000000000000000000081525060200191505060405180910390fd5b6178f060068054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156178e45780601f106178b9576101008083540402835291602001916178e4565b820191906000526020600020905b8154815290600101906020018083116178c757829003601f168201915b505050505085846194c7565b156179d357600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166314f775f98888886040518463ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180806020018381526020018281038252858582818152602001925080828437600081840152601f19601f820116905080830192505050945050505050600060405180830381600087803b1580156179ba57600080fd5b505af11580156179ce573d6000803e3d6000fd5b505050505b50505050505050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e572515c6040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040160206040518083038186803b158015617a6057600080fd5b505afa158015617a74573d6000803e3d6000fd5b505050506040513d6020811015617a8a57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515617b20576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180619e806028913960400191505060405180910390fd5b8060011515617b2e82618073565b1515141515617b88576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526026815260200180619ea86026913960400191505060405180910390fd5b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630cc501468585898960046040518663ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018080602001806020018481526020018381038352888882818152602001925080828437600081840152601f19601f8201169050808301925050508381038252868682818152602001925080828437600081840152601f19601f820116905080830192505050975050505050505050600060405180830381600087803b158015617c8257600080fd5b505af1158015617c96573d6000803e3d6000fd5b50505050600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e98ac22d600688888888600060056040518863ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808060200180602001806020018673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200185815260200184810384528b818154600181600116156101000203166002900481526020019150805460018160011615610100020316600290048015617dd65780601f10617dab57610100808354040283529160200191617dd6565b820191906000526020600020905b815481529060010190602001808311617db957829003601f168201915b505084810383528a8a82818152602001925080828437600081840152601f19601f8201169050808301925050508481038252888882818152602001925080828437600081840152601f19601f8201169050808301925050509a5050505050505050505050600060405180830381600087803b158015617e5457600080fd5b505af1158015617e68573d6000803e3d6000fd5b50505050505050505050565b60608060606000600660076008600a60009054906101000a900460ff16838054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015617f265780601f10617efb57610100808354040283529160200191617f26565b820191906000526020600020905b815481529060010190602001808311617f0957829003601f168201915b50505050509350828054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015617fc25780601f10617f9757610100808354040283529160200191617fc2565b820191906000526020600020905b815481529060010190602001808311617fa557829003601f168201915b50505050509250818054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561805e5780601f106180335761010080835404028352916020019161805e565b820191906000526020600020905b81548152906001019060200180831161804157829003601f168201915b50505050509150935093509350935090919293565b6000600760405160200180806020018281038252838181546001816001161561010002031660029004815260200191508054600181600116156101000203166002900480156181035780601f106180d857610100808354040283529160200191618103565b820191906000526020600020905b8154815290600101906020018083116180e657829003601f168201915b505092505050604051602081830303815290604052805190602001206000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166381d66b23846040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060006040518083038186803b1580156181d957600080fd5b505afa1580156181ed573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f82011682018060405250602081101561821757600080fd5b81019080805164010000000081111561822f57600080fd5b8281019050602081018481111561824557600080fd5b815185600182028301116401000000008211171561826257600080fd5b50509291905050506040516020018080602001828103825283818151815260200191508051906020019080838360005b838110156182ad578082015181840152602081019050618292565b50505050905090810190601f1680156182da5780820380516001836020036101000a031916815260200191505b509250505060405160208183030381529060405280519060200120149050919050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e572515c6040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040160206040518083038186803b15801561838157600080fd5b505afa158015618395573d6000803e3d6000fd5b505050506040513d60208110156183ab57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515618441576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180619e806028913960400191505060405180910390fd5b8086868080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505060011515618495838361635e565b15151415156184ef576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526022815260200180619ece6022913960400191505060405180910390fd5b60018414806184fe5750600284145b806185095750600384145b1515618560576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526025815260200180619e5b6025913960400191505060405180910390fd5b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630cc5014687878b8b896040518663ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018080602001806020018481526020018381038352888882818152602001925080828437600081840152601f19601f8201169050808301925050508381038252868682818152602001925080828437600081840152601f19601f820116905080830192505050975050505050505050600060405180830381600087803b15801561865957600080fd5b505af115801561866d573d6000803e3d6000fd5b505050505050505050505050565b606080600080600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663014e6acc87876040518363ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180806020018281038252848482818152602001925080828437600081840152601f19601f820116905080830192505050935050505060006040518083038186803b15801561873c57600080fd5b505afa158015618750573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f82011682018060405250608081101561877a57600080fd5b81019080805164010000000081111561879257600080fd5b828101905060208101848111156187a857600080fd5b81518560018202830111640100000000821117156187c557600080fd5b505092919060200180516401000000008111156187e157600080fd5b828101905060208101848111156187f757600080fd5b815185600182028301116401000000008211171561881457600080fd5b50509291906020018051906020019092919080519060200190929190505050935093509350935092959194509250565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515618909576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f696e76616c69642063616c6c657200000000000000000000000000000000000081525060200191505060405180910390fd5b6000801515600a60009054906101000a900460ff161515141515618995576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f496e636f7272656374206e6574776f726b20626f6f742073746174757300000081525060200191505060405180910390fd5b8787600691906189a6929190619db5565b508585600791906189b8929190619db5565b508383600891906189ca929190619db5565b5081600a60006101000a81548160ff0219169083151502179055505050505050505050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e572515c6040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040160206040518083038186803b158015618a7357600080fd5b505afa158015618a87573d6000803e3d6000fd5b505050506040513d6020811015618a9d57600080fd5b810190808051906020019092919050505073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515618b33576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180619e806028913960400191505060405180910390fd5b6001801515600a60009054906101000a900460ff161515141515618bbf576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f496e636f7272656374206e6574776f726b20626f6f742073746174757300000081525060200191505060405180910390fd5b8160011515618bcd82618073565b1515141515618c27576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526026815260200180619ea86026913960400191505060405180910390fd5b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e98ac22d60068a8a8a8a8a60016040518863ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808060200180602001806020018673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200185815260200184810384528b818154600181600116156101000203166002900481526020019150805460018160011615610100020316600290048015618d625780601f10618d3757610100808354040283529160200191618d62565b820191906000526020600020905b815481529060010190602001808311618d4557829003601f168201915b505084810383528a8a82818152602001925080828437600081840152601f19601f8201169050808301925050508481038252888882818152602001925080828437600081840152601f19601f8201169050808301925050509a5050505050505050505050600060405180830381600087803b158015618de057600080fd5b505af1158015618df4573d6000803e3d6000fd5b50505050600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f9953de589896040518363ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180806020018281038252848482818152602001925080828437600081840152601f19601f8201169050808301925050509350505050600060405180830381600087803b158015618eb557600080fd5b505af1158015618ec9573d6000803e3d6000fd5b50505050600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a97a440687878b8b6040518563ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018080602001806020018381038352878782818152602001925080828437600081840152601f19601f8201169050808301925050508381038252858582818152602001925080828437600081840152601f19601f8201169050808301925050509650505050505050600060405180830381600087803b158015618fbe57600080fd5b505af1158015618fd2573d6000803e3d6000fd5b5050505060011515619028858a8a8080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050506154ea565b151514151561909f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f4f7065726174696f6e2063616e6e6f7420626520706572666f726d656400000081525060200191505060405180910390fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663e3483a9d858a8a600860016040518663ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200180602001806020018481526020018381038352878782818152602001925080828437600081840152601f19601f8201169050808301925050508381038252858181546001816001161561010002031660029004815260200191508054600181600116156101000203166002900480156191fe5780601f106191d3576101008083540402835291602001916191fe565b820191906000526020600020905b8154815290600101906020018083116191e157829003601f168201915b5050975050505050505050600060405180830381600087803b15801561922357600080fd5b505af1158015619237573d6000803e3d6000fd5b505050505050505050505050565b6000600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16638c8642df8360026040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018080602001838152602001828103825284818151815260200191508051906020019080838360005b838110156192f95780820151818401526020810190506192de565b50505050905090810190601f1680156193265780820380516001836020036101000a031916815260200191505b50935050505060206040518083038186803b15801561934457600080fd5b505afa158015619358573d6000803e3d6000fd5b505050506040513d602081101561936e57600080fd5b81019080805190602001909291905050509050919050565b6000600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16638c8642df84846040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018080602001838152602001828103825284818151815260200191508051906020019080838360005b8381101561943957808201518184015260208101905061941e565b50505050905090810190601f1680156194665780820380516001836020036101000a031916815260200191505b50935050505060206040518083038186803b15801561948457600080fd5b505afa158015619498573d6000803e3d6000fd5b505050506040513d60208110156194ae57600080fd5b8101908080519060200190929190505050905092915050565b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b02138648585856040518463ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180806020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001838152602001828103825285818151815260200191508051906020019080838360005b838110156195ad578082015181840152602081019050619592565b50505050905090810190601f1680156195da5780820380516001836020036101000a031916815260200191505b50945050505050602060405180830381600087803b1580156195fb57600080fd5b505af115801561960f573d6000803e3d6000fd5b505050506040513d602081101561962557600080fd5b810190808051906020019092919050505090509392505050565b6000600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ffe40d1d836040518263ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018080602001828103825283818151815260200191508051906020019080838360005b838110156196eb5780820151818401526020810190506196d0565b50505050905090810190601f1680156197185780820380516001836020036101000a031916815260200191505b509250505060206040518083038186803b15801561973557600080fd5b505afa158015619749573d6000803e3d6000fd5b505050506040513d602081101561975f57600080fd5b81019080805190602001909291905050509050919050565b80156198c457600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635607395b84846040518363ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180806020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828103825284818151815260200191508051906020019080838360005b8381101561985a57808201518184015260208101905061983f565b50505050905090810190601f1680156198875780820380516001836020036101000a031916815260200191505b509350505050600060405180830381600087803b1580156198a757600080fd5b505af11580156198bb573d6000803e3d6000fd5b50505050619a07565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166359cbd6fe84846040518363ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180806020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828103825284818151815260200191508051906020019080838360005b838110156199a1578082015181840152602081019050619986565b50505050905090810190601f1680156199ce5780820380516001836020036101000a031916815260200191505b509350505050600060405180830381600087803b1580156199ee57600080fd5b505af1158015619a02573d6000803e3d6000fd5b505050505b505050565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663abf5739f8484619a5786619c27565b6040518463ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180806020018060200180602001848103845287818151815260200191508051906020019080838360005b83811015619aca578082015181840152602081019050619aaf565b50505050905090810190601f168015619af75780820380516001836020036101000a031916815260200191505b50848103835286818151815260200191508051906020019080838360005b83811015619b30578082015181840152602081019050619b15565b50505050905090810190601f168015619b5d5780820380516001836020036101000a031916815260200191505b50848103825285818151815260200191508051906020019080838360005b83811015619b96578082015181840152602081019050619b7b565b50505050905090810190601f168015619bc35780820380516001836020036101000a031916815260200191505b50965050505050505060206040518083038186803b158015619be457600080fd5b505afa158015619bf8573d6000803e3d6000fd5b505050506040513d6020811015619c0e57600080fd5b8101908080519060200190929190505050905092915050565b6060600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663177c8d8a836040518263ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018080602001828103825283818151815260200191508051906020019080838360005b83811015619cd3578082015181840152602081019050619cb8565b50505050905090810190601f168015619d005780820380516001836020036101000a031916815260200191505b509250505060006040518083038186803b158015619d1d57600080fd5b505afa158015619d31573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052506020811015619d5b57600080fd5b810190808051640100000000811115619d7357600080fd5b82810190506020810184811115619d8957600080fd5b8151856001820283011164010000000082111715619da657600080fd5b50509291905050509050919050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10619df657803560ff1916838001178555619e24565b82800160010185558215619e24579182015b82811115619e23578235825591602001919060010190619e08565b5b509050619e319190619e35565b5090565b619e5791905b80821115619e53576000816000905550600101619e3b565b5090565b9056fe696e76616c696420616374696f6e2e206f7065726174696f6e206e6f7420616c6c6f77656463616e2062652063616c6c656420627920696e7465726661636520636f6e7472616374206f6e6c796163636f756e74206973206e6f742061206e6574776f726b2061646d696e206163636f756e746163636f756e74206973206e6f742061206f72672061646d696e206163636f756e74a165627a7a723058201cfc4043c31882758609d4d19ea314d7cb2a97d0aad47c021996fe1b795b5a1a0029`
// DeployPermImpl deploys a new Ethereum contract, binding an instance of PermImpl to it.
func DeployPermImpl(auth *bind.TransactOpts, backend bind.ContractBackend, _permUpgradable common.Address, _orgManager common.Address, _rolesManager common.Address, _accountManager common.Address, _voterManager common.Address, _nodeManager common.Address) (common.Address, *types.Transaction, *PermImpl, error) {
parsed, err := abi.JSON(strings.NewReader(PermImplABI))
if err != nil {
return common.Address{}, nil, nil, err
}
address, tx, contract, err := bind.DeployContract(auth, parsed, common.FromHex(PermImplBin), backend, _permUpgradable, _orgManager, _rolesManager, _accountManager, _voterManager, _nodeManager)
if err != nil {
return common.Address{}, nil, nil, err
}
return address, tx, &PermImpl{PermImplCaller: PermImplCaller{contract: contract}, PermImplTransactor: PermImplTransactor{contract: contract}, PermImplFilterer: PermImplFilterer{contract: contract}}, nil
}
// PermImpl is an auto generated Go binding around an Ethereum contract.
type PermImpl struct {
PermImplCaller // Read-only binding to the contract
PermImplTransactor // Write-only binding to the contract
PermImplFilterer // Log filterer for contract events
}
// PermImplCaller is an auto generated read-only Go binding around an Ethereum contract.
type PermImplCaller struct {
contract *bind.BoundContract // Generic contract wrapper for the low level calls
}
// PermImplTransactor is an auto generated write-only Go binding around an Ethereum contract.
type PermImplTransactor struct {
contract *bind.BoundContract // Generic contract wrapper for the low level calls
}
// PermImplFilterer is an auto generated log filtering Go binding around an Ethereum contract events.
type PermImplFilterer struct {
contract *bind.BoundContract // Generic contract wrapper for the low level calls
}
// PermImplSession is an auto generated Go binding around an Ethereum contract,
// with pre-set call and transact options.
type PermImplSession struct {
Contract *PermImpl // Generic contract binding to set the session for
CallOpts bind.CallOpts // Call options to use throughout this session
TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session
}
// PermImplCallerSession is an auto generated read-only Go binding around an Ethereum contract,
// with pre-set call options.
type PermImplCallerSession struct {
Contract *PermImplCaller // Generic contract caller binding to set the session for
CallOpts bind.CallOpts // Call options to use throughout this session
}
// PermImplTransactorSession is an auto generated write-only Go binding around an Ethereum contract,
// with pre-set transact options.
type PermImplTransactorSession struct {
Contract *PermImplTransactor // Generic contract transactor binding to set the session for
TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session
}
// PermImplRaw is an auto generated low-level Go binding around an Ethereum contract.
type PermImplRaw struct {
Contract *PermImpl // Generic contract binding to access the raw methods on
}
// PermImplCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract.
type PermImplCallerRaw struct {
Contract *PermImplCaller // Generic read-only contract binding to access the raw methods on
}
// PermImplTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract.
type PermImplTransactorRaw struct {
Contract *PermImplTransactor // Generic write-only contract binding to access the raw methods on
}
// NewPermImpl creates a new instance of PermImpl, bound to a specific deployed contract.
func NewPermImpl(address common.Address, backend bind.ContractBackend) (*PermImpl, error) {
contract, err := bindPermImpl(address, backend, backend, backend)
if err != nil {
return nil, err
}
return &PermImpl{PermImplCaller: PermImplCaller{contract: contract}, PermImplTransactor: PermImplTransactor{contract: contract}, PermImplFilterer: PermImplFilterer{contract: contract}}, nil
}
// NewPermImplCaller creates a new read-only instance of PermImpl, bound to a specific deployed contract.
func NewPermImplCaller(address common.Address, caller bind.ContractCaller) (*PermImplCaller, error) {
contract, err := bindPermImpl(address, caller, nil, nil)
if err != nil {
return nil, err
}
return &PermImplCaller{contract: contract}, nil
}
// NewPermImplTransactor creates a new write-only instance of PermImpl, bound to a specific deployed contract.
func NewPermImplTransactor(address common.Address, transactor bind.ContractTransactor) (*PermImplTransactor, error) {
contract, err := bindPermImpl(address, nil, transactor, nil)
if err != nil {
return nil, err
}
return &PermImplTransactor{contract: contract}, nil
}
// NewPermImplFilterer creates a new log filterer instance of PermImpl, bound to a specific deployed contract.
func NewPermImplFilterer(address common.Address, filterer bind.ContractFilterer) (*PermImplFilterer, error) {
contract, err := bindPermImpl(address, nil, nil, filterer)
if err != nil {
return nil, err
}
return &PermImplFilterer{contract: contract}, nil
}
// bindPermImpl binds a generic wrapper to an already deployed contract.
func bindPermImpl(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) {
parsed, err := abi.JSON(strings.NewReader(PermImplABI))
if err != nil {
return nil, err
}
return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil
}
// Call invokes the (constant) contract method with params as input values and
// sets the output to result. The result type might be a single field for simple
// returns, a slice of interfaces for anonymous returns and a struct for named
// returns.
func (_PermImpl *PermImplRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error {
return _PermImpl.Contract.PermImplCaller.contract.Call(opts, result, method, params...)
}
// Transfer initiates a plain transaction to move funds to the contract, calling
// its default method if one is available.
func (_PermImpl *PermImplRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) {
return _PermImpl.Contract.PermImplTransactor.contract.Transfer(opts)
}
// Transact invokes the (paid) contract method with params as input values.
func (_PermImpl *PermImplRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) {
return _PermImpl.Contract.PermImplTransactor.contract.Transact(opts, method, params...)
}
// Call invokes the (constant) contract method with params as input values and
// sets the output to result. The result type might be a single field for simple
// returns, a slice of interfaces for anonymous returns and a struct for named
// returns.
func (_PermImpl *PermImplCallerRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error {
return _PermImpl.Contract.contract.Call(opts, result, method, params...)
}
// Transfer initiates a plain transaction to move funds to the contract, calling
// its default method if one is available.
func (_PermImpl *PermImplTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) {
return _PermImpl.Contract.contract.Transfer(opts)
}
// Transact invokes the (paid) contract method with params as input values.
func (_PermImpl *PermImplTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) {
return _PermImpl.Contract.contract.Transact(opts, method, params...)
}
// GetNetworkBootStatus is a free data retrieval call binding the contract method 0x4cbfa82e.
//
// Solidity: function getNetworkBootStatus() constant returns(bool)
func (_PermImpl *PermImplCaller) GetNetworkBootStatus(opts *bind.CallOpts) (bool, error) {
var (
ret0 = new(bool)
)
out := ret0
err := _PermImpl.contract.Call(opts, out, "getNetworkBootStatus")
return *ret0, err
}
// GetNetworkBootStatus is a free data retrieval call binding the contract method 0x4cbfa82e.
//
// Solidity: function getNetworkBootStatus() constant returns(bool)
func (_PermImpl *PermImplSession) GetNetworkBootStatus() (bool, error) {
return _PermImpl.Contract.GetNetworkBootStatus(&_PermImpl.CallOpts)
}
// GetNetworkBootStatus is a free data retrieval call binding the contract method 0x4cbfa82e.
//
// Solidity: function getNetworkBootStatus() constant returns(bool)
func (_PermImpl *PermImplCallerSession) GetNetworkBootStatus() (bool, error) {
return _PermImpl.Contract.GetNetworkBootStatus(&_PermImpl.CallOpts)
}
// GetPendingOp is a free data retrieval call binding the contract method 0xf346a3a7.
//
// Solidity: function getPendingOp(_orgId string) constant returns(string, string, address, uint256)
func (_PermImpl *PermImplCaller) GetPendingOp(opts *bind.CallOpts, _orgId string) (string, string, common.Address, *big.Int, error) {
var (
ret0 = new(string)
ret1 = new(string)
ret2 = new(common.Address)
ret3 = new(*big.Int)
)
out := &[]interface{}{
ret0,
ret1,
ret2,
ret3,
}
err := _PermImpl.contract.Call(opts, out, "getPendingOp", _orgId)
return *ret0, *ret1, *ret2, *ret3, err
}
// GetPendingOp is a free data retrieval call binding the contract method 0xf346a3a7.
//
// Solidity: function getPendingOp(_orgId string) constant returns(string, string, address, uint256)
func (_PermImpl *PermImplSession) GetPendingOp(_orgId string) (string, string, common.Address, *big.Int, error) {
return _PermImpl.Contract.GetPendingOp(&_PermImpl.CallOpts, _orgId)
}
// GetPendingOp is a free data retrieval call binding the contract method 0xf346a3a7.
//
// Solidity: function getPendingOp(_orgId string) constant returns(string, string, address, uint256)
func (_PermImpl *PermImplCallerSession) GetPendingOp(_orgId string) (string, string, common.Address, *big.Int, error) {
return _PermImpl.Contract.GetPendingOp(&_PermImpl.CallOpts, _orgId)
}
// GetPolicyDetails is a free data retrieval call binding the contract method 0xcc9ba6fa.
//
// Solidity: function getPolicyDetails() constant returns(string, string, string, bool)
func (_PermImpl *PermImplCaller) GetPolicyDetails(opts *bind.CallOpts) (string, string, string, bool, error) {
var (
ret0 = new(string)
ret1 = new(string)
ret2 = new(string)
ret3 = new(bool)
)
out := &[]interface{}{
ret0,
ret1,
ret2,
ret3,
}
err := _PermImpl.contract.Call(opts, out, "getPolicyDetails")
return *ret0, *ret1, *ret2, *ret3, err
}
// GetPolicyDetails is a free data retrieval call binding the contract method 0xcc9ba6fa.
//
// Solidity: function getPolicyDetails() constant returns(string, string, string, bool)
func (_PermImpl *PermImplSession) GetPolicyDetails() (string, string, string, bool, error) {
return _PermImpl.Contract.GetPolicyDetails(&_PermImpl.CallOpts)
}
// GetPolicyDetails is a free data retrieval call binding the contract method 0xcc9ba6fa.
//
// Solidity: function getPolicyDetails() constant returns(string, string, string, bool)
func (_PermImpl *PermImplCallerSession) GetPolicyDetails() (string, string, string, bool, error) {
return _PermImpl.Contract.GetPolicyDetails(&_PermImpl.CallOpts)
}
// IsNetworkAdmin is a free data retrieval call binding the contract method 0xd1aa0c20.
//
// Solidity: function isNetworkAdmin(_account address) constant returns(bool)
func (_PermImpl *PermImplCaller) IsNetworkAdmin(opts *bind.CallOpts, _account common.Address) (bool, error) {
var (
ret0 = new(bool)
)
out := ret0
err := _PermImpl.contract.Call(opts, out, "isNetworkAdmin", _account)
return *ret0, err
}
// IsNetworkAdmin is a free data retrieval call binding the contract method 0xd1aa0c20.
//
// Solidity: function isNetworkAdmin(_account address) constant returns(bool)
func (_PermImpl *PermImplSession) IsNetworkAdmin(_account common.Address) (bool, error) {
return _PermImpl.Contract.IsNetworkAdmin(&_PermImpl.CallOpts, _account)
}
// IsNetworkAdmin is a free data retrieval call binding the contract method 0xd1aa0c20.
//
// Solidity: function isNetworkAdmin(_account address) constant returns(bool)
func (_PermImpl *PermImplCallerSession) IsNetworkAdmin(_account common.Address) (bool, error) {
return _PermImpl.Contract.IsNetworkAdmin(&_PermImpl.CallOpts, _account)
}
// IsOrgAdmin is a free data retrieval call binding the contract method 0x9bd38101.
//
// Solidity: function isOrgAdmin(_account address, _orgId string) constant returns(bool)
func (_PermImpl *PermImplCaller) IsOrgAdmin(opts *bind.CallOpts, _account common.Address, _orgId string) (bool, error) {
var (
ret0 = new(bool)
)
out := ret0
err := _PermImpl.contract.Call(opts, out, "isOrgAdmin", _account, _orgId)
return *ret0, err
}
// IsOrgAdmin is a free data retrieval call binding the contract method 0x9bd38101.
//
// Solidity: function isOrgAdmin(_account address, _orgId string) constant returns(bool)
func (_PermImpl *PermImplSession) IsOrgAdmin(_account common.Address, _orgId string) (bool, error) {
return _PermImpl.Contract.IsOrgAdmin(&_PermImpl.CallOpts, _account, _orgId)
}
// IsOrgAdmin is a free data retrieval call binding the contract method 0x9bd38101.
//
// Solidity: function isOrgAdmin(_account address, _orgId string) constant returns(bool)
func (_PermImpl *PermImplCallerSession) IsOrgAdmin(_account common.Address, _orgId string) (bool, error) {
return _PermImpl.Contract.IsOrgAdmin(&_PermImpl.CallOpts, _account, _orgId)
}
// ValidateAccount is a free data retrieval call binding the contract method 0x6b568d76.
//
// Solidity: function validateAccount(_account address, _orgId string) constant returns(bool)
func (_PermImpl *PermImplCaller) ValidateAccount(opts *bind.CallOpts, _account common.Address, _orgId string) (bool, error) {
var (
ret0 = new(bool)
)
out := ret0
err := _PermImpl.contract.Call(opts, out, "validateAccount", _account, _orgId)
return *ret0, err
}
// ValidateAccount is a free data retrieval call binding the contract method 0x6b568d76.
//
// Solidity: function validateAccount(_account address, _orgId string) constant returns(bool)
func (_PermImpl *PermImplSession) ValidateAccount(_account common.Address, _orgId string) (bool, error) {
return _PermImpl.Contract.ValidateAccount(&_PermImpl.CallOpts, _account, _orgId)
}
// ValidateAccount is a free data retrieval call binding the contract method 0x6b568d76.
//
// Solidity: function validateAccount(_account address, _orgId string) constant returns(bool)
func (_PermImpl *PermImplCallerSession) ValidateAccount(_account common.Address, _orgId string) (bool, error) {
return _PermImpl.Contract.ValidateAccount(&_PermImpl.CallOpts, _account, _orgId)
}
// AddAdminAccount is a paid mutator transaction binding the contract method 0x4fe57e7a.
//
// Solidity: function addAdminAccount(_account address) returns()
func (_PermImpl *PermImplTransactor) AddAdminAccount(opts *bind.TransactOpts, _account common.Address) (*types.Transaction, error) {
return _PermImpl.contract.Transact(opts, "addAdminAccount", _account)
}
// AddAdminAccount is a paid mutator transaction binding the contract method 0x4fe57e7a.
//
// Solidity: function addAdminAccount(_account address) returns()
func (_PermImpl *PermImplSession) AddAdminAccount(_account common.Address) (*types.Transaction, error) {
return _PermImpl.Contract.AddAdminAccount(&_PermImpl.TransactOpts, _account)
}
// AddAdminAccount is a paid mutator transaction binding the contract method 0x4fe57e7a.
//
// Solidity: function addAdminAccount(_account address) returns()
func (_PermImpl *PermImplTransactorSession) AddAdminAccount(_account common.Address) (*types.Transaction, error) {
return _PermImpl.Contract.AddAdminAccount(&_PermImpl.TransactOpts, _account)
}
// AddAdminNode is a paid mutator transaction binding the contract method 0x3f25c288.
//
// Solidity: function addAdminNode(_enodeId string) returns()
func (_PermImpl *PermImplTransactor) AddAdminNode(opts *bind.TransactOpts, _enodeId string) (*types.Transaction, error) {
return _PermImpl.contract.Transact(opts, "addAdminNode", _enodeId)
}
// AddAdminNode is a paid mutator transaction binding the contract method 0x3f25c288.
//
// Solidity: function addAdminNode(_enodeId string) returns()
func (_PermImpl *PermImplSession) AddAdminNode(_enodeId string) (*types.Transaction, error) {
return _PermImpl.Contract.AddAdminNode(&_PermImpl.TransactOpts, _enodeId)
}
// AddAdminNode is a paid mutator transaction binding the contract method 0x3f25c288.
//
// Solidity: function addAdminNode(_enodeId string) returns()
func (_PermImpl *PermImplTransactorSession) AddAdminNode(_enodeId string) (*types.Transaction, error) {
return _PermImpl.Contract.AddAdminNode(&_PermImpl.TransactOpts, _enodeId)
}
// AddNewRole is a paid mutator transaction binding the contract method 0x1b04c276.
//
// Solidity: function addNewRole(_roleId string, _orgId string, _access uint256, _voter bool, _admin bool, _caller address) returns()
func (_PermImpl *PermImplTransactor) AddNewRole(opts *bind.TransactOpts, _roleId string, _orgId string, _access *big.Int, _voter bool, _admin bool, _caller common.Address) (*types.Transaction, error) {
return _PermImpl.contract.Transact(opts, "addNewRole", _roleId, _orgId, _access, _voter, _admin, _caller)
}
// AddNewRole is a paid mutator transaction binding the contract method 0x1b04c276.
//
// Solidity: function addNewRole(_roleId string, _orgId string, _access uint256, _voter bool, _admin bool, _caller address) returns()
func (_PermImpl *PermImplSession) AddNewRole(_roleId string, _orgId string, _access *big.Int, _voter bool, _admin bool, _caller common.Address) (*types.Transaction, error) {
return _PermImpl.Contract.AddNewRole(&_PermImpl.TransactOpts, _roleId, _orgId, _access, _voter, _admin, _caller)
}
// AddNewRole is a paid mutator transaction binding the contract method 0x1b04c276.
//
// Solidity: function addNewRole(_roleId string, _orgId string, _access uint256, _voter bool, _admin bool, _caller address) returns()
func (_PermImpl *PermImplTransactorSession) AddNewRole(_roleId string, _orgId string, _access *big.Int, _voter bool, _admin bool, _caller common.Address) (*types.Transaction, error) {
return _PermImpl.Contract.AddNewRole(&_PermImpl.TransactOpts, _roleId, _orgId, _access, _voter, _admin, _caller)
}
// AddNode is a paid mutator transaction binding the contract method 0x59a260a3.
//
// Solidity: function addNode(_orgId string, _enodeId string, _caller address) returns()
func (_PermImpl *PermImplTransactor) AddNode(opts *bind.TransactOpts, _orgId string, _enodeId string, _caller common.Address) (*types.Transaction, error) {
return _PermImpl.contract.Transact(opts, "addNode", _orgId, _enodeId, _caller)
}
// AddNode is a paid mutator transaction binding the contract method 0x59a260a3.
//
// Solidity: function addNode(_orgId string, _enodeId string, _caller address) returns()
func (_PermImpl *PermImplSession) AddNode(_orgId string, _enodeId string, _caller common.Address) (*types.Transaction, error) {
return _PermImpl.Contract.AddNode(&_PermImpl.TransactOpts, _orgId, _enodeId, _caller)
}
// AddNode is a paid mutator transaction binding the contract method 0x59a260a3.
//
// Solidity: function addNode(_orgId string, _enodeId string, _caller address) returns()
func (_PermImpl *PermImplTransactorSession) AddNode(_orgId string, _enodeId string, _caller common.Address) (*types.Transaction, error) {
return _PermImpl.Contract.AddNode(&_PermImpl.TransactOpts, _orgId, _enodeId, _caller)
}
// AddOrg is a paid mutator transaction binding the contract method 0xf922f802.
//
// Solidity: function addOrg(_orgId string, _enodeId string, _account address, _caller address) returns()
func (_PermImpl *PermImplTransactor) AddOrg(opts *bind.TransactOpts, _orgId string, _enodeId string, _account common.Address, _caller common.Address) (*types.Transaction, error) {
return _PermImpl.contract.Transact(opts, "addOrg", _orgId, _enodeId, _account, _caller)
}
// AddOrg is a paid mutator transaction binding the contract method 0xf922f802.
//
// Solidity: function addOrg(_orgId string, _enodeId string, _account address, _caller address) returns()
func (_PermImpl *PermImplSession) AddOrg(_orgId string, _enodeId string, _account common.Address, _caller common.Address) (*types.Transaction, error) {
return _PermImpl.Contract.AddOrg(&_PermImpl.TransactOpts, _orgId, _enodeId, _account, _caller)
}
// AddOrg is a paid mutator transaction binding the contract method 0xf922f802.
//
// Solidity: function addOrg(_orgId string, _enodeId string, _account address, _caller address) returns()
func (_PermImpl *PermImplTransactorSession) AddOrg(_orgId string, _enodeId string, _account common.Address, _caller common.Address) (*types.Transaction, error) {
return _PermImpl.Contract.AddOrg(&_PermImpl.TransactOpts, _orgId, _enodeId, _account, _caller)
}
// AddSubOrg is a paid mutator transaction binding the contract method 0xa64d2860.
//
// Solidity: function addSubOrg(_pOrgId string, _orgId string, _enodeId string, _caller address) returns()
func (_PermImpl *PermImplTransactor) AddSubOrg(opts *bind.TransactOpts, _pOrgId string, _orgId string, _enodeId string, _caller common.Address) (*types.Transaction, error) {
return _PermImpl.contract.Transact(opts, "addSubOrg", _pOrgId, _orgId, _enodeId, _caller)
}
// AddSubOrg is a paid mutator transaction binding the contract method 0xa64d2860.
//
// Solidity: function addSubOrg(_pOrgId string, _orgId string, _enodeId string, _caller address) returns()
func (_PermImpl *PermImplSession) AddSubOrg(_pOrgId string, _orgId string, _enodeId string, _caller common.Address) (*types.Transaction, error) {
return _PermImpl.Contract.AddSubOrg(&_PermImpl.TransactOpts, _pOrgId, _orgId, _enodeId, _caller)
}
// AddSubOrg is a paid mutator transaction binding the contract method 0xa64d2860.
//
// Solidity: function addSubOrg(_pOrgId string, _orgId string, _enodeId string, _caller address) returns()
func (_PermImpl *PermImplTransactorSession) AddSubOrg(_pOrgId string, _orgId string, _enodeId string, _caller common.Address) (*types.Transaction, error) {
return _PermImpl.Contract.AddSubOrg(&_PermImpl.TransactOpts, _pOrgId, _orgId, _enodeId, _caller)
}
// ApproveAdminRole is a paid mutator transaction binding the contract method 0x88843041.
//
// Solidity: function approveAdminRole(_orgId string, _account address, _caller address) returns()
func (_PermImpl *PermImplTransactor) ApproveAdminRole(opts *bind.TransactOpts, _orgId string, _account common.Address, _caller common.Address) (*types.Transaction, error) {
return _PermImpl.contract.Transact(opts, "approveAdminRole", _orgId, _account, _caller)
}
// ApproveAdminRole is a paid mutator transaction binding the contract method 0x88843041.
//
// Solidity: function approveAdminRole(_orgId string, _account address, _caller address) returns()
func (_PermImpl *PermImplSession) ApproveAdminRole(_orgId string, _account common.Address, _caller common.Address) (*types.Transaction, error) {
return _PermImpl.Contract.ApproveAdminRole(&_PermImpl.TransactOpts, _orgId, _account, _caller)
}
// ApproveAdminRole is a paid mutator transaction binding the contract method 0x88843041.
//
// Solidity: function approveAdminRole(_orgId string, _account address, _caller address) returns()
func (_PermImpl *PermImplTransactorSession) ApproveAdminRole(_orgId string, _account common.Address, _caller common.Address) (*types.Transaction, error) {
return _PermImpl.Contract.ApproveAdminRole(&_PermImpl.TransactOpts, _orgId, _account, _caller)
}
// ApproveBlacklistedAccountRecovery is a paid mutator transaction binding the contract method 0x4b20f45f.
//
// Solidity: function approveBlacklistedAccountRecovery(_orgId string, _account address, _caller address) returns()
func (_PermImpl *PermImplTransactor) ApproveBlacklistedAccountRecovery(opts *bind.TransactOpts, _orgId string, _account common.Address, _caller common.Address) (*types.Transaction, error) {
return _PermImpl.contract.Transact(opts, "approveBlacklistedAccountRecovery", _orgId, _account, _caller)
}
// ApproveBlacklistedAccountRecovery is a paid mutator transaction binding the contract method 0x4b20f45f.
//
// Solidity: function approveBlacklistedAccountRecovery(_orgId string, _account address, _caller address) returns()
func (_PermImpl *PermImplSession) ApproveBlacklistedAccountRecovery(_orgId string, _account common.Address, _caller common.Address) (*types.Transaction, error) {
return _PermImpl.Contract.ApproveBlacklistedAccountRecovery(&_PermImpl.TransactOpts, _orgId, _account, _caller)
}
// ApproveBlacklistedAccountRecovery is a paid mutator transaction binding the contract method 0x4b20f45f.
//
// Solidity: function approveBlacklistedAccountRecovery(_orgId string, _account address, _caller address) returns()
func (_PermImpl *PermImplTransactorSession) ApproveBlacklistedAccountRecovery(_orgId string, _account common.Address, _caller common.Address) (*types.Transaction, error) {
return _PermImpl.Contract.ApproveBlacklistedAccountRecovery(&_PermImpl.TransactOpts, _orgId, _account, _caller)
}
// ApproveBlacklistedNodeRecovery is a paid mutator transaction binding the contract method 0x655a8ef5.
//
// Solidity: function approveBlacklistedNodeRecovery(_orgId string, _enodeId string, _caller address) returns()
func (_PermImpl *PermImplTransactor) ApproveBlacklistedNodeRecovery(opts *bind.TransactOpts, _orgId string, _enodeId string, _caller common.Address) (*types.Transaction, error) {
return _PermImpl.contract.Transact(opts, "approveBlacklistedNodeRecovery", _orgId, _enodeId, _caller)
}
// ApproveBlacklistedNodeRecovery is a paid mutator transaction binding the contract method 0x655a8ef5.
//
// Solidity: function approveBlacklistedNodeRecovery(_orgId string, _enodeId string, _caller address) returns()
func (_PermImpl *PermImplSession) ApproveBlacklistedNodeRecovery(_orgId string, _enodeId string, _caller common.Address) (*types.Transaction, error) {
return _PermImpl.Contract.ApproveBlacklistedNodeRecovery(&_PermImpl.TransactOpts, _orgId, _enodeId, _caller)
}
// ApproveBlacklistedNodeRecovery is a paid mutator transaction binding the contract method 0x655a8ef5.
//
// Solidity: function approveBlacklistedNodeRecovery(_orgId string, _enodeId string, _caller address) returns()
func (_PermImpl *PermImplTransactorSession) ApproveBlacklistedNodeRecovery(_orgId string, _enodeId string, _caller common.Address) (*types.Transaction, error) {
return _PermImpl.Contract.ApproveBlacklistedNodeRecovery(&_PermImpl.TransactOpts, _orgId, _enodeId, _caller)
}
// ApproveOrg is a paid mutator transaction binding the contract method 0x3bc07dea.
//
// Solidity: function approveOrg(_orgId string, _enodeId string, _account address, _caller address) returns()
func (_PermImpl *PermImplTransactor) ApproveOrg(opts *bind.TransactOpts, _orgId string, _enodeId string, _account common.Address, _caller common.Address) (*types.Transaction, error) {
return _PermImpl.contract.Transact(opts, "approveOrg", _orgId, _enodeId, _account, _caller)
}
// ApproveOrg is a paid mutator transaction binding the contract method 0x3bc07dea.
//
// Solidity: function approveOrg(_orgId string, _enodeId string, _account address, _caller address) returns()
func (_PermImpl *PermImplSession) ApproveOrg(_orgId string, _enodeId string, _account common.Address, _caller common.Address) (*types.Transaction, error) {
return _PermImpl.Contract.ApproveOrg(&_PermImpl.TransactOpts, _orgId, _enodeId, _account, _caller)
}
// ApproveOrg is a paid mutator transaction binding the contract method 0x3bc07dea.
//
// Solidity: function approveOrg(_orgId string, _enodeId string, _account address, _caller address) returns()
func (_PermImpl *PermImplTransactorSession) ApproveOrg(_orgId string, _enodeId string, _account common.Address, _caller common.Address) (*types.Transaction, error) {
return _PermImpl.Contract.ApproveOrg(&_PermImpl.TransactOpts, _orgId, _enodeId, _account, _caller)
}
// ApproveOrgStatus is a paid mutator transaction binding the contract method 0xb5546564.
//
// Solidity: function approveOrgStatus(_orgId string, _action uint256, _caller address) returns()
func (_PermImpl *PermImplTransactor) ApproveOrgStatus(opts *bind.TransactOpts, _orgId string, _action *big.Int, _caller common.Address) (*types.Transaction, error) {
return _PermImpl.contract.Transact(opts, "approveOrgStatus", _orgId, _action, _caller)
}
// ApproveOrgStatus is a paid mutator transaction binding the contract method 0xb5546564.
//
// Solidity: function approveOrgStatus(_orgId string, _action uint256, _caller address) returns()
func (_PermImpl *PermImplSession) ApproveOrgStatus(_orgId string, _action *big.Int, _caller common.Address) (*types.Transaction, error) {
return _PermImpl.Contract.ApproveOrgStatus(&_PermImpl.TransactOpts, _orgId, _action, _caller)
}
// ApproveOrgStatus is a paid mutator transaction binding the contract method 0xb5546564.
//
// Solidity: function approveOrgStatus(_orgId string, _action uint256, _caller address) returns()
func (_PermImpl *PermImplTransactorSession) ApproveOrgStatus(_orgId string, _action *big.Int, _caller common.Address) (*types.Transaction, error) {
return _PermImpl.Contract.ApproveOrgStatus(&_PermImpl.TransactOpts, _orgId, _action, _caller)
}
// AssignAccountRole is a paid mutator transaction binding the contract method 0x8baa8191.
//
// Solidity: function assignAccountRole(_account address, _orgId string, _roleId string, _caller address) returns()
func (_PermImpl *PermImplTransactor) AssignAccountRole(opts *bind.TransactOpts, _account common.Address, _orgId string, _roleId string, _caller common.Address) (*types.Transaction, error) {
return _PermImpl.contract.Transact(opts, "assignAccountRole", _account, _orgId, _roleId, _caller)
}
// AssignAccountRole is a paid mutator transaction binding the contract method 0x8baa8191.
//
// Solidity: function assignAccountRole(_account address, _orgId string, _roleId string, _caller address) returns()
func (_PermImpl *PermImplSession) AssignAccountRole(_account common.Address, _orgId string, _roleId string, _caller common.Address) (*types.Transaction, error) {
return _PermImpl.Contract.AssignAccountRole(&_PermImpl.TransactOpts, _account, _orgId, _roleId, _caller)
}
// AssignAccountRole is a paid mutator transaction binding the contract method 0x8baa8191.
//
// Solidity: function assignAccountRole(_account address, _orgId string, _roleId string, _caller address) returns()
func (_PermImpl *PermImplTransactorSession) AssignAccountRole(_account common.Address, _orgId string, _roleId string, _caller common.Address) (*types.Transaction, error) {
return _PermImpl.Contract.AssignAccountRole(&_PermImpl.TransactOpts, _account, _orgId, _roleId, _caller)
}
// AssignAdminRole is a paid mutator transaction binding the contract method 0x404bf3eb.
//
// Solidity: function assignAdminRole(_orgId string, _account address, _roleId string, _caller address) returns()
func (_PermImpl *PermImplTransactor) AssignAdminRole(opts *bind.TransactOpts, _orgId string, _account common.Address, _roleId string, _caller common.Address) (*types.Transaction, error) {
return _PermImpl.contract.Transact(opts, "assignAdminRole", _orgId, _account, _roleId, _caller)
}
// AssignAdminRole is a paid mutator transaction binding the contract method 0x404bf3eb.
//
// Solidity: function assignAdminRole(_orgId string, _account address, _roleId string, _caller address) returns()
func (_PermImpl *PermImplSession) AssignAdminRole(_orgId string, _account common.Address, _roleId string, _caller common.Address) (*types.Transaction, error) {
return _PermImpl.Contract.AssignAdminRole(&_PermImpl.TransactOpts, _orgId, _account, _roleId, _caller)
}
// AssignAdminRole is a paid mutator transaction binding the contract method 0x404bf3eb.
//
// Solidity: function assignAdminRole(_orgId string, _account address, _roleId string, _caller address) returns()
func (_PermImpl *PermImplTransactorSession) AssignAdminRole(_orgId string, _account common.Address, _roleId string, _caller common.Address) (*types.Transaction, error) {
return _PermImpl.Contract.AssignAdminRole(&_PermImpl.TransactOpts, _orgId, _account, _roleId, _caller)
}
// Init is a paid mutator transaction binding the contract method 0xa5843f08.
//
// Solidity: function init(_breadth uint256, _depth uint256) returns()
func (_PermImpl *PermImplTransactor) Init(opts *bind.TransactOpts, _breadth *big.Int, _depth *big.Int) (*types.Transaction, error) {
return _PermImpl.contract.Transact(opts, "init", _breadth, _depth)
}
// Init is a paid mutator transaction binding the contract method 0xa5843f08.
//
// Solidity: function init(_breadth uint256, _depth uint256) returns()
func (_PermImpl *PermImplSession) Init(_breadth *big.Int, _depth *big.Int) (*types.Transaction, error) {
return _PermImpl.Contract.Init(&_PermImpl.TransactOpts, _breadth, _depth)
}
// Init is a paid mutator transaction binding the contract method 0xa5843f08.
//
// Solidity: function init(_breadth uint256, _depth uint256) returns()
func (_PermImpl *PermImplTransactorSession) Init(_breadth *big.Int, _depth *big.Int) (*types.Transaction, error) {
return _PermImpl.Contract.Init(&_PermImpl.TransactOpts, _breadth, _depth)
}
// RemoveRole is a paid mutator transaction binding the contract method 0x5ca5adbe.
//
// Solidity: function removeRole(_roleId string, _orgId string, _caller address) returns()
func (_PermImpl *PermImplTransactor) RemoveRole(opts *bind.TransactOpts, _roleId string, _orgId string, _caller common.Address) (*types.Transaction, error) {
return _PermImpl.contract.Transact(opts, "removeRole", _roleId, _orgId, _caller)
}
// RemoveRole is a paid mutator transaction binding the contract method 0x5ca5adbe.
//
// Solidity: function removeRole(_roleId string, _orgId string, _caller address) returns()
func (_PermImpl *PermImplSession) RemoveRole(_roleId string, _orgId string, _caller common.Address) (*types.Transaction, error) {
return _PermImpl.Contract.RemoveRole(&_PermImpl.TransactOpts, _roleId, _orgId, _caller)
}
// RemoveRole is a paid mutator transaction binding the contract method 0x5ca5adbe.
//
// Solidity: function removeRole(_roleId string, _orgId string, _caller address) returns()
func (_PermImpl *PermImplTransactorSession) RemoveRole(_roleId string, _orgId string, _caller common.Address) (*types.Transaction, error) {
return _PermImpl.Contract.RemoveRole(&_PermImpl.TransactOpts, _roleId, _orgId, _caller)
}
// SetMigrationPolicy is a paid mutator transaction binding the contract method 0xf5ad584a.
//
// Solidity: function setMigrationPolicy(_nwAdminOrg string, _nwAdminRole string, _oAdminRole string, _networkBootStatus bool) returns()
func (_PermImpl *PermImplTransactor) SetMigrationPolicy(opts *bind.TransactOpts, _nwAdminOrg string, _nwAdminRole string, _oAdminRole string, _networkBootStatus bool) (*types.Transaction, error) {
return _PermImpl.contract.Transact(opts, "setMigrationPolicy", _nwAdminOrg, _nwAdminRole, _oAdminRole, _networkBootStatus)
}
// SetMigrationPolicy is a paid mutator transaction binding the contract method 0xf5ad584a.
//
// Solidity: function setMigrationPolicy(_nwAdminOrg string, _nwAdminRole string, _oAdminRole string, _networkBootStatus bool) returns()
func (_PermImpl *PermImplSession) SetMigrationPolicy(_nwAdminOrg string, _nwAdminRole string, _oAdminRole string, _networkBootStatus bool) (*types.Transaction, error) {
return _PermImpl.Contract.SetMigrationPolicy(&_PermImpl.TransactOpts, _nwAdminOrg, _nwAdminRole, _oAdminRole, _networkBootStatus)
}
// SetMigrationPolicy is a paid mutator transaction binding the contract method 0xf5ad584a.
//
// Solidity: function setMigrationPolicy(_nwAdminOrg string, _nwAdminRole string, _oAdminRole string, _networkBootStatus bool) returns()
func (_PermImpl *PermImplTransactorSession) SetMigrationPolicy(_nwAdminOrg string, _nwAdminRole string, _oAdminRole string, _networkBootStatus bool) (*types.Transaction, error) {
return _PermImpl.Contract.SetMigrationPolicy(&_PermImpl.TransactOpts, _nwAdminOrg, _nwAdminRole, _oAdminRole, _networkBootStatus)
}
// SetPolicy is a paid mutator transaction binding the contract method 0x1b610220.
//
// Solidity: function setPolicy(_nwAdminOrg string, _nwAdminRole string, _oAdminRole string) returns()
func (_PermImpl *PermImplTransactor) SetPolicy(opts *bind.TransactOpts, _nwAdminOrg string, _nwAdminRole string, _oAdminRole string) (*types.Transaction, error) {
return _PermImpl.contract.Transact(opts, "setPolicy", _nwAdminOrg, _nwAdminRole, _oAdminRole)
}
// SetPolicy is a paid mutator transaction binding the contract method 0x1b610220.
//
// Solidity: function setPolicy(_nwAdminOrg string, _nwAdminRole string, _oAdminRole string) returns()
func (_PermImpl *PermImplSession) SetPolicy(_nwAdminOrg string, _nwAdminRole string, _oAdminRole string) (*types.Transaction, error) {
return _PermImpl.Contract.SetPolicy(&_PermImpl.TransactOpts, _nwAdminOrg, _nwAdminRole, _oAdminRole)
}
// SetPolicy is a paid mutator transaction binding the contract method 0x1b610220.
//
// Solidity: function setPolicy(_nwAdminOrg string, _nwAdminRole string, _oAdminRole string) returns()
func (_PermImpl *PermImplTransactorSession) SetPolicy(_nwAdminOrg string, _nwAdminRole string, _oAdminRole string) (*types.Transaction, error) {
return _PermImpl.Contract.SetPolicy(&_PermImpl.TransactOpts, _nwAdminOrg, _nwAdminRole, _oAdminRole)
}
// StartBlacklistedAccountRecovery is a paid mutator transaction binding the contract method 0x1c249912.
//
// Solidity: function startBlacklistedAccountRecovery(_orgId string, _account address, _caller address) returns()
func (_PermImpl *PermImplTransactor) StartBlacklistedAccountRecovery(opts *bind.TransactOpts, _orgId string, _account common.Address, _caller common.Address) (*types.Transaction, error) {
return _PermImpl.contract.Transact(opts, "startBlacklistedAccountRecovery", _orgId, _account, _caller)
}
// StartBlacklistedAccountRecovery is a paid mutator transaction binding the contract method 0x1c249912.
//
// Solidity: function startBlacklistedAccountRecovery(_orgId string, _account address, _caller address) returns()
func (_PermImpl *PermImplSession) StartBlacklistedAccountRecovery(_orgId string, _account common.Address, _caller common.Address) (*types.Transaction, error) {
return _PermImpl.Contract.StartBlacklistedAccountRecovery(&_PermImpl.TransactOpts, _orgId, _account, _caller)
}
// StartBlacklistedAccountRecovery is a paid mutator transaction binding the contract method 0x1c249912.
//
// Solidity: function startBlacklistedAccountRecovery(_orgId string, _account address, _caller address) returns()
func (_PermImpl *PermImplTransactorSession) StartBlacklistedAccountRecovery(_orgId string, _account common.Address, _caller common.Address) (*types.Transaction, error) {
return _PermImpl.Contract.StartBlacklistedAccountRecovery(&_PermImpl.TransactOpts, _orgId, _account, _caller)
}
// StartBlacklistedNodeRecovery is a paid mutator transaction binding the contract method 0xc3dc8e09.
//
// Solidity: function startBlacklistedNodeRecovery(_orgId string, _enodeId string, _caller address) returns()
func (_PermImpl *PermImplTransactor) StartBlacklistedNodeRecovery(opts *bind.TransactOpts, _orgId string, _enodeId string, _caller common.Address) (*types.Transaction, error) {
return _PermImpl.contract.Transact(opts, "startBlacklistedNodeRecovery", _orgId, _enodeId, _caller)
}
// StartBlacklistedNodeRecovery is a paid mutator transaction binding the contract method 0xc3dc8e09.
//
// Solidity: function startBlacklistedNodeRecovery(_orgId string, _enodeId string, _caller address) returns()
func (_PermImpl *PermImplSession) StartBlacklistedNodeRecovery(_orgId string, _enodeId string, _caller common.Address) (*types.Transaction, error) {
return _PermImpl.Contract.StartBlacklistedNodeRecovery(&_PermImpl.TransactOpts, _orgId, _enodeId, _caller)
}
// StartBlacklistedNodeRecovery is a paid mutator transaction binding the contract method 0xc3dc8e09.
//
// Solidity: function startBlacklistedNodeRecovery(_orgId string, _enodeId string, _caller address) returns()
func (_PermImpl *PermImplTransactorSession) StartBlacklistedNodeRecovery(_orgId string, _enodeId string, _caller common.Address) (*types.Transaction, error) {
return _PermImpl.Contract.StartBlacklistedNodeRecovery(&_PermImpl.TransactOpts, _orgId, _enodeId, _caller)
}
// UpdateAccountStatus is a paid mutator transaction binding the contract method 0x04e81f1e.
//
// Solidity: function updateAccountStatus(_orgId string, _account address, _action uint256, _caller address) returns()
func (_PermImpl *PermImplTransactor) UpdateAccountStatus(opts *bind.TransactOpts, _orgId string, _account common.Address, _action *big.Int, _caller common.Address) (*types.Transaction, error) {
return _PermImpl.contract.Transact(opts, "updateAccountStatus", _orgId, _account, _action, _caller)
}
// UpdateAccountStatus is a paid mutator transaction binding the contract method 0x04e81f1e.
//
// Solidity: function updateAccountStatus(_orgId string, _account address, _action uint256, _caller address) returns()
func (_PermImpl *PermImplSession) UpdateAccountStatus(_orgId string, _account common.Address, _action *big.Int, _caller common.Address) (*types.Transaction, error) {
return _PermImpl.Contract.UpdateAccountStatus(&_PermImpl.TransactOpts, _orgId, _account, _action, _caller)
}
// UpdateAccountStatus is a paid mutator transaction binding the contract method 0x04e81f1e.
//
// Solidity: function updateAccountStatus(_orgId string, _account address, _action uint256, _caller address) returns()
func (_PermImpl *PermImplTransactorSession) UpdateAccountStatus(_orgId string, _account common.Address, _action *big.Int, _caller common.Address) (*types.Transaction, error) {
return _PermImpl.Contract.UpdateAccountStatus(&_PermImpl.TransactOpts, _orgId, _account, _action, _caller)
}
// UpdateNetworkBootStatus is a paid mutator transaction binding the contract method 0x44478e79.
//
// Solidity: function updateNetworkBootStatus() returns(bool)
func (_PermImpl *PermImplTransactor) UpdateNetworkBootStatus(opts *bind.TransactOpts) (*types.Transaction, error) {
return _PermImpl.contract.Transact(opts, "updateNetworkBootStatus")
}
// UpdateNetworkBootStatus is a paid mutator transaction binding the contract method 0x44478e79.
//
// Solidity: function updateNetworkBootStatus() returns(bool)
func (_PermImpl *PermImplSession) UpdateNetworkBootStatus() (*types.Transaction, error) {
return _PermImpl.Contract.UpdateNetworkBootStatus(&_PermImpl.TransactOpts)
}
// UpdateNetworkBootStatus is a paid mutator transaction binding the contract method 0x44478e79.
//
// Solidity: function updateNetworkBootStatus() returns(bool)
func (_PermImpl *PermImplTransactorSession) UpdateNetworkBootStatus() (*types.Transaction, error) {
return _PermImpl.Contract.UpdateNetworkBootStatus(&_PermImpl.TransactOpts)
}
// UpdateNodeStatus is a paid mutator transaction binding the contract method 0xdbfad711.
//
// Solidity: function updateNodeStatus(_orgId string, _enodeId string, _action uint256, _caller address) returns()
func (_PermImpl *PermImplTransactor) UpdateNodeStatus(opts *bind.TransactOpts, _orgId string, _enodeId string, _action *big.Int, _caller common.Address) (*types.Transaction, error) {
return _PermImpl.contract.Transact(opts, "updateNodeStatus", _orgId, _enodeId, _action, _caller)
}
// UpdateNodeStatus is a paid mutator transaction binding the contract method 0xdbfad711.
//
// Solidity: function updateNodeStatus(_orgId string, _enodeId string, _action uint256, _caller address) returns()
func (_PermImpl *PermImplSession) UpdateNodeStatus(_orgId string, _enodeId string, _action *big.Int, _caller common.Address) (*types.Transaction, error) {
return _PermImpl.Contract.UpdateNodeStatus(&_PermImpl.TransactOpts, _orgId, _enodeId, _action, _caller)
}
// UpdateNodeStatus is a paid mutator transaction binding the contract method 0xdbfad711.
//
// Solidity: function updateNodeStatus(_orgId string, _enodeId string, _action uint256, _caller address) returns()
func (_PermImpl *PermImplTransactorSession) UpdateNodeStatus(_orgId string, _enodeId string, _action *big.Int, _caller common.Address) (*types.Transaction, error) {
return _PermImpl.Contract.UpdateNodeStatus(&_PermImpl.TransactOpts, _orgId, _enodeId, _action, _caller)
}
// UpdateOrgStatus is a paid mutator transaction binding the contract method 0x3cf5f33b.
//
// Solidity: function updateOrgStatus(_orgId string, _action uint256, _caller address) returns()
func (_PermImpl *PermImplTransactor) UpdateOrgStatus(opts *bind.TransactOpts, _orgId string, _action *big.Int, _caller common.Address) (*types.Transaction, error) {
return _PermImpl.contract.Transact(opts, "updateOrgStatus", _orgId, _action, _caller)
}
// UpdateOrgStatus is a paid mutator transaction binding the contract method 0x3cf5f33b.
//
// Solidity: function updateOrgStatus(_orgId string, _action uint256, _caller address) returns()
func (_PermImpl *PermImplSession) UpdateOrgStatus(_orgId string, _action *big.Int, _caller common.Address) (*types.Transaction, error) {
return _PermImpl.Contract.UpdateOrgStatus(&_PermImpl.TransactOpts, _orgId, _action, _caller)
}
// UpdateOrgStatus is a paid mutator transaction binding the contract method 0x3cf5f33b.
//
// Solidity: function updateOrgStatus(_orgId string, _action uint256, _caller address) returns()
func (_PermImpl *PermImplTransactorSession) UpdateOrgStatus(_orgId string, _action *big.Int, _caller common.Address) (*types.Transaction, error) {
return _PermImpl.Contract.UpdateOrgStatus(&_PermImpl.TransactOpts, _orgId, _action, _caller)
}
// PermImplPermissionsInitializedIterator is returned from FilterPermissionsInitialized and is used to iterate over the raw logs and unpacked data for PermissionsInitialized events raised by the PermImpl contract.
type PermImplPermissionsInitializedIterator struct {
Event *PermImplPermissionsInitialized // Event containing the contract specifics and raw log
contract *bind.BoundContract // Generic contract to use for unpacking event data
event string // Event name to use for unpacking event data
logs chan types.Log // Log channel receiving the found contract events
sub ethereum.Subscription // Subscription for errors, completion and termination
done bool // Whether the subscription completed delivering logs
fail error // Occurred error to stop iteration
}
// Next advances the iterator to the subsequent event, returning whether there
// are any more events found. In case of a retrieval or parsing error, false is
// returned and Error() can be queried for the exact failure.
func (it *PermImplPermissionsInitializedIterator) Next() bool {
// If the iterator failed, stop iterating
if it.fail != nil {
return false
}
// If the iterator completed, deliver directly whatever's available
if it.done {
select {
case log := <-it.logs:
it.Event = new(PermImplPermissionsInitialized)
if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
it.fail = err
return false
}
it.Event.Raw = log
return true
default:
return false
}
}
// Iterator still in progress, wait for either a data or an error event
select {
case log := <-it.logs:
it.Event = new(PermImplPermissionsInitialized)
if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
it.fail = err
return false
}
it.Event.Raw = log
return true
case err := <-it.sub.Err():
it.done = true
it.fail = err
return it.Next()
}
}
// Error returns any retrieval or parsing error occurred during filtering.
func (it *PermImplPermissionsInitializedIterator) Error() error {
return it.fail
}
// Close terminates the iteration process, releasing any pending underlying
// resources.
func (it *PermImplPermissionsInitializedIterator) Close() error {
it.sub.Unsubscribe()
return nil
}
// PermImplPermissionsInitialized represents a PermissionsInitialized event raised by the PermImpl contract.
type PermImplPermissionsInitialized struct {
NetworkBootStatus bool
Raw types.Log // Blockchain specific contextual infos
}
// FilterPermissionsInitialized is a free log retrieval operation binding the contract event 0x04f651be6fb8fc575d94591e56e9f6e66e33ef23e949765918b3bdae50c617cf.
//
// Solidity: e PermissionsInitialized(_networkBootStatus bool)
func (_PermImpl *PermImplFilterer) FilterPermissionsInitialized(opts *bind.FilterOpts) (*PermImplPermissionsInitializedIterator, error) {
logs, sub, err := _PermImpl.contract.FilterLogs(opts, "PermissionsInitialized")
if err != nil {
return nil, err
}
return &PermImplPermissionsInitializedIterator{contract: _PermImpl.contract, event: "PermissionsInitialized", logs: logs, sub: sub}, nil
}
// WatchPermissionsInitialized is a free log subscription operation binding the contract event 0x04f651be6fb8fc575d94591e56e9f6e66e33ef23e949765918b3bdae50c617cf.
//
// Solidity: e PermissionsInitialized(_networkBootStatus bool)
func (_PermImpl *PermImplFilterer) WatchPermissionsInitialized(opts *bind.WatchOpts, sink chan<- *PermImplPermissionsInitialized) (event.Subscription, error) {
logs, sub, err := _PermImpl.contract.WatchLogs(opts, "PermissionsInitialized")
if err != nil {
return nil, err
}
return event.NewSubscription(func(quit <-chan struct{}) error {
defer sub.Unsubscribe()
for {
select {
case log := <-logs:
// New log arrived, parse the event and forward to the user
event := new(PermImplPermissionsInitialized)
if err := _PermImpl.contract.UnpackLog(event, "PermissionsInitialized", log); err != nil {
return err
}
event.Raw = log
select {
case sink <- event:
case err := <-sub.Err():
return err
case <-quit:
return nil
}
case err := <-sub.Err():
return err
case <-quit:
return nil
}
}
}), nil
}