[
  {
    "address": "0x1",
    "module": {
      "datatypes": [],
      "functions": [
        {
          "typeParameters": [],
          "parameters": [],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "name": "length",
          "visibility": 2,
          "isEntry": false
        }
      ],
      "name": "address"
    }
  },
  {
    "address": "0x1",
    "module": {
      "datatypes": [
        {
          "abilities": [
            1,
            2,
            3
          ],
          "typeParameters": [],
          "fields": [
            {
              "name": "byte",
              "position": 0,
              "type": {
                "typeParameterInstantiation": [],
                "type": 3
              }
            }
          ],
          "variants": [],
          "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::ascii::Char",
          "definingId": "0x0000000000000000000000000000000000000000000000000000000000000001",
          "module": "ascii",
          "name": "Char",
          "kind": 1
        },
        {
          "abilities": [
            1,
            2,
            3
          ],
          "typeParameters": [],
          "fields": [
            {
              "name": "bytes",
              "position": 0,
              "type": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            }
          ],
          "variants": [],
          "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::ascii::String",
          "definingId": "0x0000000000000000000000000000000000000000000000000000000000000001",
          "module": "ascii",
          "name": "String",
          "kind": 1
        }
      ],
      "functions": [
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::ascii::String"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 2
              }
            }
          ],
          "name": "all_characters_printable",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::ascii::String"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::ascii::String"
              }
            }
          ],
          "returns": [],
          "name": "append",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::ascii::String"
              }
            }
          ],
          "returns": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            }
          ],
          "name": "as_bytes",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::ascii::Char"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 3
              }
            }
          ],
          "name": "byte",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 3
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::ascii::Char"
              }
            }
          ],
          "name": "char",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 3
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 3
              }
            }
          ],
          "name": "char_to_lowercase",
          "visibility": 1,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 3
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 3
              }
            }
          ],
          "name": "char_to_uppercase",
          "visibility": 1,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::ascii::String"
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::ascii::String"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "name": "index_of",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::ascii::String"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::ascii::String"
              }
            }
          ],
          "returns": [],
          "name": "insert",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::ascii::String"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            }
          ],
          "name": "into_bytes",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::ascii::String"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 2
              }
            }
          ],
          "name": "is_empty",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 3
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 2
              }
            }
          ],
          "name": "is_printable_char",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 3
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 2
              }
            }
          ],
          "name": "is_valid_char",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::ascii::String"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "name": "length",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::ascii::String"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::ascii::Char"
              }
            }
          ],
          "name": "pop_char",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::ascii::String"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::ascii::Char"
              }
            }
          ],
          "returns": [],
          "name": "push_char",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::ascii::String"
              }
            }
          ],
          "name": "string",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::ascii::String"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::ascii::String"
              }
            }
          ],
          "name": "substring",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::ascii::String"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::ascii::String"
              }
            }
          ],
          "name": "to_lowercase",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::ascii::String"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::ascii::String"
              }
            }
          ],
          "name": "to_uppercase",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::ascii::String"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::option::Option"
              }
            }
          ],
          "name": "try_string",
          "visibility": 2,
          "isEntry": false
        }
      ],
      "name": "ascii"
    }
  },
  {
    "address": "0x1",
    "module": {
      "datatypes": [],
      "functions": [
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 0
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            }
          ],
          "name": "to_bytes",
          "visibility": 2,
          "isEntry": false
        }
      ],
      "name": "bcs"
    }
  },
  {
    "address": "0x1",
    "module": {
      "datatypes": [
        {
          "abilities": [
            1,
            2,
            3
          ],
          "typeParameters": [],
          "fields": [
            {
              "name": "length",
              "position": 0,
              "type": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "name": "bit_field",
              "position": 1,
              "type": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 2
                  }
                ],
                "type": 9
              }
            }
          ],
          "variants": [],
          "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::bit_vector::BitVector",
          "definingId": "0x0000000000000000000000000000000000000000000000000000000000000001",
          "module": "bit_vector",
          "name": "BitVector",
          "kind": 1
        }
      ],
      "functions": [
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::bit_vector::BitVector"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 2
              }
            }
          ],
          "name": "is_index_set",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::bit_vector::BitVector"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "name": "length",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::bit_vector::BitVector"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "name": "longest_set_sequence_starting_at",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::bit_vector::BitVector"
              }
            }
          ],
          "name": "new",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::bit_vector::BitVector"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "returns": [],
          "name": "set",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::bit_vector::BitVector"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "returns": [],
          "name": "shift_left",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::bit_vector::BitVector"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "returns": [],
          "name": "unset",
          "visibility": 2,
          "isEntry": false
        }
      ],
      "name": "bit_vector"
    }
  },
  {
    "address": "0x1",
    "module": {
      "datatypes": [],
      "functions": [],
      "name": "bool"
    }
  },
  {
    "address": "0x1",
    "module": {
      "datatypes": [],
      "functions": [
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 0
              }
            }
          ],
          "returns": [],
          "name": "print",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [],
          "returns": [],
          "name": "print_stack_trace",
          "visibility": 2,
          "isEntry": false
        }
      ],
      "name": "debug"
    }
  },
  {
    "address": "0x1",
    "module": {
      "datatypes": [
        {
          "abilities": [
            1,
            2,
            3
          ],
          "typeParameters": [],
          "fields": [
            {
              "name": "value",
              "position": 0,
              "type": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "variants": [],
          "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::fixed_point32::FixedPoint32",
          "definingId": "0x0000000000000000000000000000000000000000000000000000000000000001",
          "module": "fixed_point32",
          "name": "FixedPoint32",
          "kind": 1
        }
      ],
      "functions": [
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::fixed_point32::FixedPoint32"
              }
            }
          ],
          "name": "create_from_rational",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::fixed_point32::FixedPoint32"
              }
            }
          ],
          "name": "create_from_raw_value",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::fixed_point32::FixedPoint32"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "name": "divide_u64",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::fixed_point32::FixedPoint32"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "name": "get_raw_value",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::fixed_point32::FixedPoint32"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 2
              }
            }
          ],
          "name": "is_zero",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::fixed_point32::FixedPoint32"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "name": "multiply_u64",
          "visibility": 2,
          "isEntry": false
        }
      ],
      "name": "fixed_point32"
    }
  },
  {
    "address": "0x1",
    "module": {
      "datatypes": [],
      "functions": [
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            }
          ],
          "name": "sha2_256",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            }
          ],
          "name": "sha3_256",
          "visibility": 2,
          "isEntry": false
        }
      ],
      "name": "hash"
    }
  },
  {
    "address": "0x1",
    "module": {
      "datatypes": [
        {
          "abilities": [
            2
          ],
          "typeParameters": [
            {
              "constraints": [],
              "isPhantom": true
            }
          ],
          "fields": [
            {
              "name": "dummy_field",
              "position": 0,
              "type": {
                "typeParameterInstantiation": [],
                "type": 2
              }
            }
          ],
          "variants": [],
          "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::internal::Permit",
          "definingId": "0x0000000000000000000000000000000000000000000000000000000000000001",
          "module": "internal",
          "name": "Permit",
          "kind": 1
        }
      ],
      "functions": [
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::internal::Permit"
              }
            }
          ],
          "name": "permit",
          "visibility": 2,
          "isEntry": false
        }
      ],
      "name": "internal"
    }
  },
  {
    "address": "0x1",
    "module": {
      "datatypes": [],
      "functions": [],
      "name": "macros"
    }
  },
  {
    "address": "0x1",
    "module": {
      "datatypes": [
        {
          "abilities": [
            1,
            2,
            3
          ],
          "typeParameters": [
            {
              "constraints": [],
              "isPhantom": false
            }
          ],
          "fields": [
            {
              "name": "vec",
              "position": 0,
              "type": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 9
              }
            }
          ],
          "variants": [],
          "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::option::Option",
          "definingId": "0x0000000000000000000000000000000000000000000000000000000000000001",
          "module": "option",
          "name": "Option",
          "kind": 1
        }
      ],
      "functions": [
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::option::Option"
              }
            }
          ],
          "returns": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 0
              }
            }
          ],
          "name": "borrow",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::option::Option"
              }
            }
          ],
          "returns": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 0
              }
            }
          ],
          "name": "borrow_mut",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::option::Option"
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 0
              }
            }
          ],
          "returns": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 0
              }
            }
          ],
          "name": "borrow_with_default",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::option::Option"
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 0
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 2
              }
            }
          ],
          "name": "contains",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::option::Option"
              }
            }
          ],
          "returns": [],
          "name": "destroy_none",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::option::Option"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 0
              }
            }
          ],
          "name": "destroy_some",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": [
                2
              ]
            }
          ],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::option::Option"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 0
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 0
              }
            }
          ],
          "name": "destroy_with_default",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::option::Option"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 0
              }
            }
          ],
          "name": "extract",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::option::Option"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 0
              }
            }
          ],
          "returns": [],
          "name": "fill",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": [
                1,
                2
              ]
            }
          ],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::option::Option"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 0
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 0
              }
            }
          ],
          "name": "get_with_default",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::option::Option"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 2
              }
            }
          ],
          "name": "is_none",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::option::Option"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 2
              }
            }
          ],
          "name": "is_some",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::option::Option"
              }
            }
          ],
          "name": "none",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 0
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::option::Option"
              }
            }
          ],
          "name": "some",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::option::Option"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 0
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 0
              }
            }
          ],
          "name": "swap",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::option::Option"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 0
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::option::Option"
              }
            }
          ],
          "name": "swap_or_fill",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::option::Option"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 9
              }
            }
          ],
          "name": "to_vec",
          "visibility": 2,
          "isEntry": false
        }
      ],
      "name": "option"
    }
  },
  {
    "address": "0x1",
    "module": {
      "datatypes": [
        {
          "abilities": [
            1,
            2,
            3
          ],
          "typeParameters": [],
          "fields": [
            {
              "name": "bytes",
              "position": 0,
              "type": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            }
          ],
          "variants": [],
          "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::string::String",
          "definingId": "0x0000000000000000000000000000000000000000000000000000000000000001",
          "module": "string",
          "name": "String",
          "kind": 1
        }
      ],
      "functions": [
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::string::String"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::string::String"
              }
            }
          ],
          "returns": [],
          "name": "append",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::string::String"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            }
          ],
          "returns": [],
          "name": "append_utf8",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::string::String"
              }
            }
          ],
          "returns": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            }
          ],
          "name": "as_bytes",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::string::String"
              }
            }
          ],
          "returns": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            }
          ],
          "name": "bytes",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::ascii::String"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::string::String"
              }
            }
          ],
          "name": "from_ascii",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::string::String"
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::string::String"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "name": "index_of",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::string::String"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::string::String"
              }
            }
          ],
          "returns": [],
          "name": "insert",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 2
              }
            }
          ],
          "name": "internal_check_utf8",
          "visibility": 1,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "name": "internal_index_of",
          "visibility": 1,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 2
              }
            }
          ],
          "name": "internal_is_char_boundary",
          "visibility": 1,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            }
          ],
          "name": "internal_sub_string",
          "visibility": 1,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::string::String"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            }
          ],
          "name": "into_bytes",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::string::String"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 2
              }
            }
          ],
          "name": "is_empty",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::string::String"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "name": "length",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::string::String"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::string::String"
              }
            }
          ],
          "name": "sub_string",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::string::String"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::string::String"
              }
            }
          ],
          "name": "substring",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::string::String"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::ascii::String"
              }
            }
          ],
          "name": "to_ascii",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 10,
                    "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::string::String"
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::option::Option"
              }
            }
          ],
          "name": "try_utf8",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 9
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::string::String"
              }
            }
          ],
          "name": "utf8",
          "visibility": 2,
          "isEntry": false
        }
      ],
      "name": "string"
    }
  },
  {
    "address": "0x1",
    "module": {
      "datatypes": [
        {
          "abilities": [
            1,
            2,
            3
          ],
          "typeParameters": [],
          "fields": [
            {
              "name": "name",
              "position": 0,
              "type": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::ascii::String"
              }
            }
          ],
          "variants": [],
          "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::type_name::TypeName",
          "definingId": "0x0000000000000000000000000000000000000000000000000000000000000001",
          "module": "type_name",
          "name": "TypeName",
          "kind": 1
        }
      ],
      "functions": [
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::type_name::TypeName"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::ascii::String"
              }
            }
          ],
          "name": "address_string",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::type_name::TypeName"
              }
            }
          ],
          "returns": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::ascii::String"
              }
            }
          ],
          "name": "as_string",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::type_name::TypeName"
              }
            }
          ],
          "returns": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::ascii::String"
              }
            }
          ],
          "name": "borrow_string",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::type_name::TypeName"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::ascii::String"
              }
            }
          ],
          "name": "datatype_string",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 1
              }
            }
          ],
          "name": "defining_id",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::type_name::TypeName"
              }
            }
          ],
          "name": "get",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::type_name::TypeName"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::ascii::String"
              }
            }
          ],
          "name": "get_address",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::type_name::TypeName"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::ascii::String"
              }
            }
          ],
          "name": "get_module",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::type_name::TypeName"
              }
            }
          ],
          "name": "get_with_original_ids",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::type_name::TypeName"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::ascii::String"
              }
            }
          ],
          "name": "into_string",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::type_name::TypeName"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 2
              }
            }
          ],
          "name": "is_primitive",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::type_name::TypeName"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::ascii::String"
              }
            }
          ],
          "name": "module_string",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 1
              }
            }
          ],
          "name": "original_id",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::type_name::TypeName"
              }
            }
          ],
          "name": "with_defining_ids",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::type_name::TypeName"
              }
            }
          ],
          "name": "with_original_ids",
          "visibility": 2,
          "isEntry": false
        }
      ],
      "name": "type_name"
    }
  },
  {
    "address": "0x1",
    "module": {
      "datatypes": [],
      "functions": [
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 7
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 7
              }
            }
          ],
          "name": "bitwise_not",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 7
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 7
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 7
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::option::Option"
              }
            }
          ],
          "name": "checked_add",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 7
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 7
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 7
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::option::Option"
              }
            }
          ],
          "name": "checked_div",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 7
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 7
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 7
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::option::Option"
              }
            }
          ],
          "name": "checked_mul",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 7
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 3
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 7
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::option::Option"
              }
            }
          ],
          "name": "checked_shl",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 7
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 3
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 7
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::option::Option"
              }
            }
          ],
          "name": "checked_shr",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 7
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 7
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 7
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::option::Option"
              }
            }
          ],
          "name": "checked_sub",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 7
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 7
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 7
              }
            }
          ],
          "name": "diff",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 7
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 7
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 7
              }
            }
          ],
          "name": "div_ceil",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 7
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 7
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 7
              }
            }
          ],
          "name": "divide_and_round_up",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 7
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 7
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 7
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::option::Option"
              }
            }
          ],
          "name": "lossless_div",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 7
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 3
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 7
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::option::Option"
              }
            }
          ],
          "name": "lossless_shl",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 7
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 3
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 7
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::option::Option"
              }
            }
          ],
          "name": "lossless_shr",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 7
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 7
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 7
              }
            }
          ],
          "name": "max",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 7
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 7
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 7
              }
            }
          ],
          "name": "min",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 7
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 7
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 7
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 7
              }
            }
          ],
          "name": "mul_div",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 7
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 7
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 7
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 7
              }
            }
          ],
          "name": "mul_div_ceil",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 7
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 3
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 7
              }
            }
          ],
          "name": "pow",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 7
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 7
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 7
              }
            }
          ],
          "name": "saturating_add",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 7
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 7
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 7
              }
            }
          ],
          "name": "saturating_mul",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 7
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 7
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 7
              }
            }
          ],
          "name": "saturating_sub",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 7
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 7
              }
            }
          ],
          "name": "sqrt",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 7
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::string::String"
              }
            }
          ],
          "name": "to_string",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 7
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 4
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::option::Option"
              }
            }
          ],
          "name": "try_as_u16",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 7
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 5
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::option::Option"
              }
            }
          ],
          "name": "try_as_u32",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 7
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 6
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::option::Option"
              }
            }
          ],
          "name": "try_as_u64",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 7
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::option::Option"
              }
            }
          ],
          "name": "try_as_u8",
          "visibility": 2,
          "isEntry": false
        }
      ],
      "name": "u128"
    }
  },
  {
    "address": "0x1",
    "module": {
      "datatypes": [],
      "functions": [
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 4
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 4
              }
            }
          ],
          "name": "bitwise_not",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 4
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 4
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 4
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::option::Option"
              }
            }
          ],
          "name": "checked_add",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 4
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 4
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 4
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::option::Option"
              }
            }
          ],
          "name": "checked_div",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 4
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 4
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 4
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::option::Option"
              }
            }
          ],
          "name": "checked_mul",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 4
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 3
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 4
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::option::Option"
              }
            }
          ],
          "name": "checked_shl",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 4
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 3
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 4
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::option::Option"
              }
            }
          ],
          "name": "checked_shr",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 4
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 4
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 4
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::option::Option"
              }
            }
          ],
          "name": "checked_sub",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 4
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 4
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 4
              }
            }
          ],
          "name": "diff",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 4
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 4
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 4
              }
            }
          ],
          "name": "div_ceil",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 4
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 4
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 4
              }
            }
          ],
          "name": "divide_and_round_up",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 4
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 4
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 4
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::option::Option"
              }
            }
          ],
          "name": "lossless_div",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 4
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 3
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 4
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::option::Option"
              }
            }
          ],
          "name": "lossless_shl",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 4
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 3
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 4
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::option::Option"
              }
            }
          ],
          "name": "lossless_shr",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 4
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 4
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 4
              }
            }
          ],
          "name": "max",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 4
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 4
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 4
              }
            }
          ],
          "name": "min",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 4
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 4
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 4
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 4
              }
            }
          ],
          "name": "mul_div",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 4
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 4
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 4
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 4
              }
            }
          ],
          "name": "mul_div_ceil",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 4
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 3
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 4
              }
            }
          ],
          "name": "pow",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 4
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 4
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 4
              }
            }
          ],
          "name": "saturating_add",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 4
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 4
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 4
              }
            }
          ],
          "name": "saturating_mul",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 4
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 4
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 4
              }
            }
          ],
          "name": "saturating_sub",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 4
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 4
              }
            }
          ],
          "name": "sqrt",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 4
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::string::String"
              }
            }
          ],
          "name": "to_string",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 4
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::option::Option"
              }
            }
          ],
          "name": "try_as_u8",
          "visibility": 2,
          "isEntry": false
        }
      ],
      "name": "u16"
    }
  },
  {
    "address": "0x1",
    "module": {
      "datatypes": [],
      "functions": [
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 8
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 8
              }
            }
          ],
          "name": "bitwise_not",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 8
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 8
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 8
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::option::Option"
              }
            }
          ],
          "name": "checked_add",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 8
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 8
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 8
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::option::Option"
              }
            }
          ],
          "name": "checked_div",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 8
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 8
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 8
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::option::Option"
              }
            }
          ],
          "name": "checked_mul",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 8
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 8
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 8
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::option::Option"
              }
            }
          ],
          "name": "checked_sub",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 8
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 8
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 8
              }
            }
          ],
          "name": "diff",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 8
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 8
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 8
              }
            }
          ],
          "name": "div_ceil",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 8
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 8
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 8
              }
            }
          ],
          "name": "divide_and_round_up",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 8
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 8
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 8
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::option::Option"
              }
            }
          ],
          "name": "lossless_div",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 8
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 3
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 8
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::option::Option"
              }
            }
          ],
          "name": "lossless_shl",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 8
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 3
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 8
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::option::Option"
              }
            }
          ],
          "name": "lossless_shr",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 8
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 8
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 8
              }
            }
          ],
          "name": "max",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 8
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 8
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 8
              }
            }
          ],
          "name": "min",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 8
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 3
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 8
              }
            }
          ],
          "name": "pow",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 8
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 8
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 8
              }
            }
          ],
          "name": "saturating_add",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 8
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 8
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 8
              }
            }
          ],
          "name": "saturating_mul",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 8
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 8
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 8
              }
            }
          ],
          "name": "saturating_sub",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 8
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::string::String"
              }
            }
          ],
          "name": "to_string",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 8
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 7
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::option::Option"
              }
            }
          ],
          "name": "try_as_u128",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 8
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 4
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::option::Option"
              }
            }
          ],
          "name": "try_as_u16",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 8
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 5
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::option::Option"
              }
            }
          ],
          "name": "try_as_u32",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 8
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 6
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::option::Option"
              }
            }
          ],
          "name": "try_as_u64",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 8
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::option::Option"
              }
            }
          ],
          "name": "try_as_u8",
          "visibility": 2,
          "isEntry": false
        }
      ],
      "name": "u256"
    }
  },
  {
    "address": "0x1",
    "module": {
      "datatypes": [],
      "functions": [
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 5
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 5
              }
            }
          ],
          "name": "bitwise_not",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 5
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 5
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 5
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::option::Option"
              }
            }
          ],
          "name": "checked_add",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 5
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 5
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 5
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::option::Option"
              }
            }
          ],
          "name": "checked_div",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 5
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 5
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 5
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::option::Option"
              }
            }
          ],
          "name": "checked_mul",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 5
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 3
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 5
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::option::Option"
              }
            }
          ],
          "name": "checked_shl",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 5
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 3
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 5
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::option::Option"
              }
            }
          ],
          "name": "checked_shr",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 5
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 5
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 5
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::option::Option"
              }
            }
          ],
          "name": "checked_sub",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 5
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 5
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 5
              }
            }
          ],
          "name": "diff",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 5
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 5
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 5
              }
            }
          ],
          "name": "div_ceil",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 5
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 5
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 5
              }
            }
          ],
          "name": "divide_and_round_up",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 5
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 5
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 5
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::option::Option"
              }
            }
          ],
          "name": "lossless_div",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 5
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 3
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 5
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::option::Option"
              }
            }
          ],
          "name": "lossless_shl",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 5
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 3
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 5
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::option::Option"
              }
            }
          ],
          "name": "lossless_shr",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 5
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 5
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 5
              }
            }
          ],
          "name": "max",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 5
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 5
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 5
              }
            }
          ],
          "name": "min",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 5
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 5
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 5
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 5
              }
            }
          ],
          "name": "mul_div",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 5
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 5
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 5
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 5
              }
            }
          ],
          "name": "mul_div_ceil",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 5
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 3
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 5
              }
            }
          ],
          "name": "pow",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 5
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 5
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 5
              }
            }
          ],
          "name": "saturating_add",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 5
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 5
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 5
              }
            }
          ],
          "name": "saturating_mul",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 5
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 5
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 5
              }
            }
          ],
          "name": "saturating_sub",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 5
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 5
              }
            }
          ],
          "name": "sqrt",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 5
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::string::String"
              }
            }
          ],
          "name": "to_string",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 5
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 4
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::option::Option"
              }
            }
          ],
          "name": "try_as_u16",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 5
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::option::Option"
              }
            }
          ],
          "name": "try_as_u8",
          "visibility": 2,
          "isEntry": false
        }
      ],
      "name": "u32"
    }
  },
  {
    "address": "0x1",
    "module": {
      "datatypes": [],
      "functions": [
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "name": "bitwise_not",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 6
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::option::Option"
              }
            }
          ],
          "name": "checked_add",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 6
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::option::Option"
              }
            }
          ],
          "name": "checked_div",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 6
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::option::Option"
              }
            }
          ],
          "name": "checked_mul",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 3
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 6
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::option::Option"
              }
            }
          ],
          "name": "checked_shl",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 3
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 6
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::option::Option"
              }
            }
          ],
          "name": "checked_shr",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 6
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::option::Option"
              }
            }
          ],
          "name": "checked_sub",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "name": "diff",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "name": "div_ceil",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "name": "divide_and_round_up",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 6
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::option::Option"
              }
            }
          ],
          "name": "lossless_div",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 3
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 6
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::option::Option"
              }
            }
          ],
          "name": "lossless_shl",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 3
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 6
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::option::Option"
              }
            }
          ],
          "name": "lossless_shr",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "name": "max",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "name": "min",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "name": "mul_div",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "name": "mul_div_ceil",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 3
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "name": "pow",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "name": "saturating_add",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "name": "saturating_mul",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "name": "saturating_sub",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "name": "sqrt",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::string::String"
              }
            }
          ],
          "name": "to_string",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 4
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::option::Option"
              }
            }
          ],
          "name": "try_as_u16",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 5
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::option::Option"
              }
            }
          ],
          "name": "try_as_u32",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::option::Option"
              }
            }
          ],
          "name": "try_as_u8",
          "visibility": 2,
          "isEntry": false
        }
      ],
      "name": "u64"
    }
  },
  {
    "address": "0x1",
    "module": {
      "datatypes": [],
      "functions": [
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 3
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 3
              }
            }
          ],
          "name": "bitwise_not",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 3
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 3
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::option::Option"
              }
            }
          ],
          "name": "checked_add",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 3
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 3
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::option::Option"
              }
            }
          ],
          "name": "checked_div",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 3
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 3
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::option::Option"
              }
            }
          ],
          "name": "checked_mul",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 3
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 3
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::option::Option"
              }
            }
          ],
          "name": "checked_shl",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 3
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 3
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::option::Option"
              }
            }
          ],
          "name": "checked_shr",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 3
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 3
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::option::Option"
              }
            }
          ],
          "name": "checked_sub",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 3
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 3
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 3
              }
            }
          ],
          "name": "diff",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 3
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 3
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 3
              }
            }
          ],
          "name": "div_ceil",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 3
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 3
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 3
              }
            }
          ],
          "name": "divide_and_round_up",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 3
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 3
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::option::Option"
              }
            }
          ],
          "name": "lossless_div",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 3
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 3
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::option::Option"
              }
            }
          ],
          "name": "lossless_shl",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 3
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 3
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 3
                  }
                ],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::option::Option"
              }
            }
          ],
          "name": "lossless_shr",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 3
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 3
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 3
              }
            }
          ],
          "name": "max",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 3
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 3
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 3
              }
            }
          ],
          "name": "min",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 3
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 3
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 3
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 3
              }
            }
          ],
          "name": "mul_div",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 3
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 3
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 3
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 3
              }
            }
          ],
          "name": "mul_div_ceil",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 3
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 3
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 3
              }
            }
          ],
          "name": "pow",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 3
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 3
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 3
              }
            }
          ],
          "name": "saturating_add",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 3
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 3
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 3
              }
            }
          ],
          "name": "saturating_mul",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 3
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 3
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 3
              }
            }
          ],
          "name": "saturating_sub",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 3
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 3
              }
            }
          ],
          "name": "sqrt",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 3
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::string::String"
              }
            }
          ],
          "name": "to_string",
          "visibility": 2,
          "isEntry": false
        }
      ],
      "name": "u8"
    }
  },
  {
    "address": "0x1",
    "module": {
      "datatypes": [
        {
          "abilities": [
            1,
            2,
            3
          ],
          "typeParameters": [],
          "fields": [
            {
              "name": "pos0",
              "position": 0,
              "type": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "variants": [],
          "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::uq32_32::UQ32_32",
          "definingId": "0x0000000000000000000000000000000000000000000000000000000000000001",
          "module": "uq32_32",
          "name": "UQ32_32",
          "kind": 1
        }
      ],
      "functions": [
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::uq32_32::UQ32_32"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::uq32_32::UQ32_32"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::uq32_32::UQ32_32"
              }
            }
          ],
          "name": "add",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::uq32_32::UQ32_32"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::uq32_32::UQ32_32"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::uq32_32::UQ32_32"
              }
            }
          ],
          "name": "div",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 5
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::uq32_32::UQ32_32"
              }
            }
          ],
          "name": "from_int",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::uq32_32::UQ32_32"
              }
            }
          ],
          "name": "from_quotient",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::uq32_32::UQ32_32"
              }
            }
          ],
          "name": "from_raw",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::uq32_32::UQ32_32"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::uq32_32::UQ32_32"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 2
              }
            }
          ],
          "name": "ge",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::uq32_32::UQ32_32"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::uq32_32::UQ32_32"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 2
              }
            }
          ],
          "name": "gt",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::uq32_32::UQ32_32"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "name": "int_div",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::uq32_32::UQ32_32"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "name": "int_mul",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::uq32_32::UQ32_32"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::uq32_32::UQ32_32"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 2
              }
            }
          ],
          "name": "le",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::uq32_32::UQ32_32"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::uq32_32::UQ32_32"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 2
              }
            }
          ],
          "name": "lt",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::uq32_32::UQ32_32"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::uq32_32::UQ32_32"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::uq32_32::UQ32_32"
              }
            }
          ],
          "name": "mul",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::uq32_32::UQ32_32"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::uq32_32::UQ32_32"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::uq32_32::UQ32_32"
              }
            }
          ],
          "name": "sub",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::uq32_32::UQ32_32"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 5
              }
            }
          ],
          "name": "to_int",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::uq32_32::UQ32_32"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "name": "to_raw",
          "visibility": 2,
          "isEntry": false
        }
      ],
      "name": "uq32_32"
    }
  },
  {
    "address": "0x1",
    "module": {
      "datatypes": [
        {
          "abilities": [
            1,
            2,
            3
          ],
          "typeParameters": [],
          "fields": [
            {
              "name": "pos0",
              "position": 0,
              "type": {
                "typeParameterInstantiation": [],
                "type": 7
              }
            }
          ],
          "variants": [],
          "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::uq64_64::UQ64_64",
          "definingId": "0x0000000000000000000000000000000000000000000000000000000000000001",
          "module": "uq64_64",
          "name": "UQ64_64",
          "kind": 1
        }
      ],
      "functions": [
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::uq64_64::UQ64_64"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::uq64_64::UQ64_64"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::uq64_64::UQ64_64"
              }
            }
          ],
          "name": "add",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::uq64_64::UQ64_64"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::uq64_64::UQ64_64"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::uq64_64::UQ64_64"
              }
            }
          ],
          "name": "div",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::uq64_64::UQ64_64"
              }
            }
          ],
          "name": "from_int",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 7
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 7
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::uq64_64::UQ64_64"
              }
            }
          ],
          "name": "from_quotient",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 7
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::uq64_64::UQ64_64"
              }
            }
          ],
          "name": "from_raw",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::uq64_64::UQ64_64"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::uq64_64::UQ64_64"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 2
              }
            }
          ],
          "name": "ge",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::uq64_64::UQ64_64"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::uq64_64::UQ64_64"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 2
              }
            }
          ],
          "name": "gt",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 7
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::uq64_64::UQ64_64"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 7
              }
            }
          ],
          "name": "int_div",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 7
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::uq64_64::UQ64_64"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 7
              }
            }
          ],
          "name": "int_mul",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::uq64_64::UQ64_64"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::uq64_64::UQ64_64"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 2
              }
            }
          ],
          "name": "le",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::uq64_64::UQ64_64"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::uq64_64::UQ64_64"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 2
              }
            }
          ],
          "name": "lt",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::uq64_64::UQ64_64"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::uq64_64::UQ64_64"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::uq64_64::UQ64_64"
              }
            }
          ],
          "name": "mul",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::uq64_64::UQ64_64"
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::uq64_64::UQ64_64"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::uq64_64::UQ64_64"
              }
            }
          ],
          "name": "sub",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::uq64_64::UQ64_64"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "name": "to_int",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 10,
                "typeName": "0x0000000000000000000000000000000000000000000000000000000000000001::uq64_64::UQ64_64"
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 7
              }
            }
          ],
          "name": "to_raw",
          "visibility": 2,
          "isEntry": false
        }
      ],
      "name": "uq64_64"
    }
  },
  {
    "address": "0x1",
    "module": {
      "datatypes": [],
      "functions": [
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 9
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 9
              }
            }
          ],
          "returns": [],
          "name": "append",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 9
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "returns": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 0
              }
            }
          ],
          "name": "borrow",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 9
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "returns": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 0
              }
            }
          ],
          "name": "borrow_mut",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 9
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 0
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 2
              }
            }
          ],
          "name": "contains",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 9
              }
            }
          ],
          "returns": [],
          "name": "destroy_empty",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 9
              }
            }
          ],
          "name": "empty",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [
                      {
                        "typeParameterInstantiation": [],
                        "type": 11,
                        "typeParameter": 0
                      }
                    ],
                    "type": 9
                  }
                ],
                "type": 9
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 9
              }
            }
          ],
          "name": "flatten",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 9
              }
            },
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 0
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 2
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "name": "index_of",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 9
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 0
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "returns": [],
          "name": "insert",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 9
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 2
              }
            }
          ],
          "name": "is_empty",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "reference": 1,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 9
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "name": "length",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 9
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 0
              }
            }
          ],
          "name": "pop_back",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 9
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 0
              }
            }
          ],
          "returns": [],
          "name": "push_back",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 9
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 0
              }
            }
          ],
          "name": "remove",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 9
              }
            }
          ],
          "returns": [],
          "name": "reverse",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 0
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 9
              }
            }
          ],
          "name": "singleton",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": [
                2
              ]
            }
          ],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 9
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 9
              }
            }
          ],
          "name": "skip",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 9
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "returns": [],
          "name": "swap",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": []
            }
          ],
          "parameters": [
            {
              "reference": 2,
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 9
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 11,
                "typeParameter": 0
              }
            }
          ],
          "name": "swap_remove",
          "visibility": 2,
          "isEntry": false
        },
        {
          "typeParameters": [
            {
              "constraints": [
                2
              ]
            }
          ],
          "parameters": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 9
              }
            },
            {
              "body": {
                "typeParameterInstantiation": [],
                "type": 6
              }
            }
          ],
          "returns": [
            {
              "body": {
                "typeParameterInstantiation": [
                  {
                    "typeParameterInstantiation": [],
                    "type": 11,
                    "typeParameter": 0
                  }
                ],
                "type": 9
              }
            }
          ],
          "name": "take",
          "visibility": 2,
          "isEntry": false
        }
      ],
      "name": "vector"
    }
  }
]