{
  "elements": [
    {
      "_type": "Enumeration",
      "name": "DurationUnit",
      "package": "meta::pure::functions::date",
      "values": [
        {
          "value": "DAYS"
        },
        {
          "value": "WEEKS"
        },
        {
          "value": "MONTHS"
        },
        {
          "value": "YEARS"
        }
      ]
    },
    {
      "_type": "Enumeration",
      "name": "DayOfWeek",
      "package": "meta::pure::functions::date",
      "values": [
        {
          "value": "Monday"
        },
        {
          "value": "Tuesday"
        },
        {
          "value": "Wednesday"
        },
        {
          "value": "Thursday"
        },
        {
          "value": "Friday"
        },
        {
          "value": "Saturday"
        },
        {
          "value": "Sunday"
        }
      ]
    },
    {
      "_type": "Enumeration",
      "name": "Month",
      "package": "meta::pure::functions::date",
      "values": [
        {
          "value": "January"
        },
        {
          "value": "February"
        },
        {
          "value": "March"
        },
        {
          "value": "April"
        },
        {
          "value": "May"
        },
        {
          "value": "June"
        },
        {
          "value": "July"
        },
        {
          "value": "August"
        },
        {
          "value": "September"
        },
        {
          "value": "October"
        },
        {
          "value": "November"
        },
        {
          "value": "December"
        }
      ]
    },
    {
      "_type": "class",
      "name": "Duration",
      "package": "meta::pure::functions::date",
      "properties": [
        {
          "multiplicity": {
            "lowerBound": 1,
            "upperBound": 1
          },
          "name": "number",
          "type": "Integer"
        },
        {
          "multiplicity": {
            "lowerBound": 1,
            "upperBound": 1
          },
          "name": "unit",
          "type": "meta::pure::functions::date::DurationUnit"
        }
      ]
    },
    {
      "_type": "Enumeration",
      "name": "Quarter",
      "package": "meta::pure::functions::date",
      "values": [
        {
          "value": "Q1"
        },
        {
          "value": "Q2"
        },
        {
          "value": "Q3"
        },
        {
          "value": "Q4"
        }
      ]
    },
    {
      "_type": "class",
      "name": "Time",
      "package": "meta::pure::functions::date",
      "properties": [
        {
          "multiplicity": {
            "lowerBound": 1,
            "upperBound": 1
          },
          "name": "hours",
          "type": "Integer"
        },
        {
          "multiplicity": {
            "lowerBound": 1,
            "upperBound": 1
          },
          "name": "minutes",
          "type": "Integer"
        },
        {
          "multiplicity": {
            "lowerBound": 1,
            "upperBound": 1
          },
          "name": "seconds",
          "type": "Integer"
        }
      ]
    },
    {
      "stereotypes": ["public", "protected", "private", "externalizable"],
      "package": "meta::pure::profiles",
      "_type": "profile",
      "name": "access"
    },
    {
      "stereotypes": ["abstract"],
      "package": "meta::pure::profiles",
      "_type": "profile",
      "name": "typemodifiers"
    },
    {
      "stereotypes": ["deprecated"],
      "package": "meta::pure::profiles",
      "_type": "profile",
      "name": "doc",
      "tags": ["doc", "todo"]
    },
    {
      "stereotypes": ["bitemporal", "businesstemporal", "processingtemporal"],
      "package": "meta::pure::profiles",
      "_type": "profile",
      "name": "temporal",
      "tags": []
    },
    {
      "package": "meta::pure::metamodel::type",
      "_type": "class",
      "name": "Any",
      "properties": []
    },
    {
      "package": "meta::pure::metamodel::variant",
      "_type": "class",
      "name": "Variant",
      "properties": []
    },
    {
      "_type": "class",
      "name": "TDSRow",
      "package": "meta::pure::tds",
      "properties": [
        {
          "multiplicity": {
            "lowerBound": 0,
            "upperBound": 1
          },
          "name": "parent",
          "type": "meta::pure::tds::TabularDataSet"
        },
        {
          "multiplicity": {
            "lowerBound": 0
          },
          "name": "values",
          "type": "meta::pure::metamodel::type::Any"
        }
      ],
      "qualifiedProperties": [
        {
          "body": [
            {
              "_type": "func",
              "function": "cast",
              "parameters": [
                {
                  "_type": "property",
                  "parameters": [
                    {
                      "_type": "var",
                      "name": "this"
                    },
                    {
                      "_type": "var",
                      "name": "colName"
                    }
                  ],
                  "property": "get"
                },
                {
                  "_type": "hackedClass",
                  "fullPath": "String"
                }
              ]
            }
          ],
          "name": "getString",
          "parameters": [
            {
              "_type": "var",
              "class": "String",
              "multiplicity": {
                "lowerBound": 1,
                "upperBound": 1
              },
              "name": "colName"
            }
          ],
          "returnMultiplicity": {
            "lowerBound": 1,
            "upperBound": 1
          },
          "returnType": "String"
        },
        {
          "body": [
            {
              "_type": "func",
              "function": "cast",
              "parameters": [
                {
                  "_type": "property",
                  "parameters": [
                    {
                      "_type": "var",
                      "name": "this"
                    },
                    {
                      "_type": "var",
                      "name": "colName"
                    }
                  ],
                  "property": "get"
                },
                {
                  "_type": "hackedClass",
                  "fullPath": "Number"
                }
              ]
            }
          ],
          "name": "getNumber",
          "parameters": [
            {
              "_type": "var",
              "class": "String",
              "multiplicity": {
                "lowerBound": 1,
                "upperBound": 1
              },
              "name": "colName"
            }
          ],
          "returnMultiplicity": {
            "lowerBound": 1,
            "upperBound": 1
          },
          "returnType": "Number"
        },
        {
          "body": [
            {
              "_type": "func",
              "function": "cast",
              "parameters": [
                {
                  "_type": "property",
                  "parameters": [
                    {
                      "_type": "var",
                      "name": "this"
                    },
                    {
                      "_type": "var",
                      "name": "colName"
                    }
                  ],
                  "property": "get"
                },
                {
                  "_type": "hackedClass",
                  "fullPath": "Integer"
                }
              ]
            }
          ],
          "name": "getInteger",
          "parameters": [
            {
              "_type": "var",
              "class": "String",
              "multiplicity": {
                "lowerBound": 1,
                "upperBound": 1
              },
              "name": "colName"
            }
          ],
          "returnMultiplicity": {
            "lowerBound": 1,
            "upperBound": 1
          },
          "returnType": "Integer"
        },
        {
          "body": [
            {
              "_type": "func",
              "function": "toFloat",
              "parameters": [
                {
                  "_type": "func",
                  "function": "cast",
                  "parameters": [
                    {
                      "_type": "property",
                      "parameters": [
                        {
                          "_type": "var",
                          "name": "this"
                        },
                        {
                          "_type": "var",
                          "name": "colName"
                        }
                      ],
                      "property": "get"
                    },
                    {
                      "_type": "hackedClass",
                      "fullPath": "Number"
                    }
                  ]
                }
              ]
            }
          ],
          "name": "getFloat",
          "parameters": [
            {
              "_type": "var",
              "class": "String",
              "multiplicity": {
                "lowerBound": 1,
                "upperBound": 1
              },
              "name": "colName"
            }
          ],
          "returnMultiplicity": {
            "lowerBound": 1,
            "upperBound": 1
          },
          "returnType": "Float"
        },
        {
          "body": [
            {
              "_type": "func",
              "function": "toDecimal",
              "parameters": [
                {
                  "_type": "func",
                  "function": "cast",
                  "parameters": [
                    {
                      "_type": "property",
                      "parameters": [
                        {
                          "_type": "var",
                          "name": "this"
                        },
                        {
                          "_type": "var",
                          "name": "colName"
                        }
                      ],
                      "property": "get"
                    },
                    {
                      "_type": "hackedClass",
                      "fullPath": "Number"
                    }
                  ]
                }
              ]
            }
          ],
          "name": "getDecimal",
          "parameters": [
            {
              "_type": "var",
              "class": "String",
              "multiplicity": {
                "lowerBound": 1,
                "upperBound": 1
              },
              "name": "colName"
            }
          ],
          "returnMultiplicity": {
            "lowerBound": 1,
            "upperBound": 1
          },
          "returnType": "Decimal"
        },
        {
          "body": [
            {
              "_type": "func",
              "function": "cast",
              "parameters": [
                {
                  "_type": "property",
                  "parameters": [
                    {
                      "_type": "var",
                      "name": "this"
                    },
                    {
                      "_type": "var",
                      "name": "colName"
                    }
                  ],
                  "property": "get"
                },
                {
                  "_type": "hackedClass",
                  "fullPath": "Date"
                }
              ]
            }
          ],
          "name": "getDate",
          "parameters": [
            {
              "_type": "var",
              "class": "String",
              "multiplicity": {
                "lowerBound": 1,
                "upperBound": 1
              },
              "name": "colName"
            }
          ],
          "returnMultiplicity": {
            "lowerBound": 1,
            "upperBound": 1
          },
          "returnType": "Date"
        },
        {
          "body": [
            {
              "_type": "func",
              "function": "cast",
              "parameters": [
                {
                  "_type": "property",
                  "parameters": [
                    {
                      "_type": "var",
                      "name": "this"
                    },
                    {
                      "_type": "var",
                      "name": "colName"
                    }
                  ],
                  "property": "get"
                },
                {
                  "_type": "hackedClass",
                  "fullPath": "DateTime"
                }
              ]
            }
          ],
          "name": "getDateTime",
          "parameters": [
            {
              "_type": "var",
              "class": "String",
              "multiplicity": {
                "lowerBound": 1,
                "upperBound": 1
              },
              "name": "colName"
            }
          ],
          "returnMultiplicity": {
            "lowerBound": 1,
            "upperBound": 1
          },
          "returnType": "DateTime"
        },
        {
          "body": [
            {
              "_type": "func",
              "function": "cast",
              "parameters": [
                {
                  "_type": "property",
                  "parameters": [
                    {
                      "_type": "var",
                      "name": "this"
                    },
                    {
                      "_type": "var",
                      "name": "colName"
                    }
                  ],
                  "property": "get"
                },
                {
                  "_type": "hackedClass",
                  "fullPath": "StrictDate"
                }
              ]
            }
          ],
          "name": "getStrictDate",
          "parameters": [
            {
              "_type": "var",
              "class": "String",
              "multiplicity": {
                "lowerBound": 1,
                "upperBound": 1
              },
              "name": "colName"
            }
          ],
          "returnMultiplicity": {
            "lowerBound": 1,
            "upperBound": 1
          },
          "returnType": "StrictDate"
        },
        {
          "body": [
            {
              "_type": "func",
              "function": "cast",
              "parameters": [
                {
                  "_type": "property",
                  "parameters": [
                    {
                      "_type": "var",
                      "name": "this"
                    },
                    {
                      "_type": "var",
                      "name": "colName"
                    }
                  ],
                  "property": "get"
                },
                {
                  "_type": "hackedClass",
                  "fullPath": "Boolean"
                }
              ]
            }
          ],
          "name": "getBoolean",
          "parameters": [
            {
              "_type": "var",
              "class": "String",
              "multiplicity": {
                "lowerBound": 1,
                "upperBound": 1
              },
              "name": "colName"
            }
          ],
          "returnMultiplicity": {
            "lowerBound": 1,
            "upperBound": 1
          },
          "returnType": "Boolean"
        },
        {
          "body": [
            {
              "_type": "func",
              "function": "cast",
              "parameters": [
                {
                  "_type": "property",
                  "parameters": [
                    {
                      "_type": "var",
                      "name": "this"
                    },
                    {
                      "_type": "var",
                      "name": "colName"
                    }
                  ],
                  "property": "get"
                },
                {
                  "_type": "hackedClass",
                  "fullPath": "meta::pure::metamodel::path::Enum"
                }
              ]
            }
          ],
          "name": "getEnum",
          "parameters": [
            {
              "_type": "var",
              "class": "String",
              "multiplicity": {
                "lowerBound": 1,
                "upperBound": 1
              },
              "name": "colName"
            }
          ],
          "returnMultiplicity": {
            "lowerBound": 1,
            "upperBound": 1
          },
          "returnType": "meta::pure::metamodel::path::Enum"
        },
        {
          "body": [
            {
              "_type": "func",
              "function": "not",
              "parameters": [
                {
                  "_type": "property",
                  "parameters": [
                    {
                      "_type": "var",
                      "name": "this"
                    },
                    {
                      "_type": "var",
                      "name": "colName"
                    }
                  ],
                  "property": "isNull"
                }
              ]
            }
          ],
          "name": "isNotNull",
          "parameters": [
            {
              "_type": "var",
              "class": "String",
              "multiplicity": {
                "lowerBound": 1,
                "upperBound": 1
              },
              "name": "colName"
            }
          ],
          "returnMultiplicity": {
            "lowerBound": 1,
            "upperBound": 1
          },
          "returnType": "Boolean"
        },
        {
          "body": [
            {
              "_type": "func",
              "function": "letFunction",
              "parameters": [
                {
                  "_type": "string",
                  "multiplicity": {
                    "lowerBound": 1,
                    "upperBound": 1
                  },
                  "values": ["parent"]
                },
                {
                  "_type": "property",
                  "parameters": [
                    {
                      "_type": "var",
                      "name": "this"
                    }
                  ],
                  "property": "parent"
                }
              ]
            },
            {
              "_type": "func",
              "function": "assertNotEmpty",
              "parameters": [
                {
                  "_type": "var",
                  "name": "parent"
                },
                {
                  "_type": "lambda",
                  "body": [
                    {
                      "_type": "func",
                      "function": "plus",
                      "parameters": [
                        {
                          "_type": "collection",
                          "multiplicity": {
                            "lowerBound": 3,
                            "upperBound": 3
                          },
                          "values": [
                            {
                              "_type": "string",
                              "multiplicity": {
                                "lowerBound": 1,
                                "upperBound": 1
                              },
                              "values": ["Unable to find index for the column:"]
                            },
                            {
                              "_type": "var",
                              "name": "colName"
                            },
                            {
                              "_type": "string",
                              "multiplicity": {
                                "lowerBound": 1,
                                "upperBound": 1
                              },
                              "values": [
                                ". The TDS row has no parent, make sure the row has a parent."
                              ]
                            }
                          ]
                        }
                      ]
                    }
                  ],
                  "parameters": []
                }
              ]
            },
            {
              "_type": "func",
              "function": "letFunction",
              "parameters": [
                {
                  "_type": "string",
                  "multiplicity": {
                    "lowerBound": 1,
                    "upperBound": 1
                  },
                  "values": ["col"]
                },
                {
                  "_type": "property",
                  "parameters": [
                    {
                      "_type": "func",
                      "function": "toOne",
                      "parameters": [
                        {
                          "_type": "property",
                          "parameters": [
                            {
                              "_type": "var",
                              "name": "this"
                            }
                          ],
                          "property": "parent"
                        }
                      ]
                    },
                    {
                      "_type": "var",
                      "name": "colName"
                    }
                  ],
                  "property": "columnByName"
                }
              ]
            },
            {
              "_type": "func",
              "function": "assertNotEmpty",
              "parameters": [
                {
                  "_type": "var",
                  "name": "col"
                },
                {
                  "_type": "lambda",
                  "body": [
                    {
                      "_type": "func",
                      "function": "plus",
                      "parameters": [
                        {
                          "_type": "collection",
                          "multiplicity": {
                            "lowerBound": 4,
                            "upperBound": 4
                          },
                          "values": [
                            {
                              "_type": "var",
                              "name": "colName"
                            },
                            {
                              "_type": "string",
                              "multiplicity": {
                                "lowerBound": 1,
                                "upperBound": 1
                              },
                              "values": [" is unknown (columns=["]
                            },
                            {
                              "_type": "func",
                              "function": "makeString",
                              "parameters": [
                                {
                                  "_type": "property",
                                  "parameters": [
                                    {
                                      "_type": "property",
                                      "parameters": [
                                        {
                                          "_type": "var",
                                          "name": "parent"
                                        }
                                      ],
                                      "property": "columns"
                                    }
                                  ],
                                  "property": "name"
                                },
                                {
                                  "_type": "string",
                                  "multiplicity": {
                                    "lowerBound": 1,
                                    "upperBound": 1
                                  },
                                  "values": [","]
                                }
                              ]
                            },
                            {
                              "_type": "string",
                              "multiplicity": {
                                "lowerBound": 1,
                                "upperBound": 1
                              },
                              "values": ["])!"]
                            }
                          ]
                        }
                      ]
                    }
                  ],
                  "parameters": []
                }
              ]
            },
            {
              "_type": "property",
              "parameters": [
                {
                  "_type": "var",
                  "name": "this"
                },
                {
                  "_type": "func",
                  "function": "toOne",
                  "parameters": [
                    {
                      "_type": "var",
                      "name": "col"
                    }
                  ]
                }
              ],
              "property": "get"
            }
          ],
          "name": "get",
          "parameters": [
            {
              "_type": "var",
              "class": "String",
              "multiplicity": {
                "lowerBound": 1,
                "upperBound": 1
              },
              "name": "colName"
            }
          ],
          "returnMultiplicity": {
            "lowerBound": 1,
            "upperBound": 1
          },
          "returnType": "meta::pure::metamodel::type::Any"
        },
        {
          "body": [
            {
              "_type": "func",
              "function": "letFunction",
              "parameters": [
                {
                  "_type": "string",
                  "multiplicity": {
                    "lowerBound": 1,
                    "upperBound": 1
                  },
                  "values": ["parent"]
                },
                {
                  "_type": "property",
                  "parameters": [
                    {
                      "_type": "var",
                      "name": "this"
                    }
                  ],
                  "property": "parent"
                }
              ]
            },
            {
              "_type": "func",
              "function": "assertNotEmpty",
              "parameters": [
                {
                  "_type": "var",
                  "name": "parent"
                },
                {
                  "_type": "lambda",
                  "body": [
                    {
                      "_type": "func",
                      "function": "plus",
                      "parameters": [
                        {
                          "_type": "collection",
                          "multiplicity": {
                            "lowerBound": 3,
                            "upperBound": 3
                          },
                          "values": [
                            {
                              "_type": "string",
                              "multiplicity": {
                                "lowerBound": 1,
                                "upperBound": 1
                              },
                              "values": ["Unable to find index for the column:"]
                            },
                            {
                              "_type": "var",
                              "name": "colName"
                            },
                            {
                              "_type": "string",
                              "multiplicity": {
                                "lowerBound": 1,
                                "upperBound": 1
                              },
                              "values": [
                                ". The TDS row has no parent, make sure the row has a parent."
                              ]
                            }
                          ]
                        }
                      ]
                    }
                  ],
                  "parameters": []
                }
              ]
            },
            {
              "_type": "func",
              "function": "letFunction",
              "parameters": [
                {
                  "_type": "string",
                  "multiplicity": {
                    "lowerBound": 1,
                    "upperBound": 1
                  },
                  "values": ["col"]
                },
                {
                  "_type": "property",
                  "parameters": [
                    {
                      "_type": "func",
                      "function": "toOne",
                      "parameters": [
                        {
                          "_type": "property",
                          "parameters": [
                            {
                              "_type": "var",
                              "name": "this"
                            }
                          ],
                          "property": "parent"
                        }
                      ]
                    },
                    {
                      "_type": "var",
                      "name": "colName"
                    }
                  ],
                  "property": "columnByName"
                }
              ]
            },
            {
              "_type": "func",
              "function": "assertNotEmpty",
              "parameters": [
                {
                  "_type": "var",
                  "name": "col"
                },
                {
                  "_type": "lambda",
                  "body": [
                    {
                      "_type": "func",
                      "function": "plus",
                      "parameters": [
                        {
                          "_type": "collection",
                          "multiplicity": {
                            "lowerBound": 4,
                            "upperBound": 4
                          },
                          "values": [
                            {
                              "_type": "var",
                              "name": "colName"
                            },
                            {
                              "_type": "string",
                              "multiplicity": {
                                "lowerBound": 1,
                                "upperBound": 1
                              },
                              "values": [" is unknown (columns=["]
                            },
                            {
                              "_type": "func",
                              "function": "makeString",
                              "parameters": [
                                {
                                  "_type": "property",
                                  "parameters": [
                                    {
                                      "_type": "property",
                                      "parameters": [
                                        {
                                          "_type": "var",
                                          "name": "parent"
                                        }
                                      ],
                                      "property": "columns"
                                    }
                                  ],
                                  "property": "name"
                                },
                                {
                                  "_type": "string",
                                  "multiplicity": {
                                    "lowerBound": 1,
                                    "upperBound": 1
                                  },
                                  "values": [","]
                                }
                              ]
                            },
                            {
                              "_type": "string",
                              "multiplicity": {
                                "lowerBound": 1,
                                "upperBound": 1
                              },
                              "values": ["])!"]
                            }
                          ]
                        }
                      ]
                    }
                  ],
                  "parameters": []
                }
              ]
            },
            {
              "_type": "property",
              "parameters": [
                {
                  "_type": "var",
                  "name": "this"
                },
                {
                  "_type": "func",
                  "function": "toOne",
                  "parameters": [
                    {
                      "_type": "var",
                      "name": "col"
                    }
                  ]
                }
              ],
              "property": "isNull"
            }
          ],
          "name": "isNull",
          "parameters": [
            {
              "_type": "var",
              "class": "String",
              "multiplicity": {
                "lowerBound": 1,
                "upperBound": 1
              },
              "name": "colName"
            }
          ],
          "returnMultiplicity": {
            "lowerBound": 1,
            "upperBound": 1
          },
          "returnType": "Boolean"
        },
        {
          "body": [
            {
              "_type": "func",
              "function": "cast",
              "parameters": [
                {
                  "_type": "property",
                  "parameters": [
                    {
                      "_type": "var",
                      "name": "this"
                    },
                    {
                      "_type": "var",
                      "name": "col"
                    }
                  ],
                  "property": "get"
                },
                {
                  "_type": "hackedClass",
                  "fullPath": "String"
                }
              ]
            }
          ],
          "name": "getString",
          "parameters": [
            {
              "_type": "var",
              "class": "TDSColumn",
              "multiplicity": {
                "lowerBound": 1,
                "upperBound": 1
              },
              "name": "col"
            }
          ],
          "returnMultiplicity": {
            "lowerBound": 1,
            "upperBound": 1
          },
          "returnType": "String"
        },
        {
          "body": [
            {
              "_type": "func",
              "function": "if",
              "parameters": [
                {
                  "_type": "property",
                  "parameters": [
                    {
                      "_type": "var",
                      "name": "this"
                    },
                    {
                      "_type": "var",
                      "name": "col"
                    }
                  ],
                  "property": "isNull"
                },
                {
                  "_type": "lambda",
                  "body": [
                    {
                      "_type": "collection",
                      "multiplicity": {
                        "lowerBound": 0,
                        "upperBound": 0
                      },
                      "values": []
                    }
                  ],
                  "parameters": []
                },
                {
                  "_type": "lambda",
                  "body": [
                    {
                      "_type": "property",
                      "parameters": [
                        {
                          "_type": "var",
                          "name": "this"
                        },
                        {
                          "_type": "var",
                          "name": "col"
                        }
                      ],
                      "property": "getString"
                    }
                  ],
                  "parameters": []
                }
              ]
            }
          ],
          "name": "getNullableString",
          "parameters": [
            {
              "_type": "var",
              "class": "TDSColumn",
              "multiplicity": {
                "lowerBound": 1,
                "upperBound": 1
              },
              "name": "col"
            }
          ],
          "returnMultiplicity": {
            "lowerBound": 0,
            "upperBound": 1
          },
          "returnType": "String"
        },
        {
          "body": [
            {
              "_type": "func",
              "function": "cast",
              "parameters": [
                {
                  "_type": "property",
                  "parameters": [
                    {
                      "_type": "var",
                      "name": "this"
                    },
                    {
                      "_type": "var",
                      "name": "col"
                    }
                  ],
                  "property": "get"
                },
                {
                  "_type": "hackedClass",
                  "fullPath": "Number"
                }
              ]
            }
          ],
          "name": "getNumber",
          "parameters": [
            {
              "_type": "var",
              "class": "TDSColumn",
              "multiplicity": {
                "lowerBound": 1,
                "upperBound": 1
              },
              "name": "col"
            }
          ],
          "returnMultiplicity": {
            "lowerBound": 1,
            "upperBound": 1
          },
          "returnType": "Number"
        },
        {
          "body": [
            {
              "_type": "func",
              "function": "cast",
              "parameters": [
                {
                  "_type": "property",
                  "parameters": [
                    {
                      "_type": "var",
                      "name": "this"
                    },
                    {
                      "_type": "var",
                      "name": "col"
                    }
                  ],
                  "property": "get"
                },
                {
                  "_type": "hackedClass",
                  "fullPath": "Integer"
                }
              ]
            }
          ],
          "name": "getInteger",
          "parameters": [
            {
              "_type": "var",
              "class": "TDSColumn",
              "multiplicity": {
                "lowerBound": 1,
                "upperBound": 1
              },
              "name": "col"
            }
          ],
          "returnMultiplicity": {
            "lowerBound": 1,
            "upperBound": 1
          },
          "returnType": "Integer"
        },
        {
          "body": [
            {
              "_type": "func",
              "function": "cast",
              "parameters": [
                {
                  "_type": "property",
                  "parameters": [
                    {
                      "_type": "var",
                      "name": "this"
                    },
                    {
                      "_type": "var",
                      "name": "col"
                    }
                  ],
                  "property": "get"
                },
                {
                  "_type": "hackedClass",
                  "fullPath": "Float"
                }
              ]
            }
          ],
          "name": "getFloat",
          "parameters": [
            {
              "_type": "var",
              "class": "TDSColumn",
              "multiplicity": {
                "lowerBound": 1,
                "upperBound": 1
              },
              "name": "col"
            }
          ],
          "returnMultiplicity": {
            "lowerBound": 1,
            "upperBound": 1
          },
          "returnType": "Float"
        },
        {
          "body": [
            {
              "_type": "func",
              "function": "equal",
              "parameters": [
                {
                  "_type": "property",
                  "parameters": [
                    {
                      "_type": "var",
                      "name": "this"
                    },
                    {
                      "_type": "var",
                      "name": "col"
                    }
                  ],
                  "property": "get"
                },
                {
                  "_type": "func",
                  "function": "new",
                  "parameters": [
                    {
                      "_type": "class",
                      "fullPath": "TDSNull"
                    },
                    {
                      "_type": "string",
                      "multiplicity": {
                        "lowerBound": 1,
                        "upperBound": 1
                      },
                      "values": []
                    },
                    {
                      "_type": "collection",
                      "multiplicity": {
                        "lowerBound": 1,
                        "upperBound": 1
                      },
                      "values": []
                    }
                  ]
                }
              ]
            }
          ],
          "name": "isNull",
          "parameters": [
            {
              "_type": "var",
              "class": "TDSColumn",
              "multiplicity": {
                "lowerBound": 1,
                "upperBound": 1
              },
              "name": "col"
            }
          ],
          "returnMultiplicity": {
            "lowerBound": 1,
            "upperBound": 1
          },
          "returnType": "Boolean"
        },
        {
          "body": [
            {
              "_type": "func",
              "function": "not",
              "parameters": [
                {
                  "_type": "property",
                  "parameters": [
                    {
                      "_type": "var",
                      "name": "this"
                    },
                    {
                      "_type": "var",
                      "name": "col"
                    }
                  ],
                  "property": "isNull"
                }
              ]
            }
          ],
          "name": "isNotNull",
          "parameters": [
            {
              "_type": "var",
              "class": "TDSColumn",
              "multiplicity": {
                "lowerBound": 1,
                "upperBound": 1
              },
              "name": "col"
            }
          ],
          "returnMultiplicity": {
            "lowerBound": 1,
            "upperBound": 1
          },
          "returnType": "Boolean"
        },
        {
          "body": [
            {
              "_type": "func",
              "function": "assertNotEmpty",
              "parameters": [
                {
                  "_type": "property",
                  "parameters": [
                    {
                      "_type": "var",
                      "name": "col"
                    }
                  ],
                  "property": "offset"
                },
                {
                  "_type": "lambda",
                  "body": [
                    {
                      "_type": "func",
                      "function": "plus",
                      "parameters": [
                        {
                          "_type": "collection",
                          "multiplicity": {
                            "lowerBound": 3,
                            "upperBound": 3
                          },
                          "values": [
                            {
                              "_type": "string",
                              "multiplicity": {
                                "lowerBound": 1,
                                "upperBound": 1
                              },
                              "values": ["No index for the column:"]
                            },
                            {
                              "_type": "property",
                              "parameters": [
                                {
                                  "_type": "var",
                                  "name": "col"
                                }
                              ],
                              "property": "name"
                            },
                            {
                              "_type": "string",
                              "multiplicity": {
                                "lowerBound": 1,
                                "upperBound": 1
                              },
                              "values": ["."]
                            }
                          ]
                        }
                      ]
                    }
                  ],
                  "parameters": []
                }
              ]
            },
            {
              "_type": "func",
              "function": "toOne",
              "parameters": [
                {
                  "_type": "func",
                  "function": "at",
                  "parameters": [
                    {
                      "_type": "property",
                      "parameters": [
                        {
                          "_type": "var",
                          "name": "this"
                        }
                      ],
                      "property": "values"
                    },
                    {
                      "_type": "func",
                      "function": "toOne",
                      "parameters": [
                        {
                          "_type": "property",
                          "parameters": [
                            {
                              "_type": "var",
                              "name": "col"
                            }
                          ],
                          "property": "offset"
                        }
                      ]
                    }
                  ]
                }
              ]
            }
          ],
          "name": "get",
          "parameters": [
            {
              "_type": "var",
              "class": "TDSColumn",
              "multiplicity": {
                "lowerBound": 1,
                "upperBound": 1
              },
              "name": "col"
            }
          ],
          "returnMultiplicity": {
            "lowerBound": 1,
            "upperBound": 1
          },
          "returnType": "meta::pure::metamodel::type::Any"
        }
      ]
    },
    {
      "_type": "class",
      "name": "TDSNull",
      "package": "meta::pure::tds",
      "properties": [
        {
          "multiplicity": {
            "lowerBound": 0,
            "upperBound": 0
          },
          "name": "key",
          "stereotypes": [
            {
              "profile": "meta::pure::profiles::equality",
              "value": "Key"
            }
          ],
          "type": "meta::pure::metamodel::type::Nil"
        }
      ],
      "qualifiedProperties": [
        {
          "body": [
            {
              "_type": "string",
              "multiplicity": {
                "lowerBound": 1,
                "upperBound": 1
              },
              "values": ["TDSNull"]
            }
          ],
          "name": "toString",
          "parameters": [],
          "returnMultiplicity": {
            "lowerBound": 1,
            "upperBound": 1
          },
          "returnType": "String"
        }
      ]
    },
    {
      "_type": "class",
      "name": "Nil",
      "package": "meta::pure::metamodel::type"
    },
    {
      "_type": "class",
      "name": "TabularDataSet",
      "package": "meta::pure::tds",
      "properties": [
        {
          "multiplicity": {
            "lowerBound": 0
          },
          "name": "columns",
          "type": "meta::pure::tds::TDSColumn"
        },
        {
          "multiplicity": {
            "lowerBound": 0
          },
          "name": "rows",
          "type": "meta::pure::tds::TDSRow"
        }
      ],
      "qualifiedProperties": [
        {
          "body": [
            {
              "_type": "func",
              "function": "first",
              "parameters": [
                {
                  "_type": "func",
                  "function": "filter",
                  "parameters": [
                    {
                      "_type": "property",
                      "parameters": [
                        {
                          "_type": "var",
                          "name": "this"
                        }
                      ],
                      "property": "columns"
                    },
                    {
                      "_type": "lambda",
                      "body": [
                        {
                          "_type": "func",
                          "function": "equal",
                          "parameters": [
                            {
                              "_type": "property",
                              "parameters": [
                                {
                                  "_type": "var",
                                  "name": "c"
                                }
                              ],
                              "property": "name"
                            },
                            {
                              "_type": "var",
                              "name": "s"
                            }
                          ]
                        }
                      ],
                      "parameters": [
                        {
                          "_type": "var",
                          "name": "c"
                        }
                      ]
                    }
                  ]
                }
              ]
            }
          ],
          "name": "columnByName",
          "parameters": [
            {
              "_type": "var",
              "class": "String",
              "multiplicity": {
                "lowerBound": 1,
                "upperBound": 1
              },
              "name": "s"
            }
          ],
          "returnMultiplicity": {
            "lowerBound": 0,
            "upperBound": 1
          },
          "returnType": "meta::pure::tds::TDSColumn"
        }
      ]
    },
    {
      "_type": "class",
      "name": "TDSColumn",
      "package": "meta::pure::tds",
      "properties": [
        {
          "multiplicity": {
            "lowerBound": 0,
            "upperBound": 1
          },
          "name": "offset",
          "stereotypes": [
            {
              "profile": "meta::pure::profiles::equality",
              "value": "Key"
            }
          ],
          "type": "Integer"
        },
        {
          "multiplicity": {
            "lowerBound": 1,
            "upperBound": 1
          },
          "name": "name",
          "stereotypes": [
            {
              "profile": "meta::pure::profiles::equality",
              "value": "Key"
            }
          ],
          "type": "String"
        },
        {
          "multiplicity": {
            "lowerBound": 0,
            "upperBound": 1
          },
          "name": "type",
          "stereotypes": [
            {
              "profile": "meta::pure::profiles::equality",
              "value": "Key"
            }
          ],
          "type": "meta::pure::metamodel::type::DataType"
        },
        {
          "multiplicity": {
            "lowerBound": 0,
            "upperBound": 1
          },
          "name": "enumMappingId",
          "stereotypes": [
            {
              "profile": "meta::pure::profiles::equality",
              "value": "Key"
            }
          ],
          "type": "String"
        },
        {
          "multiplicity": {
            "lowerBound": 0,
            "upperBound": 1
          },
          "name": "documentation",
          "stereotypes": [
            {
              "profile": "meta::pure::profiles::equality",
              "value": "Key"
            }
          ],
          "type": "String"
        },
        {
          "multiplicity": {
            "lowerBound": 0,
            "upperBound": 1
          },
          "name": "sourceDataType",
          "stereotypes": [
            {
              "profile": "meta::pure::profiles::equality",
              "value": "Key"
            }
          ],
          "type": "meta::pure::metamodel::type::Any"
        }
      ],
      "qualifiedProperties": [
        {
          "body": [
            {
              "_type": "func",
              "function": "plus",
              "parameters": [
                {
                  "_type": "collection",
                  "multiplicity": {
                    "lowerBound": 9,
                    "upperBound": 9
                  },
                  "values": [
                    {
                      "_type": "string",
                      "multiplicity": {
                        "lowerBound": 1,
                        "upperBound": 1
                      },
                      "values": ["meta::pure::tds::TDSColumn("]
                    },
                    {
                      "_type": "string",
                      "multiplicity": {
                        "lowerBound": 1,
                        "upperBound": 1
                      },
                      "values": ["name="]
                    },
                    {
                      "_type": "property",
                      "parameters": [
                        {
                          "_type": "var",
                          "name": "this"
                        }
                      ],
                      "property": "name"
                    },
                    {
                      "_type": "func",
                      "function": "if",
                      "parameters": [
                        {
                          "_type": "func",
                          "function": "isNotEmpty",
                          "parameters": [
                            {
                              "_type": "property",
                              "parameters": [
                                {
                                  "_type": "var",
                                  "name": "this"
                                }
                              ],
                              "property": "type"
                            }
                          ]
                        },
                        {
                          "_type": "lambda",
                          "body": [
                            {
                              "_type": "func",
                              "function": "plus",
                              "parameters": [
                                {
                                  "_type": "collection",
                                  "multiplicity": {
                                    "lowerBound": 3,
                                    "upperBound": 3
                                  },
                                  "values": [
                                    {
                                      "_type": "string",
                                      "multiplicity": {
                                        "lowerBound": 1,
                                        "upperBound": 1
                                      },
                                      "values": [", "]
                                    },
                                    {
                                      "_type": "string",
                                      "multiplicity": {
                                        "lowerBound": 1,
                                        "upperBound": 1
                                      },
                                      "values": ["type="]
                                    },
                                    {
                                      "_type": "func",
                                      "function": "makeString",
                                      "parameters": [
                                        {
                                          "_type": "property",
                                          "parameters": [
                                            {
                                              "_type": "var",
                                              "name": "this"
                                            }
                                          ],
                                          "property": "type"
                                        }
                                      ]
                                    }
                                  ]
                                }
                              ]
                            }
                          ],
                          "parameters": []
                        },
                        {
                          "_type": "lambda",
                          "body": [
                            {
                              "_type": "string",
                              "multiplicity": {
                                "lowerBound": 1,
                                "upperBound": 1
                              },
                              "values": [""]
                            }
                          ],
                          "parameters": []
                        }
                      ]
                    },
                    {
                      "_type": "func",
                      "function": "if",
                      "parameters": [
                        {
                          "_type": "func",
                          "function": "isNotEmpty",
                          "parameters": [
                            {
                              "_type": "property",
                              "parameters": [
                                {
                                  "_type": "var",
                                  "name": "this"
                                }
                              ],
                              "property": "offset"
                            }
                          ]
                        },
                        {
                          "_type": "lambda",
                          "body": [
                            {
                              "_type": "func",
                              "function": "plus",
                              "parameters": [
                                {
                                  "_type": "collection",
                                  "multiplicity": {
                                    "lowerBound": 3,
                                    "upperBound": 3
                                  },
                                  "values": [
                                    {
                                      "_type": "string",
                                      "multiplicity": {
                                        "lowerBound": 1,
                                        "upperBound": 1
                                      },
                                      "values": [", "]
                                    },
                                    {
                                      "_type": "string",
                                      "multiplicity": {
                                        "lowerBound": 1,
                                        "upperBound": 1
                                      },
                                      "values": ["offset="]
                                    },
                                    {
                                      "_type": "func",
                                      "function": "makeString",
                                      "parameters": [
                                        {
                                          "_type": "property",
                                          "parameters": [
                                            {
                                              "_type": "var",
                                              "name": "this"
                                            }
                                          ],
                                          "property": "offset"
                                        }
                                      ]
                                    }
                                  ]
                                }
                              ]
                            }
                          ],
                          "parameters": []
                        },
                        {
                          "_type": "lambda",
                          "body": [
                            {
                              "_type": "string",
                              "multiplicity": {
                                "lowerBound": 1,
                                "upperBound": 1
                              },
                              "values": [""]
                            }
                          ],
                          "parameters": []
                        }
                      ]
                    },
                    {
                      "_type": "func",
                      "function": "if",
                      "parameters": [
                        {
                          "_type": "func",
                          "function": "isNotEmpty",
                          "parameters": [
                            {
                              "_type": "property",
                              "parameters": [
                                {
                                  "_type": "var",
                                  "name": "this"
                                }
                              ],
                              "property": "documentation"
                            }
                          ]
                        },
                        {
                          "_type": "lambda",
                          "body": [
                            {
                              "_type": "func",
                              "function": "plus",
                              "parameters": [
                                {
                                  "_type": "collection",
                                  "multiplicity": {
                                    "lowerBound": 3,
                                    "upperBound": 3
                                  },
                                  "values": [
                                    {
                                      "_type": "string",
                                      "multiplicity": {
                                        "lowerBound": 1,
                                        "upperBound": 1
                                      },
                                      "values": [", "]
                                    },
                                    {
                                      "_type": "string",
                                      "multiplicity": {
                                        "lowerBound": 1,
                                        "upperBound": 1
                                      },
                                      "values": ["documentation="]
                                    },
                                    {
                                      "_type": "func",
                                      "function": "makeString",
                                      "parameters": [
                                        {
                                          "_type": "property",
                                          "parameters": [
                                            {
                                              "_type": "var",
                                              "name": "this"
                                            }
                                          ],
                                          "property": "documentation"
                                        }
                                      ]
                                    }
                                  ]
                                }
                              ]
                            }
                          ],
                          "parameters": []
                        },
                        {
                          "_type": "lambda",
                          "body": [
                            {
                              "_type": "string",
                              "multiplicity": {
                                "lowerBound": 1,
                                "upperBound": 1
                              },
                              "values": [""]
                            }
                          ],
                          "parameters": []
                        }
                      ]
                    },
                    {
                      "_type": "func",
                      "function": "if",
                      "parameters": [
                        {
                          "_type": "func",
                          "function": "isNotEmpty",
                          "parameters": [
                            {
                              "_type": "property",
                              "parameters": [
                                {
                                  "_type": "var",
                                  "name": "this"
                                }
                              ],
                              "property": "enumMappingId"
                            }
                          ]
                        },
                        {
                          "_type": "lambda",
                          "body": [
                            {
                              "_type": "func",
                              "function": "plus",
                              "parameters": [
                                {
                                  "_type": "collection",
                                  "multiplicity": {
                                    "lowerBound": 3,
                                    "upperBound": 3
                                  },
                                  "values": [
                                    {
                                      "_type": "string",
                                      "multiplicity": {
                                        "lowerBound": 1,
                                        "upperBound": 1
                                      },
                                      "values": [", "]
                                    },
                                    {
                                      "_type": "string",
                                      "multiplicity": {
                                        "lowerBound": 1,
                                        "upperBound": 1
                                      },
                                      "values": ["enumMappingId="]
                                    },
                                    {
                                      "_type": "func",
                                      "function": "makeString",
                                      "parameters": [
                                        {
                                          "_type": "property",
                                          "parameters": [
                                            {
                                              "_type": "var",
                                              "name": "this"
                                            }
                                          ],
                                          "property": "enumMappingId"
                                        }
                                      ]
                                    }
                                  ]
                                }
                              ]
                            }
                          ],
                          "parameters": []
                        },
                        {
                          "_type": "lambda",
                          "body": [
                            {
                              "_type": "string",
                              "multiplicity": {
                                "lowerBound": 1,
                                "upperBound": 1
                              },
                              "values": [""]
                            }
                          ],
                          "parameters": []
                        }
                      ]
                    },
                    {
                      "_type": "func",
                      "function": "if",
                      "parameters": [
                        {
                          "_type": "func",
                          "function": "isNotEmpty",
                          "parameters": [
                            {
                              "_type": "property",
                              "parameters": [
                                {
                                  "_type": "var",
                                  "name": "this"
                                }
                              ],
                              "property": "sourceDataType"
                            }
                          ]
                        },
                        {
                          "_type": "lambda",
                          "body": [
                            {
                              "_type": "func",
                              "function": "plus",
                              "parameters": [
                                {
                                  "_type": "collection",
                                  "multiplicity": {
                                    "lowerBound": 3,
                                    "upperBound": 3
                                  },
                                  "values": [
                                    {
                                      "_type": "string",
                                      "multiplicity": {
                                        "lowerBound": 1,
                                        "upperBound": 1
                                      },
                                      "values": [", "]
                                    },
                                    {
                                      "_type": "string",
                                      "multiplicity": {
                                        "lowerBound": 1,
                                        "upperBound": 1
                                      },
                                      "values": ["sourceDataType="]
                                    },
                                    {
                                      "_type": "func",
                                      "function": "makeString",
                                      "parameters": [
                                        {
                                          "_type": "property",
                                          "parameters": [
                                            {
                                              "_type": "var",
                                              "name": "this"
                                            }
                                          ],
                                          "property": "sourceDataType"
                                        }
                                      ]
                                    }
                                  ]
                                }
                              ]
                            }
                          ],
                          "parameters": []
                        },
                        {
                          "_type": "lambda",
                          "body": [
                            {
                              "_type": "string",
                              "multiplicity": {
                                "lowerBound": 1,
                                "upperBound": 1
                              },
                              "values": [""]
                            }
                          ],
                          "parameters": []
                        }
                      ]
                    },
                    {
                      "_type": "string",
                      "multiplicity": {
                        "lowerBound": 1,
                        "upperBound": 1
                      },
                      "values": [")"]
                    }
                  ]
                }
              ]
            }
          ],
          "name": "toString",
          "parameters": [],
          "returnMultiplicity": {
            "lowerBound": 1,
            "upperBound": 1
          },
          "returnType": "String"
        }
      ]
    },
    {
      "stereotypes": ["Key"],
      "package": "meta::pure::profiles",
      "_type": "profile",
      "name": "equality"
    },
    {
      "_type": "class",
      "name": "Enum",
      "package": "meta::pure::metamodel::path"
    },
    {
      "_type": "class",
      "name": "DataType",
      "package": "meta::pure::metamodel::type"
    },
    {
      "_type": "class",
      "name": "AlloySerializationConfig",
      "package": "meta::pure::graphFetch::execution",
      "properties": [
        {
          "multiplicity": {
            "lowerBound": 1,
            "upperBound": 1
          },
          "name": "typeKeyName",
          "taggedValues": [
            {
              "tag": {
                "profile": "meta::pure::profiles::doc",
                "value": "doc"
              },
              "value": "Give a custom typeKey name. Defaults to @Type"
            }
          ],
          "type": "String"
        },
        {
          "multiplicity": {
            "lowerBound": 0,
            "upperBound": 1
          },
          "name": "includeType",
          "taggedValues": [
            {
              "tag": {
                "profile": "meta::pure::profiles::doc",
                "value": "doc"
              },
              "value": "Set to true to include type info of the serialized class"
            }
          ],
          "type": "Boolean"
        },
        {
          "multiplicity": {
            "lowerBound": 0,
            "upperBound": 1
          },
          "name": "includeEnumType",
          "taggedValues": [
            {
              "tag": {
                "profile": "meta::pure::profiles::doc",
                "value": "doc"
              },
              "value": "Set to True to include path to element for Enums"
            }
          ],
          "type": "Boolean"
        },
        {
          "multiplicity": {
            "lowerBound": 0,
            "upperBound": 1
          },
          "name": "dateTimeFormat",
          "taggedValues": [
            {
              "tag": {
                "profile": "meta::pure::profiles::doc",
                "value": "doc"
              },
              "value": "Give a valid string of dateTime format to serialize the dateTime properties respectively"
            }
          ],
          "type": "String"
        },
        {
          "multiplicity": {
            "lowerBound": 0,
            "upperBound": 1
          },
          "name": "removePropertiesWithNullValues",
          "type": "Boolean"
        },
        {
          "multiplicity": {
            "lowerBound": 0,
            "upperBound": 1
          },
          "name": "removePropertiesWithEmptySets",
          "type": "Boolean"
        },
        {
          "multiplicity": {
            "lowerBound": 0,
            "upperBound": 1
          },
          "name": "fullyQualifiedTypePath",
          "taggedValues": [
            {
              "tag": {
                "profile": "meta::pure::profiles::doc",
                "value": "doc"
              },
              "value": "Set to true to include fully qualified type info of the serialized class"
            }
          ],
          "type": "Boolean"
        },
        {
          "multiplicity": {
            "lowerBound": 0,
            "upperBound": 1
          },
          "name": "includeObjectReference",
          "taggedValues": [
            {
              "tag": {
                "profile": "meta::pure::profiles::doc",
                "value": "doc"
              },
              "value": "Set to True to include Alloy Store Object Reference"
            }
          ],
          "type": "Boolean"
        }
      ]
    },
    {
      "_type": "class",
      "name": "Mapping",
      "package": "meta::pure::mapping"
    },
    {
      "_type": "class",
      "name": "Relation",
      "package": "meta::pure::metamodel::relation"
    },
    {
      "_type": "class",
      "name": "PackageableRuntime",
      "package": "meta::pure::runtime"
    }
  ]
}
