Skip to content

Instantly share code, notes, and snippets.

@elenadimitrova
Last active May 11, 2020 13:40
Show Gist options
  • Save elenadimitrova/4720f774300d35afacb60534fae509ba to your computer and use it in GitHub Desktop.
Save elenadimitrova/4720f774300d35afacb60534fae509ba to your computer and use it in GitHub Desktop.
{
"contractName": "TestUpgradedMakerV2Manager",
"abi": [
{
"constant": false,
"inputs": [
{
"name": "_wallet",
"type": "address"
},
{
"name": "_amount",
"type": "uint256"
}
],
"name": "exitDsr",
"outputs": [],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"name": "_wallet",
"type": "address"
}
],
"name": "exitAllDsr",
"outputs": [],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": true,
"inputs": [
{
"name": "_wallet",
"type": "address"
}
],
"name": "getNonce",
"outputs": [
{
"name": "nonce",
"type": "uint256"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": true,
"inputs": [
{
"name": "",
"type": "address"
},
{
"name": "",
"type": "bytes"
}
],
"name": "getRequiredSignatures",
"outputs": [
{
"name": "",
"type": "uint256"
},
{
"name": "",
"type": "uint8"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"name": "_wallet",
"type": "address"
},
{
"name": "_module",
"type": "address"
}
],
"name": "addModule",
"outputs": [],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"name": "_wallet",
"type": "address"
},
{
"name": "_cup",
"type": "bytes32"
}
],
"name": "migrateCdp",
"outputs": [
{
"name": "_loanId",
"type": "bytes32"
}
],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"name": "_wallet",
"type": "address"
},
{
"name": "_loanId",
"type": "bytes32"
}
],
"name": "giveVault",
"outputs": [],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": true,
"inputs": [
{
"name": "",
"type": "address"
},
{
"name": "",
"type": "bytes32"
}
],
"name": "loanIds",
"outputs": [
{
"name": "",
"type": "bytes32"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"name": "_wallet",
"type": "address"
},
{
"name": "_loanId",
"type": "bytes32"
},
{
"name": "_debtToken",
"type": "address"
},
{
"name": "_debtAmount",
"type": "uint256"
}
],
"name": "addDebt",
"outputs": [],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"name": "_wallet",
"type": "address"
},
{
"name": "_amount",
"type": "uint256"
}
],
"name": "joinDsr",
"outputs": [],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"name": "_token",
"type": "address"
}
],
"name": "recoverToken",
"outputs": [],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"name": "_wallet",
"type": "address"
},
{
"name": "_loanId",
"type": "bytes32"
}
],
"name": "closeLoan",
"outputs": [],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"name": "_wallet",
"type": "address"
},
{
"name": "_data",
"type": "bytes"
},
{
"name": "_nonce",
"type": "uint256"
},
{
"name": "_signatures",
"type": "bytes"
},
{
"name": "_gasPrice",
"type": "uint256"
},
{
"name": "_gasLimit",
"type": "uint256"
}
],
"name": "execute",
"outputs": [
{
"name": "success",
"type": "bool"
}
],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"name": "_wallet",
"type": "address"
},
{
"name": "_loanId",
"type": "bytes32"
},
{
"name": "_collateral",
"type": "address"
},
{
"name": "_collateralAmount",
"type": "uint256"
}
],
"name": "removeCollateral",
"outputs": [],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": true,
"inputs": [
{
"name": "_wallet",
"type": "address"
}
],
"name": "dsrBalance",
"outputs": [
{
"name": "_balance",
"type": "uint256"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"name": "_wallet",
"type": "address"
},
{
"name": "_collateral",
"type": "address"
},
{
"name": "_collateralAmount",
"type": "uint256"
},
{
"name": "_debtToken",
"type": "address"
},
{
"name": "_debtAmount",
"type": "uint256"
}
],
"name": "openLoan",
"outputs": [
{
"name": "_loanId",
"type": "bytes32"
}
],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"name": "_wallet",
"type": "address"
},
{
"name": "_loanId",
"type": "bytes32"
},
{
"name": "_collateral",
"type": "address"
},
{
"name": "_collateralAmount",
"type": "uint256"
}
],
"name": "addCollateral",
"outputs": [],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": true,
"inputs": [
{
"name": "",
"type": "address"
}
],
"name": "relayer",
"outputs": [
{
"name": "nonce",
"type": "uint256"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": true,
"inputs": [],
"name": "isOnlyOwnerModule",
"outputs": [
{
"name": "",
"type": "bytes4"
}
],
"payable": false,
"stateMutability": "pure",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"name": "_wallet",
"type": "address"
},
{
"name": "_loanId",
"type": "bytes32"
},
{
"name": "_debtToken",
"type": "address"
},
{
"name": "_debtAmount",
"type": "uint256"
}
],
"name": "removeDebt",
"outputs": [],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"name": "_wallet",
"type": "address"
},
{
"name": "_loanId",
"type": "bytes32"
}
],
"name": "acquireLoan",
"outputs": [],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"name": "_registry",
"type": "address"
},
{
"name": "_guardianStorage",
"type": "address"
},
{
"name": "_scdMcdMigration",
"type": "address"
},
{
"name": "_pot",
"type": "address"
},
{
"name": "_jug",
"type": "address"
},
{
"name": "_makerRegistry",
"type": "address"
},
{
"name": "_uniswapFactory",
"type": "address"
},
{
"name": "_previousMakerV2Manager",
"type": "address"
}
],
"payable": false,
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"name": "_wallet",
"type": "address"
},
{
"indexed": false,
"name": "_oldCdpId",
"type": "bytes32"
},
{
"indexed": false,
"name": "_newVaultId",
"type": "bytes32"
}
],
"name": "CdpMigrated",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"name": "_wallet",
"type": "address"
},
{
"indexed": true,
"name": "_loanId",
"type": "bytes32"
},
{
"indexed": false,
"name": "_collateral",
"type": "address"
},
{
"indexed": false,
"name": "_collateralAmount",
"type": "uint256"
},
{
"indexed": false,
"name": "_debtToken",
"type": "address"
},
{
"indexed": false,
"name": "_debtAmount",
"type": "uint256"
}
],
"name": "LoanOpened",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"name": "_wallet",
"type": "address"
},
{
"indexed": true,
"name": "_loanId",
"type": "bytes32"
}
],
"name": "LoanClosed",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"name": "_wallet",
"type": "address"
},
{
"indexed": true,
"name": "_loanId",
"type": "bytes32"
},
{
"indexed": false,
"name": "_collateral",
"type": "address"
},
{
"indexed": false,
"name": "_collateralAmount",
"type": "uint256"
}
],
"name": "CollateralAdded",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"name": "_wallet",
"type": "address"
},
{
"indexed": true,
"name": "_loanId",
"type": "bytes32"
},
{
"indexed": false,
"name": "_collateral",
"type": "address"
},
{
"indexed": false,
"name": "_collateralAmount",
"type": "uint256"
}
],
"name": "CollateralRemoved",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"name": "_wallet",
"type": "address"
},
{
"indexed": true,
"name": "_loanId",
"type": "bytes32"
},
{
"indexed": false,
"name": "_debtToken",
"type": "address"
},
{
"indexed": false,
"name": "_debtAmount",
"type": "uint256"
}
],
"name": "DebtAdded",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"name": "_wallet",
"type": "address"
},
{
"indexed": true,
"name": "_loanId",
"type": "bytes32"
},
{
"indexed": false,
"name": "_debtToken",
"type": "address"
},
{
"indexed": false,
"name": "_debtAmount",
"type": "uint256"
}
],
"name": "DebtRemoved",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"name": "_wallet",
"type": "address"
},
{
"indexed": false,
"name": "_token",
"type": "address"
},
{
"indexed": false,
"name": "_amount",
"type": "uint256"
}
],
"name": "InvestmentRemoved",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"name": "_wallet",
"type": "address"
},
{
"indexed": false,
"name": "_token",
"type": "address"
},
{
"indexed": false,
"name": "_amount",
"type": "uint256"
},
{
"indexed": false,
"name": "_period",
"type": "uint256"
}
],
"name": "InvestmentAdded",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"name": "wallet",
"type": "address"
},
{
"indexed": true,
"name": "success",
"type": "bool"
},
{
"indexed": false,
"name": "returnData",
"type": "bytes"
},
{
"indexed": false,
"name": "signedHash",
"type": "bytes32"
}
],
"name": "TransactionExecuted",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"name": "name",
"type": "bytes32"
}
],
"name": "ModuleCreated",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"name": "wallet",
"type": "address"
}
],
"name": "ModuleInitialised",
"type": "event"
},
{
"constant": false,
"inputs": [
{
"name": "_wallet",
"type": "address"
}
],
"name": "init",
"outputs": [],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"name": "_wallet",
"type": "address"
}
],
"name": "init2",
"outputs": [],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"name": "_wallet",
"type": "address"
}
],
"name": "init3",
"outputs": [],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"name": "_wallet",
"type": "address"
}
],
"name": "init4",
"outputs": [],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"name": "_wallet",
"type": "address"
}
],
"name": "init5",
"outputs": [],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
}
],
"bytecode": "0x60806040526012805460ff191660011790553480156200001e57600080fd5b506040516101008062006bee83398101806040526101008110156200004257600080fd5b5080516020808301516040808501516060860151608087015160a088015160c089015160e09099015160008054600160a060020a03808c16600160a060020a03199283161790925560018054928a169290911691909117905585517f4d616b657256324d616e616765720000000000000000000000000000000000008082529651999a97999598949793969295939491938b938b938b938b938b938b938b938693869386938a938e938e938e93869386937f3019c8fc80239e3dff8f781212ae2004839c2cb61d6c70acd279ac65392145df929181900390910190a1505060048054600160a060020a031916600160a060020a0384169081178255604080517fc11645bc000000000000000000000000000000000000000000000000000000008152905191935063c11645bc9281810192602092909190829003018186803b1580156200018e57600080fd5b505afa158015620001a3573d6000803e3d6000fd5b505050506040513d6020811015620001ba57600080fd5b505160058054600160a060020a031916600160a060020a039283161790819055604080517ff4b9fa750000000000000000000000000000000000000000000000000000000081529051919092169163f4b9fa75916004808301926020929190829003018186803b1580156200022e57600080fd5b505afa15801562000243573d6000803e3d6000fd5b505050506040513d60208110156200025a57600080fd5b505160038054600160a060020a031916600160a060020a03928316179055600554604080517f36569e77000000000000000000000000000000000000000000000000000000008152905191909216916336569e77916004808301926020929190829003018186803b158015620002cf57600080fd5b505afa158015620002e4573d6000803e3d6000fd5b505050506040513d6020811015620002fb57600080fd5b505160068054600160a060020a0319908116600160a060020a03938416179091556007805490911695821695909517909455505060048054604080517fbb038e150000000000000000000000000000000000000000000000000000000081529051919094169363bb038e1593508083019260209291829003018186803b1580156200038557600080fd5b505afa1580156200039a573d6000803e3d6000fd5b505050506040513d6020811015620003b157600080fd5b5051600c8054600160a060020a031916600160a060020a0392831617905560048054604080517f34e70cc2000000000000000000000000000000000000000000000000000000008152905191909316926334e70cc29281810192602092909190829003018186803b1580156200042657600080fd5b505afa1580156200043b573d6000803e3d6000fd5b505050506040513d60208110156200045257600080fd5b5051600d8054600160a060020a031916600160a060020a0392831617905560048054604080517f2dbacef300000000000000000000000000000000000000000000000000000000815290519190931692632dbacef39281810192602092909190829003018186803b158015620004c757600080fd5b505afa158015620004dc573d6000803e3d6000fd5b505050506040513d6020811015620004f357600080fd5b5051600a8054600160a060020a031916600160a060020a039283161790819055604080517f7bd2bea700000000000000000000000000000000000000000000000000000000815290519190921691637bd2bea7916004808301926020929190829003018186803b1580156200056757600080fd5b505afa1580156200057c573d6000803e3d6000fd5b505050506040513d60208110156200059357600080fd5b505160098054600160a060020a031916600160a060020a03928316179055600d54604080517f12d43a51000000000000000000000000000000000000000000000000000000008152905191909216916312d43a51916004808301926020929190829003018186803b1580156200060857600080fd5b505afa1580156200061d573d6000803e3d6000fd5b505050506040513d60208110156200063457600080fd5b505160088054600160a060020a0319908116600160a060020a0393841617909155600b80548216868416179055600e8054909116848316179055600354604080517f06f2bf62000000000000000000000000000000000000000000000000000000008152918316600483015251918316916306f2bf6291602480820192602092909190829003018186803b158015620006cc57600080fd5b505afa158015620006e1573d6000803e3d6000fd5b505050506040513d6020811015620006f857600080fd5b5051600f8054600160a060020a031916600160a060020a03928316179055600854604080517f06f2bf62000000000000000000000000000000000000000000000000000000008152918316600483015251918316916306f2bf6291602480820192602092909190829003018186803b1580156200077457600080fd5b505afa15801562000789573d6000803e3d6000fd5b505050506040513d6020811015620007a057600080fd5b505160108054600160a060020a031916600160a060020a03928316179055600654600554604080517fa3b22fc4000000000000000000000000000000000000000000000000000000008152918416600483015251919092169163a3b22fc491602480830192600092919082900301818387803b1580156200082057600080fd5b505af115801562000835573d6000803e3d6000fd5b505060128054600160a060020a03909e166101000261010060a860020a0319909e169d909d17909c555050505050505050505050505050505050505061636d80620008816000396000f3fe608060405234801561001057600080fd5b50600436106101b25760003560e060020a900480638d3e0a69116100f2578063b02c808d1161009b578063d490da4d11610075578063d490da4d1461071a578063e8ca0ca314610757578063f4fe255614610791578063fd3fe18a146107b7576101b2565b8063b02c808d14610676578063b352d4af146106ba578063c9b5ef8e146106f4576101b2565b8063aacaaf88116100cc578063aacaaf8814610526578063ac5f8d5114610616578063ae8d246814610650576101b2565b80638d3e0a69146104a85780639be65a60146104d4578063a90cf0af146104fa576101b2565b80633b73d67f1161015f5780637aa9424c116101395780637aa9424c146103f05780637c7b997e1461041c57806380fd862b1461044257806385a13f381461046e576101b2565b80633b73d67f146102b55780635a1db8c41461039657806372de85d5146103c4576101b2565b80632820c07b116101905780632820c07b146102315780632c5ba768146102575780632d0335ab1461027d576101b2565b80630227efa2146101b757806307e70a73146101e557806319ab453c1461020b575b600080fd5b6101e3600480360360408110156101cd57600080fd5b50600160a060020a0381351690602001356107e3565b005b6101e3600480360360208110156101fb57600080fd5b5035600160a060020a0316610b42565b6101e36004803603602081101561022157600080fd5b5035600160a060020a0316610e7f565b6101e36004803603602081101561024757600080fd5b5035600160a060020a03166111b6565b6101e36004803603602081101561026d57600080fd5b5035600160a060020a03166114ed565b6102a36004803603602081101561029357600080fd5b5035600160a060020a031661180b565b60408051918252519081900360200190f35b61036b600480360360408110156102cb57600080fd5b600160a060020a0382351691908101906040810160208201356401000000008111156102f657600080fd5b82018360208201111561030857600080fd5b8035906020019184600183028401116401000000008311171561032a57600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092955061182a945050505050565b6040518083815260200182600281111561038157fe5b60ff1681526020019250505060405180910390f35b6101e3600480360360408110156103ac57600080fd5b50600160a060020a0381358116916020013516611836565b6102a3600480360360408110156103da57600080fd5b50600160a060020a0381351690602001356119b5565b6101e36004803603604081101561040657600080fd5b50600160a060020a038135169060200135611e8d565b6101e36004803603602081101561043257600080fd5b5035600160a060020a0316612018565b6102a36004803603604081101561045857600080fd5b50600160a060020a03813516906020013561234f565b6101e36004803603608081101561048457600080fd5b50600160a060020a038135811691602081013591604082013516906060013561236c565b6101e3600480360360408110156104be57600080fd5b50600160a060020a0381351690602001356123e6565b6101e3600480360360208110156104ea57600080fd5b5035600160a060020a03166126fa565b6101e36004803603604081101561051057600080fd5b50600160a060020a038135169060200135612827565b610602600480360360c081101561053c57600080fd5b600160a060020a03823516919081019060408101602082013564010000000081111561056757600080fd5b82018360208201111561057957600080fd5b8035906020019184600183028401116401000000008311171561059b57600080fd5b919390928235926040810190602001356401000000008111156105bd57600080fd5b8201836020820111156105cf57600080fd5b803590602001918460018302840111640100000000831117156105f157600080fd5b919350915080359060200135612894565b604080519115158252519081900360200190f35b6101e36004803603608081101561062c57600080fd5b50600160a060020a0381358116916020810135916040820135169060600135612c7d565b6102a36004803603602081101561066657600080fd5b5035600160a060020a0316612cf7565b6102a3600480360360a081101561068c57600080fd5b50600160a060020a038135811691602081013582169160408201359160608101359091169060800135612e0b565b6101e3600480360360808110156106d057600080fd5b50600160a060020a0381358116916020810135916040820135169060600135612f06565b6102a36004803603602081101561070a57600080fd5b5035600160a060020a0316612f80565b610722612f92565b604080517fffffffff000000000000000000000000000000000000000000000000000000009092168252519081900360200190f35b6101e36004803603608081101561076d57600080fd5b50600160a060020a0381358116916020810135916040820135169060600135612fb6565b6101e3600480360360208110156107a757600080fd5b5035600160a060020a0316613039565b6101e3600480360360408110156107cd57600080fd5b50600160a060020a038135169060200135613370565b816107ed81613674565b826107f7816136e5565b600760009054906101000a9004600160a060020a0316600160a060020a0316639f678cca6040518163ffffffff1660e060020a028152600401600060405180830381600087803b15801561084a57600080fd5b505af115801561085e573d6000803e3d6000fd5b505050506000600760009054906101000a9004600160a060020a0316600160a060020a031663c92aecc46040518163ffffffff1660e060020a02815260040160206040518083038186803b1580156108b557600080fd5b505afa1580156108c9573d6000803e3d6000fd5b505050506040513d60208110156108df57600080fd5b50516108fd856b033b2e3c9fd0803ce800000063ffffffff6137d116565b81151561090657fe5b60075460408051939092046024808501829052835180860390910181526044909401909252602083018051600080516020616322833981519152167f7f8661a100000000000000000000000000000000000000000000000000000000179052909250610980918791600160a060020a03169060009061383f565b50600554610998908690600160a060020a0316613ab9565b600654604080517f6c25b346000000000000000000000000000000000000000000000000000000008152600160a060020a03888116600483015291516000939290921691636c25b34691602480820192602092909190829003018186803b158015610a0257600080fd5b505afa158015610a16573d6000803e3d6000fd5b505050506040513d6020811015610a2c57600080fd5b505190506000610a4e866b033b2e3c9fd0803ce800000063ffffffff6137d116565b821015610a69576b033b2e3c9fd0803ce80000008204610a6b565b855b60055460408051600160a060020a03808c1660248301526044808301869052835180840390910181526064909201909252602081018051600080516020616322833981519152167fef693bed00000000000000000000000000000000000000000000000000000000179052929350610aec928a92919091169060009061383f565b5060035460408051600160a060020a039283168152602081018490528151928a16927f9aa275f858ea6286ee2cacd32cd2ae55f918a310ee6d0320caad244ee9d6109e929181900390910190a250505050505050565b8033600160a060020a03821614610ba857604080516000805160206162e1833981519152815260206004820152601960248201527f424d3a2063616c6c6572206d7573742062652077616c6c657400000000000000604482015290519081900360640190fd5b600e54604080517fb58eb63f0000000000000000000000000000000000000000000000000000000081529051606092600160a060020a03169163b58eb63f916004808301926000929190829003018186803b158015610c0657600080fd5b505afa158015610c1a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526020811015610c4357600080fd5b810190808051640100000000811115610c5b57600080fd5b82016020810184811115610c6e57600080fd5b8151856020820283011164010000000082111715610c8b57600080fd5b50909450600093505050505b8151811015610e7957601254600e5483516000926101009004600160a060020a03908116926380fd862b9289929091169063ad8731b090889088908110610cda57fe5b906020019060200201516040518263ffffffff1660e060020a0281526004018082600160a060020a0316600160a060020a0316815260200191505060206040518083038186803b158015610d2d57600080fd5b505afa158015610d41573d6000803e3d6000fd5b505050506040513d6020811015610d5757600080fd5b50516040805160e060020a63ffffffff8616028152600160a060020a0390931660048401526024830191909152516044808301926020929190829003018186803b158015610da457600080fd5b505afa158015610db8573d6000803e3d6000fd5b505050506040513d6020811015610dce57600080fd5b505190508015610e7057601254604080517f7aa9424c000000000000000000000000000000000000000000000000000000008152600160a060020a03888116600483015260248201859052915161010090930490911691637aa9424c9160448082019260009290919082900301818387803b158015610e4c57600080fd5b505af1158015610e60573d6000803e3d6000fd5b50505050610e6e8582613bd6565b505b50600101610c97565b50505050565b8033600160a060020a03821614610ee557604080516000805160206162e1833981519152815260206004820152601960248201527f424d3a2063616c6c6572206d7573742062652077616c6c657400000000000000604482015290519081900360640190fd5b600e54604080517fb58eb63f0000000000000000000000000000000000000000000000000000000081529051606092600160a060020a03169163b58eb63f916004808301926000929190829003018186803b158015610f4357600080fd5b505afa158015610f57573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526020811015610f8057600080fd5b810190808051640100000000811115610f9857600080fd5b82016020810184811115610fab57600080fd5b8151856020820283011164010000000082111715610fc857600080fd5b50909450600093505050505b8151811015610e7957601254600e5483516000926101009004600160a060020a03908116926380fd862b9289929091169063ad8731b09088908890811061101757fe5b906020019060200201516040518263ffffffff1660e060020a0281526004018082600160a060020a0316600160a060020a0316815260200191505060206040518083038186803b15801561106a57600080fd5b505afa15801561107e573d6000803e3d6000fd5b505050506040513d602081101561109457600080fd5b50516040805160e060020a63ffffffff8616028152600160a060020a0390931660048401526024830191909152516044808301926020929190829003018186803b1580156110e157600080fd5b505afa1580156110f5573d6000803e3d6000fd5b505050506040513d602081101561110b57600080fd5b5051905080156111ad57601254604080517f7aa9424c000000000000000000000000000000000000000000000000000000008152600160a060020a03888116600483015260248201859052915161010090930490911691637aa9424c9160448082019260009290919082900301818387803b15801561118957600080fd5b505af115801561119d573d6000803e3d6000fd5b505050506111ab8582613bd6565b505b50600101610fd4565b8033600160a060020a0382161461121c57604080516000805160206162e1833981519152815260206004820152601960248201527f424d3a2063616c6c6572206d7573742062652077616c6c657400000000000000604482015290519081900360640190fd5b600e54604080517fb58eb63f0000000000000000000000000000000000000000000000000000000081529051606092600160a060020a03169163b58eb63f916004808301926000929190829003018186803b15801561127a57600080fd5b505afa15801561128e573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405260208110156112b757600080fd5b8101908080516401000000008111156112cf57600080fd5b820160208101848111156112e257600080fd5b81518560208202830111640100000000821117156112ff57600080fd5b50909450600093505050505b8151811015610e7957601254600e5483516000926101009004600160a060020a03908116926380fd862b9289929091169063ad8731b09088908890811061134e57fe5b906020019060200201516040518263ffffffff1660e060020a0281526004018082600160a060020a0316600160a060020a0316815260200191505060206040518083038186803b1580156113a157600080fd5b505afa1580156113b5573d6000803e3d6000fd5b505050506040513d60208110156113cb57600080fd5b50516040805160e060020a63ffffffff8616028152600160a060020a0390931660048401526024830191909152516044808301926020929190829003018186803b15801561141857600080fd5b505afa15801561142c573d6000803e3d6000fd5b505050506040513d602081101561144257600080fd5b5051905080156114e457601254604080517f7aa9424c000000000000000000000000000000000000000000000000000000008152600160a060020a03888116600483015260248201859052915161010090930490911691637aa9424c9160448082019260009290919082900301818387803b1580156114c057600080fd5b505af11580156114d4573d6000803e3d6000fd5b505050506114e28582613bd6565b505b5060010161130b565b806114f781613674565b81611501816136e5565b600760009054906101000a9004600160a060020a0316600160a060020a0316639f678cca6040518163ffffffff1660e060020a028152600401600060405180830381600087803b15801561155457600080fd5b505af1158015611568573d6000803e3d6000fd5b5050600754604080517f0bebac86000000000000000000000000000000000000000000000000000000008152600160a060020a038881166004830152915160009550919092169250630bebac8691602480820192602092909190829003018186803b1580156115d657600080fd5b505afa1580156115ea573d6000803e3d6000fd5b505050506040513d602081101561160057600080fd5b5051600754604080516024808201859052825180830390910181526044909101909152602081018051600080516020616322833981519152167f7f8661a100000000000000000000000000000000000000000000000000000000179052919250611678918691600160a060020a03169060009061383f565b50600554611690908590600160a060020a0316613ab9565b60006b033b2e3c9fd0803ce800000061172c83600760009054906101000a9004600160a060020a0316600160a060020a031663c92aecc46040518163ffffffff1660e060020a02815260040160206040518083038186803b1580156116f457600080fd5b505afa158015611708573d6000803e3d6000fd5b505050506040513d602081101561171e57600080fd5b50519063ffffffff6137d116565b81151561173557fe5b60055460408051600160a060020a03808b166024830152949093046044808501829052825180860390910181526064909401909152602083018051600080516020616322833981519152167fef693bed0000000000000000000000000000000000000000000000000000000017905293506117b792889291169060009061383f565b5060035460408051600160a060020a039283168152602081018490528151928816927f9aa275f858ea6286ee2cacd32cd2ae55f918a310ee6d0320caad244ee9d6109e929181900390910190a25050505050565b600160a060020a0381166000908152600260205260409020545b919050565b600160005b9250929050565b8161184081613674565b600054604080517f0bcd4ebb000000000000000000000000000000000000000000000000000000008152600160a060020a03858116600483015291519190921691630bcd4ebb916024808301926020929190829003018186803b1580156118a657600080fd5b505afa1580156118ba573d6000803e3d6000fd5b505050506040513d60208110156118d057600080fd5b5051151561192d57604080516000805160206162e1833981519152815260206004820152601c60248201527f424d3a206d6f64756c65206973206e6f74207265676973746572656400000000604482015290519081900360640190fd5b604080517f1f17732d000000000000000000000000000000000000000000000000000000008152600160a060020a03848116600483015260016024830152915191851691631f17732d9160448082019260009290919082900301818387803b15801561199857600080fd5b505af11580156119ac573d6000803e3d6000fd5b50505050505050565b6000826119c181613674565b836119cb816136e5565b600080600d60009054906101000a9004600160a060020a0316600160a060020a031663ace237f56040518163ffffffff1660e060020a02815260040160206040518083038186803b158015611a1f57600080fd5b505afa158015611a33573d6000803e3d6000fd5b505050506040513d6020811015611a4957600080fd5b5051604080517f59e02dd70000000000000000000000000000000000000000000000000000000081528151600160a060020a03909316926359e02dd7926004808401939192918290030181600087803b158015611aa557600080fd5b505af1158015611ab9573d6000803e3d6000fd5b505050506040513d6040811015611acf57600080fd5b5080516020909101519092509050808015611ae957508115155b15611c3157600d54604080517f6f78ee0d000000000000000000000000000000000000000000000000000000008152600481018990529051600092611b8d92600160a060020a0390911691636f78ee0d9160248082019260209290919082900301818887803b158015611b5b57600080fd5b505af1158015611b6f573d6000803e3d6000fd5b505050506040513d6020811015611b8557600080fd5b505184613d57565b600854601054919250611bb0918a91600160a060020a0390811691859116613d89565b60085460045460408051600160a060020a0392831660248201526044808201869052825180830390910181526064909101909152602081018051600080516020616322833981519152167fa9059cbb00000000000000000000000000000000000000000000000000000000179052611c2e928b92169060009061383f565b50505b600d5460045460408051602481018a9052600160a060020a03928316604480830191909152825180830390910181526064909101909152602081018051600080516020616322833981519152167fbaa8529c00000000000000000000000000000000000000000000000000000000179052611cb2928a92169060009061383f565b50600b54600a54604080517fc5ce281e0000000000000000000000000000000000000000000000000000000081529051600160a060020a03938416936344e2a5a893169163c5ce281e916004808301926020929190829003018186803b158015611d1b57600080fd5b505afa158015611d2f573d6000803e3d6000fd5b505050506040513d6020811015611d4557600080fd5b50516040805160e060020a63ffffffff8516028152600481019290925251602480830192600092919082900301818387803b158015611d8357600080fd5b505af1158015611d97573d6000803e3d6000fd5b505060048054604080517fe19b8ee30000000000000000000000000000000000000000000000000000000081529283018b905251600160a060020a03909116935063e19b8ee3925060248083019260209291908290030181600087803b158015611e0057600080fd5b505af1158015611e14573d6000803e3d6000fd5b505050506040513d6020811015611e2a57600080fd5b50519450611e388786613bd6565b945086600160a060020a03167f900ca238b2a7f63c73544339ed1e6f3ecfdfd4116986eccc0447de48da5941d18787604051808381526020018281526020019250505060405180910390a25050505092915050565b604080517fd6eb1bbf00000000000000000000000000000000000000000000000000000000815233600482015290518391600160a060020a0383169163d6eb1bbf91602480820192602092909190829003018186803b158015611eef57600080fd5b505afa158015611f03573d6000803e3d6000fd5b505050506040513d6020811015611f1957600080fd5b50511515611f7657604080516000805160206162e1833981519152815260206004820152601860248201527f4d56323a2073656e64657220756e617574686f72697a65640000000000000000604482015290519081900360640190fd5b82611f80816136e5565b611f8a8484613f0c565b600c54604080517ffcafcc68000000000000000000000000000000000000000000000000000000008152600481018690523360248201529051600160a060020a039092169163fcafcc689160448082019260009290919082900301818387803b158015611ff657600080fd5b505af115801561200a573d6000803e3d6000fd5b50505050610e79848461401b565b8033600160a060020a0382161461207e57604080516000805160206162e1833981519152815260206004820152601960248201527f424d3a2063616c6c6572206d7573742062652077616c6c657400000000000000604482015290519081900360640190fd5b600e54604080517fb58eb63f0000000000000000000000000000000000000000000000000000000081529051606092600160a060020a03169163b58eb63f916004808301926000929190829003018186803b1580156120dc57600080fd5b505afa1580156120f0573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052602081101561211957600080fd5b81019080805164010000000081111561213157600080fd5b8201602081018481111561214457600080fd5b815185602082028301116401000000008211171561216157600080fd5b50909450600093505050505b8151811015610e7957601254600e5483516000926101009004600160a060020a03908116926380fd862b9289929091169063ad8731b0908890889081106121b057fe5b906020019060200201516040518263ffffffff1660e060020a0281526004018082600160a060020a0316600160a060020a0316815260200191505060206040518083038186803b15801561220357600080fd5b505afa158015612217573d6000803e3d6000fd5b505050506040513d602081101561222d57600080fd5b50516040805160e060020a63ffffffff8616028152600160a060020a0390931660048401526024830191909152516044808301926020929190829003018186803b15801561227a57600080fd5b505afa15801561228e573d6000803e3d6000fd5b505050506040513d60208110156122a457600080fd5b50519050801561234657601254604080517f7aa9424c000000000000000000000000000000000000000000000000000000008152600160a060020a03888116600483015260248201859052915161010090930490911691637aa9424c9160448082019260009290919082900301818387803b15801561232257600080fd5b505af1158015612336573d6000803e3d6000fd5b505050506123448582613bd6565b505b5060010161216d565b601160209081526000928352604080842090915290825290205481565b8361237681613674565b84612380816136e5565b61238a8686613f0c565b6123958686856140d0565b60408051600160a060020a0386811682526020820186905282518893918a16927ff6669d5e7ff92997c22e9fe3b54f53ed18448cf5fdccb3eb1dc5004798fbb41492908290030190a3505050505050565b816123f081613674565b826123fa816136e5565b600760009054906101000a9004600160a060020a0316600160a060020a0316639f678cca6040518163ffffffff1660e060020a028152600401600060405180830381600087803b15801561244d57600080fd5b505af1158015612461573d6000803e3d6000fd5b505060035460055460408051600160a060020a03928316602482015260448082018a9052825180830390910181526064909101909152602081018051600080516020616322833981519152167f095ea7b3000000000000000000000000000000000000000000000000000000001790526124e4945088935091169060009061383f565b5060055460408051600160a060020a0380881660248301526044808301889052835180840390910181526064909201909252602081018051600080516020616322833981519152167f3b4da69f00000000000000000000000000000000000000000000000000000000179052612560928792169060009061383f565b50600754612578908590600160a060020a0316613ab9565b600754604080517fc92aecc40000000000000000000000000000000000000000000000000000000081529051600092600160a060020a03169163c92aecc4916004808301926020929190829003018186803b1580156125d657600080fd5b505afa1580156125ea573d6000803e3d6000fd5b505050506040513d602081101561260057600080fd5b505161261e856b033b2e3c9fd0803ce800000063ffffffff6137d116565b81151561262757fe5b60075460408051939092046024808501829052835180860390910181526044909401909252602083018051600080516020616322833981519152167f049878f3000000000000000000000000000000000000000000000000000000001790529092506126a1918791600160a060020a03169060009061383f565b5060035460408051600160a060020a039283168152602081018790526000818301529051918716917ff8eece150ed2126815122a6def9737751aecd814379d4ce8c9edd07133a49cdb9181900360600190a25050505050565b604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051600091600160a060020a038416916370a0823191602480820192602092909190829003018186803b15801561275d57600080fd5b505afa158015612771573d6000803e3d6000fd5b505050506040513d602081101561278757600080fd5b505160008054604080517fa9059cbb000000000000000000000000000000000000000000000000000000008152600160a060020a0392831660048201526024810185905290519394509085169263a9059cbb92604480840193602093929083900390910190829087803b1580156127fd57600080fd5b505af1158015612811573d6000803e3d6000fd5b505050506040513d6020811015610e7957600080fd5b8161283181613674565b8261283b816136e5565b6128458484613f0c565b61284e83614165565b6128588484614250565b6040518390600160a060020a038616907f07e4a0c6f06275f83bcf78e5a10eb7f5515574d593bce993377961f4133b951c90600090a350505050565b6000805a905060006128e4308c60008d8d8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152508f92508c91508b9050614293565b90506128f18b89836143d6565b151561294c57604080516000805160206162e1833981519152815260206004820152601560248201527f524d3a204475706c696361746520726571756573740000000000000000000000604482015290519081900360640190fd5b61298c8b8b8b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506143ea92505050565b15156129e757604080516000805160206162e1833981519152815260206004820152601e60248201527f524d3a20546172676574206f66205f6461746120213d205f77616c6c65740000604482015290519081900360640190fd5b600080612a2a8d8d8d8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061182a92505050565b9092509050604182028814612a8e57604080516000805160206162e1833981519152815260206004820152601e60248201527f524d3a2057726f6e67206e756d626572206f66207369676e6174757265730000604482015290519081900360640190fd5b811580612ad95750612ad98d848b8b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250879250614463915050565b1515612b3457604080516000805160206162e1833981519152815260206004820152601660248201527f524d3a20496e76616c6964207369676e61747572657300000000000000000000604482015290519081900360640190fd5b6060612b428e888a8661466c565b15612bbe5730600160a060020a03168d8d604051808383808284376040519201945060009350909150508083038183865af19150503d8060008114612ba3576040519150601f19603f3d011682016040523d82523d6000602084013e612ba8565b606091505b509096509050612bbe8e5a87038a8a873361473e565b8515158e600160a060020a03167f7da4525a280527268ba2e963ee6c1b18f43c9507bcb1d2560f652ab17c76e90a83876040518080602001838152602001828103825284818151815260200191508051906020019080838360005b83811015612c31578181015183820152602001612c19565b50505050905090810190601f168015612c5e5780820380516001836020036101000a031916815260200191505b50935050505060405180910390a3505050505098975050505050505050565b83612c8781613674565b84612c91816136e5565b612c9b8686613f0c565b612ca686868561479c565b60408051600160a060020a0386811682526020820186905282518893918a16927ff1dec7a92ef063b16d2098bb05803ed604936a7ff30f0d245fe881baf96e8e6b92908290030190a3505050505050565b600754604080517f0bebac86000000000000000000000000000000000000000000000000000000008152600160a060020a03848116600483015291516000936b033b2e3c9fd0803ce800000093612dfb93911691630bebac8691602480820192602092909190829003018186803b158015612d7157600080fd5b505afa158015612d85573d6000803e3d6000fd5b505050506040513d6020811015612d9b57600080fd5b5051600754604080517fc92aecc40000000000000000000000000000000000000000000000000000000081529051600160a060020a039092169163c92aecc491600480820192602092909190829003018186803b1580156116f457600080fd5b811515612e0457fe5b0492915050565b600085612e1781613674565b86612e21816136e5565b612e2a87614abd565b600354600160a060020a03868116911614612e9457604080516000805160206162e1833981519152815260206004820152601760248201527f4d56323a206465627420746f6b656e206e6f7420444149000000000000000000604482015290519081900360640190fd5b612ea088888887614bd5565b60408051600160a060020a038a81168252602082018a9052888116828401526060820188905291519295508592918b16917ff9d7e11fb5d8d1e0a4be344a6a6adfb912161747edf926fb283150d07c39c1089181900360800190a3505095945050505050565b83612f1081613674565b84612f1a816136e5565b612f248686613f0c565b612f2f868685614db4565b60408051600160a060020a0386811682526020820186905282518893918a16927fdd016248708c391ccb5c72f9258127c75b9b291ac1479513fe4f331c3489013792908290030190a3505050505050565b60026020526000908152604090205481565b7fd490da4d0000000000000000000000000000000000000000000000000000000090565b83612fc081613674565b84612fca816136e5565b612fd48686613f0c565b612fdd85614165565b612fe8868685614eb5565b60408051600160a060020a0386811682526020820186905282518893918a16927fbfa42ea7d37497e6a09441fadba47d64b610b6b1183d895dd0a42507973430bf92908290030190a3505050505050565b8033600160a060020a0382161461309f57604080516000805160206162e1833981519152815260206004820152601960248201527f424d3a2063616c6c6572206d7573742062652077616c6c657400000000000000604482015290519081900360640190fd5b600e54604080517fb58eb63f0000000000000000000000000000000000000000000000000000000081529051606092600160a060020a03169163b58eb63f916004808301926000929190829003018186803b1580156130fd57600080fd5b505afa158015613111573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052602081101561313a57600080fd5b81019080805164010000000081111561315257600080fd5b8201602081018481111561316557600080fd5b815185602082028301116401000000008211171561318257600080fd5b50909450600093505050505b8151811015610e7957601254600e5483516000926101009004600160a060020a03908116926380fd862b9289929091169063ad8731b0908890889081106131d157fe5b906020019060200201516040518263ffffffff1660e060020a0281526004018082600160a060020a0316600160a060020a0316815260200191505060206040518083038186803b15801561322457600080fd5b505afa158015613238573d6000803e3d6000fd5b505050506040513d602081101561324e57600080fd5b50516040805160e060020a63ffffffff8616028152600160a060020a0390931660048401526024830191909152516044808301926020929190829003018186803b15801561329b57600080fd5b505afa1580156132af573d6000803e3d6000fd5b505050506040513d60208110156132c557600080fd5b50519050801561336757601254604080517f7aa9424c000000000000000000000000000000000000000000000000000000008152600160a060020a03888116600483015260248201859052915161010090930490911691637aa9424c9160448082019260009290919082900301818387803b15801561334357600080fd5b505af1158015613357573d6000803e3d6000fd5b505050506133658582613bd6565b505b5060010161318e565b60125460ff1615156133d157604080516000805160206162e1833981519152815260206004820152601360248201527f4d56323a207265656e7472616e742063616c6c00000000000000000000000000604482015290519081900360640190fd5b6012805460ff19169055816133e581613674565b826133ef816136e5565b600c54604080517f8161b120000000000000000000000000000000000000000000000000000000008152600481018690529051600160a060020a03808816931691638161b120916024808301926020929190829003018186803b15801561345557600080fd5b505afa158015613469573d6000803e3d6000fd5b505050506040513d602081101561347f57600080fd5b5051600160a060020a0316146134e457604080516000805160206162e1833981519152815260206004820152601660248201527f4d56323a2077726f6e67207661756c74206f776e657200000000000000000000604482015290519081900360640190fd5b600c54604080516024810186905230604480830191909152825180830390910181526064909101909152602081018051600080516020616322833981519152167ffcafcc6800000000000000000000000000000000000000000000000000000000179052613562918691600160a060020a039091169060009061383f565b50600c54604080517f8161b1200000000000000000000000000000000000000000000000000000000081526004810186905290513092600160a060020a031691638161b120916024808301926020929190829003018186803b1580156135c757600080fd5b505afa1580156135db573d6000803e3d6000fd5b505050506040513d60208110156135f157600080fd5b5051600160a060020a03161461365657604080516000805160206162e1833981519152815260206004820152601060248201527f4d56323a206661696c6564206769766500000000000000000000000000000000604482015290519081900360640190fd5b6136608484613bd6565b50506012805460ff19166001179055505050565b33301480613687575061368781336150ae565b15156136e257604080516000805160206162e1833981519152815260206004820152601860248201527f424d3a206d7573742062652077616c6c6574206f776e65720000000000000000604482015290519081900360640190fd5b50565b600154604080517f4a4fbeec000000000000000000000000000000000000000000000000000000008152600160a060020a03848116600483015291519190921691634a4fbeec916024808301926020929190829003018186803b15801561374b57600080fd5b505afa15801561375f573d6000803e3d6000fd5b505050506040513d602081101561377557600080fd5b5051156136e257604080516000805160206162e1833981519152815260206004820152601160248201527f424d3a2077616c6c6574206c6f636b6564000000000000000000000000000000604482015290519081900360640190fd5b60008215156137e257506000613839565b8282028284828115156137f157fe5b0414613836576040516000805160206162e183398151915281526004018080602001828103825260218152602001806163016021913960400191505060405180910390fd5b90505b92915050565b6060600085600160a060020a03168585856040516024018084600160a060020a0316600160a060020a0316815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b838110156138ae578181015183820152602001613896565b50505050905090810190601f1680156138db5780820380516001836020036101000a031916815260200191505b5060408051601f19818403018152918152602082018051600080516020616322833981519152167f8f6f033200000000000000000000000000000000000000000000000000000000178152905182519297509550859450925090508083835b602083106139595780518252601f19909201916020918201910161393a565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d80600081146139bb576040519150601f19603f3d011682016040523d82523d6000602084013e6139c0565b606091505b50925090508080156139d3575060008251115b15613a40578180602001905160208110156139ed57600080fd5b810190808051640100000000811115613a0557600080fd5b82016020810184811115613a1857600080fd5b8151640100000000811182820187101715613a3257600080fd5b50909550613ab09350505050565b600082511115613a54573d6000803e3d6000fd5b801515613ab057604080516000805160206162e1833981519152815260206004820152601a60248201527f424d3a2077616c6c657420696e766f6b65207265766572746564000000000000604482015290519081900360640190fd5b50949350505050565b600654604080517f4538c4eb000000000000000000000000000000000000000000000000000000008152600160a060020a038581166004830152848116602483015291519190921691634538c4eb916044808301926020929190829003018186803b158015613b2757600080fd5b505afa158015613b3b573d6000803e3d6000fd5b505050506040513d6020811015613b5157600080fd5b50511515613bd25760065460408051600160a060020a03848116602480840191909152835180840390910181526044909201909252602081018051600080516020616322833981519152167fa3b22fc400000000000000000000000000000000000000000000000000000000179052613bd0928592169060009061383f565b505b5050565b600c54604080517f2c2cb9fd0000000000000000000000000000000000000000000000000000000081526004810184905290516000928392600160a060020a0390911691632c2cb9fd91602480820192602092909190829003018186803b158015613c4057600080fd5b505afa158015613c54573d6000803e3d6000fd5b505050506040513d6020811015613c6a57600080fd5b5051600160a060020a0385166000908152601160209081526040808320848452909152812054919250811115613d2957600c54604080517fe50322a200000000000000000000000000000000000000000000000000000000815260048101879052602481018490529051600160a060020a039092169163e50322a29160448082019260009290919082900301818387803b158015613d0757600080fd5b505af1158015613d1b573d6000803e3d6000fd5b505050508092505050613839565b50600160a060020a038416600090815260116020908152604080832093835292905220829055508092915050565b600081613d78613d6f85670de0b6b3a7640000615133565b6002850461515b565b811515613d8157fe5b049392505050565b600083600160a060020a03166370a08231866040518263ffffffff1660e060020a0281526004018082600160a060020a0316600160a060020a0316815260200191505060206040518083038186803b158015613de457600080fd5b505afa158015613df8573d6000803e3d6000fd5b505050506040513d6020811015613e0e57600080fd5b5051905082811015613f0557600082600160a060020a03166359e948628386036040518263ffffffff1660e060020a0281526004018082815260200191505060206040518083038186803b158015613e6557600080fd5b505afa158015613e79573d6000803e3d6000fd5b505050506040513d6020811015613e8f57600080fd5b505160408051848703602482015242604480830191909152825180830390910181526064909101909152602081018051600080516020616322833981519152167f6b1d4db7000000000000000000000000000000000000000000000000000000001790529091506119ac9087908590849061383f565b5050505050565b600160a060020a038083166000908152601160209081526040808320600c5482517f2c2cb9fd00000000000000000000000000000000000000000000000000000000815260048101889052925187969295949190921692632c2cb9fd9260248083019392829003018186803b158015613f8457600080fd5b505afa158015613f98573d6000803e3d6000fd5b505050506040513d6020811015613fae57600080fd5b5051815260208101919091526040016000205414613bd257604080516000805160206162e1833981519152815260206004820152601860248201527f4d56323a20756e617574686f72697a6564206c6f616e49640000000000000000604482015290519081900360640190fd5b600160a060020a038083166000908152601160209081526040808320600c5482517f2c2cb9fd00000000000000000000000000000000000000000000000000000000815260048101889052925191951692632c2cb9fd9260248082019391829003018186803b15801561408d57600080fd5b505afa1580156140a1573d6000803e3d6000fd5b505050506040513d60208110156140b757600080fd5b5051815260208101919091526040016000908120555050565b613bd08383836000600c60009054906101000a9004600160a060020a0316600160a060020a0316632c2cb9fd886040518263ffffffff1660e060020a0281526004018082815260200191505060206040518083038186803b15801561413457600080fd5b505afa158015614148573d6000803e3d6000fd5b505050506040513d602081101561415e57600080fd5b505161515f565b600b54600c54604080517f2c2cb9fd000000000000000000000000000000000000000000000000000000008152600481018590529051600160a060020a03938416936344e2a5a8931691632c2cb9fd916024808301926020929190829003018186803b1580156141d457600080fd5b505afa1580156141e8573d6000803e3d6000fd5b505050506040513d60208110156141fe57600080fd5b50516040805160e060020a63ffffffff8516028152600481019290925251602480830192600092919082900301818387803b15801561423c57600080fd5b505af1158015613f05573d6000803e3d6000fd5b600061425b826153c5565b509050600081111561427257614272838383614eb5565b600061427d836156c0565b90506000811115610e7957610e7984848361479c565b6040517f190000000000000000000000000000000000000000000000000000000000000060208083018281526000602185018190526c01000000000000000000000000600160a060020a03808e16820260228801528c16026036860152604a85018a90528851909485938d938d938d938d938d938d938d939192606a909201918701908083835b602083106143395780518252601f19909201916020918201910161431a565b51815160209384036101000a600019018019909216911617905292019586525084810193909352506040808401919091528051808403820181526060840182528051908301207f19457468657265756d205369676e6564204d6573736167653a0a3332000000006080850152609c808501919091528151808503909101815260bc909301905281519101209e9d5050505050505050505050505050565b60006143e2848461586a565b949350505050565b6000602482511015151561444d57604080516000805160206162e1833981519152815260206004820152601660248201527f524d3a20496e76616c6964206461746157616c6c657400000000000000000000604482015290519081900360640190fd5b5060240151600160a060020a0391821691161490565b60008060608184600281111561447557fe5b141580614483575060418551115b1561457c57600154604080517ff18858ab000000000000000000000000000000000000000000000000000000008152600160a060020a038a811660048301529151919092169163f18858ab916024808301926000929190829003018186803b1580156144ee57600080fd5b505afa158015614502573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052602081101561452b57600080fd5b81019080805164010000000081111561454357600080fd5b8201602081018481111561455657600080fd5b815185602082028301116401000000008211171561457357600080fd5b50909450505050505b6000805b8651604190048160ff16101561465d5760006145a089898460ff166158f0565b905060ff8216151561460c5760008760028111156145ba57fe5b14156145e3576145ca8a826150ae565b156145d55750614655565b6000955050505050506143e2565b60018760028111156145f157fe5b141561460c576146018a826150ae565b1561460c5750614655565b600160a060020a038086169082161161462d576000955050505050506143e2565b80945061463a848261599a565b94509250821515614653576000955050505050506143e2565b505b600101614580565b50600198975050505050505050565b6000808311801561467d5750600182115b8015614726575082840285600160a060020a03163110806147265750604080517fd6eb1bbf0000000000000000000000000000000000000000000000000000000081523060048201529051600160a060020a0387169163d6eb1bbf916024808301926020929190829003018186803b1580156146f857600080fd5b505afa15801561470c573d6000803e3d6000fd5b505050506040513d602081101561472257600080fd5b5051155b15614733575060006143e2565b506001949350505050565b61726c85016000851180156147535750600183115b801561475f5750838111155b156119ac573a851115614773573a02614776565b84025b614792878383602060405190810160405280600081525061383f565b5050505050505050565b600c54600160a060020a03166345e6bdcd836147b784615b16565b60000360006040518463ffffffff1660e060020a028152600401808481526020018381526020018281526020019350505050600060405180830381600087803b15801561480357600080fd5b505af1158015614817573d6000803e3d6000fd5b5050600c54604080517f9bb8f83800000000000000000000000000000000000000000000000000000000815260048101879052306024820152604481018690529051600160a060020a039092169350639bb8f838925060648082019260009290919082900301818387803b15801561488e57600080fd5b505af11580156148a2573d6000803e3d6000fd5b5050600e54600c54604080517f2c2cb9fd00000000000000000000000000000000000000000000000000000000815260048101889052905160009550600160a060020a039384169450632a6aa5959390921691632c2cb9fd91602480820192602092909190829003018186803b15801561491b57600080fd5b505afa15801561492f573d6000803e3d6000fd5b505050506040513d602081101561494557600080fd5b50516040805160e060020a63ffffffff851602815260048101929092528051602480840193829003018186803b15801561497e57600080fd5b505afa158015614992573d6000803e3d6000fd5b505050506040513d60408110156149a857600080fd5b5051604080517fef693bed000000000000000000000000000000000000000000000000000000008152600160a060020a0387811660048301526024820186905291519293509083169163ef693bed9160448082019260009290919082900301818387803b158015614a1857600080fd5b505af1158015614a2c573d6000803e3d6000fd5b5050600a54600160a060020a03848116911614159150610e79905057600954604080516024808201869052825180830390910181526044909101909152602081018051600080516020616322833981519152167f2e1a7d4d00000000000000000000000000000000000000000000000000000000179052613f05918691600160a060020a039091169060009061383f565b600160a060020a03811673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee146136e257600e54604080517feeb97d3b000000000000000000000000000000000000000000000000000000008152600160a060020a0384811660048301529151600093929092169163eeb97d3b91602480820192608092909190829003018186803b158015614b4b57600080fd5b505afa158015614b5f573d6000803e3d6000fd5b505050506040513d6080811015614b7557600080fd5b50519050801515613bd257604080516000805160206162e1833981519152815260206004820152601b60248201527f4d56323a20756e737570706f7274656420636f6c6c61746572616c0000000000604482015290519081900360640190fd5b6000600160a060020a03841673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee1415614c0b57600954600160a060020a031693505b600e54604080517fad8731b0000000000000000000000000000000000000000000000000000000008152600160a060020a0387811660048301529151600093929092169163ad8731b091602480820192602092909190829003018186803b158015614c7557600080fd5b505afa158015614c89573d6000803e3d6000fd5b505050506040513d6020811015614c9f57600080fd5b5051600160a060020a038716600090815260116020908152604080832084845290915290205492509050811515614d9257600c54604080517f6090dec5000000000000000000000000000000000000000000000000000000008152600481018490523060248201529051600160a060020a0390921691636090dec5916044808201926020929091908290030181600087803b158015614d3d57600080fd5b505af1158015614d51573d6000803e3d6000fd5b505050506040513d6020811015614d6757600080fd5b5051600160a060020a0387166000908152601160209081526040808320858452909152902081905591505b614d9e86838684615b75565b6000831115613ab057613ab0868385878561515f565b600c54604080517f2c2cb9fd000000000000000000000000000000000000000000000000000000008152600481018590529051614e5192869286928692600160a060020a031691632c2cb9fd916024808301926020929190829003018186803b158015614e2057600080fd5b505afa158015614e34573d6000803e3d6000fd5b505050506040513d6020811015614e4a57600080fd5b5051615b75565b600c54600160a060020a03166345e6bdcd83614e6c84615b16565b60006040518463ffffffff1660e060020a028152600401808481526020018381526020018281526020019350505050600060405180830381600087803b15801561199857600080fd5b614ebf8282615e92565b600354600f54614edf918591600160a060020a0391821691859116613d89565b614eea838383615f0b565b600654600c54604080517f2c2cb9fd000000000000000000000000000000000000000000000000000000008152600481018690529051600093600160a060020a039081169363d9638d3693911691632c2cb9fd91602480820192602092909190829003018186803b158015614f5e57600080fd5b505afa158015614f72573d6000803e3d6000fd5b505050506040513d6020811015614f8857600080fd5b50516040805160e060020a63ffffffff851602815260048101929092525160248083019260a0929190829003018186803b158015614fc557600080fd5b505afa158015614fd9573d6000803e3d6000fd5b505050506040513d60a0811015614fef57600080fd5b5060200151600c54909150600160a060020a03166345e6bdcd84600061505061504b8661503f6b033b2e3c9fd0803ce80000006150338b600163ffffffff61612316565b9063ffffffff6137d116565b9063ffffffff61618816565b615b16565b6000036040518463ffffffff1660e060020a028152600401808481526020018381526020018281526020019350505050600060405180830381600087803b15801561509a57600080fd5b505af1158015614792573d6000803e3d6000fd5b600081600160a060020a031683600160a060020a0316638da5cb5b6040518163ffffffff1660e060020a02815260040160206040518083038186803b1580156150f657600080fd5b505afa15801561510a573d6000803e3d6000fd5b505050506040513d602081101561512057600080fd5b5051600160a060020a0316149392505050565b600081158061515057505080820282828281151561514d57fe5b04145b151561383957600080fd5b0190565b600654604080517fd9638d36000000000000000000000000000000000000000000000000000000008152600481018490529051600092600160a060020a03169163d9638d369160248083019260a0929190829003018186803b1580156151c457600080fd5b505afa1580156151d8573d6000803e3d6000fd5b505050506040513d60a08110156151ee57600080fd5b506020015190506000615213856b033b2e3c9fd0803ce800000063ffffffff6137d116565b600c54909150600160a060020a03166345e6bdcd8761523187615b16565b61524c615244868863ffffffff61618816565b600101615b16565b6040518463ffffffff1660e060020a028152600401808481526020018381526020018281526020019350505050600060405180830381600087803b15801561529357600080fd5b505af11580156152a7573d6000803e3d6000fd5b5050600c54604080517ff9f30db6000000000000000000000000000000000000000000000000000000008152600481018b9052306024820152604481018690529051600160a060020a03909216935063f9f30db6925060648082019260009290919082900301818387803b15801561531e57600080fd5b505af1158015615332573d6000803e3d6000fd5b5050600554604080517fef693bed000000000000000000000000000000000000000000000000000000008152600160a060020a038c81166004830152602482018b9052915191909216935063ef693bed9250604480830192600092919082900301818387803b1580156153a457600080fd5b505af11580156153b8573d6000803e3d6000fd5b5050505050505050505050565b600c54604080517f2c2cb9fd00000000000000000000000000000000000000000000000000000000815260048101849052905160009283928392600160a060020a0390921691632c2cb9fd91602480820192602092909190829003018186803b15801561543157600080fd5b505afa158015615445573d6000803e3d6000fd5b505050506040513d602081101561545b57600080fd5b5051600654600c54604080517f2726b073000000000000000000000000000000000000000000000000000000008152600481018990529051939450600093600160a060020a0393841693632424be5c938793911691632726b07391602480820192602092909190829003018186803b1580156154d657600080fd5b505afa1580156154ea573d6000803e3d6000fd5b505050506040513d602081101561550057600080fd5b50516040805160e060020a63ffffffff86160281526004810193909352600160a060020a0390911660248301528051604480840193829003018186803b15801561554957600080fd5b505afa15801561555d573d6000803e3d6000fd5b505050506040513d604081101561557357600080fd5b5060200151905060008111156156b957600654604080517fd9638d360000000000000000000000000000000000000000000000000000000081526004810185905290516000928392600160a060020a039091169163d9638d369160248082019260a092909190829003018186803b1580156155ed57600080fd5b505afa158015615601573d6000803e3d6000fd5b505050506040513d60a081101561561757600080fd5b50602081015160809091015190925090506156586b033b2e3c9fd0803ce800000061503f8361564c878763ffffffff6137d116565b9063ffffffff61612316565b94506156b46156838361503f6b033b2e3c9fd0803ce800000061503381838a8663ffffffff6137d116565b84036156a86001816b033b2e3c9fd0803ce800000061503f898963ffffffff6137d116565b9063ffffffff6161fc16565b955050505b5050915091565b600654600c54604080517f2c2cb9fd000000000000000000000000000000000000000000000000000000008152600481018590529051600093600160a060020a0390811693632424be5c93911691632c2cb9fd91602480820192602092909190829003018186803b15801561573457600080fd5b505afa158015615748573d6000803e3d6000fd5b505050506040513d602081101561575e57600080fd5b5051600c54604080517f2726b073000000000000000000000000000000000000000000000000000000008152600481018890529051600160a060020a0390921691632726b07391602480820192602092909190829003018186803b1580156157c557600080fd5b505afa1580156157d9573d6000803e3d6000fd5b505050506040513d60208110156157ef57600080fd5b50516040805160e060020a63ffffffff86160281526004810193909352600160a060020a0390911660248301528051604480840193829003018186803b15801561583857600080fd5b505afa15801561584c573d6000803e3d6000fd5b505050506040513d604081101561586257600080fd5b505192915050565b600160a060020a038216600090815260026020526040812054821161589157506000613839565b7001000000000000000000000000000000006fffffffffffffffffffffffffffffffff1983160443612710018111156158ce576000915050613839565b5050600160a060020a0391909116600090815260026020526040902055600190565b6041808202830160208101516040820151919092015160009260ff9190911691601b83148061592257508260ff16601c145b151561592d57600080fd5b604080516000815260208082018084528a905260ff8616828401526060820185905260808201849052915160019260a0808401939192601f1981019281900390910190855afa158015615984573d6000803e3d6000fd5b5050604051601f19015198975050505050505050565b600060608351600014806159b55750600160a060020a038316155b156159c55750600090508261182f565b6000809050606060018651036040519080825280602002602001820160405280156159fa578160200160208202803883390190505b5090506000805b8751811015615af657831515615aa1578781815181101515615a1f57fe5b90602001906020020151600160a060020a031687600160a060020a03161415615a4b5760019350615aee565b615a6b8882815181101515615a5c57fe5b9060200190602002015161625e565b8015615a935750615a938882815181101515615a8357fe5b906020019060200201518861626c565b15615aa15760019350615aee565b8251821015615aee578781815181101515615ab857fe5b906020019060200201518383815181101515615ad057fe5b600160a060020a039092166020928302909101909101526001909101905b600101615a01565b5082615b0457600087615b08565b6001825b945094505050509250929050565b80600081121561182557604080516000805160206162e1833981519152815260206004820152601160248201527f4d56323a20696e74206f766572666c6f77000000000000000000000000000000604482015290519081900360640190fd5b600e54604080517f2a6aa5950000000000000000000000000000000000000000000000000000000081526004810184905281516000938493600160a060020a0390911692632a6aa5959260248083019392829003018186803b158015615bda57600080fd5b505afa158015615bee573d6000803e3d6000fd5b505050506040513d6040811015615c0457600080fd5b508051602090910151600a549193509150600160a060020a0380841691161415615c8f57600954604080516004815260248101909152602081018051600080516020616322833981519152167fd0e30db000000000000000000000000000000000000000000000000000000000179052615c8d918891600160a060020a0390911690879061383f565b505b604080513060248201526044808201879052825180830390910181526064909101909152602081018051600080516020616322833981519152167fa9059cbb00000000000000000000000000000000000000000000000000000000179052615cfd908790839060009061383f565b5080600160a060020a031663095ea7b383866040518363ffffffff1660e060020a0281526004018083600160a060020a0316600160a060020a0316815260200182815260200192505050602060405180830381600087803b158015615d6157600080fd5b505af1158015615d75573d6000803e3d6000fd5b505050506040513d6020811015615d8b57600080fd5b5050600c54604080517f2726b073000000000000000000000000000000000000000000000000000000008152600481018890529051600160a060020a0380861693633b4da69f93911691632726b07391602480820192602092909190829003018186803b158015615dfb57600080fd5b505afa158015615e0f573d6000803e3d6000fd5b505050506040513d6020811015615e2557600080fd5b50516040805160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820188905251604480830192600092919082900301818387803b158015615e7257600080fd5b505af1158015615e86573d6000803e3d6000fd5b50505050505050505050565b600080615e9e846153c5565b915091508083111580615eb057508183145b1515610e7957604080516000805160206162e1833981519152815260206004820152601760248201527f4d56323a207265706179206c657373206f722066756c6c000000000000000000604482015290519081900360640190fd5b600354604080513060248201526044808201859052825180830390910181526064909101909152602081018051600080516020616322833981519152167fa9059cbb00000000000000000000000000000000000000000000000000000000179052615f86918591600160a060020a039091169060009061383f565b50600354600554604080517f095ea7b3000000000000000000000000000000000000000000000000000000008152600160a060020a039283166004820152602481018590529051919092169163095ea7b39160448083019260209291908290030181600087803b158015615ff957600080fd5b505af115801561600d573d6000803e3d6000fd5b505050506040513d602081101561602357600080fd5b5050600554600c54604080517f2726b073000000000000000000000000000000000000000000000000000000008152600481018690529051600160a060020a0393841693633b4da69f931691632726b073916024808301926020929190829003018186803b15801561609457600080fd5b505afa1580156160a8573d6000803e3d6000fd5b505050506040513d60208110156160be57600080fd5b50516160d184600163ffffffff61612316565b6040518363ffffffff1660e060020a0281526004018083600160a060020a0316600160a060020a0316815260200182815260200192505050600060405180830381600087803b15801561199857600080fd5b60008282111561618257604080516000805160206162e1833981519152815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b60008082116161e657604080516000805160206162e1833981519152815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b600082848115156161f357fe5b04949350505050565b60008282018381101561383657604080516000805160206162e1833981519152815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6000903b63ffffffff161190565b604080517f6f776e657228290000000000000000000000000000000000000000000000000081529051908190036007018120808252600091829190602081818189611388fa60018114156162bf57815193505b505083600160a060020a031682600160a060020a031614925050509291505056fe08c379a000000000000000000000000000000000000000000000000000000000536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7700000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffa165627a7a72305820bd5fbc1145776d056b395258e3286f5b5f442116df0fee164c033a1cd5e0a89a0029",
"deployedBytecode": "0x608060405234801561001057600080fd5b50600436106101b25760003560e060020a900480638d3e0a69116100f2578063b02c808d1161009b578063d490da4d11610075578063d490da4d1461071a578063e8ca0ca314610757578063f4fe255614610791578063fd3fe18a146107b7576101b2565b8063b02c808d14610676578063b352d4af146106ba578063c9b5ef8e146106f4576101b2565b8063aacaaf88116100cc578063aacaaf8814610526578063ac5f8d5114610616578063ae8d246814610650576101b2565b80638d3e0a69146104a85780639be65a60146104d4578063a90cf0af146104fa576101b2565b80633b73d67f1161015f5780637aa9424c116101395780637aa9424c146103f05780637c7b997e1461041c57806380fd862b1461044257806385a13f381461046e576101b2565b80633b73d67f146102b55780635a1db8c41461039657806372de85d5146103c4576101b2565b80632820c07b116101905780632820c07b146102315780632c5ba768146102575780632d0335ab1461027d576101b2565b80630227efa2146101b757806307e70a73146101e557806319ab453c1461020b575b600080fd5b6101e3600480360360408110156101cd57600080fd5b50600160a060020a0381351690602001356107e3565b005b6101e3600480360360208110156101fb57600080fd5b5035600160a060020a0316610b42565b6101e36004803603602081101561022157600080fd5b5035600160a060020a0316610e7f565b6101e36004803603602081101561024757600080fd5b5035600160a060020a03166111b6565b6101e36004803603602081101561026d57600080fd5b5035600160a060020a03166114ed565b6102a36004803603602081101561029357600080fd5b5035600160a060020a031661180b565b60408051918252519081900360200190f35b61036b600480360360408110156102cb57600080fd5b600160a060020a0382351691908101906040810160208201356401000000008111156102f657600080fd5b82018360208201111561030857600080fd5b8035906020019184600183028401116401000000008311171561032a57600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092955061182a945050505050565b6040518083815260200182600281111561038157fe5b60ff1681526020019250505060405180910390f35b6101e3600480360360408110156103ac57600080fd5b50600160a060020a0381358116916020013516611836565b6102a3600480360360408110156103da57600080fd5b50600160a060020a0381351690602001356119b5565b6101e36004803603604081101561040657600080fd5b50600160a060020a038135169060200135611e8d565b6101e36004803603602081101561043257600080fd5b5035600160a060020a0316612018565b6102a36004803603604081101561045857600080fd5b50600160a060020a03813516906020013561234f565b6101e36004803603608081101561048457600080fd5b50600160a060020a038135811691602081013591604082013516906060013561236c565b6101e3600480360360408110156104be57600080fd5b50600160a060020a0381351690602001356123e6565b6101e3600480360360208110156104ea57600080fd5b5035600160a060020a03166126fa565b6101e36004803603604081101561051057600080fd5b50600160a060020a038135169060200135612827565b610602600480360360c081101561053c57600080fd5b600160a060020a03823516919081019060408101602082013564010000000081111561056757600080fd5b82018360208201111561057957600080fd5b8035906020019184600183028401116401000000008311171561059b57600080fd5b919390928235926040810190602001356401000000008111156105bd57600080fd5b8201836020820111156105cf57600080fd5b803590602001918460018302840111640100000000831117156105f157600080fd5b919350915080359060200135612894565b604080519115158252519081900360200190f35b6101e36004803603608081101561062c57600080fd5b50600160a060020a0381358116916020810135916040820135169060600135612c7d565b6102a36004803603602081101561066657600080fd5b5035600160a060020a0316612cf7565b6102a3600480360360a081101561068c57600080fd5b50600160a060020a038135811691602081013582169160408201359160608101359091169060800135612e0b565b6101e3600480360360808110156106d057600080fd5b50600160a060020a0381358116916020810135916040820135169060600135612f06565b6102a36004803603602081101561070a57600080fd5b5035600160a060020a0316612f80565b610722612f92565b604080517fffffffff000000000000000000000000000000000000000000000000000000009092168252519081900360200190f35b6101e36004803603608081101561076d57600080fd5b50600160a060020a0381358116916020810135916040820135169060600135612fb6565b6101e3600480360360208110156107a757600080fd5b5035600160a060020a0316613039565b6101e3600480360360408110156107cd57600080fd5b50600160a060020a038135169060200135613370565b816107ed81613674565b826107f7816136e5565b600760009054906101000a9004600160a060020a0316600160a060020a0316639f678cca6040518163ffffffff1660e060020a028152600401600060405180830381600087803b15801561084a57600080fd5b505af115801561085e573d6000803e3d6000fd5b505050506000600760009054906101000a9004600160a060020a0316600160a060020a031663c92aecc46040518163ffffffff1660e060020a02815260040160206040518083038186803b1580156108b557600080fd5b505afa1580156108c9573d6000803e3d6000fd5b505050506040513d60208110156108df57600080fd5b50516108fd856b033b2e3c9fd0803ce800000063ffffffff6137d116565b81151561090657fe5b60075460408051939092046024808501829052835180860390910181526044909401909252602083018051600080516020616322833981519152167f7f8661a100000000000000000000000000000000000000000000000000000000179052909250610980918791600160a060020a03169060009061383f565b50600554610998908690600160a060020a0316613ab9565b600654604080517f6c25b346000000000000000000000000000000000000000000000000000000008152600160a060020a03888116600483015291516000939290921691636c25b34691602480820192602092909190829003018186803b158015610a0257600080fd5b505afa158015610a16573d6000803e3d6000fd5b505050506040513d6020811015610a2c57600080fd5b505190506000610a4e866b033b2e3c9fd0803ce800000063ffffffff6137d116565b821015610a69576b033b2e3c9fd0803ce80000008204610a6b565b855b60055460408051600160a060020a03808c1660248301526044808301869052835180840390910181526064909201909252602081018051600080516020616322833981519152167fef693bed00000000000000000000000000000000000000000000000000000000179052929350610aec928a92919091169060009061383f565b5060035460408051600160a060020a039283168152602081018490528151928a16927f9aa275f858ea6286ee2cacd32cd2ae55f918a310ee6d0320caad244ee9d6109e929181900390910190a250505050505050565b8033600160a060020a03821614610ba857604080516000805160206162e1833981519152815260206004820152601960248201527f424d3a2063616c6c6572206d7573742062652077616c6c657400000000000000604482015290519081900360640190fd5b600e54604080517fb58eb63f0000000000000000000000000000000000000000000000000000000081529051606092600160a060020a03169163b58eb63f916004808301926000929190829003018186803b158015610c0657600080fd5b505afa158015610c1a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526020811015610c4357600080fd5b810190808051640100000000811115610c5b57600080fd5b82016020810184811115610c6e57600080fd5b8151856020820283011164010000000082111715610c8b57600080fd5b50909450600093505050505b8151811015610e7957601254600e5483516000926101009004600160a060020a03908116926380fd862b9289929091169063ad8731b090889088908110610cda57fe5b906020019060200201516040518263ffffffff1660e060020a0281526004018082600160a060020a0316600160a060020a0316815260200191505060206040518083038186803b158015610d2d57600080fd5b505afa158015610d41573d6000803e3d6000fd5b505050506040513d6020811015610d5757600080fd5b50516040805160e060020a63ffffffff8616028152600160a060020a0390931660048401526024830191909152516044808301926020929190829003018186803b158015610da457600080fd5b505afa158015610db8573d6000803e3d6000fd5b505050506040513d6020811015610dce57600080fd5b505190508015610e7057601254604080517f7aa9424c000000000000000000000000000000000000000000000000000000008152600160a060020a03888116600483015260248201859052915161010090930490911691637aa9424c9160448082019260009290919082900301818387803b158015610e4c57600080fd5b505af1158015610e60573d6000803e3d6000fd5b50505050610e6e8582613bd6565b505b50600101610c97565b50505050565b8033600160a060020a03821614610ee557604080516000805160206162e1833981519152815260206004820152601960248201527f424d3a2063616c6c6572206d7573742062652077616c6c657400000000000000604482015290519081900360640190fd5b600e54604080517fb58eb63f0000000000000000000000000000000000000000000000000000000081529051606092600160a060020a03169163b58eb63f916004808301926000929190829003018186803b158015610f4357600080fd5b505afa158015610f57573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526020811015610f8057600080fd5b810190808051640100000000811115610f9857600080fd5b82016020810184811115610fab57600080fd5b8151856020820283011164010000000082111715610fc857600080fd5b50909450600093505050505b8151811015610e7957601254600e5483516000926101009004600160a060020a03908116926380fd862b9289929091169063ad8731b09088908890811061101757fe5b906020019060200201516040518263ffffffff1660e060020a0281526004018082600160a060020a0316600160a060020a0316815260200191505060206040518083038186803b15801561106a57600080fd5b505afa15801561107e573d6000803e3d6000fd5b505050506040513d602081101561109457600080fd5b50516040805160e060020a63ffffffff8616028152600160a060020a0390931660048401526024830191909152516044808301926020929190829003018186803b1580156110e157600080fd5b505afa1580156110f5573d6000803e3d6000fd5b505050506040513d602081101561110b57600080fd5b5051905080156111ad57601254604080517f7aa9424c000000000000000000000000000000000000000000000000000000008152600160a060020a03888116600483015260248201859052915161010090930490911691637aa9424c9160448082019260009290919082900301818387803b15801561118957600080fd5b505af115801561119d573d6000803e3d6000fd5b505050506111ab8582613bd6565b505b50600101610fd4565b8033600160a060020a0382161461121c57604080516000805160206162e1833981519152815260206004820152601960248201527f424d3a2063616c6c6572206d7573742062652077616c6c657400000000000000604482015290519081900360640190fd5b600e54604080517fb58eb63f0000000000000000000000000000000000000000000000000000000081529051606092600160a060020a03169163b58eb63f916004808301926000929190829003018186803b15801561127a57600080fd5b505afa15801561128e573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405260208110156112b757600080fd5b8101908080516401000000008111156112cf57600080fd5b820160208101848111156112e257600080fd5b81518560208202830111640100000000821117156112ff57600080fd5b50909450600093505050505b8151811015610e7957601254600e5483516000926101009004600160a060020a03908116926380fd862b9289929091169063ad8731b09088908890811061134e57fe5b906020019060200201516040518263ffffffff1660e060020a0281526004018082600160a060020a0316600160a060020a0316815260200191505060206040518083038186803b1580156113a157600080fd5b505afa1580156113b5573d6000803e3d6000fd5b505050506040513d60208110156113cb57600080fd5b50516040805160e060020a63ffffffff8616028152600160a060020a0390931660048401526024830191909152516044808301926020929190829003018186803b15801561141857600080fd5b505afa15801561142c573d6000803e3d6000fd5b505050506040513d602081101561144257600080fd5b5051905080156114e457601254604080517f7aa9424c000000000000000000000000000000000000000000000000000000008152600160a060020a03888116600483015260248201859052915161010090930490911691637aa9424c9160448082019260009290919082900301818387803b1580156114c057600080fd5b505af11580156114d4573d6000803e3d6000fd5b505050506114e28582613bd6565b505b5060010161130b565b806114f781613674565b81611501816136e5565b600760009054906101000a9004600160a060020a0316600160a060020a0316639f678cca6040518163ffffffff1660e060020a028152600401600060405180830381600087803b15801561155457600080fd5b505af1158015611568573d6000803e3d6000fd5b5050600754604080517f0bebac86000000000000000000000000000000000000000000000000000000008152600160a060020a038881166004830152915160009550919092169250630bebac8691602480820192602092909190829003018186803b1580156115d657600080fd5b505afa1580156115ea573d6000803e3d6000fd5b505050506040513d602081101561160057600080fd5b5051600754604080516024808201859052825180830390910181526044909101909152602081018051600080516020616322833981519152167f7f8661a100000000000000000000000000000000000000000000000000000000179052919250611678918691600160a060020a03169060009061383f565b50600554611690908590600160a060020a0316613ab9565b60006b033b2e3c9fd0803ce800000061172c83600760009054906101000a9004600160a060020a0316600160a060020a031663c92aecc46040518163ffffffff1660e060020a02815260040160206040518083038186803b1580156116f457600080fd5b505afa158015611708573d6000803e3d6000fd5b505050506040513d602081101561171e57600080fd5b50519063ffffffff6137d116565b81151561173557fe5b60055460408051600160a060020a03808b166024830152949093046044808501829052825180860390910181526064909401909152602083018051600080516020616322833981519152167fef693bed0000000000000000000000000000000000000000000000000000000017905293506117b792889291169060009061383f565b5060035460408051600160a060020a039283168152602081018490528151928816927f9aa275f858ea6286ee2cacd32cd2ae55f918a310ee6d0320caad244ee9d6109e929181900390910190a25050505050565b600160a060020a0381166000908152600260205260409020545b919050565b600160005b9250929050565b8161184081613674565b600054604080517f0bcd4ebb000000000000000000000000000000000000000000000000000000008152600160a060020a03858116600483015291519190921691630bcd4ebb916024808301926020929190829003018186803b1580156118a657600080fd5b505afa1580156118ba573d6000803e3d6000fd5b505050506040513d60208110156118d057600080fd5b5051151561192d57604080516000805160206162e1833981519152815260206004820152601c60248201527f424d3a206d6f64756c65206973206e6f74207265676973746572656400000000604482015290519081900360640190fd5b604080517f1f17732d000000000000000000000000000000000000000000000000000000008152600160a060020a03848116600483015260016024830152915191851691631f17732d9160448082019260009290919082900301818387803b15801561199857600080fd5b505af11580156119ac573d6000803e3d6000fd5b50505050505050565b6000826119c181613674565b836119cb816136e5565b600080600d60009054906101000a9004600160a060020a0316600160a060020a031663ace237f56040518163ffffffff1660e060020a02815260040160206040518083038186803b158015611a1f57600080fd5b505afa158015611a33573d6000803e3d6000fd5b505050506040513d6020811015611a4957600080fd5b5051604080517f59e02dd70000000000000000000000000000000000000000000000000000000081528151600160a060020a03909316926359e02dd7926004808401939192918290030181600087803b158015611aa557600080fd5b505af1158015611ab9573d6000803e3d6000fd5b505050506040513d6040811015611acf57600080fd5b5080516020909101519092509050808015611ae957508115155b15611c3157600d54604080517f6f78ee0d000000000000000000000000000000000000000000000000000000008152600481018990529051600092611b8d92600160a060020a0390911691636f78ee0d9160248082019260209290919082900301818887803b158015611b5b57600080fd5b505af1158015611b6f573d6000803e3d6000fd5b505050506040513d6020811015611b8557600080fd5b505184613d57565b600854601054919250611bb0918a91600160a060020a0390811691859116613d89565b60085460045460408051600160a060020a0392831660248201526044808201869052825180830390910181526064909101909152602081018051600080516020616322833981519152167fa9059cbb00000000000000000000000000000000000000000000000000000000179052611c2e928b92169060009061383f565b50505b600d5460045460408051602481018a9052600160a060020a03928316604480830191909152825180830390910181526064909101909152602081018051600080516020616322833981519152167fbaa8529c00000000000000000000000000000000000000000000000000000000179052611cb2928a92169060009061383f565b50600b54600a54604080517fc5ce281e0000000000000000000000000000000000000000000000000000000081529051600160a060020a03938416936344e2a5a893169163c5ce281e916004808301926020929190829003018186803b158015611d1b57600080fd5b505afa158015611d2f573d6000803e3d6000fd5b505050506040513d6020811015611d4557600080fd5b50516040805160e060020a63ffffffff8516028152600481019290925251602480830192600092919082900301818387803b158015611d8357600080fd5b505af1158015611d97573d6000803e3d6000fd5b505060048054604080517fe19b8ee30000000000000000000000000000000000000000000000000000000081529283018b905251600160a060020a03909116935063e19b8ee3925060248083019260209291908290030181600087803b158015611e0057600080fd5b505af1158015611e14573d6000803e3d6000fd5b505050506040513d6020811015611e2a57600080fd5b50519450611e388786613bd6565b945086600160a060020a03167f900ca238b2a7f63c73544339ed1e6f3ecfdfd4116986eccc0447de48da5941d18787604051808381526020018281526020019250505060405180910390a25050505092915050565b604080517fd6eb1bbf00000000000000000000000000000000000000000000000000000000815233600482015290518391600160a060020a0383169163d6eb1bbf91602480820192602092909190829003018186803b158015611eef57600080fd5b505afa158015611f03573d6000803e3d6000fd5b505050506040513d6020811015611f1957600080fd5b50511515611f7657604080516000805160206162e1833981519152815260206004820152601860248201527f4d56323a2073656e64657220756e617574686f72697a65640000000000000000604482015290519081900360640190fd5b82611f80816136e5565b611f8a8484613f0c565b600c54604080517ffcafcc68000000000000000000000000000000000000000000000000000000008152600481018690523360248201529051600160a060020a039092169163fcafcc689160448082019260009290919082900301818387803b158015611ff657600080fd5b505af115801561200a573d6000803e3d6000fd5b50505050610e79848461401b565b8033600160a060020a0382161461207e57604080516000805160206162e1833981519152815260206004820152601960248201527f424d3a2063616c6c6572206d7573742062652077616c6c657400000000000000604482015290519081900360640190fd5b600e54604080517fb58eb63f0000000000000000000000000000000000000000000000000000000081529051606092600160a060020a03169163b58eb63f916004808301926000929190829003018186803b1580156120dc57600080fd5b505afa1580156120f0573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052602081101561211957600080fd5b81019080805164010000000081111561213157600080fd5b8201602081018481111561214457600080fd5b815185602082028301116401000000008211171561216157600080fd5b50909450600093505050505b8151811015610e7957601254600e5483516000926101009004600160a060020a03908116926380fd862b9289929091169063ad8731b0908890889081106121b057fe5b906020019060200201516040518263ffffffff1660e060020a0281526004018082600160a060020a0316600160a060020a0316815260200191505060206040518083038186803b15801561220357600080fd5b505afa158015612217573d6000803e3d6000fd5b505050506040513d602081101561222d57600080fd5b50516040805160e060020a63ffffffff8616028152600160a060020a0390931660048401526024830191909152516044808301926020929190829003018186803b15801561227a57600080fd5b505afa15801561228e573d6000803e3d6000fd5b505050506040513d60208110156122a457600080fd5b50519050801561234657601254604080517f7aa9424c000000000000000000000000000000000000000000000000000000008152600160a060020a03888116600483015260248201859052915161010090930490911691637aa9424c9160448082019260009290919082900301818387803b15801561232257600080fd5b505af1158015612336573d6000803e3d6000fd5b505050506123448582613bd6565b505b5060010161216d565b601160209081526000928352604080842090915290825290205481565b8361237681613674565b84612380816136e5565b61238a8686613f0c565b6123958686856140d0565b60408051600160a060020a0386811682526020820186905282518893918a16927ff6669d5e7ff92997c22e9fe3b54f53ed18448cf5fdccb3eb1dc5004798fbb41492908290030190a3505050505050565b816123f081613674565b826123fa816136e5565b600760009054906101000a9004600160a060020a0316600160a060020a0316639f678cca6040518163ffffffff1660e060020a028152600401600060405180830381600087803b15801561244d57600080fd5b505af1158015612461573d6000803e3d6000fd5b505060035460055460408051600160a060020a03928316602482015260448082018a9052825180830390910181526064909101909152602081018051600080516020616322833981519152167f095ea7b3000000000000000000000000000000000000000000000000000000001790526124e4945088935091169060009061383f565b5060055460408051600160a060020a0380881660248301526044808301889052835180840390910181526064909201909252602081018051600080516020616322833981519152167f3b4da69f00000000000000000000000000000000000000000000000000000000179052612560928792169060009061383f565b50600754612578908590600160a060020a0316613ab9565b600754604080517fc92aecc40000000000000000000000000000000000000000000000000000000081529051600092600160a060020a03169163c92aecc4916004808301926020929190829003018186803b1580156125d657600080fd5b505afa1580156125ea573d6000803e3d6000fd5b505050506040513d602081101561260057600080fd5b505161261e856b033b2e3c9fd0803ce800000063ffffffff6137d116565b81151561262757fe5b60075460408051939092046024808501829052835180860390910181526044909401909252602083018051600080516020616322833981519152167f049878f3000000000000000000000000000000000000000000000000000000001790529092506126a1918791600160a060020a03169060009061383f565b5060035460408051600160a060020a039283168152602081018790526000818301529051918716917ff8eece150ed2126815122a6def9737751aecd814379d4ce8c9edd07133a49cdb9181900360600190a25050505050565b604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051600091600160a060020a038416916370a0823191602480820192602092909190829003018186803b15801561275d57600080fd5b505afa158015612771573d6000803e3d6000fd5b505050506040513d602081101561278757600080fd5b505160008054604080517fa9059cbb000000000000000000000000000000000000000000000000000000008152600160a060020a0392831660048201526024810185905290519394509085169263a9059cbb92604480840193602093929083900390910190829087803b1580156127fd57600080fd5b505af1158015612811573d6000803e3d6000fd5b505050506040513d6020811015610e7957600080fd5b8161283181613674565b8261283b816136e5565b6128458484613f0c565b61284e83614165565b6128588484614250565b6040518390600160a060020a038616907f07e4a0c6f06275f83bcf78e5a10eb7f5515574d593bce993377961f4133b951c90600090a350505050565b6000805a905060006128e4308c60008d8d8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152508f92508c91508b9050614293565b90506128f18b89836143d6565b151561294c57604080516000805160206162e1833981519152815260206004820152601560248201527f524d3a204475706c696361746520726571756573740000000000000000000000604482015290519081900360640190fd5b61298c8b8b8b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506143ea92505050565b15156129e757604080516000805160206162e1833981519152815260206004820152601e60248201527f524d3a20546172676574206f66205f6461746120213d205f77616c6c65740000604482015290519081900360640190fd5b600080612a2a8d8d8d8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061182a92505050565b9092509050604182028814612a8e57604080516000805160206162e1833981519152815260206004820152601e60248201527f524d3a2057726f6e67206e756d626572206f66207369676e6174757265730000604482015290519081900360640190fd5b811580612ad95750612ad98d848b8b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250879250614463915050565b1515612b3457604080516000805160206162e1833981519152815260206004820152601660248201527f524d3a20496e76616c6964207369676e61747572657300000000000000000000604482015290519081900360640190fd5b6060612b428e888a8661466c565b15612bbe5730600160a060020a03168d8d604051808383808284376040519201945060009350909150508083038183865af19150503d8060008114612ba3576040519150601f19603f3d011682016040523d82523d6000602084013e612ba8565b606091505b509096509050612bbe8e5a87038a8a873361473e565b8515158e600160a060020a03167f7da4525a280527268ba2e963ee6c1b18f43c9507bcb1d2560f652ab17c76e90a83876040518080602001838152602001828103825284818151815260200191508051906020019080838360005b83811015612c31578181015183820152602001612c19565b50505050905090810190601f168015612c5e5780820380516001836020036101000a031916815260200191505b50935050505060405180910390a3505050505098975050505050505050565b83612c8781613674565b84612c91816136e5565b612c9b8686613f0c565b612ca686868561479c565b60408051600160a060020a0386811682526020820186905282518893918a16927ff1dec7a92ef063b16d2098bb05803ed604936a7ff30f0d245fe881baf96e8e6b92908290030190a3505050505050565b600754604080517f0bebac86000000000000000000000000000000000000000000000000000000008152600160a060020a03848116600483015291516000936b033b2e3c9fd0803ce800000093612dfb93911691630bebac8691602480820192602092909190829003018186803b158015612d7157600080fd5b505afa158015612d85573d6000803e3d6000fd5b505050506040513d6020811015612d9b57600080fd5b5051600754604080517fc92aecc40000000000000000000000000000000000000000000000000000000081529051600160a060020a039092169163c92aecc491600480820192602092909190829003018186803b1580156116f457600080fd5b811515612e0457fe5b0492915050565b600085612e1781613674565b86612e21816136e5565b612e2a87614abd565b600354600160a060020a03868116911614612e9457604080516000805160206162e1833981519152815260206004820152601760248201527f4d56323a206465627420746f6b656e206e6f7420444149000000000000000000604482015290519081900360640190fd5b612ea088888887614bd5565b60408051600160a060020a038a81168252602082018a9052888116828401526060820188905291519295508592918b16917ff9d7e11fb5d8d1e0a4be344a6a6adfb912161747edf926fb283150d07c39c1089181900360800190a3505095945050505050565b83612f1081613674565b84612f1a816136e5565b612f248686613f0c565b612f2f868685614db4565b60408051600160a060020a0386811682526020820186905282518893918a16927fdd016248708c391ccb5c72f9258127c75b9b291ac1479513fe4f331c3489013792908290030190a3505050505050565b60026020526000908152604090205481565b7fd490da4d0000000000000000000000000000000000000000000000000000000090565b83612fc081613674565b84612fca816136e5565b612fd48686613f0c565b612fdd85614165565b612fe8868685614eb5565b60408051600160a060020a0386811682526020820186905282518893918a16927fbfa42ea7d37497e6a09441fadba47d64b610b6b1183d895dd0a42507973430bf92908290030190a3505050505050565b8033600160a060020a0382161461309f57604080516000805160206162e1833981519152815260206004820152601960248201527f424d3a2063616c6c6572206d7573742062652077616c6c657400000000000000604482015290519081900360640190fd5b600e54604080517fb58eb63f0000000000000000000000000000000000000000000000000000000081529051606092600160a060020a03169163b58eb63f916004808301926000929190829003018186803b1580156130fd57600080fd5b505afa158015613111573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052602081101561313a57600080fd5b81019080805164010000000081111561315257600080fd5b8201602081018481111561316557600080fd5b815185602082028301116401000000008211171561318257600080fd5b50909450600093505050505b8151811015610e7957601254600e5483516000926101009004600160a060020a03908116926380fd862b9289929091169063ad8731b0908890889081106131d157fe5b906020019060200201516040518263ffffffff1660e060020a0281526004018082600160a060020a0316600160a060020a0316815260200191505060206040518083038186803b15801561322457600080fd5b505afa158015613238573d6000803e3d6000fd5b505050506040513d602081101561324e57600080fd5b50516040805160e060020a63ffffffff8616028152600160a060020a0390931660048401526024830191909152516044808301926020929190829003018186803b15801561329b57600080fd5b505afa1580156132af573d6000803e3d6000fd5b505050506040513d60208110156132c557600080fd5b50519050801561336757601254604080517f7aa9424c000000000000000000000000000000000000000000000000000000008152600160a060020a03888116600483015260248201859052915161010090930490911691637aa9424c9160448082019260009290919082900301818387803b15801561334357600080fd5b505af1158015613357573d6000803e3d6000fd5b505050506133658582613bd6565b505b5060010161318e565b60125460ff1615156133d157604080516000805160206162e1833981519152815260206004820152601360248201527f4d56323a207265656e7472616e742063616c6c00000000000000000000000000604482015290519081900360640190fd5b6012805460ff19169055816133e581613674565b826133ef816136e5565b600c54604080517f8161b120000000000000000000000000000000000000000000000000000000008152600481018690529051600160a060020a03808816931691638161b120916024808301926020929190829003018186803b15801561345557600080fd5b505afa158015613469573d6000803e3d6000fd5b505050506040513d602081101561347f57600080fd5b5051600160a060020a0316146134e457604080516000805160206162e1833981519152815260206004820152601660248201527f4d56323a2077726f6e67207661756c74206f776e657200000000000000000000604482015290519081900360640190fd5b600c54604080516024810186905230604480830191909152825180830390910181526064909101909152602081018051600080516020616322833981519152167ffcafcc6800000000000000000000000000000000000000000000000000000000179052613562918691600160a060020a039091169060009061383f565b50600c54604080517f8161b1200000000000000000000000000000000000000000000000000000000081526004810186905290513092600160a060020a031691638161b120916024808301926020929190829003018186803b1580156135c757600080fd5b505afa1580156135db573d6000803e3d6000fd5b505050506040513d60208110156135f157600080fd5b5051600160a060020a03161461365657604080516000805160206162e1833981519152815260206004820152601060248201527f4d56323a206661696c6564206769766500000000000000000000000000000000604482015290519081900360640190fd5b6136608484613bd6565b50506012805460ff19166001179055505050565b33301480613687575061368781336150ae565b15156136e257604080516000805160206162e1833981519152815260206004820152601860248201527f424d3a206d7573742062652077616c6c6574206f776e65720000000000000000604482015290519081900360640190fd5b50565b600154604080517f4a4fbeec000000000000000000000000000000000000000000000000000000008152600160a060020a03848116600483015291519190921691634a4fbeec916024808301926020929190829003018186803b15801561374b57600080fd5b505afa15801561375f573d6000803e3d6000fd5b505050506040513d602081101561377557600080fd5b5051156136e257604080516000805160206162e1833981519152815260206004820152601160248201527f424d3a2077616c6c6574206c6f636b6564000000000000000000000000000000604482015290519081900360640190fd5b60008215156137e257506000613839565b8282028284828115156137f157fe5b0414613836576040516000805160206162e183398151915281526004018080602001828103825260218152602001806163016021913960400191505060405180910390fd5b90505b92915050565b6060600085600160a060020a03168585856040516024018084600160a060020a0316600160a060020a0316815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b838110156138ae578181015183820152602001613896565b50505050905090810190601f1680156138db5780820380516001836020036101000a031916815260200191505b5060408051601f19818403018152918152602082018051600080516020616322833981519152167f8f6f033200000000000000000000000000000000000000000000000000000000178152905182519297509550859450925090508083835b602083106139595780518252601f19909201916020918201910161393a565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d80600081146139bb576040519150601f19603f3d011682016040523d82523d6000602084013e6139c0565b606091505b50925090508080156139d3575060008251115b15613a40578180602001905160208110156139ed57600080fd5b810190808051640100000000811115613a0557600080fd5b82016020810184811115613a1857600080fd5b8151640100000000811182820187101715613a3257600080fd5b50909550613ab09350505050565b600082511115613a54573d6000803e3d6000fd5b801515613ab057604080516000805160206162e1833981519152815260206004820152601a60248201527f424d3a2077616c6c657420696e766f6b65207265766572746564000000000000604482015290519081900360640190fd5b50949350505050565b600654604080517f4538c4eb000000000000000000000000000000000000000000000000000000008152600160a060020a038581166004830152848116602483015291519190921691634538c4eb916044808301926020929190829003018186803b158015613b2757600080fd5b505afa158015613b3b573d6000803e3d6000fd5b505050506040513d6020811015613b5157600080fd5b50511515613bd25760065460408051600160a060020a03848116602480840191909152835180840390910181526044909201909252602081018051600080516020616322833981519152167fa3b22fc400000000000000000000000000000000000000000000000000000000179052613bd0928592169060009061383f565b505b5050565b600c54604080517f2c2cb9fd0000000000000000000000000000000000000000000000000000000081526004810184905290516000928392600160a060020a0390911691632c2cb9fd91602480820192602092909190829003018186803b158015613c4057600080fd5b505afa158015613c54573d6000803e3d6000fd5b505050506040513d6020811015613c6a57600080fd5b5051600160a060020a0385166000908152601160209081526040808320848452909152812054919250811115613d2957600c54604080517fe50322a200000000000000000000000000000000000000000000000000000000815260048101879052602481018490529051600160a060020a039092169163e50322a29160448082019260009290919082900301818387803b158015613d0757600080fd5b505af1158015613d1b573d6000803e3d6000fd5b505050508092505050613839565b50600160a060020a038416600090815260116020908152604080832093835292905220829055508092915050565b600081613d78613d6f85670de0b6b3a7640000615133565b6002850461515b565b811515613d8157fe5b049392505050565b600083600160a060020a03166370a08231866040518263ffffffff1660e060020a0281526004018082600160a060020a0316600160a060020a0316815260200191505060206040518083038186803b158015613de457600080fd5b505afa158015613df8573d6000803e3d6000fd5b505050506040513d6020811015613e0e57600080fd5b5051905082811015613f0557600082600160a060020a03166359e948628386036040518263ffffffff1660e060020a0281526004018082815260200191505060206040518083038186803b158015613e6557600080fd5b505afa158015613e79573d6000803e3d6000fd5b505050506040513d6020811015613e8f57600080fd5b505160408051848703602482015242604480830191909152825180830390910181526064909101909152602081018051600080516020616322833981519152167f6b1d4db7000000000000000000000000000000000000000000000000000000001790529091506119ac9087908590849061383f565b5050505050565b600160a060020a038083166000908152601160209081526040808320600c5482517f2c2cb9fd00000000000000000000000000000000000000000000000000000000815260048101889052925187969295949190921692632c2cb9fd9260248083019392829003018186803b158015613f8457600080fd5b505afa158015613f98573d6000803e3d6000fd5b505050506040513d6020811015613fae57600080fd5b5051815260208101919091526040016000205414613bd257604080516000805160206162e1833981519152815260206004820152601860248201527f4d56323a20756e617574686f72697a6564206c6f616e49640000000000000000604482015290519081900360640190fd5b600160a060020a038083166000908152601160209081526040808320600c5482517f2c2cb9fd00000000000000000000000000000000000000000000000000000000815260048101889052925191951692632c2cb9fd9260248082019391829003018186803b15801561408d57600080fd5b505afa1580156140a1573d6000803e3d6000fd5b505050506040513d60208110156140b757600080fd5b5051815260208101919091526040016000908120555050565b613bd08383836000600c60009054906101000a9004600160a060020a0316600160a060020a0316632c2cb9fd886040518263ffffffff1660e060020a0281526004018082815260200191505060206040518083038186803b15801561413457600080fd5b505afa158015614148573d6000803e3d6000fd5b505050506040513d602081101561415e57600080fd5b505161515f565b600b54600c54604080517f2c2cb9fd000000000000000000000000000000000000000000000000000000008152600481018590529051600160a060020a03938416936344e2a5a8931691632c2cb9fd916024808301926020929190829003018186803b1580156141d457600080fd5b505afa1580156141e8573d6000803e3d6000fd5b505050506040513d60208110156141fe57600080fd5b50516040805160e060020a63ffffffff8516028152600481019290925251602480830192600092919082900301818387803b15801561423c57600080fd5b505af1158015613f05573d6000803e3d6000fd5b600061425b826153c5565b509050600081111561427257614272838383614eb5565b600061427d836156c0565b90506000811115610e7957610e7984848361479c565b6040517f190000000000000000000000000000000000000000000000000000000000000060208083018281526000602185018190526c01000000000000000000000000600160a060020a03808e16820260228801528c16026036860152604a85018a90528851909485938d938d938d938d938d938d938d939192606a909201918701908083835b602083106143395780518252601f19909201916020918201910161431a565b51815160209384036101000a600019018019909216911617905292019586525084810193909352506040808401919091528051808403820181526060840182528051908301207f19457468657265756d205369676e6564204d6573736167653a0a3332000000006080850152609c808501919091528151808503909101815260bc909301905281519101209e9d5050505050505050505050505050565b60006143e2848461586a565b949350505050565b6000602482511015151561444d57604080516000805160206162e1833981519152815260206004820152601660248201527f524d3a20496e76616c6964206461746157616c6c657400000000000000000000604482015290519081900360640190fd5b5060240151600160a060020a0391821691161490565b60008060608184600281111561447557fe5b141580614483575060418551115b1561457c57600154604080517ff18858ab000000000000000000000000000000000000000000000000000000008152600160a060020a038a811660048301529151919092169163f18858ab916024808301926000929190829003018186803b1580156144ee57600080fd5b505afa158015614502573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052602081101561452b57600080fd5b81019080805164010000000081111561454357600080fd5b8201602081018481111561455657600080fd5b815185602082028301116401000000008211171561457357600080fd5b50909450505050505b6000805b8651604190048160ff16101561465d5760006145a089898460ff166158f0565b905060ff8216151561460c5760008760028111156145ba57fe5b14156145e3576145ca8a826150ae565b156145d55750614655565b6000955050505050506143e2565b60018760028111156145f157fe5b141561460c576146018a826150ae565b1561460c5750614655565b600160a060020a038086169082161161462d576000955050505050506143e2565b80945061463a848261599a565b94509250821515614653576000955050505050506143e2565b505b600101614580565b50600198975050505050505050565b6000808311801561467d5750600182115b8015614726575082840285600160a060020a03163110806147265750604080517fd6eb1bbf0000000000000000000000000000000000000000000000000000000081523060048201529051600160a060020a0387169163d6eb1bbf916024808301926020929190829003018186803b1580156146f857600080fd5b505afa15801561470c573d6000803e3d6000fd5b505050506040513d602081101561472257600080fd5b5051155b15614733575060006143e2565b506001949350505050565b61726c85016000851180156147535750600183115b801561475f5750838111155b156119ac573a851115614773573a02614776565b84025b614792878383602060405190810160405280600081525061383f565b5050505050505050565b600c54600160a060020a03166345e6bdcd836147b784615b16565b60000360006040518463ffffffff1660e060020a028152600401808481526020018381526020018281526020019350505050600060405180830381600087803b15801561480357600080fd5b505af1158015614817573d6000803e3d6000fd5b5050600c54604080517f9bb8f83800000000000000000000000000000000000000000000000000000000815260048101879052306024820152604481018690529051600160a060020a039092169350639bb8f838925060648082019260009290919082900301818387803b15801561488e57600080fd5b505af11580156148a2573d6000803e3d6000fd5b5050600e54600c54604080517f2c2cb9fd00000000000000000000000000000000000000000000000000000000815260048101889052905160009550600160a060020a039384169450632a6aa5959390921691632c2cb9fd91602480820192602092909190829003018186803b15801561491b57600080fd5b505afa15801561492f573d6000803e3d6000fd5b505050506040513d602081101561494557600080fd5b50516040805160e060020a63ffffffff851602815260048101929092528051602480840193829003018186803b15801561497e57600080fd5b505afa158015614992573d6000803e3d6000fd5b505050506040513d60408110156149a857600080fd5b5051604080517fef693bed000000000000000000000000000000000000000000000000000000008152600160a060020a0387811660048301526024820186905291519293509083169163ef693bed9160448082019260009290919082900301818387803b158015614a1857600080fd5b505af1158015614a2c573d6000803e3d6000fd5b5050600a54600160a060020a03848116911614159150610e79905057600954604080516024808201869052825180830390910181526044909101909152602081018051600080516020616322833981519152167f2e1a7d4d00000000000000000000000000000000000000000000000000000000179052613f05918691600160a060020a039091169060009061383f565b600160a060020a03811673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee146136e257600e54604080517feeb97d3b000000000000000000000000000000000000000000000000000000008152600160a060020a0384811660048301529151600093929092169163eeb97d3b91602480820192608092909190829003018186803b158015614b4b57600080fd5b505afa158015614b5f573d6000803e3d6000fd5b505050506040513d6080811015614b7557600080fd5b50519050801515613bd257604080516000805160206162e1833981519152815260206004820152601b60248201527f4d56323a20756e737570706f7274656420636f6c6c61746572616c0000000000604482015290519081900360640190fd5b6000600160a060020a03841673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee1415614c0b57600954600160a060020a031693505b600e54604080517fad8731b0000000000000000000000000000000000000000000000000000000008152600160a060020a0387811660048301529151600093929092169163ad8731b091602480820192602092909190829003018186803b158015614c7557600080fd5b505afa158015614c89573d6000803e3d6000fd5b505050506040513d6020811015614c9f57600080fd5b5051600160a060020a038716600090815260116020908152604080832084845290915290205492509050811515614d9257600c54604080517f6090dec5000000000000000000000000000000000000000000000000000000008152600481018490523060248201529051600160a060020a0390921691636090dec5916044808201926020929091908290030181600087803b158015614d3d57600080fd5b505af1158015614d51573d6000803e3d6000fd5b505050506040513d6020811015614d6757600080fd5b5051600160a060020a0387166000908152601160209081526040808320858452909152902081905591505b614d9e86838684615b75565b6000831115613ab057613ab0868385878561515f565b600c54604080517f2c2cb9fd000000000000000000000000000000000000000000000000000000008152600481018590529051614e5192869286928692600160a060020a031691632c2cb9fd916024808301926020929190829003018186803b158015614e2057600080fd5b505afa158015614e34573d6000803e3d6000fd5b505050506040513d6020811015614e4a57600080fd5b5051615b75565b600c54600160a060020a03166345e6bdcd83614e6c84615b16565b60006040518463ffffffff1660e060020a028152600401808481526020018381526020018281526020019350505050600060405180830381600087803b15801561199857600080fd5b614ebf8282615e92565b600354600f54614edf918591600160a060020a0391821691859116613d89565b614eea838383615f0b565b600654600c54604080517f2c2cb9fd000000000000000000000000000000000000000000000000000000008152600481018690529051600093600160a060020a039081169363d9638d3693911691632c2cb9fd91602480820192602092909190829003018186803b158015614f5e57600080fd5b505afa158015614f72573d6000803e3d6000fd5b505050506040513d6020811015614f8857600080fd5b50516040805160e060020a63ffffffff851602815260048101929092525160248083019260a0929190829003018186803b158015614fc557600080fd5b505afa158015614fd9573d6000803e3d6000fd5b505050506040513d60a0811015614fef57600080fd5b5060200151600c54909150600160a060020a03166345e6bdcd84600061505061504b8661503f6b033b2e3c9fd0803ce80000006150338b600163ffffffff61612316565b9063ffffffff6137d116565b9063ffffffff61618816565b615b16565b6000036040518463ffffffff1660e060020a028152600401808481526020018381526020018281526020019350505050600060405180830381600087803b15801561509a57600080fd5b505af1158015614792573d6000803e3d6000fd5b600081600160a060020a031683600160a060020a0316638da5cb5b6040518163ffffffff1660e060020a02815260040160206040518083038186803b1580156150f657600080fd5b505afa15801561510a573d6000803e3d6000fd5b505050506040513d602081101561512057600080fd5b5051600160a060020a0316149392505050565b600081158061515057505080820282828281151561514d57fe5b04145b151561383957600080fd5b0190565b600654604080517fd9638d36000000000000000000000000000000000000000000000000000000008152600481018490529051600092600160a060020a03169163d9638d369160248083019260a0929190829003018186803b1580156151c457600080fd5b505afa1580156151d8573d6000803e3d6000fd5b505050506040513d60a08110156151ee57600080fd5b506020015190506000615213856b033b2e3c9fd0803ce800000063ffffffff6137d116565b600c54909150600160a060020a03166345e6bdcd8761523187615b16565b61524c615244868863ffffffff61618816565b600101615b16565b6040518463ffffffff1660e060020a028152600401808481526020018381526020018281526020019350505050600060405180830381600087803b15801561529357600080fd5b505af11580156152a7573d6000803e3d6000fd5b5050600c54604080517ff9f30db6000000000000000000000000000000000000000000000000000000008152600481018b9052306024820152604481018690529051600160a060020a03909216935063f9f30db6925060648082019260009290919082900301818387803b15801561531e57600080fd5b505af1158015615332573d6000803e3d6000fd5b5050600554604080517fef693bed000000000000000000000000000000000000000000000000000000008152600160a060020a038c81166004830152602482018b9052915191909216935063ef693bed9250604480830192600092919082900301818387803b1580156153a457600080fd5b505af11580156153b8573d6000803e3d6000fd5b5050505050505050505050565b600c54604080517f2c2cb9fd00000000000000000000000000000000000000000000000000000000815260048101849052905160009283928392600160a060020a0390921691632c2cb9fd91602480820192602092909190829003018186803b15801561543157600080fd5b505afa158015615445573d6000803e3d6000fd5b505050506040513d602081101561545b57600080fd5b5051600654600c54604080517f2726b073000000000000000000000000000000000000000000000000000000008152600481018990529051939450600093600160a060020a0393841693632424be5c938793911691632726b07391602480820192602092909190829003018186803b1580156154d657600080fd5b505afa1580156154ea573d6000803e3d6000fd5b505050506040513d602081101561550057600080fd5b50516040805160e060020a63ffffffff86160281526004810193909352600160a060020a0390911660248301528051604480840193829003018186803b15801561554957600080fd5b505afa15801561555d573d6000803e3d6000fd5b505050506040513d604081101561557357600080fd5b5060200151905060008111156156b957600654604080517fd9638d360000000000000000000000000000000000000000000000000000000081526004810185905290516000928392600160a060020a039091169163d9638d369160248082019260a092909190829003018186803b1580156155ed57600080fd5b505afa158015615601573d6000803e3d6000fd5b505050506040513d60a081101561561757600080fd5b50602081015160809091015190925090506156586b033b2e3c9fd0803ce800000061503f8361564c878763ffffffff6137d116565b9063ffffffff61612316565b94506156b46156838361503f6b033b2e3c9fd0803ce800000061503381838a8663ffffffff6137d116565b84036156a86001816b033b2e3c9fd0803ce800000061503f898963ffffffff6137d116565b9063ffffffff6161fc16565b955050505b5050915091565b600654600c54604080517f2c2cb9fd000000000000000000000000000000000000000000000000000000008152600481018590529051600093600160a060020a0390811693632424be5c93911691632c2cb9fd91602480820192602092909190829003018186803b15801561573457600080fd5b505afa158015615748573d6000803e3d6000fd5b505050506040513d602081101561575e57600080fd5b5051600c54604080517f2726b073000000000000000000000000000000000000000000000000000000008152600481018890529051600160a060020a0390921691632726b07391602480820192602092909190829003018186803b1580156157c557600080fd5b505afa1580156157d9573d6000803e3d6000fd5b505050506040513d60208110156157ef57600080fd5b50516040805160e060020a63ffffffff86160281526004810193909352600160a060020a0390911660248301528051604480840193829003018186803b15801561583857600080fd5b505afa15801561584c573d6000803e3d6000fd5b505050506040513d604081101561586257600080fd5b505192915050565b600160a060020a038216600090815260026020526040812054821161589157506000613839565b7001000000000000000000000000000000006fffffffffffffffffffffffffffffffff1983160443612710018111156158ce576000915050613839565b5050600160a060020a0391909116600090815260026020526040902055600190565b6041808202830160208101516040820151919092015160009260ff9190911691601b83148061592257508260ff16601c145b151561592d57600080fd5b604080516000815260208082018084528a905260ff8616828401526060820185905260808201849052915160019260a0808401939192601f1981019281900390910190855afa158015615984573d6000803e3d6000fd5b5050604051601f19015198975050505050505050565b600060608351600014806159b55750600160a060020a038316155b156159c55750600090508261182f565b6000809050606060018651036040519080825280602002602001820160405280156159fa578160200160208202803883390190505b5090506000805b8751811015615af657831515615aa1578781815181101515615a1f57fe5b90602001906020020151600160a060020a031687600160a060020a03161415615a4b5760019350615aee565b615a6b8882815181101515615a5c57fe5b9060200190602002015161625e565b8015615a935750615a938882815181101515615a8357fe5b906020019060200201518861626c565b15615aa15760019350615aee565b8251821015615aee578781815181101515615ab857fe5b906020019060200201518383815181101515615ad057fe5b600160a060020a039092166020928302909101909101526001909101905b600101615a01565b5082615b0457600087615b08565b6001825b945094505050509250929050565b80600081121561182557604080516000805160206162e1833981519152815260206004820152601160248201527f4d56323a20696e74206f766572666c6f77000000000000000000000000000000604482015290519081900360640190fd5b600e54604080517f2a6aa5950000000000000000000000000000000000000000000000000000000081526004810184905281516000938493600160a060020a0390911692632a6aa5959260248083019392829003018186803b158015615bda57600080fd5b505afa158015615bee573d6000803e3d6000fd5b505050506040513d6040811015615c0457600080fd5b508051602090910151600a549193509150600160a060020a0380841691161415615c8f57600954604080516004815260248101909152602081018051600080516020616322833981519152167fd0e30db000000000000000000000000000000000000000000000000000000000179052615c8d918891600160a060020a0390911690879061383f565b505b604080513060248201526044808201879052825180830390910181526064909101909152602081018051600080516020616322833981519152167fa9059cbb00000000000000000000000000000000000000000000000000000000179052615cfd908790839060009061383f565b5080600160a060020a031663095ea7b383866040518363ffffffff1660e060020a0281526004018083600160a060020a0316600160a060020a0316815260200182815260200192505050602060405180830381600087803b158015615d6157600080fd5b505af1158015615d75573d6000803e3d6000fd5b505050506040513d6020811015615d8b57600080fd5b5050600c54604080517f2726b073000000000000000000000000000000000000000000000000000000008152600481018890529051600160a060020a0380861693633b4da69f93911691632726b07391602480820192602092909190829003018186803b158015615dfb57600080fd5b505afa158015615e0f573d6000803e3d6000fd5b505050506040513d6020811015615e2557600080fd5b50516040805160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820188905251604480830192600092919082900301818387803b158015615e7257600080fd5b505af1158015615e86573d6000803e3d6000fd5b50505050505050505050565b600080615e9e846153c5565b915091508083111580615eb057508183145b1515610e7957604080516000805160206162e1833981519152815260206004820152601760248201527f4d56323a207265706179206c657373206f722066756c6c000000000000000000604482015290519081900360640190fd5b600354604080513060248201526044808201859052825180830390910181526064909101909152602081018051600080516020616322833981519152167fa9059cbb00000000000000000000000000000000000000000000000000000000179052615f86918591600160a060020a039091169060009061383f565b50600354600554604080517f095ea7b3000000000000000000000000000000000000000000000000000000008152600160a060020a039283166004820152602481018590529051919092169163095ea7b39160448083019260209291908290030181600087803b158015615ff957600080fd5b505af115801561600d573d6000803e3d6000fd5b505050506040513d602081101561602357600080fd5b5050600554600c54604080517f2726b073000000000000000000000000000000000000000000000000000000008152600481018690529051600160a060020a0393841693633b4da69f931691632726b073916024808301926020929190829003018186803b15801561609457600080fd5b505afa1580156160a8573d6000803e3d6000fd5b505050506040513d60208110156160be57600080fd5b50516160d184600163ffffffff61612316565b6040518363ffffffff1660e060020a0281526004018083600160a060020a0316600160a060020a0316815260200182815260200192505050600060405180830381600087803b15801561199857600080fd5b60008282111561618257604080516000805160206162e1833981519152815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b60008082116161e657604080516000805160206162e1833981519152815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b600082848115156161f357fe5b04949350505050565b60008282018381101561383657604080516000805160206162e1833981519152815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6000903b63ffffffff161190565b604080517f6f776e657228290000000000000000000000000000000000000000000000000081529051908190036007018120808252600091829190602081818189611388fa60018114156162bf57815193505b505083600160a060020a031682600160a060020a031614925050509291505056fe08c379a000000000000000000000000000000000000000000000000000000000536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7700000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffa165627a7a72305820bd5fbc1145776d056b395258e3286f5b5f442116df0fee164c033a1cd5e0a89a0029",
"sourceMap": "201:3154:55:-;;;2930:31:36;;;-1:-1:-1;;2930:31:36;2957:4;2930:31;;;313:606:55;5:2:-1;;;;30:1;27;20:12;5:2;313:606:55;;;;;;;;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;-1:-1;313:606:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1756:8:27;:20;;-1:-1:-1;;;;;1756:20:27;;;-1:-1:-1;;;;;;1756:20:27;;;;;;;;1786:34;;;;;;;;;;;;;;;1835:20;;1824:4:34;1835:20:27;;;;;313:606:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1835:20:27;;;;;;;;;;;-1:-1:-1;;1859:15:34;:43;;-1:-1:-1;;;;;;1859:43:34;-1:-1:-1;;;;;1859:43:34;;;;;;;1922:26;;;;;;;;1859:43;;-1:-1:-1;1922:24:34;;:26;;;;;;;;;;;;;;1859:43;1922:26;;;5:2:-1;;;;30:1;27;20:12;5:2;1922:26:34;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1922:26:34;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1922:26:34;1912:7;:36;;-1:-1:-1;;;;;;1912:36:34;-1:-1:-1;;;;;1912:36:34;;;;;;;;1969:13;;;;;;;;:7;;;;;:11;;:13;;;;;1922:26;;1969:13;;;;;;;:7;:13;;;5:2:-1;;;;30:1;27;20:12;5:2;1969:13:34;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1969:13:34;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1969:13:34;1958:8;:24;;-1:-1:-1;;;;;;1958:24:34;-1:-1:-1;;;;;1958:24:34;;;;;;1998:7;;:13;;;;;;;;:7;;;;;:11;;:13;;;;;1969;;1998;;;;;;;:7;:13;;;5:2:-1;;;;30:1;27;20:12;5:2;1998:13:34;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1998:13:34;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1998:13:34;1992:3;:19;;-1:-1:-1;;;;;;1992:19:34;;;-1:-1:-1;;;;;1992:19:34;;;;;;;1559:3:35;:10;;;;;;;;;;;;;;;-1:-1:-1;;4848:15:36;;;4828:49;;;;;;;;4848:15;;;;;4828:47;;-1:-1:-1;4828:49:36;;;;1998:13:34;;4828:49:36;;;;;;4848:15;4828:49;;;5:2:-1;;;;30:1;27;20:12;5:2;4828:49:36;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4828:49:36;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;4828:49:36;4815:10;:62;;-1:-1:-1;;;;;;4815:62:36;-1:-1:-1;;;;;4815:62:36;;;;;;4913:15;;;4893:42;;;;;;;;4913:15;;;;;4893:40;;:42;;;;4828:49;;4893:42;;;;;;;;4913:15;4893:42;;;5:2:-1;;;;30:1;27;20:12;5:2;4893:42:36;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4893:42:36;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;4893:42:36;4887:3;:48;;-1:-1:-1;;;;;;4887:48:36;-1:-1:-1;;;;;4887:48:36;;;;;;4976:15;;;4956:47;;;;;;;;4976:15;;;;;4956:45;;:47;;;;4893:42;;4956:47;;;;;;;;4976:15;4956:47;;;5:2:-1;;;;30:1;27;20:12;5:2;4956:47:36;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4956:47:36;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;4956:47:36;4945:8;:58;;-1:-1:-1;;;;;;4945:58:36;-1:-1:-1;;;;;4945:58:36;;;;;;;;5025:14;;;;;;;;:8;;;;;:12;;:14;;;;;4956:47;;5025:14;;;;;;;:8;:14;;;5:2:-1;;;;30:1;27;20:12;5:2;5025:14:36;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5025:14:36;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;5025:14:36;5013:9;:26;;-1:-1:-1;;;;;;5013:26:36;-1:-1:-1;;;;;5013:26:36;;;;;;5060:3;;:9;;;;;;;;:3;;;;;:7;;:9;;;;;5025:14;;5060:9;;;;;;;:3;:9;;;5:2:-1;;;;30:1;27;20:12;5:2;5060:9:36;;;;8::-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5060:9:36;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;5060:9:36;5049:8;:20;;-1:-1:-1;;;;;;5049:20:36;;;-1:-1:-1;;;;;5049:20:36;;;;;;;5079:3;:10;;;;;;;;;;5099:13;:30;;;;;;;;;;;5188:8;;5152:46;;;;;;5188:8;;;5152:46;;;;;:27;;;;;;:46;;;;;5060:9;;5152:46;;;;;;;;:27;:46;;;5:2:-1;;;;30:1;27;20:12;5:2;5152:46:36;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5152:46:36;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;5152:46:36;5139:10;:59;;-1:-1:-1;;;;;;5139:59:36;-1:-1:-1;;;;;5139:59:36;;;;;;5257:8;;5221:46;;;;;;5257:8;;;5221:46;;;;;:27;;;;;;:46;;;;;5152;;5221;;;;;;;;:27;:46;;;5:2:-1;;;;30:1;27;20:12;5:2;5221:46:36;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5221:46:36;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;5221:46:36;5208:10;:59;;-1:-1:-1;;;;;;5208:59:36;-1:-1:-1;;;;;5208:59:36;;;;;;5364:3;;5381:7;;5364:26;;;;;;5381:7;;;5364:26;;;;;:3;;;;;:8;;:26;;;;;-1:-1:-1;;5364:26:36;;;;;;;-1:-1:-1;5364:3:36;:26;;;5:2:-1;;;;30:1;27;20:12;5:2;5364:26:36;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;;864:22:55;:48;;-1:-1:-1;;;;;864:48:55;;;;;-1:-1:-1;;;;;;864:48:55;;;;;;;;;;-1:-1:-1;;;;;;;;;;;;;;;;;;;201:3154:55;;;;;;",
"deployedSourceMap": "201:3154:55:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;201:3154:55;;;;;;;;-1:-1:-1;;;201:3154:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3258:1268:35;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;3258:1268:35;;;;;;;;:::i;:::-;;1898:481:55;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1898:481:55;-1:-1:-1;;;;;1898:481:55;;:::i;925:480::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;925:480:55;-1:-1:-1;;;;;925:480:55;;:::i;2385:481::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2385:481:55;-1:-1:-1;;;;;2385:481:55;;:::i;4676:974:35:-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;4676:974:35;-1:-1:-1;;;;;4676:974:35;;:::i;4456:131:33:-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;4456:131:33;-1:-1:-1;;;;;4456:131:33;;:::i;:::-;;;;;;;;;;;;;;;;2414:181:32;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;2414:181:32;;;;;;;;;;;;;;;21:11:-1;5:28;;2:2;;;46:1;43;36:12;2:2;2414:181:32;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;2414:181:32;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;2414:181:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;2414:181:32;;-1:-1:-1;2414:181:32;;-1:-1:-1;;;;;2414:181:32:i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1821:249;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;1821:249:32;;;;;;;;;;:::i;11684:1369:36:-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;11684:1369:36;;;;;;;;:::i;13242:308::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;13242:308:36;;;;;;;;:::i;2872:481:55:-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2872:481:55;-1:-1:-1;;;;;2872:481:55;;:::i;2827:62:36:-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;2827:62:36;;;;;;;;:::i;8467:404::-;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;-1:-1;;;;;;8467:404:36;;;;;;;;;;;;;;;;;;;;:::i;1829:1248:35:-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;1829:1248:35;;;;;;;;:::i;3622:173:27:-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3622:173:27;-1:-1:-1;;;;;3622:173:27;;:::i;9895:361:36:-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;9895:361:36;;;;;;;;:::i;2758:1589:33:-;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;-1:-1;;;;;2758:1589:33;;;;;;;;;;;;;;;21:11:-1;5:28;;2:2;;;46:1;43;36:12;2:2;2758:1589:33;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;2758:1589:33;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;2758:1589:33;;;;;;;;;;;;;;21:11:-1;5:28;;2:2;;;46:1;43;36:12;2:2;2758:1589:33;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;2758:1589:33;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;2758:1589:33;;-1:-1:-1;2758:1589:33;-1:-1:-1;2758:1589:33;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;7671:450:36;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;-1:-1;;;;;;7671:450:36;;;;;;;;;;;;;;;;;;;;:::i;5810:151:35:-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;5810:151:35;-1:-1:-1;;;;;5810:151:35;;:::i;6001:628:36:-;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;-1:-1;;;;;;6001:628:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;6925:442::-;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;-1:-1;;;;;;6925:442:36;;;;;;;;;;;;;;;;;;;;:::i;1178:49:33:-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1178:49:33;-1:-1:-1;;;;;1178:49:33;;:::i;1376:155:32:-;;;:::i;:::-;;;;;;;;;;;;;;;;;;;9215:458:36;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;-1:-1;;;;;;9215:458:36;;;;;;;;;;;;;;;;;;;;:::i;1411:481:55:-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1411:481:55;-1:-1:-1;;;;;1411:481:55;;:::i;10624:810:36:-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;10624:810:36;;;;;;;;:::i;3258:1268:35:-;3375:7;2367:26:27;2385:7;2367:17;:26::i;:::-;3409:7:35;1520:23:27;1535:7;1520:14;:23::i;:::-;3507:3:35;;;;;;;;;-1:-1:-1;;;;;3507:3:35;-1:-1:-1;;;;;3507:8:35;;:10;;;;;-1:-1:-1;;;3507:10:35;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3507:10:35;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3507:10:35;;;;3607:11;3640:3;;;;;;;;;-1:-1:-1;;;;;3640:3:35;-1:-1:-1;;;;;3640:7:35;;:9;;;;;-1:-1:-1;;;3640:9:35;;;;;;;;;;;;;;;;8::-1;5:2;;;30:1;27;20:12;5:2;3640:9:35;;;;8::-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3640:9:35;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3640:9:35;3621:16;:7;1526:8:34;3621:16:35;:11;:16;:::i;:::-;:28;;;;;;;3731:3;;3740:45;;;3621:28;;;;3740:45;;;;;;;;;26:21:-1;;;22:32;;;6:49;;3740:45:35;;;;;;;;25:18:-1;;61:17;;-1:-1;;;;;;;;;;;182:15;3740:45:35;179:29:-1;160:49;;3621:28:35;;-1:-1:-1;3692:94:35;;3713:7;;-1:-1:-1;;;;;3731:3:35;;;;3692:12;:94::i;:::-;-1:-1:-1;3900:7:35;;3868:41;;3883:7;;-1:-1:-1;;;;;3900:7:35;3868:14;:41::i;:::-;4003:3;;:25;;;;;;-1:-1:-1;;;;;4003:25:35;;;;;;;;;3992:8;;4003:3;;;;;:7;;:25;;;;;;;;;;;;;;;:3;:25;;;5:2:-1;;;;30:1;27;20:12;5:2;4003:25:35;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4003:25:35;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;4003:25:35;;-1:-1:-1;4208:17:35;4235:16;:7;1526:8:34;4235:16:35;:11;:16;:::i;:::-;4228:3;:23;;:45;;1526:8:34;4264:3:35;:9;4228:45;;;4254:7;4228:45;4322:7;;4335:77;;;-1:-1:-1;;;;;4335:77:35;;;;;;;;;;;;;;;;26:21:-1;;;22:32;;;6:49;;4335:77:35;;;;;;;;25:18:-1;;61:17;;-1:-1;;;;;;;;;;;182:15;4335:77:35;179:29:-1;160:49;;4208:65:35;;-1:-1:-1;4283:130:35;;4304:7;;4322;;;;;;;4283:12;:130::i;:::-;-1:-1:-1;4498:8:35;;4454:65;;;-1:-1:-1;;;;;4498:8:35;;;4454:65;;;;;;;;;;;;;;;;;;;;;;;;;1553:1:27;;;2403;3258:1268:35;;;:::o;1898:481:55:-;1951:7;2013:10:27;-1:-1:-1;;;;;2013:30:27;;;2005:68;;;;;-1:-1:-1;;;;;;;;;;;2005:68:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;1996:13:55;;:35;;;;;;;;1970:23;;-1:-1:-1;;;;;1996:13:55;;:33;;:35;;;;;:13;;:35;;;;;;;:13;:35;;;5:2:-1;;;;30:1;27;20:12;5:2;1996:35:55;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1996:35:55;;;;;;39:16:-1;36:1;17:17;2:54;101:4;1996:35:55;80:15:-1;;;-1:-1;;76:31;65:43;;120:4;113:20;13:2;5:11;;2:2;;;29:1;26;19:12;2:2;1996:35:55;;;;;;19:11:-1;14:3;11:20;8:2;;;44:1;41;34:12;8:2;62:21;;123:4;114:14;;138:31;;;135:2;;;182:1;179;172:12;135:2;219:3;213:10;331:9;325:2;311:12;307:21;289:16;285:44;282:59;261:11;247:12;244:29;233:116;230:2;;;362:1;359;352:12;230:2;-1:-1;1996:35:55;;-1:-1:-1;2046:9:55;;-1:-1:-1;;;;2041:332:55;2065:6;:13;2061:1;:17;2041:332;;;2116:22;;2165:13;;2186:9;;2099:14;;2116:22;;;-1:-1:-1;;;;;2116:22:55;;;;:30;;2155:7;;2165:13;;;;:20;;2186:9;;2193:1;;2186:9;;;;;;;;;;;;;;2165:31;;;;;-1:-1:-1;;;2165:31:55;;;;;;;-1:-1:-1;;;;;2165:31:55;-1:-1:-1;;;;;2165:31:55;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2165:31:55;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2165:31:55;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2165:31:55;2116:81;;;-1:-1:-1;;;2116:81:55;;;;;;-1:-1:-1;;;;;2116:81:55;;;;;;;;;;;;;;;;;;;;2165:31;;2116:81;;;;;;;;;;;5:2:-1;;;;30:1;27;20:12;5:2;2116:81:55;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2116:81:55;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2116:81:55;;-1:-1:-1;2215:11:55;;2211:152;;2246:22;;:49;;;;;;-1:-1:-1;;;;;2246:49:55;;;;;;;;;;;;;;;:22;;;;;;;;:32;;:49;;;;;-1:-1:-1;;2246:49:55;;;;;;;;-1:-1:-1;2246:22:55;:49;;;5:2:-1;;;;30:1;27;20:12;5:2;2246:49:55;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2246:49:55;;;;2313:35;2332:7;2341:6;2313:18;:35::i;:::-;;2211:152;-1:-1:-1;2080:3:55;;2041:332;;;;2083:1:27;1898:481:55;;:::o;925:480::-;977:7;2013:10:27;-1:-1:-1;;;;;2013:30:27;;;2005:68;;;;;-1:-1:-1;;;;;;;;;;;2005:68:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;1022:13:55;;:35;;;;;;;;996:23;;-1:-1:-1;;;;;1022:13:55;;:33;;:35;;;;;:13;;:35;;;;;;;:13;:35;;;5:2:-1;;;;30:1;27;20:12;5:2;1022:35:55;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1022:35:55;;;;;;39:16:-1;36:1;17:17;2:54;101:4;1022:35:55;80:15:-1;;;-1:-1;;76:31;65:43;;120:4;113:20;13:2;5:11;;2:2;;;29:1;26;19:12;2:2;1022:35:55;;;;;;19:11:-1;14:3;11:20;8:2;;;44:1;41;34:12;8:2;62:21;;123:4;114:14;;138:31;;;135:2;;;182:1;179;172:12;135:2;219:3;213:10;331:9;325:2;311:12;307:21;289:16;285:44;282:59;261:11;247:12;244:29;233:116;230:2;;;362:1;359;352:12;230:2;-1:-1;1022:35:55;;-1:-1:-1;1072:9:55;;-1:-1:-1;;;;1067:332:55;1091:6;:13;1087:1;:17;1067:332;;;1142:22;;1191:13;;1212:9;;1125:14;;1142:22;;;-1:-1:-1;;;;;1142:22:55;;;;:30;;1181:7;;1191:13;;;;:20;;1212:9;;1219:1;;1212:9;;;;;;;;;;;;;;1191:31;;;;;-1:-1:-1;;;1191:31:55;;;;;;;-1:-1:-1;;;;;1191:31:55;-1:-1:-1;;;;;1191:31:55;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1191:31:55;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1191:31:55;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1191:31:55;1142:81;;;-1:-1:-1;;;1142:81:55;;;;;;-1:-1:-1;;;;;1142:81:55;;;;;;;;;;;;;;;;;;;;1191:31;;1142:81;;;;;;;;;;;5:2:-1;;;;30:1;27;20:12;5:2;1142:81:55;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1142:81:55;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1142:81:55;;-1:-1:-1;1241:11:55;;1237:152;;1272:22;;:49;;;;;;-1:-1:-1;;;;;1272:49:55;;;;;;;;;;;;;;;:22;;;;;;;;:32;;:49;;;;;-1:-1:-1;;1272:49:55;;;;;;;;-1:-1:-1;1272:22:55;:49;;;5:2:-1;;;;30:1;27;20:12;5:2;1272:49:55;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1272:49:55;;;;1339:35;1358:7;1367:6;1339:18;:35::i;:::-;;1237:152;-1:-1:-1;1106:3:55;;1067:332;;2385:481;2438:7;2013:10:27;-1:-1:-1;;;;;2013:30:27;;;2005:68;;;;;-1:-1:-1;;;;;;;;;;;2005:68:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;2483:13:55;;:35;;;;;;;;2457:23;;-1:-1:-1;;;;;2483:13:55;;:33;;:35;;;;;:13;;:35;;;;;;;:13;:35;;;5:2:-1;;;;30:1;27;20:12;5:2;2483:35:55;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2483:35:55;;;;;;39:16:-1;36:1;17:17;2:54;101:4;2483:35:55;80:15:-1;;;-1:-1;;76:31;65:43;;120:4;113:20;13:2;5:11;;2:2;;;29:1;26;19:12;2:2;2483:35:55;;;;;;19:11:-1;14:3;11:20;8:2;;;44:1;41;34:12;8:2;62:21;;123:4;114:14;;138:31;;;135:2;;;182:1;179;172:12;135:2;219:3;213:10;331:9;325:2;311:12;307:21;289:16;285:44;282:59;261:11;247:12;244:29;233:116;230:2;;;362:1;359;352:12;230:2;-1:-1;2483:35:55;;-1:-1:-1;2533:9:55;;-1:-1:-1;;;;2528:332:55;2552:6;:13;2548:1;:17;2528:332;;;2603:22;;2652:13;;2673:9;;2586:14;;2603:22;;;-1:-1:-1;;;;;2603:22:55;;;;:30;;2642:7;;2652:13;;;;:20;;2673:9;;2680:1;;2673:9;;;;;;;;;;;;;;2652:31;;;;;-1:-1:-1;;;2652:31:55;;;;;;;-1:-1:-1;;;;;2652:31:55;-1:-1:-1;;;;;2652:31:55;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2652:31:55;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2652:31:55;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2652:31:55;2603:81;;;-1:-1:-1;;;2603:81:55;;;;;;-1:-1:-1;;;;;2603:81:55;;;;;;;;;;;;;;;;;;;;2652:31;;2603:81;;;;;;;;;;;5:2:-1;;;;30:1;27;20:12;5:2;2603:81:55;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2603:81:55;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2603:81:55;;-1:-1:-1;2702:11:55;;2698:152;;2733:22;;:49;;;;;;-1:-1:-1;;;;;2733:49:55;;;;;;;;;;;;;;;:22;;;;;;;;:32;;:49;;;;;-1:-1:-1;;2733:49:55;;;;;;;;-1:-1:-1;2733:22:55;:49;;;5:2:-1;;;;30:1;27;20:12;5:2;2733:49:55;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2733:49:55;;;;2800:35;2819:7;2828:6;2800:18;:35::i;:::-;;2698:152;-1:-1:-1;2567:3:55;;2528:332;;4676:974:35;4771:7;2367:26:27;2385:7;2367:17;:26::i;:::-;4805:7:35;1520:23:27;1535:7;1520:14;:23::i;:::-;4903:3:35;;;;;;;;;-1:-1:-1;;;;;4903:3:35;-1:-1:-1;;;;;4903:8:35;;:10;;;;;-1:-1:-1;;;4903:10:35;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4903:10:35;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;;4992:3:35;;:25;;;;;;-1:-1:-1;;;;;4992:25:35;;;;;;;;;4978:11;;-1:-1:-1;4992:3:35;;;;;-1:-1:-1;4992:7:35;;:25;;;;;;;;;;;;;;;:3;:25;;;5:2:-1;;;;30:1;27;20:12;5:2;4992:25:35;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4992:25:35;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;4992:25:35;5099:3;;5108:45;;;;;;;;;;;;26:21:-1;;;22:32;;;6:49;;5108:45:35;;;;;;;4992:25;25:18:-1;;61:17;;-1:-1;;;;;;;;;;;182:15;5108:45:35;179:29:-1;160:49;;4992:25:35;;-1:-1:-1;5060:94:35;;5081:7;;-1:-1:-1;;;;;5099:3:35;;;;5060:12;:94::i;:::-;-1:-1:-1;5268:7:35;;5236:41;;5251:7;;-1:-1:-1;;;;;5268:7:35;5236:14;:41::i;:::-;5353:17;1526:8:34;5373:18:35;5387:3;5373;;;;;;;;;-1:-1:-1;;;;;5373:3:35;-1:-1:-1;;;;;5373:7:35;;:9;;;;;-1:-1:-1;;;5373:9:35;;;;;;;;;;;;;;;;8::-1;5:2;;;30:1;27;20:12;5:2;5373:9:35;;;;8::-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5373:9:35;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;5373:9:35;;:18;:13;:18;:::i;:::-;:24;;;;;;;5446:7;;5459:77;;;-1:-1:-1;;;;;5459:77:35;;;;;;;5373:24;;;;5459:77;;;;;;;;;26:21:-1;;;22:32;;;6:49;;5459:77:35;;;;;;;;25:18:-1;;61:17;;-1:-1;;;;;;;;;;;182:15;5459:77:35;179:29:-1;160:49;;5373:24:35;-1:-1:-1;5407:130:35;;5428:7;;5446;;;;;5407:12;:130::i;:::-;-1:-1:-1;5622:8:35;;5578:65;;;-1:-1:-1;;;;;5622:8:35;;;5578:65;;;;;;;;;;;;;;;;;;;;;;;;;1553:1:27;;2403;4676:974:35;;:::o;4456:131:33:-;-1:-1:-1;;;;;4549:25:33;;4517:13;4549:25;;;:7;:25;;;;;:31;4456:131;;;;:::o;2414:181:32:-;2561:1;2518:7;2414:181;;;;;;:::o;1821:249::-;1901:7;2367:26:27;2385:7;2367:17;:26::i;:::-;1928:8:32;;:45;;;;;;-1:-1:-1;;;;;1928:45:32;;;;;;;;;:8;;;;;:27;;:45;;;;;;;;;;;;;;:8;:45;;;5:2:-1;;;;30:1;27;20:12;5:2;1928:45:32;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1928:45:32;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1928:45:32;1920:86;;;;;;;-1:-1:-1;;;;;;;;;;;1920:86:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;2016:47;;;;;;-1:-1:-1;;;;;2016:47:32;;;;;;;2058:4;2016:47;;;;;;:23;;;;;;:47;;;;;-1:-1:-1;;2016:47:32;;;;;;;;-1:-1:-1;2016:23:32;:47;;;5:2:-1;;;;30:1;27;20:12;5:2;2016:47:32;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2016:47:32;;;;1821:249;;;:::o;11684:1369:36:-;11861:15;11801:7;2367:26:27;2385:7;2367:17;:26::i;:::-;11835:7:36;1520:23:27;1535:7;1520:14;:23::i;:::-;11893:14:36;11909:7;11920:3;;;;;;;;;-1:-1:-1;;;;;11920:3:36;-1:-1:-1;;;;;11920:7:36;;:9;;;;;-1:-1:-1;;;11920:9:36;;;;;;;;;;;;;;;;8::-1;5:2;;;30:1;27;20:12;5:2;11920:9:36;;;;8::-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;11920:9:36;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;11920:9:36;:16;;;;;;;;-1:-1:-1;;;;;11920:14:36;;;;;;:16;;;;;;;;;;;;;;:14;:16;;;5:2:-1;;;;30:1;27;20:12;5:2;11920:16:36;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;11920:16:36;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;11920:16:36;;;;;;;;;-1:-1:-1;11920:16:36;-1:-1:-1;11920:16:36;11950:20;;;;-1:-1:-1;11956:14:36;;;11950:20;11946:477;;;12046:3;;:13;;;;;;;;;;;;;;12027:11;;12041:30;;-1:-1:-1;;;;;12046:3:36;;;;:7;;:13;;;;;;;;;;;;;;;12027:11;12046:3;:13;;;5:2:-1;;;;30:1;27;20:12;5:2;12046:13:36;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;12046:13:36;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;12046:13:36;12061:9;12041:4;:30::i;:::-;12171:8;;12189:10;;12027:44;;-1:-1:-1;12152:48:36;;12162:7;;-1:-1:-1;;;;;12171:8:36;;;;12027:44;;12189:10;12152:9;:48::i;:::-;12311:8;;12386:15;;12325:86;;;-1:-1:-1;;;;;12386:15:36;;;12325:86;;;;;;;;;;;;;26:21:-1;;;22:32;;;6:49;;12325:86:36;;;;;;;;25:18:-1;;61:17;;-1:-1;;;;;;;;;;;182:15;12325:86:36;179:29:-1;160:49;;12272:140:36;;12293:7;;12311:8;;;;12272:12;:140::i;:::-;;11946:477;;12542:3;;12614:15;;12551:80;;;;;;;;;-1:-1:-1;;;;;12614:15:36;;;12551:80;;;;;;;;;;26:21:-1;;;22:32;;;6:49;;12551:80:36;;;;;;;;25:18:-1;;61:17;;-1:-1;;;;;;;;;;;182:15;12551:80:36;179:29:-1;160:49;;12503:129:36;;12524:7;;12542:3;;;;12503:12;:129::i;:::-;-1:-1:-1;12679:3:36;;12688:8;;:14;;;;;;;;-1:-1:-1;;;;;12679:3:36;;;;:8;;12688;;:12;;:14;;;;;;;;;;;;;;:8;:14;;;5:2:-1;;;;30:1;27;20:12;5:2;12688:14:36;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;12688:14:36;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;12688:14:36;12679:24;;;-1:-1:-1;;;12679:24:36;;;;;;;;;;;;;;;;;;;-1:-1:-1;;12679:24:36;;;;;;;-1:-1:-1;12679:24:36;;;;5:2:-1;;;;30:1;27;20:12;5:2;12679:24:36;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;;12788:15:36;;;12768:50;;;;;;;;;;;;;-1:-1:-1;;;;;12788:15:36;;;;-1:-1:-1;12768:44:36;;-1:-1:-1;12768:50:36;;;;;;;;;;;;;;12788:15;;12768:50;;;5:2:-1;;;;30:1;27;20:12;5:2;12768:50:36;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;12768:50:36;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;12768:50:36;;-1:-1:-1;12950:36:36;12969:7;12768:50;12950:18;:36::i;:::-;12940:46;;13022:7;-1:-1:-1;;;;;13002:44:36;;13032:4;13038:7;13002:44;;;;;;;;;;;;;;;;;;;;;;;;1553:1:27;;2403;11684:1369:36;;;;;:::o;13242:308::-;4311:30;;;;;;4330:10;4311:30;;;;;;13356:7;;-1:-1:-1;;;;;4311:18:36;;;;;:30;;;;;;;;;;;;;;;:18;:30;;;5:2:-1;;;;30:1;27;20:12;5:2;4311:30:36;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4311:30:36;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;4311:30:36;4303:67;;;;;;;-1:-1:-1;;;;;;;;;;;4303:67:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;13390:7;1520:23:27;1535:7;1520:14;:23::i;:::-;13413:33:36;13429:7;13438;13413:15;:33::i;:::-;13456:10;;:45;;;;;;;;;;;;13490:10;13456:45;;;;;;-1:-1:-1;;;;;13456:10:36;;;;:15;;:45;;;;;:10;;:45;;;;;;;;:10;;:45;;;5:2:-1;;;;30:1;27;20:12;5:2;13456:45:36;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;13456:45:36;;;;13511:32;13526:7;13535;13511:14;:32::i;2872:481:55:-;2925:7;2013:10:27;-1:-1:-1;;;;;2013:30:27;;;2005:68;;;;;-1:-1:-1;;;;;;;;;;;2005:68:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;2970:13:55;;:35;;;;;;;;2944:23;;-1:-1:-1;;;;;2970:13:55;;:33;;:35;;;;;:13;;:35;;;;;;;:13;:35;;;5:2:-1;;;;30:1;27;20:12;5:2;2970:35:55;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2970:35:55;;;;;;39:16:-1;36:1;17:17;2:54;101:4;2970:35:55;80:15:-1;;;-1:-1;;76:31;65:43;;120:4;113:20;13:2;5:11;;2:2;;;29:1;26;19:12;2:2;2970:35:55;;;;;;19:11:-1;14:3;11:20;8:2;;;44:1;41;34:12;8:2;62:21;;123:4;114:14;;138:31;;;135:2;;;182:1;179;172:12;135:2;219:3;213:10;331:9;325:2;311:12;307:21;289:16;285:44;282:59;261:11;247:12;244:29;233:116;230:2;;;362:1;359;352:12;230:2;-1:-1;2970:35:55;;-1:-1:-1;3020:9:55;;-1:-1:-1;;;;3015:332:55;3039:6;:13;3035:1;:17;3015:332;;;3090:22;;3139:13;;3160:9;;3073:14;;3090:22;;;-1:-1:-1;;;;;3090:22:55;;;;:30;;3129:7;;3139:13;;;;:20;;3160:9;;3167:1;;3160:9;;;;;;;;;;;;;;3139:31;;;;;-1:-1:-1;;;3139:31:55;;;;;;;-1:-1:-1;;;;;3139:31:55;-1:-1:-1;;;;;3139:31:55;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3139:31:55;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3139:31:55;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3139:31:55;3090:81;;;-1:-1:-1;;;3090:81:55;;;;;;-1:-1:-1;;;;;3090:81:55;;;;;;;;;;;;;;;;;;;;3139:31;;3090:81;;;;;;;;;;;5:2:-1;;;;30:1;27;20:12;5:2;3090:81:55;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3090:81:55;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3090:81:55;;-1:-1:-1;3189:11:55;;3185:152;;3220:22;;:49;;;;;;-1:-1:-1;;;;;3220:49:55;;;;;;;;;;;;;;;:22;;;;;;;;:32;;:49;;;;;-1:-1:-1;;3220:49:55;;;;;;;;-1:-1:-1;3220:22:55;:49;;;5:2:-1;;;;30:1;27;20:12;5:2;3220:49:55;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3220:49:55;;;;3287:35;3306:7;3315:6;3287:18;:35::i;:::-;;3185:152;-1:-1:-1;3054:3:55;;3015:332;;2827:62:36;;;;;;;;;;;;;;;;;;;;;;;;:::o;8467:404::-;8641:7;2367:26:27;2385:7;2367:17;:26::i;:::-;8675:7:36;1520:23:27;1535:7;1520:14;:23::i;:::-;8698:33:36;8714:7;8723;8698:15;:33::i;:::-;8741:47;8749:7;8766;8776:11;8741:7;:47::i;:::-;8803:61;;;-1:-1:-1;;;;;8803:61:36;;;;;;;;;;;;;8831:7;;8803:61;;;;;;;;;;;;;2403:1:27;8467:404:36;;;;;:::o;1829:1248:35:-;1946:7;2367:26:27;2385:7;2367:17;:26::i;:::-;1980:7:35;1520:23:27;1535:7;1520:14;:23::i;:::-;2095:3:35;;;;;;;;;-1:-1:-1;;;;;2095:3:35;-1:-1:-1;;;;;2095:8:35;;:10;;;;;-1:-1:-1;;;2095:10:35;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2095:10:35;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;;2208:8:35;;2282:7;;2222:78;;;-1:-1:-1;;;;;2282:7:35;;;2222:78;;;;;;;;;;;;;26:21:-1;;;22:32;;;6:49;;2222:78:35;;;;;;;;25:18:-1;;61:17;;-1:-1;;;;;;;;;;;182:15;2222:78:35;179:29:-1;160:49;;2169:132:35;;-1:-1:-1;2190:7:35;;-1:-1:-1;2208:8:35;;;;;2169:12;:132::i;:::-;-1:-1:-1;2497:7:35;;2510:75;;;-1:-1:-1;;;;;2510:75:35;;;;;;;;;;;;;;;;26:21:-1;;;22:32;;;6:49;;2510:75:35;;;;;;;;25:18:-1;;61:17;;-1:-1;;;;;;;;;;;182:15;2510:75:35;179:29:-1;160:49;;2458:128:35;;2479:7;;2497;;;;2458:12;:128::i;:::-;-1:-1:-1;2719:3:35;;2687:37;;2702:7;;-1:-1:-1;;;;;2719:3:35;2687:14;:37::i;:::-;2811:3;;:9;;;;;;;;2778:11;;-1:-1:-1;;;;;2811:3:35;;:7;;:9;;;;;;;;;;;;;;:3;:9;;;5:2:-1;;;;30:1;27;20:12;5:2;2811:9:35;;;;8::-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2811:9:35;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2811:9:35;2792:16;:7;1526:8:34;2792:16:35;:11;:16;:::i;:::-;:28;;;;;;;2910:3;;2919:45;;;2792:28;;;;2919:45;;;;;;;;;26:21:-1;;;22:32;;;6:49;;2919:45:35;;;;;;;;25:18:-1;;61:17;;-1:-1;;;;;;;;;;;182:15;2919:45:35;179:29:-1;160:49;;2792:28:35;;-1:-1:-1;2871:94:35;;2892:7;;-1:-1:-1;;;;;2910:3:35;;;;2871:12;:94::i;:::-;-1:-1:-1;3048:8:35;;3006:64;;;-1:-1:-1;;;;;3048:8:35;;;3006:64;;;;;;;;3048:8;3006:64;;;;;;;;;;;;;;;;;;;1553:1:27;2403;1829:1248:35;;;:::o;3622:173:27:-;3692:38;;;;;;3724:4;3692:38;;;;;;3679:10;;-1:-1:-1;;;;;3692:23:27;;;;;:38;;;;;;;;;;;;;;;:23;:38;;;5:2:-1;;;;30:1;27;20:12;5:2;3692:38:27;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3692:38:27;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3692:38:27;3771:8;;;3740:48;;;;;;-1:-1:-1;;;;;3771:8:27;;;3740:48;;;;;;;;;;;;3692:38;;-1:-1:-1;3740:22:27;;;;;;:48;;;;;3692:38;;3740:48;;;;;;;;;;;:22;:48;;;5:2:-1;;;;30:1;27;20:12;5:2;3740:48:27;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3740:48:27;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;9895:361:36;10014:7;2367:26:27;2385:7;2367:17;:26::i;:::-;10048:7:36;1520:23:27;1535:7;1520:14;:23::i;:::-;10071:33:36;10087:7;10096;10071:15;:33::i;:::-;10114:36;10141:7;10114:18;:36::i;:::-;10160:37;10171:7;10188;10160:10;:37::i;:::-;10212;;10241:7;;-1:-1:-1;;;;;10212:37:36;;;;;;;;2403:1:27;9895:361:36;;;:::o;2758:1589:33:-;2987:12;3015:13;3031:9;3015:25;;3050:16;3069:84;3089:4;3104:7;3114:1;3117:5;;3069:84;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;3124:6:33;;-1:-1:-1;3132:9:33;;-1:-1:-1;3143:9:33;;-1:-1:-1;3069:11:33;:84::i;:::-;3050:103;;3171:51;3196:7;3205:6;3213:8;3171:24;:51::i;:::-;3163:85;;;;;;;-1:-1:-1;;;;;;;;;;;3163:85:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;3266:35;3285:7;3295:5;;3266:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;3266:10:33;;-1:-1:-1;;;3266:35:33:i;:::-;3258:78;;;;;;;-1:-1:-1;;;;;;;;;;;3258:78:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;3347:26;3375:40;3419:37;3441:7;3450:5;;3419:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;3419:21:33;;-1:-1:-1;;;3419:37:33:i;:::-;3346:110;;-1:-1:-1;3346:110:33;-1:-1:-1;3495:2:33;3474:23;;:45;;3466:88;;;;;-1:-1:-1;;;;;;;;;;;3466:88:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;3572:23;;;:104;;;3599:77;3618:7;3627:8;3637:11;;3599:77;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;3650:25:33;;-1:-1:-1;3599:18:33;;-1:-1:-1;;3599:77:33:i;:::-;3564:148;;;;;;;-1:-1:-1;;;;;;;;;;;3564:148:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;3913:23;3950:63;3963:7;3972:9;3983;3994:18;3950:12;:63::i;:::-;3946:311;;;4124:4;-1:-1:-1;;;;;4116:18:33;4135:5;;4116:25;;;;;30:3:-1;22:6;14;1:33;4116:25:33;;45:16:-1;;;-1:-1;4116:25:33;;-1:-1:-1;4116:25:33;;-1:-1:-1;;4116:25:33;;;;;;;;;;;;14:1:-1;21;16:31;;;;75:4;69:11;64:16;;144:4;140:9;133:4;115:16;111:27;107:43;104:1;100:51;94:4;87:65;169:16;166:1;159:27;225:16;222:1;215:4;212:1;208:12;193:49;7:242;;16:31;36:4;31:9;;7:242;-1:-1;4092:49:33;;-1:-1:-1;4092:49:33;-1:-1:-1;4155:91:33;4162:7;4182:9;4171:8;:20;4193:9;4204;4215:18;4235:10;4155:6;:91::i;:::-;4310:7;4272:68;;4300:7;-1:-1:-1;;;;;4272:68:33;;4319:10;4331:8;4272:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;4272:68:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2758:1589;;;;;;;;;;;;;;;:::o;7671:450:36:-;7861:7;2367:26:27;2385:7;2367:17;:26::i;:::-;7895:7:36;1520:23:27;1535:7;1520:14;:23::i;:::-;7918:33:36;7934:7;7943;7918:15;:33::i;:::-;7961:62;7978:7;7995;8005:17;7961:16;:62::i;:::-;8038:76;;;-1:-1:-1;;;;;8038:76:36;;;;;;;;;;;;;8074:7;;8038:76;;;;;;;;;;;;;2403:1:27;7671:450:36;;;;;:::o;5810:151:35:-;5922:3;;:25;;;;;;-1:-1:-1;;;;;5922:25:35;;;;;;;;;5873:16;;1526:8:34;;5908:40:35;;5922:3;;;:7;;:25;;;;;;;;;;;;;;;:3;:25;;;5:2:-1;;;;30:1;27;20:12;5:2;5922:25:35;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5922:25:35;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;5922:25:35;5908:3;;:9;;;;;;;;-1:-1:-1;;;;;5908:3:35;;;;:7;;:9;;;;;5922:25;;5908:9;;;;;;;;:3;:9;;;5:2:-1;;;;30:1;27;20:12;5908:40:35;:46;;;;;;;;;5810:151;-1:-1:-1;;5810:151:35:o;6001:628:36:-;6275:15;6215:7;2367:26:27;2385:7;2367:17;:26::i;:::-;6249:7:36;1520:23:27;1535:7;1520:14;:23::i;:::-;6306:38:36;6332:11;6306:25;:38::i;:::-;6384:8;;-1:-1:-1;;;;;6362:31:36;;;6384:8;;6362:31;6354:67;;;;;-1:-1:-1;;;;;;;;;;;6354:67:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;6449:63;6459:7;6468:11;6481:17;6500:11;6449:9;:63::i;:::-;6528:94;;;-1:-1:-1;;;;;6528:94:36;;;;;;;;;;;;;;;;;;;;;;;;;;6441:72;;-1:-1:-1;6441:72:36;;6528:94;;;;;;;;;;;;;2403:1:27;6001:628:36;;;;;;;;:::o;6925:442::-;7112:7;2367:26:27;2385:7;2367:17;:26::i;:::-;7146:7:36;1520:23:27;1535:7;1520:14;:23::i;:::-;7169:33:36;7185:7;7194;7169:15;:33::i;:::-;7212:59;7226:7;7243;7253:17;7212:13;:59::i;:::-;7286:74;;;-1:-1:-1;;;;;7286:74:36;;;;;;;;;;;;;7320:7;;7286:74;;;;;;;;;;;;;2403:1:27;6925:442:36;;;;;:::o;1178:49:33:-;;;;;;;;;;;;;:::o;1376:155:32:-;1493:31;1376:155;:::o;9215:458:36:-;9392:7;2367:26:27;2385:7;2367:17;:26::i;:::-;9426:7:36;1520:23:27;1535:7;1520:14;:23::i;:::-;9449:33:36;9465:7;9474;9449:15;:33::i;:::-;9492:36;9519:7;9492:18;:36::i;:::-;9538:50;9549:7;9566;9576:11;9538:10;:50::i;:::-;9603:63;;;-1:-1:-1;;;;;9603:63:36;;;;;;;;;;;;;9633:7;;9603:63;;;;;;;;;;;;;2403:1:27;9215:458:36;;;;;:::o;1411:481:55:-;1464:7;2013:10:27;-1:-1:-1;;;;;2013:30:27;;;2005:68;;;;;-1:-1:-1;;;;;;;;;;;2005:68:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;1509:13:55;;:35;;;;;;;;1483:23;;-1:-1:-1;;;;;1509:13:55;;:33;;:35;;;;;:13;;:35;;;;;;;:13;:35;;;5:2:-1;;;;30:1;27;20:12;5:2;1509:35:55;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1509:35:55;;;;;;39:16:-1;36:1;17:17;2:54;101:4;1509:35:55;80:15:-1;;;-1:-1;;76:31;65:43;;120:4;113:20;13:2;5:11;;2:2;;;29:1;26;19:12;2:2;1509:35:55;;;;;;19:11:-1;14:3;11:20;8:2;;;44:1;41;34:12;8:2;62:21;;123:4;114:14;;138:31;;;135:2;;;182:1;179;172:12;135:2;219:3;213:10;331:9;325:2;311:12;307:21;289:16;285:44;282:59;261:11;247:12;244:29;233:116;230:2;;;362:1;359;352:12;230:2;-1:-1;1509:35:55;;-1:-1:-1;1559:9:55;;-1:-1:-1;;;;1554:332:55;1578:6;:13;1574:1;:17;1554:332;;;1629:22;;1678:13;;1699:9;;1612:14;;1629:22;;;-1:-1:-1;;;;;1629:22:55;;;;:30;;1668:7;;1678:13;;;;:20;;1699:9;;1706:1;;1699:9;;;;;;;;;;;;;;1678:31;;;;;-1:-1:-1;;;1678:31:55;;;;;;;-1:-1:-1;;;;;1678:31:55;-1:-1:-1;;;;;1678:31:55;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1678:31:55;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1678:31:55;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1678:31:55;1629:81;;;-1:-1:-1;;;1629:81:55;;;;;;-1:-1:-1;;;;;1629:81:55;;;;;;;;;;;;;;;;;;;;1678:31;;1629:81;;;;;;;;;;;5:2:-1;;;;30:1;27;20:12;5:2;1629:81:55;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1629:81:55;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1629:81:55;;-1:-1:-1;1728:11:55;;1724:152;;1759:22;;:49;;;;;;-1:-1:-1;;;;;1759:49:55;;;;;;;;;;;;;;;:22;;;;;;;;:32;;:49;;;;;-1:-1:-1;;1759:49:55;;;;;;;;-1:-1:-1;1759:22:55;:49;;;5:2:-1;;;;30:1;27;20:12;5:2;1759:49:55;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1759:49:55;;;;1826:35;1845:7;1854:6;1826:18;:35::i;:::-;;1724:152;-1:-1:-1;1593:3:55;;1554:332;;10624:810:36;4489:11;;;;4481:43;;;;;;;-1:-1:-1;;;;;;;;;;;4481:43:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;4534:11;:19;;-1:-1:-1;;4534:19:36;;;10766:7;2367:26:27;10766:7:36;2367:17:27;:26::i;:::-;10800:7:36;1520:23:27;1535:7;1520:14;:23::i;:::-;10831:10:36;;:33;;;;;;;;;;;;;;-1:-1:-1;;;;;10831:53:36;;;;:10;;:15;;:33;;;;;;;;;;;;;;:10;:33;;;5:2:-1;;;;30:1;27;20:12;5:2;10831:33:36;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;10831:33:36;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;10831:33:36;-1:-1:-1;;;;;10831:53:36;;10823:88;;;;;-1:-1:-1;;;;;;;;;;;10823:88:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;11045:10;;11085:81;;;;;;;;;11160:4;11085:81;;;;;;;;;;26:21:-1;;;22:32;;;6:49;;11085:81:36;;;;;;;;25:18:-1;;61:17;;-1:-1;;;;;;;;;;;182:15;11085:81:36;179:29:-1;160:49;;10981:195:36;;11015:7;;-1:-1:-1;;;;;11045:10:36;;;;;;10981:12;:195::i;:::-;-1:-1:-1;11194:10:36;;:33;;;;;;;;;;;;;;11239:4;;-1:-1:-1;;;;;11194:10:36;;:15;;:33;;;;;;;;;;;;;;:10;:33;;;5:2:-1;;;;30:1;27;20:12;5:2;11194:33:36;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;11194:33:36;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;11194:33:36;-1:-1:-1;;;;;11194:50:36;;11186:79;;;;;-1:-1:-1;;;;;;;;;;;11186:79:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;11391:36;11410:7;11419;11391:18;:36::i;:::-;-1:-1:-1;;4574:11:36;:18;;-1:-1:-1;;4574:18:36;4588:4;4574:18;;;-1:-1:-1;;;10624:810:36:o;4179:174:27:-;4258:10;4280:4;4258:27;;:59;;;4289:28;4297:7;4306:10;4289:7;:28::i;:::-;4250:96;;;;;;;-1:-1:-1;;;;;;;;;;;4250:96:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;4179:174;:::o;3906:139::-;3983:15;;:33;;;;;;-1:-1:-1;;;;;3983:33:27;;;;;;;;;:15;;;;;:24;;:33;;;;;;;;;;;;;;:15;:33;;;5:2:-1;;;;30:1;27;20:12;5:2;3983:33:27;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3983:33:27;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3983:33:27;3982:34;3974:64;;;;;-1:-1:-1;;;;;;;;;;;3974:64:27;;;;;;;;;;;;;;;;;;;;;;;;;;;1693:458:76;1751:7;1991:6;;1987:45;;;-1:-1:-1;2020:1:76;2013:8;;1987:45;2054:5;;;2058:1;2054;:5;2077;;;;;;;;:10;2069:56;;;;-1:-1:-1;;;;;;;;;;;2069:56:76;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2143:1;-1:-1:-1;1693:458:76;;;;;:::o;4927:832:27:-;5033:17;5062:12;5161:7;-1:-1:-1;;;;;5161:12:27;5231:3;5236:6;5244:5;5174:76;;;;;;-1:-1:-1;;;;;5174:76:27;-1:-1:-1;;;;;5174:76:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;5174:76:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5174:76:27;;;-1:-1:-1;;26:21;;;22:32;6:49;;5174:76:27;;;49:4:-1;25:18;;61:17;;-1:-1;;;;;;;;;;;182:15;5174:76:27;179:29:-1;160:49;;5161:90:27;;;;5174:76;;-1:-1:-1;5161:90:27;-1:-1:-1;5161:90:27;;-1:-1:-1;25:18;-1:-1;5161:90:27;-1:-1:-1;5161:90:27;;25:18:-1;36:153;66:2;58:11;;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;5161:90:27;;;;;;;;;;;;;;;;;;;;;;;;14:1:-1;21;16:31;;;;75:4;69:11;64:16;;144:4;140:9;133:4;115:16;111:27;107:43;104:1;100:51;94:4;87:65;169:16;166:1;159:27;225:16;222:1;215:4;212:1;208:12;193:49;7:242;;16:31;36:4;31:9;;7:242;-1:-1;5143:108:27;-1:-1:-1;5143:108:27;-1:-1:-1;5143:108:27;5265:26;;;;;5290:1;5276:4;:11;:15;5265:26;5261:492;;;5409:4;5398:25;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5398:25:27;;;;;;19:11:-1;14:3;11:20;8:2;;;44:1;41;34:12;8:2;62:21;;123:4;114:14;;138:31;;;135:2;;;182:1;179;172:12;135:2;213:10;;261:11;244:29;;285:43;;;282:58;-1:-1;233:115;230:2;;;361:1;358;351:12;230:2;-1:-1;5398:25:27;;-1:-1:-1;5261:492:27;;-1:-1:-1;;;;5261:492:27;;5458:1;5444:4;:11;:15;5440:313;;;5591:14;5588:1;5585;5570:36;5633:14;5630:1;5623:25;5552:110;5683:7;5682:8;5678:75;;;5706:36;;;-1:-1:-1;;;;;;;;;;;5706:36:27;;;;;;;;;;;;;;;;;;;;;;;;;;;5678:75;4927:832;;;;;;;:::o;6273:260:35:-;6359:3;;:36;;;;;;-1:-1:-1;;;;;6359:36:35;;;;;;;;;;;;;;;;:3;;;;;:7;;:36;;;;;;;;;;;;;;:3;:36;;;5:2:-1;;;;30:1;27;20:12;5:2;6359:36:35;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6359:36:35;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;6359:36:35;:41;6355:172;;;6455:3;;6464:51;;;-1:-1:-1;;;;;6464:51:35;;;;;;;;;;;;;26:21:-1;;;22:32;;;6:49;;6464:51:35;;;;;;;;25:18:-1;;61:17;;-1:-1;;;;;;;;;;;182:15;6464:51:35;179:29:-1;160:49;;6416:100:35;;6437:7;;6455:3;;;;6416:12;:100::i;:::-;;6355:172;6273:260;;:::o;13804:652:36:-;13936:10;;:33;;;;;;;;;;;;;;13887:23;;;;-1:-1:-1;;;;;13936:10:36;;;;:15;;:33;;;;;;;;;;;;;;;:10;:33;;;5:2:-1;;;;30:1;27;20:12;5:2;13936:33:36;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;13936:33:36;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;13936:33:36;-1:-1:-1;;;;;14077:25:36;;14052:22;14077:25;;;:7;13936:33;14077:25;;;;;;;:30;;;;;;;;;13936:33;;-1:-1:-1;14121:18:36;;14117:200;;;14212:10;;:59;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;14212:10:36;;;;:16;;:59;;;;;:10;;:59;;;;;;;;:10;;:59;;;5:2:-1;;;;30:1;27;20:12;5:2;14212:59:36;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;14212:59:36;;;;14292:14;14285:21;;;;;;14117:200;-1:-1:-1;;;;;;14385:25:36;;;;;;:7;:25;;;;;;;;:30;;;;;;;:40;;;-1:-1:-1;14418:7:36;13804:652;;;;:::o;1782:109:64:-;1835:6;1883:1;1857:23;1861:11;1865:1;1501:8;1861:3;:11::i;:::-;1878:1;1874;:5;1857:3;:23::i;:::-;:27;;;;;;;;;1782:109;-1:-1:-1;;;1782:109:64:o;15127:807:36:-;15345:20;15368:6;-1:-1:-1;;;;;15368:16:36;;15393:7;15368:34;;;;;-1:-1:-1;;;15368:34:36;;;;;;;-1:-1:-1;;;;;15368:34:36;-1:-1:-1;;;;;15368:34:36;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;15368:34:36;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;15368:34:36;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;15368:34:36;;-1:-1:-1;15416:35:36;;;15412:516;;;15545:26;15574:16;-1:-1:-1;;;;;15574:41:36;;15639:12;15616:20;:35;15574:78;;;;;-1:-1:-1;;;15574:78:36;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;15574:78:36;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;15574:78:36;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;15574:78:36;15810:106;;;15875:35;;;15810:106;;;;15912:3;15810:106;;;;;;;;;;26:21:-1;;;22:32;;;6:49;;15810:106:36;;;;;;;15574:78;25:18:-1;;61:17;;-1:-1;;;;;;;;;;;182:15;15810:106:36;179:29:-1;160:49;;15574:78:36;;-1:-1:-1;15732:185:36;;15753:7;;15771:16;;15574:78;;15732:12;:185::i;15412:516::-;15127:807;;;;;:::o;14622:201::-;-1:-1:-1;;;;;14716:25:36;;;;;;;:7;:25;;;;;;;;14742:10;;:33;;;;;;;;;;;;;14780:7;;14716:25;;;14742:10;;;;;:15;;:33;;;;;14716:25;14742:33;;;;;:10;:33;;;5:2:-1;;;;30:1;27;20:12;5:2;14742:33:36;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;14742:33:36;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;14742:33:36;14716:60;;14742:33;14716:60;;;;;;;;-1:-1:-1;14716:60:36;;:71;14708:108;;;;;-1:-1:-1;;;;;;;;;;;14708:108:36;;;;;;;;;;;;;;;;;;;;;;;;;;;14462:154;-1:-1:-1;;;;;14549:25:36;;;;;;;:7;:25;;;;;;;;14575:10;;:33;;;;;;;;;;;;;14549:25;;14575:10;;:15;;:33;;;;;;;;;;;:10;:33;;;5:2:-1;;;;30:1;27;20:12;5:2;14575:33:36;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;14575:33:36;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;14575:33:36;14549:60;;14575:33;14549:60;;;;;;;;-1:-1:-1;14549:60:36;;;14542:67;-1:-1:-1;;14462:154:36:o;23823:255::-;24002:69;24018:7;24027:6;24035:7;24044:1;24047:10;;;;;;;;;-1:-1:-1;;;;;24047:10:36;-1:-1:-1;;;;;24047:15:36;;24063:6;24047:23;;;;;-1:-1:-1;;;24047:23:36;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;24047:23:36;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;24047:23:36;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;24047:23:36;24002:15;:69::i;18680:129::-;18769:3;;18778:10;;:23;;;;;;;;;;;;;;-1:-1:-1;;;;;18769:3:36;;;;:8;;18778:10;;:15;;:23;;;;;;;;;;;;;;:10;:23;;;5:2:-1;;;;30:1;27;20:12;5:2;18778:23:36;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;18778:23:36;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;18778:23:36;18769:33;;;-1:-1:-1;;;18769:33:36;;;;;;;;;;;;;;;;;;;-1:-1:-1;;18769:33:36;;;;;;;-1:-1:-1;18769:33:36;;;;5:2:-1;;;;30:1;27;20:12;5:2;18769:33:36;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;25475:440:36;25585:21;25611:12;25616:6;25611:4;:12::i;:::-;25584:39;;;25679:1;25663:13;:17;25659:90;;;25696:42;25707:7;25716:6;25724:13;25696:10;:42::i;:::-;25791:11;25805:18;25816:6;25805:10;:18::i;:::-;25791:32;;25843:1;25837:3;:7;25833:76;;;25860:38;25877:7;25886:6;25894:3;25860:16;:38::i;5262:510:33:-;5659:94;;5676:10;5659:94;;;;;;;5510:7;5659:94;;;;;;;-1:-1:-1;;;;;5659:94:33;;;;;;;;;;;;;;;;;;;;;;;;5510:7;;;;5697:5;;5704:3;;5709:6;;5717:5;;5724:6;;5732:9;;5743;;5659:94;;;;;;;;;;;;;36:153:-1;66:2;58:11;;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;299:10;344;;263:2;259:12;;;254:3;250:22;-1:-1;;246:30;311:9;;295:26;;;340:21;;377:20;365:33;;5659:94:33;;;;;-1:-1:-1;5659:94:33;;;;;;;-1:-1:-1;5659:94:33;;;;;;;;;;26:21:-1;;;22:32;;6:49;;5659:94:33;;;;;5649:105;;;;;;5563:201;;;;;;;;;;;;;;;26:21:-1;;;22:32;;;6:49;;5563:201:33;;;;;;5540:225;;;;;;5262:510;-1:-1:-1;;;;;;;;;;;;;;5262:510:33:o;2229:179:32:-;2342:4;2365:36;2385:7;2394:6;2365:19;:36::i;:::-;2358:43;2229:179;-1:-1:-1;;;;2229:179:32:o;12530:422:33:-;12609:4;12649:2;12633:5;:12;:18;;12625:53;;;;;;;-1:-1:-1;;;;;;;;;;;12625:53:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;12892:4:33;12881:16;12875:23;-1:-1:-1;;;;;12924:21:33;;;;;;;12530:422::o;7527:1504::-;7713:4;;7774:26;7713:4;7814:7;:34;;;;;;;;;;:61;;;;7873:2;7852:11;:18;:23;7814:61;7810:190;;;7903:15;;:37;;;;;;-1:-1:-1;;;;;7903:37:33;;;;;;;;;:15;;;;;:28;;:37;;;;;:15;;:37;;;;;;;:15;:37;;;5:2:-1;;;;30:1;27;20:12;5:2;7903:37:33;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;7903:37:33;;;;;;39:16:-1;36:1;17:17;2:54;101:4;7903:37:33;80:15:-1;;;-1:-1;;76:31;65:43;;120:4;113:20;13:2;5:11;;2:2;;;29:1;26;19:12;2:2;7903:37:33;;;;;;19:11:-1;14:3;11:20;8:2;;;44:1;41;34:12;8:2;62:21;;123:4;114:14;;138:31;;;135:2;;;182:1;179;172:12;135:2;219:3;213:10;331:9;325:2;311:12;307:21;289:16;285:44;282:59;261:11;247:12;244:29;233:116;230:2;;;362:1;359;352:12;230:2;-1:-1;7903:37:33;;-1:-1:-1;;;;;7810:190:33;8009:15;;8035:969;8057:18;;8078:2;;8057:23;8053:1;:27;;;8035:969;;;8101:14;8118:40;8132:9;8143:11;8156:1;8118:40;;:13;:40::i;:::-;8101:57;-1:-1:-1;8177:6:33;;;;8173:517;;;8218:23;8207:7;:34;;;;;;;;;8203:473;;;8319:24;8327:7;8336:6;8319:7;:24::i;:::-;8315:87;;;8371:8;;;8315:87;8430:5;8423:12;;;;;;;;;8203:473;8475:23;8464:7;:34;;;;;;;;;8460:216;;;8575:24;8583:7;8592:6;8575:7;:24::i;:::-;8571:87;;;8627:8;;;8571:87;-1:-1:-1;;;;;8707:20:33;;;;;;;8703:100;;8754:5;8747:12;;;;;;;;;8703:100;8829:6;8816:19;;8875:43;8900:9;8911:6;8875:24;:43::i;:::-;8849:69;-1:-1:-1;8849:69:33;-1:-1:-1;8936:11:33;;8932:62;;;8974:5;8967:12;;;;;;;;;8932:62;8035:969;;8082:3;;8035:969;;;-1:-1:-1;9020:4:33;;7527:1504;-1:-1:-1;;;;;;;;7527:1504:33:o;11559:355::-;11673:4;11705:1;11693:9;:13;:44;;;;;11736:1;11722:11;:15;11693:44;:155;;;;;11792:9;11781:8;:20;11762:7;-1:-1:-1;;;;;11754:24:33;;:47;:93;;;-1:-1:-1;11805:33:33;;;;;;11832:4;11805:33;;;;;;-1:-1:-1;;;;;11805:18:33;;;;;:33;;;;;;;;;;;;;;:18;:33;;;5:2:-1;;;;30:1;27;20:12;5:2;11805:33:33;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;11805:33:33;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;11805:33:33;:42;11754:93;11689:198;;;-1:-1:-1;11871:5:33;11864:12;;11689:198;-1:-1:-1;11903:4:33;11559:355;;;;;;:::o;10582:749::-;10803:5;:16;;10786:14;11012:13;;:32;;;;;11043:1;11029:11;:15;11012:32;:55;;;;;11058:9;11048:6;:19;;11012:55;11008:317;;;11099:11;11087:9;:23;11083:157;;;11148:11;11139:20;11083:157;;;11207:18;;11083:157;11253:61;11274:7;11284:8;11294:6;11302:11;;;;;;;;;;;;;11253:12;:61::i;:::-;;10582:749;;;;;;;:::o;22728:846:36:-;22911:10;;-1:-1:-1;;;;;22911:10:36;:15;22927:6;22936:24;22942:17;22936:5;:24::i;:::-;22935:25;;22962:1;22911:53;;;;;-1:-1:-1;;;22911:53:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;22911:53:36;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;;23054:10:36;;:57;;;;;;;;;;;;23086:4;23054:57;;;;;;;;;;;;-1:-1:-1;;;;;23054:10:36;;;;-1:-1:-1;23054:15:36;;-1:-1:-1;23054:57:36;;;;;:10;;:57;;;;;;;;:10;;:57;;;5:2:-1;;;;30:1;27;20:12;5:2;23054:57:36;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;;23189:13:36;;23217:10;;:23;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;23189:13:36;;;;-1:-1:-1;23189:27:36;;23217:10;;;;:15;;:23;;;;;;;;;;;;;;;:10;:23;;;5:2:-1;;;;30:1;27;20:12;5:2;23217:23:36;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;23217:23:36;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;23217:23:36;23189:52;;;-1:-1:-1;;;23189:52:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5:2:-1;;;;30:1;27;20:12;5:2;23189:52:36;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;23189:52:36;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;23189:52:36;;23300:49;;;;;-1:-1:-1;;;;;23300:49:36;;;;;;;;;;;;;;;23189:52;;-1:-1:-1;23300:12:36;;;;;;:49;;;;;-1:-1:-1;;23300:49:36;;;;;;;;-1:-1:-1;23300:12:36;:49;;;5:2:-1;;;;30:1;27;20:12;5:2;23300:49:36;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;;23415:8:36;;-1:-1:-1;;;;;23404:19:36;;;23415:8;;23404:19;23400:168;;-1:-1:-1;23400:168:36;;-1:-1:-1;23400:168:36;23478:9;;23493:63;;;;;;;;;;;;26:21:-1;;;22:32;;;6:49;;23493:63:36;;;;;;;;25:18:-1;;61:17;;-1:-1;;;;;;;;;;;182:15;23493:63:36;179:29:-1;160:49;;23439:118:36;;23460:7;;-1:-1:-1;;;;;23478:9:36;;;;;;23439:12;:118::i;14829:292::-;-1:-1:-1;;;;;14913:32:36;;3048:42;14913:32;14909:206;;14993:13;;:38;;;;;;-1:-1:-1;;;;;14993:38:36;;;;;;;;;14962:24;;14993:13;;;;;:25;;:38;;;;;;;;;;;;;;;:13;:38;;;5:2:-1;;;;30:1;27;20:12;5:2;14993:38:36;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;14993:38:36;;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;-1:-1;14993:38:36;;-1:-1:-1;15045:59:36;;;;;;;;-1:-1:-1;;;;;;;;;;;15045:59:36;;;;;;;;;;;;;;;;;;;;;;;;;;;20579:1173;20759:14;-1:-1:-1;;;;;20862:32:36;;3048:42;20862:32;20858:95;;;20932:9;;-1:-1:-1;;;;;20932:9:36;;-1:-1:-1;20858:95:36;21018:13;;:33;;;;;;-1:-1:-1;;;;;21018:33:36;;;;;;;;;21004:11;;21018:13;;;;;:20;;:33;;;;;;;;;;;;;;;:13;:33;;;5:2:-1;;;;30:1;27;20:12;5:2;21018:33:36;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;21018:33:36;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;21018:33:36;-1:-1:-1;;;;;21202:25:36;;;;;;:7;21018:33;21202:25;;;;;;;:30;;;;;;;;;;-1:-1:-1;21018:33:36;-1:-1:-1;21247:11:36;;21243:205;;;21283:10;;:35;;;;;;;;;;;;21312:4;21283:35;;;;;;-1:-1:-1;;;;;21283:10:36;;;;:15;;:35;;;;;;;;;;;;;;;:10;;:35;;;5:2:-1;;;;30:1;27;20:12;5:2;21283:35:36;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;21283:35:36;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;21283:35:36;-1:-1:-1;;;;;21389:25:36;;;;;;:7;21283:35;21389:25;;;;;;;:30;;;;;;;;:48;;;21283:35;-1:-1:-1;21243:205:36;21515:55;21530:7;21539:6;21547:17;21566:3;21515:14;:55::i;:::-;21649:1;21635:11;:15;21631:115;;;21666:69;21682:7;21691:6;21699:11;21712:17;21731:3;21666:15;:69::i;22083:380::-;22339:10;;:23;;;;;;;;;;;;;;22288:75;;22303:7;;22312:6;;22320:17;;-1:-1:-1;;;;;22339:10:36;;:15;;:23;;;;;;;;;;;;;;:10;:23;;;5:2:-1;;;;30:1;27;20:12;5:2;22339:23:36;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;22339:23:36;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;22339:23:36;22288:14;:75::i;:::-;22404:10;;-1:-1:-1;;;;;22404:10:36;:15;22420:6;22428:24;22434:17;22428:5;:24::i;:::-;22454:1;22404:52;;;;;-1:-1:-1;;;22404:52:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;24552:684:36;24686:37;24707:6;24715:7;24686:20;:37::i;:::-;24815:8;;24834:10;;24796:49;;24806:7;;-1:-1:-1;;;;;24815:8:36;;;;24825:7;;24834:10;24796:9;:49::i;:::-;24907:34;24916:7;24925:6;24933:7;24907:8;:34::i;:::-;25030:3;;25039:10;;:23;;;;;;;;;;;;;;25014:9;;-1:-1:-1;;;;;25030:3:36;;;;:8;;25039:10;;;:15;;:23;;;;;;;;;;;;;;;:10;:23;;;5:2:-1;;;;30:1;27;20:12;5:2;25039:23:36;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;25039:23:36;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;25039:23:36;25030:33;;;-1:-1:-1;;;25030:33:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5:2:-1;;;;30:1;27;20:12;5:2;25030:33:36;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;25030:33:36;;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;-1:-1;25030:33:36;;;25160:10;;25030:33;;-1:-1:-1;;;;;;25160:10:36;:15;25176:6;25160:10;25188:40;25194:33;25030;25194:23;1526:8:34;25194:14:36;:7;25160:10;25194:14;:11;:14;:::i;:::-;:18;:23;:18;:23;:::i;:::-;:27;:33;:27;:33;:::i;:::-;25188:5;:40::i;:::-;25187:41;;25160:69;;;;;-1:-1:-1;;;25160:69:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;25160:69:36;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;4531:129:27;4606:4;4648:5;-1:-1:-1;;;;;4629:24:27;:7;-1:-1:-1;;;;;4629:13:27;;:15;;;;;-1:-1:-1;;;4629:15:27;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4629:15:27;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4629:15:27;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;4629:15:27;-1:-1:-1;;;;;4629:24:27;;;4531:129;-1:-1:-1;;;4531:129:27:o;950:116:64:-;1002:6;1028;;;:30;;-1:-1:-1;;1043:5:64;;;1057:1;1052;1043:5;1038:15;;;;;;;;:20;1028:30;1020:39;;;;;;;743:95;819:5;;743:95::o;17799:875:36:-;18078:3;;:14;;;;;;;;;;;;;;18062:9;;-1:-1:-1;;;;;18078:3:36;;:8;;:14;;;;;;;;;;;;;;:3;:14;;;5:2:-1;;;;30:1;27;20:12;5:2;18078:14:36;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;18078:14:36;;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;-1:-1;18078:14:36;;;;-1:-1:-1;18174:17:36;18194:20;:11;1526:8:34;18194:20:36;:15;:20;:::i;:::-;18327:10;;18174:40;;-1:-1:-1;;;;;;18327:10:36;:15;18343:6;18351:24;18357:17;18351:5;:24::i;:::-;18377:33;18383:22;:12;18400:4;18383:22;:16;:22;:::i;:::-;18408:1;18383:26;18377:5;:33::i;:::-;18327:84;;;;;-1:-1:-1;;;18327:84:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;18327:84:36;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;;18499:10:36;;:52;;;;;;;;;;;;18531:4;18499:52;;;;;;;;;;;;-1:-1:-1;;;;;18499:10:36;;;;-1:-1:-1;18499:15:36;;-1:-1:-1;18499:52:36;;;;;:10;;:52;;;;;;;;:10;;:52;;;5:2:-1;;;;30:1;27;20:12;5:2;18499:52:36;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;;18624:7:36;;:43;;;;;;-1:-1:-1;;;;;18624:43:36;;;;;;;;;;;;;;;:7;;;;;-1:-1:-1;18624:12:36;;-1:-1:-1;18624:43:36;;;;;:7;;:43;;;;;;;:7;;:43;;;5:2:-1;;;;30:1;27;20:12;5:2;18624:43:36;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;18624:43:36;;;;17799:875;;;;;;;:::o;18815:720::-;18988:10;;:23;;;;;;;;;;;;;;18906:22;;;;;;-1:-1:-1;;;;;18988:10:36;;;;:15;;:23;;;;;;;;;;;;;;;:10;:23;;;5:2:-1;;;;30:1;27;20:12;5:2;18988:23:36;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;18988:23:36;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;18988:23:36;19039:3;;19053:10;;:23;;;;;;;;;;;;;;18988;;-1:-1:-1;19024:11:36;;-1:-1:-1;;;;;19039:3:36;;;;:8;;18988:23;;19053:10;;;:15;;:23;;;;;18988;;19053;;;;;;;;:10;:23;;;5:2:-1;;;;30:1;27;20:12;5:2;19053:23:36;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;19053:23:36;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;19053:23:36;19039:38;;;-1:-1:-1;;;19039:38:36;;;;;;;;;;;;;-1:-1:-1;;;;;19039:38:36;;;;;;;;;;;;;;;;;;;;;;;5:2:-1;;;;30:1;27;20:12;5:2;19039:38:36;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;19039:38:36;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;19039:38:36;;;;-1:-1:-1;19097:1:36;19091:7;;19087:442;;;19143:3;;:13;;;;;;;;;;;;;;19117:9;;;;-1:-1:-1;;;;;19143:3:36;;;;:8;;:13;;;;;;;;;;;;;;;:3;:13;;;5:2:-1;;;;30:1;27;20:12;5:2;19143:13:36;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;19143:13:36;;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;-1:-1;19143:13:36;;;;;;;;;;;-1:-1:-1;19143:13:36;-1:-1:-1;19193:32:36;1526:8:34;19193:23:36;19143:13;19193;:3;19143:13;19193;:7;:13;:::i;:::-;:17;:23;:17;:23;:::i;:32::-;19170:55;-1:-1:-1;19256:200:36;19414:41;19450:4;19414:31;1526:8:34;19414:22:36;1526:8:34;19414:31:36;:3;19450:4;19414:13;:7;:13;:::i;:41::-;19410:45;;19256:46;19300:1;19256:46;1526:8:34;19256:13:36;19410:3;19264:4;19256:13;:7;:13;:::i;:22::-;:43;:46;:43;:46;:::i;:200::-;19239:217;;19087:442;;;18815:720;;;;;:::o;19541:226::-;19702:3;;19711:10;;:23;;;;;;;;;;;;;;19638:25;;-1:-1:-1;;;;;19702:3:36;;;;:8;;19711:10;;;:15;;:23;;;;;;;;;;;;;;;:10;:23;;;5:2:-1;;;;30:1;27;20:12;5:2;19711:23:36;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;19711:23:36;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;19711:23:36;19736:10;;:23;;;;;;;;;;;;;;-1:-1:-1;;;;;19736:10:36;;;;:15;;:23;;;;;19711;;19736;;;;;;;;:10;:23;;;5:2:-1;;;;30:1;27;20:12;5:2;19736:23:36;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;19736:23:36;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;19736:23:36;19702:58;;;-1:-1:-1;;;19702:58:36;;;;;;;;;;;;;-1:-1:-1;;;;;19702:58:36;;;;;;;;;;;;;;;;;;;;;;;5:2:-1;;;;30:1;27;20:12;5:2;19702:58:36;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;19702:58:36;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;19702:58:36;;19541:226;-1:-1:-1;;19541:226:36:o;6548:465:33:-;-1:-1:-1;;;;;6661:25:33;;6631:4;6661:25;;;:7;:25;;;;;:31;6651:41;;6647:84;;-1:-1:-1;6715:5:33;6708:12;;6647:84;45:20:-1;-1:-1;;6762:75:33;;25:41:-1;6872:12:33;1166:5;6872:25;6859:38;;6855:81;;;6920:5;6913:12;;;;;6855:81;-1:-1:-1;;;;;;;6945:25:33;;;;;;;;:7;:25;;;;;:40;7002:4;;6548:465::o;9297:821::-;9817:4;9813:16;;;9787:44;;9808:4;9787:44;;9781:51;9877:4;9856:44;;9850:51;9929:44;;;;9923:51;9403:7;;9976:4;9919:62;;;;;10013:2;10008:7;;;:18;;;10019:1;:7;;10024:2;10019:7;10008:18;10000:27;;;;;;;;10080:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;10080:31:33;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;;10080:31:33;;-1:-1:-1;;10080:31:33;;;9297:821;-1:-1:-1;;;;;;;;9297:821:33:o;1162:1159:29:-;1253:4;1259:16;1291:10;:17;1312:1;1291:22;:49;;;-1:-1:-1;;;;;;1317:23:29;;;1291:49;1287:106;;;-1:-1:-1;1364:5:29;;-1:-1:-1;1371:10:29;1356:26;;1287:106;1402:12;1417:5;1402:20;;1432:33;1502:1;1482:10;:17;:21;1468:36;;;;;;;;;;;;;;;;;;;;;;29:2:-1;21:6;17:15;117:4;105:10;97:6;88:34;136:17;;-1:-1;1468:36:29;-1:-1:-1;1432:72:29;-1:-1:-1;1514:13:29;;1541:701;1565:10;:17;1561:1;:21;1541:701;;;1608:7;1607:8;1603:482;;;1713:10;1724:1;1713:13;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1700:26:29;:9;-1:-1:-1;;;;;1700:26:29;;1696:117;;;1760:4;1750:14;;1786:8;;1696:117;1914:25;1925:10;1936:1;1925:13;;;;;;;;;;;;;;;;;;1914:10;:25::i;:::-;:70;;;;;1943:41;1959:10;1970:1;1959:13;;;;;;;;;;;;;;;;;;1974:9;1943:15;:41::i;:::-;1910:161;;;2018:4;2008:14;;2044:8;;1910:161;2110:16;:23;2102:5;:31;2098:134;;;2179:10;2190:1;2179:13;;;;;;;;;;;;;;;;;;2153:16;2170:5;2153:23;;;;;;;;;;-1:-1:-1;;;;;2153:39:29;;;:23;;;;;;;;;;:39;2210:7;;;;;2098:134;1584:3;;1541:701;;;;2258:7;:56;;2296:5;2303:10;2258:56;;;2269:4;2275:16;2258:56;2251:63;;;;;;;1162:1159;;;;;:::o;13664:134:36:-;13741:2;13714:6;13762:7;;;13754:37;;;;;-1:-1:-1;;;;;;;;;;;13754:37:36;;;;;;;;;;;;;;;;;;;;;;;;;;;15940:1097;16213:13;;:33;;;;;;;;;;;;;;16173:16;;;;-1:-1:-1;;;;;16213:13:36;;;;:27;;:33;;;;;;;;;;;:13;:33;;;5:2:-1;;;;30:1;27;20:12;5:2;16213:33:36;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;16213:33:36;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;16213:33:36;;;;;;;16312:8;;16213:33;;-1:-1:-1;16213:33:36;-1:-1:-1;;;;;;16301:19:36;;;16312:8;;16301:19;16297:157;;;16375:9;;16406:36;;;22:32:-1;6:49;;16406:36:36;;;;;;49:4:-1;25:18;;61:17;;-1:-1;;;;;;;;;;;182:15;16406:36:36;179:29:-1;160:49;;16336:107:36;;16357:7;;-1:-1:-1;;;;;16375:9:36;;;;16387:17;;16336:12;:107::i;:::-;;16297:157;16612:86;;;16673:4;16612:86;;;;;;;;;;;;;26:21:-1;;;22:32;;;6:49;;16612:86:36;;;;;;;;25:18:-1;;61:17;;-1:-1;;;;;;;;;;;182:15;16612:86:36;179:29:-1;160:49;;16508:200:36;;16542:7;;16572:10;;16597:1;;16508:12;:200::i;:::-;;16788:10;-1:-1:-1;;;;;16788:18:36;;16815:7;16825:17;16788:55;;;;;-1:-1:-1;;;16788:55:36;;;;;;;-1:-1:-1;;;;;16788:55:36;-1:-1:-1;;;;;16788:55:36;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;16788:55:36;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;16788:55:36;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;16987:10:36;;:23;;;;;;;;;;;;;;-1:-1:-1;;;;;16974:12:36;;;;;;16987:10;;;:15;;:23;;;;;16788:55;;16987:23;;;;;;;;:10;:23;;;5:2:-1;;;;30:1;27;20:12;5:2;16987:23:36;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;16987:23:36;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;16987:23:36;16974:56;;;-1:-1:-1;;;16974:56:36;;;;;;-1:-1:-1;;;;;16974:56:36;;;;;;;;;;;;;;;;;;;-1:-1:-1;;16974:56:36;;;;;;;-1:-1:-1;16974:56:36;;;;5:2:-1;;;;30:1;27;20:12;5:2;16974:56:36;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;16974:56:36;;;;15940:1097;;;;;;:::o;19773:305::-;19907:21;19930:20;19954:12;19959:6;19954:4;:12::i;:::-;19906:60;;;;19999:12;19984:11;:27;;:59;;;;20030:13;20015:11;:28;19984:59;19976:95;;;;;;;-1:-1:-1;;;;;;;;;;;19976:95:36;;;;;;;;;;;;;;;;;;;;;;;;;;;17043:750;17311:8;;17325:80;;;17386:4;17325:80;;;;;;;;;;;;;26:21:-1;;;22:32;;;6:49;;17325:80:36;;;;;;;;25:18:-1;;61:17;;-1:-1;;;;;;;;;;;182:15;17325:80:36;179:29:-1;160:49;;17272:134:36;;17293:7;;-1:-1:-1;;;;;17311:8:36;;;;;;17272:12;:134::i;:::-;-1:-1:-1;17479:8:36;;17504:7;;17479:47;;;;;;-1:-1:-1;;;;;17504:7:36;;;17479:47;;;;;;;;;;;;:8;;;;;:16;;:47;;;;;;;;;;;;;;:8;;:47;;;5:2:-1;;;;30:1;27;20:12;5:2;17479:47:36;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;17479:47:36;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;17729:7:36;;17742:10;;:23;;;;;;;;;;;;;;-1:-1:-1;;;;;17729:7:36;;;;:12;;17742:10;;:15;;:23;;;;;17479:47;;17742:23;;;;;;;:10;:23;;;5:2:-1;;;;30:1;27;20:12;5:2;17742:23:36;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;17742:23:36;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;17742:23:36;17767:18;:11;17783:1;17767:18;:15;:18;:::i;:::-;17729:57;;;;;-1:-1:-1;;;17729:57:36;;;;;;;-1:-1:-1;;;;;17729:57:36;-1:-1:-1;;;;;17729:57:36;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;1274:179:76;1332:7;1359:6;;;;1351:49;;;;;-1:-1:-1;;;;;;;;;;;1351:49:76;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1422:5:76;;;1274:179::o;2606:326::-;2664:7;2757:5;;;2749:44;;;;;-1:-1:-1;;;;;;;;;;;2749:44:76;;;;;;;;;;;;;;;;;;;;;;;;;;;;2803:9;2819:1;2815;:5;;;;;;;;;2606:326;-1:-1:-1;;;;2606:326:76:o;834:176::-;892:7;923:5;;;946:6;;;;938:46;;;;;-1:-1:-1;;;;;;;;;;;938:46:76;;;;;;;;;;;;;;;;;;;;;;;;;;;2420:251:29;2478:4;2610:18;;2655:8;;;;2420:251::o;2943:528::-;3098:20;;;;;;;;;;;;;;;;3251:15;;;3026:4;;;;3098:20;3337:4;3098:20;3337:4;3098:20;3310:9;3304:4;3293:49;3369:1;3361:6;3358:13;3355:2;;;3405:3;3399:10;3390:19;;3355:2;3202:231;;3458:6;-1:-1:-1;;;;;3449:15:29;:5;-1:-1:-1;;;;;3449:15:29;;3442:22;;;;2943:528;;;;:::o",
"source": "pragma solidity ^0.5.4;\n\nimport \"../modules/maker/MakerV2Manager.sol\";\n\n/**\n * @title TestUpgradedMakerV2Manager\n * @dev Test upgraded MakerV2 module.\n * @author Olivier VDB - <olivier@argent.xyz>\n */\ncontract TestUpgradedMakerV2Manager is MakerV2Manager {\n MakerV2Manager private previousMakerV2Manager;\n\n constructor(\n ModuleRegistry _registry,\n GuardianStorage _guardianStorage,\n ScdMcdMigrationLike _scdMcdMigration,\n PotLike _pot,\n JugLike _jug,\n MakerRegistry _makerRegistry,\n IUniswapFactory _uniswapFactory,\n MakerV2Manager _previousMakerV2Manager\n )\n\n MakerV2Manager(\n _registry,\n _guardianStorage,\n _scdMcdMigration,\n _pot,\n _jug,\n _makerRegistry,\n _uniswapFactory\n )\n public\n\n {\n previousMakerV2Manager = _previousMakerV2Manager;\n }\n\n function init(BaseWallet _wallet) public onlyWallet(_wallet) {\n address[] memory tokens = makerRegistry.getCollateralTokens();\n for (uint256 i = 0; i < tokens.length; i++) {\n bytes32 loanId = previousMakerV2Manager.loanIds(address(_wallet), makerRegistry.getIlk(tokens[i]));\n if (loanId != 0) {\n previousMakerV2Manager.giveVault(_wallet, loanId);\n assignLoanToWallet(_wallet, loanId);\n }\n }\n }\n\n function init2(BaseWallet _wallet) public onlyWallet(_wallet) {\n address[] memory tokens = makerRegistry.getCollateralTokens();\n for (uint256 i = 0; i < tokens.length; i++) {\n bytes32 loanId = previousMakerV2Manager.loanIds(address(_wallet), makerRegistry.getIlk(tokens[i]));\n if (loanId != 0) {\n previousMakerV2Manager.giveVault(_wallet, loanId);\n assignLoanToWallet(_wallet, loanId);\n }\n }\n }\n\n function init3(BaseWallet _wallet) public onlyWallet(_wallet) {\n address[] memory tokens = makerRegistry.getCollateralTokens();\n for (uint256 i = 0; i < tokens.length; i++) {\n bytes32 loanId = previousMakerV2Manager.loanIds(address(_wallet), makerRegistry.getIlk(tokens[i]));\n if (loanId != 0) {\n previousMakerV2Manager.giveVault(_wallet, loanId);\n assignLoanToWallet(_wallet, loanId);\n }\n }\n }\n\n function init4(BaseWallet _wallet) public onlyWallet(_wallet) {\n address[] memory tokens = makerRegistry.getCollateralTokens();\n for (uint256 i = 0; i < tokens.length; i++) {\n bytes32 loanId = previousMakerV2Manager.loanIds(address(_wallet), makerRegistry.getIlk(tokens[i]));\n if (loanId != 0) {\n previousMakerV2Manager.giveVault(_wallet, loanId);\n assignLoanToWallet(_wallet, loanId);\n }\n }\n }\n\n function init5(BaseWallet _wallet) public onlyWallet(_wallet) {\n address[] memory tokens = makerRegistry.getCollateralTokens();\n for (uint256 i = 0; i < tokens.length; i++) {\n bytes32 loanId = previousMakerV2Manager.loanIds(address(_wallet), makerRegistry.getIlk(tokens[i]));\n if (loanId != 0) {\n previousMakerV2Manager.giveVault(_wallet, loanId);\n assignLoanToWallet(_wallet, loanId);\n }\n }\n }\n}",
"sourcePath": "/Users/Elena/Source/argent-contracts/contracts/test/TestUpgradedMakerV2Manager.sol",
"ast": {
"absolutePath": "/Users/Elena/Source/argent-contracts/contracts/test/TestUpgradedMakerV2Manager.sol",
"exportedSymbols": {
"TestUpgradedMakerV2Manager": [
17121
]
},
"id": 17122,
"nodeType": "SourceUnit",
"nodes": [
{
"id": 16772,
"literals": [
"solidity",
"^",
"0.5",
".4"
],
"nodeType": "PragmaDirective",
"src": "0:23:55"
},
{
"absolutePath": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Manager.sol",
"file": "../modules/maker/MakerV2Manager.sol",
"id": 16773,
"nodeType": "ImportDirective",
"scope": 17122,
"sourceUnit": 15078,
"src": "25:45:55",
"symbolAliases": [],
"unitAlias": ""
},
{
"baseContracts": [
{
"arguments": null,
"baseName": {
"contractScope": null,
"id": 16774,
"name": "MakerV2Manager",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 15077,
"src": "240:14:55",
"typeDescriptions": {
"typeIdentifier": "t_contract$_MakerV2Manager_$15077",
"typeString": "contract MakerV2Manager"
}
},
"id": 16775,
"nodeType": "InheritanceSpecifier",
"src": "240:14:55"
}
],
"contractDependencies": [
11202,
12228,
12312,
12982,
13054,
13435,
15034,
15077,
18279
],
"contractKind": "contract",
"documentation": "@title TestUpgradedMakerV2Manager\n@dev Test upgraded MakerV2 module.\n@author Olivier VDB - <olivier@argent.xyz>",
"fullyImplemented": true,
"id": 17121,
"linearizedBaseContracts": [
17121,
15077,
15034,
13435,
13054,
12312,
12982,
11202,
12228,
18279
],
"name": "TestUpgradedMakerV2Manager",
"nodeType": "ContractDefinition",
"nodes": [
{
"constant": false,
"id": 16777,
"name": "previousMakerV2Manager",
"nodeType": "VariableDeclaration",
"scope": 17121,
"src": "261:45:55",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_contract$_MakerV2Manager_$15077",
"typeString": "contract MakerV2Manager"
},
"typeName": {
"contractScope": null,
"id": 16776,
"name": "MakerV2Manager",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 15077,
"src": "261:14:55",
"typeDescriptions": {
"typeIdentifier": "t_contract$_MakerV2Manager_$15077",
"typeString": "contract MakerV2Manager"
}
},
"value": null,
"visibility": "private"
},
{
"body": {
"id": 16809,
"nodeType": "Block",
"src": "854:65:55",
"statements": [
{
"expression": {
"argumentTypes": null,
"id": 16807,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"argumentTypes": null,
"id": 16805,
"name": "previousMakerV2Manager",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 16777,
"src": "864:22:55",
"typeDescriptions": {
"typeIdentifier": "t_contract$_MakerV2Manager_$15077",
"typeString": "contract MakerV2Manager"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"argumentTypes": null,
"id": 16806,
"name": "_previousMakerV2Manager",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 16793,
"src": "889:23:55",
"typeDescriptions": {
"typeIdentifier": "t_contract$_MakerV2Manager_$15077",
"typeString": "contract MakerV2Manager"
}
},
"src": "864:48:55",
"typeDescriptions": {
"typeIdentifier": "t_contract$_MakerV2Manager_$15077",
"typeString": "contract MakerV2Manager"
}
},
"id": 16808,
"nodeType": "ExpressionStatement",
"src": "864:48:55"
}
]
},
"documentation": null,
"id": 16810,
"implemented": true,
"kind": "constructor",
"modifiers": [
{
"arguments": [
{
"argumentTypes": null,
"id": 16796,
"name": "_registry",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 16779,
"src": "661:9:55",
"typeDescriptions": {
"typeIdentifier": "t_contract$_ModuleRegistry_$758",
"typeString": "contract ModuleRegistry"
}
},
{
"argumentTypes": null,
"id": 16797,
"name": "_guardianStorage",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 16781,
"src": "684:16:55",
"typeDescriptions": {
"typeIdentifier": "t_contract$_GuardianStorage_$15408",
"typeString": "contract GuardianStorage"
}
},
{
"argumentTypes": null,
"id": 16798,
"name": "_scdMcdMigration",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 16783,
"src": "714:16:55",
"typeDescriptions": {
"typeIdentifier": "t_contract$_ScdMcdMigrationLike_$19177",
"typeString": "contract ScdMcdMigrationLike"
}
},
{
"argumentTypes": null,
"id": 16799,
"name": "_pot",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 16785,
"src": "744:4:55",
"typeDescriptions": {
"typeIdentifier": "t_contract$_PotLike_$19277",
"typeString": "contract PotLike"
}
},
{
"argumentTypes": null,
"id": 16800,
"name": "_jug",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 16787,
"src": "762:4:55",
"typeDescriptions": {
"typeIdentifier": "t_contract$_JugLike_$19261",
"typeString": "contract JugLike"
}
},
{
"argumentTypes": null,
"id": 16801,
"name": "_makerRegistry",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 16789,
"src": "780:14:55",
"typeDescriptions": {
"typeIdentifier": "t_contract$_MakerRegistry_$487",
"typeString": "contract MakerRegistry"
}
},
{
"argumentTypes": null,
"id": 16802,
"name": "_uniswapFactory",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 16791,
"src": "808:15:55",
"typeDescriptions": {
"typeIdentifier": "t_contract$_IUniswapFactory_$13448",
"typeString": "contract IUniswapFactory"
}
}
],
"id": 16803,
"modifierName": {
"argumentTypes": null,
"id": 16795,
"name": "MakerV2Manager",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 15077,
"src": "633:14:55",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_contract$_MakerV2Manager_$15077_$",
"typeString": "type(contract MakerV2Manager)"
}
},
"nodeType": "ModifierInvocation",
"src": "633:200:55"
}
],
"name": "",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 16794,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 16779,
"name": "_registry",
"nodeType": "VariableDeclaration",
"scope": 16810,
"src": "334:24:55",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_contract$_ModuleRegistry_$758",
"typeString": "contract ModuleRegistry"
},
"typeName": {
"contractScope": null,
"id": 16778,
"name": "ModuleRegistry",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 758,
"src": "334:14:55",
"typeDescriptions": {
"typeIdentifier": "t_contract$_ModuleRegistry_$758",
"typeString": "contract ModuleRegistry"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 16781,
"name": "_guardianStorage",
"nodeType": "VariableDeclaration",
"scope": 16810,
"src": "368:32:55",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_contract$_GuardianStorage_$15408",
"typeString": "contract GuardianStorage"
},
"typeName": {
"contractScope": null,
"id": 16780,
"name": "GuardianStorage",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 15408,
"src": "368:15:55",
"typeDescriptions": {
"typeIdentifier": "t_contract$_GuardianStorage_$15408",
"typeString": "contract GuardianStorage"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 16783,
"name": "_scdMcdMigration",
"nodeType": "VariableDeclaration",
"scope": 16810,
"src": "410:36:55",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_contract$_ScdMcdMigrationLike_$19177",
"typeString": "contract ScdMcdMigrationLike"
},
"typeName": {
"contractScope": null,
"id": 16782,
"name": "ScdMcdMigrationLike",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 19177,
"src": "410:19:55",
"typeDescriptions": {
"typeIdentifier": "t_contract$_ScdMcdMigrationLike_$19177",
"typeString": "contract ScdMcdMigrationLike"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 16785,
"name": "_pot",
"nodeType": "VariableDeclaration",
"scope": 16810,
"src": "456:12:55",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_contract$_PotLike_$19277",
"typeString": "contract PotLike"
},
"typeName": {
"contractScope": null,
"id": 16784,
"name": "PotLike",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 19277,
"src": "456:7:55",
"typeDescriptions": {
"typeIdentifier": "t_contract$_PotLike_$19277",
"typeString": "contract PotLike"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 16787,
"name": "_jug",
"nodeType": "VariableDeclaration",
"scope": 16810,
"src": "478:12:55",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_contract$_JugLike_$19261",
"typeString": "contract JugLike"
},
"typeName": {
"contractScope": null,
"id": 16786,
"name": "JugLike",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 19261,
"src": "478:7:55",
"typeDescriptions": {
"typeIdentifier": "t_contract$_JugLike_$19261",
"typeString": "contract JugLike"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 16789,
"name": "_makerRegistry",
"nodeType": "VariableDeclaration",
"scope": 16810,
"src": "500:28:55",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_contract$_MakerRegistry_$487",
"typeString": "contract MakerRegistry"
},
"typeName": {
"contractScope": null,
"id": 16788,
"name": "MakerRegistry",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 487,
"src": "500:13:55",
"typeDescriptions": {
"typeIdentifier": "t_contract$_MakerRegistry_$487",
"typeString": "contract MakerRegistry"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 16791,
"name": "_uniswapFactory",
"nodeType": "VariableDeclaration",
"scope": 16810,
"src": "538:31:55",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_contract$_IUniswapFactory_$13448",
"typeString": "contract IUniswapFactory"
},
"typeName": {
"contractScope": null,
"id": 16790,
"name": "IUniswapFactory",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 13448,
"src": "538:15:55",
"typeDescriptions": {
"typeIdentifier": "t_contract$_IUniswapFactory_$13448",
"typeString": "contract IUniswapFactory"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 16793,
"name": "_previousMakerV2Manager",
"nodeType": "VariableDeclaration",
"scope": 16810,
"src": "579:38:55",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_contract$_MakerV2Manager_$15077",
"typeString": "contract MakerV2Manager"
},
"typeName": {
"contractScope": null,
"id": 16792,
"name": "MakerV2Manager",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 15077,
"src": "579:14:55",
"typeDescriptions": {
"typeIdentifier": "t_contract$_MakerV2Manager_$15077",
"typeString": "contract MakerV2Manager"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "324:299:55"
},
"returnParameters": {
"id": 16804,
"nodeType": "ParameterList",
"parameters": [],
"src": "854:0:55"
},
"scope": 17121,
"src": "313:606:55",
"stateMutability": "nonpayable",
"superFunction": null,
"visibility": "public"
},
{
"body": {
"id": 16871,
"nodeType": "Block",
"src": "986:419:55",
"statements": [
{
"assignments": [
16821
],
"declarations": [
{
"constant": false,
"id": 16821,
"name": "tokens",
"nodeType": "VariableDeclaration",
"scope": 16871,
"src": "996:23:55",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
"typeString": "address[]"
},
"typeName": {
"baseType": {
"id": 16819,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "996:7:55",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"id": 16820,
"length": null,
"nodeType": "ArrayTypeName",
"src": "996:9:55",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_address_$dyn_storage_ptr",
"typeString": "address[]"
}
},
"value": null,
"visibility": "internal"
}
],
"id": 16825,
"initialValue": {
"argumentTypes": null,
"arguments": [],
"expression": {
"argumentTypes": [],
"expression": {
"argumentTypes": null,
"id": 16822,
"name": "makerRegistry",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 13495,
"src": "1022:13:55",
"typeDescriptions": {
"typeIdentifier": "t_contract$_MakerRegistry_$487",
"typeString": "contract MakerRegistry"
}
},
"id": 16823,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "getCollateralTokens",
"nodeType": "MemberAccess",
"referencedDeclaration": 444,
"src": "1022:33:55",
"typeDescriptions": {
"typeIdentifier": "t_function_external_view$__$returns$_t_array$_t_address_$dyn_memory_ptr_$",
"typeString": "function () view external returns (address[] memory)"
}
},
"id": 16824,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "1022:35:55",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
"typeString": "address[] memory"
}
},
"nodeType": "VariableDeclarationStatement",
"src": "996:61:55"
},
{
"body": {
"id": 16869,
"nodeType": "Block",
"src": "1111:288:55",
"statements": [
{
"assignments": [
16838
],
"declarations": [
{
"constant": false,
"id": 16838,
"name": "loanId",
"nodeType": "VariableDeclaration",
"scope": 16869,
"src": "1125:14:55",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
},
"typeName": {
"id": 16837,
"name": "bytes32",
"nodeType": "ElementaryTypeName",
"src": "1125:7:55",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"value": null,
"visibility": "internal"
}
],
"id": 16851,
"initialValue": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"id": 16842,
"name": "_wallet",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 16812,
"src": "1181:7:55",
"typeDescriptions": {
"typeIdentifier": "t_contract$_BaseWallet_$17655",
"typeString": "contract BaseWallet"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_contract$_BaseWallet_$17655",
"typeString": "contract BaseWallet"
}
],
"id": 16841,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"nodeType": "ElementaryTypeNameExpression",
"src": "1173:7:55",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_address_$",
"typeString": "type(address)"
},
"typeName": "address"
},
"id": 16843,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "typeConversion",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "1173:16:55",
"typeDescriptions": {
"typeIdentifier": "t_address_payable",
"typeString": "address payable"
}
},
{
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"baseExpression": {
"argumentTypes": null,
"id": 16846,
"name": "tokens",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 16821,
"src": "1212:6:55",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
"typeString": "address[] memory"
}
},
"id": 16848,
"indexExpression": {
"argumentTypes": null,
"id": 16847,
"name": "i",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 16827,
"src": "1219:1:55",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"isConstant": false,
"isLValue": true,
"isPure": false,
"lValueRequested": false,
"nodeType": "IndexAccess",
"src": "1212:9:55",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_address",
"typeString": "address"
}
],
"expression": {
"argumentTypes": null,
"id": 16844,
"name": "makerRegistry",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 13495,
"src": "1191:13:55",
"typeDescriptions": {
"typeIdentifier": "t_contract$_MakerRegistry_$487",
"typeString": "contract MakerRegistry"
}
},
"id": 16845,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "getIlk",
"nodeType": "MemberAccess",
"referencedDeclaration": 459,
"src": "1191:20:55",
"typeDescriptions": {
"typeIdentifier": "t_function_external_view$_t_address_$returns$_t_bytes32_$",
"typeString": "function (address) view external returns (bytes32)"
}
},
"id": 16849,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "1191:31:55",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_address_payable",
"typeString": "address payable"
},
{
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
],
"expression": {
"argumentTypes": null,
"id": 16839,
"name": "previousMakerV2Manager",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 16777,
"src": "1142:22:55",
"typeDescriptions": {
"typeIdentifier": "t_contract$_MakerV2Manager_$15077",
"typeString": "contract MakerV2Manager"
}
},
"id": 16840,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "loanIds",
"nodeType": "MemberAccess",
"referencedDeclaration": 13505,
"src": "1142:30:55",
"typeDescriptions": {
"typeIdentifier": "t_function_external_view$_t_address_$_t_bytes32_$returns$_t_bytes32_$",
"typeString": "function (address,bytes32) view external returns (bytes32)"
}
},
"id": 16850,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "1142:81:55",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"nodeType": "VariableDeclarationStatement",
"src": "1125:98:55"
},
{
"condition": {
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
},
"id": 16854,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
"id": 16852,
"name": "loanId",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 16838,
"src": "1241:6:55",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"nodeType": "BinaryOperation",
"operator": "!=",
"rightExpression": {
"argumentTypes": null,
"hexValue": "30",
"id": 16853,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "1251:1:55",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_rational_0_by_1",
"typeString": "int_const 0"
},
"value": "0"
},
"src": "1241:11:55",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"falseBody": null,
"id": 16868,
"nodeType": "IfStatement",
"src": "1237:152:55",
"trueBody": {
"id": 16867,
"nodeType": "Block",
"src": "1254:135:55",
"statements": [
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"id": 16858,
"name": "_wallet",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 16812,
"src": "1305:7:55",
"typeDescriptions": {
"typeIdentifier": "t_contract$_BaseWallet_$17655",
"typeString": "contract BaseWallet"
}
},
{
"argumentTypes": null,
"id": 16859,
"name": "loanId",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 16838,
"src": "1314:6:55",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_contract$_BaseWallet_$17655",
"typeString": "contract BaseWallet"
},
{
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
],
"expression": {
"argumentTypes": null,
"id": 16855,
"name": "previousMakerV2Manager",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 16777,
"src": "1272:22:55",
"typeDescriptions": {
"typeIdentifier": "t_contract$_MakerV2Manager_$15077",
"typeString": "contract MakerV2Manager"
}
},
"id": 16857,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "giveVault",
"nodeType": "MemberAccess",
"referencedDeclaration": 14176,
"src": "1272:32:55",
"typeDescriptions": {
"typeIdentifier": "t_function_external_nonpayable$_t_contract$_BaseWallet_$17655_$_t_bytes32_$returns$__$",
"typeString": "function (contract BaseWallet,bytes32) external"
}
},
"id": 16860,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "1272:49:55",
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 16861,
"nodeType": "ExpressionStatement",
"src": "1272:49:55"
},
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"id": 16863,
"name": "_wallet",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 16812,
"src": "1358:7:55",
"typeDescriptions": {
"typeIdentifier": "t_contract$_BaseWallet_$17655",
"typeString": "contract BaseWallet"
}
},
{
"argumentTypes": null,
"id": 16864,
"name": "loanId",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 16838,
"src": "1367:6:55",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_contract$_BaseWallet_$17655",
"typeString": "contract BaseWallet"
},
{
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
],
"id": 16862,
"name": "assignLoanToWallet",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 14256,
"src": "1339:18:55",
"typeDescriptions": {
"typeIdentifier": "t_function_internal_nonpayable$_t_contract$_BaseWallet_$17655_$_t_bytes32_$returns$_t_bytes32_$",
"typeString": "function (contract BaseWallet,bytes32) returns (bytes32)"
}
},
"id": 16865,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "1339:35:55",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"id": 16866,
"nodeType": "ExpressionStatement",
"src": "1339:35:55"
}
]
}
}
]
},
"condition": {
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"id": 16833,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
"id": 16830,
"name": "i",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 16827,
"src": "1087:1:55",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "BinaryOperation",
"operator": "<",
"rightExpression": {
"argumentTypes": null,
"expression": {
"argumentTypes": null,
"id": 16831,
"name": "tokens",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 16821,
"src": "1091:6:55",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
"typeString": "address[] memory"
}
},
"id": 16832,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "length",
"nodeType": "MemberAccess",
"referencedDeclaration": null,
"src": "1091:13:55",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"src": "1087:17:55",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"id": 16870,
"initializationExpression": {
"assignments": [
16827
],
"declarations": [
{
"constant": false,
"id": 16827,
"name": "i",
"nodeType": "VariableDeclaration",
"scope": 16870,
"src": "1072:9:55",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 16826,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "1072:7:55",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
}
],
"id": 16829,
"initialValue": {
"argumentTypes": null,
"hexValue": "30",
"id": 16828,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "1084:1:55",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_rational_0_by_1",
"typeString": "int_const 0"
},
"value": "0"
},
"nodeType": "VariableDeclarationStatement",
"src": "1072:13:55"
},
"loopExpression": {
"expression": {
"argumentTypes": null,
"id": 16835,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"nodeType": "UnaryOperation",
"operator": "++",
"prefix": false,
"src": "1106:3:55",
"subExpression": {
"argumentTypes": null,
"id": 16834,
"name": "i",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 16827,
"src": "1106:1:55",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"id": 16836,
"nodeType": "ExpressionStatement",
"src": "1106:3:55"
},
"nodeType": "ForStatement",
"src": "1067:332:55"
}
]
},
"documentation": null,
"id": 16872,
"implemented": true,
"kind": "function",
"modifiers": [
{
"arguments": [
{
"argumentTypes": null,
"id": 16815,
"name": "_wallet",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 16812,
"src": "977:7:55",
"typeDescriptions": {
"typeIdentifier": "t_contract$_BaseWallet_$17655",
"typeString": "contract BaseWallet"
}
}
],
"id": 16816,
"modifierName": {
"argumentTypes": null,
"id": 16814,
"name": "onlyWallet",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 10986,
"src": "966:10:55",
"typeDescriptions": {
"typeIdentifier": "t_modifier$_t_contract$_BaseWallet_$17655_$",
"typeString": "modifier (contract BaseWallet)"
}
},
"nodeType": "ModifierInvocation",
"src": "966:19:55"
}
],
"name": "init",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 16813,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 16812,
"name": "_wallet",
"nodeType": "VariableDeclaration",
"scope": 16872,
"src": "939:18:55",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_contract$_BaseWallet_$17655",
"typeString": "contract BaseWallet"
},
"typeName": {
"contractScope": null,
"id": 16811,
"name": "BaseWallet",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 17655,
"src": "939:10:55",
"typeDescriptions": {
"typeIdentifier": "t_contract$_BaseWallet_$17655",
"typeString": "contract BaseWallet"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "938:20:55"
},
"returnParameters": {
"id": 16817,
"nodeType": "ParameterList",
"parameters": [],
"src": "986:0:55"
},
"scope": 17121,
"src": "925:480:55",
"stateMutability": "nonpayable",
"superFunction": 11026,
"visibility": "public"
},
{
"body": {
"id": 16933,
"nodeType": "Block",
"src": "1473:419:55",
"statements": [
{
"assignments": [
16883
],
"declarations": [
{
"constant": false,
"id": 16883,
"name": "tokens",
"nodeType": "VariableDeclaration",
"scope": 16933,
"src": "1483:23:55",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
"typeString": "address[]"
},
"typeName": {
"baseType": {
"id": 16881,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "1483:7:55",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"id": 16882,
"length": null,
"nodeType": "ArrayTypeName",
"src": "1483:9:55",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_address_$dyn_storage_ptr",
"typeString": "address[]"
}
},
"value": null,
"visibility": "internal"
}
],
"id": 16887,
"initialValue": {
"argumentTypes": null,
"arguments": [],
"expression": {
"argumentTypes": [],
"expression": {
"argumentTypes": null,
"id": 16884,
"name": "makerRegistry",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 13495,
"src": "1509:13:55",
"typeDescriptions": {
"typeIdentifier": "t_contract$_MakerRegistry_$487",
"typeString": "contract MakerRegistry"
}
},
"id": 16885,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "getCollateralTokens",
"nodeType": "MemberAccess",
"referencedDeclaration": 444,
"src": "1509:33:55",
"typeDescriptions": {
"typeIdentifier": "t_function_external_view$__$returns$_t_array$_t_address_$dyn_memory_ptr_$",
"typeString": "function () view external returns (address[] memory)"
}
},
"id": 16886,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "1509:35:55",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
"typeString": "address[] memory"
}
},
"nodeType": "VariableDeclarationStatement",
"src": "1483:61:55"
},
{
"body": {
"id": 16931,
"nodeType": "Block",
"src": "1598:288:55",
"statements": [
{
"assignments": [
16900
],
"declarations": [
{
"constant": false,
"id": 16900,
"name": "loanId",
"nodeType": "VariableDeclaration",
"scope": 16931,
"src": "1612:14:55",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
},
"typeName": {
"id": 16899,
"name": "bytes32",
"nodeType": "ElementaryTypeName",
"src": "1612:7:55",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"value": null,
"visibility": "internal"
}
],
"id": 16913,
"initialValue": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"id": 16904,
"name": "_wallet",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 16874,
"src": "1668:7:55",
"typeDescriptions": {
"typeIdentifier": "t_contract$_BaseWallet_$17655",
"typeString": "contract BaseWallet"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_contract$_BaseWallet_$17655",
"typeString": "contract BaseWallet"
}
],
"id": 16903,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"nodeType": "ElementaryTypeNameExpression",
"src": "1660:7:55",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_address_$",
"typeString": "type(address)"
},
"typeName": "address"
},
"id": 16905,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "typeConversion",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "1660:16:55",
"typeDescriptions": {
"typeIdentifier": "t_address_payable",
"typeString": "address payable"
}
},
{
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"baseExpression": {
"argumentTypes": null,
"id": 16908,
"name": "tokens",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 16883,
"src": "1699:6:55",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
"typeString": "address[] memory"
}
},
"id": 16910,
"indexExpression": {
"argumentTypes": null,
"id": 16909,
"name": "i",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 16889,
"src": "1706:1:55",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"isConstant": false,
"isLValue": true,
"isPure": false,
"lValueRequested": false,
"nodeType": "IndexAccess",
"src": "1699:9:55",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_address",
"typeString": "address"
}
],
"expression": {
"argumentTypes": null,
"id": 16906,
"name": "makerRegistry",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 13495,
"src": "1678:13:55",
"typeDescriptions": {
"typeIdentifier": "t_contract$_MakerRegistry_$487",
"typeString": "contract MakerRegistry"
}
},
"id": 16907,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "getIlk",
"nodeType": "MemberAccess",
"referencedDeclaration": 459,
"src": "1678:20:55",
"typeDescriptions": {
"typeIdentifier": "t_function_external_view$_t_address_$returns$_t_bytes32_$",
"typeString": "function (address) view external returns (bytes32)"
}
},
"id": 16911,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "1678:31:55",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_address_payable",
"typeString": "address payable"
},
{
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
],
"expression": {
"argumentTypes": null,
"id": 16901,
"name": "previousMakerV2Manager",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 16777,
"src": "1629:22:55",
"typeDescriptions": {
"typeIdentifier": "t_contract$_MakerV2Manager_$15077",
"typeString": "contract MakerV2Manager"
}
},
"id": 16902,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "loanIds",
"nodeType": "MemberAccess",
"referencedDeclaration": 13505,
"src": "1629:30:55",
"typeDescriptions": {
"typeIdentifier": "t_function_external_view$_t_address_$_t_bytes32_$returns$_t_bytes32_$",
"typeString": "function (address,bytes32) view external returns (bytes32)"
}
},
"id": 16912,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "1629:81:55",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"nodeType": "VariableDeclarationStatement",
"src": "1612:98:55"
},
{
"condition": {
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
},
"id": 16916,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
"id": 16914,
"name": "loanId",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 16900,
"src": "1728:6:55",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"nodeType": "BinaryOperation",
"operator": "!=",
"rightExpression": {
"argumentTypes": null,
"hexValue": "30",
"id": 16915,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "1738:1:55",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_rational_0_by_1",
"typeString": "int_const 0"
},
"value": "0"
},
"src": "1728:11:55",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"falseBody": null,
"id": 16930,
"nodeType": "IfStatement",
"src": "1724:152:55",
"trueBody": {
"id": 16929,
"nodeType": "Block",
"src": "1741:135:55",
"statements": [
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"id": 16920,
"name": "_wallet",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 16874,
"src": "1792:7:55",
"typeDescriptions": {
"typeIdentifier": "t_contract$_BaseWallet_$17655",
"typeString": "contract BaseWallet"
}
},
{
"argumentTypes": null,
"id": 16921,
"name": "loanId",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 16900,
"src": "1801:6:55",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_contract$_BaseWallet_$17655",
"typeString": "contract BaseWallet"
},
{
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
],
"expression": {
"argumentTypes": null,
"id": 16917,
"name": "previousMakerV2Manager",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 16777,
"src": "1759:22:55",
"typeDescriptions": {
"typeIdentifier": "t_contract$_MakerV2Manager_$15077",
"typeString": "contract MakerV2Manager"
}
},
"id": 16919,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "giveVault",
"nodeType": "MemberAccess",
"referencedDeclaration": 14176,
"src": "1759:32:55",
"typeDescriptions": {
"typeIdentifier": "t_function_external_nonpayable$_t_contract$_BaseWallet_$17655_$_t_bytes32_$returns$__$",
"typeString": "function (contract BaseWallet,bytes32) external"
}
},
"id": 16922,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "1759:49:55",
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 16923,
"nodeType": "ExpressionStatement",
"src": "1759:49:55"
},
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"id": 16925,
"name": "_wallet",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 16874,
"src": "1845:7:55",
"typeDescriptions": {
"typeIdentifier": "t_contract$_BaseWallet_$17655",
"typeString": "contract BaseWallet"
}
},
{
"argumentTypes": null,
"id": 16926,
"name": "loanId",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 16900,
"src": "1854:6:55",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_contract$_BaseWallet_$17655",
"typeString": "contract BaseWallet"
},
{
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
],
"id": 16924,
"name": "assignLoanToWallet",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 14256,
"src": "1826:18:55",
"typeDescriptions": {
"typeIdentifier": "t_function_internal_nonpayable$_t_contract$_BaseWallet_$17655_$_t_bytes32_$returns$_t_bytes32_$",
"typeString": "function (contract BaseWallet,bytes32) returns (bytes32)"
}
},
"id": 16927,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "1826:35:55",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"id": 16928,
"nodeType": "ExpressionStatement",
"src": "1826:35:55"
}
]
}
}
]
},
"condition": {
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"id": 16895,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
"id": 16892,
"name": "i",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 16889,
"src": "1574:1:55",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "BinaryOperation",
"operator": "<",
"rightExpression": {
"argumentTypes": null,
"expression": {
"argumentTypes": null,
"id": 16893,
"name": "tokens",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 16883,
"src": "1578:6:55",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
"typeString": "address[] memory"
}
},
"id": 16894,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "length",
"nodeType": "MemberAccess",
"referencedDeclaration": null,
"src": "1578:13:55",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"src": "1574:17:55",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"id": 16932,
"initializationExpression": {
"assignments": [
16889
],
"declarations": [
{
"constant": false,
"id": 16889,
"name": "i",
"nodeType": "VariableDeclaration",
"scope": 16932,
"src": "1559:9:55",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 16888,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "1559:7:55",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
}
],
"id": 16891,
"initialValue": {
"argumentTypes": null,
"hexValue": "30",
"id": 16890,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "1571:1:55",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_rational_0_by_1",
"typeString": "int_const 0"
},
"value": "0"
},
"nodeType": "VariableDeclarationStatement",
"src": "1559:13:55"
},
"loopExpression": {
"expression": {
"argumentTypes": null,
"id": 16897,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"nodeType": "UnaryOperation",
"operator": "++",
"prefix": false,
"src": "1593:3:55",
"subExpression": {
"argumentTypes": null,
"id": 16896,
"name": "i",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 16889,
"src": "1593:1:55",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"id": 16898,
"nodeType": "ExpressionStatement",
"src": "1593:3:55"
},
"nodeType": "ForStatement",
"src": "1554:332:55"
}
]
},
"documentation": null,
"id": 16934,
"implemented": true,
"kind": "function",
"modifiers": [
{
"arguments": [
{
"argumentTypes": null,
"id": 16877,
"name": "_wallet",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 16874,
"src": "1464:7:55",
"typeDescriptions": {
"typeIdentifier": "t_contract$_BaseWallet_$17655",
"typeString": "contract BaseWallet"
}
}
],
"id": 16878,
"modifierName": {
"argumentTypes": null,
"id": 16876,
"name": "onlyWallet",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 10986,
"src": "1453:10:55",
"typeDescriptions": {
"typeIdentifier": "t_modifier$_t_contract$_BaseWallet_$17655_$",
"typeString": "modifier (contract BaseWallet)"
}
},
"nodeType": "ModifierInvocation",
"src": "1453:19:55"
}
],
"name": "init2",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 16875,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 16874,
"name": "_wallet",
"nodeType": "VariableDeclaration",
"scope": 16934,
"src": "1426:18:55",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_contract$_BaseWallet_$17655",
"typeString": "contract BaseWallet"
},
"typeName": {
"contractScope": null,
"id": 16873,
"name": "BaseWallet",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 17655,
"src": "1426:10:55",
"typeDescriptions": {
"typeIdentifier": "t_contract$_BaseWallet_$17655",
"typeString": "contract BaseWallet"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "1425:20:55"
},
"returnParameters": {
"id": 16879,
"nodeType": "ParameterList",
"parameters": [],
"src": "1473:0:55"
},
"scope": 17121,
"src": "1411:481:55",
"stateMutability": "nonpayable",
"superFunction": null,
"visibility": "public"
},
{
"body": {
"id": 16995,
"nodeType": "Block",
"src": "1960:419:55",
"statements": [
{
"assignments": [
16945
],
"declarations": [
{
"constant": false,
"id": 16945,
"name": "tokens",
"nodeType": "VariableDeclaration",
"scope": 16995,
"src": "1970:23:55",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
"typeString": "address[]"
},
"typeName": {
"baseType": {
"id": 16943,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "1970:7:55",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"id": 16944,
"length": null,
"nodeType": "ArrayTypeName",
"src": "1970:9:55",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_address_$dyn_storage_ptr",
"typeString": "address[]"
}
},
"value": null,
"visibility": "internal"
}
],
"id": 16949,
"initialValue": {
"argumentTypes": null,
"arguments": [],
"expression": {
"argumentTypes": [],
"expression": {
"argumentTypes": null,
"id": 16946,
"name": "makerRegistry",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 13495,
"src": "1996:13:55",
"typeDescriptions": {
"typeIdentifier": "t_contract$_MakerRegistry_$487",
"typeString": "contract MakerRegistry"
}
},
"id": 16947,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "getCollateralTokens",
"nodeType": "MemberAccess",
"referencedDeclaration": 444,
"src": "1996:33:55",
"typeDescriptions": {
"typeIdentifier": "t_function_external_view$__$returns$_t_array$_t_address_$dyn_memory_ptr_$",
"typeString": "function () view external returns (address[] memory)"
}
},
"id": 16948,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "1996:35:55",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
"typeString": "address[] memory"
}
},
"nodeType": "VariableDeclarationStatement",
"src": "1970:61:55"
},
{
"body": {
"id": 16993,
"nodeType": "Block",
"src": "2085:288:55",
"statements": [
{
"assignments": [
16962
],
"declarations": [
{
"constant": false,
"id": 16962,
"name": "loanId",
"nodeType": "VariableDeclaration",
"scope": 16993,
"src": "2099:14:55",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
},
"typeName": {
"id": 16961,
"name": "bytes32",
"nodeType": "ElementaryTypeName",
"src": "2099:7:55",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"value": null,
"visibility": "internal"
}
],
"id": 16975,
"initialValue": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"id": 16966,
"name": "_wallet",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 16936,
"src": "2155:7:55",
"typeDescriptions": {
"typeIdentifier": "t_contract$_BaseWallet_$17655",
"typeString": "contract BaseWallet"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_contract$_BaseWallet_$17655",
"typeString": "contract BaseWallet"
}
],
"id": 16965,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"nodeType": "ElementaryTypeNameExpression",
"src": "2147:7:55",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_address_$",
"typeString": "type(address)"
},
"typeName": "address"
},
"id": 16967,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "typeConversion",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "2147:16:55",
"typeDescriptions": {
"typeIdentifier": "t_address_payable",
"typeString": "address payable"
}
},
{
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"baseExpression": {
"argumentTypes": null,
"id": 16970,
"name": "tokens",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 16945,
"src": "2186:6:55",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
"typeString": "address[] memory"
}
},
"id": 16972,
"indexExpression": {
"argumentTypes": null,
"id": 16971,
"name": "i",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 16951,
"src": "2193:1:55",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"isConstant": false,
"isLValue": true,
"isPure": false,
"lValueRequested": false,
"nodeType": "IndexAccess",
"src": "2186:9:55",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_address",
"typeString": "address"
}
],
"expression": {
"argumentTypes": null,
"id": 16968,
"name": "makerRegistry",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 13495,
"src": "2165:13:55",
"typeDescriptions": {
"typeIdentifier": "t_contract$_MakerRegistry_$487",
"typeString": "contract MakerRegistry"
}
},
"id": 16969,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "getIlk",
"nodeType": "MemberAccess",
"referencedDeclaration": 459,
"src": "2165:20:55",
"typeDescriptions": {
"typeIdentifier": "t_function_external_view$_t_address_$returns$_t_bytes32_$",
"typeString": "function (address) view external returns (bytes32)"
}
},
"id": 16973,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "2165:31:55",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_address_payable",
"typeString": "address payable"
},
{
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
],
"expression": {
"argumentTypes": null,
"id": 16963,
"name": "previousMakerV2Manager",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 16777,
"src": "2116:22:55",
"typeDescriptions": {
"typeIdentifier": "t_contract$_MakerV2Manager_$15077",
"typeString": "contract MakerV2Manager"
}
},
"id": 16964,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "loanIds",
"nodeType": "MemberAccess",
"referencedDeclaration": 13505,
"src": "2116:30:55",
"typeDescriptions": {
"typeIdentifier": "t_function_external_view$_t_address_$_t_bytes32_$returns$_t_bytes32_$",
"typeString": "function (address,bytes32) view external returns (bytes32)"
}
},
"id": 16974,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "2116:81:55",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"nodeType": "VariableDeclarationStatement",
"src": "2099:98:55"
},
{
"condition": {
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
},
"id": 16978,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
"id": 16976,
"name": "loanId",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 16962,
"src": "2215:6:55",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"nodeType": "BinaryOperation",
"operator": "!=",
"rightExpression": {
"argumentTypes": null,
"hexValue": "30",
"id": 16977,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "2225:1:55",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_rational_0_by_1",
"typeString": "int_const 0"
},
"value": "0"
},
"src": "2215:11:55",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"falseBody": null,
"id": 16992,
"nodeType": "IfStatement",
"src": "2211:152:55",
"trueBody": {
"id": 16991,
"nodeType": "Block",
"src": "2228:135:55",
"statements": [
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"id": 16982,
"name": "_wallet",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 16936,
"src": "2279:7:55",
"typeDescriptions": {
"typeIdentifier": "t_contract$_BaseWallet_$17655",
"typeString": "contract BaseWallet"
}
},
{
"argumentTypes": null,
"id": 16983,
"name": "loanId",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 16962,
"src": "2288:6:55",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_contract$_BaseWallet_$17655",
"typeString": "contract BaseWallet"
},
{
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
],
"expression": {
"argumentTypes": null,
"id": 16979,
"name": "previousMakerV2Manager",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 16777,
"src": "2246:22:55",
"typeDescriptions": {
"typeIdentifier": "t_contract$_MakerV2Manager_$15077",
"typeString": "contract MakerV2Manager"
}
},
"id": 16981,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "giveVault",
"nodeType": "MemberAccess",
"referencedDeclaration": 14176,
"src": "2246:32:55",
"typeDescriptions": {
"typeIdentifier": "t_function_external_nonpayable$_t_contract$_BaseWallet_$17655_$_t_bytes32_$returns$__$",
"typeString": "function (contract BaseWallet,bytes32) external"
}
},
"id": 16984,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "2246:49:55",
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 16985,
"nodeType": "ExpressionStatement",
"src": "2246:49:55"
},
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"id": 16987,
"name": "_wallet",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 16936,
"src": "2332:7:55",
"typeDescriptions": {
"typeIdentifier": "t_contract$_BaseWallet_$17655",
"typeString": "contract BaseWallet"
}
},
{
"argumentTypes": null,
"id": 16988,
"name": "loanId",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 16962,
"src": "2341:6:55",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_contract$_BaseWallet_$17655",
"typeString": "contract BaseWallet"
},
{
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
],
"id": 16986,
"name": "assignLoanToWallet",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 14256,
"src": "2313:18:55",
"typeDescriptions": {
"typeIdentifier": "t_function_internal_nonpayable$_t_contract$_BaseWallet_$17655_$_t_bytes32_$returns$_t_bytes32_$",
"typeString": "function (contract BaseWallet,bytes32) returns (bytes32)"
}
},
"id": 16989,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "2313:35:55",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"id": 16990,
"nodeType": "ExpressionStatement",
"src": "2313:35:55"
}
]
}
}
]
},
"condition": {
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"id": 16957,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
"id": 16954,
"name": "i",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 16951,
"src": "2061:1:55",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "BinaryOperation",
"operator": "<",
"rightExpression": {
"argumentTypes": null,
"expression": {
"argumentTypes": null,
"id": 16955,
"name": "tokens",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 16945,
"src": "2065:6:55",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
"typeString": "address[] memory"
}
},
"id": 16956,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "length",
"nodeType": "MemberAccess",
"referencedDeclaration": null,
"src": "2065:13:55",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"src": "2061:17:55",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"id": 16994,
"initializationExpression": {
"assignments": [
16951
],
"declarations": [
{
"constant": false,
"id": 16951,
"name": "i",
"nodeType": "VariableDeclaration",
"scope": 16994,
"src": "2046:9:55",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 16950,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "2046:7:55",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
}
],
"id": 16953,
"initialValue": {
"argumentTypes": null,
"hexValue": "30",
"id": 16952,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "2058:1:55",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_rational_0_by_1",
"typeString": "int_const 0"
},
"value": "0"
},
"nodeType": "VariableDeclarationStatement",
"src": "2046:13:55"
},
"loopExpression": {
"expression": {
"argumentTypes": null,
"id": 16959,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"nodeType": "UnaryOperation",
"operator": "++",
"prefix": false,
"src": "2080:3:55",
"subExpression": {
"argumentTypes": null,
"id": 16958,
"name": "i",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 16951,
"src": "2080:1:55",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"id": 16960,
"nodeType": "ExpressionStatement",
"src": "2080:3:55"
},
"nodeType": "ForStatement",
"src": "2041:332:55"
}
]
},
"documentation": null,
"id": 16996,
"implemented": true,
"kind": "function",
"modifiers": [
{
"arguments": [
{
"argumentTypes": null,
"id": 16939,
"name": "_wallet",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 16936,
"src": "1951:7:55",
"typeDescriptions": {
"typeIdentifier": "t_contract$_BaseWallet_$17655",
"typeString": "contract BaseWallet"
}
}
],
"id": 16940,
"modifierName": {
"argumentTypes": null,
"id": 16938,
"name": "onlyWallet",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 10986,
"src": "1940:10:55",
"typeDescriptions": {
"typeIdentifier": "t_modifier$_t_contract$_BaseWallet_$17655_$",
"typeString": "modifier (contract BaseWallet)"
}
},
"nodeType": "ModifierInvocation",
"src": "1940:19:55"
}
],
"name": "init3",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 16937,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 16936,
"name": "_wallet",
"nodeType": "VariableDeclaration",
"scope": 16996,
"src": "1913:18:55",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_contract$_BaseWallet_$17655",
"typeString": "contract BaseWallet"
},
"typeName": {
"contractScope": null,
"id": 16935,
"name": "BaseWallet",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 17655,
"src": "1913:10:55",
"typeDescriptions": {
"typeIdentifier": "t_contract$_BaseWallet_$17655",
"typeString": "contract BaseWallet"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "1912:20:55"
},
"returnParameters": {
"id": 16941,
"nodeType": "ParameterList",
"parameters": [],
"src": "1960:0:55"
},
"scope": 17121,
"src": "1898:481:55",
"stateMutability": "nonpayable",
"superFunction": null,
"visibility": "public"
},
{
"body": {
"id": 17057,
"nodeType": "Block",
"src": "2447:419:55",
"statements": [
{
"assignments": [
17007
],
"declarations": [
{
"constant": false,
"id": 17007,
"name": "tokens",
"nodeType": "VariableDeclaration",
"scope": 17057,
"src": "2457:23:55",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
"typeString": "address[]"
},
"typeName": {
"baseType": {
"id": 17005,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "2457:7:55",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"id": 17006,
"length": null,
"nodeType": "ArrayTypeName",
"src": "2457:9:55",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_address_$dyn_storage_ptr",
"typeString": "address[]"
}
},
"value": null,
"visibility": "internal"
}
],
"id": 17011,
"initialValue": {
"argumentTypes": null,
"arguments": [],
"expression": {
"argumentTypes": [],
"expression": {
"argumentTypes": null,
"id": 17008,
"name": "makerRegistry",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 13495,
"src": "2483:13:55",
"typeDescriptions": {
"typeIdentifier": "t_contract$_MakerRegistry_$487",
"typeString": "contract MakerRegistry"
}
},
"id": 17009,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "getCollateralTokens",
"nodeType": "MemberAccess",
"referencedDeclaration": 444,
"src": "2483:33:55",
"typeDescriptions": {
"typeIdentifier": "t_function_external_view$__$returns$_t_array$_t_address_$dyn_memory_ptr_$",
"typeString": "function () view external returns (address[] memory)"
}
},
"id": 17010,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "2483:35:55",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
"typeString": "address[] memory"
}
},
"nodeType": "VariableDeclarationStatement",
"src": "2457:61:55"
},
{
"body": {
"id": 17055,
"nodeType": "Block",
"src": "2572:288:55",
"statements": [
{
"assignments": [
17024
],
"declarations": [
{
"constant": false,
"id": 17024,
"name": "loanId",
"nodeType": "VariableDeclaration",
"scope": 17055,
"src": "2586:14:55",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
},
"typeName": {
"id": 17023,
"name": "bytes32",
"nodeType": "ElementaryTypeName",
"src": "2586:7:55",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"value": null,
"visibility": "internal"
}
],
"id": 17037,
"initialValue": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"id": 17028,
"name": "_wallet",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 16998,
"src": "2642:7:55",
"typeDescriptions": {
"typeIdentifier": "t_contract$_BaseWallet_$17655",
"typeString": "contract BaseWallet"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_contract$_BaseWallet_$17655",
"typeString": "contract BaseWallet"
}
],
"id": 17027,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"nodeType": "ElementaryTypeNameExpression",
"src": "2634:7:55",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_address_$",
"typeString": "type(address)"
},
"typeName": "address"
},
"id": 17029,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "typeConversion",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "2634:16:55",
"typeDescriptions": {
"typeIdentifier": "t_address_payable",
"typeString": "address payable"
}
},
{
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"baseExpression": {
"argumentTypes": null,
"id": 17032,
"name": "tokens",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 17007,
"src": "2673:6:55",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
"typeString": "address[] memory"
}
},
"id": 17034,
"indexExpression": {
"argumentTypes": null,
"id": 17033,
"name": "i",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 17013,
"src": "2680:1:55",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"isConstant": false,
"isLValue": true,
"isPure": false,
"lValueRequested": false,
"nodeType": "IndexAccess",
"src": "2673:9:55",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_address",
"typeString": "address"
}
],
"expression": {
"argumentTypes": null,
"id": 17030,
"name": "makerRegistry",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 13495,
"src": "2652:13:55",
"typeDescriptions": {
"typeIdentifier": "t_contract$_MakerRegistry_$487",
"typeString": "contract MakerRegistry"
}
},
"id": 17031,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "getIlk",
"nodeType": "MemberAccess",
"referencedDeclaration": 459,
"src": "2652:20:55",
"typeDescriptions": {
"typeIdentifier": "t_function_external_view$_t_address_$returns$_t_bytes32_$",
"typeString": "function (address) view external returns (bytes32)"
}
},
"id": 17035,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "2652:31:55",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_address_payable",
"typeString": "address payable"
},
{
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
],
"expression": {
"argumentTypes": null,
"id": 17025,
"name": "previousMakerV2Manager",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 16777,
"src": "2603:22:55",
"typeDescriptions": {
"typeIdentifier": "t_contract$_MakerV2Manager_$15077",
"typeString": "contract MakerV2Manager"
}
},
"id": 17026,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "loanIds",
"nodeType": "MemberAccess",
"referencedDeclaration": 13505,
"src": "2603:30:55",
"typeDescriptions": {
"typeIdentifier": "t_function_external_view$_t_address_$_t_bytes32_$returns$_t_bytes32_$",
"typeString": "function (address,bytes32) view external returns (bytes32)"
}
},
"id": 17036,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "2603:81:55",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"nodeType": "VariableDeclarationStatement",
"src": "2586:98:55"
},
{
"condition": {
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
},
"id": 17040,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
"id": 17038,
"name": "loanId",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 17024,
"src": "2702:6:55",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"nodeType": "BinaryOperation",
"operator": "!=",
"rightExpression": {
"argumentTypes": null,
"hexValue": "30",
"id": 17039,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "2712:1:55",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_rational_0_by_1",
"typeString": "int_const 0"
},
"value": "0"
},
"src": "2702:11:55",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"falseBody": null,
"id": 17054,
"nodeType": "IfStatement",
"src": "2698:152:55",
"trueBody": {
"id": 17053,
"nodeType": "Block",
"src": "2715:135:55",
"statements": [
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"id": 17044,
"name": "_wallet",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 16998,
"src": "2766:7:55",
"typeDescriptions": {
"typeIdentifier": "t_contract$_BaseWallet_$17655",
"typeString": "contract BaseWallet"
}
},
{
"argumentTypes": null,
"id": 17045,
"name": "loanId",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 17024,
"src": "2775:6:55",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_contract$_BaseWallet_$17655",
"typeString": "contract BaseWallet"
},
{
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
],
"expression": {
"argumentTypes": null,
"id": 17041,
"name": "previousMakerV2Manager",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 16777,
"src": "2733:22:55",
"typeDescriptions": {
"typeIdentifier": "t_contract$_MakerV2Manager_$15077",
"typeString": "contract MakerV2Manager"
}
},
"id": 17043,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "giveVault",
"nodeType": "MemberAccess",
"referencedDeclaration": 14176,
"src": "2733:32:55",
"typeDescriptions": {
"typeIdentifier": "t_function_external_nonpayable$_t_contract$_BaseWallet_$17655_$_t_bytes32_$returns$__$",
"typeString": "function (contract BaseWallet,bytes32) external"
}
},
"id": 17046,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "2733:49:55",
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 17047,
"nodeType": "ExpressionStatement",
"src": "2733:49:55"
},
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"id": 17049,
"name": "_wallet",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 16998,
"src": "2819:7:55",
"typeDescriptions": {
"typeIdentifier": "t_contract$_BaseWallet_$17655",
"typeString": "contract BaseWallet"
}
},
{
"argumentTypes": null,
"id": 17050,
"name": "loanId",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 17024,
"src": "2828:6:55",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_contract$_BaseWallet_$17655",
"typeString": "contract BaseWallet"
},
{
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
],
"id": 17048,
"name": "assignLoanToWallet",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 14256,
"src": "2800:18:55",
"typeDescriptions": {
"typeIdentifier": "t_function_internal_nonpayable$_t_contract$_BaseWallet_$17655_$_t_bytes32_$returns$_t_bytes32_$",
"typeString": "function (contract BaseWallet,bytes32) returns (bytes32)"
}
},
"id": 17051,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "2800:35:55",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"id": 17052,
"nodeType": "ExpressionStatement",
"src": "2800:35:55"
}
]
}
}
]
},
"condition": {
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"id": 17019,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
"id": 17016,
"name": "i",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 17013,
"src": "2548:1:55",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "BinaryOperation",
"operator": "<",
"rightExpression": {
"argumentTypes": null,
"expression": {
"argumentTypes": null,
"id": 17017,
"name": "tokens",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 17007,
"src": "2552:6:55",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
"typeString": "address[] memory"
}
},
"id": 17018,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "length",
"nodeType": "MemberAccess",
"referencedDeclaration": null,
"src": "2552:13:55",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"src": "2548:17:55",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"id": 17056,
"initializationExpression": {
"assignments": [
17013
],
"declarations": [
{
"constant": false,
"id": 17013,
"name": "i",
"nodeType": "VariableDeclaration",
"scope": 17056,
"src": "2533:9:55",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 17012,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "2533:7:55",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
}
],
"id": 17015,
"initialValue": {
"argumentTypes": null,
"hexValue": "30",
"id": 17014,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "2545:1:55",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_rational_0_by_1",
"typeString": "int_const 0"
},
"value": "0"
},
"nodeType": "VariableDeclarationStatement",
"src": "2533:13:55"
},
"loopExpression": {
"expression": {
"argumentTypes": null,
"id": 17021,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"nodeType": "UnaryOperation",
"operator": "++",
"prefix": false,
"src": "2567:3:55",
"subExpression": {
"argumentTypes": null,
"id": 17020,
"name": "i",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 17013,
"src": "2567:1:55",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"id": 17022,
"nodeType": "ExpressionStatement",
"src": "2567:3:55"
},
"nodeType": "ForStatement",
"src": "2528:332:55"
}
]
},
"documentation": null,
"id": 17058,
"implemented": true,
"kind": "function",
"modifiers": [
{
"arguments": [
{
"argumentTypes": null,
"id": 17001,
"name": "_wallet",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 16998,
"src": "2438:7:55",
"typeDescriptions": {
"typeIdentifier": "t_contract$_BaseWallet_$17655",
"typeString": "contract BaseWallet"
}
}
],
"id": 17002,
"modifierName": {
"argumentTypes": null,
"id": 17000,
"name": "onlyWallet",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 10986,
"src": "2427:10:55",
"typeDescriptions": {
"typeIdentifier": "t_modifier$_t_contract$_BaseWallet_$17655_$",
"typeString": "modifier (contract BaseWallet)"
}
},
"nodeType": "ModifierInvocation",
"src": "2427:19:55"
}
],
"name": "init4",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 16999,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 16998,
"name": "_wallet",
"nodeType": "VariableDeclaration",
"scope": 17058,
"src": "2400:18:55",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_contract$_BaseWallet_$17655",
"typeString": "contract BaseWallet"
},
"typeName": {
"contractScope": null,
"id": 16997,
"name": "BaseWallet",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 17655,
"src": "2400:10:55",
"typeDescriptions": {
"typeIdentifier": "t_contract$_BaseWallet_$17655",
"typeString": "contract BaseWallet"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "2399:20:55"
},
"returnParameters": {
"id": 17003,
"nodeType": "ParameterList",
"parameters": [],
"src": "2447:0:55"
},
"scope": 17121,
"src": "2385:481:55",
"stateMutability": "nonpayable",
"superFunction": null,
"visibility": "public"
},
{
"body": {
"id": 17119,
"nodeType": "Block",
"src": "2934:419:55",
"statements": [
{
"assignments": [
17069
],
"declarations": [
{
"constant": false,
"id": 17069,
"name": "tokens",
"nodeType": "VariableDeclaration",
"scope": 17119,
"src": "2944:23:55",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
"typeString": "address[]"
},
"typeName": {
"baseType": {
"id": 17067,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "2944:7:55",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"id": 17068,
"length": null,
"nodeType": "ArrayTypeName",
"src": "2944:9:55",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_address_$dyn_storage_ptr",
"typeString": "address[]"
}
},
"value": null,
"visibility": "internal"
}
],
"id": 17073,
"initialValue": {
"argumentTypes": null,
"arguments": [],
"expression": {
"argumentTypes": [],
"expression": {
"argumentTypes": null,
"id": 17070,
"name": "makerRegistry",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 13495,
"src": "2970:13:55",
"typeDescriptions": {
"typeIdentifier": "t_contract$_MakerRegistry_$487",
"typeString": "contract MakerRegistry"
}
},
"id": 17071,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "getCollateralTokens",
"nodeType": "MemberAccess",
"referencedDeclaration": 444,
"src": "2970:33:55",
"typeDescriptions": {
"typeIdentifier": "t_function_external_view$__$returns$_t_array$_t_address_$dyn_memory_ptr_$",
"typeString": "function () view external returns (address[] memory)"
}
},
"id": 17072,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "2970:35:55",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
"typeString": "address[] memory"
}
},
"nodeType": "VariableDeclarationStatement",
"src": "2944:61:55"
},
{
"body": {
"id": 17117,
"nodeType": "Block",
"src": "3059:288:55",
"statements": [
{
"assignments": [
17086
],
"declarations": [
{
"constant": false,
"id": 17086,
"name": "loanId",
"nodeType": "VariableDeclaration",
"scope": 17117,
"src": "3073:14:55",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
},
"typeName": {
"id": 17085,
"name": "bytes32",
"nodeType": "ElementaryTypeName",
"src": "3073:7:55",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"value": null,
"visibility": "internal"
}
],
"id": 17099,
"initialValue": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"id": 17090,
"name": "_wallet",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 17060,
"src": "3129:7:55",
"typeDescriptions": {
"typeIdentifier": "t_contract$_BaseWallet_$17655",
"typeString": "contract BaseWallet"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_contract$_BaseWallet_$17655",
"typeString": "contract BaseWallet"
}
],
"id": 17089,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"nodeType": "ElementaryTypeNameExpression",
"src": "3121:7:55",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_address_$",
"typeString": "type(address)"
},
"typeName": "address"
},
"id": 17091,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "typeConversion",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "3121:16:55",
"typeDescriptions": {
"typeIdentifier": "t_address_payable",
"typeString": "address payable"
}
},
{
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"baseExpression": {
"argumentTypes": null,
"id": 17094,
"name": "tokens",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 17069,
"src": "3160:6:55",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
"typeString": "address[] memory"
}
},
"id": 17096,
"indexExpression": {
"argumentTypes": null,
"id": 17095,
"name": "i",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 17075,
"src": "3167:1:55",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"isConstant": false,
"isLValue": true,
"isPure": false,
"lValueRequested": false,
"nodeType": "IndexAccess",
"src": "3160:9:55",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_address",
"typeString": "address"
}
],
"expression": {
"argumentTypes": null,
"id": 17092,
"name": "makerRegistry",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 13495,
"src": "3139:13:55",
"typeDescriptions": {
"typeIdentifier": "t_contract$_MakerRegistry_$487",
"typeString": "contract MakerRegistry"
}
},
"id": 17093,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "getIlk",
"nodeType": "MemberAccess",
"referencedDeclaration": 459,
"src": "3139:20:55",
"typeDescriptions": {
"typeIdentifier": "t_function_external_view$_t_address_$returns$_t_bytes32_$",
"typeString": "function (address) view external returns (bytes32)"
}
},
"id": 17097,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "3139:31:55",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_address_payable",
"typeString": "address payable"
},
{
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
],
"expression": {
"argumentTypes": null,
"id": 17087,
"name": "previousMakerV2Manager",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 16777,
"src": "3090:22:55",
"typeDescriptions": {
"typeIdentifier": "t_contract$_MakerV2Manager_$15077",
"typeString": "contract MakerV2Manager"
}
},
"id": 17088,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "loanIds",
"nodeType": "MemberAccess",
"referencedDeclaration": 13505,
"src": "3090:30:55",
"typeDescriptions": {
"typeIdentifier": "t_function_external_view$_t_address_$_t_bytes32_$returns$_t_bytes32_$",
"typeString": "function (address,bytes32) view external returns (bytes32)"
}
},
"id": 17098,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "3090:81:55",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"nodeType": "VariableDeclarationStatement",
"src": "3073:98:55"
},
{
"condition": {
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
},
"id": 17102,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
"id": 17100,
"name": "loanId",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 17086,
"src": "3189:6:55",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"nodeType": "BinaryOperation",
"operator": "!=",
"rightExpression": {
"argumentTypes": null,
"hexValue": "30",
"id": 17101,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "3199:1:55",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_rational_0_by_1",
"typeString": "int_const 0"
},
"value": "0"
},
"src": "3189:11:55",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"falseBody": null,
"id": 17116,
"nodeType": "IfStatement",
"src": "3185:152:55",
"trueBody": {
"id": 17115,
"nodeType": "Block",
"src": "3202:135:55",
"statements": [
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"id": 17106,
"name": "_wallet",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 17060,
"src": "3253:7:55",
"typeDescriptions": {
"typeIdentifier": "t_contract$_BaseWallet_$17655",
"typeString": "contract BaseWallet"
}
},
{
"argumentTypes": null,
"id": 17107,
"name": "loanId",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 17086,
"src": "3262:6:55",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_contract$_BaseWallet_$17655",
"typeString": "contract BaseWallet"
},
{
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
],
"expression": {
"argumentTypes": null,
"id": 17103,
"name": "previousMakerV2Manager",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 16777,
"src": "3220:22:55",
"typeDescriptions": {
"typeIdentifier": "t_contract$_MakerV2Manager_$15077",
"typeString": "contract MakerV2Manager"
}
},
"id": 17105,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "giveVault",
"nodeType": "MemberAccess",
"referencedDeclaration": 14176,
"src": "3220:32:55",
"typeDescriptions": {
"typeIdentifier": "t_function_external_nonpayable$_t_contract$_BaseWallet_$17655_$_t_bytes32_$returns$__$",
"typeString": "function (contract BaseWallet,bytes32) external"
}
},
"id": 17108,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "3220:49:55",
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 17109,
"nodeType": "ExpressionStatement",
"src": "3220:49:55"
},
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"id": 17111,
"name": "_wallet",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 17060,
"src": "3306:7:55",
"typeDescriptions": {
"typeIdentifier": "t_contract$_BaseWallet_$17655",
"typeString": "contract BaseWallet"
}
},
{
"argumentTypes": null,
"id": 17112,
"name": "loanId",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 17086,
"src": "3315:6:55",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_contract$_BaseWallet_$17655",
"typeString": "contract BaseWallet"
},
{
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
],
"id": 17110,
"name": "assignLoanToWallet",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 14256,
"src": "3287:18:55",
"typeDescriptions": {
"typeIdentifier": "t_function_internal_nonpayable$_t_contract$_BaseWallet_$17655_$_t_bytes32_$returns$_t_bytes32_$",
"typeString": "function (contract BaseWallet,bytes32) returns (bytes32)"
}
},
"id": 17113,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "3287:35:55",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"id": 17114,
"nodeType": "ExpressionStatement",
"src": "3287:35:55"
}
]
}
}
]
},
"condition": {
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"id": 17081,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
"id": 17078,
"name": "i",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 17075,
"src": "3035:1:55",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "BinaryOperation",
"operator": "<",
"rightExpression": {
"argumentTypes": null,
"expression": {
"argumentTypes": null,
"id": 17079,
"name": "tokens",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 17069,
"src": "3039:6:55",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
"typeString": "address[] memory"
}
},
"id": 17080,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "length",
"nodeType": "MemberAccess",
"referencedDeclaration": null,
"src": "3039:13:55",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"src": "3035:17:55",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"id": 17118,
"initializationExpression": {
"assignments": [
17075
],
"declarations": [
{
"constant": false,
"id": 17075,
"name": "i",
"nodeType": "VariableDeclaration",
"scope": 17118,
"src": "3020:9:55",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 17074,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "3020:7:55",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
}
],
"id": 17077,
"initialValue": {
"argumentTypes": null,
"hexValue": "30",
"id": 17076,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "3032:1:55",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_rational_0_by_1",
"typeString": "int_const 0"
},
"value": "0"
},
"nodeType": "VariableDeclarationStatement",
"src": "3020:13:55"
},
"loopExpression": {
"expression": {
"argumentTypes": null,
"id": 17083,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"nodeType": "UnaryOperation",
"operator": "++",
"prefix": false,
"src": "3054:3:55",
"subExpression": {
"argumentTypes": null,
"id": 17082,
"name": "i",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 17075,
"src": "3054:1:55",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"id": 17084,
"nodeType": "ExpressionStatement",
"src": "3054:3:55"
},
"nodeType": "ForStatement",
"src": "3015:332:55"
}
]
},
"documentation": null,
"id": 17120,
"implemented": true,
"kind": "function",
"modifiers": [
{
"arguments": [
{
"argumentTypes": null,
"id": 17063,
"name": "_wallet",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 17060,
"src": "2925:7:55",
"typeDescriptions": {
"typeIdentifier": "t_contract$_BaseWallet_$17655",
"typeString": "contract BaseWallet"
}
}
],
"id": 17064,
"modifierName": {
"argumentTypes": null,
"id": 17062,
"name": "onlyWallet",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 10986,
"src": "2914:10:55",
"typeDescriptions": {
"typeIdentifier": "t_modifier$_t_contract$_BaseWallet_$17655_$",
"typeString": "modifier (contract BaseWallet)"
}
},
"nodeType": "ModifierInvocation",
"src": "2914:19:55"
}
],
"name": "init5",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 17061,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 17060,
"name": "_wallet",
"nodeType": "VariableDeclaration",
"scope": 17120,
"src": "2887:18:55",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_contract$_BaseWallet_$17655",
"typeString": "contract BaseWallet"
},
"typeName": {
"contractScope": null,
"id": 17059,
"name": "BaseWallet",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 17655,
"src": "2887:10:55",
"typeDescriptions": {
"typeIdentifier": "t_contract$_BaseWallet_$17655",
"typeString": "contract BaseWallet"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "2886:20:55"
},
"returnParameters": {
"id": 17065,
"nodeType": "ParameterList",
"parameters": [],
"src": "2934:0:55"
},
"scope": 17121,
"src": "2872:481:55",
"stateMutability": "nonpayable",
"superFunction": null,
"visibility": "public"
}
],
"scope": 17122,
"src": "201:3154:55"
}
],
"src": "0:3355:55"
},
"legacyAST": {
"absolutePath": "/Users/Elena/Source/argent-contracts/contracts/test/TestUpgradedMakerV2Manager.sol",
"exportedSymbols": {
"TestUpgradedMakerV2Manager": [
17121
]
},
"id": 17122,
"nodeType": "SourceUnit",
"nodes": [
{
"id": 16772,
"literals": [
"solidity",
"^",
"0.5",
".4"
],
"nodeType": "PragmaDirective",
"src": "0:23:55"
},
{
"absolutePath": "/Users/Elena/Source/argent-contracts/contracts/modules/maker/MakerV2Manager.sol",
"file": "../modules/maker/MakerV2Manager.sol",
"id": 16773,
"nodeType": "ImportDirective",
"scope": 17122,
"sourceUnit": 15078,
"src": "25:45:55",
"symbolAliases": [],
"unitAlias": ""
},
{
"baseContracts": [
{
"arguments": null,
"baseName": {
"contractScope": null,
"id": 16774,
"name": "MakerV2Manager",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 15077,
"src": "240:14:55",
"typeDescriptions": {
"typeIdentifier": "t_contract$_MakerV2Manager_$15077",
"typeString": "contract MakerV2Manager"
}
},
"id": 16775,
"nodeType": "InheritanceSpecifier",
"src": "240:14:55"
}
],
"contractDependencies": [
11202,
12228,
12312,
12982,
13054,
13435,
15034,
15077,
18279
],
"contractKind": "contract",
"documentation": "@title TestUpgradedMakerV2Manager\n@dev Test upgraded MakerV2 module.\n@author Olivier VDB - <olivier@argent.xyz>",
"fullyImplemented": true,
"id": 17121,
"linearizedBaseContracts": [
17121,
15077,
15034,
13435,
13054,
12312,
12982,
11202,
12228,
18279
],
"name": "TestUpgradedMakerV2Manager",
"nodeType": "ContractDefinition",
"nodes": [
{
"constant": false,
"id": 16777,
"name": "previousMakerV2Manager",
"nodeType": "VariableDeclaration",
"scope": 17121,
"src": "261:45:55",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_contract$_MakerV2Manager_$15077",
"typeString": "contract MakerV2Manager"
},
"typeName": {
"contractScope": null,
"id": 16776,
"name": "MakerV2Manager",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 15077,
"src": "261:14:55",
"typeDescriptions": {
"typeIdentifier": "t_contract$_MakerV2Manager_$15077",
"typeString": "contract MakerV2Manager"
}
},
"value": null,
"visibility": "private"
},
{
"body": {
"id": 16809,
"nodeType": "Block",
"src": "854:65:55",
"statements": [
{
"expression": {
"argumentTypes": null,
"id": 16807,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftHandSide": {
"argumentTypes": null,
"id": 16805,
"name": "previousMakerV2Manager",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 16777,
"src": "864:22:55",
"typeDescriptions": {
"typeIdentifier": "t_contract$_MakerV2Manager_$15077",
"typeString": "contract MakerV2Manager"
}
},
"nodeType": "Assignment",
"operator": "=",
"rightHandSide": {
"argumentTypes": null,
"id": 16806,
"name": "_previousMakerV2Manager",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 16793,
"src": "889:23:55",
"typeDescriptions": {
"typeIdentifier": "t_contract$_MakerV2Manager_$15077",
"typeString": "contract MakerV2Manager"
}
},
"src": "864:48:55",
"typeDescriptions": {
"typeIdentifier": "t_contract$_MakerV2Manager_$15077",
"typeString": "contract MakerV2Manager"
}
},
"id": 16808,
"nodeType": "ExpressionStatement",
"src": "864:48:55"
}
]
},
"documentation": null,
"id": 16810,
"implemented": true,
"kind": "constructor",
"modifiers": [
{
"arguments": [
{
"argumentTypes": null,
"id": 16796,
"name": "_registry",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 16779,
"src": "661:9:55",
"typeDescriptions": {
"typeIdentifier": "t_contract$_ModuleRegistry_$758",
"typeString": "contract ModuleRegistry"
}
},
{
"argumentTypes": null,
"id": 16797,
"name": "_guardianStorage",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 16781,
"src": "684:16:55",
"typeDescriptions": {
"typeIdentifier": "t_contract$_GuardianStorage_$15408",
"typeString": "contract GuardianStorage"
}
},
{
"argumentTypes": null,
"id": 16798,
"name": "_scdMcdMigration",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 16783,
"src": "714:16:55",
"typeDescriptions": {
"typeIdentifier": "t_contract$_ScdMcdMigrationLike_$19177",
"typeString": "contract ScdMcdMigrationLike"
}
},
{
"argumentTypes": null,
"id": 16799,
"name": "_pot",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 16785,
"src": "744:4:55",
"typeDescriptions": {
"typeIdentifier": "t_contract$_PotLike_$19277",
"typeString": "contract PotLike"
}
},
{
"argumentTypes": null,
"id": 16800,
"name": "_jug",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 16787,
"src": "762:4:55",
"typeDescriptions": {
"typeIdentifier": "t_contract$_JugLike_$19261",
"typeString": "contract JugLike"
}
},
{
"argumentTypes": null,
"id": 16801,
"name": "_makerRegistry",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 16789,
"src": "780:14:55",
"typeDescriptions": {
"typeIdentifier": "t_contract$_MakerRegistry_$487",
"typeString": "contract MakerRegistry"
}
},
{
"argumentTypes": null,
"id": 16802,
"name": "_uniswapFactory",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 16791,
"src": "808:15:55",
"typeDescriptions": {
"typeIdentifier": "t_contract$_IUniswapFactory_$13448",
"typeString": "contract IUniswapFactory"
}
}
],
"id": 16803,
"modifierName": {
"argumentTypes": null,
"id": 16795,
"name": "MakerV2Manager",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 15077,
"src": "633:14:55",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_contract$_MakerV2Manager_$15077_$",
"typeString": "type(contract MakerV2Manager)"
}
},
"nodeType": "ModifierInvocation",
"src": "633:200:55"
}
],
"name": "",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 16794,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 16779,
"name": "_registry",
"nodeType": "VariableDeclaration",
"scope": 16810,
"src": "334:24:55",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_contract$_ModuleRegistry_$758",
"typeString": "contract ModuleRegistry"
},
"typeName": {
"contractScope": null,
"id": 16778,
"name": "ModuleRegistry",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 758,
"src": "334:14:55",
"typeDescriptions": {
"typeIdentifier": "t_contract$_ModuleRegistry_$758",
"typeString": "contract ModuleRegistry"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 16781,
"name": "_guardianStorage",
"nodeType": "VariableDeclaration",
"scope": 16810,
"src": "368:32:55",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_contract$_GuardianStorage_$15408",
"typeString": "contract GuardianStorage"
},
"typeName": {
"contractScope": null,
"id": 16780,
"name": "GuardianStorage",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 15408,
"src": "368:15:55",
"typeDescriptions": {
"typeIdentifier": "t_contract$_GuardianStorage_$15408",
"typeString": "contract GuardianStorage"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 16783,
"name": "_scdMcdMigration",
"nodeType": "VariableDeclaration",
"scope": 16810,
"src": "410:36:55",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_contract$_ScdMcdMigrationLike_$19177",
"typeString": "contract ScdMcdMigrationLike"
},
"typeName": {
"contractScope": null,
"id": 16782,
"name": "ScdMcdMigrationLike",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 19177,
"src": "410:19:55",
"typeDescriptions": {
"typeIdentifier": "t_contract$_ScdMcdMigrationLike_$19177",
"typeString": "contract ScdMcdMigrationLike"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 16785,
"name": "_pot",
"nodeType": "VariableDeclaration",
"scope": 16810,
"src": "456:12:55",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_contract$_PotLike_$19277",
"typeString": "contract PotLike"
},
"typeName": {
"contractScope": null,
"id": 16784,
"name": "PotLike",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 19277,
"src": "456:7:55",
"typeDescriptions": {
"typeIdentifier": "t_contract$_PotLike_$19277",
"typeString": "contract PotLike"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 16787,
"name": "_jug",
"nodeType": "VariableDeclaration",
"scope": 16810,
"src": "478:12:55",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_contract$_JugLike_$19261",
"typeString": "contract JugLike"
},
"typeName": {
"contractScope": null,
"id": 16786,
"name": "JugLike",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 19261,
"src": "478:7:55",
"typeDescriptions": {
"typeIdentifier": "t_contract$_JugLike_$19261",
"typeString": "contract JugLike"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 16789,
"name": "_makerRegistry",
"nodeType": "VariableDeclaration",
"scope": 16810,
"src": "500:28:55",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_contract$_MakerRegistry_$487",
"typeString": "contract MakerRegistry"
},
"typeName": {
"contractScope": null,
"id": 16788,
"name": "MakerRegistry",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 487,
"src": "500:13:55",
"typeDescriptions": {
"typeIdentifier": "t_contract$_MakerRegistry_$487",
"typeString": "contract MakerRegistry"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 16791,
"name": "_uniswapFactory",
"nodeType": "VariableDeclaration",
"scope": 16810,
"src": "538:31:55",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_contract$_IUniswapFactory_$13448",
"typeString": "contract IUniswapFactory"
},
"typeName": {
"contractScope": null,
"id": 16790,
"name": "IUniswapFactory",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 13448,
"src": "538:15:55",
"typeDescriptions": {
"typeIdentifier": "t_contract$_IUniswapFactory_$13448",
"typeString": "contract IUniswapFactory"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 16793,
"name": "_previousMakerV2Manager",
"nodeType": "VariableDeclaration",
"scope": 16810,
"src": "579:38:55",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_contract$_MakerV2Manager_$15077",
"typeString": "contract MakerV2Manager"
},
"typeName": {
"contractScope": null,
"id": 16792,
"name": "MakerV2Manager",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 15077,
"src": "579:14:55",
"typeDescriptions": {
"typeIdentifier": "t_contract$_MakerV2Manager_$15077",
"typeString": "contract MakerV2Manager"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "324:299:55"
},
"returnParameters": {
"id": 16804,
"nodeType": "ParameterList",
"parameters": [],
"src": "854:0:55"
},
"scope": 17121,
"src": "313:606:55",
"stateMutability": "nonpayable",
"superFunction": null,
"visibility": "public"
},
{
"body": {
"id": 16871,
"nodeType": "Block",
"src": "986:419:55",
"statements": [
{
"assignments": [
16821
],
"declarations": [
{
"constant": false,
"id": 16821,
"name": "tokens",
"nodeType": "VariableDeclaration",
"scope": 16871,
"src": "996:23:55",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
"typeString": "address[]"
},
"typeName": {
"baseType": {
"id": 16819,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "996:7:55",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"id": 16820,
"length": null,
"nodeType": "ArrayTypeName",
"src": "996:9:55",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_address_$dyn_storage_ptr",
"typeString": "address[]"
}
},
"value": null,
"visibility": "internal"
}
],
"id": 16825,
"initialValue": {
"argumentTypes": null,
"arguments": [],
"expression": {
"argumentTypes": [],
"expression": {
"argumentTypes": null,
"id": 16822,
"name": "makerRegistry",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 13495,
"src": "1022:13:55",
"typeDescriptions": {
"typeIdentifier": "t_contract$_MakerRegistry_$487",
"typeString": "contract MakerRegistry"
}
},
"id": 16823,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "getCollateralTokens",
"nodeType": "MemberAccess",
"referencedDeclaration": 444,
"src": "1022:33:55",
"typeDescriptions": {
"typeIdentifier": "t_function_external_view$__$returns$_t_array$_t_address_$dyn_memory_ptr_$",
"typeString": "function () view external returns (address[] memory)"
}
},
"id": 16824,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "1022:35:55",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
"typeString": "address[] memory"
}
},
"nodeType": "VariableDeclarationStatement",
"src": "996:61:55"
},
{
"body": {
"id": 16869,
"nodeType": "Block",
"src": "1111:288:55",
"statements": [
{
"assignments": [
16838
],
"declarations": [
{
"constant": false,
"id": 16838,
"name": "loanId",
"nodeType": "VariableDeclaration",
"scope": 16869,
"src": "1125:14:55",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
},
"typeName": {
"id": 16837,
"name": "bytes32",
"nodeType": "ElementaryTypeName",
"src": "1125:7:55",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"value": null,
"visibility": "internal"
}
],
"id": 16851,
"initialValue": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"id": 16842,
"name": "_wallet",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 16812,
"src": "1181:7:55",
"typeDescriptions": {
"typeIdentifier": "t_contract$_BaseWallet_$17655",
"typeString": "contract BaseWallet"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_contract$_BaseWallet_$17655",
"typeString": "contract BaseWallet"
}
],
"id": 16841,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"nodeType": "ElementaryTypeNameExpression",
"src": "1173:7:55",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_address_$",
"typeString": "type(address)"
},
"typeName": "address"
},
"id": 16843,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "typeConversion",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "1173:16:55",
"typeDescriptions": {
"typeIdentifier": "t_address_payable",
"typeString": "address payable"
}
},
{
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"baseExpression": {
"argumentTypes": null,
"id": 16846,
"name": "tokens",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 16821,
"src": "1212:6:55",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
"typeString": "address[] memory"
}
},
"id": 16848,
"indexExpression": {
"argumentTypes": null,
"id": 16847,
"name": "i",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 16827,
"src": "1219:1:55",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"isConstant": false,
"isLValue": true,
"isPure": false,
"lValueRequested": false,
"nodeType": "IndexAccess",
"src": "1212:9:55",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_address",
"typeString": "address"
}
],
"expression": {
"argumentTypes": null,
"id": 16844,
"name": "makerRegistry",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 13495,
"src": "1191:13:55",
"typeDescriptions": {
"typeIdentifier": "t_contract$_MakerRegistry_$487",
"typeString": "contract MakerRegistry"
}
},
"id": 16845,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "getIlk",
"nodeType": "MemberAccess",
"referencedDeclaration": 459,
"src": "1191:20:55",
"typeDescriptions": {
"typeIdentifier": "t_function_external_view$_t_address_$returns$_t_bytes32_$",
"typeString": "function (address) view external returns (bytes32)"
}
},
"id": 16849,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "1191:31:55",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_address_payable",
"typeString": "address payable"
},
{
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
],
"expression": {
"argumentTypes": null,
"id": 16839,
"name": "previousMakerV2Manager",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 16777,
"src": "1142:22:55",
"typeDescriptions": {
"typeIdentifier": "t_contract$_MakerV2Manager_$15077",
"typeString": "contract MakerV2Manager"
}
},
"id": 16840,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "loanIds",
"nodeType": "MemberAccess",
"referencedDeclaration": 13505,
"src": "1142:30:55",
"typeDescriptions": {
"typeIdentifier": "t_function_external_view$_t_address_$_t_bytes32_$returns$_t_bytes32_$",
"typeString": "function (address,bytes32) view external returns (bytes32)"
}
},
"id": 16850,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "1142:81:55",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"nodeType": "VariableDeclarationStatement",
"src": "1125:98:55"
},
{
"condition": {
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
},
"id": 16854,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
"id": 16852,
"name": "loanId",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 16838,
"src": "1241:6:55",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"nodeType": "BinaryOperation",
"operator": "!=",
"rightExpression": {
"argumentTypes": null,
"hexValue": "30",
"id": 16853,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "1251:1:55",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_rational_0_by_1",
"typeString": "int_const 0"
},
"value": "0"
},
"src": "1241:11:55",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"falseBody": null,
"id": 16868,
"nodeType": "IfStatement",
"src": "1237:152:55",
"trueBody": {
"id": 16867,
"nodeType": "Block",
"src": "1254:135:55",
"statements": [
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"id": 16858,
"name": "_wallet",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 16812,
"src": "1305:7:55",
"typeDescriptions": {
"typeIdentifier": "t_contract$_BaseWallet_$17655",
"typeString": "contract BaseWallet"
}
},
{
"argumentTypes": null,
"id": 16859,
"name": "loanId",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 16838,
"src": "1314:6:55",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_contract$_BaseWallet_$17655",
"typeString": "contract BaseWallet"
},
{
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
],
"expression": {
"argumentTypes": null,
"id": 16855,
"name": "previousMakerV2Manager",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 16777,
"src": "1272:22:55",
"typeDescriptions": {
"typeIdentifier": "t_contract$_MakerV2Manager_$15077",
"typeString": "contract MakerV2Manager"
}
},
"id": 16857,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "giveVault",
"nodeType": "MemberAccess",
"referencedDeclaration": 14176,
"src": "1272:32:55",
"typeDescriptions": {
"typeIdentifier": "t_function_external_nonpayable$_t_contract$_BaseWallet_$17655_$_t_bytes32_$returns$__$",
"typeString": "function (contract BaseWallet,bytes32) external"
}
},
"id": 16860,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "1272:49:55",
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 16861,
"nodeType": "ExpressionStatement",
"src": "1272:49:55"
},
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"id": 16863,
"name": "_wallet",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 16812,
"src": "1358:7:55",
"typeDescriptions": {
"typeIdentifier": "t_contract$_BaseWallet_$17655",
"typeString": "contract BaseWallet"
}
},
{
"argumentTypes": null,
"id": 16864,
"name": "loanId",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 16838,
"src": "1367:6:55",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_contract$_BaseWallet_$17655",
"typeString": "contract BaseWallet"
},
{
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
],
"id": 16862,
"name": "assignLoanToWallet",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 14256,
"src": "1339:18:55",
"typeDescriptions": {
"typeIdentifier": "t_function_internal_nonpayable$_t_contract$_BaseWallet_$17655_$_t_bytes32_$returns$_t_bytes32_$",
"typeString": "function (contract BaseWallet,bytes32) returns (bytes32)"
}
},
"id": 16865,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "1339:35:55",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"id": 16866,
"nodeType": "ExpressionStatement",
"src": "1339:35:55"
}
]
}
}
]
},
"condition": {
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"id": 16833,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
"id": 16830,
"name": "i",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 16827,
"src": "1087:1:55",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "BinaryOperation",
"operator": "<",
"rightExpression": {
"argumentTypes": null,
"expression": {
"argumentTypes": null,
"id": 16831,
"name": "tokens",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 16821,
"src": "1091:6:55",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
"typeString": "address[] memory"
}
},
"id": 16832,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "length",
"nodeType": "MemberAccess",
"referencedDeclaration": null,
"src": "1091:13:55",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"src": "1087:17:55",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"id": 16870,
"initializationExpression": {
"assignments": [
16827
],
"declarations": [
{
"constant": false,
"id": 16827,
"name": "i",
"nodeType": "VariableDeclaration",
"scope": 16870,
"src": "1072:9:55",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 16826,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "1072:7:55",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
}
],
"id": 16829,
"initialValue": {
"argumentTypes": null,
"hexValue": "30",
"id": 16828,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "1084:1:55",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_rational_0_by_1",
"typeString": "int_const 0"
},
"value": "0"
},
"nodeType": "VariableDeclarationStatement",
"src": "1072:13:55"
},
"loopExpression": {
"expression": {
"argumentTypes": null,
"id": 16835,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"nodeType": "UnaryOperation",
"operator": "++",
"prefix": false,
"src": "1106:3:55",
"subExpression": {
"argumentTypes": null,
"id": 16834,
"name": "i",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 16827,
"src": "1106:1:55",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"id": 16836,
"nodeType": "ExpressionStatement",
"src": "1106:3:55"
},
"nodeType": "ForStatement",
"src": "1067:332:55"
}
]
},
"documentation": null,
"id": 16872,
"implemented": true,
"kind": "function",
"modifiers": [
{
"arguments": [
{
"argumentTypes": null,
"id": 16815,
"name": "_wallet",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 16812,
"src": "977:7:55",
"typeDescriptions": {
"typeIdentifier": "t_contract$_BaseWallet_$17655",
"typeString": "contract BaseWallet"
}
}
],
"id": 16816,
"modifierName": {
"argumentTypes": null,
"id": 16814,
"name": "onlyWallet",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 10986,
"src": "966:10:55",
"typeDescriptions": {
"typeIdentifier": "t_modifier$_t_contract$_BaseWallet_$17655_$",
"typeString": "modifier (contract BaseWallet)"
}
},
"nodeType": "ModifierInvocation",
"src": "966:19:55"
}
],
"name": "init",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 16813,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 16812,
"name": "_wallet",
"nodeType": "VariableDeclaration",
"scope": 16872,
"src": "939:18:55",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_contract$_BaseWallet_$17655",
"typeString": "contract BaseWallet"
},
"typeName": {
"contractScope": null,
"id": 16811,
"name": "BaseWallet",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 17655,
"src": "939:10:55",
"typeDescriptions": {
"typeIdentifier": "t_contract$_BaseWallet_$17655",
"typeString": "contract BaseWallet"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "938:20:55"
},
"returnParameters": {
"id": 16817,
"nodeType": "ParameterList",
"parameters": [],
"src": "986:0:55"
},
"scope": 17121,
"src": "925:480:55",
"stateMutability": "nonpayable",
"superFunction": 11026,
"visibility": "public"
},
{
"body": {
"id": 16933,
"nodeType": "Block",
"src": "1473:419:55",
"statements": [
{
"assignments": [
16883
],
"declarations": [
{
"constant": false,
"id": 16883,
"name": "tokens",
"nodeType": "VariableDeclaration",
"scope": 16933,
"src": "1483:23:55",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
"typeString": "address[]"
},
"typeName": {
"baseType": {
"id": 16881,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "1483:7:55",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"id": 16882,
"length": null,
"nodeType": "ArrayTypeName",
"src": "1483:9:55",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_address_$dyn_storage_ptr",
"typeString": "address[]"
}
},
"value": null,
"visibility": "internal"
}
],
"id": 16887,
"initialValue": {
"argumentTypes": null,
"arguments": [],
"expression": {
"argumentTypes": [],
"expression": {
"argumentTypes": null,
"id": 16884,
"name": "makerRegistry",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 13495,
"src": "1509:13:55",
"typeDescriptions": {
"typeIdentifier": "t_contract$_MakerRegistry_$487",
"typeString": "contract MakerRegistry"
}
},
"id": 16885,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "getCollateralTokens",
"nodeType": "MemberAccess",
"referencedDeclaration": 444,
"src": "1509:33:55",
"typeDescriptions": {
"typeIdentifier": "t_function_external_view$__$returns$_t_array$_t_address_$dyn_memory_ptr_$",
"typeString": "function () view external returns (address[] memory)"
}
},
"id": 16886,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "1509:35:55",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
"typeString": "address[] memory"
}
},
"nodeType": "VariableDeclarationStatement",
"src": "1483:61:55"
},
{
"body": {
"id": 16931,
"nodeType": "Block",
"src": "1598:288:55",
"statements": [
{
"assignments": [
16900
],
"declarations": [
{
"constant": false,
"id": 16900,
"name": "loanId",
"nodeType": "VariableDeclaration",
"scope": 16931,
"src": "1612:14:55",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
},
"typeName": {
"id": 16899,
"name": "bytes32",
"nodeType": "ElementaryTypeName",
"src": "1612:7:55",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"value": null,
"visibility": "internal"
}
],
"id": 16913,
"initialValue": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"id": 16904,
"name": "_wallet",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 16874,
"src": "1668:7:55",
"typeDescriptions": {
"typeIdentifier": "t_contract$_BaseWallet_$17655",
"typeString": "contract BaseWallet"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_contract$_BaseWallet_$17655",
"typeString": "contract BaseWallet"
}
],
"id": 16903,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"nodeType": "ElementaryTypeNameExpression",
"src": "1660:7:55",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_address_$",
"typeString": "type(address)"
},
"typeName": "address"
},
"id": 16905,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "typeConversion",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "1660:16:55",
"typeDescriptions": {
"typeIdentifier": "t_address_payable",
"typeString": "address payable"
}
},
{
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"baseExpression": {
"argumentTypes": null,
"id": 16908,
"name": "tokens",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 16883,
"src": "1699:6:55",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
"typeString": "address[] memory"
}
},
"id": 16910,
"indexExpression": {
"argumentTypes": null,
"id": 16909,
"name": "i",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 16889,
"src": "1706:1:55",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"isConstant": false,
"isLValue": true,
"isPure": false,
"lValueRequested": false,
"nodeType": "IndexAccess",
"src": "1699:9:55",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_address",
"typeString": "address"
}
],
"expression": {
"argumentTypes": null,
"id": 16906,
"name": "makerRegistry",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 13495,
"src": "1678:13:55",
"typeDescriptions": {
"typeIdentifier": "t_contract$_MakerRegistry_$487",
"typeString": "contract MakerRegistry"
}
},
"id": 16907,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "getIlk",
"nodeType": "MemberAccess",
"referencedDeclaration": 459,
"src": "1678:20:55",
"typeDescriptions": {
"typeIdentifier": "t_function_external_view$_t_address_$returns$_t_bytes32_$",
"typeString": "function (address) view external returns (bytes32)"
}
},
"id": 16911,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "1678:31:55",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_address_payable",
"typeString": "address payable"
},
{
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
],
"expression": {
"argumentTypes": null,
"id": 16901,
"name": "previousMakerV2Manager",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 16777,
"src": "1629:22:55",
"typeDescriptions": {
"typeIdentifier": "t_contract$_MakerV2Manager_$15077",
"typeString": "contract MakerV2Manager"
}
},
"id": 16902,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "loanIds",
"nodeType": "MemberAccess",
"referencedDeclaration": 13505,
"src": "1629:30:55",
"typeDescriptions": {
"typeIdentifier": "t_function_external_view$_t_address_$_t_bytes32_$returns$_t_bytes32_$",
"typeString": "function (address,bytes32) view external returns (bytes32)"
}
},
"id": 16912,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "1629:81:55",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"nodeType": "VariableDeclarationStatement",
"src": "1612:98:55"
},
{
"condition": {
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
},
"id": 16916,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
"id": 16914,
"name": "loanId",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 16900,
"src": "1728:6:55",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"nodeType": "BinaryOperation",
"operator": "!=",
"rightExpression": {
"argumentTypes": null,
"hexValue": "30",
"id": 16915,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "1738:1:55",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_rational_0_by_1",
"typeString": "int_const 0"
},
"value": "0"
},
"src": "1728:11:55",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"falseBody": null,
"id": 16930,
"nodeType": "IfStatement",
"src": "1724:152:55",
"trueBody": {
"id": 16929,
"nodeType": "Block",
"src": "1741:135:55",
"statements": [
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"id": 16920,
"name": "_wallet",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 16874,
"src": "1792:7:55",
"typeDescriptions": {
"typeIdentifier": "t_contract$_BaseWallet_$17655",
"typeString": "contract BaseWallet"
}
},
{
"argumentTypes": null,
"id": 16921,
"name": "loanId",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 16900,
"src": "1801:6:55",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_contract$_BaseWallet_$17655",
"typeString": "contract BaseWallet"
},
{
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
],
"expression": {
"argumentTypes": null,
"id": 16917,
"name": "previousMakerV2Manager",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 16777,
"src": "1759:22:55",
"typeDescriptions": {
"typeIdentifier": "t_contract$_MakerV2Manager_$15077",
"typeString": "contract MakerV2Manager"
}
},
"id": 16919,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "giveVault",
"nodeType": "MemberAccess",
"referencedDeclaration": 14176,
"src": "1759:32:55",
"typeDescriptions": {
"typeIdentifier": "t_function_external_nonpayable$_t_contract$_BaseWallet_$17655_$_t_bytes32_$returns$__$",
"typeString": "function (contract BaseWallet,bytes32) external"
}
},
"id": 16922,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "1759:49:55",
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 16923,
"nodeType": "ExpressionStatement",
"src": "1759:49:55"
},
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"id": 16925,
"name": "_wallet",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 16874,
"src": "1845:7:55",
"typeDescriptions": {
"typeIdentifier": "t_contract$_BaseWallet_$17655",
"typeString": "contract BaseWallet"
}
},
{
"argumentTypes": null,
"id": 16926,
"name": "loanId",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 16900,
"src": "1854:6:55",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_contract$_BaseWallet_$17655",
"typeString": "contract BaseWallet"
},
{
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
],
"id": 16924,
"name": "assignLoanToWallet",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 14256,
"src": "1826:18:55",
"typeDescriptions": {
"typeIdentifier": "t_function_internal_nonpayable$_t_contract$_BaseWallet_$17655_$_t_bytes32_$returns$_t_bytes32_$",
"typeString": "function (contract BaseWallet,bytes32) returns (bytes32)"
}
},
"id": 16927,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "1826:35:55",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"id": 16928,
"nodeType": "ExpressionStatement",
"src": "1826:35:55"
}
]
}
}
]
},
"condition": {
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"id": 16895,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
"id": 16892,
"name": "i",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 16889,
"src": "1574:1:55",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "BinaryOperation",
"operator": "<",
"rightExpression": {
"argumentTypes": null,
"expression": {
"argumentTypes": null,
"id": 16893,
"name": "tokens",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 16883,
"src": "1578:6:55",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
"typeString": "address[] memory"
}
},
"id": 16894,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "length",
"nodeType": "MemberAccess",
"referencedDeclaration": null,
"src": "1578:13:55",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"src": "1574:17:55",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"id": 16932,
"initializationExpression": {
"assignments": [
16889
],
"declarations": [
{
"constant": false,
"id": 16889,
"name": "i",
"nodeType": "VariableDeclaration",
"scope": 16932,
"src": "1559:9:55",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 16888,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "1559:7:55",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
}
],
"id": 16891,
"initialValue": {
"argumentTypes": null,
"hexValue": "30",
"id": 16890,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "1571:1:55",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_rational_0_by_1",
"typeString": "int_const 0"
},
"value": "0"
},
"nodeType": "VariableDeclarationStatement",
"src": "1559:13:55"
},
"loopExpression": {
"expression": {
"argumentTypes": null,
"id": 16897,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"nodeType": "UnaryOperation",
"operator": "++",
"prefix": false,
"src": "1593:3:55",
"subExpression": {
"argumentTypes": null,
"id": 16896,
"name": "i",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 16889,
"src": "1593:1:55",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"id": 16898,
"nodeType": "ExpressionStatement",
"src": "1593:3:55"
},
"nodeType": "ForStatement",
"src": "1554:332:55"
}
]
},
"documentation": null,
"id": 16934,
"implemented": true,
"kind": "function",
"modifiers": [
{
"arguments": [
{
"argumentTypes": null,
"id": 16877,
"name": "_wallet",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 16874,
"src": "1464:7:55",
"typeDescriptions": {
"typeIdentifier": "t_contract$_BaseWallet_$17655",
"typeString": "contract BaseWallet"
}
}
],
"id": 16878,
"modifierName": {
"argumentTypes": null,
"id": 16876,
"name": "onlyWallet",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 10986,
"src": "1453:10:55",
"typeDescriptions": {
"typeIdentifier": "t_modifier$_t_contract$_BaseWallet_$17655_$",
"typeString": "modifier (contract BaseWallet)"
}
},
"nodeType": "ModifierInvocation",
"src": "1453:19:55"
}
],
"name": "init2",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 16875,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 16874,
"name": "_wallet",
"nodeType": "VariableDeclaration",
"scope": 16934,
"src": "1426:18:55",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_contract$_BaseWallet_$17655",
"typeString": "contract BaseWallet"
},
"typeName": {
"contractScope": null,
"id": 16873,
"name": "BaseWallet",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 17655,
"src": "1426:10:55",
"typeDescriptions": {
"typeIdentifier": "t_contract$_BaseWallet_$17655",
"typeString": "contract BaseWallet"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "1425:20:55"
},
"returnParameters": {
"id": 16879,
"nodeType": "ParameterList",
"parameters": [],
"src": "1473:0:55"
},
"scope": 17121,
"src": "1411:481:55",
"stateMutability": "nonpayable",
"superFunction": null,
"visibility": "public"
},
{
"body": {
"id": 16995,
"nodeType": "Block",
"src": "1960:419:55",
"statements": [
{
"assignments": [
16945
],
"declarations": [
{
"constant": false,
"id": 16945,
"name": "tokens",
"nodeType": "VariableDeclaration",
"scope": 16995,
"src": "1970:23:55",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
"typeString": "address[]"
},
"typeName": {
"baseType": {
"id": 16943,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "1970:7:55",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"id": 16944,
"length": null,
"nodeType": "ArrayTypeName",
"src": "1970:9:55",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_address_$dyn_storage_ptr",
"typeString": "address[]"
}
},
"value": null,
"visibility": "internal"
}
],
"id": 16949,
"initialValue": {
"argumentTypes": null,
"arguments": [],
"expression": {
"argumentTypes": [],
"expression": {
"argumentTypes": null,
"id": 16946,
"name": "makerRegistry",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 13495,
"src": "1996:13:55",
"typeDescriptions": {
"typeIdentifier": "t_contract$_MakerRegistry_$487",
"typeString": "contract MakerRegistry"
}
},
"id": 16947,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "getCollateralTokens",
"nodeType": "MemberAccess",
"referencedDeclaration": 444,
"src": "1996:33:55",
"typeDescriptions": {
"typeIdentifier": "t_function_external_view$__$returns$_t_array$_t_address_$dyn_memory_ptr_$",
"typeString": "function () view external returns (address[] memory)"
}
},
"id": 16948,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "1996:35:55",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
"typeString": "address[] memory"
}
},
"nodeType": "VariableDeclarationStatement",
"src": "1970:61:55"
},
{
"body": {
"id": 16993,
"nodeType": "Block",
"src": "2085:288:55",
"statements": [
{
"assignments": [
16962
],
"declarations": [
{
"constant": false,
"id": 16962,
"name": "loanId",
"nodeType": "VariableDeclaration",
"scope": 16993,
"src": "2099:14:55",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
},
"typeName": {
"id": 16961,
"name": "bytes32",
"nodeType": "ElementaryTypeName",
"src": "2099:7:55",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"value": null,
"visibility": "internal"
}
],
"id": 16975,
"initialValue": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"id": 16966,
"name": "_wallet",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 16936,
"src": "2155:7:55",
"typeDescriptions": {
"typeIdentifier": "t_contract$_BaseWallet_$17655",
"typeString": "contract BaseWallet"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_contract$_BaseWallet_$17655",
"typeString": "contract BaseWallet"
}
],
"id": 16965,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"nodeType": "ElementaryTypeNameExpression",
"src": "2147:7:55",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_address_$",
"typeString": "type(address)"
},
"typeName": "address"
},
"id": 16967,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "typeConversion",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "2147:16:55",
"typeDescriptions": {
"typeIdentifier": "t_address_payable",
"typeString": "address payable"
}
},
{
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"baseExpression": {
"argumentTypes": null,
"id": 16970,
"name": "tokens",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 16945,
"src": "2186:6:55",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
"typeString": "address[] memory"
}
},
"id": 16972,
"indexExpression": {
"argumentTypes": null,
"id": 16971,
"name": "i",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 16951,
"src": "2193:1:55",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"isConstant": false,
"isLValue": true,
"isPure": false,
"lValueRequested": false,
"nodeType": "IndexAccess",
"src": "2186:9:55",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_address",
"typeString": "address"
}
],
"expression": {
"argumentTypes": null,
"id": 16968,
"name": "makerRegistry",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 13495,
"src": "2165:13:55",
"typeDescriptions": {
"typeIdentifier": "t_contract$_MakerRegistry_$487",
"typeString": "contract MakerRegistry"
}
},
"id": 16969,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "getIlk",
"nodeType": "MemberAccess",
"referencedDeclaration": 459,
"src": "2165:20:55",
"typeDescriptions": {
"typeIdentifier": "t_function_external_view$_t_address_$returns$_t_bytes32_$",
"typeString": "function (address) view external returns (bytes32)"
}
},
"id": 16973,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "2165:31:55",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_address_payable",
"typeString": "address payable"
},
{
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
],
"expression": {
"argumentTypes": null,
"id": 16963,
"name": "previousMakerV2Manager",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 16777,
"src": "2116:22:55",
"typeDescriptions": {
"typeIdentifier": "t_contract$_MakerV2Manager_$15077",
"typeString": "contract MakerV2Manager"
}
},
"id": 16964,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "loanIds",
"nodeType": "MemberAccess",
"referencedDeclaration": 13505,
"src": "2116:30:55",
"typeDescriptions": {
"typeIdentifier": "t_function_external_view$_t_address_$_t_bytes32_$returns$_t_bytes32_$",
"typeString": "function (address,bytes32) view external returns (bytes32)"
}
},
"id": 16974,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "2116:81:55",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"nodeType": "VariableDeclarationStatement",
"src": "2099:98:55"
},
{
"condition": {
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
},
"id": 16978,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
"id": 16976,
"name": "loanId",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 16962,
"src": "2215:6:55",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"nodeType": "BinaryOperation",
"operator": "!=",
"rightExpression": {
"argumentTypes": null,
"hexValue": "30",
"id": 16977,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "2225:1:55",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_rational_0_by_1",
"typeString": "int_const 0"
},
"value": "0"
},
"src": "2215:11:55",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"falseBody": null,
"id": 16992,
"nodeType": "IfStatement",
"src": "2211:152:55",
"trueBody": {
"id": 16991,
"nodeType": "Block",
"src": "2228:135:55",
"statements": [
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"id": 16982,
"name": "_wallet",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 16936,
"src": "2279:7:55",
"typeDescriptions": {
"typeIdentifier": "t_contract$_BaseWallet_$17655",
"typeString": "contract BaseWallet"
}
},
{
"argumentTypes": null,
"id": 16983,
"name": "loanId",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 16962,
"src": "2288:6:55",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_contract$_BaseWallet_$17655",
"typeString": "contract BaseWallet"
},
{
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
],
"expression": {
"argumentTypes": null,
"id": 16979,
"name": "previousMakerV2Manager",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 16777,
"src": "2246:22:55",
"typeDescriptions": {
"typeIdentifier": "t_contract$_MakerV2Manager_$15077",
"typeString": "contract MakerV2Manager"
}
},
"id": 16981,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "giveVault",
"nodeType": "MemberAccess",
"referencedDeclaration": 14176,
"src": "2246:32:55",
"typeDescriptions": {
"typeIdentifier": "t_function_external_nonpayable$_t_contract$_BaseWallet_$17655_$_t_bytes32_$returns$__$",
"typeString": "function (contract BaseWallet,bytes32) external"
}
},
"id": 16984,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "2246:49:55",
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 16985,
"nodeType": "ExpressionStatement",
"src": "2246:49:55"
},
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"id": 16987,
"name": "_wallet",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 16936,
"src": "2332:7:55",
"typeDescriptions": {
"typeIdentifier": "t_contract$_BaseWallet_$17655",
"typeString": "contract BaseWallet"
}
},
{
"argumentTypes": null,
"id": 16988,
"name": "loanId",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 16962,
"src": "2341:6:55",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_contract$_BaseWallet_$17655",
"typeString": "contract BaseWallet"
},
{
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
],
"id": 16986,
"name": "assignLoanToWallet",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 14256,
"src": "2313:18:55",
"typeDescriptions": {
"typeIdentifier": "t_function_internal_nonpayable$_t_contract$_BaseWallet_$17655_$_t_bytes32_$returns$_t_bytes32_$",
"typeString": "function (contract BaseWallet,bytes32) returns (bytes32)"
}
},
"id": 16989,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "2313:35:55",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"id": 16990,
"nodeType": "ExpressionStatement",
"src": "2313:35:55"
}
]
}
}
]
},
"condition": {
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"id": 16957,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
"id": 16954,
"name": "i",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 16951,
"src": "2061:1:55",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "BinaryOperation",
"operator": "<",
"rightExpression": {
"argumentTypes": null,
"expression": {
"argumentTypes": null,
"id": 16955,
"name": "tokens",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 16945,
"src": "2065:6:55",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
"typeString": "address[] memory"
}
},
"id": 16956,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "length",
"nodeType": "MemberAccess",
"referencedDeclaration": null,
"src": "2065:13:55",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"src": "2061:17:55",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"id": 16994,
"initializationExpression": {
"assignments": [
16951
],
"declarations": [
{
"constant": false,
"id": 16951,
"name": "i",
"nodeType": "VariableDeclaration",
"scope": 16994,
"src": "2046:9:55",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 16950,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "2046:7:55",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
}
],
"id": 16953,
"initialValue": {
"argumentTypes": null,
"hexValue": "30",
"id": 16952,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "2058:1:55",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_rational_0_by_1",
"typeString": "int_const 0"
},
"value": "0"
},
"nodeType": "VariableDeclarationStatement",
"src": "2046:13:55"
},
"loopExpression": {
"expression": {
"argumentTypes": null,
"id": 16959,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"nodeType": "UnaryOperation",
"operator": "++",
"prefix": false,
"src": "2080:3:55",
"subExpression": {
"argumentTypes": null,
"id": 16958,
"name": "i",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 16951,
"src": "2080:1:55",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"id": 16960,
"nodeType": "ExpressionStatement",
"src": "2080:3:55"
},
"nodeType": "ForStatement",
"src": "2041:332:55"
}
]
},
"documentation": null,
"id": 16996,
"implemented": true,
"kind": "function",
"modifiers": [
{
"arguments": [
{
"argumentTypes": null,
"id": 16939,
"name": "_wallet",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 16936,
"src": "1951:7:55",
"typeDescriptions": {
"typeIdentifier": "t_contract$_BaseWallet_$17655",
"typeString": "contract BaseWallet"
}
}
],
"id": 16940,
"modifierName": {
"argumentTypes": null,
"id": 16938,
"name": "onlyWallet",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 10986,
"src": "1940:10:55",
"typeDescriptions": {
"typeIdentifier": "t_modifier$_t_contract$_BaseWallet_$17655_$",
"typeString": "modifier (contract BaseWallet)"
}
},
"nodeType": "ModifierInvocation",
"src": "1940:19:55"
}
],
"name": "init3",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 16937,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 16936,
"name": "_wallet",
"nodeType": "VariableDeclaration",
"scope": 16996,
"src": "1913:18:55",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_contract$_BaseWallet_$17655",
"typeString": "contract BaseWallet"
},
"typeName": {
"contractScope": null,
"id": 16935,
"name": "BaseWallet",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 17655,
"src": "1913:10:55",
"typeDescriptions": {
"typeIdentifier": "t_contract$_BaseWallet_$17655",
"typeString": "contract BaseWallet"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "1912:20:55"
},
"returnParameters": {
"id": 16941,
"nodeType": "ParameterList",
"parameters": [],
"src": "1960:0:55"
},
"scope": 17121,
"src": "1898:481:55",
"stateMutability": "nonpayable",
"superFunction": null,
"visibility": "public"
},
{
"body": {
"id": 17057,
"nodeType": "Block",
"src": "2447:419:55",
"statements": [
{
"assignments": [
17007
],
"declarations": [
{
"constant": false,
"id": 17007,
"name": "tokens",
"nodeType": "VariableDeclaration",
"scope": 17057,
"src": "2457:23:55",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
"typeString": "address[]"
},
"typeName": {
"baseType": {
"id": 17005,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "2457:7:55",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"id": 17006,
"length": null,
"nodeType": "ArrayTypeName",
"src": "2457:9:55",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_address_$dyn_storage_ptr",
"typeString": "address[]"
}
},
"value": null,
"visibility": "internal"
}
],
"id": 17011,
"initialValue": {
"argumentTypes": null,
"arguments": [],
"expression": {
"argumentTypes": [],
"expression": {
"argumentTypes": null,
"id": 17008,
"name": "makerRegistry",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 13495,
"src": "2483:13:55",
"typeDescriptions": {
"typeIdentifier": "t_contract$_MakerRegistry_$487",
"typeString": "contract MakerRegistry"
}
},
"id": 17009,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "getCollateralTokens",
"nodeType": "MemberAccess",
"referencedDeclaration": 444,
"src": "2483:33:55",
"typeDescriptions": {
"typeIdentifier": "t_function_external_view$__$returns$_t_array$_t_address_$dyn_memory_ptr_$",
"typeString": "function () view external returns (address[] memory)"
}
},
"id": 17010,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "2483:35:55",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
"typeString": "address[] memory"
}
},
"nodeType": "VariableDeclarationStatement",
"src": "2457:61:55"
},
{
"body": {
"id": 17055,
"nodeType": "Block",
"src": "2572:288:55",
"statements": [
{
"assignments": [
17024
],
"declarations": [
{
"constant": false,
"id": 17024,
"name": "loanId",
"nodeType": "VariableDeclaration",
"scope": 17055,
"src": "2586:14:55",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
},
"typeName": {
"id": 17023,
"name": "bytes32",
"nodeType": "ElementaryTypeName",
"src": "2586:7:55",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"value": null,
"visibility": "internal"
}
],
"id": 17037,
"initialValue": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"id": 17028,
"name": "_wallet",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 16998,
"src": "2642:7:55",
"typeDescriptions": {
"typeIdentifier": "t_contract$_BaseWallet_$17655",
"typeString": "contract BaseWallet"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_contract$_BaseWallet_$17655",
"typeString": "contract BaseWallet"
}
],
"id": 17027,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"nodeType": "ElementaryTypeNameExpression",
"src": "2634:7:55",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_address_$",
"typeString": "type(address)"
},
"typeName": "address"
},
"id": 17029,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "typeConversion",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "2634:16:55",
"typeDescriptions": {
"typeIdentifier": "t_address_payable",
"typeString": "address payable"
}
},
{
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"baseExpression": {
"argumentTypes": null,
"id": 17032,
"name": "tokens",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 17007,
"src": "2673:6:55",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
"typeString": "address[] memory"
}
},
"id": 17034,
"indexExpression": {
"argumentTypes": null,
"id": 17033,
"name": "i",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 17013,
"src": "2680:1:55",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"isConstant": false,
"isLValue": true,
"isPure": false,
"lValueRequested": false,
"nodeType": "IndexAccess",
"src": "2673:9:55",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_address",
"typeString": "address"
}
],
"expression": {
"argumentTypes": null,
"id": 17030,
"name": "makerRegistry",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 13495,
"src": "2652:13:55",
"typeDescriptions": {
"typeIdentifier": "t_contract$_MakerRegistry_$487",
"typeString": "contract MakerRegistry"
}
},
"id": 17031,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "getIlk",
"nodeType": "MemberAccess",
"referencedDeclaration": 459,
"src": "2652:20:55",
"typeDescriptions": {
"typeIdentifier": "t_function_external_view$_t_address_$returns$_t_bytes32_$",
"typeString": "function (address) view external returns (bytes32)"
}
},
"id": 17035,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "2652:31:55",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_address_payable",
"typeString": "address payable"
},
{
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
],
"expression": {
"argumentTypes": null,
"id": 17025,
"name": "previousMakerV2Manager",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 16777,
"src": "2603:22:55",
"typeDescriptions": {
"typeIdentifier": "t_contract$_MakerV2Manager_$15077",
"typeString": "contract MakerV2Manager"
}
},
"id": 17026,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "loanIds",
"nodeType": "MemberAccess",
"referencedDeclaration": 13505,
"src": "2603:30:55",
"typeDescriptions": {
"typeIdentifier": "t_function_external_view$_t_address_$_t_bytes32_$returns$_t_bytes32_$",
"typeString": "function (address,bytes32) view external returns (bytes32)"
}
},
"id": 17036,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "2603:81:55",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"nodeType": "VariableDeclarationStatement",
"src": "2586:98:55"
},
{
"condition": {
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
},
"id": 17040,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
"id": 17038,
"name": "loanId",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 17024,
"src": "2702:6:55",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"nodeType": "BinaryOperation",
"operator": "!=",
"rightExpression": {
"argumentTypes": null,
"hexValue": "30",
"id": 17039,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "2712:1:55",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_rational_0_by_1",
"typeString": "int_const 0"
},
"value": "0"
},
"src": "2702:11:55",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"falseBody": null,
"id": 17054,
"nodeType": "IfStatement",
"src": "2698:152:55",
"trueBody": {
"id": 17053,
"nodeType": "Block",
"src": "2715:135:55",
"statements": [
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"id": 17044,
"name": "_wallet",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 16998,
"src": "2766:7:55",
"typeDescriptions": {
"typeIdentifier": "t_contract$_BaseWallet_$17655",
"typeString": "contract BaseWallet"
}
},
{
"argumentTypes": null,
"id": 17045,
"name": "loanId",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 17024,
"src": "2775:6:55",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_contract$_BaseWallet_$17655",
"typeString": "contract BaseWallet"
},
{
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
],
"expression": {
"argumentTypes": null,
"id": 17041,
"name": "previousMakerV2Manager",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 16777,
"src": "2733:22:55",
"typeDescriptions": {
"typeIdentifier": "t_contract$_MakerV2Manager_$15077",
"typeString": "contract MakerV2Manager"
}
},
"id": 17043,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "giveVault",
"nodeType": "MemberAccess",
"referencedDeclaration": 14176,
"src": "2733:32:55",
"typeDescriptions": {
"typeIdentifier": "t_function_external_nonpayable$_t_contract$_BaseWallet_$17655_$_t_bytes32_$returns$__$",
"typeString": "function (contract BaseWallet,bytes32) external"
}
},
"id": 17046,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "2733:49:55",
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 17047,
"nodeType": "ExpressionStatement",
"src": "2733:49:55"
},
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"id": 17049,
"name": "_wallet",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 16998,
"src": "2819:7:55",
"typeDescriptions": {
"typeIdentifier": "t_contract$_BaseWallet_$17655",
"typeString": "contract BaseWallet"
}
},
{
"argumentTypes": null,
"id": 17050,
"name": "loanId",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 17024,
"src": "2828:6:55",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_contract$_BaseWallet_$17655",
"typeString": "contract BaseWallet"
},
{
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
],
"id": 17048,
"name": "assignLoanToWallet",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 14256,
"src": "2800:18:55",
"typeDescriptions": {
"typeIdentifier": "t_function_internal_nonpayable$_t_contract$_BaseWallet_$17655_$_t_bytes32_$returns$_t_bytes32_$",
"typeString": "function (contract BaseWallet,bytes32) returns (bytes32)"
}
},
"id": 17051,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "2800:35:55",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"id": 17052,
"nodeType": "ExpressionStatement",
"src": "2800:35:55"
}
]
}
}
]
},
"condition": {
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"id": 17019,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
"id": 17016,
"name": "i",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 17013,
"src": "2548:1:55",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "BinaryOperation",
"operator": "<",
"rightExpression": {
"argumentTypes": null,
"expression": {
"argumentTypes": null,
"id": 17017,
"name": "tokens",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 17007,
"src": "2552:6:55",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
"typeString": "address[] memory"
}
},
"id": 17018,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "length",
"nodeType": "MemberAccess",
"referencedDeclaration": null,
"src": "2552:13:55",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"src": "2548:17:55",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"id": 17056,
"initializationExpression": {
"assignments": [
17013
],
"declarations": [
{
"constant": false,
"id": 17013,
"name": "i",
"nodeType": "VariableDeclaration",
"scope": 17056,
"src": "2533:9:55",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 17012,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "2533:7:55",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
}
],
"id": 17015,
"initialValue": {
"argumentTypes": null,
"hexValue": "30",
"id": 17014,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "2545:1:55",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_rational_0_by_1",
"typeString": "int_const 0"
},
"value": "0"
},
"nodeType": "VariableDeclarationStatement",
"src": "2533:13:55"
},
"loopExpression": {
"expression": {
"argumentTypes": null,
"id": 17021,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"nodeType": "UnaryOperation",
"operator": "++",
"prefix": false,
"src": "2567:3:55",
"subExpression": {
"argumentTypes": null,
"id": 17020,
"name": "i",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 17013,
"src": "2567:1:55",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"id": 17022,
"nodeType": "ExpressionStatement",
"src": "2567:3:55"
},
"nodeType": "ForStatement",
"src": "2528:332:55"
}
]
},
"documentation": null,
"id": 17058,
"implemented": true,
"kind": "function",
"modifiers": [
{
"arguments": [
{
"argumentTypes": null,
"id": 17001,
"name": "_wallet",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 16998,
"src": "2438:7:55",
"typeDescriptions": {
"typeIdentifier": "t_contract$_BaseWallet_$17655",
"typeString": "contract BaseWallet"
}
}
],
"id": 17002,
"modifierName": {
"argumentTypes": null,
"id": 17000,
"name": "onlyWallet",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 10986,
"src": "2427:10:55",
"typeDescriptions": {
"typeIdentifier": "t_modifier$_t_contract$_BaseWallet_$17655_$",
"typeString": "modifier (contract BaseWallet)"
}
},
"nodeType": "ModifierInvocation",
"src": "2427:19:55"
}
],
"name": "init4",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 16999,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 16998,
"name": "_wallet",
"nodeType": "VariableDeclaration",
"scope": 17058,
"src": "2400:18:55",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_contract$_BaseWallet_$17655",
"typeString": "contract BaseWallet"
},
"typeName": {
"contractScope": null,
"id": 16997,
"name": "BaseWallet",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 17655,
"src": "2400:10:55",
"typeDescriptions": {
"typeIdentifier": "t_contract$_BaseWallet_$17655",
"typeString": "contract BaseWallet"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "2399:20:55"
},
"returnParameters": {
"id": 17003,
"nodeType": "ParameterList",
"parameters": [],
"src": "2447:0:55"
},
"scope": 17121,
"src": "2385:481:55",
"stateMutability": "nonpayable",
"superFunction": null,
"visibility": "public"
},
{
"body": {
"id": 17119,
"nodeType": "Block",
"src": "2934:419:55",
"statements": [
{
"assignments": [
17069
],
"declarations": [
{
"constant": false,
"id": 17069,
"name": "tokens",
"nodeType": "VariableDeclaration",
"scope": 17119,
"src": "2944:23:55",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
"typeString": "address[]"
},
"typeName": {
"baseType": {
"id": 17067,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "2944:7:55",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"id": 17068,
"length": null,
"nodeType": "ArrayTypeName",
"src": "2944:9:55",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_address_$dyn_storage_ptr",
"typeString": "address[]"
}
},
"value": null,
"visibility": "internal"
}
],
"id": 17073,
"initialValue": {
"argumentTypes": null,
"arguments": [],
"expression": {
"argumentTypes": [],
"expression": {
"argumentTypes": null,
"id": 17070,
"name": "makerRegistry",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 13495,
"src": "2970:13:55",
"typeDescriptions": {
"typeIdentifier": "t_contract$_MakerRegistry_$487",
"typeString": "contract MakerRegistry"
}
},
"id": 17071,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "getCollateralTokens",
"nodeType": "MemberAccess",
"referencedDeclaration": 444,
"src": "2970:33:55",
"typeDescriptions": {
"typeIdentifier": "t_function_external_view$__$returns$_t_array$_t_address_$dyn_memory_ptr_$",
"typeString": "function () view external returns (address[] memory)"
}
},
"id": 17072,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "2970:35:55",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
"typeString": "address[] memory"
}
},
"nodeType": "VariableDeclarationStatement",
"src": "2944:61:55"
},
{
"body": {
"id": 17117,
"nodeType": "Block",
"src": "3059:288:55",
"statements": [
{
"assignments": [
17086
],
"declarations": [
{
"constant": false,
"id": 17086,
"name": "loanId",
"nodeType": "VariableDeclaration",
"scope": 17117,
"src": "3073:14:55",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
},
"typeName": {
"id": 17085,
"name": "bytes32",
"nodeType": "ElementaryTypeName",
"src": "3073:7:55",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"value": null,
"visibility": "internal"
}
],
"id": 17099,
"initialValue": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"id": 17090,
"name": "_wallet",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 17060,
"src": "3129:7:55",
"typeDescriptions": {
"typeIdentifier": "t_contract$_BaseWallet_$17655",
"typeString": "contract BaseWallet"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_contract$_BaseWallet_$17655",
"typeString": "contract BaseWallet"
}
],
"id": 17089,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"nodeType": "ElementaryTypeNameExpression",
"src": "3121:7:55",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_address_$",
"typeString": "type(address)"
},
"typeName": "address"
},
"id": 17091,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "typeConversion",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "3121:16:55",
"typeDescriptions": {
"typeIdentifier": "t_address_payable",
"typeString": "address payable"
}
},
{
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"baseExpression": {
"argumentTypes": null,
"id": 17094,
"name": "tokens",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 17069,
"src": "3160:6:55",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
"typeString": "address[] memory"
}
},
"id": 17096,
"indexExpression": {
"argumentTypes": null,
"id": 17095,
"name": "i",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 17075,
"src": "3167:1:55",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"isConstant": false,
"isLValue": true,
"isPure": false,
"lValueRequested": false,
"nodeType": "IndexAccess",
"src": "3160:9:55",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_address",
"typeString": "address"
}
],
"expression": {
"argumentTypes": null,
"id": 17092,
"name": "makerRegistry",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 13495,
"src": "3139:13:55",
"typeDescriptions": {
"typeIdentifier": "t_contract$_MakerRegistry_$487",
"typeString": "contract MakerRegistry"
}
},
"id": 17093,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "getIlk",
"nodeType": "MemberAccess",
"referencedDeclaration": 459,
"src": "3139:20:55",
"typeDescriptions": {
"typeIdentifier": "t_function_external_view$_t_address_$returns$_t_bytes32_$",
"typeString": "function (address) view external returns (bytes32)"
}
},
"id": 17097,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "3139:31:55",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_address_payable",
"typeString": "address payable"
},
{
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
],
"expression": {
"argumentTypes": null,
"id": 17087,
"name": "previousMakerV2Manager",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 16777,
"src": "3090:22:55",
"typeDescriptions": {
"typeIdentifier": "t_contract$_MakerV2Manager_$15077",
"typeString": "contract MakerV2Manager"
}
},
"id": 17088,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "loanIds",
"nodeType": "MemberAccess",
"referencedDeclaration": 13505,
"src": "3090:30:55",
"typeDescriptions": {
"typeIdentifier": "t_function_external_view$_t_address_$_t_bytes32_$returns$_t_bytes32_$",
"typeString": "function (address,bytes32) view external returns (bytes32)"
}
},
"id": 17098,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "3090:81:55",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"nodeType": "VariableDeclarationStatement",
"src": "3073:98:55"
},
{
"condition": {
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
},
"id": 17102,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
"id": 17100,
"name": "loanId",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 17086,
"src": "3189:6:55",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"nodeType": "BinaryOperation",
"operator": "!=",
"rightExpression": {
"argumentTypes": null,
"hexValue": "30",
"id": 17101,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "3199:1:55",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_rational_0_by_1",
"typeString": "int_const 0"
},
"value": "0"
},
"src": "3189:11:55",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"falseBody": null,
"id": 17116,
"nodeType": "IfStatement",
"src": "3185:152:55",
"trueBody": {
"id": 17115,
"nodeType": "Block",
"src": "3202:135:55",
"statements": [
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"id": 17106,
"name": "_wallet",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 17060,
"src": "3253:7:55",
"typeDescriptions": {
"typeIdentifier": "t_contract$_BaseWallet_$17655",
"typeString": "contract BaseWallet"
}
},
{
"argumentTypes": null,
"id": 17107,
"name": "loanId",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 17086,
"src": "3262:6:55",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_contract$_BaseWallet_$17655",
"typeString": "contract BaseWallet"
},
{
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
],
"expression": {
"argumentTypes": null,
"id": 17103,
"name": "previousMakerV2Manager",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 16777,
"src": "3220:22:55",
"typeDescriptions": {
"typeIdentifier": "t_contract$_MakerV2Manager_$15077",
"typeString": "contract MakerV2Manager"
}
},
"id": 17105,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "giveVault",
"nodeType": "MemberAccess",
"referencedDeclaration": 14176,
"src": "3220:32:55",
"typeDescriptions": {
"typeIdentifier": "t_function_external_nonpayable$_t_contract$_BaseWallet_$17655_$_t_bytes32_$returns$__$",
"typeString": "function (contract BaseWallet,bytes32) external"
}
},
"id": 17108,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "3220:49:55",
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 17109,
"nodeType": "ExpressionStatement",
"src": "3220:49:55"
},
{
"expression": {
"argumentTypes": null,
"arguments": [
{
"argumentTypes": null,
"id": 17111,
"name": "_wallet",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 17060,
"src": "3306:7:55",
"typeDescriptions": {
"typeIdentifier": "t_contract$_BaseWallet_$17655",
"typeString": "contract BaseWallet"
}
},
{
"argumentTypes": null,
"id": 17112,
"name": "loanId",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 17086,
"src": "3315:6:55",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_contract$_BaseWallet_$17655",
"typeString": "contract BaseWallet"
},
{
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
],
"id": 17110,
"name": "assignLoanToWallet",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 14256,
"src": "3287:18:55",
"typeDescriptions": {
"typeIdentifier": "t_function_internal_nonpayable$_t_contract$_BaseWallet_$17655_$_t_bytes32_$returns$_t_bytes32_$",
"typeString": "function (contract BaseWallet,bytes32) returns (bytes32)"
}
},
"id": 17113,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "3287:35:55",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"id": 17114,
"nodeType": "ExpressionStatement",
"src": "3287:35:55"
}
]
}
}
]
},
"condition": {
"argumentTypes": null,
"commonType": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"id": 17081,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"argumentTypes": null,
"id": 17078,
"name": "i",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 17075,
"src": "3035:1:55",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"nodeType": "BinaryOperation",
"operator": "<",
"rightExpression": {
"argumentTypes": null,
"expression": {
"argumentTypes": null,
"id": 17079,
"name": "tokens",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 17069,
"src": "3039:6:55",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_address_$dyn_memory_ptr",
"typeString": "address[] memory"
}
},
"id": 17080,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberName": "length",
"nodeType": "MemberAccess",
"referencedDeclaration": null,
"src": "3039:13:55",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"src": "3035:17:55",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"id": 17118,
"initializationExpression": {
"assignments": [
17075
],
"declarations": [
{
"constant": false,
"id": 17075,
"name": "i",
"nodeType": "VariableDeclaration",
"scope": 17118,
"src": "3020:9:55",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 17074,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "3020:7:55",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
}
],
"id": 17077,
"initialValue": {
"argumentTypes": null,
"hexValue": "30",
"id": 17076,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "3032:1:55",
"subdenomination": null,
"typeDescriptions": {
"typeIdentifier": "t_rational_0_by_1",
"typeString": "int_const 0"
},
"value": "0"
},
"nodeType": "VariableDeclarationStatement",
"src": "3020:13:55"
},
"loopExpression": {
"expression": {
"argumentTypes": null,
"id": 17083,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"nodeType": "UnaryOperation",
"operator": "++",
"prefix": false,
"src": "3054:3:55",
"subExpression": {
"argumentTypes": null,
"id": 17082,
"name": "i",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 17075,
"src": "3054:1:55",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"id": 17084,
"nodeType": "ExpressionStatement",
"src": "3054:3:55"
},
"nodeType": "ForStatement",
"src": "3015:332:55"
}
]
},
"documentation": null,
"id": 17120,
"implemented": true,
"kind": "function",
"modifiers": [
{
"arguments": [
{
"argumentTypes": null,
"id": 17063,
"name": "_wallet",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 17060,
"src": "2925:7:55",
"typeDescriptions": {
"typeIdentifier": "t_contract$_BaseWallet_$17655",
"typeString": "contract BaseWallet"
}
}
],
"id": 17064,
"modifierName": {
"argumentTypes": null,
"id": 17062,
"name": "onlyWallet",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 10986,
"src": "2914:10:55",
"typeDescriptions": {
"typeIdentifier": "t_modifier$_t_contract$_BaseWallet_$17655_$",
"typeString": "modifier (contract BaseWallet)"
}
},
"nodeType": "ModifierInvocation",
"src": "2914:19:55"
}
],
"name": "init5",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 17061,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 17060,
"name": "_wallet",
"nodeType": "VariableDeclaration",
"scope": 17120,
"src": "2887:18:55",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_contract$_BaseWallet_$17655",
"typeString": "contract BaseWallet"
},
"typeName": {
"contractScope": null,
"id": 17059,
"name": "BaseWallet",
"nodeType": "UserDefinedTypeName",
"referencedDeclaration": 17655,
"src": "2887:10:55",
"typeDescriptions": {
"typeIdentifier": "t_contract$_BaseWallet_$17655",
"typeString": "contract BaseWallet"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "2886:20:55"
},
"returnParameters": {
"id": 17065,
"nodeType": "ParameterList",
"parameters": [],
"src": "2934:0:55"
},
"scope": 17121,
"src": "2872:481:55",
"stateMutability": "nonpayable",
"superFunction": null,
"visibility": "public"
}
],
"scope": 17122,
"src": "201:3154:55"
}
],
"src": "0:3355:55"
},
"compiler": {
"name": "solc",
"version": "0.5.4+commit.9549d8ff.Emscripten.clang",
"optimizer": true,
"runs": 999
},
"networks": {},
"schemaVersion": "2.3.3",
"updatedAt": "2020-05-11T13:37:01.583Z"
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment