github.com/xfers/quorum@v21.1.0+incompatible/permission/v1/bind/permission_impl.go (about)

     1  // Code generated - DO NOT EDIT.
     2  // This file is a generated binding and any manual changes will be lost.
     3  
     4  package permission
     5  
     6  import (
     7  	"math/big"
     8  	"strings"
     9  
    10  	ethereum "github.com/ethereum/go-ethereum"
    11  	"github.com/ethereum/go-ethereum/accounts/abi"
    12  	"github.com/ethereum/go-ethereum/accounts/abi/bind"
    13  	"github.com/ethereum/go-ethereum/common"
    14  	"github.com/ethereum/go-ethereum/core/types"
    15  	"github.com/ethereum/go-ethereum/event"
    16  )
    17  
    18  // Reference imports to suppress errors if they are not otherwise used.
    19  var (
    20  	_ = big.NewInt
    21  	_ = strings.NewReader
    22  	_ = ethereum.NotFound
    23  	_ = abi.U256
    24  	_ = bind.Bind
    25  	_ = common.Big1
    26  	_ = types.BloomLookup
    27  	_ = event.NewSubscription
    28  )
    29  
    30  // PermImplABI is the input ABI used to generate the binding from.
    31  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\"}]"
    32  
    33  var PermImplParsedABI, _ = abi.JSON(strings.NewReader(PermImplABI))
    34  
    35  // PermImplBin is the compiled bytecode used for deploying new contracts.
    36  var PermImplBin = "0x60806040526003600955600a805460ff191690553480156200002057600080fd5b5060405160c08062007181833981018060405260c08110156200004257600080fd5b508051602082015160408301516060840151608085015160a090950151600580546001600160a01b039687166001600160a01b03199182161790915560048054958716958216959095179094556001805493861693851693909317909255600080549185169184169190911790556002805494841694831694909417909355600380549290931691161790556170a380620000de6000396000f3fe608060405234801561001057600080fd5b50600436106101cf5760003560e01c8063655a8ef511610104578063b5546564116100a2578063dbfad71111610071578063dbfad71114611196578063f346a3a714611263578063f5ad584a146113cf578063f922f802146114df576101cf565b8063b554656414610ed8578063c3dc8e0914610f55578063cc9ba6fa1461101c578063d1aa0c2014611170576101cf565b80638baa8191116100de5780638baa819114610ba65780639bd3810114610cea578063a5843f0814610d9e578063a64d286014610dc1576101cf565b8063655a8ef5146109ac5780636b568d7614610a735780638884304114610b27576101cf565b8063404bf3eb116101715780634cbfa82e1161014b5780634cbfa82e146107f05780634fe57e7a146107f857806359a260a31461081e5780635ca5adbe146108e5576101cf565b8063404bf3eb1461068157806344478e79146107555780634b20f45f14610771576101cf565b80631c249912116101ad5780631c249912146104485780633bc07dea146104c75780633cf5f33b146105965780633f25c28814610613576101cf565b806304e81f1e146101d45780631b04c2761461025d5780631b6102201461033a575b600080fd5b61025b600480360360808110156101ea57600080fd5b810190602081018135600160201b81111561020457600080fd5b82018360208201111561021657600080fd5b803590602001918460018302840111600160201b8311171561023757600080fd5b91935091506001600160a01b038135811691602081013591604090910135166115ae565b005b61025b600480360360c081101561027357600080fd5b810190602081018135600160201b81111561028d57600080fd5b82018360208201111561029f57600080fd5b803590602001918460018302840111600160201b831117156102c057600080fd5b919390929091602081019035600160201b8111156102dd57600080fd5b8201836020820111156102ef57600080fd5b803590602001918460018302840111600160201b8311171561031057600080fd5b919350915080359060208101351515906040810135151590606001356001600160a01b0316611801565b61025b6004803603606081101561035057600080fd5b810190602081018135600160201b81111561036a57600080fd5b82018360208201111561037c57600080fd5b803590602001918460018302840111600160201b8311171561039d57600080fd5b919390929091602081019035600160201b8111156103ba57600080fd5b8201836020820111156103cc57600080fd5b803590602001918460018302840111600160201b831117156103ed57600080fd5b919390929091602081019035600160201b81111561040a57600080fd5b82018360208201111561041c57600080fd5b803590602001918460018302840111600160201b8311171561043d57600080fd5b509092509050611ac3565b61025b6004803603606081101561045e57600080fd5b810190602081018135600160201b81111561047857600080fd5b82018360208201111561048a57600080fd5b803590602001918460018302840111600160201b831117156104ab57600080fd5b91935091506001600160a01b0381358116916020013516611c02565b61025b600480360360808110156104dd57600080fd5b810190602081018135600160201b8111156104f757600080fd5b82018360208201111561050957600080fd5b803590602001918460018302840111600160201b8311171561052a57600080fd5b919390929091602081019035600160201b81111561054757600080fd5b82018360208201111561055957600080fd5b803590602001918460018302840111600160201b8311171561057a57600080fd5b91935091506001600160a01b0381358116916020013516611f01565b61025b600480360360608110156105ac57600080fd5b810190602081018135600160201b8111156105c657600080fd5b8201836020820111156105d857600080fd5b803590602001918460018302840111600160201b831117156105f957600080fd5b9193509150803590602001356001600160a01b0316612487565b61025b6004803603602081101561062957600080fd5b810190602081018135600160201b81111561064357600080fd5b82018360208201111561065557600080fd5b803590602001918460018302840111600160201b8311171561067657600080fd5b50909250905061278f565b61025b6004803603608081101561069757600080fd5b810190602081018135600160201b8111156106b157600080fd5b8201836020820111156106c357600080fd5b803590602001918460018302840111600160201b831117156106e457600080fd5b919390926001600160a01b0383351692604081019060200135600160201b81111561070e57600080fd5b82018360208201111561072057600080fd5b803590602001918460018302840111600160201b8311171561074157600080fd5b9193509150356001600160a01b03166129a3565b61075d612d62565b604080519115158252519081900360200190f35b61025b6004803603606081101561078757600080fd5b810190602081018135600160201b8111156107a157600080fd5b8201836020820111156107b357600080fd5b803590602001918460018302840111600160201b831117156107d457600080fd5b91935091506001600160a01b0381358116916020013516612ec0565b61075d613109565b61025b6004803603602081101561080e57600080fd5b50356001600160a01b0316613113565b61025b6004803603606081101561083457600080fd5b810190602081018135600160201b81111561084e57600080fd5b82018360208201111561086057600080fd5b803590602001918460018302840111600160201b8311171561088157600080fd5b919390929091602081019035600160201b81111561089e57600080fd5b8201836020820111156108b057600080fd5b803590602001918460018302840111600160201b831117156108d157600080fd5b9193509150356001600160a01b0316613434565b61025b600480360360608110156108fb57600080fd5b810190602081018135600160201b81111561091557600080fd5b82018360208201111561092757600080fd5b803590602001918460018302840111600160201b8311171561094857600080fd5b919390929091602081019035600160201b81111561096557600080fd5b82018360208201111561097757600080fd5b803590602001918460018302840111600160201b8311171561099857600080fd5b9193509150356001600160a01b03166136b0565b61025b600480360360608110156109c257600080fd5b810190602081018135600160201b8111156109dc57600080fd5b8201836020820111156109ee57600080fd5b803590602001918460018302840111600160201b83111715610a0f57600080fd5b919390929091602081019035600160201b811115610a2c57600080fd5b820183602082011115610a3e57600080fd5b803590602001918460018302840111600160201b83111715610a5f57600080fd5b9193509150356001600160a01b0316613b72565b61075d60048036036040811015610a8957600080fd5b6001600160a01b038235169190810190604081016020820135600160201b811115610ab357600080fd5b820183602082011115610ac557600080fd5b803590602001918460018302840111600160201b83111715610ae657600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550613dd6945050505050565b61025b60048036036060811015610b3d57600080fd5b810190602081018135600160201b811115610b5757600080fd5b820183602082011115610b6957600080fd5b803590602001918460018302840111600160201b83111715610b8a57600080fd5b91935091506001600160a01b0381358116916020013516613ec4565b61025b60048036036080811015610bbc57600080fd5b6001600160a01b038235169190810190604081016020820135600160201b811115610be657600080fd5b820183602082011115610bf857600080fd5b803590602001918460018302840111600160201b83111715610c1957600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295949360208101935035915050600160201b811115610c6b57600080fd5b820183602082011115610c7d57600080fd5b803590602001918460018302840111600160201b83111715610c9e57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550505090356001600160a01b031691506143199050565b61075d60048036036040811015610d0057600080fd5b6001600160a01b038235169190810190604081016020820135600160201b811115610d2a57600080fd5b820183602082011115610d3c57600080fd5b803590602001918460018302840111600160201b83111715610d5d57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550614827945050505050565b61025b60048036036040811015610db457600080fd5b5080359060200135614bdf565b61025b60048036036080811015610dd757600080fd5b810190602081018135600160201b811115610df157600080fd5b820183602082011115610e0357600080fd5b803590602001918460018302840111600160201b83111715610e2457600080fd5b919390929091602081019035600160201b811115610e4157600080fd5b820183602082011115610e5357600080fd5b803590602001918460018302840111600160201b83111715610e7457600080fd5b919390929091602081019035600160201b811115610e9157600080fd5b820183602082011115610ea357600080fd5b803590602001918460018302840111600160201b83111715610ec457600080fd5b9193509150356001600160a01b031661509a565b61025b60048036036060811015610eee57600080fd5b810190602081018135600160201b811115610f0857600080fd5b820183602082011115610f1a57600080fd5b803590602001918460018302840111600160201b83111715610f3b57600080fd5b9193509150803590602001356001600160a01b0316615468565b61025b60048036036060811015610f6b57600080fd5b810190602081018135600160201b811115610f8557600080fd5b820183602082011115610f9757600080fd5b803590602001918460018302840111600160201b83111715610fb857600080fd5b919390929091602081019035600160201b811115610fd557600080fd5b820183602082011115610fe757600080fd5b803590602001918460018302840111600160201b8311171561100857600080fd5b9193509150356001600160a01b03166157c1565b611024615add565b604080518215156060820152608080825286519082015285519091829160208084019284019160a08501918a019080838360005b83811015611070578181015183820152602001611058565b50505050905090810190601f16801561109d5780820380516001836020036101000a031916815260200191505b50848103835287518152875160209182019189019080838360005b838110156110d05781810151838201526020016110b8565b50505050905090810190601f1680156110fd5780820380516001836020036101000a031916815260200191505b50848103825286518152865160209182019188019080838360005b83811015611130578181015183820152602001611118565b50505050905090810190601f16801561115d5780820380516001836020036101000a031916815260200191505b5097505050505050505060405180910390f35b61075d6004803603602081101561118657600080fd5b50356001600160a01b0316615cb0565b61025b600480360360808110156111ac57600080fd5b810190602081018135600160201b8111156111c657600080fd5b8201836020820111156111d857600080fd5b803590602001918460018302840111600160201b831117156111f957600080fd5b919390929091602081019035600160201b81111561121657600080fd5b82018360208201111561122857600080fd5b803590602001918460018302840111600160201b8311171561124957600080fd5b9193509150803590602001356001600160a01b0316615eb4565b6112d16004803603602081101561127957600080fd5b810190602081018135600160201b81111561129357600080fd5b8201836020820111156112a557600080fd5b803590602001918460018302840111600160201b831117156112c657600080fd5b50909250905061610c565b604051808060200180602001856001600160a01b03166001600160a01b03168152602001848152602001838103835287818151815260200191508051906020019080838360005b83811015611330578181015183820152602001611318565b50505050905090810190601f16801561135d5780820380516001836020036101000a031916815260200191505b50838103825286518152865160209182019188019080838360005b83811015611390578181015183820152602001611378565b50505050905090810190601f1680156113bd5780820380516001836020036101000a031916815260200191505b50965050505050505060405180910390f35b61025b600480360360808110156113e557600080fd5b810190602081018135600160201b8111156113ff57600080fd5b82018360208201111561141157600080fd5b803590602001918460018302840111600160201b8311171561143257600080fd5b919390929091602081019035600160201b81111561144f57600080fd5b82018360208201111561146157600080fd5b803590602001918460018302840111600160201b8311171561148257600080fd5b919390929091602081019035600160201b81111561149f57600080fd5b8201836020820111156114b157600080fd5b803590602001918460018302840111600160201b831117156114d257600080fd5b9193509150351515616274565b61025b600480360360808110156114f557600080fd5b810190602081018135600160201b81111561150f57600080fd5b82018360208201111561152157600080fd5b803590602001918460018302840111600160201b8311171561154257600080fd5b919390929091602081019035600160201b81111561155f57600080fd5b82018360208201111561157157600080fd5b803590602001918460018302840111600160201b8311171561159257600080fd5b91935091506001600160a01b0381358116916020013516616363565b600560009054906101000a90046001600160a01b03166001600160a01b031663e572515c6040518163ffffffff1660e01b815260040160206040518083038186803b1580156115fc57600080fd5b505afa158015611610573d6000803e3d6000fd5b505050506040513d602081101561162657600080fd5b50516001600160a01b0316331461167157604051600160e51b62461bcd0281526004018080602001828103825260288152602001806170086028913960400191505060405180910390fd5b8085858080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506116b59250849150839050614827565b15156001146116f857604051600160e51b62461bcd0281526004018080602001828103825260228152602001806170566022913960400191505060405180910390fd5b83600114806117075750836002145b806117125750836003145b151561175257604051600160e51b62461bcd028152600401808060200182810382526025815260200180616fe36025913960400191505060405180910390fd5b600054604051600160e11b63425bd4250281526001600160a01b03878116602483015260448201879052606060048301908152606483018a90529216916384b7a84a918a918a918a918a918190608401868680828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b1580156117e057600080fd5b505af11580156117f4573d6000803e3d6000fd5b5050505050505050505050565b600560009054906101000a90046001600160a01b03166001600160a01b031663e572515c6040518163ffffffff1660e01b815260040160206040518083038186803b15801561184f57600080fd5b505afa158015611863573d6000803e3d6000fd5b505050506040513d602081101561187957600080fd5b50516001600160a01b031633146118c457604051600160e51b62461bcd0281526004018080602001828103825260288152602001806170086028913960400191505060405180910390fd5b85858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611906925083915061690c9050565b151560011461194d5760408051600160e51b62461bcd02815260206004820152601a6024820152600080516020616fa3833981519152604482015290519081900360640190fd5b8187878080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506119919250849150839050614827565b15156001146119d457604051600160e51b62461bcd0281526004018080602001828103825260228152602001806170566022913960400191505060405180910390fd5b600154604051600160e01b637b713579028152604481018990528715156064820152861515608482015260a06004820190815260a482018d90526001600160a01b0390921691637b713579918e918e918e918e918e918e918e91908190602481019060c4018a8a80828437600083820152601f01601f191690910184810383528881526020019050888880828437600081840152601f19601f8201169050808301925050509950505050505050505050600060405180830381600087803b158015611a9e57600080fd5b505af1158015611ab2573d6000803e3d6000fd5b505050505050505050505050505050565b600560009054906101000a90046001600160a01b03166001600160a01b031663e572515c6040518163ffffffff1660e01b815260040160206040518083038186803b158015611b1157600080fd5b505afa158015611b25573d6000803e3d6000fd5b505050506040513d6020811015611b3b57600080fd5b50516001600160a01b03163314611b8657604051600160e51b62461bcd0281526004018080602001828103825260288152602001806170086028913960400191505060405180910390fd5b600a5460009060ff1615611bd25760408051600160e51b62461bcd02815260206004820152601d6024820152600080516020616fc3833981519152604482015290519081900360640190fd5b611bde60068888616f14565b50611beb60078686616f14565b50611bf860088484616f14565b5050505050505050565b600560009054906101000a90046001600160a01b03166001600160a01b031663e572515c6040518163ffffffff1660e01b815260040160206040518083038186803b158015611c5057600080fd5b505afa158015611c64573d6000803e3d6000fd5b505050506040513d6020811015611c7a57600080fd5b50516001600160a01b03163314611cc557604051600160e51b62461bcd0281526004018080602001828103825260288152602001806170086028913960400191505060405180910390fd5b80611ccf81615cb0565b1515600114611d1257604051600160e51b62461bcd0281526004018080602001828103825260268152602001806170306026913960400191505060405180910390fd5b600054604051600160e11b63425bd4250281526001600160a01b03858116602483015260046044830181905260608382019081526064840189905291909316926384b7a84a928992899289929091908190608401868680828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b158015611da457600080fd5b505af1158015611db8573d6000803e3d6000fd5b505060028054604051600160e01b63e98ac22d0281526001600160a01b03888116606483015260066084830181905260a060048401908152815460001960018216156101000201169590950460a4840181905291909316955063e98ac22d945091928a928a928a928692909182916024820191604481019160c49091019086908015611e855780601f10611e5a57610100808354040283529160200191611e85565b820191906000526020600020905b815481529060010190602001808311611e6857829003601f168201915b50508481038352878152602001888880828437600081840152601f19601f82011690508083019250505084810382526000815260200160200198505050505050505050600060405180830381600087803b158015611ee257600080fd5b505af1158015611ef6573d6000803e3d6000fd5b505050505050505050565b600560009054906101000a90046001600160a01b03166001600160a01b031663e572515c6040518163ffffffff1660e01b815260040160206040518083038186803b158015611f4f57600080fd5b505afa158015611f63573d6000803e3d6000fd5b505050506040513d6020811015611f7957600080fd5b50516001600160a01b03163314611fc457604051600160e51b62461bcd0281526004018080602001828103825260288152602001806170086028913960400191505060405180910390fd5b80611fce81615cb0565b151560011461201157604051600160e51b62461bcd0281526004018080602001828103825260268152602001806170306026913960400191505060405180910390fd5b61205387878080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250600192506169fb915050565b15156001146120ac5760408051600160e51b62461bcd02815260206004820152601260248201527f4e6f7468696e6720746f20617070726f76650000000000000000000000000000604482015290519081900360640190fd5b60068054604080516020601f6002600019610100600188161502019095169490940493840181900481028201810190925282815261214693909290918301828280156121395780601f1061210e57610100808354040283529160200191612139565b820191906000526020600020905b81548152906001019060200180831161211c57829003601f168201915b5050505050836001616a68565b1561247e5760048054604051600160e11b637181418b0281526020928101928352602481018990526001600160a01b039091169163e3028316918a918a918190604401848480828437600081840152601f19601f8201169050808301925050509350505050600060405180830381600087803b1580156121c557600080fd5b505af11580156121d9573d6000803e3d6000fd5b505060018054600954604051600160e01b637b71357902815260448101829052606481018490526084810184905260a0600482019081526008805460026000198289161561010002019091160460a484018190526001600160a01b039095169750637b7135799650948e948e94939192839290918291602481019160c4909101908a9080156122a95780601f1061227e576101008083540402835291602001916122a9565b820191906000526020600020905b81548152906001019060200180831161228c57829003601f168201915b50508381038252878152602001888880828437600081840152601f19601f82011690508083019250505098505050505050505050600060405180830381600087803b1580156122f757600080fd5b505af115801561230b573d6000803e3d6000fd5b505060035460408051600160e11b63435e1b2902815260048101918252604481018990526001600160a01b0390921693506386bc36529250889188918c918c919081906024810190606401878780828437600083820152601f01601f191690910184810383528581526020019050858580828437600081840152601f19601f8201169050808301925050509650505050505050600060405180830381600087803b1580156123b857600080fd5b505af11580156123cc573d6000803e3d6000fd5b505060005460408051600160e01b63c214e5e50281526001600160a01b03888116602483015260048201928352604482018c9052909216935063c214e5e592508a918a9188918190606401858580828437600081840152601f19601f820116905080830192505050945050505050602060405180830381600087803b15801561245457600080fd5b505af1158015612468573d6000803e3d6000fd5b505050506040513d6020811015611ef657600080fd5b50505050505050565b600560009054906101000a90046001600160a01b03166001600160a01b031663e572515c6040518163ffffffff1660e01b815260040160206040518083038186803b1580156124d557600080fd5b505afa1580156124e9573d6000803e3d6000fd5b505050506040513d60208110156124ff57600080fd5b50516001600160a01b0316331461254a57604051600160e51b62461bcd0281526004018080602001828103825260288152602001806170086028913960400191505060405180910390fd5b8061255481615cb0565b151560011461259757604051600160e51b62461bcd0281526004018080602001828103825260268152602001806170306026913960400191505060405180910390fd5b6004805460408051600160e01b630cc2749302815260248101879052928301908152604483018790526000926001600160a01b0390921691630cc27493918991899189918190606401858580828437600081840152601f19601f820116905080830192505050945050505050602060405180830381600087803b15801561261d57600080fd5b505af1158015612631573d6000803e3d6000fd5b505050506040513d602081101561264757600080fd5b505160028054604051600160e01b63e98ac22d0281526000606482018190526084820185905260a0600483019081526006805460001960018216156101000201169590950460a484018190529596506001600160a01b039093169463e98ac22d94938c938c939289929182916024820191604481019160c4909101908a9080156127125780601f106126e757610100808354040283529160200191612712565b820191906000526020600020905b8154815290600101906020018083116126f557829003601f168201915b50508481038352878152602001888880828437600081840152601f19601f82011690508083019250505084810382526000815260200160200198505050505050505050600060405180830381600087803b15801561276f57600080fd5b505af1158015612783573d6000803e3d6000fd5b50505050505050505050565b600560009054906101000a90046001600160a01b03166001600160a01b031663e572515c6040518163ffffffff1660e01b815260040160206040518083038186803b1580156127dd57600080fd5b505afa1580156127f1573d6000803e3d6000fd5b505050506040513d602081101561280757600080fd5b50516001600160a01b0316331461285257604051600160e51b62461bcd0281526004018080602001828103825260288152602001806170086028913960400191505060405180910390fd5b600a5460009060ff161561289e5760408051600160e51b62461bcd02815260206004820152601d6024820152600080516020616fc3833981519152604482015290519081900360640190fd5b60035460408051600160e21b6338ec276102815260048101918252604481018590526001600160a01b039092169163e3b09d84918691869160069181906024810190606401868680828437600083820152601f01601f19169091018481038352855460026000196101006001841615020190911604808252602090910191508590801561296c5780601f106129415761010080835404028352916020019161296c565b820191906000526020600020905b81548152906001019060200180831161294f57829003601f168201915b505095505050505050600060405180830381600087803b15801561298f57600080fd5b505af115801561247e573d6000803e3d6000fd5b600560009054906101000a90046001600160a01b03166001600160a01b031663e572515c6040518163ffffffff1660e01b815260040160206040518083038186803b1580156129f157600080fd5b505afa158015612a05573d6000803e3d6000fd5b505050506040513d6020811015612a1b57600080fd5b50516001600160a01b03163314612a6657604051600160e51b62461bcd0281526004018080602001828103825260288152602001806170086028913960400191505060405180910390fd5b85858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250612aa89250839150616b629050565b1515600114612af95760408051600160e51b62461bcd0281526020600482015260126024820152600160721b711bdc99c8191bd95cc81b9bdd08195e1a5cdd02604482015290519081900360640190fd5b81612b0381615cb0565b1515600114612b4657604051600160e51b62461bcd0281526004018080602001828103825260268152602001806170306026913960400191505060405180910390fd5b600054604051600160e01b63e3483a9d0281526001600160a01b0388811660048301908152600160648401819052608060248501908152608485018d9052929094169363e3483a9d938b938e938e938d938d9391929190604481019060a401888880828437600083820152601f01601f191690910184810383528681526020019050868680828437600081840152601f19601f82011690508083019250505098505050505050505050600060405180830381600087803b158015612c0957600080fd5b505af1158015612c1d573d6000803e3d6000fd5b505060028054604051600160e01b63e98ac22d0281526001600160a01b038b8116606483015260046084830181905260a08382019081526006805460001960018216156101000201169690960460a4850181905292909416965063e98ac22d95508e938e938e9382916024810191604482019160c401908a908015612ce35780601f10612cb857610100808354040283529160200191612ce3565b820191906000526020600020905b815481529060010190602001808311612cc657829003601f168201915b50508481038352878152602001888880828437600081840152601f19601f82011690508083019250505084810382526000815260200160200198505050505050505050600060405180830381600087803b158015612d4057600080fd5b505af1158015612d54573d6000803e3d6000fd5b505050505050505050505050565b60055460408051600160e21b63395c945702815290516000926001600160a01b03169163e572515c916004808301926020929190829003018186803b158015612daa57600080fd5b505afa158015612dbe573d6000803e3d6000fd5b505050506040513d6020811015612dd457600080fd5b50516001600160a01b03163314612e1f57604051600160e51b62461bcd0281526004018080602001828103825260288152602001806170086028913960400191505060405180910390fd5b600a5460009060ff1615612e6b5760408051600160e51b62461bcd02815260206004820152601d6024820152600080516020616fc3833981519152604482015290519081900360640190fd5b600a805460ff1916600117908190556040805160ff9290921615158252517f04f651be6fb8fc575d94591e56e9f6e66e33ef23e949765918b3bdae50c617cf9181900360200190a1600a5460ff1691505b5090565b600560009054906101000a90046001600160a01b03166001600160a01b031663e572515c6040518163ffffffff1660e01b815260040160206040518083038186803b158015612f0e57600080fd5b505afa158015612f22573d6000803e3d6000fd5b505050506040513d6020811015612f3857600080fd5b50516001600160a01b03163314612f8357604051600160e51b62461bcd0281526004018080602001828103825260288152602001806170086028913960400191505060405180910390fd5b80612f8d81615cb0565b1515600114612fd057604051600160e51b62461bcd0281526004018080602001828103825260268152602001806170306026913960400191505060405180910390fd5b60068054604080516020601f6002600019610100600188161502019095169490940493840181900481028201810190925282815261306a939092909183018282801561305d5780601f106130325761010080835404028352916020019161305d565b820191906000526020600020905b81548152906001019060200180831161304057829003601f168201915b5050505050836006616a68565b1561310257600054604051600160e11b63425bd4250281526001600160a01b0385811660248301526005604483018190526060600484019081526064840189905291909316926384b7a84a928992899289929091908190608401868680828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b158015611ee257600080fd5b5050505050565b600a5460ff165b90565b600560009054906101000a90046001600160a01b03166001600160a01b031663e572515c6040518163ffffffff1660e01b815260040160206040518083038186803b15801561316157600080fd5b505afa158015613175573d6000803e3d6000fd5b505050506040513d602081101561318b57600080fd5b50516001600160a01b031633146131d657604051600160e51b62461bcd0281526004018080602001828103825260288152602001806170086028913960400191505060405180910390fd5b600a5460009060ff16156132225760408051600160e51b62461bcd02815260206004820152601d6024820152600080516020616fc3833981519152604482015290519081900360640190fd5b60068054604080516020601f600260001961010060018816150201909516949094049384018190048102820181019092528281526132bc93909290918301828280156132af5780601f10613284576101008083540402835291602001916132af565b820191906000526020600020905b81548152906001019060200180831161329257829003601f168201915b5050505050836001616c27565b600054604051600160e01b63e3483a9d0281526001600160a01b038481166004830190815260026064840181905260806024850190815260068054600019600182161561010002011683900460848701819052949096169563e3483a9d95899591946007949390929091604481019160a490910190879080156133805780601f1061335557610100808354040283529160200191613380565b820191906000526020600020905b81548152906001019060200180831161336357829003601f168201915b50508381038252855460026000196101006001841615020190911604808252602090910190869080156133f45780601f106133c9576101008083540402835291602001916133f4565b820191906000526020600020905b8154815290600101906020018083116133d757829003601f168201915b50509650505050505050600060405180830381600087803b15801561341857600080fd5b505af115801561342c573d6000803e3d6000fd5b505050505050565b600560009054906101000a90046001600160a01b03166001600160a01b031663e572515c6040518163ffffffff1660e01b815260040160206040518083038186803b15801561348257600080fd5b505afa158015613496573d6000803e3d6000fd5b505050506040513d60208110156134ac57600080fd5b50516001600160a01b031633146134f757604051600160e51b62461bcd0281526004018080602001828103825260288152602001806170086028913960400191505060405180910390fd5b84848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250613539925083915061690c9050565b15156001146135805760408051600160e51b62461bcd02815260206004820152601a6024820152600080516020616fa3833981519152604482015290519081900360640190fd5b8186868080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506135c49250849150839050614827565b151560011461360757604051600160e51b62461bcd0281526004018080602001828103825260228152602001806170566022913960400191505060405180910390fd5b60035460408051600160e01b633f5e1a4502815260048101918252604481018890526001600160a01b0390921691633f5e1a4591899189918d918d919081906024810190606401878780828437600083820152601f01601f191690910184810383528581526020019050858580828437600081840152601f19601f8201169050808301925050509650505050505050600060405180830381600087803b158015612d4057600080fd5b600560009054906101000a90046001600160a01b03166001600160a01b031663e572515c6040518163ffffffff1660e01b815260040160206040518083038186803b1580156136fe57600080fd5b505afa158015613712573d6000803e3d6000fd5b505050506040513d602081101561372857600080fd5b50516001600160a01b0316331461377357604051600160e51b62461bcd0281526004018080602001828103825260288152602001806170086028913960400191505060405180910390fd5b82828080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506137b5925083915061690c9050565b15156001146137fc5760408051600160e51b62461bcd02815260206004820152601a6024820152600080516020616fa3833981519152604482015290519081900360640190fd5b8184848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506138409250849150839050614827565b151560011461388357604051600160e51b62461bcd0281526004018080602001828103825260228152602001806170566022913960400191505060405180910390fd5b60408051602080820190815260078054600260001961010060018416150201909116049383018490529290918291606090910190849080156139065780601f106138db57610100808354040283529160200191613906565b820191906000526020600020905b8154815290600101906020018083116138e957829003601f168201915b50509250505060405160208183030381529060405280519060200120888860405160200180806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505093505050506040516020818303038152906040528051906020012014158015613a7357506040805160208082019081526008805460026000196101006001841615020190911604938301849052929091829160609091019084908015613a015780601f106139d657610100808354040283529160200191613a01565b820191906000526020600020905b8154815290600101906020018083116139e457829003601f168201915b50509250505060405160208183030381529060405280519060200120888860405160200180806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505093505050506040516020818303038152906040528051906020012014155b1515613ac95760408051600160e51b62461bcd02815260206004820152601d60248201527f61646d696e20726f6c65732063616e6e6f742062652072656d6f766564000000604482015290519081900360640190fd5b60015460408051600160e11b63531a180902815260048101918252604481018a90526001600160a01b039092169163a6343012918b918b918b918b919081906024810190606401878780828437600083820152601f01601f191690910184810383528581526020019050858580828437600081840152601f19601f8201169050808301925050509650505050505050600060405180830381600087803b158015612d4057600080fd5b600560009054906101000a90046001600160a01b03166001600160a01b031663e572515c6040518163ffffffff1660e01b815260040160206040518083038186803b158015613bc057600080fd5b505afa158015613bd4573d6000803e3d6000fd5b505050506040513d6020811015613bea57600080fd5b50516001600160a01b03163314613c3557604051600160e51b62461bcd0281526004018080602001828103825260288152602001806170086028913960400191505060405180910390fd5b80613c3f81615cb0565b1515600114613c8257604051600160e51b62461bcd0281526004018080602001828103825260268152602001806170306026913960400191505060405180910390fd5b60068054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152613d1c9390929091830182828015613d0f5780601f10613ce457610100808354040283529160200191613d0f565b820191906000526020600020905b815481529060010190602001808311613cf257829003601f168201915b5050505050836005616a68565b1561342c57600354604051600160e11b63066280a3028152600560448201819052606060048301908152606483018790526001600160a01b0390931692630cc5014692889288928c928c92919081906024810190608401888880828437600083820152601f01601f191690910184810383528681526020019050868680828437600081840152601f19601f820116905080830192505050975050505050505050600060405180830381600087803b15801561276f57600080fd5b6000805460408051600160e11b6335ab46bb0281526001600160a01b0386811660048301908152602483019384528651604484015286519190941693636b568d76938893889360649091019060208501908083838c5b83811015613e44578181015183820152602001613e2c565b50505050905090810190601f168015613e715780820380516001836020036101000a031916815260200191505b50935050505060206040518083038186803b158015613e8f57600080fd5b505afa158015613ea3573d6000803e3d6000fd5b505050506040513d6020811015613eb957600080fd5b505190505b92915050565b600560009054906101000a90046001600160a01b03166001600160a01b031663e572515c6040518163ffffffff1660e01b815260040160206040518083038186803b158015613f1257600080fd5b505afa158015613f26573d6000803e3d6000fd5b505050506040513d6020811015613f3c57600080fd5b50516001600160a01b03163314613f8757604051600160e51b62461bcd0281526004018080602001828103825260288152602001806170086028913960400191505060405180910390fd5b80613f9181615cb0565b1515600114613fd457604051600160e51b62461bcd0281526004018080602001828103825260268152602001806170306026913960400191505060405180910390fd5b60068054604080516020601f6002600019610100600188161502019095169490940493840181900481028201810190925282815261406e93909290918301828280156140615780601f1061403657610100808354040283529160200191614061565b820191906000526020600020905b81548152906001019060200180831161404457829003601f168201915b5050505050836004616a68565b156131025760008054604051600160e01b631d09dc930281526020600482019081526024820188905283926001600160a01b031691631d09dc93918a918a91908190604401848480828437600081840152601f19601f82011690508083019250505093505050506040805180830381600087803b1580156140ee57600080fd5b505af1158015614102573d6000803e3d6000fd5b505050506040513d604081101561411857600080fd5b508051602090910151909250905081156141c65760068054604080516020601f600260001961010060018816150201909516949094049384018190048102820181019092528281526141c693909290918301828280156141b95780601f1061418e576101008083540402835291602001916141b9565b820191906000526020600020905b81548152906001019060200180831161419c57829003601f168201915b5050505050826000616c27565b6000805460408051600160e01b63c214e5e50281526001600160a01b03898116602483015260048201928352604482018b90529092169163c214e5e5918b918b918b918190606401858580828437600081840152601f19601f820116905080830192505050945050505050602060405180830381600087803b15801561424b57600080fd5b505af115801561425f573d6000803e3d6000fd5b505050506040513d602081101561427557600080fd5b505190508015611bf85760068054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152611bf8939092909183018282801561430c5780601f106142e15761010080835404028352916020019161430c565b820191906000526020600020905b8154815290600101906020018083116142ef57829003601f168201915b5050505050876001616c27565b600560009054906101000a90046001600160a01b03166001600160a01b031663e572515c6040518163ffffffff1660e01b815260040160206040518083038186803b15801561436757600080fd5b505afa15801561437b573d6000803e3d6000fd5b505050506040513d602081101561439157600080fd5b50516001600160a01b031633146143dc57604051600160e51b62461bcd0281526004018080602001828103825260288152602001806170086028913960400191505060405180910390fd5b80836143e88282614827565b151560011461442b57604051600160e51b62461bcd0281526004018080602001828103825260228152602001806170566022913960400191505060405180910390fd5b846144358161690c565b151560011461447c5760408051600160e51b62461bcd02815260206004820152601a6024820152600080516020616fa3833981519152604482015290519081900360640190fd5b6144868787613dd6565b15156001146144df5760408051600160e51b62461bcd02815260206004820152601d60248201527f6f7065726174696f6e2063616e6e6f7420626520706572666f726d6564000000604482015290519081900360640190fd5b6144e98587616dbd565b15156001146145425760408051600160e51b62461bcd02815260206004820152601460248201527f726f6c6520646f6573206e6f7420657869737473000000000000000000000000604482015290519081900360640190fd5b6001546000906001600160a01b031663be322e54878961456181616dd8565b6040518463ffffffff1660e01b815260040180806020018060200180602001848103845287818151815260200191508051906020019080838360005b838110156145b557818101518382015260200161459d565b50505050905090810190601f1680156145e25780820380516001836020036101000a031916815260200191505b50848103835286518152865160209182019188019080838360005b838110156146155781810151838201526020016145fd565b50505050905090810190601f1680156146425780820380516001836020036101000a031916815260200191505b50848103825285518152855160209182019187019080838360005b8381101561467557818101518382015260200161465d565b50505050905090810190601f1680156146a25780820380516001836020036101000a031916815260200191505b50965050505050505060206040518083038186803b1580156146c357600080fd5b505afa1580156146d7573d6000803e3d6000fd5b505050506040513d60208110156146ed57600080fd5b505160008054604051600160e21b63050e95810281526001600160a01b038c81166004830190815285151560648401526080602484019081528d5160848501528d51969750919093169463143a5604948e948e948e948a9492939092604483019260a401916020890191908190849084905b8381101561477757818101518382015260200161475f565b50505050905090810190601f1680156147a45780820380516001836020036101000a031916815260200191505b50838103825285518152855160209182019187019080838360005b838110156147d75781810151838201526020016147bf565b50505050905090810190601f1680156148045780820380516001836020036101000a031916815260200191505b509650505050505050600060405180830381600087803b158015612d4057600080fd5b600080546001600160a01b031663e8b42bf4848461484481616dd8565b6040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b031681526020018060200180602001838103835285818151815260200191508051906020019080838360005b838110156148ac578181015183820152602001614894565b50505050905090810190601f1680156148d95780820380516001836020036101000a031916815260200191505b50838103825284518152845160209182019186019080838360005b8381101561490c5781810151838201526020016148f4565b50505050905090810190601f1680156149395780820380516001836020036101000a031916815260200191505b509550505050505060206040518083038186803b15801561495957600080fd5b505afa15801561496d573d6000803e3d6000fd5b505050506040513d602081101561498357600080fd5b50511561499257506001613ebe565b6001546000805460408051600160e01b6381d66b230281526001600160a01b03888116600483015291519482169463be322e549493909216926381d66b2392602480840193829003018186803b1580156149eb57600080fd5b505afa1580156149ff573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526020811015614a2857600080fd5b810190808051600160201b811115614a3f57600080fd5b82016020810184811115614a5257600080fd5b8151600160201b811182820187101715614a6b57600080fd5b505092919050505084614a7d86616dd8565b6040518463ffffffff1660e01b815260040180806020018060200180602001848103845287818151815260200191508051906020019080838360005b83811015614ad1578181015183820152602001614ab9565b50505050905090810190601f168015614afe5780820380516001836020036101000a031916815260200191505b50848103835286518152865160209182019188019080838360005b83811015614b31578181015183820152602001614b19565b50505050905090810190601f168015614b5e5780820380516001836020036101000a031916815260200191505b50848103825285518152855160209182019187019080838360005b83811015614b91578181015183820152602001614b79565b50505050905090810190601f168015614bbe5780820380516001836020036101000a031916815260200191505b50965050505050505060206040518083038186803b158015613e8f57600080fd5b600560009054906101000a90046001600160a01b03166001600160a01b031663e572515c6040518163ffffffff1660e01b815260040160206040518083038186803b158015614c2d57600080fd5b505afa158015614c41573d6000803e3d6000fd5b505050506040513d6020811015614c5757600080fd5b50516001600160a01b03163314614ca257604051600160e51b62461bcd0281526004018080602001828103825260288152602001806170086028913960400191505060405180910390fd5b600a5460009060ff1615614cee5760408051600160e51b62461bcd02815260206004820152601d6024820152600080516020616fc3833981519152604482015290519081900360640190fd5b60048054604051600160e01b639e58eb9f028152602481018690526044810185905260609281019283526006805460026000196001831615610100020190911604606483018190526001600160a01b0390931693639e58eb9f9391928892889291829160849091019086908015614da65780601f10614d7b57610100808354040283529160200191614da6565b820191906000526020600020905b815481529060010190602001808311614d8957829003601f168201915b5050945050505050600060405180830381600087803b158015614dc857600080fd5b505af1158015614ddc573d6000803e3d6000fd5b505060018054600954604051600160e01b637b71357902815260448101829052606481018490526084810184905260a0600482019081526007805460026000198289161561010002019091160460a484018190526001600160a01b039095169750637b71357996509460069490928392918291602481019160c49091019089908015614ea95780601f10614e7e57610100808354040283529160200191614ea9565b820191906000526020600020905b815481529060010190602001808311614e8c57829003601f168201915b5050838103825287546002600019610100600184161502019091160480825260209091019088908015614f1d5780601f10614ef257610100808354040283529160200191614f1d565b820191906000526020600020905b815481529060010190602001808311614f0057829003601f168201915b5050975050505050505050600060405180830381600087803b158015614f4257600080fd5b505af1158015614f56573d6000803e3d6000fd5b505060005460408051600160e01b63cef7f6af028152600481019182526007805460026000196001831615610100020190911604604483018190526001600160a01b03909416955063cef7f6af945092600892918291602482019160640190869080156150045780601f10614fd957610100808354040283529160200191615004565b820191906000526020600020905b815481529060010190602001808311614fe757829003601f168201915b50508381038252845460026000196101006001841615020190911604808252602090910190859080156150785780601f1061504d57610100808354040283529160200191615078565b820191906000526020600020905b81548152906001019060200180831161505b57829003601f168201915b5050945050505050600060405180830381600087803b15801561298f57600080fd5b600560009054906101000a90046001600160a01b03166001600160a01b031663e572515c6040518163ffffffff1660e01b815260040160206040518083038186803b1580156150e857600080fd5b505afa1580156150fc573d6000803e3d6000fd5b505050506040513d602081101561511257600080fd5b50516001600160a01b0316331461515d57604051600160e51b62461bcd0281526004018080602001828103825260288152602001806170086028913960400191505060405180910390fd5b86868080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061519f9250839150616b629050565b15156001146151f05760408051600160e51b62461bcd0281526020600482015260126024820152600160721b711bdc99c8191bd95cc81b9bdd08195e1a5cdd02604482015290519081900360640190fd5b8188888080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506152349250849150839050614827565b151560011461527757604051600160e51b62461bcd0281526004018080602001828103825260228152602001806170566022913960400191505060405180910390fd5b6004805460408051600160e71b623f2a69028152928301908152604483018c90526001600160a01b0390911691631f953480918d918d918d918d919081906024810190606401878780828437600083820152601f01601f191690910184810383528581526020019050858580828437600081840152601f19601f8201169050808301925050509650505050505050600060405180830381600087803b15801561531f57600080fd5b505af1158015615333573d6000803e3d6000fd5b5050505060608a8a8a8a60405160200180858580828437600160f91b6017029201918252506001018383808284376040805191909301818103601f1901825290925250955050891593506117f4925050505760035460408051600160e01b633f5e1a4502815260048101918252604481018990526001600160a01b0390921691633f5e1a45918a918a918691819060248101906064018686808284376000838201819052601f909101601f191690920185810384528651815286516020918201939188019250908190849084905b83811015615419578181015183820152602001615401565b50505050905090810190601f1680156154465780820380516001836020036101000a031916815260200191505b5095505050505050600060405180830381600087803b158015611a9e57600080fd5b600560009054906101000a90046001600160a01b03166001600160a01b031663e572515c6040518163ffffffff1660e01b815260040160206040518083038186803b1580156154b657600080fd5b505afa1580156154ca573d6000803e3d6000fd5b505050506040513d60208110156154e057600080fd5b50516001600160a01b0316331461552b57604051600160e51b62461bcd0281526004018080602001828103825260288152602001806170086028913960400191505060405180910390fd5b8061553581615cb0565b151560011461557857604051600160e51b62461bcd0281526004018080602001828103825260268152602001806170306026913960400191505060405180910390fd5b82600114806155875750826002145b15156155dd5760408051600160e51b62461bcd02815260206004820152601560248201527f4f7065726174696f6e206e6f7420616c6c6f7765640000000000000000000000604482015290519081900360640190fd5b60008084600114156155f55750600290506003615606565b846002141561560657506003905060055b61564787878080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152508592506169fb915050565b15156001146156a05760408051600160e51b62461bcd02815260206004820152601560248201527f6f7065726174696f6e206e6f7420616c6c6f7765640000000000000000000000604482015290519081900360640190fd5b60068054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152615739939092909183018282801561572d5780601f106157025761010080835404028352916020019161572d565b820191906000526020600020905b81548152906001019060200180831161571057829003601f168201915b50505050508584616a68565b1561247e576004805460408051600160e01b6314f775f902815260248101899052928301908152604483018990526001600160a01b03909116916314f775f9918a918a918a918190606401858580828437600081840152601f19601f820116905080830192505050945050505050600060405180830381600087803b1580156117e057600080fd5b600560009054906101000a90046001600160a01b03166001600160a01b031663e572515c6040518163ffffffff1660e01b815260040160206040518083038186803b15801561580f57600080fd5b505afa158015615823573d6000803e3d6000fd5b505050506040513d602081101561583957600080fd5b50516001600160a01b0316331461588457604051600160e51b62461bcd0281526004018080602001828103825260288152602001806170086028913960400191505060405180910390fd5b8061588e81615cb0565b15156001146158d157604051600160e51b62461bcd0281526004018080602001828103825260268152602001806170306026913960400191505060405180910390fd5b600354604051600160e11b63066280a30281526004604482018190526060828201908152606483018790526001600160a01b0390931692630cc5014692889288928c928c92919081906024810190608401888880828437600083820152601f01601f191690910184810383528681526020019050868680828437600081840152601f19601f820116905080830192505050975050505050505050600060405180830381600087803b15801561598557600080fd5b505af1158015615999573d6000803e3d6000fd5b505060028054604051600160e01b63e98ac22d02815260006064820181905260056084830181905260a0600484019081526006805460001960018216156101000201169690960460a485018190526001600160a01b03909516975063e98ac22d96508d948d948d948d9490939092909182916024820191604481019160c4909101908c908015615a6a5780601f10615a3f57610100808354040283529160200191615a6a565b820191906000526020600020905b815481529060010190602001808311615a4d57829003601f168201915b505084810383528981526020018a8a80828437600083820152601f01601f191690910185810383528881526020019050888880828437600081840152601f19601f8201169050808301925050509a5050505050505050505050600060405180830381600087803b15801561276f57600080fd5b600a5460068054604080516020601f6002600019600187161561010002019095169490940493840181900481028201810190925282815260609485948594600094919360079360089360ff909116928691830182828015615b7f5780601f10615b5457610100808354040283529160200191615b7f565b820191906000526020600020905b815481529060010190602001808311615b6257829003601f168201915b5050865460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815295995088945092508401905082828015615c0d5780601f10615be257610100808354040283529160200191615c0d565b820191906000526020600020905b815481529060010190602001808311615bf057829003601f168201915b5050855460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815295985087945092508401905082828015615c9b5780601f10615c7057610100808354040283529160200191615c9b565b820191906000526020600020905b815481529060010190602001808311615c7e57829003601f168201915b50505050509150935093509350935090919293565b60408051602080820190815260078054600260001961010060018416150201909116049383018490526000939092829160609091019084908015615d355780601f10615d0a57610100808354040283529160200191615d35565b820191906000526020600020905b815481529060010190602001808311615d1857829003601f168201915b505060408051601f19818403018152828252805160209091012060008054600160e01b6381d66b230285526001600160a01b038a8116600487015293519297509290921694506381d66b239350602480840193829003018186803b158015615d9c57600080fd5b505afa158015615db0573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526020811015615dd957600080fd5b810190808051600160201b811115615df057600080fd5b82016020810184811115615e0357600080fd5b8151600160201b811182820187101715615e1c57600080fd5b50509291905050506040516020018080602001828103825283818151815260200191508051906020019080838360005b83811015615e64578181015183820152602001615e4c565b50505050905090810190601f168015615e915780820380516001836020036101000a031916815260200191505b509250505060405160208183030381529060405280519060200120149050919050565b600560009054906101000a90046001600160a01b03166001600160a01b031663e572515c6040518163ffffffff1660e01b815260040160206040518083038186803b158015615f0257600080fd5b505afa158015615f16573d6000803e3d6000fd5b505050506040513d6020811015615f2c57600080fd5b50516001600160a01b03163314615f7757604051600160e51b62461bcd0281526004018080602001828103825260288152602001806170086028913960400191505060405180910390fd5b8086868080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250615fbb9250849150839050614827565b1515600114615ffe57604051600160e51b62461bcd0281526004018080602001828103825260228152602001806170566022913960400191505060405180910390fd5b836001148061600d5750836002145b806160185750836003145b151561605857604051600160e51b62461bcd028152600401808060200182810382526025815260200180616fe36025913960400191505060405180910390fd5b600354604051600160e11b63066280a302815260448101869052606060048201908152606482018890526001600160a01b0390921691630cc5014691899189918d918d918b919081906024810190608401888880828437600083820152601f01601f191690910184810383528681526020019050868680828437600081840152601f19601f820116905080830192505050975050505050505050600060405180830381600087803b158015612d4057600080fd5b600254604051600160e21b62539ab302815260206004820190815260248201849052606092839260009283926001600160a01b03169163014e6acc9189918991908190604401848480828437600081840152601f19601f820116905080830192505050935050505060006040518083038186803b15801561618c57600080fd5b505afa1580156161a0573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405260808110156161c957600080fd5b810190808051600160201b8111156161e057600080fd5b820160208101848111156161f357600080fd5b8151600160201b81118282018710171561620c57600080fd5b50509291906020018051600160201b81111561622757600080fd5b8201602081018481111561623a57600080fd5b8151600160201b81118282018710171561625357600080fd5b50506020820151604090920151949b909a5090985092965091945050505050565b6005546001600160a01b031633146162d65760408051600160e51b62461bcd02815260206004820152600e60248201527f696e76616c69642063616c6c6572000000000000000000000000000000000000604482015290519081900360640190fd5b600a5460009060ff16156163225760408051600160e51b62461bcd02815260206004820152601d6024820152600080516020616fc3833981519152604482015290519081900360640190fd5b61632e60068989616f14565b5061633b60078787616f14565b5061634860088585616f14565b5050600a805460ff1916911515919091179055505050505050565b600560009054906101000a90046001600160a01b03166001600160a01b031663e572515c6040518163ffffffff1660e01b815260040160206040518083038186803b1580156163b157600080fd5b505afa1580156163c5573d6000803e3d6000fd5b505050506040513d60208110156163db57600080fd5b50516001600160a01b0316331461642657604051600160e51b62461bcd0281526004018080602001828103825260288152602001806170086028913960400191505060405180910390fd5b600a5460019060ff16151581146164755760408051600160e51b62461bcd02815260206004820152601d6024820152600080516020616fc3833981519152604482015290519081900360640190fd5b8161647f81615cb0565b15156001146164c257604051600160e51b62461bcd0281526004018080602001828103825260268152602001806170306026913960400191505060405180910390fd5b60028054604051600160e01b63e98ac22d0281526001600160a01b03878116606483015260016084830181905260a06004840190815260068054600019818516156101000201169690960460a48501819052929094169463e98ac22d9490938e938e938e938e938e9382916024810191604482019160c401908c90801561658a5780601f1061655f5761010080835404028352916020019161658a565b820191906000526020600020905b81548152906001019060200180831161656d57829003601f168201915b505084810383528981526020018a8a80828437600083820152601f01601f191690910185810383528881526020019050888880828437600081840152601f19601f8201169050808301925050509a5050505050505050505050600060405180830381600087803b1580156165fd57600080fd5b505af1158015616611573d6000803e3d6000fd5b505060048054604051600160e01b63f9953de50281526020928101928352602481018c90526001600160a01b03909116935063f9953de592508b918b918190604401848480828437600081840152601f19601f8201169050808301925050509350505050600060405180830381600087803b15801561668f57600080fd5b505af11580156166a3573d6000803e3d6000fd5b505060035460408051600160e11b6354bd220302815260048101918252604481018a90526001600160a01b03909216935063a97a44069250899189918d918d919081906024810190606401878780828437600083820152601f01601f191690910184810383528581526020019050858580828437600081840152601f19601f8201169050808301925050509650505050505050600060405180830381600087803b15801561675057600080fd5b505af1158015616764573d6000803e3d6000fd5b505050506167a88489898080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250613dd692505050565b15156001146168015760408051600160e51b62461bcd02815260206004820152601d60248201527f4f7065726174696f6e2063616e6e6f7420626520706572666f726d6564000000604482015290519081900360640190fd5b600054604051600160e01b63e3483a9d0281526001600160a01b0386811660048301908152600160648401819052608060248501908152608485018d9052929094169363e3483a9d9389938e938e93600893909290604481019060a401878780828437600083820152601f01601f1916909101848103835286546002600019610100600184161502019091160480825260209091019150869080156168e75780601f106168bc576101008083540402835291602001916168e7565b820191906000526020600020905b8154815290600101906020018083116168ca57829003601f168201915b5050975050505050505050600060405180830381600087803b158015612d4057600080fd5b6004805460408051600160e01b638c8642df0281526002602482018190529381019182528451604482015284516000946001600160a01b0390941693638c8642df93879391929091829160649091019060208601908083838c5b8381101561697e578181015183820152602001616966565b50505050905090810190601f1680156169ab5780820380516001836020036101000a031916815260200191505b50935050505060206040518083038186803b1580156169c957600080fd5b505afa1580156169dd573d6000803e3d6000fd5b505050506040513d60208110156169f357600080fd5b505192915050565b6004805460408051600160e01b638c8642df028152602481018590529283019081528451604484015284516000936001600160a01b0390931692638c8642df9287928792829160649091019060208601908083838c83811015613e44578181015183820152602001613e2c565b600254604051600160e21b632c084e190281526001600160a01b03848116602483015260448201849052606060048301908152865160648401528651600094929092169263b02138649288928892889282916084019060208701908083838d5b83811015616ae0578181015183820152602001616ac8565b50505050905090810190601f168015616b0d5780820380516001836020036101000a031916815260200191505b50945050505050602060405180830381600087803b158015616b2e57600080fd5b505af1158015616b42573d6000803e3d6000fd5b505050506040513d6020811015616b5857600080fd5b5051949350505050565b600480546040517fffe40d1d00000000000000000000000000000000000000000000000000000000815260209281018381528451602483015284516000946001600160a01b039094169363ffe40d1d9387939283926044909201918501908083838b5b83811015616bdd578181015183820152602001616bc5565b50505050905090810190601f168015616c0a5780820380516001836020036101000a031916815260200191505b509250505060206040518083038186803b1580156169c957600080fd5b8015616d015760025460408051600160e01b635607395b0281526001600160a01b03858116602483015260048201928352865160448301528651931692635607395b9287928792829160640190602086019080838360005b83811015616c97578181015183820152602001616c7f565b50505050905090810190601f168015616cc45780820380516001836020036101000a031916815260200191505b509350505050600060405180830381600087803b158015616ce457600080fd5b505af1158015616cf8573d6000803e3d6000fd5b50505050616db8565b60025460408051600160e11b632ce5eb7f0281526001600160a01b038581166024830152600482019283528651604483015286519316926359cbd6fe9287928792829160640190602086019080838360005b83811015616d6b578181015183820152602001616d53565b50505050905090810190601f168015616d985780820380516001836020036101000a031916815260200191505b509350505050600060405180830381600087803b15801561298f57600080fd5b505050565b6001546000906001600160a01b031663abf5739f8484614a7d815b60048054604051600160e11b630bbe46c502815260209281018381528451602483015284516060946001600160a01b039094169363177c8d8a93879392839260449092019185019080838360005b83811015616e3e578181015183820152602001616e26565b50505050905090810190601f168015616e6b5780820380516001836020036101000a031916815260200191505b509250505060006040518083038186803b158015616e8857600080fd5b505afa158015616e9c573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526020811015616ec557600080fd5b810190808051600160201b811115616edc57600080fd5b82016020810184811115616eef57600080fd5b8151600160201b811182820187101715616f0857600080fd5b50909695505050505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10616f555782800160ff19823516178555616f82565b82800160010185558215616f82579182015b82811115616f82578235825591602001919060010190616f67565b50612ebc926131109250905b80821115612ebc5760008155600101616f8e56fe6f7267206e6f7420696e20617070726f76656420737461747573000000000000496e636f7272656374206e6574776f726b20626f6f7420737461747573000000696e76616c696420616374696f6e2e206f7065726174696f6e206e6f7420616c6c6f77656463616e2062652063616c6c656420627920696e7465726661636520636f6e7472616374206f6e6c796163636f756e74206973206e6f742061206e6574776f726b2061646d696e206163636f756e746163636f756e74206973206e6f742061206f72672061646d696e206163636f756e74a165627a7a7230582047eb5d5106c9085018e51aa9094a706fff1dfed139d9e1e83d83ee3d32fec65b0029"
    37  
    38  // DeployPermImpl deploys a new Ethereum contract, binding an instance of PermImpl to it.
    39  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) {
    40  	parsed, err := abi.JSON(strings.NewReader(PermImplABI))
    41  	if err != nil {
    42  		return common.Address{}, nil, nil, err
    43  	}
    44  
    45  	address, tx, contract, err := bind.DeployContract(auth, parsed, common.FromHex(PermImplBin), backend, _permUpgradable, _orgManager, _rolesManager, _accountManager, _voterManager, _nodeManager)
    46  	if err != nil {
    47  		return common.Address{}, nil, nil, err
    48  	}
    49  	return address, tx, &PermImpl{PermImplCaller: PermImplCaller{contract: contract}, PermImplTransactor: PermImplTransactor{contract: contract}, PermImplFilterer: PermImplFilterer{contract: contract}}, nil
    50  }
    51  
    52  // PermImpl is an auto generated Go binding around an Ethereum contract.
    53  type PermImpl struct {
    54  	PermImplCaller     // Read-only binding to the contract
    55  	PermImplTransactor // Write-only binding to the contract
    56  	PermImplFilterer   // Log filterer for contract events
    57  }
    58  
    59  // PermImplCaller is an auto generated read-only Go binding around an Ethereum contract.
    60  type PermImplCaller struct {
    61  	contract *bind.BoundContract // Generic contract wrapper for the low level calls
    62  }
    63  
    64  // PermImplTransactor is an auto generated write-only Go binding around an Ethereum contract.
    65  type PermImplTransactor struct {
    66  	contract *bind.BoundContract // Generic contract wrapper for the low level calls
    67  }
    68  
    69  // PermImplFilterer is an auto generated log filtering Go binding around an Ethereum contract events.
    70  type PermImplFilterer struct {
    71  	contract *bind.BoundContract // Generic contract wrapper for the low level calls
    72  }
    73  
    74  // PermImplSession is an auto generated Go binding around an Ethereum contract,
    75  // with pre-set call and transact options.
    76  type PermImplSession struct {
    77  	Contract     *PermImpl         // Generic contract binding to set the session for
    78  	CallOpts     bind.CallOpts     // Call options to use throughout this session
    79  	TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session
    80  }
    81  
    82  // PermImplCallerSession is an auto generated read-only Go binding around an Ethereum contract,
    83  // with pre-set call options.
    84  type PermImplCallerSession struct {
    85  	Contract *PermImplCaller // Generic contract caller binding to set the session for
    86  	CallOpts bind.CallOpts   // Call options to use throughout this session
    87  }
    88  
    89  // PermImplTransactorSession is an auto generated write-only Go binding around an Ethereum contract,
    90  // with pre-set transact options.
    91  type PermImplTransactorSession struct {
    92  	Contract     *PermImplTransactor // Generic contract transactor binding to set the session for
    93  	TransactOpts bind.TransactOpts   // Transaction auth options to use throughout this session
    94  }
    95  
    96  // PermImplRaw is an auto generated low-level Go binding around an Ethereum contract.
    97  type PermImplRaw struct {
    98  	Contract *PermImpl // Generic contract binding to access the raw methods on
    99  }
   100  
   101  // PermImplCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract.
   102  type PermImplCallerRaw struct {
   103  	Contract *PermImplCaller // Generic read-only contract binding to access the raw methods on
   104  }
   105  
   106  // PermImplTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract.
   107  type PermImplTransactorRaw struct {
   108  	Contract *PermImplTransactor // Generic write-only contract binding to access the raw methods on
   109  }
   110  
   111  // NewPermImpl creates a new instance of PermImpl, bound to a specific deployed contract.
   112  func NewPermImpl(address common.Address, backend bind.ContractBackend) (*PermImpl, error) {
   113  	contract, err := bindPermImpl(address, backend, backend, backend)
   114  	if err != nil {
   115  		return nil, err
   116  	}
   117  	return &PermImpl{PermImplCaller: PermImplCaller{contract: contract}, PermImplTransactor: PermImplTransactor{contract: contract}, PermImplFilterer: PermImplFilterer{contract: contract}}, nil
   118  }
   119  
   120  // NewPermImplCaller creates a new read-only instance of PermImpl, bound to a specific deployed contract.
   121  func NewPermImplCaller(address common.Address, caller bind.ContractCaller) (*PermImplCaller, error) {
   122  	contract, err := bindPermImpl(address, caller, nil, nil)
   123  	if err != nil {
   124  		return nil, err
   125  	}
   126  	return &PermImplCaller{contract: contract}, nil
   127  }
   128  
   129  // NewPermImplTransactor creates a new write-only instance of PermImpl, bound to a specific deployed contract.
   130  func NewPermImplTransactor(address common.Address, transactor bind.ContractTransactor) (*PermImplTransactor, error) {
   131  	contract, err := bindPermImpl(address, nil, transactor, nil)
   132  	if err != nil {
   133  		return nil, err
   134  	}
   135  	return &PermImplTransactor{contract: contract}, nil
   136  }
   137  
   138  // NewPermImplFilterer creates a new log filterer instance of PermImpl, bound to a specific deployed contract.
   139  func NewPermImplFilterer(address common.Address, filterer bind.ContractFilterer) (*PermImplFilterer, error) {
   140  	contract, err := bindPermImpl(address, nil, nil, filterer)
   141  	if err != nil {
   142  		return nil, err
   143  	}
   144  	return &PermImplFilterer{contract: contract}, nil
   145  }
   146  
   147  // bindPermImpl binds a generic wrapper to an already deployed contract.
   148  func bindPermImpl(address common.Address, caller bind.ContractCaller, transactor bind.ContractTransactor, filterer bind.ContractFilterer) (*bind.BoundContract, error) {
   149  	parsed, err := abi.JSON(strings.NewReader(PermImplABI))
   150  	if err != nil {
   151  		return nil, err
   152  	}
   153  	return bind.NewBoundContract(address, parsed, caller, transactor, filterer), nil
   154  }
   155  
   156  // Call invokes the (constant) contract method with params as input values and
   157  // sets the output to result. The result type might be a single field for simple
   158  // returns, a slice of interfaces for anonymous returns and a struct for named
   159  // returns.
   160  func (_PermImpl *PermImplRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error {
   161  	return _PermImpl.Contract.PermImplCaller.contract.Call(opts, result, method, params...)
   162  }
   163  
   164  // Transfer initiates a plain transaction to move funds to the contract, calling
   165  // its default method if one is available.
   166  func (_PermImpl *PermImplRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) {
   167  	return _PermImpl.Contract.PermImplTransactor.contract.Transfer(opts)
   168  }
   169  
   170  // Transact invokes the (paid) contract method with params as input values.
   171  func (_PermImpl *PermImplRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) {
   172  	return _PermImpl.Contract.PermImplTransactor.contract.Transact(opts, method, params...)
   173  }
   174  
   175  // Call invokes the (constant) contract method with params as input values and
   176  // sets the output to result. The result type might be a single field for simple
   177  // returns, a slice of interfaces for anonymous returns and a struct for named
   178  // returns.
   179  func (_PermImpl *PermImplCallerRaw) Call(opts *bind.CallOpts, result interface{}, method string, params ...interface{}) error {
   180  	return _PermImpl.Contract.contract.Call(opts, result, method, params...)
   181  }
   182  
   183  // Transfer initiates a plain transaction to move funds to the contract, calling
   184  // its default method if one is available.
   185  func (_PermImpl *PermImplTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error) {
   186  	return _PermImpl.Contract.contract.Transfer(opts)
   187  }
   188  
   189  // Transact invokes the (paid) contract method with params as input values.
   190  func (_PermImpl *PermImplTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error) {
   191  	return _PermImpl.Contract.contract.Transact(opts, method, params...)
   192  }
   193  
   194  // GetNetworkBootStatus is a free data retrieval call binding the contract method 0x4cbfa82e.
   195  //
   196  // Solidity: function getNetworkBootStatus() constant returns(bool)
   197  func (_PermImpl *PermImplCaller) GetNetworkBootStatus(opts *bind.CallOpts) (bool, error) {
   198  	var (
   199  		ret0 = new(bool)
   200  	)
   201  	out := ret0
   202  	err := _PermImpl.contract.Call(opts, out, "getNetworkBootStatus")
   203  	return *ret0, err
   204  }
   205  
   206  // GetNetworkBootStatus is a free data retrieval call binding the contract method 0x4cbfa82e.
   207  //
   208  // Solidity: function getNetworkBootStatus() constant returns(bool)
   209  func (_PermImpl *PermImplSession) GetNetworkBootStatus() (bool, error) {
   210  	return _PermImpl.Contract.GetNetworkBootStatus(&_PermImpl.CallOpts)
   211  }
   212  
   213  // GetNetworkBootStatus is a free data retrieval call binding the contract method 0x4cbfa82e.
   214  //
   215  // Solidity: function getNetworkBootStatus() constant returns(bool)
   216  func (_PermImpl *PermImplCallerSession) GetNetworkBootStatus() (bool, error) {
   217  	return _PermImpl.Contract.GetNetworkBootStatus(&_PermImpl.CallOpts)
   218  }
   219  
   220  // GetPendingOp is a free data retrieval call binding the contract method 0xf346a3a7.
   221  //
   222  // Solidity: function getPendingOp(string _orgId) constant returns(string, string, address, uint256)
   223  func (_PermImpl *PermImplCaller) GetPendingOp(opts *bind.CallOpts, _orgId string) (string, string, common.Address, *big.Int, error) {
   224  	var (
   225  		ret0 = new(string)
   226  		ret1 = new(string)
   227  		ret2 = new(common.Address)
   228  		ret3 = new(*big.Int)
   229  	)
   230  	out := &[]interface{}{
   231  		ret0,
   232  		ret1,
   233  		ret2,
   234  		ret3,
   235  	}
   236  	err := _PermImpl.contract.Call(opts, out, "getPendingOp", _orgId)
   237  	return *ret0, *ret1, *ret2, *ret3, err
   238  }
   239  
   240  // GetPendingOp is a free data retrieval call binding the contract method 0xf346a3a7.
   241  //
   242  // Solidity: function getPendingOp(string _orgId) constant returns(string, string, address, uint256)
   243  func (_PermImpl *PermImplSession) GetPendingOp(_orgId string) (string, string, common.Address, *big.Int, error) {
   244  	return _PermImpl.Contract.GetPendingOp(&_PermImpl.CallOpts, _orgId)
   245  }
   246  
   247  // GetPendingOp is a free data retrieval call binding the contract method 0xf346a3a7.
   248  //
   249  // Solidity: function getPendingOp(string _orgId) constant returns(string, string, address, uint256)
   250  func (_PermImpl *PermImplCallerSession) GetPendingOp(_orgId string) (string, string, common.Address, *big.Int, error) {
   251  	return _PermImpl.Contract.GetPendingOp(&_PermImpl.CallOpts, _orgId)
   252  }
   253  
   254  // GetPolicyDetails is a free data retrieval call binding the contract method 0xcc9ba6fa.
   255  //
   256  // Solidity: function getPolicyDetails() constant returns(string, string, string, bool)
   257  func (_PermImpl *PermImplCaller) GetPolicyDetails(opts *bind.CallOpts) (string, string, string, bool, error) {
   258  	var (
   259  		ret0 = new(string)
   260  		ret1 = new(string)
   261  		ret2 = new(string)
   262  		ret3 = new(bool)
   263  	)
   264  	out := &[]interface{}{
   265  		ret0,
   266  		ret1,
   267  		ret2,
   268  		ret3,
   269  	}
   270  	err := _PermImpl.contract.Call(opts, out, "getPolicyDetails")
   271  	return *ret0, *ret1, *ret2, *ret3, err
   272  }
   273  
   274  // GetPolicyDetails is a free data retrieval call binding the contract method 0xcc9ba6fa.
   275  //
   276  // Solidity: function getPolicyDetails() constant returns(string, string, string, bool)
   277  func (_PermImpl *PermImplSession) GetPolicyDetails() (string, string, string, bool, error) {
   278  	return _PermImpl.Contract.GetPolicyDetails(&_PermImpl.CallOpts)
   279  }
   280  
   281  // GetPolicyDetails is a free data retrieval call binding the contract method 0xcc9ba6fa.
   282  //
   283  // Solidity: function getPolicyDetails() constant returns(string, string, string, bool)
   284  func (_PermImpl *PermImplCallerSession) GetPolicyDetails() (string, string, string, bool, error) {
   285  	return _PermImpl.Contract.GetPolicyDetails(&_PermImpl.CallOpts)
   286  }
   287  
   288  // IsNetworkAdmin is a free data retrieval call binding the contract method 0xd1aa0c20.
   289  //
   290  // Solidity: function isNetworkAdmin(address _account) constant returns(bool)
   291  func (_PermImpl *PermImplCaller) IsNetworkAdmin(opts *bind.CallOpts, _account common.Address) (bool, error) {
   292  	var (
   293  		ret0 = new(bool)
   294  	)
   295  	out := ret0
   296  	err := _PermImpl.contract.Call(opts, out, "isNetworkAdmin", _account)
   297  	return *ret0, err
   298  }
   299  
   300  // IsNetworkAdmin is a free data retrieval call binding the contract method 0xd1aa0c20.
   301  //
   302  // Solidity: function isNetworkAdmin(address _account) constant returns(bool)
   303  func (_PermImpl *PermImplSession) IsNetworkAdmin(_account common.Address) (bool, error) {
   304  	return _PermImpl.Contract.IsNetworkAdmin(&_PermImpl.CallOpts, _account)
   305  }
   306  
   307  // IsNetworkAdmin is a free data retrieval call binding the contract method 0xd1aa0c20.
   308  //
   309  // Solidity: function isNetworkAdmin(address _account) constant returns(bool)
   310  func (_PermImpl *PermImplCallerSession) IsNetworkAdmin(_account common.Address) (bool, error) {
   311  	return _PermImpl.Contract.IsNetworkAdmin(&_PermImpl.CallOpts, _account)
   312  }
   313  
   314  // IsOrgAdmin is a free data retrieval call binding the contract method 0x9bd38101.
   315  //
   316  // Solidity: function isOrgAdmin(address _account, string _orgId) constant returns(bool)
   317  func (_PermImpl *PermImplCaller) IsOrgAdmin(opts *bind.CallOpts, _account common.Address, _orgId string) (bool, error) {
   318  	var (
   319  		ret0 = new(bool)
   320  	)
   321  	out := ret0
   322  	err := _PermImpl.contract.Call(opts, out, "isOrgAdmin", _account, _orgId)
   323  	return *ret0, err
   324  }
   325  
   326  // IsOrgAdmin is a free data retrieval call binding the contract method 0x9bd38101.
   327  //
   328  // Solidity: function isOrgAdmin(address _account, string _orgId) constant returns(bool)
   329  func (_PermImpl *PermImplSession) IsOrgAdmin(_account common.Address, _orgId string) (bool, error) {
   330  	return _PermImpl.Contract.IsOrgAdmin(&_PermImpl.CallOpts, _account, _orgId)
   331  }
   332  
   333  // IsOrgAdmin is a free data retrieval call binding the contract method 0x9bd38101.
   334  //
   335  // Solidity: function isOrgAdmin(address _account, string _orgId) constant returns(bool)
   336  func (_PermImpl *PermImplCallerSession) IsOrgAdmin(_account common.Address, _orgId string) (bool, error) {
   337  	return _PermImpl.Contract.IsOrgAdmin(&_PermImpl.CallOpts, _account, _orgId)
   338  }
   339  
   340  // ValidateAccount is a free data retrieval call binding the contract method 0x6b568d76.
   341  //
   342  // Solidity: function validateAccount(address _account, string _orgId) constant returns(bool)
   343  func (_PermImpl *PermImplCaller) ValidateAccount(opts *bind.CallOpts, _account common.Address, _orgId string) (bool, error) {
   344  	var (
   345  		ret0 = new(bool)
   346  	)
   347  	out := ret0
   348  	err := _PermImpl.contract.Call(opts, out, "validateAccount", _account, _orgId)
   349  	return *ret0, err
   350  }
   351  
   352  // ValidateAccount is a free data retrieval call binding the contract method 0x6b568d76.
   353  //
   354  // Solidity: function validateAccount(address _account, string _orgId) constant returns(bool)
   355  func (_PermImpl *PermImplSession) ValidateAccount(_account common.Address, _orgId string) (bool, error) {
   356  	return _PermImpl.Contract.ValidateAccount(&_PermImpl.CallOpts, _account, _orgId)
   357  }
   358  
   359  // ValidateAccount is a free data retrieval call binding the contract method 0x6b568d76.
   360  //
   361  // Solidity: function validateAccount(address _account, string _orgId) constant returns(bool)
   362  func (_PermImpl *PermImplCallerSession) ValidateAccount(_account common.Address, _orgId string) (bool, error) {
   363  	return _PermImpl.Contract.ValidateAccount(&_PermImpl.CallOpts, _account, _orgId)
   364  }
   365  
   366  // AddAdminAccount is a paid mutator transaction binding the contract method 0x4fe57e7a.
   367  //
   368  // Solidity: function addAdminAccount(address _account) returns()
   369  func (_PermImpl *PermImplTransactor) AddAdminAccount(opts *bind.TransactOpts, _account common.Address) (*types.Transaction, error) {
   370  	return _PermImpl.contract.Transact(opts, "addAdminAccount", _account)
   371  }
   372  
   373  // AddAdminAccount is a paid mutator transaction binding the contract method 0x4fe57e7a.
   374  //
   375  // Solidity: function addAdminAccount(address _account) returns()
   376  func (_PermImpl *PermImplSession) AddAdminAccount(_account common.Address) (*types.Transaction, error) {
   377  	return _PermImpl.Contract.AddAdminAccount(&_PermImpl.TransactOpts, _account)
   378  }
   379  
   380  // AddAdminAccount is a paid mutator transaction binding the contract method 0x4fe57e7a.
   381  //
   382  // Solidity: function addAdminAccount(address _account) returns()
   383  func (_PermImpl *PermImplTransactorSession) AddAdminAccount(_account common.Address) (*types.Transaction, error) {
   384  	return _PermImpl.Contract.AddAdminAccount(&_PermImpl.TransactOpts, _account)
   385  }
   386  
   387  // AddAdminNode is a paid mutator transaction binding the contract method 0x3f25c288.
   388  //
   389  // Solidity: function addAdminNode(string _enodeId) returns()
   390  func (_PermImpl *PermImplTransactor) AddAdminNode(opts *bind.TransactOpts, _enodeId string) (*types.Transaction, error) {
   391  	return _PermImpl.contract.Transact(opts, "addAdminNode", _enodeId)
   392  }
   393  
   394  // AddAdminNode is a paid mutator transaction binding the contract method 0x3f25c288.
   395  //
   396  // Solidity: function addAdminNode(string _enodeId) returns()
   397  func (_PermImpl *PermImplSession) AddAdminNode(_enodeId string) (*types.Transaction, error) {
   398  	return _PermImpl.Contract.AddAdminNode(&_PermImpl.TransactOpts, _enodeId)
   399  }
   400  
   401  // AddAdminNode is a paid mutator transaction binding the contract method 0x3f25c288.
   402  //
   403  // Solidity: function addAdminNode(string _enodeId) returns()
   404  func (_PermImpl *PermImplTransactorSession) AddAdminNode(_enodeId string) (*types.Transaction, error) {
   405  	return _PermImpl.Contract.AddAdminNode(&_PermImpl.TransactOpts, _enodeId)
   406  }
   407  
   408  // AddNewRole is a paid mutator transaction binding the contract method 0x1b04c276.
   409  //
   410  // Solidity: function addNewRole(string _roleId, string _orgId, uint256 _access, bool _voter, bool _admin, address _caller) returns()
   411  func (_PermImpl *PermImplTransactor) AddNewRole(opts *bind.TransactOpts, _roleId string, _orgId string, _access *big.Int, _voter bool, _admin bool, _caller common.Address) (*types.Transaction, error) {
   412  	return _PermImpl.contract.Transact(opts, "addNewRole", _roleId, _orgId, _access, _voter, _admin, _caller)
   413  }
   414  
   415  // AddNewRole is a paid mutator transaction binding the contract method 0x1b04c276.
   416  //
   417  // Solidity: function addNewRole(string _roleId, string _orgId, uint256 _access, bool _voter, bool _admin, address _caller) returns()
   418  func (_PermImpl *PermImplSession) AddNewRole(_roleId string, _orgId string, _access *big.Int, _voter bool, _admin bool, _caller common.Address) (*types.Transaction, error) {
   419  	return _PermImpl.Contract.AddNewRole(&_PermImpl.TransactOpts, _roleId, _orgId, _access, _voter, _admin, _caller)
   420  }
   421  
   422  // AddNewRole is a paid mutator transaction binding the contract method 0x1b04c276.
   423  //
   424  // Solidity: function addNewRole(string _roleId, string _orgId, uint256 _access, bool _voter, bool _admin, address _caller) returns()
   425  func (_PermImpl *PermImplTransactorSession) AddNewRole(_roleId string, _orgId string, _access *big.Int, _voter bool, _admin bool, _caller common.Address) (*types.Transaction, error) {
   426  	return _PermImpl.Contract.AddNewRole(&_PermImpl.TransactOpts, _roleId, _orgId, _access, _voter, _admin, _caller)
   427  }
   428  
   429  // AddNode is a paid mutator transaction binding the contract method 0x59a260a3.
   430  //
   431  // Solidity: function addNode(string _orgId, string _enodeId, address _caller) returns()
   432  func (_PermImpl *PermImplTransactor) AddNode(opts *bind.TransactOpts, _orgId string, _enodeId string, _caller common.Address) (*types.Transaction, error) {
   433  	return _PermImpl.contract.Transact(opts, "addNode", _orgId, _enodeId, _caller)
   434  }
   435  
   436  // AddNode is a paid mutator transaction binding the contract method 0x59a260a3.
   437  //
   438  // Solidity: function addNode(string _orgId, string _enodeId, address _caller) returns()
   439  func (_PermImpl *PermImplSession) AddNode(_orgId string, _enodeId string, _caller common.Address) (*types.Transaction, error) {
   440  	return _PermImpl.Contract.AddNode(&_PermImpl.TransactOpts, _orgId, _enodeId, _caller)
   441  }
   442  
   443  // AddNode is a paid mutator transaction binding the contract method 0x59a260a3.
   444  //
   445  // Solidity: function addNode(string _orgId, string _enodeId, address _caller) returns()
   446  func (_PermImpl *PermImplTransactorSession) AddNode(_orgId string, _enodeId string, _caller common.Address) (*types.Transaction, error) {
   447  	return _PermImpl.Contract.AddNode(&_PermImpl.TransactOpts, _orgId, _enodeId, _caller)
   448  }
   449  
   450  // AddOrg is a paid mutator transaction binding the contract method 0xf922f802.
   451  //
   452  // Solidity: function addOrg(string _orgId, string _enodeId, address _account, address _caller) returns()
   453  func (_PermImpl *PermImplTransactor) AddOrg(opts *bind.TransactOpts, _orgId string, _enodeId string, _account common.Address, _caller common.Address) (*types.Transaction, error) {
   454  	return _PermImpl.contract.Transact(opts, "addOrg", _orgId, _enodeId, _account, _caller)
   455  }
   456  
   457  // AddOrg is a paid mutator transaction binding the contract method 0xf922f802.
   458  //
   459  // Solidity: function addOrg(string _orgId, string _enodeId, address _account, address _caller) returns()
   460  func (_PermImpl *PermImplSession) AddOrg(_orgId string, _enodeId string, _account common.Address, _caller common.Address) (*types.Transaction, error) {
   461  	return _PermImpl.Contract.AddOrg(&_PermImpl.TransactOpts, _orgId, _enodeId, _account, _caller)
   462  }
   463  
   464  // AddOrg is a paid mutator transaction binding the contract method 0xf922f802.
   465  //
   466  // Solidity: function addOrg(string _orgId, string _enodeId, address _account, address _caller) returns()
   467  func (_PermImpl *PermImplTransactorSession) AddOrg(_orgId string, _enodeId string, _account common.Address, _caller common.Address) (*types.Transaction, error) {
   468  	return _PermImpl.Contract.AddOrg(&_PermImpl.TransactOpts, _orgId, _enodeId, _account, _caller)
   469  }
   470  
   471  // AddSubOrg is a paid mutator transaction binding the contract method 0xa64d2860.
   472  //
   473  // Solidity: function addSubOrg(string _pOrgId, string _orgId, string _enodeId, address _caller) returns()
   474  func (_PermImpl *PermImplTransactor) AddSubOrg(opts *bind.TransactOpts, _pOrgId string, _orgId string, _enodeId string, _caller common.Address) (*types.Transaction, error) {
   475  	return _PermImpl.contract.Transact(opts, "addSubOrg", _pOrgId, _orgId, _enodeId, _caller)
   476  }
   477  
   478  // AddSubOrg is a paid mutator transaction binding the contract method 0xa64d2860.
   479  //
   480  // Solidity: function addSubOrg(string _pOrgId, string _orgId, string _enodeId, address _caller) returns()
   481  func (_PermImpl *PermImplSession) AddSubOrg(_pOrgId string, _orgId string, _enodeId string, _caller common.Address) (*types.Transaction, error) {
   482  	return _PermImpl.Contract.AddSubOrg(&_PermImpl.TransactOpts, _pOrgId, _orgId, _enodeId, _caller)
   483  }
   484  
   485  // AddSubOrg is a paid mutator transaction binding the contract method 0xa64d2860.
   486  //
   487  // Solidity: function addSubOrg(string _pOrgId, string _orgId, string _enodeId, address _caller) returns()
   488  func (_PermImpl *PermImplTransactorSession) AddSubOrg(_pOrgId string, _orgId string, _enodeId string, _caller common.Address) (*types.Transaction, error) {
   489  	return _PermImpl.Contract.AddSubOrg(&_PermImpl.TransactOpts, _pOrgId, _orgId, _enodeId, _caller)
   490  }
   491  
   492  // ApproveAdminRole is a paid mutator transaction binding the contract method 0x88843041.
   493  //
   494  // Solidity: function approveAdminRole(string _orgId, address _account, address _caller) returns()
   495  func (_PermImpl *PermImplTransactor) ApproveAdminRole(opts *bind.TransactOpts, _orgId string, _account common.Address, _caller common.Address) (*types.Transaction, error) {
   496  	return _PermImpl.contract.Transact(opts, "approveAdminRole", _orgId, _account, _caller)
   497  }
   498  
   499  // ApproveAdminRole is a paid mutator transaction binding the contract method 0x88843041.
   500  //
   501  // Solidity: function approveAdminRole(string _orgId, address _account, address _caller) returns()
   502  func (_PermImpl *PermImplSession) ApproveAdminRole(_orgId string, _account common.Address, _caller common.Address) (*types.Transaction, error) {
   503  	return _PermImpl.Contract.ApproveAdminRole(&_PermImpl.TransactOpts, _orgId, _account, _caller)
   504  }
   505  
   506  // ApproveAdminRole is a paid mutator transaction binding the contract method 0x88843041.
   507  //
   508  // Solidity: function approveAdminRole(string _orgId, address _account, address _caller) returns()
   509  func (_PermImpl *PermImplTransactorSession) ApproveAdminRole(_orgId string, _account common.Address, _caller common.Address) (*types.Transaction, error) {
   510  	return _PermImpl.Contract.ApproveAdminRole(&_PermImpl.TransactOpts, _orgId, _account, _caller)
   511  }
   512  
   513  // ApproveBlacklistedAccountRecovery is a paid mutator transaction binding the contract method 0x4b20f45f.
   514  //
   515  // Solidity: function approveBlacklistedAccountRecovery(string _orgId, address _account, address _caller) returns()
   516  func (_PermImpl *PermImplTransactor) ApproveBlacklistedAccountRecovery(opts *bind.TransactOpts, _orgId string, _account common.Address, _caller common.Address) (*types.Transaction, error) {
   517  	return _PermImpl.contract.Transact(opts, "approveBlacklistedAccountRecovery", _orgId, _account, _caller)
   518  }
   519  
   520  // ApproveBlacklistedAccountRecovery is a paid mutator transaction binding the contract method 0x4b20f45f.
   521  //
   522  // Solidity: function approveBlacklistedAccountRecovery(string _orgId, address _account, address _caller) returns()
   523  func (_PermImpl *PermImplSession) ApproveBlacklistedAccountRecovery(_orgId string, _account common.Address, _caller common.Address) (*types.Transaction, error) {
   524  	return _PermImpl.Contract.ApproveBlacklistedAccountRecovery(&_PermImpl.TransactOpts, _orgId, _account, _caller)
   525  }
   526  
   527  // ApproveBlacklistedAccountRecovery is a paid mutator transaction binding the contract method 0x4b20f45f.
   528  //
   529  // Solidity: function approveBlacklistedAccountRecovery(string _orgId, address _account, address _caller) returns()
   530  func (_PermImpl *PermImplTransactorSession) ApproveBlacklistedAccountRecovery(_orgId string, _account common.Address, _caller common.Address) (*types.Transaction, error) {
   531  	return _PermImpl.Contract.ApproveBlacklistedAccountRecovery(&_PermImpl.TransactOpts, _orgId, _account, _caller)
   532  }
   533  
   534  // ApproveBlacklistedNodeRecovery is a paid mutator transaction binding the contract method 0x655a8ef5.
   535  //
   536  // Solidity: function approveBlacklistedNodeRecovery(string _orgId, string _enodeId, address _caller) returns()
   537  func (_PermImpl *PermImplTransactor) ApproveBlacklistedNodeRecovery(opts *bind.TransactOpts, _orgId string, _enodeId string, _caller common.Address) (*types.Transaction, error) {
   538  	return _PermImpl.contract.Transact(opts, "approveBlacklistedNodeRecovery", _orgId, _enodeId, _caller)
   539  }
   540  
   541  // ApproveBlacklistedNodeRecovery is a paid mutator transaction binding the contract method 0x655a8ef5.
   542  //
   543  // Solidity: function approveBlacklistedNodeRecovery(string _orgId, string _enodeId, address _caller) returns()
   544  func (_PermImpl *PermImplSession) ApproveBlacklistedNodeRecovery(_orgId string, _enodeId string, _caller common.Address) (*types.Transaction, error) {
   545  	return _PermImpl.Contract.ApproveBlacklistedNodeRecovery(&_PermImpl.TransactOpts, _orgId, _enodeId, _caller)
   546  }
   547  
   548  // ApproveBlacklistedNodeRecovery is a paid mutator transaction binding the contract method 0x655a8ef5.
   549  //
   550  // Solidity: function approveBlacklistedNodeRecovery(string _orgId, string _enodeId, address _caller) returns()
   551  func (_PermImpl *PermImplTransactorSession) ApproveBlacklistedNodeRecovery(_orgId string, _enodeId string, _caller common.Address) (*types.Transaction, error) {
   552  	return _PermImpl.Contract.ApproveBlacklistedNodeRecovery(&_PermImpl.TransactOpts, _orgId, _enodeId, _caller)
   553  }
   554  
   555  // ApproveOrg is a paid mutator transaction binding the contract method 0x3bc07dea.
   556  //
   557  // Solidity: function approveOrg(string _orgId, string _enodeId, address _account, address _caller) returns()
   558  func (_PermImpl *PermImplTransactor) ApproveOrg(opts *bind.TransactOpts, _orgId string, _enodeId string, _account common.Address, _caller common.Address) (*types.Transaction, error) {
   559  	return _PermImpl.contract.Transact(opts, "approveOrg", _orgId, _enodeId, _account, _caller)
   560  }
   561  
   562  // ApproveOrg is a paid mutator transaction binding the contract method 0x3bc07dea.
   563  //
   564  // Solidity: function approveOrg(string _orgId, string _enodeId, address _account, address _caller) returns()
   565  func (_PermImpl *PermImplSession) ApproveOrg(_orgId string, _enodeId string, _account common.Address, _caller common.Address) (*types.Transaction, error) {
   566  	return _PermImpl.Contract.ApproveOrg(&_PermImpl.TransactOpts, _orgId, _enodeId, _account, _caller)
   567  }
   568  
   569  // ApproveOrg is a paid mutator transaction binding the contract method 0x3bc07dea.
   570  //
   571  // Solidity: function approveOrg(string _orgId, string _enodeId, address _account, address _caller) returns()
   572  func (_PermImpl *PermImplTransactorSession) ApproveOrg(_orgId string, _enodeId string, _account common.Address, _caller common.Address) (*types.Transaction, error) {
   573  	return _PermImpl.Contract.ApproveOrg(&_PermImpl.TransactOpts, _orgId, _enodeId, _account, _caller)
   574  }
   575  
   576  // ApproveOrgStatus is a paid mutator transaction binding the contract method 0xb5546564.
   577  //
   578  // Solidity: function approveOrgStatus(string _orgId, uint256 _action, address _caller) returns()
   579  func (_PermImpl *PermImplTransactor) ApproveOrgStatus(opts *bind.TransactOpts, _orgId string, _action *big.Int, _caller common.Address) (*types.Transaction, error) {
   580  	return _PermImpl.contract.Transact(opts, "approveOrgStatus", _orgId, _action, _caller)
   581  }
   582  
   583  // ApproveOrgStatus is a paid mutator transaction binding the contract method 0xb5546564.
   584  //
   585  // Solidity: function approveOrgStatus(string _orgId, uint256 _action, address _caller) returns()
   586  func (_PermImpl *PermImplSession) ApproveOrgStatus(_orgId string, _action *big.Int, _caller common.Address) (*types.Transaction, error) {
   587  	return _PermImpl.Contract.ApproveOrgStatus(&_PermImpl.TransactOpts, _orgId, _action, _caller)
   588  }
   589  
   590  // ApproveOrgStatus is a paid mutator transaction binding the contract method 0xb5546564.
   591  //
   592  // Solidity: function approveOrgStatus(string _orgId, uint256 _action, address _caller) returns()
   593  func (_PermImpl *PermImplTransactorSession) ApproveOrgStatus(_orgId string, _action *big.Int, _caller common.Address) (*types.Transaction, error) {
   594  	return _PermImpl.Contract.ApproveOrgStatus(&_PermImpl.TransactOpts, _orgId, _action, _caller)
   595  }
   596  
   597  // AssignAccountRole is a paid mutator transaction binding the contract method 0x8baa8191.
   598  //
   599  // Solidity: function assignAccountRole(address _account, string _orgId, string _roleId, address _caller) returns()
   600  func (_PermImpl *PermImplTransactor) AssignAccountRole(opts *bind.TransactOpts, _account common.Address, _orgId string, _roleId string, _caller common.Address) (*types.Transaction, error) {
   601  	return _PermImpl.contract.Transact(opts, "assignAccountRole", _account, _orgId, _roleId, _caller)
   602  }
   603  
   604  // AssignAccountRole is a paid mutator transaction binding the contract method 0x8baa8191.
   605  //
   606  // Solidity: function assignAccountRole(address _account, string _orgId, string _roleId, address _caller) returns()
   607  func (_PermImpl *PermImplSession) AssignAccountRole(_account common.Address, _orgId string, _roleId string, _caller common.Address) (*types.Transaction, error) {
   608  	return _PermImpl.Contract.AssignAccountRole(&_PermImpl.TransactOpts, _account, _orgId, _roleId, _caller)
   609  }
   610  
   611  // AssignAccountRole is a paid mutator transaction binding the contract method 0x8baa8191.
   612  //
   613  // Solidity: function assignAccountRole(address _account, string _orgId, string _roleId, address _caller) returns()
   614  func (_PermImpl *PermImplTransactorSession) AssignAccountRole(_account common.Address, _orgId string, _roleId string, _caller common.Address) (*types.Transaction, error) {
   615  	return _PermImpl.Contract.AssignAccountRole(&_PermImpl.TransactOpts, _account, _orgId, _roleId, _caller)
   616  }
   617  
   618  // AssignAdminRole is a paid mutator transaction binding the contract method 0x404bf3eb.
   619  //
   620  // Solidity: function assignAdminRole(string _orgId, address _account, string _roleId, address _caller) returns()
   621  func (_PermImpl *PermImplTransactor) AssignAdminRole(opts *bind.TransactOpts, _orgId string, _account common.Address, _roleId string, _caller common.Address) (*types.Transaction, error) {
   622  	return _PermImpl.contract.Transact(opts, "assignAdminRole", _orgId, _account, _roleId, _caller)
   623  }
   624  
   625  // AssignAdminRole is a paid mutator transaction binding the contract method 0x404bf3eb.
   626  //
   627  // Solidity: function assignAdminRole(string _orgId, address _account, string _roleId, address _caller) returns()
   628  func (_PermImpl *PermImplSession) AssignAdminRole(_orgId string, _account common.Address, _roleId string, _caller common.Address) (*types.Transaction, error) {
   629  	return _PermImpl.Contract.AssignAdminRole(&_PermImpl.TransactOpts, _orgId, _account, _roleId, _caller)
   630  }
   631  
   632  // AssignAdminRole is a paid mutator transaction binding the contract method 0x404bf3eb.
   633  //
   634  // Solidity: function assignAdminRole(string _orgId, address _account, string _roleId, address _caller) returns()
   635  func (_PermImpl *PermImplTransactorSession) AssignAdminRole(_orgId string, _account common.Address, _roleId string, _caller common.Address) (*types.Transaction, error) {
   636  	return _PermImpl.Contract.AssignAdminRole(&_PermImpl.TransactOpts, _orgId, _account, _roleId, _caller)
   637  }
   638  
   639  // Init is a paid mutator transaction binding the contract method 0xa5843f08.
   640  //
   641  // Solidity: function init(uint256 _breadth, uint256 _depth) returns()
   642  func (_PermImpl *PermImplTransactor) Init(opts *bind.TransactOpts, _breadth *big.Int, _depth *big.Int) (*types.Transaction, error) {
   643  	return _PermImpl.contract.Transact(opts, "init", _breadth, _depth)
   644  }
   645  
   646  // Init is a paid mutator transaction binding the contract method 0xa5843f08.
   647  //
   648  // Solidity: function init(uint256 _breadth, uint256 _depth) returns()
   649  func (_PermImpl *PermImplSession) Init(_breadth *big.Int, _depth *big.Int) (*types.Transaction, error) {
   650  	return _PermImpl.Contract.Init(&_PermImpl.TransactOpts, _breadth, _depth)
   651  }
   652  
   653  // Init is a paid mutator transaction binding the contract method 0xa5843f08.
   654  //
   655  // Solidity: function init(uint256 _breadth, uint256 _depth) returns()
   656  func (_PermImpl *PermImplTransactorSession) Init(_breadth *big.Int, _depth *big.Int) (*types.Transaction, error) {
   657  	return _PermImpl.Contract.Init(&_PermImpl.TransactOpts, _breadth, _depth)
   658  }
   659  
   660  // RemoveRole is a paid mutator transaction binding the contract method 0x5ca5adbe.
   661  //
   662  // Solidity: function removeRole(string _roleId, string _orgId, address _caller) returns()
   663  func (_PermImpl *PermImplTransactor) RemoveRole(opts *bind.TransactOpts, _roleId string, _orgId string, _caller common.Address) (*types.Transaction, error) {
   664  	return _PermImpl.contract.Transact(opts, "removeRole", _roleId, _orgId, _caller)
   665  }
   666  
   667  // RemoveRole is a paid mutator transaction binding the contract method 0x5ca5adbe.
   668  //
   669  // Solidity: function removeRole(string _roleId, string _orgId, address _caller) returns()
   670  func (_PermImpl *PermImplSession) RemoveRole(_roleId string, _orgId string, _caller common.Address) (*types.Transaction, error) {
   671  	return _PermImpl.Contract.RemoveRole(&_PermImpl.TransactOpts, _roleId, _orgId, _caller)
   672  }
   673  
   674  // RemoveRole is a paid mutator transaction binding the contract method 0x5ca5adbe.
   675  //
   676  // Solidity: function removeRole(string _roleId, string _orgId, address _caller) returns()
   677  func (_PermImpl *PermImplTransactorSession) RemoveRole(_roleId string, _orgId string, _caller common.Address) (*types.Transaction, error) {
   678  	return _PermImpl.Contract.RemoveRole(&_PermImpl.TransactOpts, _roleId, _orgId, _caller)
   679  }
   680  
   681  // SetMigrationPolicy is a paid mutator transaction binding the contract method 0xf5ad584a.
   682  //
   683  // Solidity: function setMigrationPolicy(string _nwAdminOrg, string _nwAdminRole, string _oAdminRole, bool _networkBootStatus) returns()
   684  func (_PermImpl *PermImplTransactor) SetMigrationPolicy(opts *bind.TransactOpts, _nwAdminOrg string, _nwAdminRole string, _oAdminRole string, _networkBootStatus bool) (*types.Transaction, error) {
   685  	return _PermImpl.contract.Transact(opts, "setMigrationPolicy", _nwAdminOrg, _nwAdminRole, _oAdminRole, _networkBootStatus)
   686  }
   687  
   688  // SetMigrationPolicy is a paid mutator transaction binding the contract method 0xf5ad584a.
   689  //
   690  // Solidity: function setMigrationPolicy(string _nwAdminOrg, string _nwAdminRole, string _oAdminRole, bool _networkBootStatus) returns()
   691  func (_PermImpl *PermImplSession) SetMigrationPolicy(_nwAdminOrg string, _nwAdminRole string, _oAdminRole string, _networkBootStatus bool) (*types.Transaction, error) {
   692  	return _PermImpl.Contract.SetMigrationPolicy(&_PermImpl.TransactOpts, _nwAdminOrg, _nwAdminRole, _oAdminRole, _networkBootStatus)
   693  }
   694  
   695  // SetMigrationPolicy is a paid mutator transaction binding the contract method 0xf5ad584a.
   696  //
   697  // Solidity: function setMigrationPolicy(string _nwAdminOrg, string _nwAdminRole, string _oAdminRole, bool _networkBootStatus) returns()
   698  func (_PermImpl *PermImplTransactorSession) SetMigrationPolicy(_nwAdminOrg string, _nwAdminRole string, _oAdminRole string, _networkBootStatus bool) (*types.Transaction, error) {
   699  	return _PermImpl.Contract.SetMigrationPolicy(&_PermImpl.TransactOpts, _nwAdminOrg, _nwAdminRole, _oAdminRole, _networkBootStatus)
   700  }
   701  
   702  // SetPolicy is a paid mutator transaction binding the contract method 0x1b610220.
   703  //
   704  // Solidity: function setPolicy(string _nwAdminOrg, string _nwAdminRole, string _oAdminRole) returns()
   705  func (_PermImpl *PermImplTransactor) SetPolicy(opts *bind.TransactOpts, _nwAdminOrg string, _nwAdminRole string, _oAdminRole string) (*types.Transaction, error) {
   706  	return _PermImpl.contract.Transact(opts, "setPolicy", _nwAdminOrg, _nwAdminRole, _oAdminRole)
   707  }
   708  
   709  // SetPolicy is a paid mutator transaction binding the contract method 0x1b610220.
   710  //
   711  // Solidity: function setPolicy(string _nwAdminOrg, string _nwAdminRole, string _oAdminRole) returns()
   712  func (_PermImpl *PermImplSession) SetPolicy(_nwAdminOrg string, _nwAdminRole string, _oAdminRole string) (*types.Transaction, error) {
   713  	return _PermImpl.Contract.SetPolicy(&_PermImpl.TransactOpts, _nwAdminOrg, _nwAdminRole, _oAdminRole)
   714  }
   715  
   716  // SetPolicy is a paid mutator transaction binding the contract method 0x1b610220.
   717  //
   718  // Solidity: function setPolicy(string _nwAdminOrg, string _nwAdminRole, string _oAdminRole) returns()
   719  func (_PermImpl *PermImplTransactorSession) SetPolicy(_nwAdminOrg string, _nwAdminRole string, _oAdminRole string) (*types.Transaction, error) {
   720  	return _PermImpl.Contract.SetPolicy(&_PermImpl.TransactOpts, _nwAdminOrg, _nwAdminRole, _oAdminRole)
   721  }
   722  
   723  // StartBlacklistedAccountRecovery is a paid mutator transaction binding the contract method 0x1c249912.
   724  //
   725  // Solidity: function startBlacklistedAccountRecovery(string _orgId, address _account, address _caller) returns()
   726  func (_PermImpl *PermImplTransactor) StartBlacklistedAccountRecovery(opts *bind.TransactOpts, _orgId string, _account common.Address, _caller common.Address) (*types.Transaction, error) {
   727  	return _PermImpl.contract.Transact(opts, "startBlacklistedAccountRecovery", _orgId, _account, _caller)
   728  }
   729  
   730  // StartBlacklistedAccountRecovery is a paid mutator transaction binding the contract method 0x1c249912.
   731  //
   732  // Solidity: function startBlacklistedAccountRecovery(string _orgId, address _account, address _caller) returns()
   733  func (_PermImpl *PermImplSession) StartBlacklistedAccountRecovery(_orgId string, _account common.Address, _caller common.Address) (*types.Transaction, error) {
   734  	return _PermImpl.Contract.StartBlacklistedAccountRecovery(&_PermImpl.TransactOpts, _orgId, _account, _caller)
   735  }
   736  
   737  // StartBlacklistedAccountRecovery is a paid mutator transaction binding the contract method 0x1c249912.
   738  //
   739  // Solidity: function startBlacklistedAccountRecovery(string _orgId, address _account, address _caller) returns()
   740  func (_PermImpl *PermImplTransactorSession) StartBlacklistedAccountRecovery(_orgId string, _account common.Address, _caller common.Address) (*types.Transaction, error) {
   741  	return _PermImpl.Contract.StartBlacklistedAccountRecovery(&_PermImpl.TransactOpts, _orgId, _account, _caller)
   742  }
   743  
   744  // StartBlacklistedNodeRecovery is a paid mutator transaction binding the contract method 0xc3dc8e09.
   745  //
   746  // Solidity: function startBlacklistedNodeRecovery(string _orgId, string _enodeId, address _caller) returns()
   747  func (_PermImpl *PermImplTransactor) StartBlacklistedNodeRecovery(opts *bind.TransactOpts, _orgId string, _enodeId string, _caller common.Address) (*types.Transaction, error) {
   748  	return _PermImpl.contract.Transact(opts, "startBlacklistedNodeRecovery", _orgId, _enodeId, _caller)
   749  }
   750  
   751  // StartBlacklistedNodeRecovery is a paid mutator transaction binding the contract method 0xc3dc8e09.
   752  //
   753  // Solidity: function startBlacklistedNodeRecovery(string _orgId, string _enodeId, address _caller) returns()
   754  func (_PermImpl *PermImplSession) StartBlacklistedNodeRecovery(_orgId string, _enodeId string, _caller common.Address) (*types.Transaction, error) {
   755  	return _PermImpl.Contract.StartBlacklistedNodeRecovery(&_PermImpl.TransactOpts, _orgId, _enodeId, _caller)
   756  }
   757  
   758  // StartBlacklistedNodeRecovery is a paid mutator transaction binding the contract method 0xc3dc8e09.
   759  //
   760  // Solidity: function startBlacklistedNodeRecovery(string _orgId, string _enodeId, address _caller) returns()
   761  func (_PermImpl *PermImplTransactorSession) StartBlacklistedNodeRecovery(_orgId string, _enodeId string, _caller common.Address) (*types.Transaction, error) {
   762  	return _PermImpl.Contract.StartBlacklistedNodeRecovery(&_PermImpl.TransactOpts, _orgId, _enodeId, _caller)
   763  }
   764  
   765  // UpdateAccountStatus is a paid mutator transaction binding the contract method 0x04e81f1e.
   766  //
   767  // Solidity: function updateAccountStatus(string _orgId, address _account, uint256 _action, address _caller) returns()
   768  func (_PermImpl *PermImplTransactor) UpdateAccountStatus(opts *bind.TransactOpts, _orgId string, _account common.Address, _action *big.Int, _caller common.Address) (*types.Transaction, error) {
   769  	return _PermImpl.contract.Transact(opts, "updateAccountStatus", _orgId, _account, _action, _caller)
   770  }
   771  
   772  // UpdateAccountStatus is a paid mutator transaction binding the contract method 0x04e81f1e.
   773  //
   774  // Solidity: function updateAccountStatus(string _orgId, address _account, uint256 _action, address _caller) returns()
   775  func (_PermImpl *PermImplSession) UpdateAccountStatus(_orgId string, _account common.Address, _action *big.Int, _caller common.Address) (*types.Transaction, error) {
   776  	return _PermImpl.Contract.UpdateAccountStatus(&_PermImpl.TransactOpts, _orgId, _account, _action, _caller)
   777  }
   778  
   779  // UpdateAccountStatus is a paid mutator transaction binding the contract method 0x04e81f1e.
   780  //
   781  // Solidity: function updateAccountStatus(string _orgId, address _account, uint256 _action, address _caller) returns()
   782  func (_PermImpl *PermImplTransactorSession) UpdateAccountStatus(_orgId string, _account common.Address, _action *big.Int, _caller common.Address) (*types.Transaction, error) {
   783  	return _PermImpl.Contract.UpdateAccountStatus(&_PermImpl.TransactOpts, _orgId, _account, _action, _caller)
   784  }
   785  
   786  // UpdateNetworkBootStatus is a paid mutator transaction binding the contract method 0x44478e79.
   787  //
   788  // Solidity: function updateNetworkBootStatus() returns(bool)
   789  func (_PermImpl *PermImplTransactor) UpdateNetworkBootStatus(opts *bind.TransactOpts) (*types.Transaction, error) {
   790  	return _PermImpl.contract.Transact(opts, "updateNetworkBootStatus")
   791  }
   792  
   793  // UpdateNetworkBootStatus is a paid mutator transaction binding the contract method 0x44478e79.
   794  //
   795  // Solidity: function updateNetworkBootStatus() returns(bool)
   796  func (_PermImpl *PermImplSession) UpdateNetworkBootStatus() (*types.Transaction, error) {
   797  	return _PermImpl.Contract.UpdateNetworkBootStatus(&_PermImpl.TransactOpts)
   798  }
   799  
   800  // UpdateNetworkBootStatus is a paid mutator transaction binding the contract method 0x44478e79.
   801  //
   802  // Solidity: function updateNetworkBootStatus() returns(bool)
   803  func (_PermImpl *PermImplTransactorSession) UpdateNetworkBootStatus() (*types.Transaction, error) {
   804  	return _PermImpl.Contract.UpdateNetworkBootStatus(&_PermImpl.TransactOpts)
   805  }
   806  
   807  // UpdateNodeStatus is a paid mutator transaction binding the contract method 0xdbfad711.
   808  //
   809  // Solidity: function updateNodeStatus(string _orgId, string _enodeId, uint256 _action, address _caller) returns()
   810  func (_PermImpl *PermImplTransactor) UpdateNodeStatus(opts *bind.TransactOpts, _orgId string, _enodeId string, _action *big.Int, _caller common.Address) (*types.Transaction, error) {
   811  	return _PermImpl.contract.Transact(opts, "updateNodeStatus", _orgId, _enodeId, _action, _caller)
   812  }
   813  
   814  // UpdateNodeStatus is a paid mutator transaction binding the contract method 0xdbfad711.
   815  //
   816  // Solidity: function updateNodeStatus(string _orgId, string _enodeId, uint256 _action, address _caller) returns()
   817  func (_PermImpl *PermImplSession) UpdateNodeStatus(_orgId string, _enodeId string, _action *big.Int, _caller common.Address) (*types.Transaction, error) {
   818  	return _PermImpl.Contract.UpdateNodeStatus(&_PermImpl.TransactOpts, _orgId, _enodeId, _action, _caller)
   819  }
   820  
   821  // UpdateNodeStatus is a paid mutator transaction binding the contract method 0xdbfad711.
   822  //
   823  // Solidity: function updateNodeStatus(string _orgId, string _enodeId, uint256 _action, address _caller) returns()
   824  func (_PermImpl *PermImplTransactorSession) UpdateNodeStatus(_orgId string, _enodeId string, _action *big.Int, _caller common.Address) (*types.Transaction, error) {
   825  	return _PermImpl.Contract.UpdateNodeStatus(&_PermImpl.TransactOpts, _orgId, _enodeId, _action, _caller)
   826  }
   827  
   828  // UpdateOrgStatus is a paid mutator transaction binding the contract method 0x3cf5f33b.
   829  //
   830  // Solidity: function updateOrgStatus(string _orgId, uint256 _action, address _caller) returns()
   831  func (_PermImpl *PermImplTransactor) UpdateOrgStatus(opts *bind.TransactOpts, _orgId string, _action *big.Int, _caller common.Address) (*types.Transaction, error) {
   832  	return _PermImpl.contract.Transact(opts, "updateOrgStatus", _orgId, _action, _caller)
   833  }
   834  
   835  // UpdateOrgStatus is a paid mutator transaction binding the contract method 0x3cf5f33b.
   836  //
   837  // Solidity: function updateOrgStatus(string _orgId, uint256 _action, address _caller) returns()
   838  func (_PermImpl *PermImplSession) UpdateOrgStatus(_orgId string, _action *big.Int, _caller common.Address) (*types.Transaction, error) {
   839  	return _PermImpl.Contract.UpdateOrgStatus(&_PermImpl.TransactOpts, _orgId, _action, _caller)
   840  }
   841  
   842  // UpdateOrgStatus is a paid mutator transaction binding the contract method 0x3cf5f33b.
   843  //
   844  // Solidity: function updateOrgStatus(string _orgId, uint256 _action, address _caller) returns()
   845  func (_PermImpl *PermImplTransactorSession) UpdateOrgStatus(_orgId string, _action *big.Int, _caller common.Address) (*types.Transaction, error) {
   846  	return _PermImpl.Contract.UpdateOrgStatus(&_PermImpl.TransactOpts, _orgId, _action, _caller)
   847  }
   848  
   849  // 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.
   850  type PermImplPermissionsInitializedIterator struct {
   851  	Event *PermImplPermissionsInitialized // Event containing the contract specifics and raw log
   852  
   853  	contract *bind.BoundContract // Generic contract to use for unpacking event data
   854  	event    string              // Event name to use for unpacking event data
   855  
   856  	logs chan types.Log        // Log channel receiving the found contract events
   857  	sub  ethereum.Subscription // Subscription for errors, completion and termination
   858  	done bool                  // Whether the subscription completed delivering logs
   859  	fail error                 // Occurred error to stop iteration
   860  }
   861  
   862  // Next advances the iterator to the subsequent event, returning whether there
   863  // are any more events found. In case of a retrieval or parsing error, false is
   864  // returned and Error() can be queried for the exact failure.
   865  func (it *PermImplPermissionsInitializedIterator) Next() bool {
   866  	// If the iterator failed, stop iterating
   867  	if it.fail != nil {
   868  		return false
   869  	}
   870  	// If the iterator completed, deliver directly whatever's available
   871  	if it.done {
   872  		select {
   873  		case log := <-it.logs:
   874  			it.Event = new(PermImplPermissionsInitialized)
   875  			if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
   876  				it.fail = err
   877  				return false
   878  			}
   879  			it.Event.Raw = log
   880  			return true
   881  
   882  		default:
   883  			return false
   884  		}
   885  	}
   886  	// Iterator still in progress, wait for either a data or an error event
   887  	select {
   888  	case log := <-it.logs:
   889  		it.Event = new(PermImplPermissionsInitialized)
   890  		if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil {
   891  			it.fail = err
   892  			return false
   893  		}
   894  		it.Event.Raw = log
   895  		return true
   896  
   897  	case err := <-it.sub.Err():
   898  		it.done = true
   899  		it.fail = err
   900  		return it.Next()
   901  	}
   902  }
   903  
   904  // Error returns any retrieval or parsing error occurred during filtering.
   905  func (it *PermImplPermissionsInitializedIterator) Error() error {
   906  	return it.fail
   907  }
   908  
   909  // Close terminates the iteration process, releasing any pending underlying
   910  // resources.
   911  func (it *PermImplPermissionsInitializedIterator) Close() error {
   912  	it.sub.Unsubscribe()
   913  	return nil
   914  }
   915  
   916  // PermImplPermissionsInitialized represents a PermissionsInitialized event raised by the PermImpl contract.
   917  type PermImplPermissionsInitialized struct {
   918  	NetworkBootStatus bool
   919  	Raw               types.Log // Blockchain specific contextual infos
   920  }
   921  
   922  // FilterPermissionsInitialized is a free log retrieval operation binding the contract event 0x04f651be6fb8fc575d94591e56e9f6e66e33ef23e949765918b3bdae50c617cf.
   923  //
   924  // Solidity: event PermissionsInitialized(bool _networkBootStatus)
   925  func (_PermImpl *PermImplFilterer) FilterPermissionsInitialized(opts *bind.FilterOpts) (*PermImplPermissionsInitializedIterator, error) {
   926  
   927  	logs, sub, err := _PermImpl.contract.FilterLogs(opts, "PermissionsInitialized")
   928  	if err != nil {
   929  		return nil, err
   930  	}
   931  	return &PermImplPermissionsInitializedIterator{contract: _PermImpl.contract, event: "PermissionsInitialized", logs: logs, sub: sub}, nil
   932  }
   933  
   934  var PermissionsInitializedTopicHash = "0x04f651be6fb8fc575d94591e56e9f6e66e33ef23e949765918b3bdae50c617cf"
   935  
   936  // WatchPermissionsInitialized is a free log subscription operation binding the contract event 0x04f651be6fb8fc575d94591e56e9f6e66e33ef23e949765918b3bdae50c617cf.
   937  //
   938  // Solidity: event PermissionsInitialized(bool _networkBootStatus)
   939  func (_PermImpl *PermImplFilterer) WatchPermissionsInitialized(opts *bind.WatchOpts, sink chan<- *PermImplPermissionsInitialized) (event.Subscription, error) {
   940  
   941  	logs, sub, err := _PermImpl.contract.WatchLogs(opts, "PermissionsInitialized")
   942  	if err != nil {
   943  		return nil, err
   944  	}
   945  	return event.NewSubscription(func(quit <-chan struct{}) error {
   946  		defer sub.Unsubscribe()
   947  		for {
   948  			select {
   949  			case log := <-logs:
   950  				// New log arrived, parse the event and forward to the user
   951  				event := new(PermImplPermissionsInitialized)
   952  				if err := _PermImpl.contract.UnpackLog(event, "PermissionsInitialized", log); err != nil {
   953  					return err
   954  				}
   955  				event.Raw = log
   956  
   957  				select {
   958  				case sink <- event:
   959  				case err := <-sub.Err():
   960  					return err
   961  				case <-quit:
   962  					return nil
   963  				}
   964  			case err := <-sub.Err():
   965  				return err
   966  			case <-quit:
   967  				return nil
   968  			}
   969  		}
   970  	}), nil
   971  }
   972  
   973  // ParsePermissionsInitialized is a log parse operation binding the contract event 0x04f651be6fb8fc575d94591e56e9f6e66e33ef23e949765918b3bdae50c617cf.
   974  //
   975  // Solidity: event PermissionsInitialized(bool _networkBootStatus)
   976  func (_PermImpl *PermImplFilterer) ParsePermissionsInitialized(log types.Log) (*PermImplPermissionsInitialized, error) {
   977  	event := new(PermImplPermissionsInitialized)
   978  	if err := _PermImpl.contract.UnpackLog(event, "PermissionsInitialized", log); err != nil {
   979  		return nil, err
   980  	}
   981  	return event, nil
   982  }