{
  "abi": [
    {
      "inputs": [
        {
          "internalType": "contract IPolicyPool",
          "name": "policyPool_",
          "type": "address"
        },
        {
          "internalType": "contract IEToken",
          "name": "eToken_",
          "type": "address"
        },
        {
          "internalType": "bool",
          "name": "coverEToken_",
          "type": "bool"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "constructor"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "amount",
          "type": "uint256"
        }
      ],
      "name": "OutOfCashDeposited",
      "type": "event"
    },
    {
      "inputs": [],
      "name": "cashDeposited",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "contract IEToken",
          "name": "eToken",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "paymentAmount",
          "type": "uint256"
        }
      ],
      "name": "insolventEToken",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "paymentAmount",
          "type": "uint256"
        }
      ],
      "name": "outOfCash",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "policyPool",
      "outputs": [
        {
          "internalType": "contract IPolicyPool",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    }
  ],
  "allSourcePaths": {
    "104": "node_modules/@openzeppelin/contracts/utils/Address.sol",
    "14": "contracts/WadRayMath.sol",
    "21": "contracts/mocks/IMintableERC20.sol",
    "22": "contracts/mocks/LPInsolvencyHook.sol",
    "31": "interfaces/IAssetManager.sol",
    "32": "interfaces/IEToken.sol",
    "33": "interfaces/IExchange.sol",
    "34": "interfaces/IInsolvencyHook.sol",
    "35": "interfaces/ILPWhitelist.sol",
    "37": "interfaces/IPolicyPool.sol",
    "38": "interfaces/IPolicyPoolComponent.sol",
    "39": "interfaces/IPolicyPoolConfig.sol",
    "40": "interfaces/IRiskModule.sol",
    "97": "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol",
    "98": "node_modules/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol",
    "99": "node_modules/@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol"
  },
  "ast": {
    "absolutePath": "contracts/mocks/LPInsolvencyHook.sol",
    "exportedSymbols": {
      "IERC20": [
        16706
      ],
      "IEToken": [
        16628
      ],
      "IInsolvencyHook": [
        17414
      ],
      "IMintableERC20": [
        12985
      ],
      "IPolicyPool": [
        14671
      ],
      "IPolicyPoolComponent": [
        19141
      ],
      "LPInsolvencyHook": [
        13185
      ],
      "SafeERC20": [
        16495
      ],
      "WadRayMath": [
        11252
      ]
    },
    "id": 13186,
    "license": "Apache-2.0",
    "nodeType": "SourceUnit",
    "nodes": [
      {
        "id": 12987,
        "literals": [
          "solidity",
          "^",
          "0.8",
          ".0"
        ],
        "nodeType": "PragmaDirective",
        "src": "39:23:22"
      },
      {
        "absolutePath": "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol",
        "file": "@openzeppelin/contracts/token/ERC20/IERC20.sol",
        "id": 12989,
        "nameLocation": "-1:-1:-1",
        "nodeType": "ImportDirective",
        "scope": 13186,
        "sourceUnit": 16707,
        "src": "64:70:22",
        "symbolAliases": [
          {
            "foreign": {
              "id": 12988,
              "name": "IERC20",
              "nodeType": "Identifier",
              "overloadedDeclarations": [],
              "src": "72:6:22",
              "typeDescriptions": {}
            },
            "nameLocation": "-1:-1:-1"
          }
        ],
        "unitAlias": ""
      },
      {
        "absolutePath": "node_modules/@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol",
        "file": "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol",
        "id": 12991,
        "nameLocation": "-1:-1:-1",
        "nodeType": "ImportDirective",
        "scope": 13186,
        "sourceUnit": 16496,
        "src": "135:82:22",
        "symbolAliases": [
          {
            "foreign": {
              "id": 12990,
              "name": "SafeERC20",
              "nodeType": "Identifier",
              "overloadedDeclarations": [],
              "src": "143:9:22",
              "typeDescriptions": {}
            },
            "nameLocation": "-1:-1:-1"
          }
        ],
        "unitAlias": ""
      },
      {
        "absolutePath": "interfaces/IPolicyPool.sol",
        "file": "../../interfaces/IPolicyPool.sol",
        "id": 12993,
        "nameLocation": "-1:-1:-1",
        "nodeType": "ImportDirective",
        "scope": 13186,
        "sourceUnit": 14672,
        "src": "218:61:22",
        "symbolAliases": [
          {
            "foreign": {
              "id": 12992,
              "name": "IPolicyPool",
              "nodeType": "Identifier",
              "overloadedDeclarations": [],
              "src": "226:11:22",
              "typeDescriptions": {}
            },
            "nameLocation": "-1:-1:-1"
          }
        ],
        "unitAlias": ""
      },
      {
        "absolutePath": "interfaces/IEToken.sol",
        "file": "../../interfaces/IEToken.sol",
        "id": 12995,
        "nameLocation": "-1:-1:-1",
        "nodeType": "ImportDirective",
        "scope": 13186,
        "sourceUnit": 16629,
        "src": "280:53:22",
        "symbolAliases": [
          {
            "foreign": {
              "id": 12994,
              "name": "IEToken",
              "nodeType": "Identifier",
              "overloadedDeclarations": [],
              "src": "288:7:22",
              "typeDescriptions": {}
            },
            "nameLocation": "-1:-1:-1"
          }
        ],
        "unitAlias": ""
      },
      {
        "absolutePath": "interfaces/IPolicyPoolComponent.sol",
        "file": "../../interfaces/IPolicyPoolComponent.sol",
        "id": 12997,
        "nameLocation": "-1:-1:-1",
        "nodeType": "ImportDirective",
        "scope": 13186,
        "sourceUnit": 19142,
        "src": "334:79:22",
        "symbolAliases": [
          {
            "foreign": {
              "id": 12996,
              "name": "IPolicyPoolComponent",
              "nodeType": "Identifier",
              "overloadedDeclarations": [],
              "src": "342:20:22",
              "typeDescriptions": {}
            },
            "nameLocation": "-1:-1:-1"
          }
        ],
        "unitAlias": ""
      },
      {
        "absolutePath": "interfaces/IInsolvencyHook.sol",
        "file": "../../interfaces/IInsolvencyHook.sol",
        "id": 12999,
        "nameLocation": "-1:-1:-1",
        "nodeType": "ImportDirective",
        "scope": 13186,
        "sourceUnit": 17415,
        "src": "414:69:22",
        "symbolAliases": [
          {
            "foreign": {
              "id": 12998,
              "name": "IInsolvencyHook",
              "nodeType": "Identifier",
              "overloadedDeclarations": [],
              "src": "422:15:22",
              "typeDescriptions": {}
            },
            "nameLocation": "-1:-1:-1"
          }
        ],
        "unitAlias": ""
      },
      {
        "absolutePath": "contracts/WadRayMath.sol",
        "file": "../WadRayMath.sol",
        "id": 13001,
        "nameLocation": "-1:-1:-1",
        "nodeType": "ImportDirective",
        "scope": 13186,
        "sourceUnit": 11253,
        "src": "484:45:22",
        "symbolAliases": [
          {
            "foreign": {
              "id": 13000,
              "name": "WadRayMath",
              "nodeType": "Identifier",
              "overloadedDeclarations": [],
              "src": "492:10:22",
              "typeDescriptions": {}
            },
            "nameLocation": "-1:-1:-1"
          }
        ],
        "unitAlias": ""
      },
      {
        "absolutePath": "contracts/mocks/IMintableERC20.sol",
        "file": "./IMintableERC20.sol",
        "id": 13003,
        "nameLocation": "-1:-1:-1",
        "nodeType": "ImportDirective",
        "scope": 13186,
        "sourceUnit": 12986,
        "src": "530:52:22",
        "symbolAliases": [
          {
            "foreign": {
              "id": 13002,
              "name": "IMintableERC20",
              "nodeType": "Identifier",
              "overloadedDeclarations": [],
              "src": "538:14:22",
              "typeDescriptions": {}
            },
            "nameLocation": "-1:-1:-1"
          }
        ],
        "unitAlias": ""
      },
      {
        "abstract": false,
        "baseContracts": [
          {
            "baseName": {
              "id": 13004,
              "name": "IInsolvencyHook",
              "nodeType": "IdentifierPath",
              "referencedDeclaration": 17414,
              "src": "613:15:22"
            },
            "id": 13005,
            "nodeType": "InheritanceSpecifier",
            "src": "613:15:22"
          },
          {
            "baseName": {
              "id": 13006,
              "name": "IPolicyPoolComponent",
              "nodeType": "IdentifierPath",
              "referencedDeclaration": 19141,
              "src": "630:20:22"
            },
            "id": 13007,
            "nodeType": "InheritanceSpecifier",
            "src": "630:20:22"
          }
        ],
        "contractDependencies": [],
        "contractKind": "contract",
        "fullyImplemented": true,
        "id": 13185,
        "linearizedBaseContracts": [
          13185,
          19141,
          17414
        ],
        "name": "LPInsolvencyHook",
        "nameLocation": "593:16:22",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "id": 13011,
            "libraryName": {
              "id": 13008,
              "name": "SafeERC20",
              "nodeType": "IdentifierPath",
              "referencedDeclaration": 16495,
              "src": "661:9:22"
            },
            "nodeType": "UsingForDirective",
            "src": "655:27:22",
            "typeName": {
              "id": 13010,
              "nodeType": "UserDefinedTypeName",
              "pathNode": {
                "id": 13009,
                "name": "IERC20",
                "nodeType": "IdentifierPath",
                "referencedDeclaration": 16706,
                "src": "675:6:22"
              },
              "referencedDeclaration": 16706,
              "src": "675:6:22",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_IERC20_$16706",
                "typeString": "contract IERC20"
              }
            }
          },
          {
            "id": 13014,
            "libraryName": {
              "id": 13012,
              "name": "WadRayMath",
              "nodeType": "IdentifierPath",
              "referencedDeclaration": 11252,
              "src": "691:10:22"
            },
            "nodeType": "UsingForDirective",
            "src": "685:29:22",
            "typeName": {
              "id": 13013,
              "name": "uint256",
              "nodeType": "ElementaryTypeName",
              "src": "706:7:22",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            }
          },
          {
            "constant": false,
            "id": 13017,
            "mutability": "mutable",
            "name": "_policyPool",
            "nameLocation": "739:11:22",
            "nodeType": "VariableDeclaration",
            "scope": 13185,
            "src": "718:32:22",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_contract$_IPolicyPool_$14671",
              "typeString": "contract IPolicyPool"
            },
            "typeName": {
              "id": 13016,
              "nodeType": "UserDefinedTypeName",
              "pathNode": {
                "id": 13015,
                "name": "IPolicyPool",
                "nodeType": "IdentifierPath",
                "referencedDeclaration": 14671,
                "src": "718:11:22"
              },
              "referencedDeclaration": 14671,
              "src": "718:11:22",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_IPolicyPool_$14671",
                "typeString": "contract IPolicyPool"
              }
            },
            "visibility": "internal"
          },
          {
            "constant": false,
            "id": 13020,
            "mutability": "mutable",
            "name": "_eToken",
            "nameLocation": "771:7:22",
            "nodeType": "VariableDeclaration",
            "scope": 13185,
            "src": "754:24:22",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_contract$_IEToken_$16628",
              "typeString": "contract IEToken"
            },
            "typeName": {
              "id": 13019,
              "nodeType": "UserDefinedTypeName",
              "pathNode": {
                "id": 13018,
                "name": "IEToken",
                "nodeType": "IdentifierPath",
                "referencedDeclaration": 16628,
                "src": "754:7:22"
              },
              "referencedDeclaration": 16628,
              "src": "754:7:22",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_IEToken_$16628",
                "typeString": "contract IEToken"
              }
            },
            "visibility": "internal"
          },
          {
            "constant": false,
            "functionSelector": "b8450c16",
            "id": 13022,
            "mutability": "mutable",
            "name": "cashDeposited",
            "nameLocation": "797:13:22",
            "nodeType": "VariableDeclaration",
            "scope": 13185,
            "src": "782:28:22",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint256",
              "typeString": "uint256"
            },
            "typeName": {
              "id": 13021,
              "name": "uint256",
              "nodeType": "ElementaryTypeName",
              "src": "782:7:22",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            },
            "visibility": "public"
          },
          {
            "constant": false,
            "id": 13024,
            "mutability": "mutable",
            "name": "_coverEToken",
            "nameLocation": "828:12:22",
            "nodeType": "VariableDeclaration",
            "scope": 13185,
            "src": "814:26:22",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_bool",
              "typeString": "bool"
            },
            "typeName": {
              "id": 13023,
              "name": "bool",
              "nodeType": "ElementaryTypeName",
              "src": "814:4:22",
              "typeDescriptions": {
                "typeIdentifier": "t_bool",
                "typeString": "bool"
              }
            },
            "visibility": "internal"
          },
          {
            "body": {
              "id": 13038,
              "nodeType": "Block",
              "src": "871:98:22",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "commonType": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        "id": 13033,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "expression": {
                            "id": 13027,
                            "name": "msg",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": -15,
                            "src": "885:3:22",
                            "typeDescriptions": {
                              "typeIdentifier": "t_magic_message",
                              "typeString": "msg"
                            }
                          },
                          "id": 13028,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "sender",
                          "nodeType": "MemberAccess",
                          "src": "885:10:22",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "==",
                        "rightExpression": {
                          "arguments": [
                            {
                              "id": 13031,
                              "name": "_policyPool",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 13017,
                              "src": "907:11:22",
                              "typeDescriptions": {
                                "typeIdentifier": "t_contract$_IPolicyPool_$14671",
                                "typeString": "contract IPolicyPool"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_contract$_IPolicyPool_$14671",
                                "typeString": "contract IPolicyPool"
                              }
                            ],
                            "id": 13030,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "nodeType": "ElementaryTypeNameExpression",
                            "src": "899:7:22",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_address_$",
                              "typeString": "type(address)"
                            },
                            "typeName": {
                              "id": 13029,
                              "name": "address",
                              "nodeType": "ElementaryTypeName",
                              "src": "899:7:22",
                              "typeDescriptions": {}
                            }
                          },
                          "id": 13032,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "typeConversion",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "899:20:22",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "src": "885:34:22",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "hexValue": "5468652063616c6c6572206d7573742062652074686520506f6c696379506f6f6c",
                        "id": 13034,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "921:35:22",
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_9d0a356323ce3e3c29a3e2bb48578fedab9a434614d6f39614688cfd87c4b961",
                          "typeString": "literal_string \"The caller must be the PolicyPool\""
                        },
                        "value": "The caller must be the PolicyPool"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_9d0a356323ce3e3c29a3e2bb48578fedab9a434614d6f39614688cfd87c4b961",
                          "typeString": "literal_string \"The caller must be the PolicyPool\""
                        }
                      ],
                      "id": 13026,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        -18,
                        -18
                      ],
                      "referencedDeclaration": -18,
                      "src": "877:7:22",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 13035,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "877:80:22",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 13036,
                  "nodeType": "ExpressionStatement",
                  "src": "877:80:22"
                },
                {
                  "id": 13037,
                  "nodeType": "PlaceholderStatement",
                  "src": "963:1:22"
                }
              ]
            },
            "id": 13039,
            "name": "onlyPolicyPool",
            "nameLocation": "854:14:22",
            "nodeType": "ModifierDefinition",
            "parameters": {
              "id": 13025,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "868:2:22"
            },
            "src": "845:124:22",
            "virtual": false,
            "visibility": "internal"
          },
          {
            "anonymous": false,
            "id": 13043,
            "name": "OutOfCashDeposited",
            "nameLocation": "979:18:22",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 13042,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 13041,
                  "indexed": false,
                  "mutability": "mutable",
                  "name": "amount",
                  "nameLocation": "1006:6:22",
                  "nodeType": "VariableDeclaration",
                  "scope": 13043,
                  "src": "998:14:22",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 13040,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "998:7:22",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "997:16:22"
            },
            "src": "973:41:22"
          },
          {
            "body": {
              "id": 13066,
              "nodeType": "Block",
              "src": "1107:92:22",
              "statements": [
                {
                  "expression": {
                    "id": 13056,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "id": 13054,
                      "name": "_policyPool",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 13017,
                      "src": "1113:11:22",
                      "typeDescriptions": {
                        "typeIdentifier": "t_contract$_IPolicyPool_$14671",
                        "typeString": "contract IPolicyPool"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "id": 13055,
                      "name": "policyPool_",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 13046,
                      "src": "1127:11:22",
                      "typeDescriptions": {
                        "typeIdentifier": "t_contract$_IPolicyPool_$14671",
                        "typeString": "contract IPolicyPool"
                      }
                    },
                    "src": "1113:25:22",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_IPolicyPool_$14671",
                      "typeString": "contract IPolicyPool"
                    }
                  },
                  "id": 13057,
                  "nodeType": "ExpressionStatement",
                  "src": "1113:25:22"
                },
                {
                  "expression": {
                    "id": 13060,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "id": 13058,
                      "name": "_eToken",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 13020,
                      "src": "1144:7:22",
                      "typeDescriptions": {
                        "typeIdentifier": "t_contract$_IEToken_$16628",
                        "typeString": "contract IEToken"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "id": 13059,
                      "name": "eToken_",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 13049,
                      "src": "1154:7:22",
                      "typeDescriptions": {
                        "typeIdentifier": "t_contract$_IEToken_$16628",
                        "typeString": "contract IEToken"
                      }
                    },
                    "src": "1144:17:22",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_IEToken_$16628",
                      "typeString": "contract IEToken"
                    }
                  },
                  "id": 13061,
                  "nodeType": "ExpressionStatement",
                  "src": "1144:17:22"
                },
                {
                  "expression": {
                    "id": 13064,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "id": 13062,
                      "name": "_coverEToken",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 13024,
                      "src": "1167:12:22",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "id": 13063,
                      "name": "coverEToken_",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 13051,
                      "src": "1182:12:22",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "src": "1167:27:22",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 13065,
                  "nodeType": "ExpressionStatement",
                  "src": "1167:27:22"
                }
              ]
            },
            "id": 13067,
            "implemented": true,
            "kind": "constructor",
            "modifiers": [],
            "name": "",
            "nameLocation": "-1:-1:-1",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 13052,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 13046,
                  "mutability": "mutable",
                  "name": "policyPool_",
                  "nameLocation": "1047:11:22",
                  "nodeType": "VariableDeclaration",
                  "scope": 13067,
                  "src": "1035:23:22",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_contract$_IPolicyPool_$14671",
                    "typeString": "contract IPolicyPool"
                  },
                  "typeName": {
                    "id": 13045,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 13044,
                      "name": "IPolicyPool",
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 14671,
                      "src": "1035:11:22"
                    },
                    "referencedDeclaration": 14671,
                    "src": "1035:11:22",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_IPolicyPool_$14671",
                      "typeString": "contract IPolicyPool"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 13049,
                  "mutability": "mutable",
                  "name": "eToken_",
                  "nameLocation": "1072:7:22",
                  "nodeType": "VariableDeclaration",
                  "scope": 13067,
                  "src": "1064:15:22",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_contract$_IEToken_$16628",
                    "typeString": "contract IEToken"
                  },
                  "typeName": {
                    "id": 13048,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 13047,
                      "name": "IEToken",
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 16628,
                      "src": "1064:7:22"
                    },
                    "referencedDeclaration": 16628,
                    "src": "1064:7:22",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_IEToken_$16628",
                      "typeString": "contract IEToken"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 13051,
                  "mutability": "mutable",
                  "name": "coverEToken_",
                  "nameLocation": "1090:12:22",
                  "nodeType": "VariableDeclaration",
                  "scope": 13067,
                  "src": "1085:17:22",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 13050,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "1085:4:22",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1029:77:22"
            },
            "returnParameters": {
              "id": 13053,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1107:0:22"
            },
            "scope": 13185,
            "src": "1018:181:22",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "public"
          },
          {
            "baseFunctions": [
              19140
            ],
            "body": {
              "id": 13076,
              "nodeType": "Block",
              "src": "1268:29:22",
              "statements": [
                {
                  "expression": {
                    "id": 13074,
                    "name": "_policyPool",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 13017,
                    "src": "1281:11:22",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_IPolicyPool_$14671",
                      "typeString": "contract IPolicyPool"
                    }
                  },
                  "functionReturnParameters": 13073,
                  "id": 13075,
                  "nodeType": "Return",
                  "src": "1274:18:22"
                }
              ]
            },
            "functionSelector": "4d15eb03",
            "id": 13077,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "policyPool",
            "nameLocation": "1212:10:22",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 13069,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "1237:8:22"
            },
            "parameters": {
              "id": 13068,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1222:2:22"
            },
            "returnParameters": {
              "id": 13073,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 13072,
                  "mutability": "mutable",
                  "name": "",
                  "nameLocation": "-1:-1:-1",
                  "nodeType": "VariableDeclaration",
                  "scope": 13077,
                  "src": "1255:11:22",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_contract$_IPolicyPool_$14671",
                    "typeString": "contract IPolicyPool"
                  },
                  "typeName": {
                    "id": 13071,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 13070,
                      "name": "IPolicyPool",
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 14671,
                      "src": "1255:11:22"
                    },
                    "referencedDeclaration": 14671,
                    "src": "1255:11:22",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_IPolicyPool_$14671",
                      "typeString": "contract IPolicyPool"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1254:13:22"
            },
            "scope": 13185,
            "src": "1203:94:22",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "public"
          },
          {
            "baseFunctions": [
              17404
            ],
            "body": {
              "id": 13090,
              "nodeType": "Block",
              "src": "1376:50:22",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 13086,
                        "name": "_eToken",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 13020,
                        "src": "1398:7:22",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_IEToken_$16628",
                          "typeString": "contract IEToken"
                        }
                      },
                      {
                        "id": 13087,
                        "name": "paymentAmount",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 13079,
                        "src": "1407:13:22",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_contract$_IEToken_$16628",
                          "typeString": "contract IEToken"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "id": 13085,
                      "name": "_mintAndDeposit",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 13146,
                      "src": "1382:15:22",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IEToken_$16628_$_t_uint256_$returns$__$",
                        "typeString": "function (contract IEToken,uint256)"
                      }
                    },
                    "id": 13088,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "1382:39:22",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 13089,
                  "nodeType": "ExpressionStatement",
                  "src": "1382:39:22"
                }
              ]
            },
            "functionSelector": "ee842dda",
            "id": 13091,
            "implemented": true,
            "kind": "function",
            "modifiers": [
              {
                "id": 13083,
                "kind": "modifierInvocation",
                "modifierName": {
                  "id": 13082,
                  "name": "onlyPolicyPool",
                  "nodeType": "IdentifierPath",
                  "referencedDeclaration": 13039,
                  "src": "1361:14:22"
                },
                "nodeType": "ModifierInvocation",
                "src": "1361:14:22"
              }
            ],
            "name": "outOfCash",
            "nameLocation": "1310:9:22",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 13081,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "1352:8:22"
            },
            "parameters": {
              "id": 13080,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 13079,
                  "mutability": "mutable",
                  "name": "paymentAmount",
                  "nameLocation": "1328:13:22",
                  "nodeType": "VariableDeclaration",
                  "scope": 13091,
                  "src": "1320:21:22",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 13078,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1320:7:22",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1319:23:22"
            },
            "returnParameters": {
              "id": 13084,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1376:0:22"
            },
            "scope": 13185,
            "src": "1301:125:22",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          },
          {
            "body": {
              "id": 13145,
              "nodeType": "Block",
              "src": "1503:312:22",
              "statements": [
                {
                  "assignments": [
                    13101
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 13101,
                      "mutability": "mutable",
                      "name": "currency",
                      "nameLocation": "1516:8:22",
                      "nodeType": "VariableDeclaration",
                      "scope": 13145,
                      "src": "1509:15:22",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_contract$_IERC20_$16706",
                        "typeString": "contract IERC20"
                      },
                      "typeName": {
                        "id": 13100,
                        "nodeType": "UserDefinedTypeName",
                        "pathNode": {
                          "id": 13099,
                          "name": "IERC20",
                          "nodeType": "IdentifierPath",
                          "referencedDeclaration": 16706,
                          "src": "1509:6:22"
                        },
                        "referencedDeclaration": 16706,
                        "src": "1509:6:22",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_IERC20_$16706",
                          "typeString": "contract IERC20"
                        }
                      },
                      "visibility": "internal"
                    }
                  ],
                  "id": 13105,
                  "initialValue": {
                    "arguments": [],
                    "expression": {
                      "argumentTypes": [],
                      "expression": {
                        "id": 13102,
                        "name": "_policyPool",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 13017,
                        "src": "1527:11:22",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_IPolicyPool_$14671",
                          "typeString": "contract IPolicyPool"
                        }
                      },
                      "id": 13103,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "currency",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 14572,
                      "src": "1527:20:22",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_view$__$returns$_t_contract$_IERC20Metadata_$16271_$",
                        "typeString": "function () view external returns (contract IERC20Metadata)"
                      }
                    },
                    "id": 13104,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "1527:22:22",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_IERC20Metadata_$16271",
                      "typeString": "contract IERC20Metadata"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "1509:40:22"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "id": 13115,
                            "name": "this",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": -28,
                            "src": "1602:4:22",
                            "typeDescriptions": {
                              "typeIdentifier": "t_contract$_LPInsolvencyHook_$13185",
                              "typeString": "contract LPInsolvencyHook"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_contract$_LPInsolvencyHook_$13185",
                              "typeString": "contract LPInsolvencyHook"
                            }
                          ],
                          "id": 13114,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "nodeType": "ElementaryTypeNameExpression",
                          "src": "1594:7:22",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_address_$",
                            "typeString": "type(address)"
                          },
                          "typeName": {
                            "id": 13113,
                            "name": "address",
                            "nodeType": "ElementaryTypeName",
                            "src": "1594:7:22",
                            "typeDescriptions": {}
                          }
                        },
                        "id": 13116,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "typeConversion",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "1594:13:22",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "id": 13117,
                        "name": "paymentAmount",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 13096,
                        "src": "1609:13:22",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "expression": {
                        "arguments": [
                          {
                            "arguments": [
                              {
                                "id": 13109,
                                "name": "currency",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 13101,
                                "src": "1578:8:22",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_contract$_IERC20_$16706",
                                  "typeString": "contract IERC20"
                                }
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_contract$_IERC20_$16706",
                                  "typeString": "contract IERC20"
                                }
                              ],
                              "id": 13108,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "lValueRequested": false,
                              "nodeType": "ElementaryTypeNameExpression",
                              "src": "1570:7:22",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_address_$",
                                "typeString": "type(address)"
                              },
                              "typeName": {
                                "id": 13107,
                                "name": "address",
                                "nodeType": "ElementaryTypeName",
                                "src": "1570:7:22",
                                "typeDescriptions": {}
                              }
                            },
                            "id": 13110,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "typeConversion",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "1570:17:22",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_address",
                              "typeString": "address"
                            }
                          ],
                          "id": 13106,
                          "name": "IMintableERC20",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 12985,
                          "src": "1555:14:22",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_contract$_IMintableERC20_$12985_$",
                            "typeString": "type(contract IMintableERC20)"
                          }
                        },
                        "id": 13111,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "typeConversion",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "1555:33:22",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_IMintableERC20_$12985",
                          "typeString": "contract IMintableERC20"
                        }
                      },
                      "id": 13112,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "mint",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 12977,
                      "src": "1555:38:22",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$__$",
                        "typeString": "function (address,uint256) external"
                      }
                    },
                    "id": 13118,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "1555:68:22",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 13119,
                  "nodeType": "ExpressionStatement",
                  "src": "1555:68:22"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "arguments": [
                          {
                            "id": 13125,
                            "name": "_policyPool",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 13017,
                            "src": "1654:11:22",
                            "typeDescriptions": {
                              "typeIdentifier": "t_contract$_IPolicyPool_$14671",
                              "typeString": "contract IPolicyPool"
                            }
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_contract$_IPolicyPool_$14671",
                              "typeString": "contract IPolicyPool"
                            }
                          ],
                          "id": 13124,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "nodeType": "ElementaryTypeNameExpression",
                          "src": "1646:7:22",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_address_$",
                            "typeString": "type(address)"
                          },
                          "typeName": {
                            "id": 13123,
                            "name": "address",
                            "nodeType": "ElementaryTypeName",
                            "src": "1646:7:22",
                            "typeDescriptions": {}
                          }
                        },
                        "id": 13126,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "typeConversion",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "1646:20:22",
                        "tryCall": false,
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      {
                        "id": 13127,
                        "name": "paymentAmount",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 13096,
                        "src": "1668:13:22",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "expression": {
                        "id": 13120,
                        "name": "currency",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 13101,
                        "src": "1629:8:22",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_IERC20_$16706",
                          "typeString": "contract IERC20"
                        }
                      },
                      "id": 13122,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "approve",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 16675,
                      "src": "1629:16:22",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$",
                        "typeString": "function (address,uint256) external returns (bool)"
                      }
                    },
                    "id": 13128,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "1629:53:22",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 13129,
                  "nodeType": "ExpressionStatement",
                  "src": "1629:53:22"
                },
                {
                  "expression": {
                    "arguments": [
                      {
                        "id": 13133,
                        "name": "eToken",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 13094,
                        "src": "1708:6:22",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_IEToken_$16628",
                          "typeString": "contract IEToken"
                        }
                      },
                      {
                        "id": 13134,
                        "name": "paymentAmount",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 13096,
                        "src": "1716:13:22",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_contract$_IEToken_$16628",
                          "typeString": "contract IEToken"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "expression": {
                        "id": 13130,
                        "name": "_policyPool",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 13017,
                        "src": "1688:11:22",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_IPolicyPool_$14671",
                          "typeString": "contract IPolicyPool"
                        }
                      },
                      "id": 13132,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "deposit",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 14655,
                      "src": "1688:19:22",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$_t_contract$_IEToken_$16628_$_t_uint256_$returns$__$",
                        "typeString": "function (contract IEToken,uint256) external"
                      }
                    },
                    "id": 13135,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "1688:42:22",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 13136,
                  "nodeType": "ExpressionStatement",
                  "src": "1688:42:22"
                },
                {
                  "expression": {
                    "id": 13139,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "id": 13137,
                      "name": "cashDeposited",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 13022,
                      "src": "1736:13:22",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "+=",
                    "rightHandSide": {
                      "id": 13138,
                      "name": "paymentAmount",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 13096,
                      "src": "1753:13:22",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "1736:30:22",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 13140,
                  "nodeType": "ExpressionStatement",
                  "src": "1736:30:22"
                },
                {
                  "eventCall": {
                    "arguments": [
                      {
                        "id": 13142,
                        "name": "paymentAmount",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 13096,
                        "src": "1796:13:22",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "id": 13141,
                      "name": "OutOfCashDeposited",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 13043,
                      "src": "1777:18:22",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$returns$__$",
                        "typeString": "function (uint256)"
                      }
                    },
                    "id": 13143,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "1777:33:22",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 13144,
                  "nodeType": "EmitStatement",
                  "src": "1772:38:22"
                }
              ]
            },
            "id": 13146,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "_mintAndDeposit",
            "nameLocation": "1439:15:22",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 13097,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 13094,
                  "mutability": "mutable",
                  "name": "eToken",
                  "nameLocation": "1463:6:22",
                  "nodeType": "VariableDeclaration",
                  "scope": 13146,
                  "src": "1455:14:22",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_contract$_IEToken_$16628",
                    "typeString": "contract IEToken"
                  },
                  "typeName": {
                    "id": 13093,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 13092,
                      "name": "IEToken",
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 16628,
                      "src": "1455:7:22"
                    },
                    "referencedDeclaration": 16628,
                    "src": "1455:7:22",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_IEToken_$16628",
                      "typeString": "contract IEToken"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 13096,
                  "mutability": "mutable",
                  "name": "paymentAmount",
                  "nameLocation": "1479:13:22",
                  "nodeType": "VariableDeclaration",
                  "scope": 13146,
                  "src": "1471:21:22",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 13095,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1471:7:22",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1454:39:22"
            },
            "returnParameters": {
              "id": 13098,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1503:0:22"
            },
            "scope": 13185,
            "src": "1430:385:22",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "internal"
          },
          {
            "baseFunctions": [
              17413
            ],
            "body": {
              "id": 13183,
              "nodeType": "Block",
              "src": "1901:331:22",
              "statements": [
                {
                  "expression": {
                    "arguments": [
                      {
                        "commonType": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        "id": 13162,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "arguments": [
                            {
                              "id": 13158,
                              "name": "eToken",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 13149,
                              "src": "1923:6:22",
                              "typeDescriptions": {
                                "typeIdentifier": "t_contract$_IEToken_$16628",
                                "typeString": "contract IEToken"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_contract$_IEToken_$16628",
                                "typeString": "contract IEToken"
                              }
                            ],
                            "id": 13157,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "nodeType": "ElementaryTypeNameExpression",
                            "src": "1915:7:22",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_address_$",
                              "typeString": "type(address)"
                            },
                            "typeName": {
                              "id": 13156,
                              "name": "address",
                              "nodeType": "ElementaryTypeName",
                              "src": "1915:7:22",
                              "typeDescriptions": {}
                            }
                          },
                          "id": 13159,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "typeConversion",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "1915:15:22",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "==",
                        "rightExpression": {
                          "expression": {
                            "id": 13160,
                            "name": "msg",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": -15,
                            "src": "1934:3:22",
                            "typeDescriptions": {
                              "typeIdentifier": "t_magic_message",
                              "typeString": "msg"
                            }
                          },
                          "id": 13161,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "sender",
                          "nodeType": "MemberAccess",
                          "src": "1934:10:22",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "src": "1915:29:22",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "hexValue": "4d7573742062652063616c6c65642066726f6d207468652065546f6b656e",
                        "id": 13163,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "1946:32:22",
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_6405585570f95214d4d7dfd1e328fff92b31efce1776fbda8cc9ad1215bbd286",
                          "typeString": "literal_string \"Must be called from the eToken\""
                        },
                        "value": "Must be called from the eToken"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_6405585570f95214d4d7dfd1e328fff92b31efce1776fbda8cc9ad1215bbd286",
                          "typeString": "literal_string \"Must be called from the eToken\""
                        }
                      ],
                      "id": 13155,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        -18,
                        -18
                      ],
                      "referencedDeclaration": -18,
                      "src": "1907:7:22",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 13164,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "1907:72:22",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 13165,
                  "nodeType": "ExpressionStatement",
                  "src": "1907:72:22"
                },
                {
                  "condition": {
                    "id": 13166,
                    "name": "_coverEToken",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 13024,
                    "src": "2096:12:22",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 13182,
                  "nodeType": "IfStatement",
                  "src": "2092:136:22",
                  "trueBody": {
                    "id": 13181,
                    "nodeType": "Block",
                    "src": "2110:118:22",
                    "statements": [
                      {
                        "expression": {
                          "id": 13174,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "id": 13167,
                            "name": "paymentAmount",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 13151,
                            "src": "2118:13:22",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "+=",
                          "rightHandSide": {
                            "arguments": [
                              {
                                "hexValue": "31653137",
                                "id": 13172,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "kind": "number",
                                "lValueRequested": false,
                                "nodeType": "Literal",
                                "src": "2155:4:22",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_rational_100000000000000000_by_1",
                                  "typeString": "int_const 100000000000000000"
                                },
                                "value": "1e17"
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_rational_100000000000000000_by_1",
                                  "typeString": "int_const 100000000000000000"
                                }
                              ],
                              "expression": {
                                "arguments": [],
                                "expression": {
                                  "argumentTypes": [],
                                  "expression": {
                                    "id": 13168,
                                    "name": "eToken",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 13149,
                                    "src": "2135:6:22",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_contract$_IEToken_$16628",
                                      "typeString": "contract IEToken"
                                    }
                                  },
                                  "id": 13169,
                                  "isConstant": false,
                                  "isLValue": false,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "memberName": "scr",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": 16543,
                                  "src": "2135:10:22",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$",
                                    "typeString": "function () view external returns (uint256)"
                                  }
                                },
                                "id": 13170,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "functionCall",
                                "lValueRequested": false,
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "2135:12:22",
                                "tryCall": false,
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "id": 13171,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberName": "wadMul",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 11048,
                              "src": "2135:19:22",
                              "typeDescriptions": {
                                "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$",
                                "typeString": "function (uint256,uint256) pure returns (uint256)"
                              }
                            },
                            "id": 13173,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "functionCall",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "2135:25:22",
                            "tryCall": false,
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "src": "2118:42:22",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "id": 13175,
                        "nodeType": "ExpressionStatement",
                        "src": "2118:42:22"
                      },
                      {
                        "expression": {
                          "arguments": [
                            {
                              "id": 13177,
                              "name": "eToken",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 13149,
                              "src": "2199:6:22",
                              "typeDescriptions": {
                                "typeIdentifier": "t_contract$_IEToken_$16628",
                                "typeString": "contract IEToken"
                              }
                            },
                            {
                              "id": 13178,
                              "name": "paymentAmount",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 13151,
                              "src": "2207:13:22",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_contract$_IEToken_$16628",
                                "typeString": "contract IEToken"
                              },
                              {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            ],
                            "id": 13176,
                            "name": "_mintAndDeposit",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 13146,
                            "src": "2183:15:22",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_nonpayable$_t_contract$_IEToken_$16628_$_t_uint256_$returns$__$",
                              "typeString": "function (contract IEToken,uint256)"
                            }
                          },
                          "id": 13179,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "2183:38:22",
                          "tryCall": false,
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 13180,
                        "nodeType": "ExpressionStatement",
                        "src": "2183:38:22"
                      }
                    ]
                  }
                }
              ]
            },
            "functionSelector": "9950de50",
            "id": 13184,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "insolventEToken",
            "nameLocation": "1828:15:22",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 13153,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "1892:8:22"
            },
            "parameters": {
              "id": 13152,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 13149,
                  "mutability": "mutable",
                  "name": "eToken",
                  "nameLocation": "1852:6:22",
                  "nodeType": "VariableDeclaration",
                  "scope": 13184,
                  "src": "1844:14:22",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_contract$_IEToken_$16628",
                    "typeString": "contract IEToken"
                  },
                  "typeName": {
                    "id": 13148,
                    "nodeType": "UserDefinedTypeName",
                    "pathNode": {
                      "id": 13147,
                      "name": "IEToken",
                      "nodeType": "IdentifierPath",
                      "referencedDeclaration": 16628,
                      "src": "1844:7:22"
                    },
                    "referencedDeclaration": 16628,
                    "src": "1844:7:22",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_IEToken_$16628",
                      "typeString": "contract IEToken"
                    }
                  },
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 13151,
                  "mutability": "mutable",
                  "name": "paymentAmount",
                  "nameLocation": "1868:13:22",
                  "nodeType": "VariableDeclaration",
                  "scope": 13184,
                  "src": "1860:21:22",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 13150,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1860:7:22",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "visibility": "internal"
                }
              ],
              "src": "1843:39:22"
            },
            "returnParameters": {
              "id": 13154,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1901:0:22"
            },
            "scope": 13185,
            "src": "1819:413:22",
            "stateMutability": "nonpayable",
            "virtual": false,
            "visibility": "external"
          }
        ],
        "scope": 13186,
        "src": "584:1650:22",
        "usedErrors": []
      }
    ],
    "src": "39:2196:22"
  },
  "bytecode": "608060405234801561001057600080fd5b5060405161079638038061079683398101604081905261002f91610076565b600080546001600160a01b03199081166001600160a01b03958616179091556001805490911692909316919091179091556003805460ff19169115159190911790556100e0565b60008060006060848603121561008b57600080fd5b8351610096816100c8565b60208501519093506100a7816100c8565b604085015190925080151581146100bd57600080fd5b809150509250925092565b6001600160a01b03811681146100dd57600080fd5b50565b6106a7806100ef6000396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c80634d15eb03146100515780639950de5014610071578063b8450c1614610086578063ee842dda1461009d575b600080fd5b6000546040516001600160a01b0390911681526020015b60405180910390f35b61008461007f366004610578565b6100b0565b005b61008f60025481565b604051908152602001610068565b6100846100ab3660046105a4565b6101b5565b6001600160a01b038216331461010d5760405162461bcd60e51b815260206004820152601e60248201527f4d7573742062652063616c6c65642066726f6d207468652065546f6b656e000060448201526064015b60405180910390fd5b60035460ff16156101b15761019b67016345785d8a0000836001600160a01b0316636c6f45426040518163ffffffff1660e01b815260040160206040518083038186803b15801561015d57600080fd5b505afa158015610171573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061019591906105bd565b90610232565b6101a590826105d6565b90506101b1828261030c565b5050565b6000546001600160a01b031633146102195760405162461bcd60e51b815260206004820152602160248201527f5468652063616c6c6572206d7573742062652074686520506f6c696379506f6f6044820152601b60fa1b6064820152608401610104565b60015461022f906001600160a01b03168261030c565b50565b600082158061023f575081155b1561024c57506000610306565b816102606002670de0b6b3a76400006105ee565b61026c9060001961062f565b61027691906105ee565b8311156102d15760405162461bcd60e51b8152602060048201526024808201527f7761644d756c3a204d617468204d756c7469706c69636174696f6e204f766572604482015263666c6f7760e01b6064820152608401610104565b670de0b6b3a76400006102e56002826105ee565b6102ef8486610610565b6102f991906105d6565b61030391906105ee565b90505b92915050565b60008060009054906101000a90046001600160a01b03166001600160a01b031663e5a6b10f6040518163ffffffff1660e01b815260040160206040518083038186803b15801561035b57600080fd5b505afa15801561036f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610393919061055b565b6040516340c10f1960e01b8152306004820152602481018490529091506001600160a01b038216906340c10f1990604401600060405180830381600087803b1580156103de57600080fd5b505af11580156103f2573d6000803e3d6000fd5b505060005460405163095ea7b360e01b81526001600160a01b03918216600482015260248101869052908416925063095ea7b39150604401602060405180830381600087803b15801561044457600080fd5b505af1158015610458573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061047c9190610532565b506000546040516311f9fbc960e21b81526001600160a01b03858116600483015260248201859052909116906347e7ef2490604401600060405180830381600087803b1580156104cb57600080fd5b505af11580156104df573d6000803e3d6000fd5b5050505081600260008282546104f591906105d6565b90915550506040518281527f28a7a02b94fe63dfc578a7e4f11e0ab08cb4b17e7c89018726c0d0deb1dc46769060200160405180910390a1505050565b60006020828403121561054457600080fd5b8151801515811461055457600080fd5b9392505050565b60006020828403121561056d57600080fd5b81516105548161065c565b6000806040838503121561058b57600080fd5b82356105968161065c565b946020939093013593505050565b6000602082840312156105b657600080fd5b5035919050565b6000602082840312156105cf57600080fd5b5051919050565b600082198211156105e9576105e9610646565b500190565b60008261060b57634e487b7160e01b600052601260045260246000fd5b500490565b600081600019048311821515161561062a5761062a610646565b500290565b60008282101561064157610641610646565b500390565b634e487b7160e01b600052601160045260246000fd5b6001600160a01b038116811461022f57600080fdfea2646970667358221220a808c60bb01076a8033d085a1e6a68f54e9fd4a532c4f77a8fa67567af8536ab64736f6c63430008060033",
  "bytecodeSha1": "46b8527228f8d356e9dfa92879affbd039333a02",
  "compiler": {
    "evm_version": "istanbul",
    "optimizer": {
      "enabled": true,
      "runs": 200
    },
    "version": "0.8.6+commit.11564f7e"
  },
  "contractName": "LPInsolvencyHook",
  "coverageMap": {
    "branches": {
      "104": {},
      "14": {
        "WadRayMath.wadMul": {
          "15": [
            1266,
            1272,
            true
          ],
          "16": [
            1276,
            1282,
            false
          ],
          "17": [
            1321,
            1360,
            true
          ]
        }
      },
      "21": {},
      "22": {
        "LPInsolvencyHook.insolventEToken": {
          "13": [
            1915,
            1944,
            true
          ],
          "14": [
            2096,
            2108,
            false
          ]
        }
      },
      "31": {},
      "32": {},
      "33": {},
      "34": {},
      "35": {},
      "37": {},
      "38": {},
      "39": {},
      "40": {},
      "97": {},
      "98": {},
      "99": {}
    },
    "statements": {
      "104": {},
      "14": {
        "WadRayMath.wadMul": {
          "5": [
            1292,
            1300
          ],
          "6": [
            1313,
            1401
          ],
          "7": [
            1408,
            1439
          ]
        }
      },
      "21": {},
      "22": {
        "LPInsolvencyHook._mintAndDeposit": {
          "8": [
            1555,
            1623
          ],
          "9": [
            1629,
            1682
          ],
          "10": [
            1688,
            1730
          ],
          "11": [
            1736,
            1766
          ],
          "12": [
            1772,
            1810
          ]
        },
        "LPInsolvencyHook.insolventEToken": {
          "1": [
            1907,
            1979
          ],
          "2": [
            2118,
            2160
          ],
          "3": [
            2183,
            2221
          ]
        },
        "LPInsolvencyHook.outOfCash": {
          "4": [
            1382,
            1421
          ]
        },
        "LPInsolvencyHook.policyPool": {
          "0": [
            1274,
            1292
          ]
        }
      },
      "31": {},
      "32": {},
      "33": {},
      "34": {},
      "35": {},
      "37": {},
      "38": {},
      "39": {},
      "40": {},
      "97": {},
      "98": {},
      "99": {}
    }
  },
  "dependencies": [
    "Address",
    "IAssetManager",
    "IERC20",
    "IERC20Metadata",
    "IEToken",
    "IExchange",
    "IInsolvencyHook",
    "ILPWhitelist",
    "IMintableERC20",
    "IPolicyPool",
    "IPolicyPoolComponent",
    "IPolicyPoolConfig",
    "IPriceOracle",
    "IRiskModule",
    "SafeERC20",
    "WadRayMath"
  ],
  "deployedBytecode": "608060405234801561001057600080fd5b506004361061004c5760003560e01c80634d15eb03146100515780639950de5014610071578063b8450c1614610086578063ee842dda1461009d575b600080fd5b6000546040516001600160a01b0390911681526020015b60405180910390f35b61008461007f366004610578565b6100b0565b005b61008f60025481565b604051908152602001610068565b6100846100ab3660046105a4565b6101b5565b6001600160a01b038216331461010d5760405162461bcd60e51b815260206004820152601e60248201527f4d7573742062652063616c6c65642066726f6d207468652065546f6b656e000060448201526064015b60405180910390fd5b60035460ff16156101b15761019b67016345785d8a0000836001600160a01b0316636c6f45426040518163ffffffff1660e01b815260040160206040518083038186803b15801561015d57600080fd5b505afa158015610171573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061019591906105bd565b90610232565b6101a590826105d6565b90506101b1828261030c565b5050565b6000546001600160a01b031633146102195760405162461bcd60e51b815260206004820152602160248201527f5468652063616c6c6572206d7573742062652074686520506f6c696379506f6f6044820152601b60fa1b6064820152608401610104565b60015461022f906001600160a01b03168261030c565b50565b600082158061023f575081155b1561024c57506000610306565b816102606002670de0b6b3a76400006105ee565b61026c9060001961062f565b61027691906105ee565b8311156102d15760405162461bcd60e51b8152602060048201526024808201527f7761644d756c3a204d617468204d756c7469706c69636174696f6e204f766572604482015263666c6f7760e01b6064820152608401610104565b670de0b6b3a76400006102e56002826105ee565b6102ef8486610610565b6102f991906105d6565b61030391906105ee565b90505b92915050565b60008060009054906101000a90046001600160a01b03166001600160a01b031663e5a6b10f6040518163ffffffff1660e01b815260040160206040518083038186803b15801561035b57600080fd5b505afa15801561036f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610393919061055b565b6040516340c10f1960e01b8152306004820152602481018490529091506001600160a01b038216906340c10f1990604401600060405180830381600087803b1580156103de57600080fd5b505af11580156103f2573d6000803e3d6000fd5b505060005460405163095ea7b360e01b81526001600160a01b03918216600482015260248101869052908416925063095ea7b39150604401602060405180830381600087803b15801561044457600080fd5b505af1158015610458573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061047c9190610532565b506000546040516311f9fbc960e21b81526001600160a01b03858116600483015260248201859052909116906347e7ef2490604401600060405180830381600087803b1580156104cb57600080fd5b505af11580156104df573d6000803e3d6000fd5b5050505081600260008282546104f591906105d6565b90915550506040518281527f28a7a02b94fe63dfc578a7e4f11e0ab08cb4b17e7c89018726c0d0deb1dc46769060200160405180910390a1505050565b60006020828403121561054457600080fd5b8151801515811461055457600080fd5b9392505050565b60006020828403121561056d57600080fd5b81516105548161065c565b6000806040838503121561058b57600080fd5b82356105968161065c565b946020939093013593505050565b6000602082840312156105b657600080fd5b5035919050565b6000602082840312156105cf57600080fd5b5051919050565b600082198211156105e9576105e9610646565b500190565b60008261060b57634e487b7160e01b600052601260045260246000fd5b500490565b600081600019048311821515161561062a5761062a610646565b500290565b60008282101561064157610641610646565b500390565b634e487b7160e01b600052601160045260246000fd5b6001600160a01b038116811461022f57600080fdfea2646970667358221220a808c60bb01076a8033d085a1e6a68f54e9fd4a532c4f77a8fa67567af8536ab64736f6c63430008060033",
  "deployedSourceMap": "584:1650:22:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1203:94;1255:11;1281;1203:94;;-1:-1:-1;;;;;1281:11:22;;;2061:51:114;;2049:2;2034:18;1203:94:22;;;;;;;;1819:413;;;;;;:::i;:::-;;:::i;:::-;;782:28;;;;;;;;;3435:25:114;;;3423:2;3408:18;782:28:22;3390:76:114;1301:125:22;;;;;;:::i;:::-;;:::i;1819:413::-;-1:-1:-1;;;;;1915:29:22;;1934:10;1915:29;1907:72;;;;-1:-1:-1;;;1907:72:22;;2325:2:114;1907:72:22;;;2307:21:114;2364:2;2344:18;;;2337:30;2403:32;2383:18;;;2376:60;2453:18;;1907:72:22;;;;;;;;;2096:12;;;;2092:136;;;2135:25;2155:4;2135:6;-1:-1:-1;;;;;2135:10:22;;:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:19;;:25::i;:::-;2118:42;;;;:::i;:::-;;;2183:38;2199:6;2207:13;2183:15;:38::i;:::-;1819:413;;:::o;1301:125::-;907:11;;-1:-1:-1;;;;;907:11:22;885:10;:34;877:80;;;;-1:-1:-1;;;877:80:22;;2684:2:114;877:80:22;;;2666:21:114;2723:2;2703:18;;;2696:30;2762:34;2742:18;;;2735:62;-1:-1:-1;;;2813:18:114;;;2806:31;2854:19;;877:80:22;2656:223:114;877:80:22;1398:7:::1;::::0;1382:39:::1;::::0;-1:-1:-1;;;;;1398:7:22::1;1407:13:::0;1382:15:::1;:39::i;:::-;1301:125:::0;:::o;1186:258:14:-;1247:7;1266:6;;;:16;;-1:-1:-1;1276:6:14;;1266:16;1262:45;;;-1:-1:-1;1299:1:14;1292:8;;1262:45;1359:1;408:7;414:1;363:4;408:7;:::i;:::-;1327:28;;-1:-1:-1;;1327:28:14;:::i;:::-;1326:34;;;;:::i;:::-;1321:1;:39;;1313:88;;;;-1:-1:-1;;;1313:88:14;;3086:2:114;1313:88:14;;;3068:21:114;3125:2;3105:18;;;3098:30;3164:34;3144:18;;;3137:62;-1:-1:-1;;;3215:18:114;;;3208:34;3259:19;;1313:88:14;3058:226:114;1313:88:14;363:4;408:7;414:1;363:4;408:7;:::i;:::-;1416:5;1420:1;1416;:5;:::i;:::-;:16;;;;:::i;:::-;1415:24;;;;:::i;:::-;1408:31;;1186:258;;;;;:::o;1430:385:22:-;1509:15;1527:11;;;;;;;;;-1:-1:-1;;;;;1527:11:22;-1:-1:-1;;;;;1527:20:22;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1555:68;;-1:-1:-1;;;1555:68:22;;1602:4;1555:68;;;1493:51:114;1560:18;;;1553:34;;;1509:40:22;;-1:-1:-1;;;;;;1555:38:22;;;;;1466:18:114;;1555:68:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1654:11:22;;1629:53;;-1:-1:-1;;;1629:53:22;;-1:-1:-1;;;;;1654:11:22;;;1629:53;;;1493:51:114;1560:18;;;1553:34;;;1629:16:22;;;;-1:-1:-1;1629:16:22;;-1:-1:-1;1466:18:114;;1629:53:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;1688:11:22;;:42;;-1:-1:-1;;;1688:42:22;;-1:-1:-1;;;;;1511:32:114;;;1688:42:22;;;1493:51:114;1560:18;;;1553:34;;;1688:11:22;;;;:19;;1466:18:114;;1688:42:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1753:13;1736;;:30;;;;;;;:::i;:::-;;;;-1:-1:-1;;1777:33:22;;3435:25:114;;;1777:33:22;;3423:2:114;3408:18;1777:33:22;;;;;;;1503:312;1430:385;;:::o;14:277:114:-;81:6;134:2;122:9;113:7;109:23;105:32;102:2;;;150:1;147;140:12;102:2;182:9;176:16;235:5;228:13;221:21;214:5;211:32;201:2;;257:1;254;247:12;201:2;280:5;92:199;-1:-1:-1;;;92:199:114:o;296:291::-;390:6;443:2;431:9;422:7;418:23;414:32;411:2;;;459:1;456;449:12;411:2;491:9;485:16;510:47;551:5;510:47;:::i;592:348::-;677:6;685;738:2;726:9;717:7;713:23;709:32;706:2;;;754:1;751;744:12;706:2;793:9;780:23;812:47;853:5;812:47;:::i;:::-;878:5;930:2;915:18;;;;902:32;;-1:-1:-1;;;696:244:114:o;945:180::-;1004:6;1057:2;1045:9;1036:7;1032:23;1028:32;1025:2;;;1073:1;1070;1063:12;1025:2;-1:-1:-1;1096:23:114;;1015:110;-1:-1:-1;1015:110:114:o;1130:184::-;1200:6;1253:2;1241:9;1232:7;1228:23;1224:32;1221:2;;;1269:1;1266;1259:12;1221:2;-1:-1:-1;1292:16:114;;1211:103;-1:-1:-1;1211:103:114:o;3471:128::-;3511:3;3542:1;3538:6;3535:1;3532:13;3529:2;;;3548:18;;:::i;:::-;-1:-1:-1;3584:9:114;;3519:80::o;3604:217::-;3644:1;3670;3660:2;;3714:10;3709:3;3705:20;3702:1;3695:31;3749:4;3746:1;3739:15;3777:4;3774:1;3767:15;3660:2;-1:-1:-1;3806:9:114;;3650:171::o;3826:168::-;3866:7;3932:1;3928;3924:6;3920:14;3917:1;3914:21;3909:1;3902:9;3895:17;3891:45;3888:2;;;3939:18;;:::i;:::-;-1:-1:-1;3979:9:114;;3878:116::o;3999:125::-;4039:4;4067:1;4064;4061:8;4058:2;;;4072:18;;:::i;:::-;-1:-1:-1;4109:9:114;;4048:76::o;4129:127::-;4190:10;4185:3;4181:20;4178:1;4171:31;4221:4;4218:1;4211:15;4245:4;4242:1;4235:15;4261:147;-1:-1:-1;;;;;4352:31:114;;4342:42;;4332:2;;4398:1;4395;4388:12",
  "language": "Solidity",
  "natspec": {
    "kind": "dev",
    "methods": {
      "insolventEToken(address,uint256)": {
        "details": "This is called from EToken when doesn't have enought totalSupply to cover the SCR      The hook might choose not to do anything or solve the insolvency with a deposit",
        "params": {
          "eToken": "The token that suffers insolvency",
          "paymentAmount": "The amount of the payment"
        }
      },
      "outOfCash(uint256)": {
        "details": "This is called from PolicyPool when doesn't have enought money for payment.      After the call, there should be enought money in PolicyPool.currency().balanceOf(_policyPool) to      do the payment",
        "params": {
          "paymentAmount": "The amount of the payment"
        }
      }
    },
    "version": 1
  },
  "offset": [
    584,
    2234
  ],
  "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x4C JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x4D15EB03 EQ PUSH2 0x51 JUMPI DUP1 PUSH4 0x9950DE50 EQ PUSH2 0x71 JUMPI DUP1 PUSH4 0xB8450C16 EQ PUSH2 0x86 JUMPI DUP1 PUSH4 0xEE842DDA EQ PUSH2 0x9D JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 SLOAD PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x84 PUSH2 0x7F CALLDATASIZE PUSH1 0x4 PUSH2 0x578 JUMP JUMPDEST PUSH2 0xB0 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x8F PUSH1 0x2 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x68 JUMP JUMPDEST PUSH2 0x84 PUSH2 0xAB CALLDATASIZE PUSH1 0x4 PUSH2 0x5A4 JUMP JUMPDEST PUSH2 0x1B5 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND CALLER EQ PUSH2 0x10D JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1E PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4D7573742062652063616C6C65642066726F6D207468652065546F6B656E0000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x3 SLOAD PUSH1 0xFF AND ISZERO PUSH2 0x1B1 JUMPI PUSH2 0x19B PUSH8 0x16345785D8A0000 DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x6C6F4542 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x15D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x171 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x195 SWAP2 SWAP1 PUSH2 0x5BD JUMP JUMPDEST SWAP1 PUSH2 0x232 JUMP JUMPDEST PUSH2 0x1A5 SWAP1 DUP3 PUSH2 0x5D6 JUMP JUMPDEST SWAP1 POP PUSH2 0x1B1 DUP3 DUP3 PUSH2 0x30C JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0x219 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x21 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x5468652063616C6C6572206D7573742062652074686520506F6C696379506F6F PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x1B PUSH1 0xFA SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x104 JUMP JUMPDEST PUSH1 0x1 SLOAD PUSH2 0x22F SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP3 PUSH2 0x30C JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP3 ISZERO DUP1 PUSH2 0x23F JUMPI POP DUP2 ISZERO JUMPDEST ISZERO PUSH2 0x24C JUMPI POP PUSH1 0x0 PUSH2 0x306 JUMP JUMPDEST DUP2 PUSH2 0x260 PUSH1 0x2 PUSH8 0xDE0B6B3A7640000 PUSH2 0x5EE JUMP JUMPDEST PUSH2 0x26C SWAP1 PUSH1 0x0 NOT PUSH2 0x62F JUMP JUMPDEST PUSH2 0x276 SWAP2 SWAP1 PUSH2 0x5EE JUMP JUMPDEST DUP4 GT ISZERO PUSH2 0x2D1 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 DUP1 DUP3 ADD MSTORE PUSH32 0x7761644D756C3A204D617468204D756C7469706C69636174696F6E204F766572 PUSH1 0x44 DUP3 ADD MSTORE PUSH4 0x666C6F77 PUSH1 0xE0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x104 JUMP JUMPDEST PUSH8 0xDE0B6B3A7640000 PUSH2 0x2E5 PUSH1 0x2 DUP3 PUSH2 0x5EE JUMP JUMPDEST PUSH2 0x2EF DUP5 DUP7 PUSH2 0x610 JUMP JUMPDEST PUSH2 0x2F9 SWAP2 SWAP1 PUSH2 0x5D6 JUMP JUMPDEST PUSH2 0x303 SWAP2 SWAP1 PUSH2 0x5EE JUMP JUMPDEST SWAP1 POP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0xE5A6B10F PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x35B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x36F JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x393 SWAP2 SWAP1 PUSH2 0x55B JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x40C10F19 PUSH1 0xE0 SHL DUP2 MSTORE ADDRESS PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 DUP2 ADD DUP5 SWAP1 MSTORE SWAP1 SWAP2 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND SWAP1 PUSH4 0x40C10F19 SWAP1 PUSH1 0x44 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x3DE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x3F2 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP PUSH1 0x0 SLOAD PUSH1 0x40 MLOAD PUSH4 0x95EA7B3 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 DUP3 AND PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 DUP2 ADD DUP7 SWAP1 MSTORE SWAP1 DUP5 AND SWAP3 POP PUSH4 0x95EA7B3 SWAP2 POP PUSH1 0x44 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x444 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x458 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x47C SWAP2 SWAP1 PUSH2 0x532 JUMP JUMPDEST POP PUSH1 0x0 SLOAD PUSH1 0x40 MLOAD PUSH4 0x11F9FBC9 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 DUP2 AND PUSH1 0x4 DUP4 ADD MSTORE PUSH1 0x24 DUP3 ADD DUP6 SWAP1 MSTORE SWAP1 SWAP2 AND SWAP1 PUSH4 0x47E7EF24 SWAP1 PUSH1 0x44 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x4CB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x4DF JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP DUP2 PUSH1 0x2 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x4F5 SWAP2 SWAP1 PUSH2 0x5D6 JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP PUSH1 0x40 MLOAD DUP3 DUP2 MSTORE PUSH32 0x28A7A02B94FE63DFC578A7E4F11E0AB08CB4B17E7C89018726C0D0DEB1DC4676 SWAP1 PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x544 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD DUP1 ISZERO ISZERO DUP2 EQ PUSH2 0x554 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x56D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH2 0x554 DUP2 PUSH2 0x65C JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x58B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH2 0x596 DUP2 PUSH2 0x65C JUMP JUMPDEST SWAP5 PUSH1 0x20 SWAP4 SWAP1 SWAP4 ADD CALLDATALOAD SWAP4 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x5B6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x5CF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 NOT DUP3 GT ISZERO PUSH2 0x5E9 JUMPI PUSH2 0x5E9 PUSH2 0x646 JUMP JUMPDEST POP ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH2 0x60B JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP DIV SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x0 NOT DIV DUP4 GT DUP3 ISZERO ISZERO AND ISZERO PUSH2 0x62A JUMPI PUSH2 0x62A PUSH2 0x646 JUMP JUMPDEST POP MUL SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 LT ISZERO PUSH2 0x641 JUMPI PUSH2 0x641 PUSH2 0x646 JUMP JUMPDEST POP SUB SWAP1 JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x22F JUMPI PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xA8 ADDMOD 0xC6 SIGNEXTEND 0xB0 LT PUSH23 0xA8033D085A1E6A68F54E9FD4A532C4F77A8FA67567AF85 CALLDATASIZE 0xAB PUSH5 0x736F6C6343 STOP ADDMOD MOD STOP CALLER ",
  "pcMap": {
    "0": {
      "offset": [
        584,
        2234
      ],
      "op": "PUSH1",
      "path": "22",
      "value": "0x80"
    },
    "2": {
      "fn": null,
      "offset": [
        584,
        2234
      ],
      "op": "PUSH1",
      "path": "22",
      "value": "0x40"
    },
    "4": {
      "fn": null,
      "offset": [
        584,
        2234
      ],
      "op": "MSTORE",
      "path": "22"
    },
    "5": {
      "fn": null,
      "offset": [
        584,
        2234
      ],
      "op": "CALLVALUE",
      "path": "22"
    },
    "6": {
      "fn": null,
      "offset": [
        584,
        2234
      ],
      "op": "DUP1",
      "path": "22"
    },
    "7": {
      "fn": null,
      "offset": [
        584,
        2234
      ],
      "op": "ISZERO",
      "path": "22"
    },
    "8": {
      "fn": null,
      "offset": [
        584,
        2234
      ],
      "op": "PUSH2",
      "path": "22",
      "value": "0x10"
    },
    "11": {
      "fn": null,
      "offset": [
        584,
        2234
      ],
      "op": "JUMPI",
      "path": "22"
    },
    "12": {
      "fn": null,
      "offset": [
        584,
        2234
      ],
      "op": "PUSH1",
      "path": "22",
      "value": "0x0"
    },
    "14": {
      "fn": null,
      "offset": [
        584,
        2234
      ],
      "op": "DUP1",
      "path": "22"
    },
    "15": {
      "dev": "Cannot send ether to nonpayable function",
      "fn": null,
      "offset": [
        584,
        2234
      ],
      "op": "REVERT",
      "path": "22"
    },
    "16": {
      "fn": null,
      "offset": [
        584,
        2234
      ],
      "op": "JUMPDEST",
      "path": "22"
    },
    "17": {
      "fn": null,
      "offset": [
        584,
        2234
      ],
      "op": "POP",
      "path": "22"
    },
    "18": {
      "fn": null,
      "offset": [
        584,
        2234
      ],
      "op": "PUSH1",
      "path": "22",
      "value": "0x4"
    },
    "20": {
      "fn": null,
      "offset": [
        584,
        2234
      ],
      "op": "CALLDATASIZE",
      "path": "22"
    },
    "21": {
      "fn": null,
      "offset": [
        584,
        2234
      ],
      "op": "LT",
      "path": "22"
    },
    "22": {
      "fn": null,
      "offset": [
        584,
        2234
      ],
      "op": "PUSH2",
      "path": "22",
      "value": "0x4C"
    },
    "25": {
      "fn": null,
      "offset": [
        584,
        2234
      ],
      "op": "JUMPI",
      "path": "22"
    },
    "26": {
      "fn": null,
      "offset": [
        584,
        2234
      ],
      "op": "PUSH1",
      "path": "22",
      "value": "0x0"
    },
    "28": {
      "fn": null,
      "offset": [
        584,
        2234
      ],
      "op": "CALLDATALOAD",
      "path": "22"
    },
    "29": {
      "fn": null,
      "offset": [
        584,
        2234
      ],
      "op": "PUSH1",
      "path": "22",
      "value": "0xE0"
    },
    "31": {
      "fn": null,
      "offset": [
        584,
        2234
      ],
      "op": "SHR",
      "path": "22"
    },
    "32": {
      "fn": null,
      "offset": [
        584,
        2234
      ],
      "op": "DUP1",
      "path": "22"
    },
    "33": {
      "fn": null,
      "offset": [
        584,
        2234
      ],
      "op": "PUSH4",
      "path": "22",
      "value": "0x4D15EB03"
    },
    "38": {
      "fn": null,
      "offset": [
        584,
        2234
      ],
      "op": "EQ",
      "path": "22"
    },
    "39": {
      "fn": null,
      "offset": [
        584,
        2234
      ],
      "op": "PUSH2",
      "path": "22",
      "value": "0x51"
    },
    "42": {
      "fn": null,
      "offset": [
        584,
        2234
      ],
      "op": "JUMPI",
      "path": "22"
    },
    "43": {
      "fn": null,
      "offset": [
        584,
        2234
      ],
      "op": "DUP1",
      "path": "22"
    },
    "44": {
      "fn": null,
      "offset": [
        584,
        2234
      ],
      "op": "PUSH4",
      "path": "22",
      "value": "0x9950DE50"
    },
    "49": {
      "fn": null,
      "offset": [
        584,
        2234
      ],
      "op": "EQ",
      "path": "22"
    },
    "50": {
      "fn": null,
      "offset": [
        584,
        2234
      ],
      "op": "PUSH2",
      "path": "22",
      "value": "0x71"
    },
    "53": {
      "fn": null,
      "offset": [
        584,
        2234
      ],
      "op": "JUMPI",
      "path": "22"
    },
    "54": {
      "fn": null,
      "offset": [
        584,
        2234
      ],
      "op": "DUP1",
      "path": "22"
    },
    "55": {
      "fn": null,
      "offset": [
        584,
        2234
      ],
      "op": "PUSH4",
      "path": "22",
      "value": "0xB8450C16"
    },
    "60": {
      "fn": null,
      "offset": [
        584,
        2234
      ],
      "op": "EQ",
      "path": "22"
    },
    "61": {
      "fn": null,
      "offset": [
        584,
        2234
      ],
      "op": "PUSH2",
      "path": "22",
      "value": "0x86"
    },
    "64": {
      "fn": null,
      "offset": [
        584,
        2234
      ],
      "op": "JUMPI",
      "path": "22"
    },
    "65": {
      "fn": null,
      "offset": [
        584,
        2234
      ],
      "op": "DUP1",
      "path": "22"
    },
    "66": {
      "fn": null,
      "offset": [
        584,
        2234
      ],
      "op": "PUSH4",
      "path": "22",
      "value": "0xEE842DDA"
    },
    "71": {
      "fn": null,
      "offset": [
        584,
        2234
      ],
      "op": "EQ",
      "path": "22"
    },
    "72": {
      "fn": null,
      "offset": [
        584,
        2234
      ],
      "op": "PUSH2",
      "path": "22",
      "value": "0x9D"
    },
    "75": {
      "fn": null,
      "offset": [
        584,
        2234
      ],
      "op": "JUMPI",
      "path": "22"
    },
    "76": {
      "fn": null,
      "offset": [
        584,
        2234
      ],
      "op": "JUMPDEST",
      "path": "22"
    },
    "77": {
      "fn": null,
      "offset": [
        584,
        2234
      ],
      "op": "PUSH1",
      "path": "22",
      "value": "0x0"
    },
    "79": {
      "fn": null,
      "offset": [
        584,
        2234
      ],
      "op": "DUP1",
      "path": "22"
    },
    "80": {
      "first_revert": true,
      "fn": null,
      "offset": [
        584,
        2234
      ],
      "op": "REVERT",
      "path": "22"
    },
    "81": {
      "fn": "LPInsolvencyHook.policyPool",
      "offset": [
        1203,
        1297
      ],
      "op": "JUMPDEST",
      "path": "22"
    },
    "82": {
      "fn": "LPInsolvencyHook.policyPool",
      "offset": [
        1255,
        1266
      ],
      "op": "PUSH1",
      "path": "22",
      "value": "0x0"
    },
    "84": {
      "fn": "LPInsolvencyHook.policyPool",
      "offset": [
        1281,
        1292
      ],
      "op": "SLOAD",
      "path": "22",
      "statement": 0
    },
    "85": {
      "fn": "LPInsolvencyHook.policyPool",
      "offset": [
        1203,
        1297
      ],
      "op": "PUSH1",
      "path": "22",
      "value": "0x40"
    },
    "87": {
      "fn": "LPInsolvencyHook.policyPool",
      "offset": [
        1203,
        1297
      ],
      "op": "MLOAD",
      "path": "22"
    },
    "88": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "90": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "92": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "94": {
      "op": "SHL"
    },
    "95": {
      "op": "SUB"
    },
    "96": {
      "fn": "LPInsolvencyHook.policyPool",
      "offset": [
        1281,
        1292
      ],
      "op": "SWAP1",
      "path": "22"
    },
    "97": {
      "fn": "LPInsolvencyHook.policyPool",
      "offset": [
        1281,
        1292
      ],
      "op": "SWAP2",
      "path": "22"
    },
    "98": {
      "fn": "LPInsolvencyHook.policyPool",
      "offset": [
        1281,
        1292
      ],
      "op": "AND",
      "path": "22"
    },
    "99": {
      "op": "DUP2"
    },
    "100": {
      "op": "MSTORE"
    },
    "101": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "103": {
      "op": "ADD"
    },
    "104": {
      "fn": "LPInsolvencyHook.policyPool",
      "offset": [
        1203,
        1297
      ],
      "op": "JUMPDEST",
      "path": "22"
    },
    "105": {
      "fn": "LPInsolvencyHook.policyPool",
      "offset": [
        1203,
        1297
      ],
      "op": "PUSH1",
      "path": "22",
      "value": "0x40"
    },
    "107": {
      "fn": "LPInsolvencyHook.policyPool",
      "offset": [
        1203,
        1297
      ],
      "op": "MLOAD",
      "path": "22"
    },
    "108": {
      "fn": "LPInsolvencyHook.policyPool",
      "offset": [
        1203,
        1297
      ],
      "op": "DUP1",
      "path": "22"
    },
    "109": {
      "fn": "LPInsolvencyHook.policyPool",
      "offset": [
        1203,
        1297
      ],
      "op": "SWAP2",
      "path": "22"
    },
    "110": {
      "fn": "LPInsolvencyHook.policyPool",
      "offset": [
        1203,
        1297
      ],
      "op": "SUB",
      "path": "22"
    },
    "111": {
      "fn": "LPInsolvencyHook.policyPool",
      "offset": [
        1203,
        1297
      ],
      "op": "SWAP1",
      "path": "22"
    },
    "112": {
      "fn": "LPInsolvencyHook.policyPool",
      "offset": [
        1203,
        1297
      ],
      "op": "RETURN",
      "path": "22"
    },
    "113": {
      "fn": "LPInsolvencyHook.insolventEToken",
      "offset": [
        1819,
        2232
      ],
      "op": "JUMPDEST",
      "path": "22"
    },
    "114": {
      "fn": "LPInsolvencyHook.insolventEToken",
      "offset": [
        1819,
        2232
      ],
      "op": "PUSH2",
      "path": "22",
      "value": "0x84"
    },
    "117": {
      "fn": "LPInsolvencyHook.insolventEToken",
      "offset": [
        1819,
        2232
      ],
      "op": "PUSH2",
      "path": "22",
      "value": "0x7F"
    },
    "120": {
      "fn": "LPInsolvencyHook.insolventEToken",
      "offset": [
        1819,
        2232
      ],
      "op": "CALLDATASIZE",
      "path": "22"
    },
    "121": {
      "fn": "LPInsolvencyHook.insolventEToken",
      "offset": [
        1819,
        2232
      ],
      "op": "PUSH1",
      "path": "22",
      "value": "0x4"
    },
    "123": {
      "fn": "LPInsolvencyHook.insolventEToken",
      "offset": [
        1819,
        2232
      ],
      "op": "PUSH2",
      "path": "22",
      "value": "0x578"
    },
    "126": {
      "fn": "LPInsolvencyHook.insolventEToken",
      "jump": "i",
      "offset": [
        1819,
        2232
      ],
      "op": "JUMP",
      "path": "22"
    },
    "127": {
      "fn": "LPInsolvencyHook.insolventEToken",
      "offset": [
        1819,
        2232
      ],
      "op": "JUMPDEST",
      "path": "22"
    },
    "128": {
      "fn": "LPInsolvencyHook.insolventEToken",
      "offset": [
        1819,
        2232
      ],
      "op": "PUSH2",
      "path": "22",
      "value": "0xB0"
    },
    "131": {
      "fn": "LPInsolvencyHook.insolventEToken",
      "jump": "i",
      "offset": [
        1819,
        2232
      ],
      "op": "JUMP",
      "path": "22"
    },
    "132": {
      "fn": "LPInsolvencyHook.insolventEToken",
      "offset": [
        1819,
        2232
      ],
      "op": "JUMPDEST",
      "path": "22"
    },
    "133": {
      "fn": "LPInsolvencyHook.insolventEToken",
      "offset": [
        1819,
        2232
      ],
      "op": "STOP",
      "path": "22"
    },
    "134": {
      "offset": [
        782,
        810
      ],
      "op": "JUMPDEST",
      "path": "22"
    },
    "135": {
      "fn": "LPInsolvencyHook.insolventEToken",
      "offset": [
        782,
        810
      ],
      "op": "PUSH2",
      "path": "22",
      "value": "0x8F"
    },
    "138": {
      "fn": "LPInsolvencyHook.insolventEToken",
      "offset": [
        782,
        810
      ],
      "op": "PUSH1",
      "path": "22",
      "value": "0x2"
    },
    "140": {
      "fn": "LPInsolvencyHook.insolventEToken",
      "offset": [
        782,
        810
      ],
      "op": "SLOAD",
      "path": "22"
    },
    "141": {
      "fn": "LPInsolvencyHook.insolventEToken",
      "offset": [
        782,
        810
      ],
      "op": "DUP2",
      "path": "22"
    },
    "142": {
      "fn": "LPInsolvencyHook.insolventEToken",
      "offset": [
        782,
        810
      ],
      "op": "JUMP",
      "path": "22"
    },
    "143": {
      "fn": "LPInsolvencyHook.insolventEToken",
      "offset": [
        782,
        810
      ],
      "op": "JUMPDEST",
      "path": "22"
    },
    "144": {
      "fn": "LPInsolvencyHook.insolventEToken",
      "offset": [
        782,
        810
      ],
      "op": "PUSH1",
      "path": "22",
      "value": "0x40"
    },
    "146": {
      "fn": "LPInsolvencyHook.insolventEToken",
      "offset": [
        782,
        810
      ],
      "op": "MLOAD",
      "path": "22"
    },
    "147": {
      "op": "SWAP1"
    },
    "148": {
      "op": "DUP2"
    },
    "149": {
      "op": "MSTORE"
    },
    "150": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "152": {
      "op": "ADD"
    },
    "153": {
      "offset": [
        782,
        810
      ],
      "op": "PUSH2",
      "path": "22",
      "value": "0x68"
    },
    "156": {
      "op": "JUMP"
    },
    "157": {
      "fn": "LPInsolvencyHook.outOfCash",
      "offset": [
        1301,
        1426
      ],
      "op": "JUMPDEST",
      "path": "22"
    },
    "158": {
      "fn": "LPInsolvencyHook.outOfCash",
      "offset": [
        1301,
        1426
      ],
      "op": "PUSH2",
      "path": "22",
      "value": "0x84"
    },
    "161": {
      "fn": "LPInsolvencyHook.outOfCash",
      "offset": [
        1301,
        1426
      ],
      "op": "PUSH2",
      "path": "22",
      "value": "0xAB"
    },
    "164": {
      "fn": "LPInsolvencyHook.outOfCash",
      "offset": [
        1301,
        1426
      ],
      "op": "CALLDATASIZE",
      "path": "22"
    },
    "165": {
      "fn": "LPInsolvencyHook.outOfCash",
      "offset": [
        1301,
        1426
      ],
      "op": "PUSH1",
      "path": "22",
      "value": "0x4"
    },
    "167": {
      "fn": "LPInsolvencyHook.outOfCash",
      "offset": [
        1301,
        1426
      ],
      "op": "PUSH2",
      "path": "22",
      "value": "0x5A4"
    },
    "170": {
      "fn": "LPInsolvencyHook.outOfCash",
      "jump": "i",
      "offset": [
        1301,
        1426
      ],
      "op": "JUMP",
      "path": "22"
    },
    "171": {
      "fn": "LPInsolvencyHook.outOfCash",
      "offset": [
        1301,
        1426
      ],
      "op": "JUMPDEST",
      "path": "22"
    },
    "172": {
      "fn": "LPInsolvencyHook.outOfCash",
      "offset": [
        1301,
        1426
      ],
      "op": "PUSH2",
      "path": "22",
      "value": "0x1B5"
    },
    "175": {
      "fn": "LPInsolvencyHook.outOfCash",
      "jump": "i",
      "offset": [
        1301,
        1426
      ],
      "op": "JUMP",
      "path": "22"
    },
    "176": {
      "fn": "LPInsolvencyHook.insolventEToken",
      "offset": [
        1819,
        2232
      ],
      "op": "JUMPDEST",
      "path": "22"
    },
    "177": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "179": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "181": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "183": {
      "op": "SHL"
    },
    "184": {
      "op": "SUB"
    },
    "185": {
      "fn": "LPInsolvencyHook.insolventEToken",
      "offset": [
        1915,
        1944
      ],
      "op": "DUP3",
      "path": "22",
      "statement": 1
    },
    "186": {
      "fn": "LPInsolvencyHook.insolventEToken",
      "offset": [
        1915,
        1944
      ],
      "op": "AND",
      "path": "22"
    },
    "187": {
      "fn": "LPInsolvencyHook.insolventEToken",
      "offset": [
        1934,
        1944
      ],
      "op": "CALLER",
      "path": "22"
    },
    "188": {
      "branch": 13,
      "fn": "LPInsolvencyHook.insolventEToken",
      "offset": [
        1915,
        1944
      ],
      "op": "EQ",
      "path": "22"
    },
    "189": {
      "fn": "LPInsolvencyHook.insolventEToken",
      "offset": [
        1907,
        1979
      ],
      "op": "PUSH2",
      "path": "22",
      "value": "0x10D"
    },
    "192": {
      "branch": 13,
      "fn": "LPInsolvencyHook.insolventEToken",
      "offset": [
        1907,
        1979
      ],
      "op": "JUMPI",
      "path": "22"
    },
    "193": {
      "fn": "LPInsolvencyHook.insolventEToken",
      "offset": [
        1907,
        1979
      ],
      "op": "PUSH1",
      "path": "22",
      "value": "0x40"
    },
    "195": {
      "fn": "LPInsolvencyHook.insolventEToken",
      "offset": [
        1907,
        1979
      ],
      "op": "MLOAD",
      "path": "22"
    },
    "196": {
      "op": "PUSH3",
      "value": "0x461BCD"
    },
    "200": {
      "op": "PUSH1",
      "value": "0xE5"
    },
    "202": {
      "op": "SHL"
    },
    "203": {
      "fn": "LPInsolvencyHook.insolventEToken",
      "offset": [
        1907,
        1979
      ],
      "op": "DUP2",
      "path": "22"
    },
    "204": {
      "fn": "LPInsolvencyHook.insolventEToken",
      "offset": [
        1907,
        1979
      ],
      "op": "MSTORE",
      "path": "22"
    },
    "205": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "207": {
      "fn": "LPInsolvencyHook.insolventEToken",
      "offset": [
        1907,
        1979
      ],
      "op": "PUSH1",
      "path": "22",
      "value": "0x4"
    },
    "209": {
      "fn": "LPInsolvencyHook.insolventEToken",
      "offset": [
        1907,
        1979
      ],
      "op": "DUP3",
      "path": "22"
    },
    "210": {
      "fn": "LPInsolvencyHook.insolventEToken",
      "offset": [
        1907,
        1979
      ],
      "op": "ADD",
      "path": "22"
    },
    "211": {
      "op": "MSTORE"
    },
    "212": {
      "op": "PUSH1",
      "value": "0x1E"
    },
    "214": {
      "op": "PUSH1",
      "value": "0x24"
    },
    "216": {
      "op": "DUP3"
    },
    "217": {
      "op": "ADD"
    },
    "218": {
      "op": "MSTORE"
    },
    "219": {
      "op": "PUSH32",
      "value": "0x4D7573742062652063616C6C65642066726F6D207468652065546F6B656E0000"
    },
    "252": {
      "op": "PUSH1",
      "value": "0x44"
    },
    "254": {
      "op": "DUP3"
    },
    "255": {
      "op": "ADD"
    },
    "256": {
      "op": "MSTORE"
    },
    "257": {
      "op": "PUSH1",
      "value": "0x64"
    },
    "259": {
      "op": "ADD"
    },
    "260": {
      "fn": "LPInsolvencyHook.insolventEToken",
      "offset": [
        1907,
        1979
      ],
      "op": "JUMPDEST",
      "path": "22"
    },
    "261": {
      "fn": "LPInsolvencyHook.insolventEToken",
      "offset": [
        1907,
        1979
      ],
      "op": "PUSH1",
      "path": "22",
      "value": "0x40"
    },
    "263": {
      "fn": "LPInsolvencyHook.insolventEToken",
      "offset": [
        1907,
        1979
      ],
      "op": "MLOAD",
      "path": "22"
    },
    "264": {
      "fn": "LPInsolvencyHook.insolventEToken",
      "offset": [
        1907,
        1979
      ],
      "op": "DUP1",
      "path": "22"
    },
    "265": {
      "fn": "LPInsolvencyHook.insolventEToken",
      "offset": [
        1907,
        1979
      ],
      "op": "SWAP2",
      "path": "22"
    },
    "266": {
      "fn": "LPInsolvencyHook.insolventEToken",
      "offset": [
        1907,
        1979
      ],
      "op": "SUB",
      "path": "22"
    },
    "267": {
      "fn": "LPInsolvencyHook.insolventEToken",
      "offset": [
        1907,
        1979
      ],
      "op": "SWAP1",
      "path": "22"
    },
    "268": {
      "fn": "LPInsolvencyHook.insolventEToken",
      "offset": [
        1907,
        1979
      ],
      "op": "REVERT",
      "optimizer_revert": true,
      "path": "22"
    },
    "269": {
      "fn": "LPInsolvencyHook.insolventEToken",
      "offset": [
        1907,
        1979
      ],
      "op": "JUMPDEST",
      "path": "22"
    },
    "270": {
      "fn": "LPInsolvencyHook.insolventEToken",
      "offset": [
        2096,
        2108
      ],
      "op": "PUSH1",
      "path": "22",
      "value": "0x3"
    },
    "272": {
      "fn": "LPInsolvencyHook.insolventEToken",
      "offset": [
        2096,
        2108
      ],
      "op": "SLOAD",
      "path": "22"
    },
    "273": {
      "fn": "LPInsolvencyHook.insolventEToken",
      "offset": [
        2096,
        2108
      ],
      "op": "PUSH1",
      "path": "22",
      "value": "0xFF"
    },
    "275": {
      "branch": 14,
      "fn": "LPInsolvencyHook.insolventEToken",
      "offset": [
        2096,
        2108
      ],
      "op": "AND",
      "path": "22"
    },
    "276": {
      "fn": "LPInsolvencyHook.insolventEToken",
      "offset": [
        2092,
        2228
      ],
      "op": "ISZERO",
      "path": "22"
    },
    "277": {
      "fn": "LPInsolvencyHook.insolventEToken",
      "offset": [
        2092,
        2228
      ],
      "op": "PUSH2",
      "path": "22",
      "value": "0x1B1"
    },
    "280": {
      "branch": 14,
      "fn": "LPInsolvencyHook.insolventEToken",
      "offset": [
        2092,
        2228
      ],
      "op": "JUMPI",
      "path": "22"
    },
    "281": {
      "fn": "LPInsolvencyHook.insolventEToken",
      "offset": [
        2135,
        2160
      ],
      "op": "PUSH2",
      "path": "22",
      "statement": 2,
      "value": "0x19B"
    },
    "284": {
      "fn": "LPInsolvencyHook.insolventEToken",
      "offset": [
        2155,
        2159
      ],
      "op": "PUSH8",
      "path": "22",
      "value": "0x16345785D8A0000"
    },
    "293": {
      "fn": "LPInsolvencyHook.insolventEToken",
      "offset": [
        2135,
        2141
      ],
      "op": "DUP4",
      "path": "22"
    },
    "294": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "296": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "298": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "300": {
      "op": "SHL"
    },
    "301": {
      "op": "SUB"
    },
    "302": {
      "fn": "LPInsolvencyHook.insolventEToken",
      "offset": [
        2135,
        2145
      ],
      "op": "AND",
      "path": "22"
    },
    "303": {
      "fn": "LPInsolvencyHook.insolventEToken",
      "offset": [
        2135,
        2145
      ],
      "op": "PUSH4",
      "path": "22",
      "value": "0x6C6F4542"
    },
    "308": {
      "fn": "LPInsolvencyHook.insolventEToken",
      "offset": [
        2135,
        2147
      ],
      "op": "PUSH1",
      "path": "22",
      "value": "0x40"
    },
    "310": {
      "fn": "LPInsolvencyHook.insolventEToken",
      "offset": [
        2135,
        2147
      ],
      "op": "MLOAD",
      "path": "22"
    },
    "311": {
      "fn": "LPInsolvencyHook.insolventEToken",
      "offset": [
        2135,
        2147
      ],
      "op": "DUP2",
      "path": "22"
    },
    "312": {
      "fn": "LPInsolvencyHook.insolventEToken",
      "offset": [
        2135,
        2147
      ],
      "op": "PUSH4",
      "path": "22",
      "value": "0xFFFFFFFF"
    },
    "317": {
      "fn": "LPInsolvencyHook.insolventEToken",
      "offset": [
        2135,
        2147
      ],
      "op": "AND",
      "path": "22"
    },
    "318": {
      "fn": "LPInsolvencyHook.insolventEToken",
      "offset": [
        2135,
        2147
      ],
      "op": "PUSH1",
      "path": "22",
      "value": "0xE0"
    },
    "320": {
      "fn": "LPInsolvencyHook.insolventEToken",
      "offset": [
        2135,
        2147
      ],
      "op": "SHL",
      "path": "22"
    },
    "321": {
      "fn": "LPInsolvencyHook.insolventEToken",
      "offset": [
        2135,
        2147
      ],
      "op": "DUP2",
      "path": "22"
    },
    "322": {
      "fn": "LPInsolvencyHook.insolventEToken",
      "offset": [
        2135,
        2147
      ],
      "op": "MSTORE",
      "path": "22"
    },
    "323": {
      "fn": "LPInsolvencyHook.insolventEToken",
      "offset": [
        2135,
        2147
      ],
      "op": "PUSH1",
      "path": "22",
      "value": "0x4"
    },
    "325": {
      "fn": "LPInsolvencyHook.insolventEToken",
      "offset": [
        2135,
        2147
      ],
      "op": "ADD",
      "path": "22"
    },
    "326": {
      "fn": "LPInsolvencyHook.insolventEToken",
      "offset": [
        2135,
        2147
      ],
      "op": "PUSH1",
      "path": "22",
      "value": "0x20"
    },
    "328": {
      "fn": "LPInsolvencyHook.insolventEToken",
      "offset": [
        2135,
        2147
      ],
      "op": "PUSH1",
      "path": "22",
      "value": "0x40"
    },
    "330": {
      "fn": "LPInsolvencyHook.insolventEToken",
      "offset": [
        2135,
        2147
      ],
      "op": "MLOAD",
      "path": "22"
    },
    "331": {
      "fn": "LPInsolvencyHook.insolventEToken",
      "offset": [
        2135,
        2147
      ],
      "op": "DUP1",
      "path": "22"
    },
    "332": {
      "fn": "LPInsolvencyHook.insolventEToken",
      "offset": [
        2135,
        2147
      ],
      "op": "DUP4",
      "path": "22"
    },
    "333": {
      "fn": "LPInsolvencyHook.insolventEToken",
      "offset": [
        2135,
        2147
      ],
      "op": "SUB",
      "path": "22"
    },
    "334": {
      "fn": "LPInsolvencyHook.insolventEToken",
      "offset": [
        2135,
        2147
      ],
      "op": "DUP2",
      "path": "22"
    },
    "335": {
      "fn": "LPInsolvencyHook.insolventEToken",
      "offset": [
        2135,
        2147
      ],
      "op": "DUP7",
      "path": "22"
    },
    "336": {
      "fn": "LPInsolvencyHook.insolventEToken",
      "offset": [
        2135,
        2147
      ],
      "op": "DUP1",
      "path": "22"
    },
    "337": {
      "fn": "LPInsolvencyHook.insolventEToken",
      "offset": [
        2135,
        2147
      ],
      "op": "EXTCODESIZE",
      "path": "22"
    },
    "338": {
      "fn": "LPInsolvencyHook.insolventEToken",
      "offset": [
        2135,
        2147
      ],
      "op": "ISZERO",
      "path": "22"
    },
    "339": {
      "fn": "LPInsolvencyHook.insolventEToken",
      "offset": [
        2135,
        2147
      ],
      "op": "DUP1",
      "path": "22"
    },
    "340": {
      "fn": "LPInsolvencyHook.insolventEToken",
      "offset": [
        2135,
        2147
      ],
      "op": "ISZERO",
      "path": "22"
    },
    "341": {
      "fn": "LPInsolvencyHook.insolventEToken",
      "offset": [
        2135,
        2147
      ],
      "op": "PUSH2",
      "path": "22",
      "value": "0x15D"
    },
    "344": {
      "fn": "LPInsolvencyHook.insolventEToken",
      "offset": [
        2135,
        2147
      ],
      "op": "JUMPI",
      "path": "22"
    },
    "345": {
      "fn": "LPInsolvencyHook.insolventEToken",
      "offset": [
        2135,
        2147
      ],
      "op": "PUSH1",
      "path": "22",
      "value": "0x0"
    },
    "347": {
      "fn": "LPInsolvencyHook.insolventEToken",
      "offset": [
        2135,
        2147
      ],
      "op": "DUP1",
      "path": "22"
    },
    "348": {
      "fn": "LPInsolvencyHook.insolventEToken",
      "offset": [
        2135,
        2147
      ],
      "op": "REVERT",
      "path": "22"
    },
    "349": {
      "fn": "LPInsolvencyHook.insolventEToken",
      "offset": [
        2135,
        2147
      ],
      "op": "JUMPDEST",
      "path": "22"
    },
    "350": {
      "fn": "LPInsolvencyHook.insolventEToken",
      "offset": [
        2135,
        2147
      ],
      "op": "POP",
      "path": "22"
    },
    "351": {
      "fn": "LPInsolvencyHook.insolventEToken",
      "offset": [
        2135,
        2147
      ],
      "op": "GAS",
      "path": "22"
    },
    "352": {
      "fn": "LPInsolvencyHook.insolventEToken",
      "offset": [
        2135,
        2147
      ],
      "op": "STATICCALL",
      "path": "22"
    },
    "353": {
      "fn": "LPInsolvencyHook.insolventEToken",
      "offset": [
        2135,
        2147
      ],
      "op": "ISZERO",
      "path": "22"
    },
    "354": {
      "fn": "LPInsolvencyHook.insolventEToken",
      "offset": [
        2135,
        2147
      ],
      "op": "DUP1",
      "path": "22"
    },
    "355": {
      "fn": "LPInsolvencyHook.insolventEToken",
      "offset": [
        2135,
        2147
      ],
      "op": "ISZERO",
      "path": "22"
    },
    "356": {
      "fn": "LPInsolvencyHook.insolventEToken",
      "offset": [
        2135,
        2147
      ],
      "op": "PUSH2",
      "path": "22",
      "value": "0x171"
    },
    "359": {
      "fn": "LPInsolvencyHook.insolventEToken",
      "offset": [
        2135,
        2147
      ],
      "op": "JUMPI",
      "path": "22"
    },
    "360": {
      "fn": "LPInsolvencyHook.insolventEToken",
      "offset": [
        2135,
        2147
      ],
      "op": "RETURNDATASIZE",
      "path": "22"
    },
    "361": {
      "fn": "LPInsolvencyHook.insolventEToken",
      "offset": [
        2135,
        2147
      ],
      "op": "PUSH1",
      "path": "22",
      "value": "0x0"
    },
    "363": {
      "fn": "LPInsolvencyHook.insolventEToken",
      "offset": [
        2135,
        2147
      ],
      "op": "DUP1",
      "path": "22"
    },
    "364": {
      "fn": "LPInsolvencyHook.insolventEToken",
      "offset": [
        2135,
        2147
      ],
      "op": "RETURNDATACOPY",
      "path": "22"
    },
    "365": {
      "fn": "LPInsolvencyHook.insolventEToken",
      "offset": [
        2135,
        2147
      ],
      "op": "RETURNDATASIZE",
      "path": "22"
    },
    "366": {
      "fn": "LPInsolvencyHook.insolventEToken",
      "offset": [
        2135,
        2147
      ],
      "op": "PUSH1",
      "path": "22",
      "value": "0x0"
    },
    "368": {
      "fn": "LPInsolvencyHook.insolventEToken",
      "offset": [
        2135,
        2147
      ],
      "op": "REVERT",
      "path": "22"
    },
    "369": {
      "fn": "LPInsolvencyHook.insolventEToken",
      "offset": [
        2135,
        2147
      ],
      "op": "JUMPDEST",
      "path": "22"
    },
    "370": {
      "fn": "LPInsolvencyHook.insolventEToken",
      "offset": [
        2135,
        2147
      ],
      "op": "POP",
      "path": "22"
    },
    "371": {
      "fn": "LPInsolvencyHook.insolventEToken",
      "offset": [
        2135,
        2147
      ],
      "op": "POP",
      "path": "22"
    },
    "372": {
      "fn": "LPInsolvencyHook.insolventEToken",
      "offset": [
        2135,
        2147
      ],
      "op": "POP",
      "path": "22"
    },
    "373": {
      "fn": "LPInsolvencyHook.insolventEToken",
      "offset": [
        2135,
        2147
      ],
      "op": "POP",
      "path": "22"
    },
    "374": {
      "fn": "LPInsolvencyHook.insolventEToken",
      "offset": [
        2135,
        2147
      ],
      "op": "PUSH1",
      "path": "22",
      "value": "0x40"
    },
    "376": {
      "fn": "LPInsolvencyHook.insolventEToken",
      "offset": [
        2135,
        2147
      ],
      "op": "MLOAD",
      "path": "22"
    },
    "377": {
      "fn": "LPInsolvencyHook.insolventEToken",
      "offset": [
        2135,
        2147
      ],
      "op": "RETURNDATASIZE",
      "path": "22"
    },
    "378": {
      "fn": "LPInsolvencyHook.insolventEToken",
      "offset": [
        2135,
        2147
      ],
      "op": "PUSH1",
      "path": "22",
      "value": "0x1F"
    },
    "380": {
      "fn": "LPInsolvencyHook.insolventEToken",
      "offset": [
        2135,
        2147
      ],
      "op": "NOT",
      "path": "22"
    },
    "381": {
      "fn": "LPInsolvencyHook.insolventEToken",
      "offset": [
        2135,
        2147
      ],
      "op": "PUSH1",
      "path": "22",
      "value": "0x1F"
    },
    "383": {
      "fn": "LPInsolvencyHook.insolventEToken",
      "offset": [
        2135,
        2147
      ],
      "op": "DUP3",
      "path": "22"
    },
    "384": {
      "fn": "LPInsolvencyHook.insolventEToken",
      "offset": [
        2135,
        2147
      ],
      "op": "ADD",
      "path": "22"
    },
    "385": {
      "fn": "LPInsolvencyHook.insolventEToken",
      "offset": [
        2135,
        2147
      ],
      "op": "AND",
      "path": "22"
    },
    "386": {
      "fn": "LPInsolvencyHook.insolventEToken",
      "offset": [
        2135,
        2147
      ],
      "op": "DUP3",
      "path": "22"
    },
    "387": {
      "fn": "LPInsolvencyHook.insolventEToken",
      "offset": [
        2135,
        2147
      ],
      "op": "ADD",
      "path": "22"
    },
    "388": {
      "fn": "LPInsolvencyHook.insolventEToken",
      "offset": [
        2135,
        2147
      ],
      "op": "DUP1",
      "path": "22"
    },
    "389": {
      "fn": "LPInsolvencyHook.insolventEToken",
      "offset": [
        2135,
        2147
      ],
      "op": "PUSH1",
      "path": "22",
      "value": "0x40"
    },
    "391": {
      "fn": "LPInsolvencyHook.insolventEToken",
      "offset": [
        2135,
        2147
      ],
      "op": "MSTORE",
      "path": "22"
    },
    "392": {
      "fn": "LPInsolvencyHook.insolventEToken",
      "offset": [
        2135,
        2147
      ],
      "op": "POP",
      "path": "22"
    },
    "393": {
      "fn": "LPInsolvencyHook.insolventEToken",
      "offset": [
        2135,
        2147
      ],
      "op": "DUP2",
      "path": "22"
    },
    "394": {
      "fn": "LPInsolvencyHook.insolventEToken",
      "offset": [
        2135,
        2147
      ],
      "op": "ADD",
      "path": "22"
    },
    "395": {
      "fn": "LPInsolvencyHook.insolventEToken",
      "offset": [
        2135,
        2147
      ],
      "op": "SWAP1",
      "path": "22"
    },
    "396": {
      "fn": "LPInsolvencyHook.insolventEToken",
      "offset": [
        2135,
        2147
      ],
      "op": "PUSH2",
      "path": "22",
      "value": "0x195"
    },
    "399": {
      "fn": "LPInsolvencyHook.insolventEToken",
      "offset": [
        2135,
        2147
      ],
      "op": "SWAP2",
      "path": "22"
    },
    "400": {
      "fn": "LPInsolvencyHook.insolventEToken",
      "offset": [
        2135,
        2147
      ],
      "op": "SWAP1",
      "path": "22"
    },
    "401": {
      "fn": "LPInsolvencyHook.insolventEToken",
      "offset": [
        2135,
        2147
      ],
      "op": "PUSH2",
      "path": "22",
      "value": "0x5BD"
    },
    "404": {
      "fn": "LPInsolvencyHook.insolventEToken",
      "jump": "i",
      "offset": [
        2135,
        2147
      ],
      "op": "JUMP",
      "path": "22"
    },
    "405": {
      "fn": "LPInsolvencyHook.insolventEToken",
      "offset": [
        2135,
        2147
      ],
      "op": "JUMPDEST",
      "path": "22"
    },
    "406": {
      "fn": "LPInsolvencyHook.insolventEToken",
      "offset": [
        2135,
        2154
      ],
      "op": "SWAP1",
      "path": "22"
    },
    "407": {
      "fn": "LPInsolvencyHook.insolventEToken",
      "offset": [
        2135,
        2154
      ],
      "op": "PUSH2",
      "path": "22",
      "value": "0x232"
    },
    "410": {
      "fn": "LPInsolvencyHook.insolventEToken",
      "jump": "i",
      "offset": [
        2135,
        2160
      ],
      "op": "JUMP",
      "path": "22"
    },
    "411": {
      "fn": "LPInsolvencyHook.insolventEToken",
      "offset": [
        2135,
        2160
      ],
      "op": "JUMPDEST",
      "path": "22"
    },
    "412": {
      "fn": "LPInsolvencyHook.insolventEToken",
      "offset": [
        2118,
        2160
      ],
      "op": "PUSH2",
      "path": "22",
      "value": "0x1A5"
    },
    "415": {
      "fn": "LPInsolvencyHook.insolventEToken",
      "offset": [
        2118,
        2160
      ],
      "op": "SWAP1",
      "path": "22"
    },
    "416": {
      "fn": "LPInsolvencyHook.insolventEToken",
      "offset": [
        2118,
        2160
      ],
      "op": "DUP3",
      "path": "22"
    },
    "417": {
      "fn": "LPInsolvencyHook.insolventEToken",
      "offset": [
        2118,
        2160
      ],
      "op": "PUSH2",
      "path": "22",
      "value": "0x5D6"
    },
    "420": {
      "fn": "LPInsolvencyHook.insolventEToken",
      "jump": "i",
      "offset": [
        2118,
        2160
      ],
      "op": "JUMP",
      "path": "22"
    },
    "421": {
      "fn": "LPInsolvencyHook.insolventEToken",
      "offset": [
        2118,
        2160
      ],
      "op": "JUMPDEST",
      "path": "22"
    },
    "422": {
      "fn": "LPInsolvencyHook.insolventEToken",
      "offset": [
        2118,
        2160
      ],
      "op": "SWAP1",
      "path": "22"
    },
    "423": {
      "fn": "LPInsolvencyHook.insolventEToken",
      "offset": [
        2118,
        2160
      ],
      "op": "POP",
      "path": "22"
    },
    "424": {
      "fn": "LPInsolvencyHook.insolventEToken",
      "offset": [
        2183,
        2221
      ],
      "op": "PUSH2",
      "path": "22",
      "statement": 3,
      "value": "0x1B1"
    },
    "427": {
      "fn": "LPInsolvencyHook.insolventEToken",
      "offset": [
        2199,
        2205
      ],
      "op": "DUP3",
      "path": "22"
    },
    "428": {
      "fn": "LPInsolvencyHook.insolventEToken",
      "offset": [
        2207,
        2220
      ],
      "op": "DUP3",
      "path": "22"
    },
    "429": {
      "fn": "LPInsolvencyHook.insolventEToken",
      "offset": [
        2183,
        2198
      ],
      "op": "PUSH2",
      "path": "22",
      "value": "0x30C"
    },
    "432": {
      "fn": "LPInsolvencyHook.insolventEToken",
      "jump": "i",
      "offset": [
        2183,
        2221
      ],
      "op": "JUMP",
      "path": "22"
    },
    "433": {
      "fn": "LPInsolvencyHook.insolventEToken",
      "offset": [
        2183,
        2221
      ],
      "op": "JUMPDEST",
      "path": "22"
    },
    "434": {
      "fn": "LPInsolvencyHook.insolventEToken",
      "offset": [
        1819,
        2232
      ],
      "op": "POP",
      "path": "22"
    },
    "435": {
      "fn": "LPInsolvencyHook.insolventEToken",
      "offset": [
        1819,
        2232
      ],
      "op": "POP",
      "path": "22"
    },
    "436": {
      "fn": "LPInsolvencyHook.insolventEToken",
      "jump": "o",
      "offset": [
        1819,
        2232
      ],
      "op": "JUMP",
      "path": "22"
    },
    "437": {
      "fn": "LPInsolvencyHook.outOfCash",
      "offset": [
        1301,
        1426
      ],
      "op": "JUMPDEST",
      "path": "22"
    },
    "438": {
      "offset": [
        907,
        918
      ],
      "op": "PUSH1",
      "path": "22",
      "value": "0x0"
    },
    "440": {
      "fn": "LPInsolvencyHook.outOfCash",
      "offset": [
        907,
        918
      ],
      "op": "SLOAD",
      "path": "22"
    },
    "441": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "443": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "445": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "447": {
      "op": "SHL"
    },
    "448": {
      "op": "SUB"
    },
    "449": {
      "offset": [
        907,
        918
      ],
      "op": "AND",
      "path": "22"
    },
    "450": {
      "offset": [
        885,
        895
      ],
      "op": "CALLER",
      "path": "22"
    },
    "451": {
      "offset": [
        885,
        919
      ],
      "op": "EQ",
      "path": "22"
    },
    "452": {
      "offset": [
        877,
        957
      ],
      "op": "PUSH2",
      "path": "22",
      "value": "0x219"
    },
    "455": {
      "offset": [
        877,
        957
      ],
      "op": "JUMPI",
      "path": "22"
    },
    "456": {
      "fn": "LPInsolvencyHook.outOfCash",
      "offset": [
        877,
        957
      ],
      "op": "PUSH1",
      "path": "22",
      "value": "0x40"
    },
    "458": {
      "fn": "LPInsolvencyHook.outOfCash",
      "offset": [
        877,
        957
      ],
      "op": "MLOAD",
      "path": "22"
    },
    "459": {
      "op": "PUSH3",
      "value": "0x461BCD"
    },
    "463": {
      "op": "PUSH1",
      "value": "0xE5"
    },
    "465": {
      "op": "SHL"
    },
    "466": {
      "offset": [
        877,
        957
      ],
      "op": "DUP2",
      "path": "22"
    },
    "467": {
      "fn": "LPInsolvencyHook.outOfCash",
      "offset": [
        877,
        957
      ],
      "op": "MSTORE",
      "path": "22"
    },
    "468": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "470": {
      "offset": [
        877,
        957
      ],
      "op": "PUSH1",
      "path": "22",
      "value": "0x4"
    },
    "472": {
      "fn": "LPInsolvencyHook.outOfCash",
      "offset": [
        877,
        957
      ],
      "op": "DUP3",
      "path": "22"
    },
    "473": {
      "fn": "LPInsolvencyHook.outOfCash",
      "offset": [
        877,
        957
      ],
      "op": "ADD",
      "path": "22"
    },
    "474": {
      "op": "MSTORE"
    },
    "475": {
      "op": "PUSH1",
      "value": "0x21"
    },
    "477": {
      "op": "PUSH1",
      "value": "0x24"
    },
    "479": {
      "op": "DUP3"
    },
    "480": {
      "op": "ADD"
    },
    "481": {
      "op": "MSTORE"
    },
    "482": {
      "op": "PUSH32",
      "value": "0x5468652063616C6C6572206D7573742062652074686520506F6C696379506F6F"
    },
    "515": {
      "op": "PUSH1",
      "value": "0x44"
    },
    "517": {
      "op": "DUP3"
    },
    "518": {
      "op": "ADD"
    },
    "519": {
      "op": "MSTORE"
    },
    "520": {
      "op": "PUSH1",
      "value": "0x1B"
    },
    "522": {
      "op": "PUSH1",
      "value": "0xFA"
    },
    "524": {
      "op": "SHL"
    },
    "525": {
      "op": "PUSH1",
      "value": "0x64"
    },
    "527": {
      "op": "DUP3"
    },
    "528": {
      "op": "ADD"
    },
    "529": {
      "op": "MSTORE"
    },
    "530": {
      "op": "PUSH1",
      "value": "0x84"
    },
    "532": {
      "op": "ADD"
    },
    "533": {
      "offset": [
        877,
        957
      ],
      "op": "PUSH2",
      "path": "22",
      "value": "0x104"
    },
    "536": {
      "op": "JUMP"
    },
    "537": {
      "offset": [
        877,
        957
      ],
      "op": "JUMPDEST",
      "path": "22"
    },
    "538": {
      "fn": "LPInsolvencyHook.outOfCash",
      "offset": [
        1398,
        1405
      ],
      "op": "PUSH1",
      "path": "22",
      "statement": 4,
      "value": "0x1"
    },
    "540": {
      "fn": "LPInsolvencyHook.outOfCash",
      "offset": [
        1398,
        1405
      ],
      "op": "SLOAD",
      "path": "22"
    },
    "541": {
      "fn": "LPInsolvencyHook.outOfCash",
      "offset": [
        1382,
        1421
      ],
      "op": "PUSH2",
      "path": "22",
      "value": "0x22F"
    },
    "544": {
      "fn": "LPInsolvencyHook.outOfCash",
      "offset": [
        1382,
        1421
      ],
      "op": "SWAP1",
      "path": "22"
    },
    "545": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "547": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "549": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "551": {
      "op": "SHL"
    },
    "552": {
      "op": "SUB"
    },
    "553": {
      "fn": "LPInsolvencyHook.outOfCash",
      "offset": [
        1398,
        1405
      ],
      "op": "AND",
      "path": "22"
    },
    "554": {
      "fn": "LPInsolvencyHook.outOfCash",
      "offset": [
        1407,
        1420
      ],
      "op": "DUP3",
      "path": "22"
    },
    "555": {
      "fn": "LPInsolvencyHook.outOfCash",
      "offset": [
        1382,
        1397
      ],
      "op": "PUSH2",
      "path": "22",
      "value": "0x30C"
    },
    "558": {
      "fn": "LPInsolvencyHook.outOfCash",
      "jump": "i",
      "offset": [
        1382,
        1421
      ],
      "op": "JUMP",
      "path": "22"
    },
    "559": {
      "fn": "LPInsolvencyHook.outOfCash",
      "offset": [
        1382,
        1421
      ],
      "op": "JUMPDEST",
      "path": "22"
    },
    "560": {
      "fn": "LPInsolvencyHook.outOfCash",
      "offset": [
        1301,
        1426
      ],
      "op": "POP",
      "path": "22"
    },
    "561": {
      "fn": "LPInsolvencyHook.outOfCash",
      "jump": "o",
      "offset": [
        1301,
        1426
      ],
      "op": "JUMP",
      "path": "22"
    },
    "562": {
      "fn": "WadRayMath.wadMul",
      "offset": [
        1186,
        1444
      ],
      "op": "JUMPDEST",
      "path": "14"
    },
    "563": {
      "fn": "WadRayMath.wadMul",
      "offset": [
        1247,
        1254
      ],
      "op": "PUSH1",
      "path": "14",
      "value": "0x0"
    },
    "565": {
      "fn": "WadRayMath.wadMul",
      "offset": [
        1266,
        1272
      ],
      "op": "DUP3",
      "path": "14"
    },
    "566": {
      "fn": "WadRayMath.wadMul",
      "offset": [
        1266,
        1272
      ],
      "op": "ISZERO",
      "path": "14"
    },
    "567": {
      "branch": 15,
      "fn": "WadRayMath.wadMul",
      "offset": [
        1266,
        1272
      ],
      "op": "DUP1",
      "path": "14"
    },
    "568": {
      "fn": "WadRayMath.wadMul",
      "offset": [
        1266,
        1282
      ],
      "op": "PUSH2",
      "path": "14",
      "value": "0x23F"
    },
    "571": {
      "branch": 15,
      "fn": "WadRayMath.wadMul",
      "offset": [
        1266,
        1282
      ],
      "op": "JUMPI",
      "path": "14"
    },
    "572": {
      "op": "POP"
    },
    "573": {
      "fn": "WadRayMath.wadMul",
      "offset": [
        1276,
        1282
      ],
      "op": "DUP2",
      "path": "14"
    },
    "574": {
      "branch": 16,
      "fn": "WadRayMath.wadMul",
      "offset": [
        1276,
        1282
      ],
      "op": "ISZERO",
      "path": "14"
    },
    "575": {
      "fn": "WadRayMath.wadMul",
      "offset": [
        1266,
        1282
      ],
      "op": "JUMPDEST",
      "path": "14"
    },
    "576": {
      "fn": "WadRayMath.wadMul",
      "offset": [
        1262,
        1307
      ],
      "op": "ISZERO",
      "path": "14"
    },
    "577": {
      "fn": "WadRayMath.wadMul",
      "offset": [
        1262,
        1307
      ],
      "op": "PUSH2",
      "path": "14",
      "value": "0x24C"
    },
    "580": {
      "branch": 16,
      "fn": "WadRayMath.wadMul",
      "offset": [
        1262,
        1307
      ],
      "op": "JUMPI",
      "path": "14"
    },
    "581": {
      "op": "POP"
    },
    "582": {
      "fn": "WadRayMath.wadMul",
      "offset": [
        1299,
        1300
      ],
      "op": "PUSH1",
      "path": "14",
      "statement": 5,
      "value": "0x0"
    },
    "584": {
      "fn": "WadRayMath.wadMul",
      "offset": [
        1292,
        1300
      ],
      "op": "PUSH2",
      "path": "14",
      "value": "0x306"
    },
    "587": {
      "fn": "WadRayMath.wadMul",
      "offset": [
        1292,
        1300
      ],
      "op": "JUMP",
      "path": "14"
    },
    "588": {
      "fn": "WadRayMath.wadMul",
      "offset": [
        1262,
        1307
      ],
      "op": "JUMPDEST",
      "path": "14"
    },
    "589": {
      "fn": "WadRayMath.wadMul",
      "offset": [
        1359,
        1360
      ],
      "op": "DUP2",
      "path": "14",
      "statement": 6
    },
    "590": {
      "offset": [
        408,
        415
      ],
      "op": "PUSH2",
      "path": "14",
      "value": "0x260"
    },
    "593": {
      "offset": [
        414,
        415
      ],
      "op": "PUSH1",
      "path": "14",
      "value": "0x2"
    },
    "595": {
      "offset": [
        363,
        367
      ],
      "op": "PUSH8",
      "path": "14",
      "value": "0xDE0B6B3A7640000"
    },
    "604": {
      "offset": [
        408,
        415
      ],
      "op": "PUSH2",
      "path": "14",
      "value": "0x5EE"
    },
    "607": {
      "fn": "WadRayMath.wadMul",
      "jump": "i",
      "offset": [
        408,
        415
      ],
      "op": "JUMP",
      "path": "14"
    },
    "608": {
      "fn": "WadRayMath.wadMul",
      "offset": [
        408,
        415
      ],
      "op": "JUMPDEST",
      "path": "14"
    },
    "609": {
      "fn": "WadRayMath.wadMul",
      "offset": [
        1327,
        1355
      ],
      "op": "PUSH2",
      "path": "14",
      "value": "0x26C"
    },
    "612": {
      "fn": "WadRayMath.wadMul",
      "offset": [
        1327,
        1355
      ],
      "op": "SWAP1",
      "path": "14"
    },
    "613": {
      "op": "PUSH1",
      "value": "0x0"
    },
    "615": {
      "op": "NOT"
    },
    "616": {
      "fn": "WadRayMath.wadMul",
      "offset": [
        1327,
        1355
      ],
      "op": "PUSH2",
      "path": "14",
      "value": "0x62F"
    },
    "619": {
      "fn": "WadRayMath.wadMul",
      "jump": "i",
      "offset": [
        1327,
        1355
      ],
      "op": "JUMP",
      "path": "14"
    },
    "620": {
      "fn": "WadRayMath.wadMul",
      "offset": [
        1327,
        1355
      ],
      "op": "JUMPDEST",
      "path": "14"
    },
    "621": {
      "fn": "WadRayMath.wadMul",
      "offset": [
        1326,
        1360
      ],
      "op": "PUSH2",
      "path": "14",
      "value": "0x276"
    },
    "624": {
      "fn": "WadRayMath.wadMul",
      "offset": [
        1326,
        1360
      ],
      "op": "SWAP2",
      "path": "14"
    },
    "625": {
      "fn": "WadRayMath.wadMul",
      "offset": [
        1326,
        1360
      ],
      "op": "SWAP1",
      "path": "14"
    },
    "626": {
      "fn": "WadRayMath.wadMul",
      "offset": [
        1326,
        1360
      ],
      "op": "PUSH2",
      "path": "14",
      "value": "0x5EE"
    },
    "629": {
      "fn": "WadRayMath.wadMul",
      "jump": "i",
      "offset": [
        1326,
        1360
      ],
      "op": "JUMP",
      "path": "14"
    },
    "630": {
      "fn": "WadRayMath.wadMul",
      "offset": [
        1326,
        1360
      ],
      "op": "JUMPDEST",
      "path": "14"
    },
    "631": {
      "fn": "WadRayMath.wadMul",
      "offset": [
        1321,
        1322
      ],
      "op": "DUP4",
      "path": "14"
    },
    "632": {
      "fn": "WadRayMath.wadMul",
      "offset": [
        1321,
        1360
      ],
      "op": "GT",
      "path": "14"
    },
    "633": {
      "branch": 17,
      "fn": "WadRayMath.wadMul",
      "offset": [
        1321,
        1360
      ],
      "op": "ISZERO",
      "path": "14"
    },
    "634": {
      "fn": "WadRayMath.wadMul",
      "offset": [
        1313,
        1401
      ],
      "op": "PUSH2",
      "path": "14",
      "value": "0x2D1"
    },
    "637": {
      "branch": 17,
      "fn": "WadRayMath.wadMul",
      "offset": [
        1313,
        1401
      ],
      "op": "JUMPI",
      "path": "14"
    },
    "638": {
      "fn": "WadRayMath.wadMul",
      "offset": [
        1313,
        1401
      ],
      "op": "PUSH1",
      "path": "14",
      "value": "0x40"
    },
    "640": {
      "fn": "WadRayMath.wadMul",
      "offset": [
        1313,
        1401
      ],
      "op": "MLOAD",
      "path": "14"
    },
    "641": {
      "op": "PUSH3",
      "value": "0x461BCD"
    },
    "645": {
      "op": "PUSH1",
      "value": "0xE5"
    },
    "647": {
      "op": "SHL"
    },
    "648": {
      "fn": "WadRayMath.wadMul",
      "offset": [
        1313,
        1401
      ],
      "op": "DUP2",
      "path": "14"
    },
    "649": {
      "fn": "WadRayMath.wadMul",
      "offset": [
        1313,
        1401
      ],
      "op": "MSTORE",
      "path": "14"
    },
    "650": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "652": {
      "fn": "WadRayMath.wadMul",
      "offset": [
        1313,
        1401
      ],
      "op": "PUSH1",
      "path": "14",
      "value": "0x4"
    },
    "654": {
      "fn": "WadRayMath.wadMul",
      "offset": [
        1313,
        1401
      ],
      "op": "DUP3",
      "path": "14"
    },
    "655": {
      "fn": "WadRayMath.wadMul",
      "offset": [
        1313,
        1401
      ],
      "op": "ADD",
      "path": "14"
    },
    "656": {
      "op": "MSTORE"
    },
    "657": {
      "op": "PUSH1",
      "value": "0x24"
    },
    "659": {
      "op": "DUP1"
    },
    "660": {
      "op": "DUP3"
    },
    "661": {
      "op": "ADD"
    },
    "662": {
      "op": "MSTORE"
    },
    "663": {
      "op": "PUSH32",
      "value": "0x7761644D756C3A204D617468204D756C7469706C69636174696F6E204F766572"
    },
    "696": {
      "op": "PUSH1",
      "value": "0x44"
    },
    "698": {
      "op": "DUP3"
    },
    "699": {
      "op": "ADD"
    },
    "700": {
      "op": "MSTORE"
    },
    "701": {
      "op": "PUSH4",
      "value": "0x666C6F77"
    },
    "706": {
      "op": "PUSH1",
      "value": "0xE0"
    },
    "708": {
      "op": "SHL"
    },
    "709": {
      "op": "PUSH1",
      "value": "0x64"
    },
    "711": {
      "op": "DUP3"
    },
    "712": {
      "op": "ADD"
    },
    "713": {
      "op": "MSTORE"
    },
    "714": {
      "op": "PUSH1",
      "value": "0x84"
    },
    "716": {
      "op": "ADD"
    },
    "717": {
      "fn": "WadRayMath.wadMul",
      "offset": [
        1313,
        1401
      ],
      "op": "PUSH2",
      "path": "14",
      "value": "0x104"
    },
    "720": {
      "op": "JUMP"
    },
    "721": {
      "fn": "WadRayMath.wadMul",
      "offset": [
        1313,
        1401
      ],
      "op": "JUMPDEST",
      "path": "14"
    },
    "722": {
      "offset": [
        363,
        367
      ],
      "op": "PUSH8",
      "path": "14",
      "value": "0xDE0B6B3A7640000"
    },
    "731": {
      "offset": [
        408,
        415
      ],
      "op": "PUSH2",
      "path": "14",
      "value": "0x2E5"
    },
    "734": {
      "offset": [
        414,
        415
      ],
      "op": "PUSH1",
      "path": "14",
      "value": "0x2"
    },
    "736": {
      "offset": [
        363,
        367
      ],
      "op": "DUP3",
      "path": "14"
    },
    "737": {
      "offset": [
        408,
        415
      ],
      "op": "PUSH2",
      "path": "14",
      "value": "0x5EE"
    },
    "740": {
      "fn": "WadRayMath.wadMul",
      "jump": "i",
      "offset": [
        408,
        415
      ],
      "op": "JUMP",
      "path": "14"
    },
    "741": {
      "fn": "WadRayMath.wadMul",
      "offset": [
        408,
        415
      ],
      "op": "JUMPDEST",
      "path": "14"
    },
    "742": {
      "fn": "WadRayMath.wadMul",
      "offset": [
        1416,
        1421
      ],
      "op": "PUSH2",
      "path": "14",
      "statement": 7,
      "value": "0x2EF"
    },
    "745": {
      "fn": "WadRayMath.wadMul",
      "offset": [
        1420,
        1421
      ],
      "op": "DUP5",
      "path": "14"
    },
    "746": {
      "fn": "WadRayMath.wadMul",
      "offset": [
        1416,
        1417
      ],
      "op": "DUP7",
      "path": "14"
    },
    "747": {
      "fn": "WadRayMath.wadMul",
      "offset": [
        1416,
        1421
      ],
      "op": "PUSH2",
      "path": "14",
      "value": "0x610"
    },
    "750": {
      "fn": "WadRayMath.wadMul",
      "jump": "i",
      "offset": [
        1416,
        1421
      ],
      "op": "JUMP",
      "path": "14"
    },
    "751": {
      "fn": "WadRayMath.wadMul",
      "offset": [
        1416,
        1421
      ],
      "op": "JUMPDEST",
      "path": "14"
    },
    "752": {
      "fn": "WadRayMath.wadMul",
      "offset": [
        1416,
        1432
      ],
      "op": "PUSH2",
      "path": "14",
      "value": "0x2F9"
    },
    "755": {
      "fn": "WadRayMath.wadMul",
      "offset": [
        1416,
        1432
      ],
      "op": "SWAP2",
      "path": "14"
    },
    "756": {
      "fn": "WadRayMath.wadMul",
      "offset": [
        1416,
        1432
      ],
      "op": "SWAP1",
      "path": "14"
    },
    "757": {
      "fn": "WadRayMath.wadMul",
      "offset": [
        1416,
        1432
      ],
      "op": "PUSH2",
      "path": "14",
      "value": "0x5D6"
    },
    "760": {
      "fn": "WadRayMath.wadMul",
      "jump": "i",
      "offset": [
        1416,
        1432
      ],
      "op": "JUMP",
      "path": "14"
    },
    "761": {
      "fn": "WadRayMath.wadMul",
      "offset": [
        1416,
        1432
      ],
      "op": "JUMPDEST",
      "path": "14"
    },
    "762": {
      "fn": "WadRayMath.wadMul",
      "offset": [
        1415,
        1439
      ],
      "op": "PUSH2",
      "path": "14",
      "value": "0x303"
    },
    "765": {
      "fn": "WadRayMath.wadMul",
      "offset": [
        1415,
        1439
      ],
      "op": "SWAP2",
      "path": "14"
    },
    "766": {
      "fn": "WadRayMath.wadMul",
      "offset": [
        1415,
        1439
      ],
      "op": "SWAP1",
      "path": "14"
    },
    "767": {
      "fn": "WadRayMath.wadMul",
      "offset": [
        1415,
        1439
      ],
      "op": "PUSH2",
      "path": "14",
      "value": "0x5EE"
    },
    "770": {
      "fn": "WadRayMath.wadMul",
      "jump": "i",
      "offset": [
        1415,
        1439
      ],
      "op": "JUMP",
      "path": "14"
    },
    "771": {
      "fn": "WadRayMath.wadMul",
      "offset": [
        1415,
        1439
      ],
      "op": "JUMPDEST",
      "path": "14"
    },
    "772": {
      "fn": "WadRayMath.wadMul",
      "offset": [
        1408,
        1439
      ],
      "op": "SWAP1",
      "path": "14"
    },
    "773": {
      "fn": "WadRayMath.wadMul",
      "offset": [
        1408,
        1439
      ],
      "op": "POP",
      "path": "14"
    },
    "774": {
      "fn": "WadRayMath.wadMul",
      "offset": [
        1186,
        1444
      ],
      "op": "JUMPDEST",
      "path": "14"
    },
    "775": {
      "fn": "WadRayMath.wadMul",
      "offset": [
        1186,
        1444
      ],
      "op": "SWAP3",
      "path": "14"
    },
    "776": {
      "fn": "WadRayMath.wadMul",
      "offset": [
        1186,
        1444
      ],
      "op": "SWAP2",
      "path": "14"
    },
    "777": {
      "fn": "WadRayMath.wadMul",
      "offset": [
        1186,
        1444
      ],
      "op": "POP",
      "path": "14"
    },
    "778": {
      "fn": "WadRayMath.wadMul",
      "offset": [
        1186,
        1444
      ],
      "op": "POP",
      "path": "14"
    },
    "779": {
      "fn": "WadRayMath.wadMul",
      "jump": "o",
      "offset": [
        1186,
        1444
      ],
      "op": "JUMP",
      "path": "14"
    },
    "780": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1430,
        1815
      ],
      "op": "JUMPDEST",
      "path": "22"
    },
    "781": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1509,
        1524
      ],
      "op": "PUSH1",
      "path": "22",
      "value": "0x0"
    },
    "783": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1527,
        1538
      ],
      "op": "DUP1",
      "path": "22"
    },
    "784": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1527,
        1538
      ],
      "op": "PUSH1",
      "path": "22",
      "value": "0x0"
    },
    "786": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1527,
        1538
      ],
      "op": "SWAP1",
      "path": "22"
    },
    "787": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1527,
        1538
      ],
      "op": "SLOAD",
      "path": "22"
    },
    "788": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1527,
        1538
      ],
      "op": "SWAP1",
      "path": "22"
    },
    "789": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1527,
        1538
      ],
      "op": "PUSH2",
      "path": "22",
      "value": "0x100"
    },
    "792": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1527,
        1538
      ],
      "op": "EXP",
      "path": "22"
    },
    "793": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1527,
        1538
      ],
      "op": "SWAP1",
      "path": "22"
    },
    "794": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1527,
        1538
      ],
      "op": "DIV",
      "path": "22"
    },
    "795": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "797": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "799": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "801": {
      "op": "SHL"
    },
    "802": {
      "op": "SUB"
    },
    "803": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1527,
        1538
      ],
      "op": "AND",
      "path": "22"
    },
    "804": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "806": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "808": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "810": {
      "op": "SHL"
    },
    "811": {
      "op": "SUB"
    },
    "812": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1527,
        1547
      ],
      "op": "AND",
      "path": "22"
    },
    "813": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1527,
        1547
      ],
      "op": "PUSH4",
      "path": "22",
      "value": "0xE5A6B10F"
    },
    "818": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1527,
        1549
      ],
      "op": "PUSH1",
      "path": "22",
      "value": "0x40"
    },
    "820": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1527,
        1549
      ],
      "op": "MLOAD",
      "path": "22"
    },
    "821": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1527,
        1549
      ],
      "op": "DUP2",
      "path": "22"
    },
    "822": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1527,
        1549
      ],
      "op": "PUSH4",
      "path": "22",
      "value": "0xFFFFFFFF"
    },
    "827": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1527,
        1549
      ],
      "op": "AND",
      "path": "22"
    },
    "828": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1527,
        1549
      ],
      "op": "PUSH1",
      "path": "22",
      "value": "0xE0"
    },
    "830": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1527,
        1549
      ],
      "op": "SHL",
      "path": "22"
    },
    "831": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1527,
        1549
      ],
      "op": "DUP2",
      "path": "22"
    },
    "832": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1527,
        1549
      ],
      "op": "MSTORE",
      "path": "22"
    },
    "833": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1527,
        1549
      ],
      "op": "PUSH1",
      "path": "22",
      "value": "0x4"
    },
    "835": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1527,
        1549
      ],
      "op": "ADD",
      "path": "22"
    },
    "836": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1527,
        1549
      ],
      "op": "PUSH1",
      "path": "22",
      "value": "0x20"
    },
    "838": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1527,
        1549
      ],
      "op": "PUSH1",
      "path": "22",
      "value": "0x40"
    },
    "840": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1527,
        1549
      ],
      "op": "MLOAD",
      "path": "22"
    },
    "841": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1527,
        1549
      ],
      "op": "DUP1",
      "path": "22"
    },
    "842": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1527,
        1549
      ],
      "op": "DUP4",
      "path": "22"
    },
    "843": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1527,
        1549
      ],
      "op": "SUB",
      "path": "22"
    },
    "844": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1527,
        1549
      ],
      "op": "DUP2",
      "path": "22"
    },
    "845": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1527,
        1549
      ],
      "op": "DUP7",
      "path": "22"
    },
    "846": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1527,
        1549
      ],
      "op": "DUP1",
      "path": "22"
    },
    "847": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1527,
        1549
      ],
      "op": "EXTCODESIZE",
      "path": "22"
    },
    "848": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1527,
        1549
      ],
      "op": "ISZERO",
      "path": "22"
    },
    "849": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1527,
        1549
      ],
      "op": "DUP1",
      "path": "22"
    },
    "850": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1527,
        1549
      ],
      "op": "ISZERO",
      "path": "22"
    },
    "851": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1527,
        1549
      ],
      "op": "PUSH2",
      "path": "22",
      "value": "0x35B"
    },
    "854": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1527,
        1549
      ],
      "op": "JUMPI",
      "path": "22"
    },
    "855": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1527,
        1549
      ],
      "op": "PUSH1",
      "path": "22",
      "value": "0x0"
    },
    "857": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1527,
        1549
      ],
      "op": "DUP1",
      "path": "22"
    },
    "858": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1527,
        1549
      ],
      "op": "REVERT",
      "path": "22"
    },
    "859": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1527,
        1549
      ],
      "op": "JUMPDEST",
      "path": "22"
    },
    "860": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1527,
        1549
      ],
      "op": "POP",
      "path": "22"
    },
    "861": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1527,
        1549
      ],
      "op": "GAS",
      "path": "22"
    },
    "862": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1527,
        1549
      ],
      "op": "STATICCALL",
      "path": "22"
    },
    "863": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1527,
        1549
      ],
      "op": "ISZERO",
      "path": "22"
    },
    "864": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1527,
        1549
      ],
      "op": "DUP1",
      "path": "22"
    },
    "865": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1527,
        1549
      ],
      "op": "ISZERO",
      "path": "22"
    },
    "866": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1527,
        1549
      ],
      "op": "PUSH2",
      "path": "22",
      "value": "0x36F"
    },
    "869": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1527,
        1549
      ],
      "op": "JUMPI",
      "path": "22"
    },
    "870": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1527,
        1549
      ],
      "op": "RETURNDATASIZE",
      "path": "22"
    },
    "871": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1527,
        1549
      ],
      "op": "PUSH1",
      "path": "22",
      "value": "0x0"
    },
    "873": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1527,
        1549
      ],
      "op": "DUP1",
      "path": "22"
    },
    "874": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1527,
        1549
      ],
      "op": "RETURNDATACOPY",
      "path": "22"
    },
    "875": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1527,
        1549
      ],
      "op": "RETURNDATASIZE",
      "path": "22"
    },
    "876": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1527,
        1549
      ],
      "op": "PUSH1",
      "path": "22",
      "value": "0x0"
    },
    "878": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1527,
        1549
      ],
      "op": "REVERT",
      "path": "22"
    },
    "879": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1527,
        1549
      ],
      "op": "JUMPDEST",
      "path": "22"
    },
    "880": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1527,
        1549
      ],
      "op": "POP",
      "path": "22"
    },
    "881": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1527,
        1549
      ],
      "op": "POP",
      "path": "22"
    },
    "882": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1527,
        1549
      ],
      "op": "POP",
      "path": "22"
    },
    "883": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1527,
        1549
      ],
      "op": "POP",
      "path": "22"
    },
    "884": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1527,
        1549
      ],
      "op": "PUSH1",
      "path": "22",
      "value": "0x40"
    },
    "886": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1527,
        1549
      ],
      "op": "MLOAD",
      "path": "22"
    },
    "887": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1527,
        1549
      ],
      "op": "RETURNDATASIZE",
      "path": "22"
    },
    "888": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1527,
        1549
      ],
      "op": "PUSH1",
      "path": "22",
      "value": "0x1F"
    },
    "890": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1527,
        1549
      ],
      "op": "NOT",
      "path": "22"
    },
    "891": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1527,
        1549
      ],
      "op": "PUSH1",
      "path": "22",
      "value": "0x1F"
    },
    "893": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1527,
        1549
      ],
      "op": "DUP3",
      "path": "22"
    },
    "894": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1527,
        1549
      ],
      "op": "ADD",
      "path": "22"
    },
    "895": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1527,
        1549
      ],
      "op": "AND",
      "path": "22"
    },
    "896": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1527,
        1549
      ],
      "op": "DUP3",
      "path": "22"
    },
    "897": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1527,
        1549
      ],
      "op": "ADD",
      "path": "22"
    },
    "898": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1527,
        1549
      ],
      "op": "DUP1",
      "path": "22"
    },
    "899": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1527,
        1549
      ],
      "op": "PUSH1",
      "path": "22",
      "value": "0x40"
    },
    "901": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1527,
        1549
      ],
      "op": "MSTORE",
      "path": "22"
    },
    "902": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1527,
        1549
      ],
      "op": "POP",
      "path": "22"
    },
    "903": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1527,
        1549
      ],
      "op": "DUP2",
      "path": "22"
    },
    "904": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1527,
        1549
      ],
      "op": "ADD",
      "path": "22"
    },
    "905": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1527,
        1549
      ],
      "op": "SWAP1",
      "path": "22"
    },
    "906": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1527,
        1549
      ],
      "op": "PUSH2",
      "path": "22",
      "value": "0x393"
    },
    "909": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1527,
        1549
      ],
      "op": "SWAP2",
      "path": "22"
    },
    "910": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1527,
        1549
      ],
      "op": "SWAP1",
      "path": "22"
    },
    "911": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1527,
        1549
      ],
      "op": "PUSH2",
      "path": "22",
      "value": "0x55B"
    },
    "914": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "jump": "i",
      "offset": [
        1527,
        1549
      ],
      "op": "JUMP",
      "path": "22"
    },
    "915": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1527,
        1549
      ],
      "op": "JUMPDEST",
      "path": "22"
    },
    "916": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1555,
        1623
      ],
      "op": "PUSH1",
      "path": "22",
      "statement": 8,
      "value": "0x40"
    },
    "918": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1555,
        1623
      ],
      "op": "MLOAD",
      "path": "22"
    },
    "919": {
      "op": "PUSH4",
      "value": "0x40C10F19"
    },
    "924": {
      "op": "PUSH1",
      "value": "0xE0"
    },
    "926": {
      "op": "SHL"
    },
    "927": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1555,
        1623
      ],
      "op": "DUP2",
      "path": "22"
    },
    "928": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1555,
        1623
      ],
      "op": "MSTORE",
      "path": "22"
    },
    "929": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1602,
        1606
      ],
      "op": "ADDRESS",
      "path": "22"
    },
    "930": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1555,
        1623
      ],
      "op": "PUSH1",
      "path": "22",
      "value": "0x4"
    },
    "932": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1555,
        1623
      ],
      "op": "DUP3",
      "path": "22"
    },
    "933": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1555,
        1623
      ],
      "op": "ADD",
      "path": "22"
    },
    "934": {
      "op": "MSTORE"
    },
    "935": {
      "op": "PUSH1",
      "value": "0x24"
    },
    "937": {
      "op": "DUP2"
    },
    "938": {
      "op": "ADD"
    },
    "939": {
      "op": "DUP5"
    },
    "940": {
      "op": "SWAP1"
    },
    "941": {
      "op": "MSTORE"
    },
    "942": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1509,
        1549
      ],
      "op": "SWAP1",
      "path": "22"
    },
    "943": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1509,
        1549
      ],
      "op": "SWAP2",
      "path": "22"
    },
    "944": {
      "op": "POP"
    },
    "945": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "947": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "949": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "951": {
      "op": "SHL"
    },
    "952": {
      "op": "SUB"
    },
    "953": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1555,
        1593
      ],
      "op": "DUP3",
      "path": "22"
    },
    "954": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1555,
        1593
      ],
      "op": "AND",
      "path": "22"
    },
    "955": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1555,
        1593
      ],
      "op": "SWAP1",
      "path": "22"
    },
    "956": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1555,
        1593
      ],
      "op": "PUSH4",
      "path": "22",
      "value": "0x40C10F19"
    },
    "961": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1555,
        1593
      ],
      "op": "SWAP1",
      "path": "22"
    },
    "962": {
      "op": "PUSH1",
      "value": "0x44"
    },
    "964": {
      "op": "ADD"
    },
    "965": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1555,
        1623
      ],
      "op": "PUSH1",
      "path": "22",
      "value": "0x0"
    },
    "967": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1555,
        1623
      ],
      "op": "PUSH1",
      "path": "22",
      "value": "0x40"
    },
    "969": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1555,
        1623
      ],
      "op": "MLOAD",
      "path": "22"
    },
    "970": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1555,
        1623
      ],
      "op": "DUP1",
      "path": "22"
    },
    "971": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1555,
        1623
      ],
      "op": "DUP4",
      "path": "22"
    },
    "972": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1555,
        1623
      ],
      "op": "SUB",
      "path": "22"
    },
    "973": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1555,
        1623
      ],
      "op": "DUP2",
      "path": "22"
    },
    "974": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1555,
        1623
      ],
      "op": "PUSH1",
      "path": "22",
      "value": "0x0"
    },
    "976": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1555,
        1623
      ],
      "op": "DUP8",
      "path": "22"
    },
    "977": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1555,
        1623
      ],
      "op": "DUP1",
      "path": "22"
    },
    "978": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1555,
        1623
      ],
      "op": "EXTCODESIZE",
      "path": "22"
    },
    "979": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1555,
        1623
      ],
      "op": "ISZERO",
      "path": "22"
    },
    "980": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1555,
        1623
      ],
      "op": "DUP1",
      "path": "22"
    },
    "981": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1555,
        1623
      ],
      "op": "ISZERO",
      "path": "22"
    },
    "982": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1555,
        1623
      ],
      "op": "PUSH2",
      "path": "22",
      "value": "0x3DE"
    },
    "985": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1555,
        1623
      ],
      "op": "JUMPI",
      "path": "22"
    },
    "986": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1555,
        1623
      ],
      "op": "PUSH1",
      "path": "22",
      "value": "0x0"
    },
    "988": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1555,
        1623
      ],
      "op": "DUP1",
      "path": "22"
    },
    "989": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1555,
        1623
      ],
      "op": "REVERT",
      "path": "22"
    },
    "990": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1555,
        1623
      ],
      "op": "JUMPDEST",
      "path": "22"
    },
    "991": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1555,
        1623
      ],
      "op": "POP",
      "path": "22"
    },
    "992": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1555,
        1623
      ],
      "op": "GAS",
      "path": "22"
    },
    "993": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1555,
        1623
      ],
      "op": "CALL",
      "path": "22"
    },
    "994": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1555,
        1623
      ],
      "op": "ISZERO",
      "path": "22"
    },
    "995": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1555,
        1623
      ],
      "op": "DUP1",
      "path": "22"
    },
    "996": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1555,
        1623
      ],
      "op": "ISZERO",
      "path": "22"
    },
    "997": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1555,
        1623
      ],
      "op": "PUSH2",
      "path": "22",
      "value": "0x3F2"
    },
    "1000": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1555,
        1623
      ],
      "op": "JUMPI",
      "path": "22"
    },
    "1001": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1555,
        1623
      ],
      "op": "RETURNDATASIZE",
      "path": "22"
    },
    "1002": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1555,
        1623
      ],
      "op": "PUSH1",
      "path": "22",
      "value": "0x0"
    },
    "1004": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1555,
        1623
      ],
      "op": "DUP1",
      "path": "22"
    },
    "1005": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1555,
        1623
      ],
      "op": "RETURNDATACOPY",
      "path": "22"
    },
    "1006": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1555,
        1623
      ],
      "op": "RETURNDATASIZE",
      "path": "22"
    },
    "1007": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1555,
        1623
      ],
      "op": "PUSH1",
      "path": "22",
      "value": "0x0"
    },
    "1009": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1555,
        1623
      ],
      "op": "REVERT",
      "path": "22"
    },
    "1010": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1555,
        1623
      ],
      "op": "JUMPDEST",
      "path": "22"
    },
    "1011": {
      "op": "POP"
    },
    "1012": {
      "op": "POP"
    },
    "1013": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1654,
        1665
      ],
      "op": "PUSH1",
      "path": "22",
      "statement": 9,
      "value": "0x0"
    },
    "1015": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1654,
        1665
      ],
      "op": "SLOAD",
      "path": "22"
    },
    "1016": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1629,
        1682
      ],
      "op": "PUSH1",
      "path": "22",
      "value": "0x40"
    },
    "1018": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1629,
        1682
      ],
      "op": "MLOAD",
      "path": "22"
    },
    "1019": {
      "op": "PUSH4",
      "value": "0x95EA7B3"
    },
    "1024": {
      "op": "PUSH1",
      "value": "0xE0"
    },
    "1026": {
      "op": "SHL"
    },
    "1027": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1629,
        1682
      ],
      "op": "DUP2",
      "path": "22"
    },
    "1028": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1629,
        1682
      ],
      "op": "MSTORE",
      "path": "22"
    },
    "1029": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "1031": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "1033": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "1035": {
      "op": "SHL"
    },
    "1036": {
      "op": "SUB"
    },
    "1037": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1654,
        1665
      ],
      "op": "SWAP2",
      "path": "22"
    },
    "1038": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1654,
        1665
      ],
      "op": "DUP3",
      "path": "22"
    },
    "1039": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1654,
        1665
      ],
      "op": "AND",
      "path": "22"
    },
    "1040": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1629,
        1682
      ],
      "op": "PUSH1",
      "path": "22",
      "value": "0x4"
    },
    "1042": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1629,
        1682
      ],
      "op": "DUP3",
      "path": "22"
    },
    "1043": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1629,
        1682
      ],
      "op": "ADD",
      "path": "22"
    },
    "1044": {
      "op": "MSTORE"
    },
    "1045": {
      "op": "PUSH1",
      "value": "0x24"
    },
    "1047": {
      "op": "DUP2"
    },
    "1048": {
      "op": "ADD"
    },
    "1049": {
      "op": "DUP7"
    },
    "1050": {
      "op": "SWAP1"
    },
    "1051": {
      "op": "MSTORE"
    },
    "1052": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1629,
        1645
      ],
      "op": "SWAP1",
      "path": "22"
    },
    "1053": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1629,
        1645
      ],
      "op": "DUP5",
      "path": "22"
    },
    "1054": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1629,
        1645
      ],
      "op": "AND",
      "path": "22"
    },
    "1055": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1629,
        1645
      ],
      "op": "SWAP3",
      "path": "22"
    },
    "1056": {
      "op": "POP"
    },
    "1057": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1629,
        1645
      ],
      "op": "PUSH4",
      "path": "22",
      "value": "0x95EA7B3"
    },
    "1062": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1629,
        1645
      ],
      "op": "SWAP2",
      "path": "22"
    },
    "1063": {
      "op": "POP"
    },
    "1064": {
      "op": "PUSH1",
      "value": "0x44"
    },
    "1066": {
      "op": "ADD"
    },
    "1067": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1629,
        1682
      ],
      "op": "PUSH1",
      "path": "22",
      "value": "0x20"
    },
    "1069": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1629,
        1682
      ],
      "op": "PUSH1",
      "path": "22",
      "value": "0x40"
    },
    "1071": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1629,
        1682
      ],
      "op": "MLOAD",
      "path": "22"
    },
    "1072": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1629,
        1682
      ],
      "op": "DUP1",
      "path": "22"
    },
    "1073": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1629,
        1682
      ],
      "op": "DUP4",
      "path": "22"
    },
    "1074": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1629,
        1682
      ],
      "op": "SUB",
      "path": "22"
    },
    "1075": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1629,
        1682
      ],
      "op": "DUP2",
      "path": "22"
    },
    "1076": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1629,
        1682
      ],
      "op": "PUSH1",
      "path": "22",
      "value": "0x0"
    },
    "1078": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1629,
        1682
      ],
      "op": "DUP8",
      "path": "22"
    },
    "1079": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1629,
        1682
      ],
      "op": "DUP1",
      "path": "22"
    },
    "1080": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1629,
        1682
      ],
      "op": "EXTCODESIZE",
      "path": "22"
    },
    "1081": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1629,
        1682
      ],
      "op": "ISZERO",
      "path": "22"
    },
    "1082": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1629,
        1682
      ],
      "op": "DUP1",
      "path": "22"
    },
    "1083": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1629,
        1682
      ],
      "op": "ISZERO",
      "path": "22"
    },
    "1084": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1629,
        1682
      ],
      "op": "PUSH2",
      "path": "22",
      "value": "0x444"
    },
    "1087": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1629,
        1682
      ],
      "op": "JUMPI",
      "path": "22"
    },
    "1088": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1629,
        1682
      ],
      "op": "PUSH1",
      "path": "22",
      "value": "0x0"
    },
    "1090": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1629,
        1682
      ],
      "op": "DUP1",
      "path": "22"
    },
    "1091": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1629,
        1682
      ],
      "op": "REVERT",
      "path": "22"
    },
    "1092": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1629,
        1682
      ],
      "op": "JUMPDEST",
      "path": "22"
    },
    "1093": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1629,
        1682
      ],
      "op": "POP",
      "path": "22"
    },
    "1094": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1629,
        1682
      ],
      "op": "GAS",
      "path": "22"
    },
    "1095": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1629,
        1682
      ],
      "op": "CALL",
      "path": "22"
    },
    "1096": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1629,
        1682
      ],
      "op": "ISZERO",
      "path": "22"
    },
    "1097": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1629,
        1682
      ],
      "op": "DUP1",
      "path": "22"
    },
    "1098": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1629,
        1682
      ],
      "op": "ISZERO",
      "path": "22"
    },
    "1099": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1629,
        1682
      ],
      "op": "PUSH2",
      "path": "22",
      "value": "0x458"
    },
    "1102": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1629,
        1682
      ],
      "op": "JUMPI",
      "path": "22"
    },
    "1103": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1629,
        1682
      ],
      "op": "RETURNDATASIZE",
      "path": "22"
    },
    "1104": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1629,
        1682
      ],
      "op": "PUSH1",
      "path": "22",
      "value": "0x0"
    },
    "1106": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1629,
        1682
      ],
      "op": "DUP1",
      "path": "22"
    },
    "1107": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1629,
        1682
      ],
      "op": "RETURNDATACOPY",
      "path": "22"
    },
    "1108": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1629,
        1682
      ],
      "op": "RETURNDATASIZE",
      "path": "22"
    },
    "1109": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1629,
        1682
      ],
      "op": "PUSH1",
      "path": "22",
      "value": "0x0"
    },
    "1111": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1629,
        1682
      ],
      "op": "REVERT",
      "path": "22"
    },
    "1112": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1629,
        1682
      ],
      "op": "JUMPDEST",
      "path": "22"
    },
    "1113": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1629,
        1682
      ],
      "op": "POP",
      "path": "22"
    },
    "1114": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1629,
        1682
      ],
      "op": "POP",
      "path": "22"
    },
    "1115": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1629,
        1682
      ],
      "op": "POP",
      "path": "22"
    },
    "1116": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1629,
        1682
      ],
      "op": "POP",
      "path": "22"
    },
    "1117": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1629,
        1682
      ],
      "op": "PUSH1",
      "path": "22",
      "value": "0x40"
    },
    "1119": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1629,
        1682
      ],
      "op": "MLOAD",
      "path": "22"
    },
    "1120": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1629,
        1682
      ],
      "op": "RETURNDATASIZE",
      "path": "22"
    },
    "1121": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1629,
        1682
      ],
      "op": "PUSH1",
      "path": "22",
      "value": "0x1F"
    },
    "1123": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1629,
        1682
      ],
      "op": "NOT",
      "path": "22"
    },
    "1124": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1629,
        1682
      ],
      "op": "PUSH1",
      "path": "22",
      "value": "0x1F"
    },
    "1126": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1629,
        1682
      ],
      "op": "DUP3",
      "path": "22"
    },
    "1127": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1629,
        1682
      ],
      "op": "ADD",
      "path": "22"
    },
    "1128": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1629,
        1682
      ],
      "op": "AND",
      "path": "22"
    },
    "1129": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1629,
        1682
      ],
      "op": "DUP3",
      "path": "22"
    },
    "1130": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1629,
        1682
      ],
      "op": "ADD",
      "path": "22"
    },
    "1131": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1629,
        1682
      ],
      "op": "DUP1",
      "path": "22"
    },
    "1132": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1629,
        1682
      ],
      "op": "PUSH1",
      "path": "22",
      "value": "0x40"
    },
    "1134": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1629,
        1682
      ],
      "op": "MSTORE",
      "path": "22"
    },
    "1135": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1629,
        1682
      ],
      "op": "POP",
      "path": "22"
    },
    "1136": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1629,
        1682
      ],
      "op": "DUP2",
      "path": "22"
    },
    "1137": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1629,
        1682
      ],
      "op": "ADD",
      "path": "22"
    },
    "1138": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1629,
        1682
      ],
      "op": "SWAP1",
      "path": "22"
    },
    "1139": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1629,
        1682
      ],
      "op": "PUSH2",
      "path": "22",
      "value": "0x47C"
    },
    "1142": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1629,
        1682
      ],
      "op": "SWAP2",
      "path": "22"
    },
    "1143": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1629,
        1682
      ],
      "op": "SWAP1",
      "path": "22"
    },
    "1144": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1629,
        1682
      ],
      "op": "PUSH2",
      "path": "22",
      "value": "0x532"
    },
    "1147": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "jump": "i",
      "offset": [
        1629,
        1682
      ],
      "op": "JUMP",
      "path": "22"
    },
    "1148": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1629,
        1682
      ],
      "op": "JUMPDEST",
      "path": "22"
    },
    "1149": {
      "op": "POP"
    },
    "1150": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1688,
        1699
      ],
      "op": "PUSH1",
      "path": "22",
      "statement": 10,
      "value": "0x0"
    },
    "1152": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1688,
        1699
      ],
      "op": "SLOAD",
      "path": "22"
    },
    "1153": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1688,
        1730
      ],
      "op": "PUSH1",
      "path": "22",
      "value": "0x40"
    },
    "1155": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1688,
        1730
      ],
      "op": "MLOAD",
      "path": "22"
    },
    "1156": {
      "op": "PUSH4",
      "value": "0x11F9FBC9"
    },
    "1161": {
      "op": "PUSH1",
      "value": "0xE2"
    },
    "1163": {
      "op": "SHL"
    },
    "1164": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1688,
        1730
      ],
      "op": "DUP2",
      "path": "22"
    },
    "1165": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1688,
        1730
      ],
      "op": "MSTORE",
      "path": "22"
    },
    "1166": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "1168": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "1170": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "1172": {
      "op": "SHL"
    },
    "1173": {
      "op": "SUB"
    },
    "1174": {
      "op": "DUP6"
    },
    "1175": {
      "op": "DUP2"
    },
    "1176": {
      "op": "AND"
    },
    "1177": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1688,
        1730
      ],
      "op": "PUSH1",
      "path": "22",
      "value": "0x4"
    },
    "1179": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1688,
        1730
      ],
      "op": "DUP4",
      "path": "22"
    },
    "1180": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1688,
        1730
      ],
      "op": "ADD",
      "path": "22"
    },
    "1181": {
      "op": "MSTORE"
    },
    "1182": {
      "op": "PUSH1",
      "value": "0x24"
    },
    "1184": {
      "op": "DUP3"
    },
    "1185": {
      "op": "ADD"
    },
    "1186": {
      "op": "DUP6"
    },
    "1187": {
      "op": "SWAP1"
    },
    "1188": {
      "op": "MSTORE"
    },
    "1189": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1688,
        1699
      ],
      "op": "SWAP1",
      "path": "22"
    },
    "1190": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1688,
        1699
      ],
      "op": "SWAP2",
      "path": "22"
    },
    "1191": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1688,
        1699
      ],
      "op": "AND",
      "path": "22"
    },
    "1192": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1688,
        1699
      ],
      "op": "SWAP1",
      "path": "22"
    },
    "1193": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1688,
        1707
      ],
      "op": "PUSH4",
      "path": "22",
      "value": "0x47E7EF24"
    },
    "1198": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1688,
        1707
      ],
      "op": "SWAP1",
      "path": "22"
    },
    "1199": {
      "op": "PUSH1",
      "value": "0x44"
    },
    "1201": {
      "op": "ADD"
    },
    "1202": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1688,
        1730
      ],
      "op": "PUSH1",
      "path": "22",
      "value": "0x0"
    },
    "1204": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1688,
        1730
      ],
      "op": "PUSH1",
      "path": "22",
      "value": "0x40"
    },
    "1206": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1688,
        1730
      ],
      "op": "MLOAD",
      "path": "22"
    },
    "1207": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1688,
        1730
      ],
      "op": "DUP1",
      "path": "22"
    },
    "1208": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1688,
        1730
      ],
      "op": "DUP4",
      "path": "22"
    },
    "1209": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1688,
        1730
      ],
      "op": "SUB",
      "path": "22"
    },
    "1210": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1688,
        1730
      ],
      "op": "DUP2",
      "path": "22"
    },
    "1211": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1688,
        1730
      ],
      "op": "PUSH1",
      "path": "22",
      "value": "0x0"
    },
    "1213": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1688,
        1730
      ],
      "op": "DUP8",
      "path": "22"
    },
    "1214": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1688,
        1730
      ],
      "op": "DUP1",
      "path": "22"
    },
    "1215": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1688,
        1730
      ],
      "op": "EXTCODESIZE",
      "path": "22"
    },
    "1216": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1688,
        1730
      ],
      "op": "ISZERO",
      "path": "22"
    },
    "1217": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1688,
        1730
      ],
      "op": "DUP1",
      "path": "22"
    },
    "1218": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1688,
        1730
      ],
      "op": "ISZERO",
      "path": "22"
    },
    "1219": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1688,
        1730
      ],
      "op": "PUSH2",
      "path": "22",
      "value": "0x4CB"
    },
    "1222": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1688,
        1730
      ],
      "op": "JUMPI",
      "path": "22"
    },
    "1223": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1688,
        1730
      ],
      "op": "PUSH1",
      "path": "22",
      "value": "0x0"
    },
    "1225": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1688,
        1730
      ],
      "op": "DUP1",
      "path": "22"
    },
    "1226": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1688,
        1730
      ],
      "op": "REVERT",
      "path": "22"
    },
    "1227": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1688,
        1730
      ],
      "op": "JUMPDEST",
      "path": "22"
    },
    "1228": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1688,
        1730
      ],
      "op": "POP",
      "path": "22"
    },
    "1229": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1688,
        1730
      ],
      "op": "GAS",
      "path": "22"
    },
    "1230": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1688,
        1730
      ],
      "op": "CALL",
      "path": "22"
    },
    "1231": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1688,
        1730
      ],
      "op": "ISZERO",
      "path": "22"
    },
    "1232": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1688,
        1730
      ],
      "op": "DUP1",
      "path": "22"
    },
    "1233": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1688,
        1730
      ],
      "op": "ISZERO",
      "path": "22"
    },
    "1234": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1688,
        1730
      ],
      "op": "PUSH2",
      "path": "22",
      "value": "0x4DF"
    },
    "1237": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1688,
        1730
      ],
      "op": "JUMPI",
      "path": "22"
    },
    "1238": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1688,
        1730
      ],
      "op": "RETURNDATASIZE",
      "path": "22"
    },
    "1239": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1688,
        1730
      ],
      "op": "PUSH1",
      "path": "22",
      "value": "0x0"
    },
    "1241": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1688,
        1730
      ],
      "op": "DUP1",
      "path": "22"
    },
    "1242": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1688,
        1730
      ],
      "op": "RETURNDATACOPY",
      "path": "22"
    },
    "1243": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1688,
        1730
      ],
      "op": "RETURNDATASIZE",
      "path": "22"
    },
    "1244": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1688,
        1730
      ],
      "op": "PUSH1",
      "path": "22",
      "value": "0x0"
    },
    "1246": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1688,
        1730
      ],
      "op": "REVERT",
      "path": "22"
    },
    "1247": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1688,
        1730
      ],
      "op": "JUMPDEST",
      "path": "22"
    },
    "1248": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1688,
        1730
      ],
      "op": "POP",
      "path": "22"
    },
    "1249": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1688,
        1730
      ],
      "op": "POP",
      "path": "22"
    },
    "1250": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1688,
        1730
      ],
      "op": "POP",
      "path": "22"
    },
    "1251": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1688,
        1730
      ],
      "op": "POP",
      "path": "22"
    },
    "1252": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1753,
        1766
      ],
      "op": "DUP2",
      "path": "22",
      "statement": 11
    },
    "1253": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1736,
        1749
      ],
      "op": "PUSH1",
      "path": "22",
      "value": "0x2"
    },
    "1255": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1736,
        1749
      ],
      "op": "PUSH1",
      "path": "22",
      "value": "0x0"
    },
    "1257": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1736,
        1766
      ],
      "op": "DUP3",
      "path": "22"
    },
    "1258": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1736,
        1766
      ],
      "op": "DUP3",
      "path": "22"
    },
    "1259": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1736,
        1766
      ],
      "op": "SLOAD",
      "path": "22"
    },
    "1260": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1736,
        1766
      ],
      "op": "PUSH2",
      "path": "22",
      "value": "0x4F5"
    },
    "1263": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1736,
        1766
      ],
      "op": "SWAP2",
      "path": "22"
    },
    "1264": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1736,
        1766
      ],
      "op": "SWAP1",
      "path": "22"
    },
    "1265": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1736,
        1766
      ],
      "op": "PUSH2",
      "path": "22",
      "value": "0x5D6"
    },
    "1268": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "jump": "i",
      "offset": [
        1736,
        1766
      ],
      "op": "JUMP",
      "path": "22"
    },
    "1269": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1736,
        1766
      ],
      "op": "JUMPDEST",
      "path": "22"
    },
    "1270": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1736,
        1766
      ],
      "op": "SWAP1",
      "path": "22"
    },
    "1271": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1736,
        1766
      ],
      "op": "SWAP2",
      "path": "22"
    },
    "1272": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1736,
        1766
      ],
      "op": "SSTORE",
      "path": "22"
    },
    "1273": {
      "op": "POP"
    },
    "1274": {
      "op": "POP"
    },
    "1275": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1777,
        1810
      ],
      "op": "PUSH1",
      "path": "22",
      "statement": 12,
      "value": "0x40"
    },
    "1277": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1777,
        1810
      ],
      "op": "MLOAD",
      "path": "22"
    },
    "1278": {
      "op": "DUP3"
    },
    "1279": {
      "op": "DUP2"
    },
    "1280": {
      "op": "MSTORE"
    },
    "1281": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1777,
        1810
      ],
      "op": "PUSH32",
      "path": "22",
      "value": "0x28A7A02B94FE63DFC578A7E4F11E0AB08CB4B17E7C89018726C0D0DEB1DC4676"
    },
    "1314": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1777,
        1810
      ],
      "op": "SWAP1",
      "path": "22"
    },
    "1315": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "1317": {
      "op": "ADD"
    },
    "1318": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1777,
        1810
      ],
      "op": "PUSH1",
      "path": "22",
      "value": "0x40"
    },
    "1320": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1777,
        1810
      ],
      "op": "MLOAD",
      "path": "22"
    },
    "1321": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1777,
        1810
      ],
      "op": "DUP1",
      "path": "22"
    },
    "1322": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1777,
        1810
      ],
      "op": "SWAP2",
      "path": "22"
    },
    "1323": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1777,
        1810
      ],
      "op": "SUB",
      "path": "22"
    },
    "1324": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1777,
        1810
      ],
      "op": "SWAP1",
      "path": "22"
    },
    "1325": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1777,
        1810
      ],
      "op": "LOG1",
      "path": "22"
    },
    "1326": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1503,
        1815
      ],
      "op": "POP",
      "path": "22"
    },
    "1327": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1430,
        1815
      ],
      "op": "POP",
      "path": "22"
    },
    "1328": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "offset": [
        1430,
        1815
      ],
      "op": "POP",
      "path": "22"
    },
    "1329": {
      "fn": "LPInsolvencyHook._mintAndDeposit",
      "jump": "o",
      "offset": [
        1430,
        1815
      ],
      "op": "JUMP",
      "path": "22"
    },
    "1330": {
      "op": "JUMPDEST"
    },
    "1331": {
      "op": "PUSH1",
      "value": "0x0"
    },
    "1333": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "1335": {
      "op": "DUP3"
    },
    "1336": {
      "op": "DUP5"
    },
    "1337": {
      "op": "SUB"
    },
    "1338": {
      "op": "SLT"
    },
    "1339": {
      "op": "ISZERO"
    },
    "1340": {
      "op": "PUSH2",
      "value": "0x544"
    },
    "1343": {
      "op": "JUMPI"
    },
    "1344": {
      "op": "PUSH1",
      "value": "0x0"
    },
    "1346": {
      "op": "DUP1"
    },
    "1347": {
      "op": "REVERT"
    },
    "1348": {
      "op": "JUMPDEST"
    },
    "1349": {
      "op": "DUP2"
    },
    "1350": {
      "op": "MLOAD"
    },
    "1351": {
      "op": "DUP1"
    },
    "1352": {
      "op": "ISZERO"
    },
    "1353": {
      "op": "ISZERO"
    },
    "1354": {
      "op": "DUP2"
    },
    "1355": {
      "op": "EQ"
    },
    "1356": {
      "op": "PUSH2",
      "value": "0x554"
    },
    "1359": {
      "op": "JUMPI"
    },
    "1360": {
      "op": "PUSH1",
      "value": "0x0"
    },
    "1362": {
      "op": "DUP1"
    },
    "1363": {
      "op": "REVERT"
    },
    "1364": {
      "op": "JUMPDEST"
    },
    "1365": {
      "op": "SWAP4"
    },
    "1366": {
      "op": "SWAP3"
    },
    "1367": {
      "op": "POP"
    },
    "1368": {
      "op": "POP"
    },
    "1369": {
      "op": "POP"
    },
    "1370": {
      "jump": "o",
      "op": "JUMP"
    },
    "1371": {
      "op": "JUMPDEST"
    },
    "1372": {
      "op": "PUSH1",
      "value": "0x0"
    },
    "1374": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "1376": {
      "op": "DUP3"
    },
    "1377": {
      "op": "DUP5"
    },
    "1378": {
      "op": "SUB"
    },
    "1379": {
      "op": "SLT"
    },
    "1380": {
      "op": "ISZERO"
    },
    "1381": {
      "op": "PUSH2",
      "value": "0x56D"
    },
    "1384": {
      "op": "JUMPI"
    },
    "1385": {
      "op": "PUSH1",
      "value": "0x0"
    },
    "1387": {
      "op": "DUP1"
    },
    "1388": {
      "op": "REVERT"
    },
    "1389": {
      "op": "JUMPDEST"
    },
    "1390": {
      "op": "DUP2"
    },
    "1391": {
      "op": "MLOAD"
    },
    "1392": {
      "op": "PUSH2",
      "value": "0x554"
    },
    "1395": {
      "op": "DUP2"
    },
    "1396": {
      "op": "PUSH2",
      "value": "0x65C"
    },
    "1399": {
      "jump": "i",
      "op": "JUMP"
    },
    "1400": {
      "op": "JUMPDEST"
    },
    "1401": {
      "op": "PUSH1",
      "value": "0x0"
    },
    "1403": {
      "op": "DUP1"
    },
    "1404": {
      "op": "PUSH1",
      "value": "0x40"
    },
    "1406": {
      "op": "DUP4"
    },
    "1407": {
      "op": "DUP6"
    },
    "1408": {
      "op": "SUB"
    },
    "1409": {
      "op": "SLT"
    },
    "1410": {
      "op": "ISZERO"
    },
    "1411": {
      "op": "PUSH2",
      "value": "0x58B"
    },
    "1414": {
      "op": "JUMPI"
    },
    "1415": {
      "op": "PUSH1",
      "value": "0x0"
    },
    "1417": {
      "op": "DUP1"
    },
    "1418": {
      "op": "REVERT"
    },
    "1419": {
      "op": "JUMPDEST"
    },
    "1420": {
      "op": "DUP3"
    },
    "1421": {
      "op": "CALLDATALOAD"
    },
    "1422": {
      "op": "PUSH2",
      "value": "0x596"
    },
    "1425": {
      "op": "DUP2"
    },
    "1426": {
      "op": "PUSH2",
      "value": "0x65C"
    },
    "1429": {
      "jump": "i",
      "op": "JUMP"
    },
    "1430": {
      "op": "JUMPDEST"
    },
    "1431": {
      "op": "SWAP5"
    },
    "1432": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "1434": {
      "op": "SWAP4"
    },
    "1435": {
      "op": "SWAP1"
    },
    "1436": {
      "op": "SWAP4"
    },
    "1437": {
      "op": "ADD"
    },
    "1438": {
      "op": "CALLDATALOAD"
    },
    "1439": {
      "op": "SWAP4"
    },
    "1440": {
      "op": "POP"
    },
    "1441": {
      "op": "POP"
    },
    "1442": {
      "op": "POP"
    },
    "1443": {
      "jump": "o",
      "op": "JUMP"
    },
    "1444": {
      "op": "JUMPDEST"
    },
    "1445": {
      "op": "PUSH1",
      "value": "0x0"
    },
    "1447": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "1449": {
      "op": "DUP3"
    },
    "1450": {
      "op": "DUP5"
    },
    "1451": {
      "op": "SUB"
    },
    "1452": {
      "op": "SLT"
    },
    "1453": {
      "op": "ISZERO"
    },
    "1454": {
      "op": "PUSH2",
      "value": "0x5B6"
    },
    "1457": {
      "op": "JUMPI"
    },
    "1458": {
      "op": "PUSH1",
      "value": "0x0"
    },
    "1460": {
      "op": "DUP1"
    },
    "1461": {
      "op": "REVERT"
    },
    "1462": {
      "op": "JUMPDEST"
    },
    "1463": {
      "op": "POP"
    },
    "1464": {
      "op": "CALLDATALOAD"
    },
    "1465": {
      "op": "SWAP2"
    },
    "1466": {
      "op": "SWAP1"
    },
    "1467": {
      "op": "POP"
    },
    "1468": {
      "jump": "o",
      "op": "JUMP"
    },
    "1469": {
      "op": "JUMPDEST"
    },
    "1470": {
      "op": "PUSH1",
      "value": "0x0"
    },
    "1472": {
      "op": "PUSH1",
      "value": "0x20"
    },
    "1474": {
      "op": "DUP3"
    },
    "1475": {
      "op": "DUP5"
    },
    "1476": {
      "op": "SUB"
    },
    "1477": {
      "op": "SLT"
    },
    "1478": {
      "op": "ISZERO"
    },
    "1479": {
      "op": "PUSH2",
      "value": "0x5CF"
    },
    "1482": {
      "op": "JUMPI"
    },
    "1483": {
      "op": "PUSH1",
      "value": "0x0"
    },
    "1485": {
      "op": "DUP1"
    },
    "1486": {
      "op": "REVERT"
    },
    "1487": {
      "op": "JUMPDEST"
    },
    "1488": {
      "op": "POP"
    },
    "1489": {
      "op": "MLOAD"
    },
    "1490": {
      "op": "SWAP2"
    },
    "1491": {
      "op": "SWAP1"
    },
    "1492": {
      "op": "POP"
    },
    "1493": {
      "jump": "o",
      "op": "JUMP"
    },
    "1494": {
      "op": "JUMPDEST"
    },
    "1495": {
      "op": "PUSH1",
      "value": "0x0"
    },
    "1497": {
      "op": "DUP3"
    },
    "1498": {
      "op": "NOT"
    },
    "1499": {
      "op": "DUP3"
    },
    "1500": {
      "op": "GT"
    },
    "1501": {
      "op": "ISZERO"
    },
    "1502": {
      "op": "PUSH2",
      "value": "0x5E9"
    },
    "1505": {
      "op": "JUMPI"
    },
    "1506": {
      "op": "PUSH2",
      "value": "0x5E9"
    },
    "1509": {
      "op": "PUSH2",
      "value": "0x646"
    },
    "1512": {
      "jump": "i",
      "op": "JUMP"
    },
    "1513": {
      "op": "JUMPDEST"
    },
    "1514": {
      "op": "POP"
    },
    "1515": {
      "op": "ADD"
    },
    "1516": {
      "op": "SWAP1"
    },
    "1517": {
      "jump": "o",
      "op": "JUMP"
    },
    "1518": {
      "op": "JUMPDEST"
    },
    "1519": {
      "op": "PUSH1",
      "value": "0x0"
    },
    "1521": {
      "op": "DUP3"
    },
    "1522": {
      "op": "PUSH2",
      "value": "0x60B"
    },
    "1525": {
      "op": "JUMPI"
    },
    "1526": {
      "op": "PUSH4",
      "value": "0x4E487B71"
    },
    "1531": {
      "op": "PUSH1",
      "value": "0xE0"
    },
    "1533": {
      "op": "SHL"
    },
    "1534": {
      "op": "PUSH1",
      "value": "0x0"
    },
    "1536": {
      "op": "MSTORE"
    },
    "1537": {
      "op": "PUSH1",
      "value": "0x12"
    },
    "1539": {
      "op": "PUSH1",
      "value": "0x4"
    },
    "1541": {
      "op": "MSTORE"
    },
    "1542": {
      "op": "PUSH1",
      "value": "0x24"
    },
    "1544": {
      "op": "PUSH1",
      "value": "0x0"
    },
    "1546": {
      "op": "REVERT"
    },
    "1547": {
      "op": "JUMPDEST"
    },
    "1548": {
      "op": "POP"
    },
    "1549": {
      "op": "DIV"
    },
    "1550": {
      "op": "SWAP1"
    },
    "1551": {
      "jump": "o",
      "op": "JUMP"
    },
    "1552": {
      "op": "JUMPDEST"
    },
    "1553": {
      "op": "PUSH1",
      "value": "0x0"
    },
    "1555": {
      "op": "DUP2"
    },
    "1556": {
      "op": "PUSH1",
      "value": "0x0"
    },
    "1558": {
      "op": "NOT"
    },
    "1559": {
      "op": "DIV"
    },
    "1560": {
      "op": "DUP4"
    },
    "1561": {
      "op": "GT"
    },
    "1562": {
      "op": "DUP3"
    },
    "1563": {
      "op": "ISZERO"
    },
    "1564": {
      "op": "ISZERO"
    },
    "1565": {
      "op": "AND"
    },
    "1566": {
      "op": "ISZERO"
    },
    "1567": {
      "op": "PUSH2",
      "value": "0x62A"
    },
    "1570": {
      "op": "JUMPI"
    },
    "1571": {
      "op": "PUSH2",
      "value": "0x62A"
    },
    "1574": {
      "op": "PUSH2",
      "value": "0x646"
    },
    "1577": {
      "jump": "i",
      "op": "JUMP"
    },
    "1578": {
      "op": "JUMPDEST"
    },
    "1579": {
      "op": "POP"
    },
    "1580": {
      "op": "MUL"
    },
    "1581": {
      "op": "SWAP1"
    },
    "1582": {
      "jump": "o",
      "op": "JUMP"
    },
    "1583": {
      "op": "JUMPDEST"
    },
    "1584": {
      "op": "PUSH1",
      "value": "0x0"
    },
    "1586": {
      "op": "DUP3"
    },
    "1587": {
      "op": "DUP3"
    },
    "1588": {
      "op": "LT"
    },
    "1589": {
      "op": "ISZERO"
    },
    "1590": {
      "op": "PUSH2",
      "value": "0x641"
    },
    "1593": {
      "op": "JUMPI"
    },
    "1594": {
      "op": "PUSH2",
      "value": "0x641"
    },
    "1597": {
      "op": "PUSH2",
      "value": "0x646"
    },
    "1600": {
      "jump": "i",
      "op": "JUMP"
    },
    "1601": {
      "op": "JUMPDEST"
    },
    "1602": {
      "op": "POP"
    },
    "1603": {
      "op": "SUB"
    },
    "1604": {
      "op": "SWAP1"
    },
    "1605": {
      "jump": "o",
      "op": "JUMP"
    },
    "1606": {
      "op": "JUMPDEST"
    },
    "1607": {
      "op": "PUSH4",
      "value": "0x4E487B71"
    },
    "1612": {
      "op": "PUSH1",
      "value": "0xE0"
    },
    "1614": {
      "op": "SHL"
    },
    "1615": {
      "op": "PUSH1",
      "value": "0x0"
    },
    "1617": {
      "op": "MSTORE"
    },
    "1618": {
      "op": "PUSH1",
      "value": "0x11"
    },
    "1620": {
      "op": "PUSH1",
      "value": "0x4"
    },
    "1622": {
      "op": "MSTORE"
    },
    "1623": {
      "op": "PUSH1",
      "value": "0x24"
    },
    "1625": {
      "op": "PUSH1",
      "value": "0x0"
    },
    "1627": {
      "op": "REVERT"
    },
    "1628": {
      "op": "JUMPDEST"
    },
    "1629": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "1631": {
      "op": "PUSH1",
      "value": "0x1"
    },
    "1633": {
      "op": "PUSH1",
      "value": "0xA0"
    },
    "1635": {
      "op": "SHL"
    },
    "1636": {
      "op": "SUB"
    },
    "1637": {
      "op": "DUP2"
    },
    "1638": {
      "op": "AND"
    },
    "1639": {
      "op": "DUP2"
    },
    "1640": {
      "op": "EQ"
    },
    "1641": {
      "op": "PUSH2",
      "value": "0x22F"
    },
    "1644": {
      "op": "JUMPI"
    },
    "1645": {
      "op": "PUSH1",
      "value": "0x0"
    },
    "1647": {
      "op": "DUP1"
    },
    "1648": {
      "op": "REVERT"
    }
  },
  "sha1": "6054da2f05b3e9341fc46789092bd4c085e6799e",
  "source": "// SPDX-License-Identifier: Apache-2.0\npragma solidity ^0.8.0;\n\nimport {IERC20} from \"@openzeppelin/contracts/token/ERC20/IERC20.sol\";\nimport {SafeERC20} from \"@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol\";\nimport {IPolicyPool} from \"../../interfaces/IPolicyPool.sol\";\nimport {IEToken} from \"../../interfaces/IEToken.sol\";\nimport {IPolicyPoolComponent} from \"../../interfaces/IPolicyPoolComponent.sol\";\nimport {IInsolvencyHook} from \"../../interfaces/IInsolvencyHook.sol\";\nimport {WadRayMath} from \"../WadRayMath.sol\";\nimport {IMintableERC20} from \"./IMintableERC20.sol\";\n\ncontract LPInsolvencyHook is IInsolvencyHook, IPolicyPoolComponent {\n  using SafeERC20 for IERC20;\n  using WadRayMath for uint256;\n\n  IPolicyPool internal _policyPool;\n  IEToken internal _eToken;\n  uint256 public cashDeposited;\n  bool internal _coverEToken;\n\n  modifier onlyPolicyPool() {\n    require(msg.sender == address(_policyPool), \"The caller must be the PolicyPool\");\n    _;\n  }\n\n  event OutOfCashDeposited(uint256 amount);\n\n  constructor(\n    IPolicyPool policyPool_,\n    IEToken eToken_,\n    bool coverEToken_\n  ) {\n    _policyPool = policyPool_;\n    _eToken = eToken_;\n    _coverEToken = coverEToken_;\n  }\n\n  function policyPool() public view override returns (IPolicyPool) {\n    return _policyPool;\n  }\n\n  function outOfCash(uint256 paymentAmount) external override onlyPolicyPool {\n    _mintAndDeposit(_eToken, paymentAmount);\n  }\n\n  function _mintAndDeposit(IEToken eToken, uint256 paymentAmount) internal {\n    IERC20 currency = _policyPool.currency();\n    IMintableERC20(address(currency)).mint(address(this), paymentAmount);\n    currency.approve(address(_policyPool), paymentAmount);\n    _policyPool.deposit(eToken, paymentAmount);\n    cashDeposited += paymentAmount;\n    emit OutOfCashDeposited(paymentAmount);\n  }\n\n  function insolventEToken(IEToken eToken, uint256 paymentAmount) external override {\n    require(address(eToken) == msg.sender, \"Must be called from the eToken\");\n    // Should validate eToken is active - But not so needed anyway since if not active deposit will revert\n    if (_coverEToken) {\n      paymentAmount += eToken.scr().wadMul(1e17); // +10% of SCR\n      _mintAndDeposit(eToken, paymentAmount);\n    }\n  }\n}\n",
  "sourceMap": "584:1650:22:-:0;;;1018:181;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1113:11;:25;;-1:-1:-1;;;;;;1113:25:22;;;-1:-1:-1;;;;;1113:25:22;;;;;;;-1:-1:-1;1144:17:22;;;;;;;;;;;;;;;;1167:12;:27;;-1:-1:-1;;1167:27:22;;;;;;;;;;584:1650;;14:603:114;137:6;145;153;206:2;194:9;185:7;181:23;177:32;174:2;;;222:1;219;212:12;174:2;254:9;248:16;273:40;307:5;273:40;:::i;:::-;382:2;367:18;;361:25;332:5;;-1:-1:-1;395:42:114;361:25;395:42;:::i;:::-;508:2;493:18;;487:25;456:7;;-1:-1:-1;550:15:114;;543:23;531:36;;521:2;;581:1;578;571:12;521:2;604:7;594:17;;;164:453;;;;;:::o;622:140::-;-1:-1:-1;;;;;706:31:114;;696:42;;686:2;;752:1;749;742:12;686:2;676:86;:::o;:::-;584:1650:22;;;;;;",
  "sourcePath": "contracts/mocks/LPInsolvencyHook.sol",
  "type": "contract"
}