diff --git a/.vscode/settings.json b/.vscode/settings.json
new file mode 100644
index 0000000000000000000000000000000000000000..30a32942052c3414611bea6a160d74f76a56e643
--- /dev/null
+++ b/.vscode/settings.json
@@ -0,0 +1,14 @@
+{
+    "sqltools.connections": [
+        {
+            "previewLimit": 50,
+            "server": "localhost",
+            "port": 5432,
+            "askForPassword": true,
+            "driver": "PostgreSQL",
+            "name": "dadosana",
+            "database": "dadosana",
+            "username": "postgres"
+        }
+    ]
+}
\ No newline at end of file
diff --git a/config/.Rhistory b/config/.Rhistory
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/config/ci_test.yaml.example b/config/ci_test.yaml.example
deleted file mode 100644
index 4736b4d296b6b675991c16a4bbf85de2edc9af71..0000000000000000000000000000000000000000
--- a/config/ci_test.yaml.example
+++ /dev/null
@@ -1,87 +0,0 @@
-# gitignore ignores files.yaml in this folder
-# however a config file for tests in CI is required
-# so this example file in fact is the CI test file
-tags:
-    links:
-        - config/market_tags.yaml.example
-    obj:
-        -
-            name: "noDescription"
-            description: "Related with seller"
-views:
-    links:
-        - config/market_views.yaml.example
-    obj:
-        -
-            alias: "view:Seller"
-            data: "test/postgres/fixtures/seller.json"
-            origin: true
-            aliasAsName: true
-            dimensions:
-                - "dim:seller:name"
-                - "dim:seller:sex"
-                - "dim:seller:cpf"
-                - "dim:seller:id"
-                - "dim:seller:status"
-            metrics:
-                - "met:seller:avg:age"
-                - "met:seller:max:age"
-                - "met:seller:min:age"
-                - "met:seller:count:age"
-metrics:
-    links:
-        - config/market_metrics.yaml.example
-    obj:
-        - 
-            name: "met:seller:avg:age" 
-            dataType: "float"
-            aggregation: "avg"
-            description: "The seller average age"
-            tags:
-                - "seller"
-                - "age"
-dimensions:
-    links:
-        - config/market_dimensions.yaml.example
-    obj:
-        -
-            name: "dim:seller:name"
-            dataType: "string"
-            description: "Name of the seller from market"
-            tags:
-                - "seller"
-enumTypes:
-    links:
-        - config/market_enum.yaml.example
-    obj:
-        - []
-sources:
-    links:
-        - config/market_sources.yaml.example
-        - config/source_test_only.yaml.example
-    obj:
-        -
-            name: "Seller"
-            description: "Market worker"
-            fields:
-            -
-                name: "name"
-                description: "Seller name"
-                dataType: "string"
-            -
-                name: "age"
-                description: "Seller age"
-                dataType: "integer"
-            -
-                name: "sex"
-                description: "Seller sex"
-                enumType: "enumsex"
-                dataType: "enumtype"
-            -
-                name: "CPF"
-                description: "Seller CPF"
-                dataType: "string"
-            -
-                name: "id"
-                description: "Seller id"
-                dataType: "integer"
diff --git a/config/config.env.example b/config/config.env.example
index fcec8a5fe171bee6f2fb9a65f0628ea7cf896a53..1b1f5d9966bc6d0703029682df673004a603f7ec 100644
--- a/config/config.env.example
+++ b/config/config.env.example
@@ -1,11 +1,9 @@
-BLENDB_SCHEMA_FILE=config/config.yaml.example
-PORT=3000
-BLENDB_LOG_FILE=/var/log/blendb.log
-BLENDB_LOG_LEVEL=debug
-BLENDB_N_DB=1
+BLENDB_DB0_NAME=blendb
 BLENDB_DB0_USER=blendb
-BLENDB_DB0_NAME=blendb-test
-BLENDB_DB0_PASSWORD=secret
+BLENDB_DB0_PASSWORD=memudeporfavor
 BLENDB_DB0_HOST=localhost
 BLENDB_DB0_PORT=5432
 BLENDB_DB0_ADAPTER=postgres
+BLENDB_SCHEMA_FILE=config/config.yaml
+PORT=3000
+
diff --git a/config/config.yaml.example b/config/config.yaml.example
deleted file mode 100644
index 4736b4d296b6b675991c16a4bbf85de2edc9af71..0000000000000000000000000000000000000000
--- a/config/config.yaml.example
+++ /dev/null
@@ -1,87 +0,0 @@
-# gitignore ignores files.yaml in this folder
-# however a config file for tests in CI is required
-# so this example file in fact is the CI test file
-tags:
-    links:
-        - config/market_tags.yaml.example
-    obj:
-        -
-            name: "noDescription"
-            description: "Related with seller"
-views:
-    links:
-        - config/market_views.yaml.example
-    obj:
-        -
-            alias: "view:Seller"
-            data: "test/postgres/fixtures/seller.json"
-            origin: true
-            aliasAsName: true
-            dimensions:
-                - "dim:seller:name"
-                - "dim:seller:sex"
-                - "dim:seller:cpf"
-                - "dim:seller:id"
-                - "dim:seller:status"
-            metrics:
-                - "met:seller:avg:age"
-                - "met:seller:max:age"
-                - "met:seller:min:age"
-                - "met:seller:count:age"
-metrics:
-    links:
-        - config/market_metrics.yaml.example
-    obj:
-        - 
-            name: "met:seller:avg:age" 
-            dataType: "float"
-            aggregation: "avg"
-            description: "The seller average age"
-            tags:
-                - "seller"
-                - "age"
-dimensions:
-    links:
-        - config/market_dimensions.yaml.example
-    obj:
-        -
-            name: "dim:seller:name"
-            dataType: "string"
-            description: "Name of the seller from market"
-            tags:
-                - "seller"
-enumTypes:
-    links:
-        - config/market_enum.yaml.example
-    obj:
-        - []
-sources:
-    links:
-        - config/market_sources.yaml.example
-        - config/source_test_only.yaml.example
-    obj:
-        -
-            name: "Seller"
-            description: "Market worker"
-            fields:
-            -
-                name: "name"
-                description: "Seller name"
-                dataType: "string"
-            -
-                name: "age"
-                description: "Seller age"
-                dataType: "integer"
-            -
-                name: "sex"
-                description: "Seller sex"
-                enumType: "enumsex"
-                dataType: "enumtype"
-            -
-                name: "CPF"
-                description: "Seller CPF"
-                dataType: "string"
-            -
-                name: "id"
-                description: "Seller id"
-                dataType: "integer"
diff --git a/config/market_dimensions.yaml.example b/config/market_dimensions.yaml.example
deleted file mode 100644
index 3e85343d4e613235bbfd9fc5e7d853b727e54b6d..0000000000000000000000000000000000000000
--- a/config/market_dimensions.yaml.example
+++ /dev/null
@@ -1,81 +0,0 @@
--
-    name: "dim:seller:sex"
-    dataType: "enumtype"
-    enumType: "enumsex"
-    description: "Sexual orientation of the seller from market"
--
-    name: "dim:seller:cpf"
-    dataType: "string"
-    description: "CPF of the seller from market"
--
-    name: "dim:seller:status"
-    dataType: "enumtype"
-    enumType: "workingStatus"
-    description: "The status of the seller from market"
--
-    name: "dim:product:name"
-    dataType: "string"
-    description: "Name of the product from market"
--
-    name: "dim:product:validity"
-    dataType: "date"
-    description: "Validity of the product from market"
--
-    name: "dim:client:name"
-    dataType: "string"
-    description: "Name of the client from market"
--
-    name: "dim:client:cpf"
-    dataType: "string"
-    description: "CPF of the client from market"
--
-    name: "dim:sell:registered"
-    dataType: "boolean"
-    description: "Check if the client is registered"
--
-    name: "dim:seller:id"
-    dataType: "integer"
-    description: "id of the seller from market"
--
-    name: "dim:client:id"
-    dataType: "integer"
-    description: "id of the client from market"
--
-    name: "dim:sell:datein"
-    dataType: "date"
-    description: "Date of the sell was realized"
--
-    name: "dim:buyout:datein"
-    dataType: "date"
-    description: "Date of the buyout was realized"
--
-    name: "dim:product:id"
-    dataType: "integer"
-    description: "id of the product from market"
--
-    name: "dim:provider:name"
-    dataType: "string"
-    description: "Name of the provider from market"
--
-    name: "dim:provider:id"
-    dataType: "string"
-    description: "id of the provider from market"
--
-    name: "dim:buyout:day"
-    dataType: "integer"
-    parent: "dim:buyout:datein"
-    relation: "day" 
-    description: "Date of the buyout was realized"
--
-    name: "dim:buyout:month"
-    dataType: "integer"
-    parent: "dim:buyout:datein"
-    relation: "month"
-    description: "Date of the buyout was realized"
--
-    name: "dim:buyout:year"
-    dataType: "integer"
-    parent: "dim:buyout:datein"
-    relation: year
-    description: "Date of the buyout was realized"
-
diff --git a/config/market_enum.yaml.example b/config/market_enum.yaml.example
deleted file mode 100644
index 496f1b9447f1f1ab3ad03033196924133b3674fd..0000000000000000000000000000000000000000
--- a/config/market_enum.yaml.example
+++ /dev/null
@@ -1,16 +0,0 @@
--
-    name: "enumsex"
-    values:
-    - "male"
-    - "female"
-    - "nonbinary"
-    - "undecided"
--
-    name: "workingStatus"
-    values:
-     - "active"
-     - "inactive"
-     - "vacation"
-     - "sick leave"
-     - "maternity leave"
-     - "stand by"
diff --git a/config/market_main.yaml.example b/config/market_main.yaml.example
deleted file mode 100644
index 32db12921d05daee820913e0587e4093999ed2b4..0000000000000000000000000000000000000000
--- a/config/market_main.yaml.example
+++ /dev/null
@@ -1,70 +0,0 @@
-views:
-    links:
-        - config/market_views.yaml.example
-    obj:
-        -
-            alias: "view:Seller"
-            data: "test/postgres/fixtures/seller.json"
-            origin: true
-            dimensions:
-                - "dim:seller:name"
-                - "dim:seller:sex"
-                - "dim:seller:cpf"
-                - "dim:seller:id"
-                - "dim:seller:status"
-            metrics:
-                - "met:seller:avg:age"
-                - "met:seller:max:age"
-                - "met:seller:min:age"
-                - "met:seller:count:age"
-metrics:
-    links:
-        - config/market_metrics.yaml.example
-    obj:
-        - 
-            name: "met:seller:avg:age" 
-            dataType: "float"
-            aggregation: "avg"
-            description: "The seller average age"
-dimensions:
-    links:
-        - config/market_dimensions.yaml.example
-    obj:
-        -
-            name: "dim:seller:name"
-            dataType: "string"
-            description: "Name of the seller from market"
-enumTypes:
-    links:
-        - config/market_enum.yaml.example
-    obj:
-        - []
-sources:
-    links:
-        - config/market_sources.yaml.example
-    obj:
-        -
-            name: "Seller"
-            description: "Market worker"
-            fields:
-            -
-                name: "name"
-                description: "Seller name"
-                dataType: "string"
-            -
-                name: "age"
-                description: "Seller age"
-                dataType: "integer"
-            -
-                name: "sex"
-                description: "Seller sex"
-                enumType: "enumsex"
-                dataType: "enumtype"
-            -
-                name: "CPF"
-                description: "Seller CPF"
-                dataType: "string"
-            -
-                name: "id"
-                description: "Seller id"
-                dataType: "integer"
diff --git a/config/market_metrics.yaml.example b/config/market_metrics.yaml.example
deleted file mode 100644
index 320defff801b451ed3f20e1e60afaecf4ab0733b..0000000000000000000000000000000000000000
--- a/config/market_metrics.yaml.example
+++ /dev/null
@@ -1,106 +0,0 @@
--     
-    name: "met:seller:max:age"                        
-    dataType: "integer"
-    aggregation: "max"
-    description: "The seller highest age"
-    tags:
-        - "seller"
-        - "age"
-        - "max"
-- 
-    name: "met:seller:min:age"
-    dataType: "integer"
-    aggregation: "min"
-    description: "The seller lowest age"
-    tags:
-        - "seller"
-        - "age"
-- 
-    name: "met:seller:count:age"
-    dataType: "integer"
-    aggregation: "count"
-    description: "The number of seller's"
-    tags:
-        - "seller"
-        - "age"
-- 
-    name: "met:product:avg:pricein"
-    dataType: "float"
-    aggregation: "avg"
-    description: "The average product pricein"
-    tags:
-        - "product"
-- 
-    name: "met:product:max:pricein"
-    dataType: "float"
-    aggregation: "max"
-    description: "The highest product pricein"
-    tags:
-        - "product"
-        - "max"
-- 
-    name: "met:product:min:pricein"
-    dataType: "float"
-    aggregation: "min"
-    description: "The lowest product pricein"
-    tags:
-        - "product"
-- 
-    name: "met:product:avg:priceout"
-    dataType: "float"
-    aggregation: "avg"
-    description: "The average product priceout"
-    tags:
-        - "product"
-- 
-    name: "met:product:max:priceout"
-    dataType: "float"
-    aggregation: "max"
-    description: "The highest product priceout"
-    tags:
-        - "product"
-        - "max"
-- 
-    name: "met:product:min:priceout"
-    dataType: "float"
-    aggregation: "min"
-    description: "The lowest product priceout"
-    tags:
-        - "product"
-- 
-    name: "met:sell:sum:quantity"
-    dataType: "integer"
-    aggregation: "sum"
-    description: "The sum of sales quantity"
-- 
-    name: "met:sell:avg:quantity"
-    dataType: "float"
-    aggregation: "avg"
-    description: "The average of sales quantity"
-- 
-    name: "met:sell:count:quantity"
-    dataType: "integer"
-    aggregation: "count"
-    description: "The total number of sales"
-- 
-    name: "met:buyout:avg:quantity"
-    dataType: "float"
-    aggregation: "avg"
-    description: "The average of quantity bought"
-    tags:
-        - "buyout"
-- 
-    name: "met:buyout:max:quantity"
-    dataType: "integer"
-    aggregation: "max"
-    description: "The highest quantity bought"
-    tags:
-        - "buyout"
-        - "max"
-- 
-    name: "met:buyout:min:quantity"
-    dataType: "integer"
-    aggregation: "min"
-    description: "The lowest quantity bought"
-    tags:
-        - "buyout"
diff --git a/config/market_sources.yaml.example b/config/market_sources.yaml.example
deleted file mode 100644
index 96583bf7fb29c6c9993babee755692cc64465626..0000000000000000000000000000000000000000
--- a/config/market_sources.yaml.example
+++ /dev/null
@@ -1,112 +0,0 @@
--
-    name: "Product"
-    description: "Market product"
-    fields:
-    -
-        name: "name"
-        description: "Product name"
-        dataType: "string"
-    -
-        name: "pricein"
-        description: "Product purchase price"
-        dataType: "float"
-    -
-        name: "priceout"
-        description: "Product price"
-        dataType: "float"
-    -
-        name: "validity"
-        description: "Product validity"
-        dataType: "date"
-    -
-        name: "id"
-        description: "Product id"
-        dataType: "integer"
--
-    name: "Client"
-    description: "Market client"
-    fields:
-    -
-        name: "name"
-        description: "Client name"
-        dataType: "string"
-    -
-        name: "CPF"
-        description: "Client CPF"
-        dataType: "string"
-    -
-        name: "id"
-        description: "Client id"
-        dataType: "integer"
--
-    name: "Sell"
-    description: "Market sale"
-    fields:
-    -
-        name: "Registered"
-        description: "Check if client is registered"
-        dataType: "boolean"
-    -
-        name: "Product.id"
-        description: "id from product"
-        dataType: "integer"
-    -
-        name: "Client.id"
-        description: "id from seller"
-        dataType: "integer"
-    -
-        name: "Seller.id"
-        description: "id from seller"
-        dataType: "integer"
-    -  
-        name: "Quantity"
-        description: "How many is being bought"
-        dataType: "integer"
-    -
-        name: "Datein"
-        description: "Date of buy from Provider"
-        dataType: "date"
--
-    name: "Buyout"
-    description: "Market buyout"
-    fields:
-    -
-        name: "datein"
-        description: "date of entry"
-        dataType: "date"
-    -
-        name: "quantity"
-        description: "how many products has been bought"
-        dataType: "integer"
-    -
-        name: "Provider.id"
-        description: "Provider id"
-        dataType: "integer"
-    -
-        name: "Product.id"
-        description: "Product id"
-        dataType: "integer"
--
-    name: "Provider"
-    description: "Market provider"
-    fields:
-    -
-        name: "name"
-        description: "Provider product name"
-        dataType: "string"
-    -
-        name: "id"
-        description: "Provider id"
-        dataType: "integer"
--
-    name: "Distribute"
-    description: "Relation between Provider and Product"
-    fields:
-    -
-        name: "Provider.id"
-        description: "Provider id"
-        dataType: "integer"
-    -
-        name: "Product.id"
-        description: "Product id"
-        dataType: "integer"
diff --git a/config/market_tags.yaml.example b/config/market_tags.yaml.example
deleted file mode 100644
index 48fc078e6f943eae315c00a2990de7ad745fe65e..0000000000000000000000000000000000000000
--- a/config/market_tags.yaml.example
+++ /dev/null
@@ -1,21 +0,0 @@
--
-    name: "seller"
-    description: "Related with seller"
--
-    name: "age"
-    description: "Related with age"
--
-    name: "product"
-    description: "Related with product"
--
-    name: "client"
-    description: "Related with client"
--
-    name: "buyout"
-    description: "Related with buyout"
--
-    name: "provider"
-    description: "Related with provider"
--
-    name: "max"
-    description: "Aggregation Max"
diff --git a/config/market_views.yaml.example b/config/market_views.yaml.example
deleted file mode 100644
index c5b681d117a51addace4ddb71a9c0da06224e072..0000000000000000000000000000000000000000
--- a/config/market_views.yaml.example
+++ /dev/null
@@ -1,90 +0,0 @@
--
-    alias: "view:Product"
-    data: "test/postgres/fixtures/product.json"
-    origin: true
-    aliasAsName: true
-    dimensions:
-        - "dim:product:name"
-        - "dim:product:validity"
-        - "dim:product:id"
-    metrics:
-        - "met:product:avg:pricein"
-        - "met:product:max:pricein"
-        - "met:product:min:pricein"
-        - "met:product:avg:priceout"
-        - "met:product:max:priceout"
-        - "met:product:min:priceout"
--
-    alias: "view:Client"
-    data: "test/postgres/fixtures/client.json"
-    origin: true
-    aliasAsName: true
-    dimensions:
-        - "dim:client:name"
-        - "dim:client:cpf"
-        - "dim:client:id"    
--
-    alias: "view:Sell"
-    data: "test/postgres/fixtures/sell.json"
-    origin: true
-    aliasAsName: true
-    dimensions:
-        - "dim:sell:registered"
-        - "dim:product:id"
-        - "dim:seller:id"
-        - "dim:client:id"
-        - "dim:sell:datein"
-    metrics:
-        - "met:sell:sum:quantity"
-        - "met:sell:avg:quantity"
-        - "met:sell:count:quantity"
--
-    alias: "view:Buyout"
-    data: "test/postgres/fixtures/buyout.json"
-    origin: true
-    aliasAsName: true
-    dimensions:
-        - "dim:buyout:datein"
-        - "dim:provider:id"
-        - "dim:product:id"
-    metrics:
-        - "met:buyout:avg:quantity"
-        - "met:buyout:max:quantity"
-        - "met:buyout:min:quantity"
--
-    alias: "view:Provider"
-    data: "test/postgres/fixtures/provider.json"
-    origin: true
-    aliasAsName: true
-    dimensions:
-        - "dim:provider:name"
-        - "dim:provider:id"   
--
-    alias: "view:Distribute"
-    data: "test/postgres/fixtures/distribute.json"
-    origin: true
-    aliasAsName: true
-    dimensions:
-        - "dim:provider:id"
-        - "dim:product:id"
--
-    alias: "view:ActiveSeller"
-    data: "test/postgres/fixtures/activeseller.json"
-    origin: true
-    aliasAsName: true
-    dimensions:
-        - "dim:seller:name"
-        - "dim:seller:status"
-    metrics:
-        - "met:seller:max:age"
-    clauses:
-        - "dim:seller:status==active"
--
-    alias: "view:SellerStatus"
-    data: "test/postgres/fixtures/sellerstatus.json"
-    origin: false
-    aliasAsName: true
-    metrics:
-        - "met:seller:count:age"
-    dimensions:
-        - "dim:seller:status"
diff --git a/config/parse/dim_ana_aluno.yaml b/config/parse/dim_ana_aluno.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..5695712096e073376b74971210b35909723783aa
--- /dev/null
+++ b/config/parse/dim_ana_aluno.yaml
@@ -0,0 +1,444 @@
+-
+    name: "dim:ana:aluno:area"
+    dataType: "integer"
+    description: "Área"
+    tags:
+        - "ana"
+-
+    name: "dim:ana:aluno:escola:id"
+    dataType: "integer"
+    description: "Código da Escola"
+    tags:
+        - "ana"
+-
+    name: "dim:ana:aluno:escola"
+    dataType: "integer"
+    description: "Código da Escola"
+    tags:
+        - "ana"
+-
+    name: "dim:escola:dependencia:administrativa:id"
+    dataType: "integer"
+    description: "Dependência Administrativa"
+    tags:
+        - "ana"
+-
+    name: "dim:escola:zona:residencial"
+    dataType: "integer"
+    description: "Localização"
+    tags:
+        - "ana"
+-
+    name: "dim:ana:aluno:turma:id"
+    dataType: "integer"
+    description: "Código da turma na ANA"
+    tags:
+        - "ana"
+-
+    name: "dim:turma:turno"
+    dataType: "integer"
+    description: "Turno da Turma"
+    tags:
+        - "ana"
+-
+    name: "dim:ana:aluno:serie:id"
+    dataType: "integer"
+    description: "Série"
+    tags:
+        - "ana"
+-
+    name: "dim:ana:aluno:codigo:id"
+    dataType: "integer"
+    description: "Código do aluno na ANA"
+    tags:
+        - "ana"
+-
+    name: "dim:ana:aluno:situacao:censo"
+    dataType: "integer"
+    description: "Indicador de Consistência com o Censo Escolar 20165"
+    tags:
+        - "ana"
+-
+    name: "dim:ana:aluno:presenca:lp"
+    dataType: "integer"
+    description: "Indicador de presença no dia dos testes de Língua Portuguesa (Leitura e Escrita)"
+    tags:
+        - "ana"
+-
+    name: "dim:ana:aluno:presenca:matematica"
+    dataType: "integer"
+    description: "Indicador de presença no dia dos testes de Matemática"
+    tags:
+        - "ana"
+-
+    name: "dim:ana:aluno:preenchimento:lp"
+    dataType: "integer"
+    description: "Indicador de preenchimento dos testes de Língua Portuguesa (Leitura e Escrita)"
+    tags:
+        - "ana"
+-
+    name: "dim:ana:aluno:preenchimento:matematica"
+    dataType: "integer"
+    description: "Indicador de preenchimento dos testes de Matemática"
+    tags:
+        - "ana"
+-
+    name: "dim:ana:aluno:tipo:presenca:lp"
+    dataType: "integer"
+    description: "Tipo da situação de presença na aplicação dos testes de Língua Portuguesa (Leitura e Escrita). Informação contida na Lista de Presença."
+    tags:
+        - "ana"
+-
+    name: "dim:ana:aluno:tipo:presenca:matematica"
+    dataType: "integer"
+    description: "Tipo da situação de presença na aplicação do teste de Matemática (Leitura e Escrita). Informação contida na Lista de Presença."
+    tags:
+        - "ana"
+-
+    name: "dim:ana:aluno:sala:exclusiva:lp"
+    dataType: "boolean"
+    description: "Indicador de atendimento em sala exclusiva para candidatos com necessidades especiais que realizaram testes de Língua Portuguesa (Leitura e Escrita)"
+    tags:
+        - "ana"
+-
+    name: "dim:ana:aluno:sala:exclusiva:matematica"
+    dataType: "boolean"
+    description: "Indicador de atendimento em sala exclusiva para candidatos com necessidades especiais que realizaram testes de Matemática"
+    tags:
+        - "ana"
+-
+    name: "dim:ana:aluno:recurso:leitura"
+    dataType: "boolean"
+    description: "Indicador de solicitação de recurso disponibilizado pela ESCOLA: Auxílio para leitura"
+    tags:
+        - "ana"
+-
+    name: "dim:ana:aluno:recurso:transcricao"
+    dataType: "boolean"
+    description: "Indicador de solicitação de recurso disponibilizado pela ESCOLA: Auxílio para transcrição"
+    tags:
+        - "ana"
+-
+    name: "dim:ana:aluno:recurso:libras"
+    dataType: "boolean"
+    description: "Indicador de solicitação de recurso disponibilizado pela ESCOLA: Intérprete de libras"
+    tags:
+        - "ana"
+-
+    name: "dim:ana:aluno:recurso:guia"
+    dataType: "boolean"
+    description: "Indicador de solicitação de recurso disponibilizado pela ESCOLA: Guia intérprete (para surdocegueira)"
+    tags:
+        - "ana"
+-
+    name: "dim:ana:aluno:recurso:nenhum"
+    dataType: "boolean"
+    description: "Indicador de solicitação de recurso disponibilizado pela ESCOLA: Nenhum"
+    tags:
+        - "ana"
+-
+    name: "dim:ana:aluno:recurso:cd"
+    dataType: "boolean"
+    description: "Indicador de solicitação de recurso disponibilizado pela ESCOLA:Aparelho de CD"
+    tags:
+        - "ana"
+-
+    name: "dim:ana:aluno:recurso:dvd"
+    dataType: "boolean"
+    description: "Indicador de solicitação de recurso disponibilizado pela ESCOLA:Aparelho de DVD"
+    tags:
+        - "ana"
+-
+    name: "dim:ana:aluno:recurso:computador"
+    dataType: "boolean"
+    description: "Indicador de solicitação de recurso disponibilizado pela ESCOLA:Computador"
+    tags:
+        - "ana"
+-
+    name: "dim:ana:aluno:recurso:maquina:escrever"
+    dataType: "boolean"
+    description: "Indicador de solicitação de recurso disponibilizado pela ESCOLA: Máquina de escrever (perkins)"
+    tags:
+        - "ana"
+-
+    name: "dim:ana:aluno:recurso:televisao"
+    dataType: "boolean"
+    description: "Indicador de solicitação de recurso disponibilizado pela ESCOLA: Monitor/televisão"
+    tags:
+        - "ana"
+-
+    name: "dim:ana:aluno:recurso:puncao"
+    dataType: "boolean"
+    description: "Indicador de solicitação de recurso disponibilizado pela ESCOLA: Punção"
+    tags:
+        - "ana"
+-
+    name: "dim:ana:aluno:recurso:reglete"
+    dataType: "boolean"
+    description: "Indicador de solicitação de recurso disponibilizado pela ESCOLA:Reglete"
+    tags:
+        - "ana"
+-
+    name: "dim:ana:aluno:recurso:sorabam"
+    dataType: "boolean"
+    description: "Indicador de solicitação de recurso - ESCOLA: Sorabam"
+    tags:
+        - "ana"
+-
+    name: "dim:ana:aluno:recurso:software:tela"
+    dataType: "boolean"
+    description: "Indicador de solicitação de recurso disponibilizado pela ESCOLA:Software de tela"
+    tags:
+        - "ana"
+-
+    name: "dim:ana:aluno:recurso:inep:leitura"
+    dataType: "boolean"
+    description: "Indicador de solicitação de recurso disponibilizado pelo Inep: Auxílio para leitura"
+    tags:
+        - "ana"
+-
+    name: "dim:ana:aluno:recurso:inep:transcricao"
+    dataType: "boolean"
+    description: "Indicador de solicitação de recurso disponibilizado pelo Inep: Auxílio para transcrição"
+    tags:
+        - "ana"
+-
+    name: "dim:ana:aluno:recurso:inep:libras"
+    dataType: "boolean"
+    description: "Indicador de solicitação de recurso disponibilizado pelo Inep: Intérprete de libras"
+    tags:
+        - "ana"
+-
+    name: "dim:ana:aluno:recurso:inep:leitor:labial"
+    dataType: "boolean"
+    description: "Indicador de solicitação de recurso disponibilizado pelo Inep: Leitor labial"
+    tags:
+        - "ana"
+-
+    name: "dim:ana:aluno:recurso:inep:guia:interprete"
+    dataType: "boolean"
+    description: "Indicador de solicitação de recurso disponibilizado pelo Inep: Guia intérprete (para surdocegueira)"
+    tags:
+        - "ana"
+-
+    name: "dim:ana:aluno:recurso:inep:nenhum"
+    dataType: "boolean"
+    description: "Indicador de solicitação de recurso disponibilizado pelo Inep: Nenhum"
+    tags:
+        - "ana"
+-
+    name: "dim:ana:aluno:recurso:inep:aplicador:extra"
+    dataType: "boolean"
+    description: "Indicador de solicitação de recurso disponibilizado pelo Inep: Aplicador extra"
+    tags:
+        - "ana"
+-
+    name: "dim:ana:aluno:recurso:inep:adaptada:surdo"
+    dataType: "boolean"
+    description: "Indicador de solicitação de recurso disponibilizado pelo Inep: Prova adaptada para surdos"
+    tags:
+        - "ana"
+-
+    name: "dim:ana:aluno:recurso:inep:prova:ampliada:fote:18"
+    dataType: "boolean"
+    description: "Indicador de solicitação de recurso disponibilizado pelo Inep: Prova ampliada (fonte 18)"
+    tags:
+        - "ana"
+-
+    name: "dim:ana:aluno:recurso:inep:prova:ampliada:fote:24"
+    dataType: "boolean"
+    description: "Indicador de solicitação de recurso disponibilizado pelo Inep: Prova superampliada (fonte 24)"
+    tags:
+        - "ana"
+-
+    name: "dim:ana:aluno:recurso:inep:prova:braile"
+    dataType: "boolean"
+    description: "Indicador de solicitação de recurso disponibilizado pelo Inep: Prova em braille"
+    tags:
+        - "ana"
+-
+    name: "dim:ana:aluno:codigo:caderno:lp:leitura"
+    dataType: "integer"
+    description: "Código do Caderno de Provas do Teste de Língua Portuguesa (Leitura)"
+    tags:
+        - "ana"
+-
+    name: "dim:ana:aluno:codigo:caderno:lp:escrita"
+    dataType: "integer"
+    description: "Código do Caderno de Provas do Teste de Língua Portuguesa (Escrita)"
+    tags:
+        - "ana"
+-
+    name: "dim:ana:aluno:codigo:caderno:matematica"
+    dataType: "integer"
+    description: "Código do Caderno de Provas do Teste de Matemática"
+    tags:
+        - "ana"
+-
+    name: "dim:ana:aluno:resposta:lp"
+    dataType: "string"
+    description: "Resposta do Aluno ao Teste de Leitura em Língua Portuguesa"
+    tags:
+        - "ana"
+-
+    name: "dim:ana:aluno:resposta:matematica"
+    dataType: "string"
+    description: "Resposta do Aluno ao Teste de Matemática"
+    tags:
+        - "ana"
+-
+    name: "dim:ana:aluno:conceito:q1:lp"
+    dataType: "string"
+    description: "Conceito obtido na questão 1 do teste de Escrita em Língua portuguesa (escrita de palavras)"
+    tags:
+        - "ana"
+-
+    name: "dim:ana:aluno:conceito:q2:lp"
+    dataType: "string"
+    description: "Conceito obtido na questão 2 do teste de Escrita em Língua portuguesa (escrita de palavras)"
+    tags:
+        - "ana"
+-
+    name: "dim:ana:aluno:conceito:q3:ortografia"
+    dataType: "string"
+    description: "Conceito obtido para ortografia na questão 3 do teste de Escrita em Língua portuguesa (produção de textos)"
+    tags:
+        - "ana"
+-
+    name: "dim:ana:aluno:conceito:q3:coesao"
+    dataType: "string"
+    description: "Conceito obtido para coesão na questão 3 do teste de Escrita em Língua portuguesa (produção de textos)"
+    tags:
+        - "ana"
+-
+    name: "dim:ana:aluno:conceito:q3:segmentacao"
+    dataType: "string"
+    description: "Conceito obtido para segmentação na questão 3 do teste de Escrita em Língua portuguesa (produção de textos)"
+    tags:
+        - "ana"
+-
+    name: "dim:ana:aluno:conceito:q3:pontuacao"
+    dataType: "string"
+    description: "Conceito obtido para pontuação na questão 3 do teste de Escrita em Língua portuguesa (produção de textos)"
+    tags:
+        - "ana"
+-
+    name: "dim:ana:aluno:conceito:q3:progressao:tematica"
+    dataType: "string"
+    description: "Conceito obtido para progressão temática na questão 3 do teste de Escrita em Língua portuguesa (produção de textos)"
+    tags:
+        - "ana"
+-
+    name: "dim:ana:aluno:conceito:q3:elementos:narrativa"
+    dataType: "string"
+    description: "Conceito obtido para elementos da narrativa na questão 3 do teste de Escrita em Língua portuguesa (produção de textos)"
+    tags:
+        - "ana"
+-
+    name: "dim:ana:aluno:leitura:peso:lp"
+    dataType: "float"
+    description: "Peso do Aluno em Língua Portuguesa (Leitura)"
+    tags:
+        - "ana"
+-
+    name: "dim:ana:aluno:leitura:proficiencia:lp"
+    dataType: "integer"
+    description: "Posicionamento do aluno na escala de proficiência em Leitura em Língua Portuguesa"
+    tags:
+        - "ana"
+-
+    name: "dim:ana:aluno:leitura:proficiencia:lp:escala:0"
+    dataType: "float"
+    description: "Proficiência do aluno em Leitura em Língua Portuguesa calculada na escala única da ANA, com média = 0 e desvio = 1 na população de referência"
+    tags:
+        - "ana"
+-
+    name: "dim:ana:aluno:leitura:erro:padrao:lp"
+    dataType: "float"
+    description: "Erro padrão da proficiência em Leitura em Língua Portuguesa"
+    tags:
+        - "ana"
+-
+    name: "dim:ana:aluno:leitura:proficiencia:lp:escala:500"
+    dataType: "float"
+    description: "Proficiência em Leitura em Língua Portuguesa transformada na escala única da ANA, com média = 500, desvio = 100"
+    tags:
+        - "ana"
+-
+    name: "dim:ana:aluno:leitura:erro:padrao:lp:transformada"
+    dataType: "float"
+    description: "Erro padrão da proficiência transformada em Leitura em Língua Portuguesa"
+    tags:
+        - "ana"
+-
+    name: "dim:ana:aluno:escrita:peso:lp"
+    dataType: "float"
+    description: "Peso do Aluno em Língua Portuguesa (Escrita)"
+    tags:
+        - "ana"
+-
+    name: "dim:ana:aluno:escrita:proficiencia:lp"
+    dataType: "integer"
+    description: "Posicionamento do aluno na escala de proficiência em Escrita em Língua Portuguesa"
+    tags:
+        - "ana"
+-
+    name: "dim:ana:aluno:escrita:proficiencia:lp:escala:0"
+    dataType: "float"
+    description: "Proficiência do aluno em Escrita em Língua Portuguesa calculada na escala única da ANA, com média = 0 e desvio = 1 na população de referência"
+    tags:
+        - "ana"
+-
+    name: "dim:ana:aluno:escrita:erro:padrao:lp"
+    dataType: "float"
+    description: "Erro padrão da proficiência em Escrita em Língua Portuguesa"
+    tags:
+        - "ana"
+-
+    name: "dim:ana:aluno:escrita:proficiencia:lp:escala:500"
+    dataType: "float"
+    description: "Proficiência em Escrita em Língua Portuguesa transformada na escala única da ANA, com média = 500, desvio = 100"
+    tags:
+        - "ana"
+-
+    name: "dim:ana:aluno:escrita:erro:padrao:lp:transformada"
+    dataType: "float"
+    description: "Erro padrão da proficiência transformada em Escrita em Língua Portuguesa"
+    tags:
+        - "ana"
+-
+    name: "dim:ana:aluno:peso:matematica"
+    dataType: "float"
+    description: "Peso do Aluno em Matemática"
+    tags:
+        - "ana"
+-
+    name: "dim:ana:aluno:proficiencia:matematica"
+    dataType: "integer"
+    description: "Posicionamento do aluno na escala de proficiência em Matemática"
+    tags:
+        - "ana"
+-
+    name: "dim:ana:aluno:proficiencia:matematica:escala:0"
+    dataType: "float"
+    description: "Proficiência do aluno em Matemática calculada na escala única da ANA, com média = 0 e desvio = 1 na população de referência"
+    tags:
+        - "ana"
+-
+    name: "dim:ana:aluno:erro:padrao:matematica"
+    dataType: "float"
+    description: "Erro padrão da proficiência em Matemática"
+    tags:
+        - "ana"
+-
+    name: "dim:ana:aluno:proficiencia:matematica:escala:500"
+    dataType: "float"
+    description: "Proficiência do aluno em Matemática transformada na escala única da ANA, com média = 500, desvio = 100"
+    tags:
+        - "ana"
+-
+    name: "dim:ana:aluno:erro:padrao:matematica:transformada"
+    dataType: "float"
+    description: "Erro padrão da proficiência transformada em Matemática"
+    tags:
+        - "ana"
diff --git a/config/parse/dim_ana_escola.yaml b/config/parse/dim_ana_escola.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..0016fad7af5b18ce7dfa99c5bd17e89f78811325
--- /dev/null
+++ b/config/parse/dim_ana_escola.yaml
@@ -0,0 +1,258 @@
+-
+    name: "dim:ana:exame:ano"
+    dataType: "integer"
+    description: "Ano da ANA"
+    tags:
+        - "ana"
+-
+    name: "dim:ana:escola:codigo"
+    dataType: "integer"
+    description: "Código da Escola"
+    tags:
+        - "ana"
+-
+    name: "dim:ana:escola:area"
+    dataType: "integer"
+    description: "Área"
+    tags:
+        - "ana"
+-
+    name: "dim:escola:dependencia:administrativa:id"
+    dataType: "integer"
+    description: "Dependência Administrativa"
+    tags:
+        - "ana"
+-
+    name: "dim:escola:zona:residencial"
+    dataType: "integer"
+    description: "Localização"
+    tags:
+        - "ana"
+-
+    name: "dim:ana:escola:adequacao:formacao:docente"
+    dataType: "float"
+    description: "Indicador de Adequação da Formação Docente (Informação referente ao Grupo 1, para os Anos Iniciais do EF)"
+    tags:
+        - "ana"
+-
+    name: "dim:ana:escola:nivel:social:economico"
+    dataType: "integer"
+    description: "Nível socioecônomico da escola"
+    tags:
+        - "ana"
+-
+    name: "dim:ana:escola:numero:matriculas:terceiro:ano"
+    dataType: "integer"
+    description: "Número de alunos matriculados no 3º ano do ensino fundamental de 9 anos no censo 2016"
+    tags:
+        - "ana"
+-
+    name: "dim:ana:escola:numero:presenca:teste"
+    dataType: "integer"
+    description: "Número de alunos, que estavam presentes no dia da aplicação dos testes de Língua Portuguesa (Leitura e Escrita) da ANA"
+    tags:
+        - "ana"
+-
+    name: "dim:ana:escola:numero:respostas:maior:3"
+    dataType: "integer"
+    description: "Número de alunos do no 3º ano, que responderam a três ou mais questões dos testes de Língua Portuguesa (Leitura) da ANA"
+    tags:
+        - "ana"
+-
+    name: "dim:ana:escola:taxa:participacao:matematica"
+    dataType: "float"
+    description: "Taxa de participação nos testes de Matemática calculada pela razão entre o total de alunos presentes na ANA (NU_PRESENTES_LP) e o total de alunos cadastrados no Censo Escolar que são público alvo da ANA (NU_MATRICULADOS_CENSO)"
+    tags:
+        - "ana"
+-
+    name: "dim:ana:escola:leitura:media:lp"
+    dataType: "float"
+    description: "Média em Leitura em Língua Portuguesa"
+    tags:
+        - "ana"
+-
+    name: "dim:ana:escola:leitura:pp:menor:426"
+    dataType: "float"
+    description: "Percentual de estudantes com proficiência menor ou igual a 425 pontos"
+    tags:
+        - "ana"
+-
+    name: "dim:ana:escola:leitura:pp:maior:425:menor:526"
+    dataType: "float"
+    description: "Percentual de estudantes com proficiencia maior que 425 e menor ou igual a 525 pontos"
+    tags:
+        - "ana"
+-
+    name: "dim:ana:escola:leitura:pp:maior:526:menor:626"
+    dataType: "float"
+    description: "Percentual de estudantes com proficiencia maior que 525 e menor ou igual a 625 pontos"
+    tags:
+        - "ana"
+-
+    name: "dim:ana:escola:leitura:pp:maior:625"
+    dataType: "float"
+    description: "Percentual de estudantes com proficiencia maior que 625 pontos"
+    tags:
+        - "ana"
+-
+    name: "dim:ana:escola:leitura:ps:pp:menor:426"
+    dataType: "float"
+    description: "Percentual de estudantes do Perfil de Escola Similar com proficiência menor ou igual a 425 pontos"
+    tags:
+        - "ana"
+-
+    name: "dim:ana:escola:leitura:ps:pp:maior:425:menor:526"
+    dataType: "float"
+    description: "Percentual de estudantes do Perfil de Escola Similar com proficiencia maior que 425 e menor ou igual a 525 pontos"
+    tags:
+        - "ana"
+-
+    name: "dim:ana:escola:leitura:ps:pp:maior:526:menor:626"
+    dataType: "float"
+    description: "Percentual de estudantes do Perfil de Escola Similar com proficiencia maior que 525 e menor ou igual a 625 pontos"
+    tags:
+        - "ana"
+-
+    name: "dim:ana:escola:leitura:ps:pp:maior:625"
+    dataType: "float"
+    description: "Percentual de estudantes do Perfil de Escola Similar com proficiencia maior que 625 pontos"
+    tags:
+        - "ana"
+-
+    name: "dim:ana:escola:leitura:escrita:media:lp"
+    dataType: "float"
+    description: "Média em Escrita em Língua Portuguesa"
+    tags:
+        - "ana"
+-
+    name: "dim:ana:escola:escrita:pp:menor:350"
+    dataType: "float"
+    description: "Percentual de estudantes com proficiência menor que 350 pontos"
+    tags:
+        - "ana"
+-
+    name: "dim:ana:escola:escrita:pp:maior:349:menor:450"
+    dataType: "float"
+    description: "Percentual de estudantes com proficiência maior ou igual a 350 e menor que 450 pontos"
+    tags:
+        - "ana"
+-
+    name: "dim:ana:escola:escrita:pp:maior:449:menor:500"
+    dataType: "float"
+    description: "Percentual de estudantes com proficiência maior ou igual a 450 e menor que 500 pontos"
+    tags:
+        - "ana"
+-
+    name: "dim:ana:escola:escrita:pp:maior:499:menor:600"
+    dataType: "float"
+    description: "Percentual de estudantes com proficiência maior ou igual a 500 e menor que 600 pontos"
+    tags:
+        - "ana"
+-
+    name: "dim:ana:escola:escrita:pp:maior:600"
+    dataType: "float"
+    description: "Percentual de estudantes com proficiência maior ou igual a 600 pontos"
+    tags:
+        - "ana"
+-
+    name: "dim:ana:escola:escrita:ps:pp:menor:350"
+    dataType: "float"
+    description: "Percentual de estudantes do Perfil de Escola Similar com proficiência menor que 350 pontos"
+    tags:
+        - "ana"
+-
+    name: "dim:ana:escola:escrita:ps:pp:maior:349:menor:450"
+    dataType: "float"
+    description: "Percentual de estudantes do Perfil de Escola Similar com proficiência maior ou igual a 350 e menor que 450 pontos"
+    tags:
+        - "ana"
+-
+    name: "dim:ana:escola:escrita:ps:pp:maior:449:menor:500"
+    dataType: "float"
+    description: "Percentual de estudantes do Perfil de Escola Similar com proficiência maior ou igual a 450 e menor que 500 pontos"
+    tags:
+        - "ana"
+-
+    name: "dim:ana:escola:escrita:ps:pp:maior:499:menor:600"
+    dataType: "float"
+    description: "Percentual de estudantes do Perfil de Escola Similar com proficiência maior ou igual a 500 e menor que 600 pontos"
+    tags:
+        - "ana"
+-
+    name: "dim:ana:escola:escrita:ps:pp:maior:599"
+    dataType: "float"
+    description: "Percentual de estudantes do Perfil de Escola Similar com proficiência maior ou igual a 600 pontos"
+    tags:
+        - "ana"
+-
+    name: "dim:ana:escola:matematica:presenca:teste"
+    dataType: "integer"
+    description: "Número de alunos do no 3º ano, que estavam presentes no dia da aplicação dos testes de Matemática da ANA"
+    tags:
+        - "ana"
+-
+    name: "dim:ana:escola:matematica:respostas:maior:3"
+    dataType: "integer"
+    description: "Número de alunos do no 3º ano, que responderam a três ou mais questões dos testes de Matemática da ANA"
+    tags:
+        - "ana"
+-
+    name: "dim:ana:escola:matematica:taxa:participacao"
+    dataType: "float"
+    description: "Taxa de participação nos testes de Matemática calculada pela razão entre o total de alunos presentes na ANA (QT_ALUNO_PRESENTE_MT) e o total de alunos cadastrados no Censo Escolar que são público alvo da ANA (NU_MATRICULADOS_CENSO)"
+    tags:
+        - "ana"
+-
+    name: "dim:ana:escola:media:matematica"
+    dataType: "float"
+    description: "Média em Matemática"
+    tags:
+        - "ana"
+-
+    name: "dim:ana:escola:matematica:pp:menor:426"
+    dataType: "float"
+    description: "Percentual de estudantes com proficiência menor ou igual a 425 pontos"
+    tags:
+        - "ana"
+-
+    name: "dim:ana:escola:matematica:pp:maior:425:menor:526"
+    dataType: "float"
+    description: "Percentual de estudantes com proficiência maior que 425 e menor ou igual a 525 pontos"
+    tags:
+        - "ana"
+-
+    name: "dim:ana:escola:matematica:pp:maior:525:menor:576"
+    dataType: "float"
+    description: "Percentual de estudantes com proficiência maior que 525 e menor ou igual a 575 pontos"
+    tags:
+        - "ana"
+-
+    name: "dim:ana:escola:matematica:pp:maior:575"
+    dataType: "float"
+    description: "Percentual de estudantes com proficiência maior que 575 pontos"
+    tags:
+        - "ana"
+-
+    name: "dim:ana:escola:matematica:ps:pp:menor:426"
+    dataType: "float"
+    description: "Percentual de estudantes do Perfil de Escola Similar com proficiência menor ou igual a 425 pontos"
+    tags:
+        - "ana"
+-
+    name: "dim:ana:escola:matematica:ps:pp:maior:425:menor:526"
+    dataType: "float"
+    description: "Percentual de estudantes do Perfil de Escola Similar com proficiência maior que 425 e menor ou igual a 525 pontos"
+    tags:
+        - "ana"
+-
+    name: "dim:ana:escola:matematica:ps:pp:maior:525:menor:576"
+    dataType: "float"
+    description: "Percentual de estudantes do Perfil de Escola Similar com proficiência maior que 525 e menor ou igual a 575 pontos"
+    tags:
+        - "ana"
+-
+    name: "dim:ana:escola:matematica:ps:pp:maior:575"
+    dataType: "float"
+    description: "Percentual de estudantes com proficiência maior que 575 pontos"
+    tags:
+        - "ana"
diff --git a/config/parse/dim_ana_item.yaml b/config/parse/dim_ana_item.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..9ba76d8cb00437c84712dcc010a796e577084727
--- /dev/null
+++ b/config/parse/dim_ana_item.yaml
@@ -0,0 +1,48 @@
+-
+    name: "dim:ana:aluno:serie:id"
+    dataType: "integer"
+    description: "Série em que a prova foi aplicada"
+    tags:
+        - "ana"
+-
+    name: "dim:ana:item:tipo:prova"
+    dataType: "integer"
+    description: "Descrição dos tipos de Provas aplicadas na ANA 2016"
+    tags:
+        - "ana"
+-
+    name: "dim:ana:item:disciplina"
+    dataType: "integer"
+    description: "Disciplina do item"
+    tags:
+        - "ana"
+-
+    name: "dim:ana:item:bloco:id"
+    dataType: "integer"
+    description: "Identificador do bloco"
+    tags:
+        - "ana"
+-
+    name: "dim:ana:item:posicao:id"
+    dataType: "integer"
+    description: "Identificador da posição do item no bloco"
+    tags:
+        - "ana"
+-
+    name: "dim:ana:item:item:id"
+    dataType: "integer"
+    description: "Identificador do item"
+    tags:
+        - "ana"
+-
+    name: "dim:ana:item:descritor:habilidade"
+    dataType: "string"
+    description: "Identificador do descritor do item"
+    tags:
+        - "ana"
+-
+    name: "dim:ana:item:gabarito"
+    dataType: "string"
+    description: "Gabarito do Item"
+    tags:
+        - "ana"
diff --git a/config/parse/dim_docente.yaml b/config/parse/dim_docente.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..3087a38ec512475bfa410da34c2b95eae8a60546
--- /dev/null
+++ b/config/parse/dim_docente.yaml
@@ -0,0 +1,476 @@
+-
+    name: "dim:docente:baixa:visao"
+    dataType: "boolean"
+    description: "Docente com deficiência - Baixa Visão"
+    tags:
+        - "basico"
+        - "docente"
+-
+    name: "dim:docente:cegueira"
+    dataType: "boolean"
+    description: "Docente com deficiência - Cegueira"
+    tags:
+        - "basico"
+        - "docente"
+-
+    name: "dim:docente:censo:ano"
+    dataType: "integer"
+    description: "Ano do censo"
+    tags:
+        - "basico"
+        - "docente"
+-
+    name: "dim:docente:cidade:nascimento:id"
+    dataType: "integer"
+    description: "Código do município de nascimento"
+    tags:
+        - "basico"
+        - "docente"
+-
+    name: "dim:docente:cidade:residencia:id"
+    dataType: "integer"
+    description: "Código do município de residência"
+    tags:
+        - "basico"
+        - "docente"
+-
+    name: "dim:docente:contratacao"
+    dataType: "integer"
+    description: "Regime de contratação (1 Concursado/efetivo/estável, 2 Contrato temporário, 3 Contrato terceirizado, 4 Contrato CLT)"
+    tags:
+        - "basico"
+        - "docente"
+-
+    name: "dim:docente:curso1:ano:conclusao"
+    dataType: "integer"
+    description: "Ano de conclusão do curso superior 1"
+    tags:
+        - "basico"
+        - "docente"
+-
+    name: "dim:docente:curso1:ano:inicio"
+    dataType: "integer"
+    description: "Ano de início do curso superior 1 em andamento"
+    tags:
+        - "basico"
+        - "docente"
+-
+    name: "dim:docente:curso1:codigo"
+    dataType: "string"
+    description: "Código do curso 1 da escolaridade superior"
+    tags:
+        - "basico"
+        - "docente"
+-
+    name: "dim:docente:curso1:formacao:pedagogica"
+    dataType: "boolean"
+    description: "Formação/ complementação pedagógica do curso 1"
+    tags:
+        - "basico"
+        - "docente"
+-
+    name: "dim:docente:curso1:instituicao:id"
+    dataType: "integer"
+    description: "Código da Instituição do curso 1"
+    tags:
+        - "basico"
+        - "docente"
+-
+    name: "dim:docente:curso1:licenciatura"
+    dataType: "boolean"
+    description: "Possui Licenciatura no curso 1"
+    tags:
+        - "basico"
+        - "docente"
+-
+    name: "dim:docente:curso1:situacao"
+    dataType: "boolean"
+    description: "Situação do curso superior 1 (1 concluído, 2 em andamento)"
+    tags:
+        - "basico"
+        - "docente"
+-
+    name: "dim:docente:curso2:ano:conclusao"
+    dataType: "integer"
+    description: "Ano de conclusão do curso superior 2"
+    tags:
+        - "basico"
+        - "docente"
+-
+    name: "dim:docente:curso2:ano:inicio"
+    dataType: "integer"
+    description: "Ano de início do curso superior 2 em andamento"
+    tags:
+        - "basico"
+        - "docente"
+-
+    name: "dim:docente:curso2:codigo"
+    dataType: "string"
+    description: "Código do curso 2 da escolaridade superior"
+    tags:
+        - "basico"
+        - "docente"
+-
+    name: "dim:docente:curso2:formacao:pedagogica"
+    dataType: "boolean"
+    description: "Formação/ complementação pedagógica do curso superior 2"
+    tags:
+        - "basico"
+        - "docente"
+-
+    name: "dim:docente:curso2:instituicao:id"
+    dataType: "integer"
+    description: "Código da Instituição do curso superior 2"
+    tags:
+        - "basico"
+        - "docente"
+-
+    name: "dim:docente:curso2:licenciatura"
+    dataType: "boolean"
+    description: "Possui Licenciatura no curso superior 2"
+    tags:
+        - "basico"
+        - "docente"
+-
+    name: "dim:docente:curso2:situacao"
+    dataType: "boolean"
+    description: "Situação do curso superior 2 (1 concluído, 2 em andamento)"
+    tags:
+        - "basico"
+        - "docente"
+-
+    name: "dim:docente:curso3:ano:conclusao"
+    dataType: "integer"
+    description: "Ano de conclusão do curso superior 3"
+    tags:
+        - "basico"
+        - "docente"
+-
+    name: "dim:docente:curso3:ano:inicio"
+    dataType: "integer"
+    description: "Ano de início do curso superior 3 em andamento"
+    tags:
+        - "basico"
+        - "docente"
+-
+    name: "dim:docente:curso3:codigo"
+    dataType: "string"
+    description: "Código do curso 3 da escolaridade superior"
+    tags:
+        - "basico"
+        - "docente"
+-
+    name: "dim:docente:curso3:formacao:pedagogica"
+    dataType: "boolean"
+    description: "Formação/ complementação pedagógica do curso superior 3"
+    tags:
+        - "basico"
+        - "docente"
+-
+    name: "dim:docente:curso3:instituicao:id"
+    dataType: "integer"
+    description: "Código da Instituição do curso superior 3"
+    tags:
+        - "basico"
+        - "docente"
+-
+    name: "dim:docente:curso3:licenciatura"
+    dataType: "boolean"
+    description: "Possui Licenciatura no curso superior 3"
+    tags:
+        - "basico"
+        - "docente"
+-
+    name: "dim:docente:curso3:situacao"
+    dataType: "boolean"
+    description: "Situação do curso superior 3 (1 concluído, 2 em andamento)"
+    tags:
+        - "basico"
+        - "docente"
+-
+    name: "dim:docente:deficiencia:auditiva"
+    dataType: "boolean"
+    description: "Docente com deficiência - Deficiência Auditiva"
+    tags:
+        - "basico"
+        - "docente"
+-
+    name: "dim:docente:deficiencia:fisica"
+    dataType: "boolean"
+    description: "Docente com deficiência - Deficiência Física"
+    tags:
+        - "basico"
+        - "docente"
+-
+    name: "dim:docente:deficiencia:intelectual"
+    dataType: "boolean"
+    description: "Docente com deficiência - Deficiência Intelectual"
+    tags:
+        - "basico"
+        - "docente"
+-
+    name: "dim:docente:deficiencia:multipla"
+    dataType: "boolean"
+    description: "Docente com deficiência - Deficiência Múltipla"
+    tags:
+        - "basico"
+        - "docente"
+-
+    name: "dim:docente:doutorado"
+    dataType: "boolean"
+    description: "Pós-Graduação - Doutorado"
+    tags:
+        - "basico"
+        - "docente"
+-
+    name: "dim:docente:ensino:medio:normal:magisterio"
+    dataType: "integer"
+    description: "Docente possui Ensino Médio Normal/Magistério (0 não, 1 sim, 2 Sim - específico indígena , 3 Não disponível (docente com superior em andamento ou concluído))"
+    tags:
+        - "basico"
+        - "docente"
+-
+    name: "dim:docente:especializacao"
+    dataType: "boolean"
+    description: "Pós-Graduação - Especialização"
+    tags:
+        - "basico"
+        - "docente"
+-
+    name: "dim:docente:especifico:afro"
+    dataType: "boolean"
+    description: "Outros cursos - Formação Continuada com no mínimo 80 horas - Educação para as relações etnicorracias e história e cultura afro-brasileira e africana"
+    tags:
+        - "basico"
+        - "docente"
+-
+    name: "dim:docente:especifico:ambiental"
+    dataType: "boolean"
+    description: "Outros cursos - Formação Continuada com no mínimo 80 horas - Educação Ambiental"
+    tags:
+        - "basico"
+        - "docente"
+-
+    name: "dim:docente:especifico:anos:finais"
+    dataType: "boolean"
+    description: "Outros cursos - Formação Continuada com no mínimo 80 horas - Específico para Anos Finais do Ensino Fundamental"
+    tags:
+        - "basico"
+        - "docente"
+-
+    name: "dim:docente:especifico:anos:iniciais"
+    dataType: "boolean"
+    description: "Outros cursos - Formação Continuada com no mínimo 80 horas - Específico para Anos Iniciais do Ensino Fundamental"
+    tags:
+        - "basico"
+        - "docente"
+-
+    name: "dim:docente:especifico:campo"
+    dataType: "boolean"
+    description: "Outros cursos - Formação Continuada com no mínimo 80 horas - Educação do Campo"
+    tags:
+        - "basico"
+        - "docente"
+-
+    name: "dim:docente:especifico:creche"
+    dataType: "boolean"
+    description: "Outros cursos - Formação Continuada com no mínimo 80 horas - Específico para creche (0 a 3 anos)"
+    tags:
+        - "basico"
+        - "docente"
+-
+    name: "dim:docente:especifico:direito:infantil"
+    dataType: "boolean"
+    description: "Outros cursos - Formação Continuada com no mínimo 80 horas - Direitos de criança e adolescente"
+    tags:
+        - "basico"
+        - "docente"
+-
+    name: "dim:docente:especifico:direitos:humanos"
+    dataType: "boolean"
+    description: "Outros cursos - Formação Continuada com no mínimo 80 horas - Educação em direitos humanos"
+    tags:
+        - "basico"
+        - "docente"
+-
+    name: "dim:docente:especifico:diversidade:sexual"
+    dataType: "boolean"
+    description: "Outros cursos - Formação Continuada com no mínimo 80 horas - Gênero e Diversidade Sexual"
+    tags:
+        - "basico"
+        - "docente"
+-
+    name: "dim:docente:especifico:educacao:especial"
+    dataType: "boolean"
+    description: "Outros cursos - Formação Continuada com no mínimo 80 horas - Específico para Educação Especial"
+    tags:
+        - "basico"
+        - "docente"
+-
+    name: "dim:docente:especifico:educacao:indigena"
+    dataType: "boolean"
+    description: "Outros cursos - Formação Continuada com no mínimo 80 horas - Específico para Educação Indígena"
+    tags:
+        - "basico"
+        - "docente"
+-
+    name: "dim:docente:especifico:eja"
+    dataType: "boolean"
+    description: "Outros cursos - Formação Continuada com no mínimo 80 horas - Específico para Educação de Jovens e Adultos"
+    tags:
+        - "basico"
+        - "docente"
+-
+    name: "dim:docente:especifico:ensino:medio"
+    dataType: "boolean"
+    description: "Outros cursos - Formação Continuada com no mínimo 80 horas - Específico para Ensino Médio"
+    tags:
+        - "basico"
+        - "docente"
+-
+    name: "dim:docente:especifico:nenhum"
+    dataType: "boolean"
+    description: "Outros cursos - Formação Continuada com no mínimo 80 horas - Nenhum"
+    tags:
+        - "basico"
+        - "docente"
+-
+    name: "dim:docente:especifico:outros"
+    dataType: "boolean"
+    description: "Outros cursos - Formação Continuada com no mínimo 80 horas - Outros"
+    tags:
+        - "basico"
+        - "docente"
+-
+    name: "dim:docente:especifico:pre:escola"
+    dataType: "boolean"
+    description: "Outros cursos - Formação Continuada com no mínimo 80 horas - Específico para pré-escola (4 e 5 anos)"
+    tags:
+        - "basico"
+        - "docente"
+-
+    name: "dim:docente:etapa:ensino"
+    dataType: "integer"
+    description: "Etapas e modalidades de ensino por segmento resumido (1 Creche, 2 Pré-escola, 3 Ensino Fundamental - anos iniciais, 4 Ensino Fundamental - anos finais, 5 Ensino Médio, 6 EJA, 7 EE exclusiva, 99 não classificado) Essa etapa 7 só tem na base de docente"
+    tags:
+        - "basico"
+        - "docente"
+-
+    name: "dim:docente:funcao"
+    dataType: "integer"
+    description: "Função que exerce na escola (1 docente, 2 auxiliar, 3 monitor de atividade complementar, 4 intérprete de libras , 5 docente titular, 6 docente tutor )"
+    tags:
+        - "basico"
+        - "docente"
+-
+    name: "dim:docente:id"
+    dataType: "integer"
+    description: "Código do docente"
+    tags:
+        - "basico"
+        - "docente"
+-
+    name: "dim:docente:idade"
+    dataType: "integer"
+    description: "Idade calculada pelo ano de nascimento do docente"
+    tags:
+        - "basico"
+        - "docente"
+-
+    name: "dim:docente:mestrado"
+    dataType: "boolean"
+    description: "Pós-Graduação - Mestrado"
+    tags:
+        - "basico"
+        - "docente"
+-
+    name: "dim:docente:nacionalidade"
+    dataType: "integer"
+    description: "Nacionalidade (1 brasileira, 2 brasileiro nascido no exterior ou naturalizado, 3 estrangeira)"
+    tags:
+        - "basico"
+        - "docente"
+-
+    name: "dim:docente:nascimento:ano"
+    dataType: "integer"
+    description: "Ano do nascimento do docente"
+    tags:
+        - "basico"
+        - "docente"
+-
+    name: "dim:docente:nascimento:dia"
+    dataType: "integer"
+    description: "Dia do nascimento do docente"
+    tags:
+        - "basico"
+        - "docente"
+-
+    name: "dim:docente:nascimento:mes"
+    dataType: "integer"
+    description: "Mês do nascimento do docente"
+    tags:
+        - "basico"
+        - "docente"
+-
+    name: "dim:docente:necessidade:especial"
+    dataType: "boolean"
+    description: "Docente com deficiência (0 não, 1 sim)"
+    tags:
+        - "basico"
+        - "docente"
+-
+    name: "dim:docente:nenhuma:pos:graduacao"
+    dataType: "boolean"
+    description: "Pós-Graduação - Nenhum"
+    tags:
+        - "basico"
+        - "docente"
+-
+    name: "dim:docente:nivel:formacao"
+    dataType: "integer"
+    description: "Nível e tipo de formação do professor (1 Ensino Fundamental, 2 Ensino Médio, 3 Médio Normal ou Magistério, 4 Superior, 5 Superior com licenciatura, 6 Especialização, 7 Mestrado, 8 Doutorado)"
+    tags:
+        - "basico"
+        - "docente"
+-
+    name: "dim:docente:pais:origem"
+    dataType: "integer"
+    description: "Código do país de origem (76 é o mais frequente)"
+    tags:
+        - "basico"
+        - "docente"
+-
+    name: "dim:docente:raca"
+    dataType: "integer"
+    description: "Cor/raça(0 não declarada, 1 branca, 2 preta, 3 parda, 4 amarela, 5 indígena) mais frequentes 0,1 e 3"
+    tags:
+        - "basico"
+        - "docente"
+-
+    name: "dim:docente:sexo"
+    dataType: "boolean"
+    description: "Sexo (1 masculino, 2 feminino)"
+    tags:
+        - "basico"
+        - "docente"
+-
+    name: "dim:docente:surdez"
+    dataType: "boolean"
+    description: "Docente com deficiência - Surdez"
+    tags:
+        - "basico"
+        - "docente"
+-
+    name: "dim:docente:surdocegueira"
+    dataType: "boolean"
+    description: "Docente com deficiência - Surdocegueira"
+    tags:
+        - "basico"
+        - "docente"
+-
+    name: "dim:docente:zona:residencial"
+    dataType: "integer"
+    description: "Área da Localidade da residência (1 urbana, 2 rural, 9 não declarada)"
+    tags:
+        - "basico"
+        - "docente"
diff --git a/config/parse/dim_es_aluno.yaml b/config/parse/dim_es_aluno.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..89526c3c63db9722861431e8bfd7af2285ef3cb0
--- /dev/null
+++ b/config/parse/dim_es_aluno.yaml
@@ -0,0 +1,771 @@
+-
+    name: "dim:es:curso:id"
+    dataType: "integer"
+    description: "Código único de identificação do curso gerado pelo E-MEC"
+    tags:
+        - "superior"
+        - "curso"
+-
+    name: "dim:es:aluno:turno:cod"
+    dataType: "integer"
+    description: "Código do turno do curso ao qual o aluno está vinculado"
+    tags:
+        - "superior"
+        - "aluno"
+-
+    name: "dim:es:aluno:turno:nome"
+    dataType: "string"
+    description: "Nome do turno do curso ao qual o aluno está vinculado"
+    tags:
+        - "superior"
+        - "aluno"
+-
+    name: "dim:es:aluno:grau:academico:cod"
+    dataType: "integer"
+    description: "Código do grau acadêmico conferido ao diplomado pelo curso"
+    tags:
+        - "superior"
+        - "aluno"
+-
+    name: "dim:es:aluno:grau:academico:nome"
+    dataType: "string"
+    description: "Nome do grau acadêmico conferido ao diplomado pelo curso"
+    tags:
+        - "superior"
+        - "aluno"
+-
+    name: "dim:es:aluno:modalidade:ensino:cod"
+    dataType: "integer"
+    description: "Código da modalidade de ensino do curso"
+    tags:
+        - "superior"
+        - "aluno"
+-
+    name: "dim:es:aluno:modalidade:ensino:nome"
+    dataType: "string"
+    description: "Nome da modalidade de ensino do curso"
+    tags:
+        - "superior"
+        - "aluno"
+-
+    name: "dim:es:aluno:nivel:academico:cod"
+    dataType: "integer"
+    description: "Código do nível acadêmico do curso"
+    tags:
+        - "superior"
+        - "aluno"
+-
+    name: "dim:es:aluno:nivel:academico:nome"
+    dataType: "string"
+    description: "Nome do nível acadêmico do curso"
+    tags:
+        - "superior"
+        - "aluno"
+-
+    name: "dim:es:aluno:curso:cod"
+    dataType: "integer"
+    description: "Código de identificação gerado pelo Inep para o vínculo do aluno ao curso"
+    tags:
+        - "superior"
+        - "aluno"
+-
+    name: "dim:es:aluno:id"
+    dataType: "integer"
+    description: "Código de identificação gerado pelo Inep para o aluno da Educação Superior"
+    tags:
+        - "superior"
+        - "aluno"
+-
+    name: "dim:es:aluno:raca:cod"
+    dataType: "integer"
+    description: "Código da cor/raça do aluno"
+    tags:
+        - "superior"
+        - "aluno"
+-
+    name: "dim:es:aluno:raca:nome"
+    dataType: "string"
+    description: "Nome da cor/raça do aluno"
+    tags:
+        - "superior"
+        - "aluno"
+-
+    name: "dim:es:aluno:sexo:cod"
+    dataType: "integer"
+    description: "Informa o sexo do aluno"
+    tags:
+        - "superior"
+        - "aluno"
+-
+    name: "dim:es:aluno:sexo:nome"
+    dataType: "string"
+    description: "Nome do sexo do aluno"
+    tags:
+        - "superior"
+        - "aluno"
+-
+    name: "dim:es:aluno:nascimento:ano"
+    dataType: "integer"
+    description: "Ano de nascimento do aluno"
+    tags:
+        - "superior"
+        - "aluno"
+-
+    name: "dim:es:aluno:nascimento:mes"
+    dataType: "integer"
+    description: "Mês de nascimento do aluno"
+    tags:
+        - "superior"
+        - "aluno"
+-
+    name: "dim:es:aluno:nascimento:dia"
+    dataType: "integer"
+    description: "Dia de nascimento do aluno"
+    tags:
+        - "superior"
+        - "aluno"
+-
+    name: "dim:es:aluno:idade"
+    dataType: "integer"
+    description: "Idade que o aluno completa no ano de referência do Censo"
+    tags:
+        - "superior"
+        - "aluno"
+-
+    name: "dim:es:aluno:nacionalidade:cod"
+    dataType: "integer"
+    description: "Código da nacionalidade do aluno"
+    tags:
+        - "superior"
+        - "aluno"
+-
+    name: "dim:es:aluno:nacionalidade:nome"
+    dataType: "string"
+    description: "Nome da nacionalidade do aluno"
+    tags:
+        - "superior"
+        - "aluno"
+-
+    name: "dim:es:aluno:pais:origem:cod"
+    dataType: "integer"
+    description: "Código do país de nascimento ou de naturalização do aluno estrangeiro"
+    tags:
+        - "superior"
+        - "aluno"
+-
+    name: "dim:es:aluno:nascimento:estado:id"
+    dataType: "integer"
+    description: "Código da UF de nascimento do aluno"
+    tags:
+        - "superior"
+        - "aluno"
+-
+    name: "dim:es:aluno:nascimento:cidade:id"
+    dataType: "integer"
+    description: "Código do município de nascimento do aluno"
+    tags:
+        - "superior"
+        - "aluno"
+-
+    name: "dim:es:aluno:situacao:cod"
+    dataType: "integer"
+    description: "Código do tipo de situação de vínculo do aluno no curso"
+    tags:
+        - "superior"
+        - "aluno"
+-
+    name: "dim:es:aluno:situacao:nome"
+    dataType: "string"
+    description: "Nome do tipo de situação de vínculo do aluno do curso"
+    tags:
+        - "superior"
+        - "aluno"
+-
+    name: "dim:es:aluno:situacao:intelectual"
+    dataType: "integer"
+    description: "Informa se o aluno possui deficiência, transtorno global do desenvolvimento ou altas habilidades/superdotação"
+    tags:
+        - "superior"
+        - "aluno"
+-
+    name: "dim:es:aluno:deficiencia:auditiva"
+    dataType: "integer"
+    description: "Informa se o aluno possui deficiência auditiva"
+    tags:
+        - "superior"
+        - "aluno"
+-
+    name: "dim:es:aluno:deficiencia:fisica"
+    dataType: "integer"
+    description: "informa se o aluno possui deficiência física"
+    tags:
+        - "superior"
+        - "aluno"
+-
+    name: "dim:es:aluno:deficiencia:intelectual"
+    dataType: "integer"
+    description: "Informa se o aluno possui deficiência intelectual"
+    tags:
+        - "superior"
+        - "aluno"
+-
+    name: "dim:es:aluno:deficiencia:multipla"
+    dataType: "integer"
+    description: "Informa se o aluno possui deficiência multipla"
+    tags:
+        - "superior"
+        - "aluno"
+-
+    name: "dim:es:aluno:deficiencia:surdez"
+    dataType: "integer"
+    description: "Informa se o aluno possui deficiência surdez"
+    tags:
+        - "superior"
+        - "aluno"
+-
+    name: "dim:es:aluno:deficiencia:surdocegueira"
+    dataType: "integer"
+    description: "Informa se o aluno possui deficiência surdocegueira"
+    tags:
+        - "superior"
+        - "aluno"
+-
+    name: "dim:es:aluno:deficiencia:baixa:visao"
+    dataType: "integer"
+    description: "Informa se o aluno possui visão subnormal ou baixa visão"
+    tags:
+        - "superior"
+        - "aluno"
+-
+    name: "dim:es:aluno:deficiencia:cegueira"
+    dataType: "integer"
+    description: "Informa se o aluno possui cegueira"
+    tags:
+        - "superior"
+        - "aluno"
+-
+    name: "dim:es:aluno:deficiencia:superdotacao"
+    dataType: "integer"
+    description: "Informa se o alunio possui altas habilidades/superdotação"
+    tags:
+        - "superior"
+        - "aluno"
+-
+    name: "dim:es:aluno:transtorno:autismo:infantil"
+    dataType: "integer"
+    description: "Informa se o aluno possui autismo infantil"
+    tags:
+        - "superior"
+        - "aluno"
+-
+    name: "dim:es:aluno:sindrome:asperger"
+    dataType: "integer"
+    description: "Informa se o aluno possui Síndrome de Asperger"
+    tags:
+        - "superior"
+        - "aluno"
+-
+    name: "dim:es:aluno:sindrome:rett"
+    dataType: "integer"
+    description: "informa se o aluno possui Síndrome de Rett"
+    tags:
+        - "superior"
+        - "aluno"
+-
+    name: "dim:es:aluno:transtorno:desintegrativo"
+    dataType: "integer"
+    description: "Informa se o aluno possui Transtorno Desintegrativo da Infância"
+    tags:
+        - "superior"
+        - "aluno"
+-
+    name: "dim:es:aluno:ingresso:data"
+    dataType: "string"
+    description: "Data de ingresso do aluno no curso"
+    tags:
+        - "superior"
+        - "aluno"
+-
+    name: "dim:es:aluno:ingresso:reserva:vaga"
+    dataType: "integer"
+    description: "Informa se o aluno ingressou no curso por meio de reserva de vagas"
+    tags:
+        - "superior"
+        - "aluno"
+-
+    name: "dim:es:aluno:bolsa:estudantil"
+    dataType: "integer"
+    description: "Informa se o aluno possui financiamento estudantil"
+    tags:
+        - "superior"
+        - "aluno"
+-
+    name: "dim:es:aluno:ingresso:vestibular"
+    dataType: "integer"
+    description: "Informa se o aluno ingressou no curso por vestibular"
+    tags:
+        - "superior"
+        - "aluno"
+-
+    name: "dim:es:aluno:ingresso:enem"
+    dataType: "integer"
+    description: "Informa se o aluno ingressou no curso pelo Enem"
+    tags:
+        - "superior"
+        - "aluno"
+-
+    name: "dim:es:aluno:ingresso:convenio:pecg"
+    dataType: "integer"
+    description: "Informa se o aluno ingressou no curso por programa de convênio para estudantes estrangeiros – Convênio PEC-G."
+    tags:
+        - "superior"
+        - "aluno"
+-
+    name: "dim:es:aluno:ingresso:reserva:vaga:etnico"
+    dataType: "integer"
+    description: "Informa se o aluno ingressou por meio de programa de reserva de vagas de cunho étnico"
+    tags:
+        - "superior"
+        - "aluno"
+-
+    name: "dim:es:aluno:ingresso:reserva:vaga:deficiencia"
+    dataType: "integer"
+    description: "Informa se o aluno ingressou por meio de programa de reserva de vagas para pessoas com deficiência"
+    tags:
+        - "superior"
+        - "aluno"
+-
+    name: "dim:es:aluno:ingresso:reserva:vaga:ensino:publico"
+    dataType: "integer"
+    description: "Informa se o aluno ingressou por meio de programa de reserva de vagas para egressos da escola pública"
+    tags:
+        - "superior"
+        - "aluno"
+-
+    name: "dim:es:aluno:ingresso:reserva:vaga:renda:familiar"
+    dataType: "integer"
+    description: "Informa se o aluno ingressou por meio de programa de reserva de vagas de cunho social/renda familiar"
+    tags:
+        - "superior"
+        - "aluno"
+-
+    name: "dim:es:aluno:bolsa:reembolsavel:fies"
+    dataType: "integer"
+    description: "Informa se o aluno recebe financiamento reembolsável estudantil pelo Fundo de Financiamento Estudantil (Fies)"
+    tags:
+        - "superior"
+        - "aluno"
+-
+    name: "dim:es:aluno:bolsa:reembolsavel:estadual"
+    dataType: "integer"
+    description: "Informa se o aluno é beneficiário de programa de bolsa/financiamento estadual reembolsável"
+    tags:
+        - "superior"
+        - "aluno"
+-
+    name: "dim:es:aluno:bolsa:reembolsavel:municipal"
+    dataType: "integer"
+    description: "Informa se o aluno é beneficiário de programa de bolsa/financiamento municipal reembolsável"
+    tags:
+        - "superior"
+        - "aluno"
+-
+    name: "dim:es:aluno:bolsa:reembolsavel:prog:ies"
+    dataType: "integer"
+    description: "Informa se o aluno é beneficiário de programa de bolsa/financiamento reembolsável pela IES"
+    tags:
+        - "superior"
+        - "aluno"
+-
+    name: "dim:es:aluno:bolsa:reembolsavel:entidade:externa"
+    dataType: "integer"
+    description: "Informa se o aluno é beneficiário de programa de bolsa/financiamento reembolsável por entidades externas à IES, como empresas, organizações, etc."
+    tags:
+        - "superior"
+        - "aluno"
+-
+    name: "dim:es:aluno:bolsa:nao:reembolsavel:prouni:integral"
+    dataType: "integer"
+    description: "Informa se o aluno recebe financiamento não reembolsável pelo Programa Universidade para todos -ProUni Integral"
+    tags:
+        - "superior"
+        - "aluno"
+        - "prouni"
+-
+    name: "dim:es:aluno:bolsa:nao:reembolsavel:prouni:parcial"
+    dataType: "integer"
+    description: "Informa se o aluno recebe financiamento não reembolsável pelo Programa Universidade para todos – ProUni Parcial"
+    tags:
+        - "superior"
+        - "aluno"
+-
+    name: "dim:es:aluno:bolsa:nao:reembolsavel:estadual"
+    dataType: "integer"
+    description: "Informa se o aluno é beneficiário de programa de bolsa/financiamento estadual não reembolsável"
+    tags:
+        - "superior"
+        - "aluno"
+-
+    name: "dim:es:aluno:bolsa:nao:reembolsavel:municipal"
+    dataType: "integer"
+    description: "Informa se o aluno é beneficiário de programa de bolsa/financiamento municipal não reembolsável"
+    tags:
+        - "superior"
+        - "aluno"
+-
+    name: "dim:es:aluno:bolsa:nao:reembolsavel:prog:ies"
+    dataType: "integer"
+    description: "Informa se o aluno é beneficiário de programa de bolsa/financiamento não reembolsável administrado pela IES"
+    tags:
+        - "superior"
+        - "aluno"
+-
+    name: "dim:es:aluno:bolsa:nao:reembolsavel:entidade:externa"
+    dataType: "integer"
+    description: "Informa se o aluno é beneficiário de programa de bolsa/financiamento não reembolsável de entidades externas à IES, como empresas, organizações, etc"
+    tags:
+        - "superior"
+        - "aluno"
+-
+    name: "dim:es:aluno:apoio:social"
+    dataType: "integer"
+    description: "Informa se o aluno recebe algum tipo de apoio social"
+    tags:
+        - "superior"
+        - "aluno"
+-
+    name: "dim:es:aluno:apoio:alimentacao"
+    dataType: "integer"
+    description: "Informa se o aluno recebe apoio alimentação"
+    tags:
+        - "superior"
+        - "aluno"
+-
+    name: "dim:es:aluno:apoio:bolsa:permanencia"
+    dataType: "integer"
+    description: "Informa se o aluno recebe remuneração com o objetivo de garantir sua permanência na IES sem a contrapartida de trabalho ou benefício destinado a alguns alunos contemplados com bolsa integral do ProUni"
+    tags:
+        - "superior"
+        - "aluno"
+-
+    name: "dim:es:aluno:apoio:bolsa:trabalho"
+    dataType: "integer"
+    description: "Informa se o aluno recebe remuneração por atividade desenvolvida dentro da IES."
+    tags:
+        - "superior"
+        - "aluno"
+-
+    name: "dim:es:aluno:apoio:material:didatico"
+    dataType: "integer"
+    description: "Informa se o aluno recebe apoio de material didático"
+    tags:
+        - "superior"
+        - "aluno"
+-
+    name: "dim:es:aluno:apoio:moradia"
+    dataType: "integer"
+    description: "Informa se o aluno recebe apoio moradia"
+    tags:
+        - "superior"
+        - "aluno"
+-
+    name: "dim:es:aluno:apoio:transporte"
+    dataType: "integer"
+    description: "Informa se o aluno recebe apoio transporte"
+    tags:
+        - "superior"
+        - "aluno"
+-
+    name: "dim:es:aluno:atividade:extracurricular"
+    dataType: "integer"
+    description: "Informa se o aluno participa de algum tipo de atividade extracurricular (estágio, extensão, monitoria e pesquisa)"
+    tags:
+        - "superior"
+        - "aluno"
+-
+    name: "dim:es:aluno:estagio:nao:obrigatorio"
+    dataType: "integer"
+    description: "Informa se o aluno faz atividade extracurricular de estágio não obrigatório"
+    tags:
+        - "superior"
+        - "aluno"
+-
+    name: "dim:es:aluno:atividade:extracurricular:extensao"
+    dataType: "integer"
+    description: "Informa se o aluno participa de atividade extracurricular de extensão"
+    tags:
+        - "superior"
+        - "aluno"
+-
+    name: "dim:es:aluno:atividade:extracurricular:monitoria"
+    dataType: "integer"
+    description: "Informa se o aluno participa de atividade extracurricular de monitoria"
+    tags:
+        - "superior"
+        - "aluno"
+-
+    name: "dim:es:aluno:atividade:extracurricular:pesquisa"
+    dataType: "integer"
+    description: "Informa se o aluno participa de atividade extracurricular de pesquisa"
+    tags:
+        - "superior"
+        - "aluno"
+-
+    name: "dim:es:aluno:bolsa:estagio"
+    dataType: "integer"
+    description: "Informa se o aluno recebe bolsa/remuneração por fazer atividade extracurricular de estágio não obrigatório"
+    tags:
+        - "superior"
+        - "aluno"
+-
+    name: "dim:es:aluno:bolsa:extensao"
+    dataType: "integer"
+    description: "informa se o aluno recebe bolsa/remuneração por participar de atividade extracurricular de extensão"
+    tags:
+        - "superior"
+        - "aluno"
+-
+    name: "dim:es:aluno:bolsa:monitoria"
+    dataType: "integer"
+    description: "Informa se o aluno recebe bolsa/remuneração por participar de atividade extracurricular de monitoria"
+    tags:
+        - "superior"
+        - "aluno"
+-
+    name: "dim:es:aluno:bolsa:pesquisa"
+    dataType: "integer"
+    description: "Informa se o aluno recebe bolsa/remuneração por participar de atividade extracurricular de pesquisa"
+    tags:
+        - "superior"
+        - "aluno"
+-
+    name: "dim:es:aluno:programa:especial:formacao:professor"
+    dataType: "integer"
+    description: "Informa se o aluno participa do programa especial para a formação de professores em exercício na rede pública de Educação Básica"
+    tags:
+        - "superior"
+        - "aluno"
+-
+    name: "dim:es:aluno:matriculado"
+    dataType: "integer"
+    description: "Informa se o aluno é matriculado no curso"
+    tags:
+        - "superior"
+        - "aluno"
+-
+    name: "dim:es:aluno:concluinte"
+    dataType: "integer"
+    description: "Informa se o aluno é concluinte"
+    tags:
+        - "superior"
+        - "aluno"
+-
+    name: "dim:es:aluno:ingressante"
+    dataType: "integer"
+    description: "Informa se o aluno é ingressante no curso"
+    tags:
+        - "superior"
+        - "aluno"
+-
+    name: "dim:es:aluno:ingresso:ano"
+    dataType: "integer"
+    description: "Ano de ingresso do aluno no curso"
+    tags:
+        - "superior"
+        - "aluno"
+-
+    name: "dim:es:aluno:bolsa:reembolsavel:outra"
+    dataType: "integer"
+    description: "Informa se o aluno utiliza financiamento estudantil reembolsável administrado por outras entidades"
+    tags:
+        - "superior"
+        - "aluno"
+-
+    name: "dim:es:aluno:bolsa:nao:reembolsavel:outra"
+    dataType: "integer"
+    description: "Informa se o aluno utiliza financiamento estudantil não reembolsável administrado por outras formas"
+    tags:
+        - "superior"
+        - "aluno"
+-
+    name: "dim:es:aluno:ingresso:outras:formas"
+    dataType: "integer"
+    description: "Informa se o aluno ingressou no curso por outras formas de ingresso"
+    tags:
+        - "superior"
+        - "aluno"
+-
+    name: "dim:es:aluno:semestre:conclusao:cod"
+    dataType: "integer"
+    description: "Semestre (do ano de referência do Censo) em que o aluno se formou"
+    tags:
+        - "superior"
+        - "aluno"
+-
+    name: "dim:es:aluno:ingresso:avaliacao:seriada"
+    dataType: "integer"
+    description: "Informa se o aluno ingressou no curso por meio da Avaliação Seriada"
+    tags:
+        - "superior"
+        - "aluno"
+-
+    name: "dim:es:aluno:ingresso:transferencia:exofficio"
+    dataType: "integer"
+    description: "Informa se o aluno ingressou no curso por meio de transferência ex officio"
+    tags:
+        - "superior"
+        - "aluno"
+-
+    name: "dim:es:aluno:ingresso:decisao:judicial"
+    dataType: "integer"
+    description: "Informa se o aluno ingressou no curso por meio de decisão judicial"
+    tags:
+        - "superior"
+        - "aluno"
+-
+    name: "dim:es:aluno:pais:origem:nome"
+    dataType: "string"
+    description: "Nome do país de nascimento ou de naturalização do aluno estrangeiro"
+    tags:
+        - "superior"
+        - "aluno"
+-
+    name: "dim:es:aluno:nascimento:estado:nome"
+    dataType: "string"
+    description: "Nome da UF de nascimento do aluno"
+    tags:
+        - "superior"
+        - "aluno"
+-
+    name: "dim:es:aluno:nascimento:cidade:nome"
+    dataType: "string"
+    description: "Nome do município de nascimento do aluno"
+    tags:
+        - "superior"
+        - "aluno"
+-
+    name: "dim:es:aluno:ingresso:outra:selecao"
+    dataType: "integer"
+    description: "Informa se o aluno ingressou no curso por outros tipo de seleção"
+    tags:
+        - "superior"
+        - "aluno"
+-
+    name: "dim:es:aluno:ingresso:reserva:vaga:outro"
+    dataType: "integer"
+    description: "Informa se o aluno ingressou por meio de programas de reserva de vagas diferentes dos seguintes tipos: étnico, pessoa com deficiência, estudante procedente de escola pública, social/renda familiar"
+    tags:
+        - "superior"
+        - "aluno"
+-
+    name: "dim:es:aluno:tipo:escola:ensino:medio"
+    dataType: "integer"
+    description: "Tipo de escola que o aluno concluiu ensino médio"
+    tags:
+        - "superior"
+        - "aluno"
+-
+    name: "dim:es:aluno:ingresso:processo:seletivo"
+    dataType: "integer"
+    description: "Informa se o aluno ingressou no curso por meio de processo seletivo"
+    tags:
+        - "superior"
+        - "aluno"
+-
+    name: "dim:es:aluno:curso:origem:cod"
+    dataType: "integer"
+    description: "Código de identificação gerado pelo Inep para o vínculo do aluno em seu curso de origem, ou seja, de onde foi transferido"
+    tags:
+        - "superior"
+        - "aluno"
+-
+    name: "dim:es:aluno:ingresso:selecao:simplificada"
+    dataType: "integer"
+    description: "Informa se o aluno ingressou no curso por meio de seleção simplificada"
+    tags:
+        - "superior"
+        - "aluno"
+-
+    name: "dim:es:aluno:ingresso:reserva:vaga:remanescente"
+    dataType: "integer"
+    description: "Informa se o aluno ingressou no curso por meio de vagas remanescentes"
+    tags:
+        - "superior"
+        - "aluno"
+-
+    name: "dim:es:aluno:ingresso:reserva:vaga:especiais"
+    dataType: "integer"
+    description: "Informa se o aluno ingressou no curso por meio de vagas para programas especiais"
+    tags:
+        - "superior"
+        - "aluno"
+-
+    name: "dim:es:aluno:semestre:referencia"
+    dataType: "integer"
+    description: "Informa o semestre de referência do preenchimento do vínculo do curso"
+    tags:
+        - "superior"
+        - "aluno"
+-
+    name: "dim:es:aluno:mobilidade:academica"
+    dataType: "integer"
+    description: "Informa se o aluno está regularmente matriculado em curso de graduação, que se vincula temporariamente a outra instituição, sendo ela nacional ou internacional"
+    tags:
+        - "superior"
+        - "aluno"
+-
+    name: "dim:es:aluno:mobilidade:academica:tipo"
+    dataType: "integer"
+    description: "Informa o tipo de mobilidade acadêmico ao qual o aluno participa. A mobilidade acadêmica Nacional só será informada par aalunos de Instituições Federais e das Universidades Estaduais. Para as outras IES, estará habilitado apenas a opção internacional"
+    tags:
+        - "superior"
+        - "aluno"
+-
+    name: "dim:es:aluno:mobilidade:academica:internacional"
+    dataType: "integer"
+    description: "Informa se o aluno está regularmente matriculado em curso de graduação, em IES nacional, com vínculo temporário em instituição internacional"
+    tags:
+        - "superior"
+        - "aluno"
+-
+    name: "dim:es:aluno:mobilidade:academica:ies:destino"
+    dataType: "integer"
+    description: "Código da instituição nacional receptora do aluno em mobilidade acadêmica, na qual seu vínculo é temporário"
+    tags:
+        - "superior"
+        - "aluno"
+-
+    name: "dim:es:aluno:mobilidade:academica:pais:destino"
+    dataType: "integer"
+    description: "Código do país da instituição receptora do aluno em mobilidade acadêmica, na qual seu vínculo é temporário"
+    tags:
+        - "superior"
+        - "aluno"
+-
+    name: "dim:es:aluno:ingresso:vaga:nova"
+    dataType: "integer"
+    description: "Informa se o aluno é ingressante no curso por meio de processo seletivo de vaga nova"
+    tags:
+        - "superior"
+        - "aluno"
+-
+    name: "dim:es:aluno:quantidade:carga:horaria:total"
+    dataType: "integer"
+    description: "Quantidade de carga horária total"
+    tags:
+        - "superior"
+        - "aluno"
+-
+    name: "dim:es:aluno:quantidade:carga:horaria:integral"
+    dataType: "integer"
+    description: "Quantidade de carga horária integral"
+    tags:
+        - "superior"
+        - "aluno"
+-
+    name: "dim:es:aluno:censo:ano"
+    dataType: "integer"
+    description: "Ano de pesquisa"
+    tags:
+        - "superior"
+        - "aluno"
diff --git a/config/parse/dim_es_curso.yaml b/config/parse/dim_es_curso.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..990a5f22eda1553c076f41439bdcea7cc27d91d4
--- /dev/null
+++ b/config/parse/dim_es_curso.yaml
@@ -0,0 +1,798 @@
+-
+    name: "dim:es:curso:capital"
+    dataType: "integer"
+    description: "Informa se o local de oferta do curso presencial está localizado na capital"
+    tags:
+        - "superior"
+        - "curso"
+-
+    name: "dim:es:curso:id"
+    dataType: "integer"
+    description: "Código único de identificação do curso gerado pelo E-MEC"
+    tags:
+        - "superior"
+        - "curso"
+-
+    name: "dim:es:curso:nome"
+    dataType: "string"
+    description: "Nome do curso"
+    tags:
+        - "superior"
+        - "curso"
+-
+    name: "dim:es:curso:ocde:cod"
+    dataType: "string"
+    description: "Código de identificação do curso a partir de uma adaptação da metodologia internacional de classificação Eurostat/Unesco/OCDE"
+    tags:
+        - "superior"
+        - "curso"
+-
+    name: "dim:es:curso:ocde:grau:academico:cod"
+    dataType: "integer"
+    description: "Código do grau acadêmico conferido ao aluno pela conclusão dos requisitos exigidos pelo curso"
+    tags:
+        - "superior"
+        - "curso"
+-
+    name: "dim:es:curso:ocde:grau:academico:nome"
+    dataType: "string"
+    description: "Nome do grau acadêmico conferido ao diplomado pelo curso (1 Bacharelado, 2 Licenciatura, 3 Tecnológico)"
+    tags:
+        - "superior"
+        - "curso"
+-
+    name: "dim:es:curso:ocde:modalidade:ensino:cod"
+    dataType: "integer"
+    description: "Código da modalidade de ensino do curso"
+    tags:
+        - "superior"
+        - "curso"
+-
+    name: "dim:es:curso:ocde:modalidade:ensino:nome"
+    dataType: "string"
+    description: "Nome da modalidade de ensino do curso (1 Presencial, 2 A Distância)"
+    tags:
+        - "superior"
+        - "curso"
+-
+    name: "dim:es:curso:ocde:nivel:academico:cod"
+    dataType: "integer"
+    description: "Código do nível acadêmico do curso"
+    tags:
+        - "superior"
+        - "curso"
+-
+    name: "dim:es:curso:ocde:nivel:academico:nome"
+    dataType: "string"
+    description: "Nome do nível acadêmico do curso (1 Graduação, 2 Sequencial de Formação Específica)"
+    tags:
+        - "superior"
+        - "curso"
+-
+    name: "dim:es:curso:gratuito"
+    dataType: "integer"
+    description: "Informa se o curso é gratuito"
+    tags:
+        - "superior"
+        - "curso"
+-
+    name: "dim:es:curso:tipo:ingresso"
+    dataType: "integer"
+    description: "Identifica o atributo de ingresso do aluno como área básica de ingresso do curso"
+    tags:
+        - "superior"
+        - "curso"
+-
+    name: "dim:es:curso:carga:horaria"
+    dataType: "integer"
+    description: "Carga horária mínima do curso"
+    tags:
+        - "superior"
+        - "curso"
+-
+    name: "dim:es:curso:data:inicio:funcionamento"
+    dataType: "string"
+    description: "Data de início de funcionamento do curso"
+    tags:
+        - "superior"
+        - "curso"
+-
+    name: "dim:es:curso:ajuda:deficiente"
+    dataType: "integer"
+    description: "Informa se o curso garante condições de acessibilidade a pessoas com deficiência"
+    tags:
+        - "superior"
+        - "curso"
+-
+    name: "dim:es:curso:material:digital"
+    dataType: "integer"
+    description: "Informa se o curso possui material didático digital acessível"
+    tags:
+        - "superior"
+        - "curso"
+-
+    name: "dim:es:curso:material:ampliado"
+    dataType: "integer"
+    description: "Informa se o curso possui material em formato impresso em caractere ampliado"
+    tags:
+        - "superior"
+        - "curso"
+-
+    name: "dim:es:curso:material:tatil"
+    dataType: "integer"
+    description: "Informa se o curso possui material pedagógico tátil"
+    tags:
+        - "superior"
+        - "curso"
+-
+    name: "dim:es:curso:material:impresso"
+    dataType: "integer"
+    description: "Informa se o curso possui material didático em formato impresso acessível"
+    tags:
+        - "superior"
+        - "curso"
+-
+    name: "dim:es:curso:material:audio"
+    dataType: "integer"
+    description: "Informa se o curso possui material em áudio"
+    tags:
+        - "superior"
+        - "curso"
+-
+    name: "dim:es:curso:material:braille"
+    dataType: "integer"
+    description: "Informa se o curso possui material em Braille"
+    tags:
+        - "superior"
+        - "curso"
+-
+    name: "dim:es:curso:disciplina:libras"
+    dataType: "integer"
+    description: "Informa se o curso oferece disciplina de língua brasileira de sinais (libras)"
+    tags:
+        - "superior"
+        - "curso"
+-
+    name: "dim:es:curso:guia:interprete"
+    dataType: "integer"
+    description: "Informa se o curso disponibiliza guia-intérprete"
+    tags:
+        - "superior"
+        - "curso"
+-
+    name: "dim:es:curso:material:libras"
+    dataType: "integer"
+    description: "Informa se o curso possui material didático em língua brasileira de sinais"
+    tags:
+        - "superior"
+        - "curso"
+-
+    name: "dim:es:curso:recursos:comunicacao"
+    dataType: "integer"
+    description: "Informa se o curso possui recursos de acessibilidade à comunicação"
+    tags:
+        - "superior"
+        - "curso"
+-
+    name: "dim:es:curso:recursos:informatica"
+    dataType: "integer"
+    description: "Informa se o curso possui recursos de informática acessível"
+    tags:
+        - "superior"
+        - "curso"
+-
+    name: "dim:es:curso:tradutor:libras"
+    dataType: "integer"
+    description: "Informa se o curso disponibiliza tradutor e intérprete de língua brasileira de sinais"
+    tags:
+        - "superior"
+        - "curso"
+-
+    name: "dim:es:curso:integral"
+    dataType: "integer"
+    description: "Informa se o curso funciona no turno integral"
+    tags:
+        - "superior"
+        - "curso"
+-
+    name: "dim:es:curso:matutino"
+    dataType: "integer"
+    description: "Informa se o curso funciona no turno matutino"
+    tags:
+        - "superior"
+        - "curso"
+-
+    name: "dim:es:curso:noturno"
+    dataType: "integer"
+    description: "Informa se o curso funciona no turno noturno"
+    tags:
+        - "superior"
+        - "curso"
+-
+    name: "dim:es:curso:vespertino"
+    dataType: "integer"
+    description: "Informa se o curso funciona no turno vespertino"
+    tags:
+        - "superior"
+        - "curso"
+-
+    name: "dim:es:curso:matutino:prazo:integralizacao"
+    dataType: "integer"
+    description: "Prazo mínimo de integralização do curso matutino em número de anos ou fração"
+    tags:
+        - "superior"
+        - "curso"
+-
+    name: "dim:es:curso:vespertino:prazo:integralizacao"
+    dataType: "integer"
+    description: "Prazo mínimo de integralização do curso vespertino em número de anos ou fração"
+    tags:
+        - "superior"
+        - "curso"
+-
+    name: "dim:es:curso:noturno:prazo:integralizacao"
+    dataType: "integer"
+    description: "Prazo mínimo de integralização do curso noturno em número de anos ou fração"
+    tags:
+        - "superior"
+        - "curso"
+-
+    name: "dim:es:curso:integral:prazo:integralizacao"
+    dataType: "integer"
+    description: "Prazo mínimo de integralização do curso integral em número de anos ou fração"
+    tags:
+        - "superior"
+        - "curso"
+-
+    name: "dim:es:curso:ead:prazo:integralizacao"
+    dataType: "integer"
+    description: "Prazo mínimo de integralização dos cursos EAD em número de anos ou fração"
+    tags:
+        - "superior"
+        - "curso"
+-
+    name: "dim:es:curso:possui:laboratorio"
+    dataType: "integer"
+    description: "Informa se o curso possui laboratórios"
+    tags:
+        - "superior"
+        - "curso"
+-
+    name: "dim:es:curso:quantidade:matricula"
+    dataType: "integer"
+    description: "Número de matrículas no curso"
+    tags:
+        - "superior"
+        - "curso"
+-
+    name: "dim:es:curso:quantidade:concluinte"
+    dataType: "integer"
+    description: "Número de concluintes no curso"
+    tags:
+        - "superior"
+        - "curso"
+-
+    name: "dim:es:curso:quantidade:ingresso"
+    dataType: "integer"
+    description: "Número de ingressantes no curso"
+    tags:
+        - "superior"
+        - "curso"
+-
+    name: "dim:es:curso:autorizacao:data"
+    dataType: "string"
+    description: "Data de autorização do curso"
+    tags:
+        - "superior"
+        - "curso"
+-
+    name: "dim:es:curso:oferece:disciplina:distancia"
+    dataType: "integer"
+    description: "Informa se o curso presencial oferece disciplina a distância"
+    tags:
+        - "superior"
+        - "curso"
+-
+    name: "dim:es:curso:percentual:carga:horaria:distancia"
+    dataType: "integer"
+    description: "Percentual de carga horária oferecida a distância em curso presencial"
+    tags:
+        - "superior"
+        - "curso"
+-
+    name: "dim:es:curso:ead:quantidade:inscritos:ies"
+    dataType: "integer"
+    description: "Número de inscritos no ano nos processos seletivos da IES para cursos a distância"
+    tags:
+        - "superior"
+        - "curso"
+-
+    name: "dim:es:curso:ead:quantidade:vagas"
+    dataType: "integer"
+    description: "Número de vagas oferecidas nos cursos a distância"
+    tags:
+        - "superior"
+        - "curso"
+-
+    name: "dim:es:curso:integral:quantidade:vagas"
+    dataType: "integer"
+    description: "Quantidade de vagas oferecidas no ano turno integral"
+    tags:
+        - "superior"
+        - "curso"
+-
+    name: "dim:es:curso:matutino:quantidade:vagas"
+    dataType: "integer"
+    description: "Quantidade de vagas oferecidas no ano no turno matutino"
+    tags:
+        - "superior"
+        - "curso"
+-
+    name: "dim:es:curso:vespertino:quantidade:vagas"
+    dataType: "integer"
+    description: "Quantidade de vagas oferecidas no ano no turno vespertino"
+    tags:
+        - "superior"
+        - "curso"
+-
+    name: "dim:es:curso:noturno:quantidade:vagas"
+    dataType: "integer"
+    description: "Quantidade de vagas oferecidas no ano no turno noturno"
+    tags:
+        - "superior"
+        - "curso"
+-
+    name: "dim:es:curso:matutino:quantidade:inscritos"
+    dataType: "integer"
+    description: "Quantidade de inscritos por processo seletivo no ano no turno matutino"
+    tags:
+        - "superior"
+        - "curso"
+-
+    name: "dim:es:curso:vespertino:quantidade:inscritos"
+    dataType: "integer"
+    description: "Quantidade de inscritos por processo seletivo no ano no turno vespertino"
+    tags:
+        - "superior"
+        - "curso"
+-
+    name: "dim:es:curso:noturno:quantidade:inscritos"
+    dataType: "integer"
+    description: "Quantidade de inscritos por processo seletivo no ano no turno noturno"
+    tags:
+        - "superior"
+        - "curso"
+-
+    name: "dim:es:curso:integral:quantidade:inscritos"
+    dataType: "integer"
+    description: "Quantidade de inscritos por processo seletivo no ano no turno integral"
+    tags:
+        - "superior"
+        - "curso"
+-
+    name: "dim:es:curso:quantidade:ingresso:outra:forma"
+    dataType: "integer"
+    description: "Quantidade de ingressos por outras formas no curso"
+    tags:
+        - "superior"
+        - "curso"
+-
+    name: "dim:es:curso:situacao:cod"
+    dataType: "integer"
+    description: "Código da situação de funcionamento do curso"
+    tags:
+        - "superior"
+        - "curso"
+-
+    name: "dim:es:curso:situacao:nome"
+    dataType: "string"
+    description: "Descreve a situação de funcionamento do curso"
+    tags:
+        - "superior"
+        - "curso"
+-
+    name: "dim:es:curso:oferece:disciplina:semi:presencial"
+    dataType: "integer"
+    description: "Informa se o curso presencial oferece disciplina semipresencial"
+    tags:
+        - "superior"
+        - "curso"
+-
+    name: "dim:es:curso:percentual:carga:horaria:semi:presencial"
+    dataType: "integer"
+    description: "Percentual de carga horária semipresencial oferecida em curso presencial"
+    tags:
+        - "superior"
+        - "curso"
+-
+    name: "dim:es:curso:ead:quantidade:inscritos:principal"
+    dataType: "integer"
+    description: "Quantidade de inscritos no processo seletivo principal EaD"
+    tags:
+        - "superior"
+        - "curso"
+-
+    name: "dim:es:curso:ead:quantidade:vagas:principal"
+    dataType: "integer"
+    description: "Quantidade de vagas no processo seletivo principal EaD"
+    tags:
+        - "superior"
+        - "curso"
+-
+    name: "dim:es:curso:integral:quantidade:vagas:principal"
+    dataType: "integer"
+    description: "Quantidade de vagas no processo seletivo principal no turno integral"
+    tags:
+        - "superior"
+        - "curso"
+-
+    name: "dim:es:curso:matutino:quantidade:vagas:principal"
+    dataType: "integer"
+    description: "Quantidade de vagas no processo seletivo principal no turno matutino"
+    tags:
+        - "superior"
+        - "curso"
+-
+    name: "dim:es:curso:noturno:quantidade:vagas:principal"
+    dataType: "integer"
+    description: "Quantidade de vagas no processo seletivo principal no turno noturno"
+    tags:
+        - "superior"
+        - "curso"
+-
+    name: "dim:es:curso:vespertino:quantidade:vagas:principal"
+    dataType: "integer"
+    description: "Quantidade de vagas no processo seletivo principal no turno vespertino"
+    tags:
+        - "superior"
+        - "curso"
+-
+    name: "dim:es:curso:matutino:quantidade:inscritos:principal"
+    dataType: "integer"
+    description: "Quantidade de inscritos no processo seletivo principal no turno matutino"
+    tags:
+        - "superior"
+        - "curso"
+-
+    name: "dim:es:curso:vespertino:quantidade:inscritos:principal"
+    dataType: "integer"
+    description: "Quantidade de vagas no processo seletivo principal no turno vespertino"
+    tags:
+        - "superior"
+        - "curso"
+-
+    name: "dim:es:curso:noturno:quantidade:inscritos:principal"
+    dataType: "integer"
+    description: "Quantidade de vagas no processo seletivo principal no turno noturno"
+    tags:
+        - "superior"
+        - "curso"
+-
+    name: "dim:es:curso:integral:quantidade:inscritos:principal"
+    dataType: "integer"
+    description: "Quantidade de inscritos no processo seletivo principal no turno integral"
+    tags:
+        - "superior"
+        - "curso"
+-
+    name: "dim:es:curso:ead:quantidade:inscritos:outras"
+    dataType: "integer"
+    description: "Informa o número de inscritos no ano, por curso EaD, para outras vagas"
+    tags:
+        - "superior"
+        - "curso"
+-
+    name: "dim:es:curso:ead:quantidade:vagas:outras"
+    dataType: "integer"
+    description: "Informa o número de vagas oferecidas em EaD para outras vagas"
+    tags:
+        - "superior"
+        - "curso"
+-
+    name: "dim:es:curso:integral:quantidade:vagas:outras"
+    dataType: "integer"
+    description: "Informa o número de vagas oferecidas no turno integral para outras vagas"
+    tags:
+        - "superior"
+        - "curso"
+-
+    name: "dim:es:curso:matutino:quantidade:vagas:outras"
+    dataType: "integer"
+    description: "Informa o número de vagas oferecidas no turno matutino para outras vagas"
+    tags:
+        - "superior"
+        - "curso"
+-
+    name: "dim:es:curso:noturno:quantidade:vagas:outras"
+    dataType: "integer"
+    description: "Informa o número de vagas oferecidas no turno noturno para outras vagas"
+    tags:
+        - "superior"
+        - "curso"
+-
+    name: "dim:es:curso:vespertino:quantidade:vagas:outras"
+    dataType: "integer"
+    description: "Informa o número de vagas oferecidas no turno vespertino para outras vagas"
+    tags:
+        - "superior"
+        - "curso"
+-
+    name: "dim:es:curso:matutino:quantidade:inscritos:outras"
+    dataType: "integer"
+    description: "Informa o número de inscritos no ano, no turno matutino, para outras vagas"
+    tags:
+        - "superior"
+        - "curso"
+-
+    name: "dim:es:curso:vespertino:quantidade:inscritos:outras"
+    dataType: "integer"
+    description: "Informa o número de inscritos no ano, no turno vespertino, para outras vagas"
+    tags:
+        - "superior"
+        - "curso"
+-
+    name: "dim:es:curso:noturno:quantidade:inscritos:outras"
+    dataType: "integer"
+    description: "Informa o número de inscritos no ano, no turno noturno, para outras vagas"
+    tags:
+        - "superior"
+        - "curso"
+-
+    name: "dim:es:curso:integral:quantidade:inscritos:outras"
+    dataType: "integer"
+    description: "Informa o número de inscritos no ano, no turno integral, para outras vagas"
+    tags:
+        - "superior"
+        - "curso"
+-
+    name: "dim:es:curso:quantidade:ingresso:processo:seletivo"
+    dataType: "integer"
+    description: "Quantidade de ingressos por processo seletivo principal no curso"
+    tags:
+        - "superior"
+        - "curso"
+-
+    name: "dim:es:curso:integral:quantidade:inscritos:vagas:novas"
+    dataType: "integer"
+    description: "Quantidade de inscritos no processo seletivo de vagas novas no turno integral"
+    tags:
+        - "superior"
+        - "curso"
+-
+    name: "dim:es:curso:matutino:quantidade:inscritos:vagas:novas"
+    dataType: "integer"
+    description: "Quantidade de inscritos no processo seletivo de vagas novas no turno matutino"
+    tags:
+        - "superior"
+        - "curso"
+-
+    name: "dim:es:curso:vespertino:quantidade:inscritos:vagas:novas"
+    dataType: "integer"
+    description: "Quantidade de inscritos no processo seletivo de vagas novas no turno vespertino"
+    tags:
+        - "superior"
+        - "curso"
+-
+    name: "dim:es:curso:noturno:quantidade:inscritos:vagas:novas"
+    dataType: "integer"
+    description: "Quantidade de inscritos no processo seletivo de vagas novas no turno noturno"
+    tags:
+        - "superior"
+        - "curso"
+-
+    name: "dim:es:curso:ead:quantidade:inscritos:vagas:novas"
+    dataType: "integer"
+    description: "Quantidade de inscritos no processo seletivo de vagas novas em cursos EAD"
+    tags:
+        - "superior"
+        - "curso"
+-
+    name: "dim:es:curso:integral:quantidade:inscritos:remanescentes"
+    dataType: "integer"
+    description: "Quantidade de inscritos no processo seletivo de vagas remanescentes no turno integral"
+    tags:
+        - "superior"
+        - "curso"
+-
+    name: "dim:es:curso:matutino:quantidade:inscritos:remanescentes"
+    dataType: "integer"
+    description: "Quantidade de inscritos no processo seletivo de vagas remanescentes no turno matutino"
+    tags:
+        - "superior"
+        - "curso"
+-
+    name: "dim:es:curso:vespertino:quantidade:inscritos:remanescentes"
+    dataType: "integer"
+    description: "Quantidade de inscritos no processo seletivo de vagas remanescentes no turno vespertino"
+    tags:
+        - "superior"
+        - "curso"
+-
+    name: "dim:es:curso:noturno:quantidade:inscritos:remanescentes"
+    dataType: "integer"
+    description: "Quantidade de inscritos no processo seletivo de vagas remanescentes no turno noturno"
+    tags:
+        - "superior"
+        - "curso"
+-
+    name: "dim:es:curso:ead:quantidade:inscritos:remanescentes"
+    dataType: "integer"
+    description: "Quantidade de inscritos no processo seletivo de vagas remanescentes em cursos EAD"
+    tags:
+        - "superior"
+        - "curso"
+-
+    name: "dim:es:curso:integral:quantidade:inscritos:programa:especial"
+    dataType: "integer"
+    description: "Quantidade de inscritos nas vagas oferecidas para programas especiais no turno integral"
+    tags:
+        - "superior"
+        - "curso"
+-
+    name: "dim:es:curso:matutino:quantidade:inscritos:programa:especial"
+    dataType: "integer"
+    description: "Quantidade de inscritos nas vagas oferecidas para programas especiais no turno matutino"
+    tags:
+        - "superior"
+        - "curso"
+-
+    name: "dim:es:curso:vespertino:quantidade:inscritos:programa:especial"
+    dataType: "integer"
+    description: "Quantidade de inscritos nas vagas oferecidas para programas especiais no turno vespertino"
+    tags:
+        - "superior"
+        - "curso"
+-
+    name: "dim:es:curso:noturno:quantidade:inscritos:programa:especial"
+    dataType: "integer"
+    description: "Quantidade de inscritos nas vagas oferecidas para programas especiais no turno matutino"
+    tags:
+        - "superior"
+        - "curso"
+-
+    name: "dim:es:curso:ead:quantidade:inscritos:programa:especial"
+    dataType: "integer"
+    description: "Quantidade de inscritos nas vagas oferecidas para programas especiais em cursos EAD"
+    tags:
+        - "superior"
+        - "curso"
+-
+    name: "dim:es:curso:integral:quantidade:vagas:novas"
+    dataType: "integer"
+    description: "Informa o número de vagas novas oferecidas nos cursos de turno integral"
+    tags:
+        - "superior"
+        - "curso"
+-
+    name: "dim:es:curso:matutino:quantidade:vagas:novas"
+    dataType: "integer"
+    description: "Informa o número de vagas novas oferecidas nos cursos de turno matutino"
+    tags:
+        - "superior"
+        - "curso"
+-
+    name: "dim:es:curso:vespertino:quantidade:vagas:novas"
+    dataType: "integer"
+    description: "Informa o número de vagas novas oferecidas nos cursos de turno vespertino"
+    tags:
+        - "superior"
+        - "curso"
+-
+    name: "dim:es:curso:noturno:quantidade:vagas:novas"
+    dataType: "integer"
+    description: "Informa o número de vagas novas oferecidas nos cursos de turno noturno"
+    tags:
+        - "superior"
+        - "curso"
+-
+    name: "dim:es:curso:ead:quantidade:vagas:novas"
+    dataType: "integer"
+    description: "Informa o número de vagas novas oferecidas nos cursos a distância"
+    tags:
+        - "superior"
+        - "curso"
+-
+    name: "dim:es:curso:integral:quantidade:vagas:remanescentes"
+    dataType: "integer"
+    description: "Informa o número de vagas remanescentes oferecidas nos cursos de turno integral"
+    tags:
+        - "superior"
+        - "curso"
+-
+    name: "dim:es:curso:matutino:quantidade:vagas:remanescentes"
+    dataType: "integer"
+    description: "Informa o número de vagas remanescentes oferecidas nos cursos de turno matutino"
+    tags:
+        - "superior"
+        - "curso"
+-
+    name: "dim:es:curso:vespertino:quantidade:vagas:remanescentes"
+    dataType: "integer"
+    description: "Informa o número de vagas remanescentes oferecidas nos cursos de turno vespertino"
+    tags:
+        - "superior"
+        - "curso"
+-
+    name: "dim:es:curso:noturno:quantidade:vagas:remanescentes"
+    dataType: "integer"
+    description: "Informa o número de vagas remanescentes oferecidas nos cursos de turno noturno"
+    tags:
+        - "superior"
+        - "curso"
+-
+    name: "dim:es:curso:ead:quantidade:vagas:remanescentes"
+    dataType: "integer"
+    description: "Informa o número de vagas remanescentes oferecidas nos cursos a distância"
+    tags:
+        - "superior"
+        - "curso"
+-
+    name: "dim:es:curso:integral:quantidade:vagas:programa:especial"
+    dataType: "integer"
+    description: "Informa o número de vagas oferecidas no turno integral para programas especiais"
+    tags:
+        - "superior"
+        - "curso"
+-
+    name: "dim:es:curso:matutino:quantidade:vagas:programa:especial"
+    dataType: "integer"
+    description: "Informa o número de vagas oferecidas no turno matutino para programas especiais"
+    tags:
+        - "superior"
+        - "curso"
+-
+    name: "dim:es:curso:vespertino:quantidade:vagas:programa:especial"
+    dataType: "integer"
+    description: "Informa o número de vagas oferecidas no turno vespertino para programas especiais"
+    tags:
+        - "superior"
+        - "curso"
+-
+    name: "dim:es:curso:noturno:quantidade:vagas:programa:especial"
+    dataType: "integer"
+    description: "Informa o número de vagas oferecidas no turno noturno para programas especiais"
+    tags:
+        - "superior"
+        - "curso"
+-
+    name: "dim:es:curso:ead:quantidade:vagas:programa:especial"
+    dataType: "integer"
+    description: "Informa o número de vagas oferecidas em cursos EAD para programas especiais"
+    tags:
+        - "superior"
+        - "curso"
+-
+    name: "dim:es:curso:quantidade:vagas:novas"
+    dataType: "integer"
+    description: "Quantidade de ingressos em vagas novas oferecidas no curso"
+    tags:
+        - "superior"
+        - "curso"
+-
+    name: "dim:es:curso:local:oferta:cod"
+    dataType: "integer"
+    description: "Código do local de oferta"
+    tags:
+        - "superior"
+        - "curso"
+-
+    name: "dim:es:curso:quantidade:vagas:totais"
+    dataType: "integer"
+    description: "Quantidade de vagas totais oferecidas"
+    tags:
+        - "superior"
+        - "curso"
+-
+    name: "dim:es:curso:sintese:voz"
+    dataType: "integer"
+    description: "Informa se o curso oferece sistema de síntese de voz"
+    tags:
+        - "superior"
+        - "curso"
+-
+    name: "dim:es:curso:censo:ano"
+    dataType: "integer"
+    description: "Ano de pesquisa"
+    tags:
+        - "superior"
+        - "curso"
diff --git a/config/parse/dim_es_curso_local_oferta.yaml b/config/parse/dim_es_curso_local_oferta.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..9ce4511b2f9f95d0a29a5aa2657366d74df760a1
--- /dev/null
+++ b/config/parse/dim_es_curso_local_oferta.yaml
@@ -0,0 +1,86 @@
+-
+    name: "dim:es:instituicao:sede"
+    dataType: "integer"
+    description: "Informa se o agrupador é o principal da IES"
+    tags:
+        - "superior"
+        - "instituicao"
+-
+    name: "dim:es:curso:polo:cod"
+    dataType: "integer"
+    description: "Código de identificação do polo vinculado ao curso"
+    tags:
+        - "superior"
+        - "curso"
+-
+    name: "dim:es:curso:id"
+    dataType: "integer"
+    description: "Código único de identificação do curso gerado pelo E-MEC"
+    tags:
+        - "superior"
+        - "curso"
+-
+    name: "dim:es:curso:nucleo:local:oferta:educacao:adistancia"
+    dataType: "integer"
+    description: "Informa se o tipo de local de oferta é Núcleo de Educação a Distância (NEAD)"
+    tags:
+        - "superior"
+        - "curso"
+        - "local:oferta"
+-
+    name: "dim:es:curso:local:oferta:universidade:aberta:do:brasil"
+    dataType: "integer"
+    description: "Informa se o tipo de local de oferta é Polo Universidade Aberta do Brasil (UAB)"
+    tags:
+        - "superior"
+        - "curso"
+        - "local:oferta"
+-
+    name: "dim:es:curso:local:oferta:reitoria"
+    dataType: "integer"
+    description: "Informa se o tipo de local de oferta é Unidade Administrativa/Reitoria"
+    tags:
+        - "superior"
+        - "curso"
+        - "local:oferta"
+-
+    name: "dim:es:curso:local:oferta:polo:de:apoio:presencial"
+    dataType: "integer"
+    description: "Informa se o tipo de local de oferta é Polo de apoio presencial"
+    tags:
+        - "superior"
+        - "curso"
+        - "local:oferta"
+-
+    name: "dim:es:curso:local:oferta:unidade:academica"
+    dataType: "integer"
+    description: "Informa se o tipo de local de oferta é Unidade Acadêmica"
+    tags:
+        - "superior"
+        - "curso"
+        - "local:oferta"
+-
+    name: "dim:es:curso:local:oferta:nome"
+    dataType: "string"
+    description: "Nome do local de oferta definido pela instituição"
+    tags:
+        - "superior"
+        - "curso"
+        - "local:oferta"
+-
+    name: "dim:es:curso:local:oferta:data:inicio:funcionamento"
+    dataType: "string"
+    description: "Data de início de funcionamento do local de oferta dos cursos EaD"
+    tags:
+        - "superior"
+        - "curso"
+        - "local:oferta"
+-
+    name: "dim:es:curso:local:oferta:cod"
+    dataType: "integer"
+    description: "Código do local de oferta"
+    tags:
+        - "superior"
+        - "curso"
+        - "local:oferta"
+
diff --git a/config/parse/dim_es_docente.yaml b/config/parse/dim_es_docente.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..c73ca184cc24c61280cac83bb0661635c1a2dd17
--- /dev/null
+++ b/config/parse/dim_es_docente.yaml
@@ -0,0 +1,316 @@
+-
+    name: "dim:es:docente:ies:cod"
+    dataType: "integer"
+    description: "Código gerado pelo Inep para o vínculo do docente à IES"
+    tags:
+        - "superior"
+        - "docente"
+        - "instituicao"
+-
+    name: "dim:es:docente:id"
+    dataType: "integer"
+    description: "Código de identificação gerado pelo Inep para o docente no Censo da Educação Superior"
+    tags:
+        - "superior"
+        - "docente"
+-
+    name: "dim:es:docente:situacao:cod"
+    dataType: "integer"
+    description: "Informa a situação do docente na IES"
+    tags:
+        - "superior"
+        - "docente"
+-
+    name: "dim:es:docente:situacao:nome"
+    dataType: "string"
+    description: "Nome da situação do docente na IES"
+    tags:
+        - "superior"
+        - "docente"
+-
+    name: "dim:es:docente:escolaridade:cod"
+    dataType: "integer"
+    description: "Informa o grau de escolaridade do docente"
+    tags:
+        - "superior"
+        - "docente"
+-
+    name: "dim:es:docente:escolaridade:nome"
+    dataType: "string"
+    description: "Informa o nome do grau de escolaridade do docente"
+    tags:
+        - "superior"
+        - "docente"
+-
+    name: "dim:es:docente:regime:trabalho:cod"
+    dataType: "integer"
+    description: "Informa o regime de trabalho do docente"
+    tags:
+        - "superior"
+        - "docente"
+-
+    name: "dim:es:docente:regime:trabalho:nome"
+    dataType: "string"
+    description: "Nome do regime de trabalho do docente"
+    tags:
+        - "superior"
+        - "docente"
+-
+    name: "dim:es:docente:sexo:cod"
+    dataType: "integer"
+    description: "Sexo do docente"
+    tags:
+        - "superior"
+        - "docente"
+-
+    name: "dim:es:docente:sexo:nome"
+    dataType: "string"
+    description: "Nome do sexo do docente"
+    tags:
+        - "superior"
+        - "docente"
+-
+    name: "dim:es:docente:nascimento:ano"
+    dataType: "integer"
+    description: "Ano de nascimento do docente"
+    tags:
+        - "superior"
+        - "docente"
+-
+    name: "dim:es:docente:nascimento:mes"
+    dataType: "integer"
+    description: "Mês de nascimento do docente"
+    tags:
+        - "superior"
+        - "docente"
+-
+    name: "dim:es:docente:nascimento:dia"
+    dataType: "integer"
+    description: "Dia de nascimento do docente"
+    tags:
+        - "superior"
+        - "docente"
+-
+    name: "dim:es:docente:idade"
+    dataType: "integer"
+    description: "Idade que o docente completa no ano de referência do Censo"
+    tags:
+        - "superior"
+        - "docente"
+-
+    name: "dim:es:docente:raca:cod"
+    dataType: "integer"
+    description: "Cor/raça do docente"
+    tags:
+        - "superior"
+        - "docente"
+-
+    name: "dim:es:docente:raca:nome"
+    dataType: "string"
+    description: "Nome da cor/raça do docente"
+    tags:
+        - "superior"
+        - "docente"
+-
+    name: "dim:es:docente:pais:cod"
+    dataType: "integer"
+    description: "Código do país de nascimento ou de naturalização do docente"
+    tags:
+        - "superior"
+        - "docente"
+-
+    name: "dim:es:docente:nacionalidade:cod"
+    dataType: "integer"
+    description: "Código da nacionalidade do docente"
+    tags:
+        - "superior"
+        - "docente"
+-
+    name: "dim:es:docente:nascimento:estado:id"
+    dataType: "integer"
+    description: "Código da UF de nascimento do docente"
+    tags:
+        - "superior"
+        - "docente"
+-
+    name: "dim:es:docente:nascimento:cidade:id"
+    dataType: "integer"
+    description: "Código do município de nascimento do docente"
+    tags:
+        - "superior"
+        - "docente"
+-
+    name: "dim:es:docente:deficiencia"
+    dataType: "integer"
+    description: "Informa se o docente possui algum tipo de deficiência"
+    tags:
+        - "superior"
+        - "docente"
+-
+    name: "dim:es:docente:ministra:aula:ead"
+    dataType: "integer"
+    description: "Informa se o docente ministra aula em cursos a distância"
+    tags:
+        - "superior"
+        - "docente"
+-
+    name: "dim:es:docente:atua:atividade:extensao"
+    dataType: "integer"
+    description: "Informa se o docente participa de atividades de extensão"
+    tags:
+        - "superior"
+        - "docente"
+-
+    name: "dim:es:docente:atua:atividade:gestao"
+    dataType: "integer"
+    description: "Informa se o docente participa de atividades de gestão, planejamento e avaliação"
+    tags:
+        - "superior"
+        - "docente"
+-
+    name: "dim:es:docente:atua:atividade:graduacao:presencial"
+    dataType: "integer"
+    description: "Informa se o docente atua em atividades de ensino em cursos de graduação presencial"
+    tags:
+        - "superior"
+        - "docente"
+-
+    name: "dim:es:docente:atua:atividade:posgraduacao:distancia"
+    dataType: "integer"
+    description: "Informa se o docente atua em atividades de ensino em curso de pós-graduação stricto sensu a distância"
+    tags:
+        - "superior"
+        - "docente"
+-
+    name: "dim:es:docente:atua:atividade:posgraduacao:presencial"
+    dataType: "integer"
+    description: "Informa se o docente atua em atividades de ensino em curso de pós-graduação stricto sensu presencial"
+    tags:
+        - "superior"
+        - "docente"
+-
+    name: "dim:es:docente:atua:atividade:formacao:especifica"
+    dataType: "integer"
+    description: "Informa se o docente atua em atividades de ensino em curso sequencial de formação específica"
+    tags:
+        - "superior"
+        - "docente"
+-
+    name: "dim:es:docente:atua:pesquisa"
+    dataType: "integer"
+    description: "Informa se o docente atua em pesquisa"
+    tags:
+        - "superior"
+        - "docente"
+-
+    name: "dim:es:docente:possui:bolsa:pesquisa"
+    dataType: "integer"
+    description: "Informa se o docente possui bolsa de pesquisa"
+    tags:
+        - "superior"
+        - "docente"
+-
+    name: "dim:es:docente:substituto"
+    dataType: "integer"
+    description: "Informa se o docente esteve vinculado à IES na condição de docente substituto"
+    tags:
+        - "superior"
+        - "docente"
+-
+    name: "dim:es:docente:esteve:exercicio"
+    dataType: "integer"
+    description: "Informa se o docente esteve em exercício em 31/12/2012"
+    tags:
+        - "superior"
+        - "docente"
+-
+    name: "dim:es:docente:visitante"
+    dataType: "integer"
+    description: "Informa se o docente esteve vinculado à IES na condição de docente visitante"
+    tags:
+        - "superior"
+        - "docente"
+-
+    name: "dim:es:docente:visitante:vinculo"
+    dataType: "integer"
+    description: "Tipo de vínculo de docente visitante à IES"
+    tags:
+        - "superior"
+        - "docente"
+-
+    name: "dim:es:docente:cegueira"
+    dataType: "integer"
+    description: "Informa se o aluno possui cegueira"
+    tags:
+        - "superior"
+        - "docente"
+-
+    name: "dim:es:docente:baixa:visao"
+    dataType: "integer"
+    description: "Informa se o aluno possui visão subnormal ou baixa visão"
+    tags:
+        - "superior"
+        - "docente"
+-
+    name: "dim:es:docente:surdez"
+    dataType: "integer"
+    description: "Informa se o aluno possui surdez"
+    tags:
+        - "superior"
+        - "docente"
+-
+    name: "dim:es:docente:deficiencia:auditiva"
+    dataType: "integer"
+    description: "Informa se o aluno possui deficiência auditiva"
+    tags:
+        - "superior"
+        - "docente"
+-
+    name: "dim:es:docente:deficiencia:fisica"
+    dataType: "integer"
+    description: "Informa se o aluno possui deficiência física"
+    tags:
+        - "superior"
+        - "docente"
+-
+    name: "dim:es:docente:surdocegueira"
+    dataType: "integer"
+    description: "Informa se o aluno possui surdocegueira"
+    tags:
+        - "superior"
+        - "docente"
+-
+    name: "dim:es:docente:deficiencia:multipla"
+    dataType: "integer"
+    description: "Informa se o aluno possui deficiência múltipla"
+    tags:
+        - "superior"
+        - "docente"
+-
+    name: "dim:es:docente:deficiencia:intelectual"
+    dataType: "integer"
+    description: "Informa se o aluno possui deficiência intelectual"
+    tags:
+        - "superior"
+        - "docente"
+-
+    name: "dim:es:docente:nacionalidade:nome"
+    dataType: "string"
+    description: "Nome da nacionalidade do docente"
+    tags:
+        - "superior"
+        - "docente"
+-
+    name: "dim:es:docente:data:cadastro"
+    dataType: "string"
+    description: "Data de cadastramento do docente no ensino superior"
+    tags:
+        - "superior"
+        - "docente"
+-
+    name: "dim:es:docente:censo:ano"
+    dataType: "integer"
+    description: "Ano de pesquisa"
+    tags:
+        - "superior"
+        - "docente"
diff --git a/config/parse/dim_es_instituicao.yaml b/config/parse/dim_es_instituicao.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..d97ca5c41c090db3b8325da26ddf6be176f214cc
--- /dev/null
+++ b/config/parse/dim_es_instituicao.yaml
@@ -0,0 +1,321 @@
+-
+    name: "dim:es:instituicao:nome"
+    dataType: "string"
+    description: "Nome da IES"
+    tags:
+        - "superior"
+        - "instituicao"
+-
+    name: "dim:es:instituicao:matenedora:id"
+    dataType: "integer"
+    description: "Código único de identificação da mantenedora"
+    tags:
+        - "superior"
+        - "instituicao"
+-
+    name: "dim:es:instituicao:matenedora:nome"
+    dataType: "string"
+    description: "Nome da Mantenedora"
+    tags:
+        - "superior"
+        - "instituicao"
+-
+    name: "dim:es:instituicao:categoria:administrativa:id"
+    dataType: "integer"
+    description: "Código da Categoria Administrativa"
+    tags:
+        - "superior"
+        - "instituicao"
+-
+    name: "dim:es:inctituicao:categoria:administrativa:nome"
+    dataType: "string"
+    description: "Nome da Categoria Administrativa"
+    tags:
+        - "superior"
+        - "instituicao"
+-
+    name: "dim:es:instituicao:organizacao:academica:id"
+    dataType: "integer"
+    description: "Código da Organização Acadêmico"
+    tags:
+        - "superior"
+        - "instituicao"
+-
+    name: "dim:es:instituicao:organizacao:academica:nome"
+    dataType: "string"
+    description: "Nome da Organização Acadêmica"
+    tags:
+        - "superior"
+        - "instituicao"
+-
+    name: "dim:cidade:id"
+    dataType: "integer"
+    description: "id da cidade do Brasil"
+    tags:
+        - "cidade"
+-
+    name: "dim:es:instituicao:capital"
+    dataType: "integer"
+    description: "Informa se a IES (reitoria/sede administrativa) está localizada na capital"
+    tags:
+        - "superior"
+        - "instituicao"
+-
+    name: "dim:es:instituicao:quant:funcionarios"
+    dataType: "integer"
+    description: "Número de funcionários técnico-administrativos"
+    tags:
+        - "superior"
+        - "instituicao"
+-
+    name: "dim:es:instituicao:quant:funcionarios:masc:fundamental:incompleto"
+    dataType: "integer"
+    description: "Número de funcionários técnico-administrativos do sexo masculino com ensino fundamental incompleto"
+    tags:
+        - "superior"
+        - "instituicao"
+-
+    name: "dim:es:instituicao:quant:funcionarios:fem:fundamental:incompleto"
+    dataType: "integer"
+    description: "Número de funcionários técnico-administrativos do sexo feminino com ensino fundamental incompleto"
+    tags:
+        - "superior"
+        - "instituicao"
+-
+    name: "dim:es:instituicao:quant:funcionarios:masc:fundamental:completo"
+    dataType: "integer"
+    description: "Número de funcionários técnico-administrativos do sexo masculino com fundamental completo"
+    tags:
+        - "superior"
+        - "instituicao"
+-
+    name: "dim:es:instituicao:quant:funcionarios:fem:fundamental:completo"
+    dataType: "integer"
+    description: "Número de funcionários técnico-administrativos do sexo feminino com ensino fundamental completo"
+    tags:
+        - "superior"
+        - "instituicao"
+-
+    name: "dim:es:instituicao:quant:funcionarios:masc:ensino:medio"
+    dataType: "integer"
+    description: "Número de funcionários técnico-administrativos do sexo masculino com ensino médio"
+    tags:
+        - "superior"
+        - "instituicao"
+-
+    name: "dim:es:instituicao:quant:funcionarios:fem:ensino:medio"
+    dataType: "integer"
+    description: "Número de funcionários técnico-administrativos do sexo feminino com ensino médio"
+    tags:
+        - "superior"
+        - "instituicao"
+-
+    name: "dim:es:instituicao:quant:funcionarios:masc:ensino:superior"
+    dataType: "integer"
+    description: "Número de funcionários técnico-administrativos do sexo masculino com nível superior"
+    tags:
+        - "superior"
+        - "instituicao"
+-
+    name: "dim:es:instituicao:quant:funcionarios:fem:ensino:superior"
+    dataType: "integer"
+    description: "Número de funcionários técnico-administrativos do sexo feminino com nível superior"
+    tags:
+        - "superior"
+        - "instituicao"
+-
+    name: "dim:es:instituicao:quant:funcionarios:masc:especializacao"
+    dataType: "integer"
+    description: "Número de funcionários técnico-administrativos do sexo masculino com especialização"
+    tags:
+        - "superior"
+        - "instituicao"
+-
+    name: "dim:es:instituicao:quant:funcionarios:fem:especializacao"
+    dataType: "integer"
+    description: "Número de funcionários técnico-administrativos do sexo feminino com especialização"
+    tags:
+        - "superior"
+        - "instituicao"
+-
+    name: "dim:es:instituicao:quant:funcionarios:masc:mestrado"
+    dataType: "integer"
+    description: "Número de funcionários técnico-administrativos do sexo masculino com mestrado"
+    tags:
+        - "superior"
+        - "instituicao"
+-
+    name: "dim:es:instituicao:quant:funcionarios:fem:mestrado"
+    dataType: "integer"
+    description: "Número de funcionários técnico-administrativos do sexo feminino com mestrado"
+    tags:
+        - "superior"
+        - "instituicao"
+-
+    name: "dim:es:instituicao:quant:funcionarios:masc:doutorado"
+    dataType: "integer"
+    description: "Número de funcionários técnico-administrativos do sexo masculino com doutorado"
+    tags:
+        - "superior"
+        - "instituicao"
+-
+    name: "dim:es:instituicao:quant:funcionarios:fem:doutorado"
+    dataType: "integer"
+    description: "Número de funcionários técnico-administrativos do sexo feminino com doutorado"
+    tags:
+        - "superior"
+        - "instituicao"
+-
+    name: "dim:es:instituicao:acesso:portal:capes"
+    dataType: "integer"
+    description: "Informa se as bibliotecas da IES tem acesso ao portal Capes de periódicos"
+    tags:
+        - "superior"
+        - "instituicao"
+-
+    name: "dim:es:instituicao:acesso:outras:bases"
+    dataType: "integer"
+    description: "Informa se as bibliotecas da IES tem acesso a outras bases de dados licenciadas ou compradas"
+    tags:
+        - "superior"
+        - "instituicao"
+-
+    name: "dim:es:instituicao:financeiro:referente:matenedora:ies"
+    dataType: "integer"
+    description: "Informa se os dados financeiros são referentes à mantenedora ou a IES"
+    tags:
+        - "superior"
+        - "instituicao"
+-
+    name: "dim:es:instituicao:financeiro:valor:receita:propria"
+    dataType: "integer"
+    description: "Informa o valor das receitas próprias auferidas pela Mantenedora ou pela IES no ano de referência"
+    tags:
+        - "superior"
+        - "instituicao"
+-
+    name: "dim:es:instituicao:financeiro:valor:transferencia"
+    dataType: "integer"
+    description: "Informa o valor de transferências auferidas pela Mantenedora ou pela IES no ano de referência"
+    tags:
+        - "superior"
+        - "instituicao"
+-
+    name: "dim:es:instituicao:financeiro:valor:outra:receita"
+    dataType: "integer"
+    description: "Informa o valor de outras receitas auferidas pela Mantenedora ou pela IES no ano de referência"
+    tags:
+        - "superior"
+        - "instituicao"
+-
+    name: "dim:es:instituicao:financeiro:despesas:remuneracao:docente"
+    dataType: "integer"
+    description: "Informa as despesas com remuneração de pessoal -docentes ativos da IES ou da mantenedora"
+    tags:
+        - "superior"
+        - "instituicao"
+-
+    name: "dim:es:instituicao:financeiro:despesas:remuneracao:tecnico"
+    dataType: "integer"
+    description: "Informa as despesas com remuneração de pessoal técnico-administrativo/pedagógicos da IES ou da mantenedora"
+    tags:
+        - "superior"
+        - "instituicao"
+-
+    name: "dim:es:instituicao:financeiro:despesas:encargos"
+    dataType: "integer"
+    description: "Informa as despesas com benefícios e encargos sociais de todo o pessoal da IES ou da mantenedora"
+    tags:
+        - "superior"
+        - "instituicao"
+-
+    name: "dim:es:instituicao:financeiro:despesas:custeio"
+    dataType: "integer"
+    description: "Informa as despesas para a manutenção e custeio da IES ou da mantenedora (Não inclui despesas com pessoal)"
+    tags:
+        - "superior"
+        - "instituicao"
+-
+    name: "dim:es:instituicao:financeiro:despesas:investimento"
+    dataType: "integer"
+    description: "Informa as despesas de investimentos (despesas de capital) realizadas nas IES ou na mantenedora"
+    tags:
+        - "superior"
+        - "instituicao"
+-
+    name: "dim:es:instituicao:financeiro:despesas:pesquisa"
+    dataType: "integer"
+    description: "Informa as despesas com Pesquisa e Desenvolvimento da IES ou da mantenedora"
+    tags:
+        - "superior"
+        - "instituicao"
+-
+    name: "dim:es:instituicao:financeiro:despesas:outras"
+    dataType: "integer"
+    description: "Informa o valor de dispêndios não contemplados nos demais campos relativos à despesa"
+    tags:
+        - "superior"
+        - "instituicao"
+-
+    name: "dim:es:instituicao:sigla"
+    dataType: "string"
+    description: "Sigla da IES"
+    tags:
+        - "superior"
+        - "instituicao"
+-
+    name: "dim:es:instituicao:repositorio:institucional"
+    dataType: "integer"
+    description: "Informa se a IES possui base de dados online que reúne de maneira organizada a produção científica da instituição"
+    tags:
+        - "superior"
+        - "instituicao"
+-
+    name: "dim:es:instituicao:busca:integrada"
+    dataType: "integer"
+    description: "Informa se as bibliotecas da IES oferecem serviços pela internet"
+    tags:
+        - "superior"
+        - "instituicao"
+-
+    name: "dim:es:instituicao:servico:internet"
+    dataType: "integer"
+    description: "Informa se as bibliotecas da IES oferecem serviços pela internet"
+    tags:
+        - "superior"
+        - "instituicao"
+-
+    name: "dim:es:instituicao:participa:rede:social"
+    dataType: "integer"
+    description: "Informa se a biblioteca participam de Redes Sociais"
+    tags:
+        - "superior"
+        - "instituicao"
+-
+    name: "dim:es:instituicao:catalogo:online"
+    dataType: "integer"
+    description: "Informa se a IES possui ferramenta de recuperação de informação que permite ao usuário consultar, de forma local ou remota, a existência e disponibilidade de itens do acervo da(s) biblioteca(s)"
+    tags:
+        - "superior"
+        - "instituicao"
+-
+    name: "dim:es:instituicao:quantidade:periodico:eletronico"
+    dataType: "integer"
+    description: "Quantidade de títulos de periódicos eletrônicos adquiridos pelas bibliotecas por meio de compra, doação ou permuta"
+    tags:
+        - "superior"
+        - "instituicao"
+-
+    name: "dim:es:instituicao:quantidade:livro:eletronico"
+    dataType: "integer"
+    description: "Quantidade de títulos de livros eletrônicos disponibilizados pela biblioteca convertidos ao formato digital ou originalmente produzidos nesse formato para serem lidos em computador ou outros dispositivos"
+    tags:
+        - "superior"
+        - "instituicao"
+-
+    name: "dim:es:instituicao:censo:ano"
+    dataType: "integer"
+    description: "Ano de pesquisa"
+    tags:
+        - "superior"
+        - "instituicao"
diff --git a/config/parse/dim_es_ocde.yaml b/config/parse/dim_es_ocde.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..fb5095264bebe73b1790f485ea492ce231db43ae
--- /dev/null
+++ b/config/parse/dim_es_ocde.yaml
@@ -0,0 +1,64 @@
+-
+    name: "dim:es:curso:ocde:area:geral:cod"
+    dataType: "integer"
+    description: "1º caractere da variável CO_OCDE"
+    tags:
+        - "superior"
+        - "ocde"
+        - "curso"
+-
+    name: "dim:es:curso:ocde:area:geral:nome"
+    dataType: "string"
+    description: "Nome da área geral conforma adaptação da classificação internacional Eurostat/Unesco/OCDE"
+    tags:
+        - "superior"
+        - "ocde"
+        - "curso"
+-
+    name: "dim:es:curso:ocde:area:especifica:cod"
+    dataType: "integer"
+    description: "1º e 2º caracteres da variável CO_OCDE (corresponde à área específica)"
+    tags:
+        - "superior"
+        - "ocde"
+        - "curso"
+-
+    name: "dim:es:curso:ocde:area:especifica:nome"
+    dataType: "string"
+    description: "Nome da área específica conforma adaptação da classificação internacional Eurostat/Unesco/OCDE"
+    tags:
+        - "superior"
+        - "ocde"
+        - "curso"
+-
+    name: "dim:es:curso:ocde:area:detalhada:cod"
+    dataType: "integer"
+    description: "1º, 2º e 3º caracteres da variável CO_OCDE"
+    tags:
+        - "superior"
+        - "ocde"
+        - "curso"
+-
+    name: "dim:es:curso:ocde:area:detalhada:nome"
+    dataType: "string"
+    description: "Nome da área detalhada conforma adaptação da classificação internacional Eurostat/Unesco/OCDE"
+    tags:
+        - "superior"
+        - "ocde"
+        - "curso"
+-
+    name: "dim:es:curso:ocde:cod"
+    dataType: "string"
+    description: "Código de identificação do curso a partir de uma adaptação da metodologia internacional de classificação Eurostat/Unesco/OCDE"
+    tags:
+        - "superior"
+        - "ocde"
+        - "curso"
+-
+    name: "dim:es:curso:ocde:nome"
+    dataType: "string"
+    description: "Nome do curso a partir da tabela OCDE (Programas e/ou Curso)"
+    tags:
+        - "superior"
+        - "ocde"
+        - "curso"
diff --git a/config/parse/dim_escola.yaml b/config/parse/dim_escola.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..163a4248f1091abb2109314c380f452ededaabc1
--- /dev/null
+++ b/config/parse/dim_escola.yaml
@@ -0,0 +1,1267 @@
+-
+    name: "dim:escola:abre:final:de:semana"
+    dataType: "boolean"
+    description: "Escola abre aos finais de semana para a comunidade"
+    tags:
+        - "basico"
+        - "escola"
+-
+    name: "dim:escola:agua:cacimba"
+    dataType: "boolean"
+    description: "Abastecimento de água - Cacimba/Cisterna/Poço"
+    tags:
+        - "basico"
+        - "escola"
+-
+    name: "dim:escola:agua:filtrada"
+    dataType: "boolean"
+    description: "Água consumida pelos alunos na escola passa por um processo de filtragem"
+    tags:
+        - "basico"
+        - "escola"
+-
+    name: "dim:escola:agua:fonte:rio"
+    dataType: "boolean"
+    description: "Abastecimento de água - Fonte/Rio/Igarapé/Riacho/ Córrego"
+    tags:
+        - "basico"
+        - "escola"
+-
+    name: "dim:escola:agua:inexistente"
+    dataType: "boolean"
+    description: "Abastecimento de água - Inexistente"
+    tags:
+        - "basico"
+        - "escola"
+-
+    name: "dim:escola:agua:poco:artesiano"
+    dataType: "boolean"
+    description: "Abastecimento de água - Poço artesiano"
+    tags:
+        - "basico"
+        - "escola"
+-
+    name: "dim:escola:agua:rede:publica"
+    dataType: "boolean"
+    description: "Abastecimento de água - Rede pública"
+    tags:
+        - "basico"
+        - "escola"
+-
+    name: "dim:escola:alimentacao"
+    dataType: "boolean"
+    description: "Alimentação escolar para os alunos"
+    tags:
+        - "basico"
+        - "escola"
+-
+    name: "dim:escola:almoxarifado"
+    dataType: "boolean"
+    description: "Dependências existentes na escola - Almoxarifado"
+    tags:
+        - "basico"
+        - "escola"
+-
+    name: "dim:escola:alojamento:aluno"
+    dataType: "boolean"
+    description: "Dependências existentes na escola - Alojamento de aluno"
+    tags:
+        - "basico"
+        - "escola"
+-
+    name: "dim:escola:alojamento:professor"
+    dataType: "boolean"
+    description: "Dependências existentes na escola - Alojamento de professor"
+    tags:
+        - "basico"
+        - "escola"
+-
+    name: "dim:escola:antena:parabolica"
+    dataType: "boolean"
+    description: "Equipamentos existentes na escola - Antena parabólica"
+    tags:
+        - "basico"
+        - "escola"
+-
+    name: "dim:escola:antena:parabolica:quantidade"
+    dataType: "integer"
+    description: "Quantidade de antenas parabólicas"
+    tags:
+        - "basico"
+        - "escola"
+-
+    name: "dim:escola:aparelho:som"
+    dataType: "boolean"
+    description: "Equipamentos existentes na escola – Aparelho de Som"
+    tags:
+        - "basico"
+        - "escola"
+-
+    name: "dim:escola:aparelho:som:quantidade"
+    dataType: "integer"
+    description: "Quantidade de aparelhos de som"
+    tags:
+        - "basico"
+        - "escola"
+-
+    name: "dim:escola:area:verde"
+    dataType: "boolean"
+    description: "Dependências existentes na escola - Área Verde"
+    tags:
+        - "basico"
+        - "escola"
+-
+    name: "dim:escola:atendimento:educacional:especializado"
+    dataType: "integer"
+    description: "Atendimento Educacional Especializado (AEE)"
+    tags:
+        - "basico"
+        - "escola"
+-
+    name: "dim:escola:atividade:complementar"
+    dataType: "integer"
+    description: "Atividade Complementar"
+    tags:
+        - "basico"
+        - "escola"
+-
+    name: "dim:escola:auditorio"
+    dataType: "boolean"
+    description: "Dependências existentes na escola - Auditório"
+    tags:
+        - "basico"
+        - "escola"
+-
+    name: "dim:escola:banheiro:chuveiro"
+    dataType: "boolean"
+    description: "Dependências existentes na escola - Banheiro com chuveiro"
+    tags:
+        - "basico"
+        - "escola"
+-
+    name: "dim:escola:bercario"
+    dataType: "boolean"
+    description: "Dependências existentes na escola - Berçário"
+    tags:
+        - "basico"
+        - "escola"
+-
+    name: "dim:escola:biblioteca"
+    dataType: "boolean"
+    description: "Dependências existentes na escola - Biblioteca"
+    tags:
+        - "basico"
+        - "escola"
+-
+    name: "dim:escola:biblioteca:sala:leitura"
+    dataType: "boolean"
+    description: "Dependências existentes na escola - Biblioteca e/ou Sala de leitura"
+    tags:
+        - "basico"
+        - "escola"
+-
+    name: "dim:escola:censo:ano"
+    dataType: "integer"
+    description: "Ano do Censo"
+    tags:
+        - "basico"
+        - "escola"
+-
+    name: "dim:escola:codigo:orgao:regional:inep"
+    dataType: "string"
+    description: "Código do Órgão Regional de Ensino"
+    tags:
+        - "basico"
+        - "escola"
+-
+    name: "dim:escola:computador"
+    dataType: "boolean"
+    description: "Possui computadores"
+    tags:
+        - "basico"
+        - "escola"
+-
+    name: "dim:escola:computador:administrativo:quantidade"
+    dataType: "integer"
+    description: "Quantidade de computadores para uso administrativo"
+    tags:
+        - "basico"
+        - "escola"
+-
+    name: "dim:escola:computador:aluno:quantidade"
+    dataType: "integer"
+    description: "Quantidade de computadores para uso dos alunos"
+    tags:
+        - "basico"
+        - "escola"
+-
+    name: "dim:escola:computador:quantidade"
+    dataType: "integer"
+    description: "Quantidade de computadores na escola"
+    tags:
+        - "basico"
+        - "escola"
+-
+    name: "dim:escola:copiadora"
+    dataType: "boolean"
+    description: "Equipamentos existentes na escola - Copiadora"
+    tags:
+        - "basico"
+        - "escola"
+-
+    name: "dim:escola:copiadora:quantidade"
+    dataType: "integer"
+    description: "Quantidade de copiadoras"
+    tags:
+        - "basico"
+        - "escola"
+-
+    name: "dim:escola:cozinha"
+    dataType: "boolean"
+    description: "Dependências existentes na escola - Cozinha"
+    tags:
+        - "basico"
+        - "escola"
+-
+    name: "dim:escola:creche"
+    dataType: "boolean"
+    description: "Escola oferece Creche em classes comuns do ensino regular"
+    tags:
+        - "basico"
+        - "escola"
+-
+    name: "dim:escola:creche:especial"
+    dataType: "boolean"
+    description: "Escola oferece Creche em classes especiais exclusivas do ensino regular"
+    tags:
+        - "basico"
+        - "escola"
+-
+    name: "dim:escola:creche:transformada"
+    dataType: "boolean"
+    description: "Creche transformada"
+    tags:
+        - "basico"
+        - "escola"
+-
+    name: "dim:escola:datashow"
+    dataType: "boolean"
+    description: "Equipamentos existentes na escola – Projetor de Multimídia (Datashow)"
+    tags:
+        - "basico"
+        - "escola"
+-
+    name: "dim:escola:datashow:quantidade"
+    dataType: "integer"
+    description: "Quantidade de projetores multimídia (Datashow"
+    tags:
+        - "basico"
+        - "escola"
+-
+    name: "dim:escola:dependecia:alunos:deficiencia"
+    dataType: "boolean"
+    description: "Dependências existentes na escola - Dependências e vias adequadas a alunos com deficiência ou mobilidade reduzida"
+    tags:
+        - "basico"
+        - "escola"
+-
+    name: "dim:escola:dependencia:administrativa:id"
+    dataType: "integer"
+    description: "Dependência Administrativa"
+    tags:
+        - "basico"
+        - "escola"
+-
+    name: "dim:escola:dependencia:outras"
+    dataType: "boolean"
+    description: "Dependências existentes na escola - Nenhuma das dependência relacionadas"
+    tags:
+        - "basico"
+        - "escola"
+-
+    name: "dim:escola:despensa"
+    dataType: "boolean"
+    description: "Dependências existentes na escola - Despensa"
+    tags:
+        - "basico"
+        - "escola"
+-
+    name: "dim:escola:distrito"
+    dataType: "integer"
+    description: "Código completo do distrito da escola"
+    tags:
+        - "basico"
+        - "escola"
+-
+    name: "dim:escola:documento:regulamentacao"
+    dataType: "integer"
+    description: "Regulamentação/Autorização no Conselho ou Órgão Municipal, Estadual ou Federal de Educação"
+    tags:
+        - "basico"
+        - "escola"
+-
+    name: "dim:escola:dvd"
+    dataType: "boolean"
+    description: "Equipamentos existentes na escola - DVD"
+    tags:
+        - "basico"
+        - "escola"
+-
+    name: "dim:escola:dvd:quantidade"
+    dataType: "integer"
+    description: "Quantidade de aparelhos de DVD"
+    tags:
+        - "basico"
+        - "escola"
+-
+    name: "dim:escola:educacao:indigena"
+    dataType: "boolean"
+    description: "Educação Indígena"
+    tags:
+        - "basico"
+        - "escola"
+-
+    name: "dim:escola:educacao:indigena:lingua:id"
+    dataType: "integer"
+    description: "Educação Indígena - Língua em que o ensino é ministrado - Língua Indígena - Código da Língua Indígena"
+    tags:
+        - "basico"
+        - "escola"
+-
+    name: "dim:escola:educacao:indigena:lingua:indigena"
+    dataType: "boolean"
+    description: "Educação Indígena - Língua em que o ensino é ministrado - Língua Indígena"
+    tags:
+        - "basico"
+        - "escola"
+-
+    name: "dim:escola:educacao:indigena:lingua:portuguesa"
+    dataType: "boolean"
+    description: "Educação Indígena - Língua em que o ensino é ministrado - Língua Portuguesa"
+    tags:
+        - "basico"
+        - "escola"
+-
+    name: "dim:escola:educacao:indigena:lingua:tipo"
+    dataType: "integer"
+    description: "Educação Indígena - Língua em que o ensino é ministrado (1 Somente em Língua Indígena, 2 Somente em Língua Portuguesa, 3 Em Língua Indígena e em Língua Portuguesa)"
+    tags:
+        - "basico"
+        - "escola"
+-
+    name: "dim:escola:eja"
+    dataType: "boolean"
+    description: "Educação de Jovens e Adultos"
+    tags:
+        - "basico"
+        - "escola"
+-
+    name: "dim:escola:eja:projovem"
+    dataType: "boolean"
+    description: "Educação de Jovens e Adultos - Ensino Fundamental - Projovem (Urbano)"
+    tags:
+        - "basico"
+        - "escola"
+-
+    name: "dim:escola:energia:gerador"
+    dataType: "boolean"
+    description: "Abastecimento de energia elétrica - Gerador"
+    tags:
+        - "basico"
+        - "escola"
+-
+    name: "dim:escola:energia:inexistente"
+    dataType: "boolean"
+    description: "Abastecimento de energia elétrica - Inexistente"
+    tags:
+        - "basico"
+        - "escola"
+-
+    name: "dim:escola:energia:outros"
+    dataType: "boolean"
+    description: "Abastecimento de energia elétrica - Outros (Energia alternativa)"
+    tags:
+        - "basico"
+        - "escola"
+-
+    name: "dim:escola:energia:rede:publica"
+    dataType: "boolean"
+    description: "Abastecimento de energia elétrica - Rede pública"
+    tags:
+        - "basico"
+        - "escola"
+-
+    name: "dim:escola:ensino:especial"
+    dataType: "boolean"
+    description: "Escola possui classe especial exclusiva (ao menos uma turma exclusiva de alunos com deficiência, transtorno global do desenvolvimento ou altas habilidades/superdotação - Classes Especiais)"
+    tags:
+        - "basico"
+        - "escola"
+-
+    name: "dim:escola:ensino:fundamantal:9anos:especial"
+    dataType: "boolean"
+    description: "Educação Especial - Ensino Fundamental - 9 anos"
+    tags:
+        - "basico"
+        - "escola"
+-
+    name: "dim:escola:ensino:fundamental:8anos:especial"
+    dataType: "boolean"
+    description: "Educação Especial - Ensino Fundamental - 8 anos"
+    tags:
+        - "basico"
+        - "escola"
+-
+    name: "dim:escola:ensino:fundamental:8anos:regular"
+    dataType: "boolean"
+    description: ""
+    tags:
+        - "basico"
+        - "escola"
+-
+    name: "dim:escola:ensino:fundamental:9anos:regular"
+    dataType: "boolean"
+    description: ""
+    tags:
+        - "basico"
+        - "escola"
+-
+    name: "dim:escola:ensino:fundamental:anos:finais"
+    dataType: "boolean"
+    description: "Escola oferece Anos Finais do Ensino Fundamental (8 e 9 anos) em classes comuns do ensino regular"
+    tags:
+        - "basico"
+        - "escola"
+-
+    name: "dim:escola:ensino:fundamental:anos:finais:especial"
+    dataType: "boolean"
+    description: "Escola oferece Anos Finais do Ensino Fundamental (8 e 9 anos) em classes especiais exclusivas do ensino regular"
+    tags:
+        - "basico"
+        - "escola"
+-
+    name: "dim:escola:ensino:fundamental:anos:finais:transformada"
+    dataType: "boolean"
+    description: "Ensino fundamental anos finais transformada"
+    tags:
+        - "basico"
+        - "escola"
+-
+    name: "dim:escola:ensino:fundamental:anos:iniciais"
+    dataType: "boolean"
+    description: "Escola oferece Anos Iniciais do Ensino Fundamental (8 e 9 anos) em classes comuns do ensino regular"
+    tags:
+        - "basico"
+        - "escola"
+-
+    name: "dim:escola:ensino:fundamental:anos:iniciais:especial"
+    dataType: "boolean"
+    description: "Escola oferece Anos Iniciais do Ensino Fundamental (8 e 9 anos) em classes especiais exclusivas do ensino regular"
+    tags:
+        - "basico"
+        - "escola"
+-
+    name: "dim:escola:ensino:fundamental:anos:iniciais:transformada"
+    dataType: "boolean"
+    description: "Ensino fundamental anos iniciais transformada"
+    tags:
+        - "basico"
+        - "escola"
+-
+    name: "dim:escola:ensino:fundamental:ciclos"
+    dataType: "boolean"
+    description: "Ensino Fundamental organizado em ciclos"
+    tags:
+        - "basico"
+        - "escola"
+-
+    name: "dim:escola:ensino:fundamental:eja"
+    dataType: "boolean"
+    description: "Escola oferece Ensino Fundamental em classes comuns da EJA"
+    tags:
+        - "basico"
+        - "escola"
+-
+    name: "dim:escola:ensino:fundamental:eja:especial"
+    dataType: "boolean"
+    description: "Escola oferece Ensino Fundamental em classes especiais exclusivas da EJA"
+    tags:
+        - "basico"
+        - "escola"
+-
+    name: "dim:escola:ensino:medio:eja"
+    dataType: "boolean"
+    description: "Escola oferece Ensino Médio em classes comuns da EJA"
+    tags:
+        - "basico"
+        - "escola"
+-
+    name: "dim:escola:ensino:medio:eja:especial"
+    dataType: "boolean"
+    description: "Escola oferece Ensino Médio em classes especiais exclusivas da EJA"
+    tags:
+        - "basico"
+        - "escola"
+-
+    name: "dim:escola:ensino:medio:normal"
+    dataType: "integer"
+    description: "Escola oferece Ensino Médio - Normal/Magistério em classes comuns do ensino regular"
+    tags:
+        - "basico"
+        - "escola"
+-
+    name: "dim:escola:ensino:medio:normal:especial"
+    dataType: "boolean"
+    description: "Escola oferece Ensino Médio - Normal/Magistério em classes especiais exclusivas do ensino regular"
+    tags:
+        - "basico"
+        - "escola"
+-
+    name: "dim:escola:ensino:medio:propedeutico"
+    dataType: "boolean"
+    description: "Escola oferece Ensino Médio - Médio Propedêutico em classes comuns do ensino regular"
+    tags:
+        - "basico"
+        - "escola"
+-
+    name: "dim:escola:ensino:medio:propedeutico:especial"
+    dataType: "boolean"
+    description: "Escola oferece Ensino Médio - Médio Propedêutico em classes especiais exclusivas do ensino regular"
+    tags:
+        - "basico"
+        - "escola"
+-
+    name: "dim:escola:ensino:medio:transformada"
+    dataType: "boolean"
+    description: "Ensino médio transformada"
+    tags:
+        - "basico"
+        - "escola"
+-
+    name: "dim:escola:ensino:profissional"
+    dataType: "boolean"
+    description: "Educação Profissional - Curso Técnico Concomitante e/ou Subsequente e/ou Curso FIC Concomitante em classes comuns"
+    tags:
+        - "basico"
+        - "escola"
+-
+    name: "dim:escola:ensino:profissional:eja"
+    dataType: "boolean"
+    description: "Escola oferece educação profissional integrada em classes comuns da EJA"
+    tags:
+        - "basico"
+        - "escola"
+-
+    name: "dim:escola:ensino:profissional:eja:especial"
+    dataType: "boolean"
+    description: "Escola oferece educação profissional integrada em classes especiais exclusivas da EJA"
+    tags:
+        - "basico"
+        - "escola"
+-
+    name: "dim:escola:ensino:profissional:especial"
+    dataType: "string"
+    description: "Educação Profissional - Curso Técnico Concomitante e/ou Subsequente e/ou Curso FIC Concomitante em classes especiais exclusivas"
+    tags:
+        - "basico"
+        - "escola"
+-
+    name: "dim:escola:ensino:regular"
+    dataType: "boolean"
+    description: "Ensino Regular"
+    tags:
+        - "basico"
+        - "escola"
+-
+    name: "dim:escola:ensino:tecnico:integrado"
+    dataType: "integer"
+    description: "Escola oferece Curso Técnico Integrado ao Ensino Médio em classes comuns do ensino regular"
+    tags:
+        - "basico"
+        - "escola"
+-
+    name: "dim:escola:ensino:tecnico:integrado:especial"
+    dataType: "boolean"
+    description: "Escola oferece Curso Técnico Integrado ao Ensino Médio em classes especiais exclusivas do ensino regular"
+    tags:
+        - "basico"
+        - "escola"
+-
+    name: "dim:escola:esgotamento:sanitario"
+    dataType: "boolean"
+    description: "Tem esgotamento sanitário?"
+    tags:
+        - "basico"
+        - "escola"
+-
+    name: "dim:escola:esgoto:fossa"
+    dataType: "boolean"
+    description: "Esgoto sanitário - Fossa"
+    tags:
+        - "basico"
+        - "escola"
+-
+    name: "dim:escola:esgoto:inexistente"
+    dataType: "boolean"
+    description: "Esgoto sanitário - Inexistente"
+    tags:
+        - "basico"
+        - "escola"
+-
+    name: "dim:escola:esgoto:rede:publica"
+    dataType: "boolean"
+    description: "Esgoto sanitário - Rede pública"
+    tags:
+        - "basico"
+        - "escola"
+-
+    name: "dim:escola:espaco:turma:pba"
+    dataType: "boolean"
+    description: "Escola cede espaço para turmas do Programa Brasil Alfabetizado"
+    tags:
+        - "basico"
+        - "escola"
+-
+    name: "dim:escola:fax"
+    dataType: "boolean"
+    description: "Equipamentos existentes na escola – FAX"
+    tags:
+        - "basico"
+        - "escola"
+-
+    name: "dim:escola:fax:quantidade"
+    dataType: "integer"
+    description: "Quantidade de Fax"
+    tags:
+        - "basico"
+        - "escola"
+-
+    name: "dim:escola:fornecimento:agua"
+    dataType: "boolean"
+    description: "Tem fornecimento de água?"
+    tags:
+        - "basico"
+        - "escola"
+-
+    name: "dim:escola:fornecimento:energia"
+    dataType: "boolean"
+    description: "Tem fornecimento de energia elétrica?"
+    tags:
+        - "basico"
+        - "escola"
+-
+    name: "dim:escola:funcionamento:casa:professor"
+    dataType: "boolean"
+    description: "Local de funcionamento da escola - Casa do professor"
+    tags:
+        - "basico"
+        - "escola"
+-
+    name: "dim:escola:funcionamento:galpao"
+    dataType: "integer"
+    description: "Forma de ocupação do Galpão/Rancho/Paiol/Barracão"
+    tags:
+        - "basico"
+        - "escola"
+-
+    name: "dim:escola:funcionamento:galpao:tipo"
+    dataType: "integer"
+    description: "Forma de ocupação do Galpão/Rancho/Paiol/Barracão"
+    tags:
+        - "basico"
+        - "escola"
+-
+    name: "dim:escola:funcionamento:outros"
+    dataType: "boolean"
+    description: "Local de funcionamento da escola - Outros"
+    tags:
+        - "basico"
+        - "escola"
+-
+    name: "dim:escola:funcionamento:predio:escolar"
+    dataType: "integer"
+    description: "Forma de ocupação do prédio escolar"
+    tags:
+        - "basico"
+        - "escola"
+-
+    name: "dim:escola:funcionamento:predio:escolar:tipo"
+    dataType: "integer"
+    description: "Forma de ocupação do prédio escolar (0 Não, 1 Próprio, 2 Alugado, 3 Cedido)"
+    tags:
+        - "basico"
+        - "escola"
+-
+    name: "dim:escola:funcionamento:salas:empresa"
+    dataType: "boolean"
+    description: "Local de funcionamento da escola - Salas de empresa"
+    tags:
+        - "basico"
+        - "escola"
+-
+    name: "dim:escola:funcionamento:salas:outras:escolas"
+    dataType: "boolean"
+    description: "Local de funcionamento da escola - Salas em outra escola"
+    tags:
+        - "basico"
+        - "escola"
+-
+    name: "dim:escola:funcionamento:socioeducativa"
+    dataType: "boolean"
+    description: "Local de funcionamento da escola - Unidade de Atendimento Socioeducativo"
+    tags:
+        - "basico"
+        - "escola"
+-
+    name: "dim:escola:funcionamento:templo:igreja"
+    dataType: "boolean"
+    description: "Local de funcionamento da escola - Templo/Igreja"
+    tags:
+        - "basico"
+        - "escola"
+-
+    name: "dim:escola:funcionamento:unidade:prisional"
+    dataType: "boolean"
+    description: "Local de funcionamento da escola - Unidade Prisional"
+    tags:
+        - "basico"
+        - "escola"
+-
+    name: "dim:escola:funcionamento:unidade:prisional:socioeducativo"
+    dataType: "boolean"
+    description: "Local de funcionamento da escola - Unidade Prisional ou Unidade de atendimento socioeducativo"
+    tags:
+        - "basico"
+        - "escola"
+-
+    name: "dim:escola:funcionarios"
+    dataType: "integer"
+    description: "Total de funcionários da escola (inclusive profissionais escolares em sala de aula)"
+    tags:
+        - "basico"
+        - "escola"
+-
+    name: "dim:escola:id"
+    dataType: "integer"
+    description: "Código da escola"
+    tags:
+        - "basico"
+        - "escola"
+-
+    name: "dim:escola:ies:vinculada:id"
+    dataType: "integer"
+    description: "Código da IES vinculada à escola"
+    tags:
+        - "basico"
+        - "escola"
+-
+    name: "dim:escola:impressora"
+    dataType: "boolean"
+    description: "Equipamentos existentes na escola - Impressora"
+    tags:
+        - "basico"
+        - "escola"
+-
+    name: "dim:escola:impressora:multifuncional"
+    dataType: "boolean"
+    description: "Equipamentos existentes na escola - Impressora multifuncional"
+    tags:
+        - "basico"
+        - "escola"
+-
+    name: "dim:escola:impressora:multifuncional:quantidade"
+    dataType: "integer"
+    description: "Quantidade de impressoras multifuncionais"
+    tags:
+        - "basico"
+        - "escola"
+-
+    name: "dim:escola:impressora:quantidade"
+    dataType: "integer"
+    description: "Quantidade de impressoras"
+    tags:
+        - "basico"
+        - "escola"
+-
+    name: "dim:escola:inicio:ano:letivo"
+    dataType: "string"
+    description: "Início do ano letivo"
+    tags:
+        - "basico"
+        - "escola"
+-
+    name: "dim:escola:internet"
+    dataType: "boolean"
+    description: "Acesso à Internet"
+    tags:
+        - "basico"
+        - "escola"
+-
+    name: "dim:escola:internet:banda:larga"
+    dataType: "boolean"
+    description: "Internet Banda Larga"
+    tags:
+        - "basico"
+        - "escola"
+-
+    name: "dim:escola:laboratorio:ciencias"
+    dataType: "boolean"
+    description: "Dependências existentes na escola - Laboratório de ciências"
+    tags:
+        - "basico"
+        - "escola"
+-
+    name: "dim:escola:laboratorio:informatica"
+    dataType: "boolean"
+    description: "Dependências existentes na escola - Laboratório de informática"
+    tags:
+        - "basico"
+        - "escola"
+-
+    name: "dim:escola:lavanderia"
+    dataType: "boolean"
+    description: "Dependências existentes na escola - Lavanderia"
+    tags:
+        - "basico"
+        - "escola"
+-
+    name: "dim:escola:lixo:coleta"
+    dataType: "boolean"
+    description: "Destinação do lixo - Coleta periódica"
+    tags:
+        - "basico"
+        - "escola"
+-
+    name: "dim:escola:lixo:enterra"
+    dataType: "boolean"
+    description: "Destinação do lixo - Enterra"
+    tags:
+        - "basico"
+        - "escola"
+-
+    name: "dim:escola:lixo:joga:outra:area"
+    dataType: "boolean"
+    description: "Destinação do lixo - Joga em outra área"
+    tags:
+        - "basico"
+        - "escola"
+-
+    name: "dim:escola:lixo:outros"
+    dataType: "boolean"
+    description: "Destinação do lixo - Outros"
+    tags:
+        - "basico"
+        - "escola"
+-
+    name: "dim:escola:lixo:queima"
+    dataType: "boolean"
+    description: "Destinação do lixo - Queima"
+    tags:
+        - "basico"
+        - "escola"
+-
+    name: "dim:escola:lixo:recicla"
+    dataType: "boolean"
+    description: "Destinação do lixo - Recicla"
+    tags:
+        - "basico"
+        - "escola"
+-
+    name: "dim:escola:localidade:area:rural"
+    dataType: "integer"
+    description: "Área da localidade por tipo de área rural"
+    tags:
+        - "basico"
+        - "escola"
+-
+    name: "dim:escola:localizacao:diferenciada"
+    dataType: "integer"
+    description: "Localização diferenciada da escola"
+    tags:
+        - "basico"
+        - "escola"
+-
+    name: "dim:escola:maquina:fotografica"
+    dataType: "boolean"
+    description: "Equipamentos existentes na escola – Máquina Fotográfica/Filmadora"
+    tags:
+        - "basico"
+        - "escola"
+-
+    name: "dim:escola:maquina:fotografica:quantidade"
+    dataType: "integer"
+    description: "Quantidade de máquinas fotográficas/ filmadoras"
+    tags:
+        - "basico"
+        - "escola"
+-
+    name: "dim:escola:material:especial:indigena"
+    dataType: "boolean"
+    description: "Materiais didáticos específicos para atendimento à diversidade sociocultural - Indígena"
+    tags:
+        - "basico"
+        - "escola"
+-
+    name: "dim:escola:material:especial:nao:utiliza"
+    dataType: "boolean"
+    description: "Materiais didáticos específicos para atendimento à diversidade sociocultural - Não utiliza"
+    tags:
+        - "basico"
+        - "escola"
+-
+    name: "dim:escola:material:especial:quilombola"
+    dataType: "boolean"
+    description: "Materiais didáticos específicos para atendimento à diversidade sociocultural - Quilombolas"
+    tags:
+        - "basico"
+        - "escola"
+-
+    name: "dim:escola:mediacao:ead"
+    dataType: "boolean"
+    description: "Mediação didático-pedagógica oferecida pela escola - Educação a Distância - EaD"
+    tags:
+        - "basico"
+        - "escola"
+-
+    name: "dim:escola:mediacao:presencial"
+    dataType: "boolean"
+    description: "Mediação didático-pedagógica oferecida pela escola - Presencial"
+    tags:
+        - "basico"
+        - "escola"
+-
+    name: "dim:escola:mediacao:semi:presencial"
+    dataType: "boolean"
+    description: "Mediação didático-pedagógica oferecida pela escola - Semipresencial"
+    tags:
+        - "basico"
+        - "escola"
+-
+    name: "dim:escola:mesorregiao"
+    dataType: "integer"
+    description: "Código da mesorregião"
+    tags:
+        - "basico"
+        - "escola"
+-
+    name: "dim:escola:microrregiao"
+    dataType: "integer"
+    description: "Código da microrregião"
+    tags:
+        - "basico"
+        - "escola"
+-
+    name: "dim:escola:nome"
+    dataType: "string"
+    description: "Nome da escola"
+    tags:
+        - "basico"
+        - "escola"
+-
+    name: "dim:escola:parque:infantil"
+    dataType: "boolean"
+    description: "Dependências existentes na escola - Parque infantil"
+    tags:
+        - "basico"
+        - "escola"
+-
+    name: "dim:escola:patio"
+    dataType: "integer"
+    description: "Dependências existentes pátio coberto ou descoberto"
+    tags:
+        - "basico"
+        - "escola"
+-
+    name: "dim:escola:patio:coberto"
+    dataType: "boolean"
+    description: "Dependências existentes na escola - Pátio coberto"
+    tags:
+        - "basico"
+        - "escola"
+-
+    name: "dim:escola:patio:descoberto"
+    dataType: "boolean"
+    description: "Dependências existentes na escola - Pátio descoberto"
+    tags:
+        - "basico"
+        - "escola"
+-
+    name: "dim:escola:pre:escola"
+    dataType: "boolean"
+    description: "Escola oferece Pré-escola em classes comuns do ensino regular"
+    tags:
+        - "basico"
+        - "escola"
+-
+    name: "dim:escola:pre:escola:especial"
+    dataType: "boolean"
+    description: "Escola oferece Pré-escola em classes especiais exclusivas do ensino regular"
+    tags:
+        - "basico"
+        - "escola"
+-
+    name: "dim:escola:pre:escola:transformada"
+    dataType: "boolean"
+    description: "Pré-escola transformada"
+    tags:
+        - "basico"
+        - "escola"
+-
+    name: "dim:escola:predio:compartilhado"
+    dataType: "boolean"
+    description: "Prédio compartilhado com outra escola"
+    tags:
+        - "basico"
+        - "escola"
+-
+    name: "dim:escola:privada:categoria"
+    dataType: "integer"
+    description: "Categoria da escola privada"
+    tags:
+        - "basico"
+        - "escola"
+-
+    name: "dim:escola:privada:conveniada:poder:publico"
+    dataType: "boolean"
+    description: "Conveniada com o poder público"
+    tags:
+        - "basico"
+        - "escola"
+-
+    name: "dim:escola:privada:conveniada:poder:publico:tipo"
+    dataType: "integer"
+    description: "Dependência do convênio com o poder público"
+    tags:
+        - "basico"
+        - "escola"
+-
+    name: "dim:escola:privada:dependencia:administrativa"
+    dataType: "integer"
+    description: "Dependência Administrativa com detalhamento das escolas privadas"
+    tags:
+        - "basico"
+        - "escola"
+-
+    name: "dim:escola:privada:mantenedora:empresa"
+    dataType: "boolean"
+    description: "Mantenedora da escola privada - Empresa, grupo empresarial do setor privado ou pessoa física"
+    tags:
+        - "basico"
+        - "escola"
+-
+    name: "dim:escola:privada:mantenedora:ong"
+    dataType: "boolean"
+    description: "Mantenedora da escola privada - Organização Não Governamental (ONG) - internacional ou nacional. Organização da Sociedade Civil de Interesse Público (Oscip)"
+    tags:
+        - "basico"
+        - "escola"
+-
+    name: "dim:escola:privada:mantenedora:sem:fins"
+    dataType: "boolean"
+    description: "Mantenedora da escola privada - Instituições sem fins lucrativos"
+    tags:
+        - "basico"
+        - "escola"
+-
+    name: "dim:escola:privada:mantenedora:sindicato"
+    dataType: "boolean"
+    description: "Mantenedora da escola privada - Sindicatos de trabalhadores ou patronais, associações e cooperativas"
+    tags:
+        - "basico"
+        - "escola"
+-
+    name: "dim:escola:privada:mantenedora:sistema:s"
+    dataType: "boolean"
+    description: "Mantenedora da escola privada - Sistema S (Sesi, Senai, Sesc, outros)"
+    tags:
+        - "basico"
+        - "escola"
+-
+    name: "dim:escola:profissionalizante"
+    dataType: "boolean"
+    description: "Educação Profissional"
+    tags:
+        - "basico"
+        - "escola"
+-
+    name: "dim:escola:proposta:pedagogica:alternativa"
+    dataType: "string"
+    description: "Escola com proposta pedagógica de formação por alternância"
+    tags:
+        - "basico"
+        - "escola"
+-
+    name: "dim:escola:quadra:esporte:coberta"
+    dataType: "boolean"
+    description: "Dependências existentes na escola - Quadra de esportes coberta"
+    tags:
+        - "basico"
+        - "escola"
+-
+    name: "dim:escola:quadra:esporte:descoberta"
+    dataType: "boolean"
+    description: "Dependências existentes na escola - Quadra de esportes descoberta"
+    tags:
+        - "basico"
+        - "escola"
+-
+    name: "dim:escola:quadra:esportes"
+    dataType: "boolean"
+    description: "Dependências existentes na escola - Quadra de esportes"
+    tags:
+        - "basico"
+        - "escola"
+-
+    name: "dim:escola:refeitorio"
+    dataType: "boolean"
+    description: "Dependências existentes na escola - Refeitório"
+    tags:
+        - "basico"
+        - "escola"
+-
+    name: "dim:escola:retroprojetor"
+    dataType: "boolean"
+    description: "Equipamentos existentes na escola - Retroprojetor"
+    tags:
+        - "basico"
+        - "escola"
+-
+    name: "dim:escola:retroprojetor:quantidade"
+    dataType: "integer"
+    description: "Quantidade de retroprojetores"
+    tags:
+        - "basico"
+        - "escola"
+-
+    name: "dim:escola:sala:atendimento:especial"
+    dataType: "boolean"
+    description: "Dependências existentes na escola - Sala de recursos multifuncionais para Atendimento Educacional Especializado (AEE)"
+    tags:
+        - "basico"
+        - "escola"
+-
+    name: "dim:escola:sala:diretoria"
+    dataType: "boolean"
+    description: "Dependências existentes na escola - Sala de diretoria"
+    tags:
+        - "basico"
+        - "escola"
+-
+    name: "dim:escola:sala:leitura"
+    dataType: "boolean"
+    description: "Dependências existentes na escola - Sala de leitura"
+    tags:
+        - "basico"
+        - "escola"
+-
+    name: "dim:escola:sala:professor"
+    dataType: "boolean"
+    description: "Dependências existentes na escola - Sala de professores"
+    tags:
+        - "basico"
+        - "escola"
+-
+    name: "dim:escola:sala:secretaria"
+    dataType: "boolean"
+    description: "Dependências existentes na escola - Sala de secretaria"
+    tags:
+        - "basico"
+        - "escola"
+-
+    name: "dim:escola:salas:quantidade"
+    dataType: "integer"
+    description: "Número de salas de aula existentes na escola"
+    tags:
+        - "basico"
+        - "escola"
+-
+    name: "dim:escola:salas:utilizadas:quantidade"
+    dataType: "integer"
+    description: "Número de salas utilizadas como salas de aula (dentro e fora do prédio)"
+    tags:
+        - "basico"
+        - "escola"
+-
+    name: "dim:escola:sanitario:alunos:deficiencia"
+    dataType: "boolean"
+    description: "Dependências existentes na escola - Banheiro adequado ao uso dos alunos com deficiência ou mobilidade reduzida"
+    tags:
+        - "basico"
+        - "escola"
+-
+    name: "dim:escola:sanitario:dentro:predio"
+    dataType: "boolean"
+    description: "Dependências existentes na escola - Banheiro dentro do prédio"
+    tags:
+        - "basico"
+        - "escola"
+-
+    name: "dim:escola:sanitario:educacao:infantil"
+    dataType: "boolean"
+    description: "Dependências existentes na escola - Banheiro adequado à Educação Infantil"
+    tags:
+        - "basico"
+        - "escola"
+-
+    name: "dim:escola:sanitario:fora:predio"
+    dataType: "boolean"
+    description: "Dependências existentes na escola - Banheiro fora do prédio"
+    tags:
+        - "basico"
+        - "escola"
+-
+    name: "dim:escola:sede:vinculada:id"
+    dataType: "integer"
+    description: "Código da escola sede"
+    tags:
+        - "basico"
+        - "escola"
+-
+    name: "dim:escola:situacao:funcionamento"
+    dataType: "integer"
+    description: "Situação de funcionamento"
+    tags:
+        - "basico"
+        - "escola"
+-
+    name: "dim:escola:televisao"
+    dataType: "boolean"
+    description: "Equipamentos existentes na escola - Aparelho de televisão"
+    tags:
+        - "basico"
+        - "escola"
+-
+    name: "dim:escola:televisao:quantidade"
+    dataType: "integer"
+    description: "Quantidade de aparelhos de televisão"
+    tags:
+        - "basico"
+        - "escola"
+-
+    name: "dim:escola:termino:ano:letivo"
+    dataType: "string"
+    description: "Término (previsão) do ano letivo"
+    tags:
+        - "basico"
+        - "escola"
+-
+    name: "dim:escola:videocassete"
+    dataType: "boolean"
+    description: "Equipamentos existentes na escola - Videocassete"
+    tags:
+        - "basico"
+        - "escola"
+-
+    name: "dim:escola:videocassete:quantidade"
+    dataType: "integer"
+    description: "Quantidade de videocassetes"
+    tags:
+        - "basico"
+        - "escola"
+-
+    name: "dim:escola:zona:residencial"
+    dataType: "boolean"
+    description: "Área da Localidade (1 urbana, 2 rural)"
+    tags:
+        - "basico"
+        - "escola"
diff --git a/config/parse/dim_familia_cadunico.yaml b/config/parse/dim_familia_cadunico.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..75ac90ca4c7bd5361ccacf85f03590300fff3922
--- /dev/null
+++ b/config/parse/dim_familia_cadunico.yaml
@@ -0,0 +1,217 @@
+-
+    name: "dim:cadunico:familia:estrato"
+    dataType: "boolean"
+    description: "Grandes grupos de municípios, de acordo com a quantidade de famílias cadastradas"
+    tags:
+        - "cad:unico"
+        - "familia:cad:unico"
+-
+    name: "dim:cadunico:familia:divisao:administrativa:uf"
+    dataType: "integer"
+    description: "Subdivisão pela Unidade Federativa e divisão administrativa"
+    tags:
+        - "cad:unico"
+        - "familia:cad:unico"
+-
+    name: "dim:cadunico:familia:id"
+    dataType: "integer"
+    description: "Identificador único da família de vinculação da pessoa para pareamento com a base de famílias"
+    tags:
+        - "cad:unico"
+        - "familia:cad:unico"
+-
+    name: "dim:cadunico:familia:data:cadastramento"
+    dataType: "string"
+    description: "Data do cadastramento da família no formato YYYY-MM-DD"
+    tags:
+        - "cad:unico"
+        - "familia:cad:unico"
+-
+    name: "dim:cadunico:familia:data:alteracao"
+    dataType: "string"
+    description: "Data da última alteração em qualquer campo da família no formato YYYY-MM-DD"
+    tags:
+        - "cad:unico"
+        - "familia:cad:unico"
+-
+    name: "dim:cadunico:familia:renda:media"
+    dataType: "integer"
+    description: "Valor da renda média (per capita) da família, formato NNNNNNNNN"
+    tags:
+        - "cad:unico"
+        - "familia:cad:unico"
+-
+    name: "dim:cadunico:familia:data:atualizacao"
+    dataType: "string"
+    description: "Data da última atualização da família dos dados considerados sensíveis à manutenção do cadastro no formato YYYY-MM-DD"
+    tags:
+        - "cad:unico"
+        - "familia:cad:unico"
+-
+    name: "dim:cadunico:familia:domicilio:local"
+    dataType: "integer"
+    description: "Características do local onde está situado o domicílio"
+    tags:
+        - "cad:unico"
+        - "familia:cad:unico"
+-
+    name: "dim:cadunico:familia:domicilio:especie"
+    dataType: "integer"
+    description: "Espécie do domicílio"
+    tags:
+        - "cad:unico"
+        - "familia:cad:unico"
+-
+    name: "dim:cadunico:familia:domicilio:quantidade:comodos"
+    dataType: "integer"
+    description: "Quantidade de cômodos do domicílio"
+    tags:
+        - "cad:unico"
+        - "familia:cad:unico"
+-
+    name: "dim:cadunico:familia:domicilio:quantidade:dormitorios"
+    dataType: "integer"
+    description: "Quantidade de cômodos servindo como dormitório do domicílio"
+    tags:
+        - "cad:unico"
+        - "familia:cad:unico"
+-
+    name: "dim:cadunico:familia:domicilio:material:piso"
+    dataType: "integer"
+    description: "Material predominante no piso do domicílio"
+    tags:
+        - "cad:unico"
+        - "familia:cad:unico"
+-
+    name: "dim:cadunico:familia:domicilio:material:paredes"
+    dataType: "integer"
+    description: "Material predominante nas paredes externas do domicílio"
+    tags:
+        - "cad:unico"
+        - "familia:cad:unico"
+-
+    name: "dim:cadunico:familia:domicilio:agua:encanada"
+    dataType: "boolean"
+    description: "Se o domicílio tem água encanada"
+    tags:
+        - "cad:unico"
+        - "familia:cad:unico"
+-
+    name: "dim:cadunico:familia:domicilio:abastecimento:agua"
+    dataType: "integer"
+    description: "Forma de abastecimento de água"
+    tags:
+        - "cad:unico"
+        - "familia:cad:unico"
+-
+    name: "dim:cadunico:familia:domicilio:banheiro"
+    dataType: "boolean"
+    description: "Existência de banheiro"
+    tags:
+        - "cad:unico"
+        - "familia:cad:unico"
+-
+    name: "dim:cadunico:familia:domicilio:escoamento:sanitario"
+    dataType: "integer"
+    description: "Forma de escoamento sanitário"
+    tags:
+        - "cad:unico"
+        - "familia:cad:unico"
+-
+    name: "dim:cadunico:familia:domicilio:coleta:lixo"
+    dataType: "integer"
+    description: "Forma de coleta do lixo"
+    tags:
+        - "cad:unico"
+        - "familia:cad:unico"
+-
+    name: "dim:cadunico:familia:domicilio:iluminacao"
+    dataType: "integer"
+    description: "Tipo de iluminação"
+    tags:
+        - "cad:unico"
+        - "familia:cad:unico"
+-
+    name: "dim:cadunico:familia:domicilio:calcamento"
+    dataType: "integer"
+    description: "Calçamento"
+    tags:
+        - "cad:unico"
+        - "familia:cad:unico"
+-
+    name: "dim:cadunico:familia:indigena"
+    dataType: "boolean"
+    description: "Família indígena"
+    tags:
+        - "cad:unico"
+        - "familia:cad:unico"
+-
+    name: "dim:cadunico:familia:quilombola"
+    dataType: "boolean"
+    description: "Família quilombola"
+    tags:
+        - "cad:unico"
+        - "familia:cad:unico"
+-
+    name: "dim:cadunico:familia:eas:nome"
+    dataType: "string"
+    description: "Nome do estabelecimento EAS/MS"
+    tags:
+        - "cad:unico"
+        - "familia:cad:unico"
+-
+    name: "dim:cadunico:familia:eas:cod"
+    dataType: "integer"
+    description: "Código do estabelecimento EAS/MS"
+    tags:
+        - "cad:unico"
+        - "familia:cad:unico"
+-
+    name: "dim:cadunico:familia:cras:nome"
+    dataType: "string"
+    description: "Nome do CRAS/CREAS"
+    tags:
+        - "cad:unico"
+        - "familia:cad:unico"
+-
+    name: "dim:cadunico:familia:cras:cod"
+    dataType: "string"
+    description: "Código do CRAS/CREAS"
+    tags:
+        - "cad:unico"
+        - "familia:cad:unico"
+-
+    name: "dim:cadunico:familia:grupo"
+    dataType: "integer"
+    description: "Grupos tradicionais e específicos"
+    tags:
+        - "cad:unico"
+        - "familia:cad:unico"
+-
+    name: "dim:cadunico:familia:quantidade:pessoas"
+    dataType: "integer"
+    description: "Quantidade de pessoas utilizadas no cálculo da renda per capita familiar"
+    tags:
+        - "cad:unico"
+        - "familia:cad:unico"
+-
+    name: "dim:cadunico:familia:peso"
+    dataType: "float"
+    description: "Peso calculado da família"
+    tags:
+        - "cad:unico"
+        - "familia:cad:unico"
+-
+    name: "dim:cadunico:familia:bolsa:familia"
+    dataType: "boolean"
+    description: "Indica se família é beneficiária do Bolsa Família"
+    tags:
+        - "cad:unico"
+        - "familia:cad:unico"
+-
+    name: "dim:cadunico:familia:censo:ano"
+    dataType: "integer"
+    description: "Ano de pesquisa"
+    tags:
+        - "cad:unico"
+        - "familia:cad:unico"
diff --git a/config/parse/dim_fies.yaml b/config/parse/dim_fies.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..09a6ee31582cd120fb967c6d99976f6ee6be5877
--- /dev/null
+++ b/config/parse/dim_fies.yaml
@@ -0,0 +1,252 @@
+-
+    name: "dim:es:instituicao:matenedora:id"
+    dataType: "integer"
+    description: "Código da mantenedora no sistema eletrônico e-MEC"
+    tags:
+        - "superior"
+        - "fies"
+-
+    name: "dim:es:fies:mantenedora:cnpj"
+    dataType: "string"
+    description: "Número do Cadastro Nacional da Pessoa Jurídica (CNPJ) da mantenedora"
+    tags:
+        - "superior"
+        - "fies"
+-
+    name: "dim:es:fies:mantenedora:cidade"
+    dataType: "integer"
+    description: "Código do município da mantenedora de acordo com o IBGE"
+    tags:
+        - "superior"
+        - "fies"
+-
+    name: "dim:es:fies:processo:cod"
+    dataType: "integer"
+    description: "Código de referência do processo de pagamento no Sistema Informatizado do FIES (SisFIES)"
+    tags:
+        - "superior"
+        - "fies"
+-
+    name: "dim:es:fies:contrato:cod"
+    dataType: "integer"
+    description: "Código do contrato no Sistema Informatizado do FIES (SisFIES)"
+    tags:
+        - "superior"
+        - "fies"
+-
+    name: "dim:es:fies:aditamento:cod"
+    dataType: "integer"
+    description: "Código de identificação do aditamento do contrato de financiamento no SisFIES"
+    tags:
+        - "superior"
+        - "fies"
+-
+    name: "dim:es:fies:agente:financeiro:cod"
+    dataType: "integer"
+    description: "Código do Agente Financeiro responsável pelo financiamento estudantil: (1) Banco do Brasil, (2) Caixa Econômica Federal"
+    tags:
+        - "superior"
+        - "fies"
+-
+    name: "dim:es:fies:agente:financeiro:nome"
+    dataType: "string"
+    description: "Nome do agente financeiro"
+    tags:
+        - "superior"
+        - "fies"
+-
+    name: "dim:es:fies:agente:financeiro:sigla"
+    dataType: "string"
+    description: "Sigla do agente financeiro"
+    tags:
+        - "superior"
+        - "fies"
+-
+    name: "dim:es:fies:financiamento:mes"
+    dataType: "integer"
+    description: "Mês de referência do extrato de pagamento"
+    tags:
+        - "superior"
+        - "fies"
+-
+    name: "dim:es:fies:financiamento:semestre"
+    dataType: "boolean"
+    description: "Semestre de referência do extrato de pagamento"
+    tags:
+        - "superior"
+        - "fies"
+-
+    name: "dim:es:fies:financiamento:mensalidade:valor"
+    dataType: "integer"
+    description: "Valor da mensalidade do curso financiado"
+    tags:
+        - "superior"
+        - "fies"
+-
+    name: "dim:es:fies:inscricao"
+    dataType: "integer"
+    description: "Código da inscrição do estudante no Sistema Informatizado do FIES (SisFIES)"
+    tags:
+        - "superior"
+        - "fies"
+-
+    name: "dim:es:fies:fianca:tipo"
+    dataType: "string"
+    description: "Tipo de fiança contratada: Normal/Convencional (N), Fundo de Garantia de Operações de Crédito Educativo – FGEDUC (F) e Solidária (S)"
+    tags:
+        - "superior"
+        - "fies"
+-
+    name: "dim:es:fies:inscricao:ano:exercicio"
+    dataType: "integer"
+    description: "Ano de exercício referente à inscrição do estudante no Sistema Informatizado do FIES (SisFIES)"
+    tags:
+        - "superior"
+        - "fies"
+-
+    name: "dim:es:fies:bolsa:prouni:percentual"
+    dataType: "integer"
+    description: "Percentual da bolsa de estudo concernente ao Programa Universidade para Todos – ProUni"
+    tags:
+        - "superior"
+        - "fies"
+-
+    name: "dim:es:fies:financiamento:solicitado:percentual"
+    dataType: "integer"
+    description: "Percentual de financiamento solicitado pelo estudante"
+    tags:
+        - "superior"
+        - "fies"
+-
+    name: "dim:es:fies:financiamento:valor:total:geral"
+    dataType: "float"
+    description: "Valor total do financiamento repassado à mantenedora"
+    tags:
+        - "superior"
+        - "fies"
+-
+    name: "dim:es:fies:aluno:data:nascimento"
+    dataType: "integer"
+    description: "Data de nascimento do estudante"
+    tags:
+        - "superior"
+        - "fies"
+-
+    name: "dim:es:fies:aluno:deficiencia"
+    dataType: "boolean"
+    description: "O Estudante possui necessidades especiais: Não (N) e Sim (S)"
+    tags:
+        - "superior"
+        - "fies"
+-
+    name: "dim:es:fies:aluno:estudou:escola:publica"
+    dataType: "string"
+    description: "O aluno cursou o ensino média em escola pública: Não (N)"
+    tags:
+        - "superior"
+        - "fies"
+-
+    name: "dim:es:fies:aluno:residencia:cidade:id"
+    dataType: "integer"
+    description: "Código do município de residência do estudante de acordo com o IBGE"
+    tags:
+        - "superior"
+        - "fies"
+-
+    name: "dim:es:fies:aluno:sexo:sigla"
+    dataType: "string"
+    description: "Sigla do sexo: (F) Feminino (M) Masculino"
+    tags:
+        - "superior"
+        - "fies"
+-
+    name: "dim:es:fies:aluno:sexo:nome"
+    dataType: "string"
+    description: "Descrição de sexo"
+    tags:
+        - "superior"
+        - "fies"
+-
+    name: "dim:es:fies:aluno:estado:civil:cod"
+    dataType: "string"
+    description: "Código do estado civil: (1) Solteiro, (2) Casado, (3) Viúvo, (4) Separado, (5) Divorciado, (6) União Estável"
+    tags:
+        - "superior"
+        - "fies"
+-
+    name: "dim:es:fies:aluno:estado:civil:nome"
+    dataType: "string"
+    description: "Descrição do estado civil"
+    tags:
+        - "superior"
+        - "fies"
+-
+    name: "dim:es:fies:aluno:raca:sigla"
+    dataType: "string"
+    description: "Sigla Raça/Cor: (A) Amarelo, (B) Branco, (I) Índio, (N) Negro, (P) Pardo"
+    tags:
+        - "superior"
+        - "fies"
+-
+    name: "dim:es:fies:aluno:raca:nome"
+    dataType: "string"
+    description: "Descrição de Raça/Cor"
+    tags:
+        - "superior"
+        - "fies"
+-
+    name: "dim:es:fies:financiamento:semestre:quantidade:total"
+    dataType: "integer"
+    description: "Quantidade de semestres financiado"
+    tags:
+        - "superior"
+        - "fies"
+-
+    name: "dim:es:curso:id"
+    dataType: "string"
+    description: "Código do curso no sistema eletrônico e-MEC"
+    tags:
+        - "superior"
+        - "fies"
+-
+    name: "dim:es:curso:periodicidade:cod"
+    dataType: "integer"
+    description: "Código de periodicidade do curso: (10072) Anual, (10073) Trimestral, (10074) Semestral"
+    tags:
+        - "superior"
+        - "fies"
+-
+    name: "dim:es:curso:periodicidade:nome"
+    dataType: "string"
+    description: "Descrição de periodicidade do curso"
+    tags:
+        - "superior"
+        - "fies"
+-
+    name: "dim:es:fies:financiamento:valor:total:semestral"
+    dataType: "float"
+    description: "Valor de um semestre do curso"
+    tags:
+        - "superior"
+        - "fies"
+-
+    name: "dim:es:fies:processo:ano"
+    dataType: "integer"
+    description: "Ano do processo"
+    tags:
+        - "superior"
+        - "fies"
+-
+    name: "dim:es:fies:processo:mes"
+    dataType: "integer"
+    description: "Mês do processo"
+    tags:
+        - "superior"
+        - "fies"
+-
+    name: "dim:es:fies:censo:ano"
+    dataType: "integer"
+    description: "ano censo"
+    tags:
+        - "superior"
+        - "fies"
diff --git a/config/parse/dim_ibge_pib.yaml b/config/parse/dim_ibge_pib.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..ab49ad8630891c376fe1cd79034b074151b5e044
--- /dev/null
+++ b/config/parse/dim_ibge_pib.yaml
@@ -0,0 +1,30 @@
+-
+    name: "dim:ibge:censo:ano"
+    dataType: "integer"
+    description: "ano censo"
+    tags:
+        - "ibge"
+-
+    name: "dim:ibge:pib"
+    dataType: "integer"
+    description: "Produto interno bruto (PIB), representa a soma de todos os bens e serviços finais produzidos numa determinada cidade "
+    tags:
+        - "ibge"
+-
+    name: "dim:ibge:populacao"
+    dataType: "integer"
+    description: "população da cidade do Brasil"
+    tags:
+        - "ibge"
+-
+    name: "dim:ibge:pib:per:capita"
+    dataType: "integer"
+    description: "produto interno bruto per capita (produção econômica pela população) da cidade do Brasil"
+    tags:
+        - "ibge"
+-
+    name: "dim:ibge:renda:per:capita:nivel"
+    dataType: "integer"
+    description: "nível da renda per capita"
+    tags:
+        - "ibge"
diff --git a/config/parse/dim_matricula.yaml b/config/parse/dim_matricula.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..da863643f80e6712d5d7bff9956d00e2a24e9d9d
--- /dev/null
+++ b/config/parse/dim_matricula.yaml
@@ -0,0 +1,448 @@
+-
+    name: "dim:matricula:aula:outro:local"
+    dataType: "integer"
+    description: "Recebe escolarização em outro espaço diferente da escola (1 Hospital, 2 Em domicílio, 3 Não recebe)"
+    tags:
+        - "basico"
+        - "matricula"
+-
+    name: "dim:matricula:autismo"
+    dataType: "boolean"
+    description: "Tipo de deficiência, transtorno global do desenvolvimento ou altas habilidades/ superdotação (Autismo infantil)"
+    tags:
+        - "basico"
+        - "matricula"
+-
+    name: "dim:matricula:baixa:visao"
+    dataType: "boolean"
+    description: "Tipo de deficiência, transtorno global do desenvolvimento ou altas habilidades/ superdotação (baixa visão)"
+    tags:
+        - "basico"
+        - "matricula"
+-
+    name: "dim:matricula:cegueira"
+    dataType: "boolean"
+    description: "Tipo de deficiência, transtorno global do desenvolvimento ou altas habilidades/ superdotação (cegueira)"
+    tags:
+        - "basico"
+        - "matricula"
+-
+    name: "dim:matricula:censo:ano"
+    dataType: "integer"
+    description: "Ano do Censo"
+    tags:
+        - "basico"
+        - "matricula"
+-
+    name: "dim:matricula:cidade:atual:id"
+    dataType: "integer"
+    description: "Código do município de residência"
+    tags:
+        - "basico"
+        - "matricula"
+-
+    name: "dim:matricula:cidade:nascimento:id"
+    dataType: "integer"
+    description: "Código do município de nascimento"
+    tags:
+        - "basico"
+        - "matricula"
+-
+    name: "dim:matricula:codigo:aluno"
+    dataType: "integer"
+    description: "Código do aluno (ID_INEP)"
+    tags:
+        - "basico"
+        - "matricula"
+-
+    name: "dim:matricula:deficiencia:auditiva"
+    dataType: "boolean"
+    description: "Tipo de deficiência, transtorno global do desenvolvimento ou altas habilidades/ superdotação (deficiência auditiva)"
+    tags:
+        - "basico"
+        - "matricula"
+-
+    name: "dim:matricula:deficiencia:fisica"
+    dataType: "boolean"
+    description: "Tipo de deficiência, transtorno global do desenvolvimento ou altas habilidades/ superdotação (deficiência física)"
+    tags:
+        - "basico"
+        - "matricula"
+-
+    name: "dim:matricula:deficiencia:intelectual"
+    dataType: "boolean"
+    description: "Tipo de deficiência, transtorno global do desenvolvimento ou altas habilidades/ superdotação (deficiência intelectual)"
+    tags:
+        - "basico"
+        - "matricula"
+-
+    name: "dim:matricula:deficiencia:multipla"
+    dataType: "boolean"
+    description: "Tipo de deficiência, transtorno global do desenvolvimento ou altas habilidades/ superdotação (deficiência múltipla)"
+    tags:
+        - "basico"
+        - "matricula"
+-
+    name: "dim:matricula:ensino:fundamental:af"
+    dataType: "boolean"
+    description: "Ensino fundamental anos finais transformada"
+    tags:
+        - "basico"
+        - "matricula"
+-
+    name: "dim:matricula:ensino:fundamental:ai"
+    dataType: "boolean"
+    description: "Ensino fundamental anos iniciais transformada"
+    tags:
+        - "basico"
+        - "matricula"
+-
+    name: "dim:matricula:etapa:ensino"
+    dataType: "integer"
+    description: "Etapa de ensino da matrícula"
+    tags:
+        - "basico"
+        - "matricula"
+-
+    name: "dim:matricula:etapa:ensino:agregada"
+    dataType: "integer"
+    description: "Etapa de ensino agregada"
+    tags:
+        - "basico"
+        - "matricula"
+-
+    name: "dim:matricula:faixa:etaria"
+    dataType: "integer"
+    description: "Faixa etária do aluno em 31/03"
+    tags:
+        - "basico"
+        - "matricula"
+-
+    name: "dim:matricula:forma:ingresso"
+    dataType: "integer"
+    description: "Forma de ingresso do aluno (apenas alunos de escolas federais)"
+    tags:
+        - "basico"
+        - "matricula"
+-
+    name: "dim:matricula:id"
+    dataType: "integer"
+    description: "Código único da matrícula"
+    tags:
+        - "basico"
+        - "matricula"
+-
+    name: "dim:matricula:idade"
+    dataType: "integer"
+    description: "Idade calculada pelo ano de nascimento do aluno"
+    tags:
+        - "basico"
+        - "matricula"
+-
+    name: "dim:matricula:modalidade:ensino"
+    dataType: "integer"
+    description: "Modalidade de ensino da matrícula"
+    tags:
+        - "basico"
+        - "matricula"
+-
+    name: "dim:matricula:nacionalidade"
+    dataType: "integer"
+    description: "Nacionalidade"
+    tags:
+        - "basico"
+        - "matricula"
+-
+    name: "dim:matricula:nascimento:ano"
+    dataType: "integer"
+    description: "Data de nascimento do aluno - ano"
+    tags:
+        - "basico"
+        - "matricula"
+-
+    name: "dim:matricula:nascimento:dia"
+    dataType: "integer"
+    description: "Data de nascimento do aluno - dia"
+    tags:
+        - "basico"
+        - "matricula"
+-
+    name: "dim:matricula:nascimento:mes"
+    dataType: "integer"
+    description: "Data de nascimento do aluno - mês"
+    tags:
+        - "basico"
+        - "matricula"
+-
+    name: "dim:matricula:necessidade:especial"
+    dataType: "boolean"
+    description: "Aluno com deficiência, transtorno global do desenvolvimento ou altas habilidades/ superdotação"
+    tags:
+        - "basico"
+        - "matricula"
+-
+    name: "dim:matricula:pais:origen"
+    dataType: "integer"
+    description: "Código do país de origem"
+    tags:
+        - "basico"
+        - "matricula"
+-
+    name: "dim:matricula:raca"
+    dataType: "integer"
+    description: "Cor/raça"
+    tags:
+        - "basico"
+        - "matricula"
+-
+    name: "dim:matricula:recurso:auxilio:ledor"
+    dataType: "boolean"
+    description: "Recursos necessários para a participação do aluno em avaliações do Inep (Prova Brasil, Saeb, outros) - Auxílio Ledor"
+    tags:
+        - "basico"
+        - "matricula"
+-
+    name: "dim:matricula:recurso:auxilio:transcricao"
+    dataType: "boolean"
+    description: "Recursos necessários para a participação do aluno em avaliações do Inep (Prova Brasil, Saeb, outros) - Auxílio-Transcrição"
+    tags:
+        - "basico"
+        - "matricula"
+-
+    name: "dim:matricula:recurso:guia:interprete"
+    dataType: "boolean"
+    description: "Recursos necessários para a participação do aluno em avaliações do Inep (Prova Brasil, Saeb, outros) - Guia-Intérprete"
+    tags:
+        - "basico"
+        - "matricula"
+-
+    name: "dim:matricula:recurso:leitura:labial"
+    dataType: "boolean"
+    description: "Recursos necessários para a participação do aluno em avaliações do Inep (Prova Brasil, Saeb, outros) - Leitura Labial"
+    tags:
+        - "basico"
+        - "matricula"
+-
+    name: "dim:matricula:recurso:libras"
+    dataType: "boolean"
+    description: "Recursos necessários para a participação do aluno em avaliações do Inep (Prova Brasil, Saeb, outros) - Intérprete de Libras"
+    tags:
+        - "basico"
+        - "matricula"
+-
+    name: "dim:matricula:recurso:nenhum"
+    dataType: "boolean"
+    description: "Recursos necessários para a participação do aluno em avaliações do Inep (Prova Brasil, Saeb, outros) - Nenhum"
+    tags:
+        - "basico"
+        - "matricula"
+-
+    name: "dim:matricula:recurso:prova:ampliada:fonte16"
+    dataType: "boolean"
+    description: "Recursos necessários para a participação do aluno em avaliações do Inep (Prova Brasil, Saeb, outros) - Prova Ampliada (Fonte tamanho 16)"
+    tags:
+        - "basico"
+        - "matricula"
+-
+    name: "dim:matricula:recurso:prova:ampliada:fonte20"
+    dataType: "boolean"
+    description: "Recursos necessários para a participação do aluno em avaliações do Inep (Prova Brasil, Saeb, outros) - Prova Ampliada (Fonte tamanho 20)"
+    tags:
+        - "basico"
+        - "matricula"
+-
+    name: "dim:matricula:recurso:prova:ampliada:fonte24"
+    dataType: "boolean"
+    description: "Recursos necessários para a participação do aluno em avaliações do Inep (Prova Brasil, Saeb, outros) - Prova Ampliada (Fonte tamanho 24)"
+    tags:
+        - "basico"
+        - "matricula"
+-
+    name: "dim:matricula:recurso:prova:braile"
+    dataType: "boolean"
+    description: "Recursos necessários para a participação do aluno em avaliações do Inep (Prova Brasil, Saeb, outros) - Prova em Braille"
+    tags:
+        - "basico"
+        - "matricula"
+-
+    name: "dim:matricula:responsavel:transporte"
+    dataType: "integer"
+    description: "Poder público responsável pelo transporte escolar"
+    tags:
+        - "basico"
+        - "matricula"
+-
+    name: "dim:matricula:sexo"
+    dataType: "integer"
+    description: "Sexo"
+    tags:
+        - "basico"
+        - "matricula"
+-
+    name: "dim:matricula:sindrome:asperger"
+    dataType: "boolean"
+    description: "Tipo de deficiência, transtorno global do desenvolvimento ou altas habilidades/ superdotação (Síndrome de Asperger)"
+    tags:
+        - "basico"
+        - "matricula"
+-
+    name: "dim:matricula:sindrome:rett"
+    dataType: "boolean"
+    description: "Tipo de deficiência, transtorno global do desenvolvimento ou altas habilidades/ superdotação (Síndrome de Rett)"
+    tags:
+        - "basico"
+        - "matricula"
+-
+    name: "dim:matricula:superdotado"
+    dataType: "boolean"
+    description: "Tipo de deficiência, transtorno global do desenvolvimento ou altas habilidades/ superdotação (altas habilidades/ superdotação)"
+    tags:
+        - "basico"
+        - "matricula"
+-
+    name: "dim:matricula:surdez"
+    dataType: "boolean"
+    description: "Tipo de deficiência, transtorno global do desenvolvimento ou altas habilidades/ superdotação (surdez)"
+    tags:
+        - "basico"
+        - "matricula"
+-
+    name: "dim:matricula:surdo:cegueira"
+    dataType: "boolean"
+    description: "Tipo de deficiência, transtorno global do desenvolvimento ou altas habilidades/ superdotação (surdocegueira)"
+    tags:
+        - "basico"
+        - "matricula"
+-
+    name: "dim:matricula:tempo:aee:mesma:rede"
+    dataType: "integer"
+    description: "Tempo de permanência (em minutos) na turma de Atendimento Educacional Especializado (AEE) na mesma rede da turma de escolarização"
+    tags:
+        - "basico"
+        - "matricula"
+-
+    name: "dim:matricula:tempo:aee:outras:redes"
+    dataType: "integer"
+    description: "Tempo de permanência (em minutos) na turma de Atendimento Educacional Especializado (AEE) em outras redes"
+    tags:
+        - "basico"
+        - "matricula"
+-
+    name: "dim:matricula:tempo:mesma:rede"
+    dataType: "integer"
+    description: "Tempo de permanência (em minutos) na turma de Atividade Complementar na mesma rede da turma de escolarização"
+    tags:
+        - "basico"
+        - "matricula"
+-
+    name: "dim:matricula:tempo:outras:redes"
+    dataType: "integer"
+    description: "Tempo de permanência (em minutos) na turma de Atividade Complementar em outras redes"
+    tags:
+        - "basico"
+        - "matricula"
+-
+    name: "dim:matricula:transporte:aquaviario:maior35"
+    dataType: "boolean"
+    description: "Tipo de veículo utilizado no transporte escolar Aquaviário/Embarcação (Capacidade acima de 35 alunos)"
+    tags:
+        - "basico"
+        - "matricula"
+-
+    name: "dim:matricula:transporte:aquaviario:maximo15"
+    dataType: "boolean"
+    description: "Tipo de veículo utilizado no transporte escolar Aquaviário/Embarcação (Capacidade de 5 a 15 alunos)"
+    tags:
+        - "basico"
+        - "matricula"
+-
+    name: "dim:matricula:transporte:aquaviario:maximo35"
+    dataType: "boolean"
+    description: "Tipo de veículo utilizado no transporte escolar Aquaviário/Embarcação (Capacidade de 15 a 35 alunos)"
+    tags:
+        - "basico"
+        - "matricula"
+-
+    name: "dim:matricula:transporte:aquaviario:maximo5"
+    dataType: "boolean"
+    description: "Tipo de veículo utilizado no transporte escolar Aquaviário/Embarcação (Capacidade de até 5 alunos)"
+    tags:
+        - "basico"
+        - "matricula"
+-
+    name: "dim:matricula:transporte:bicicleta"
+    dataType: "boolean"
+    description: "Tipo de veículo utilizado no transporte escolar - Rodoviário (Bicicleta)"
+    tags:
+        - "basico"
+        - "matricula"
+-
+    name: "dim:matricula:transporte:escolar:publico"
+    dataType: "boolean"
+    description: "Transporte escolar público"
+    tags:
+        - "basico"
+        - "matricula"
+-
+    name: "dim:matricula:transporte:micro:onibus"
+    dataType: "boolean"
+    description: "Tipo de veículo utilizado no transporte escolar - Rodoviário (Micro-ônibus)"
+    tags:
+        - "basico"
+        - "matricula"
+-
+    name: "dim:matricula:transporte:onibus"
+    dataType: "boolean"
+    description: "Tipo de veículo utilizado no transporte escolar - Rodoviário (Ônibus)"
+    tags:
+        - "basico"
+        - "matricula"
+-
+    name: "dim:matricula:transporte:outro"
+    dataType: "boolean"
+    description: "Tipo de veículo utilizado no transporte escolar - Rodoviário (Outro tipo de veículo rodoviário)"
+    tags:
+        - "basico"
+        - "matricula"
+-
+    name: "dim:matricula:transporte:tracao:animal"
+    dataType: "boolean"
+    description: "Tipo de veículo utilizado no transporte escolar - Rodoviário (Tração Animal)"
+    tags:
+        - "basico"
+        - "matricula"
+-
+    name: "dim:matricula:transporte:trem:metro"
+    dataType: "boolean"
+    description: "Tipo de veículo utilizado no transporte escolar Ferroviário (Trem/Metrô)"
+    tags:
+        - "basico"
+        - "matricula"
+-
+    name: "dim:matricula:transporte:vans:kombi"
+    dataType: "boolean"
+    description: "Tipo de veículo utilizado no transporte escolar - Rodoviário (Vans/VW Kombi)"
+    tags:
+        - "basico"
+        - "matricula"
+-
+    name: "dim:matricula:transtorno:desintegrativo:infancia"
+    dataType: "boolean"
+    description: "Tipo de deficiência, transtorno global do desenvolvimento ou altas habilidades/ superdotação (Transtorno Desintegrativo da Infância)"
+    tags:
+        - "basico"
+        - "matricula"
+-
+    name: "dim:matricula:unificada"
+    dataType: "integer"
+    description: "Unificada, multietapa, multi ou correção de fluxo (0 Não, 1 Unificada, 2 Multietapa, 3 Multi, 4 Correção de fluxo, 5 Mista (Concomitante e Subsequente))"
+    tags:
+        - "basico"
+        - "matricula"
+-
+    name: "dim:matricula:zona:residencial"
+    dataType: "integer"
+    description: "Localização/Zona de residência"
+    tags:
+        - "basico"
+        - "matricula"
diff --git a/config/parse/dim_pessoas_cadunico.yaml b/config/parse/dim_pessoas_cadunico.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..cb8648ef60f15da481f8c2cc6765f7d03c857930
--- /dev/null
+++ b/config/parse/dim_pessoas_cadunico.yaml
@@ -0,0 +1,231 @@
+-
+    name: "dim:cadunico:familia:estrato"
+    dataType: "boolean"
+    description: "Grandes grupos de municípios, de acordo com a quantidade de famílias cadastradas"
+    tags:
+        - "cad:unico"
+        - "familia:cad:unico"
+-
+    name: "dim:cadunico:familia:divisao:administrativa:uf"
+    dataType: "integer"
+    description: "Subdivisão pela Unidade Federativa e divisão administrativa"
+    tags:
+        - "cad:unico"
+        - "familia:cad:unico"
+-
+    name: "dim:cadunico:pessoa:id"
+    dataType: "integer"
+    description: "Identificador único da pessoa"
+    tags:
+        - "cad:unico"
+        - "pessoa:cad:unico"
+-
+    name: "dim:cadunico:pessoa:genero:cod"
+    dataType: "boolean"
+    description: "Sexo"
+    tags:
+        - "cad:unico"
+        - "pessoa:cad:unico"
+-
+    name: "dim:cadunico:pessoa:idade"
+    dataType: "integer"
+    description: "Idade calculada a partir da diferença entre a data de nascimento da pessoa e a data de referência da base"
+    tags:
+        - "cad:unico"
+        - "pessoa:cad:unico"
+-
+    name: "dim:cadunico:pessoa:relacao:parentesco"
+    dataType: "integer"
+    description: "Relaçao de parentesco com o RF"
+    tags:
+        - "cad:unico"
+        - "pessoa:cad:unico"
+-
+    name: "dim:cadunico:pessoa:raca:cod"
+    dataType: "integer"
+    description: "Cor ou raça"
+    tags:
+        - "cad:unico"
+        - "pessoa:cad:unico"
+-
+    name: "dim:cadunico:pessoa:local:nascimento:cod"
+    dataType: "integer"
+    description: "Local de nascimento"
+    tags:
+        - "cad:unico"
+        - "pessoa:cad:unico"
+-
+    name: "dim:cadunico:pessoa:certidao:registrada"
+    dataType: "integer"
+    description: "Pessoa registrada em cartório"
+    tags:
+        - "cad:unico"
+        - "pessoa:cad:unico"
+-
+    name: "dim:cadunico:pessoa:deficiencia"
+    dataType: "boolean"
+    description: "Pessoa tem deficiência?"
+    tags:
+        - "cad:unico"
+        - "pessoa:cad:unico"
+-
+    name: "dim:cadunico:pessoa:alfabetizado"
+    dataType: "boolean"
+    description: "Pessoa sabe ler e escrever?"
+    tags:
+        - "cad:unico"
+        - "pessoa:cad:unico"
+-
+    name: "dim:cadunico:pessoa:frequenta:escola"
+    dataType: "integer"
+    description: "Pessoa frequenta escola?"
+    tags:
+        - "cad:unico"
+        - "pessoa:cad:unico"
+-
+    name: "dim:cadunico:pessoa:local:escola"
+    dataType: "boolean"
+    description: "Escola localizada no município?"
+    tags:
+        - "cad:unico"
+        - "pessoa:cad:unico"
+-
+    name: "dim:cadunico:pessoa:curso:frequenta"
+    dataType: "integer"
+    description: "Curso que a pessoa frequenta"
+    tags:
+        - "cad:unico"
+        - "pessoa:cad:unico"
+-
+    name: "dim:cadunico:pessoa:serie:frequenta"
+    dataType: "integer"
+    description: "Ano e série que a pessoa frequenta"
+    tags:
+        - "cad:unico"
+        - "pessoa:cad:unico"
+-
+    name: "dim:cadunico:pessoa:curso:frequentou"
+    dataType: "integer"
+    description: "Curso mais elevado que a pessoa frequentou"
+    tags:
+        - "cad:unico"
+        - "pessoa:cad:unico"
+-
+    name: "dim:cadunico:pessoa:serie:frequentou"
+    dataType: "integer"
+    description: "Último ano e série frequentado pela pessoa"
+    tags:
+        - "cad:unico"
+        - "pessoa:cad:unico"
+-
+    name: "dim:cadunico:pessoa:curso:conclusao"
+    dataType: "boolean"
+    description: "A pessoa concluiu o curso?"
+    tags:
+        - "cad:unico"
+        - "pessoa:cad:unico"
+-
+    name: "dim:cadunico:pessoa:trabalhou:semana:passada"
+    dataType: "boolean"
+    description: "Pessoa trabalhou na semana passada?"
+    tags:
+        - "cad:unico"
+        - "pessoa:cad:unico"
+-
+    name: "dim:cadunico:pessoa:nao:trabalhou:semana:passada"
+    dataType: "boolean"
+    description: "Pessoa afastada na semana passada?"
+    tags:
+        - "cad:unico"
+        - "pessoa:cad:unico"
+-
+    name: "dim:cadunico:pessoa:atividade:extrativista"
+    dataType: "boolean"
+    description: "É atividade extrativista?"
+    tags:
+        - "cad:unico"
+        - "pessoa:cad:unico"
+-
+    name: "dim:cadunico:pessoa:funcao:principal"
+    dataType: "integer"
+    description: "Função principal"
+    tags:
+        - "cad:unico"
+        - "pessoa:cad:unico"
+-
+    name: "dim:cadunico:pessoa:remuneracao"
+    dataType: "integer"
+    description: "Valor de remuneração no formato NNNNN (sem casas decimais)."
+    tags:
+        - "cad:unico"
+        - "pessoa:cad:unico"
+-
+    name: "dim:cadunico:pessoa:trabalhou:ultimos:12:meses"
+    dataType: "boolean"
+    description: "Pessoa com trabalho remunerado em algum período nos últimos 12 meses"
+    tags:
+        - "cad:unico"
+        - "pessoa:cad:unico"
+-
+    name: "dim:cadunico:pessoa:quant:meses:trabalhados:ultimos:12"
+    dataType: "integer"
+    description: "Quantidade de meses trabalhados nos últimos 12 meses"
+    tags:
+        - "cad:unico"
+        - "pessoa:cad:unico"
+-
+    name: "dim:cadunico:pessoa:renda:bruta:ultimos:12:meses"
+    dataType: "integer"
+    description: "Valor de remuneração no formato NNNNN (sem casas decimais)."
+    tags:
+        - "cad:unico"
+        - "pessoa:cad:unico"
+-
+    name: "dim:cadunico:pessoa:renda:doacao"
+    dataType: "integer"
+    description: "Valor recebido de doação no formato NNNNN (sem casas decimais)."
+    tags:
+        - "cad:unico"
+        - "pessoa:cad:unico"
+-
+    name: "dim:cadunico:pessoa:renda:aposentadoria"
+    dataType: "integer"
+    description: "Valor recebido de aposentadoria no formato NNNNN (sem casas decimais)."
+    tags:
+        - "cad:unico"
+        - "pessoa:cad:unico"
+-
+    name: "dim:cadunico:pessoa:renda:seguro:desemprego"
+    dataType: "integer"
+    description: "Valor recebido de seguro desemprego no formato NNNNN (sem casas decimais)."
+    tags:
+        - "cad:unico"
+        - "pessoa:cad:unico"
+-
+    name: "dim:cadunico:pessoa:renda:pensao"
+    dataType: "integer"
+    description: "Valor recebido de pensão alimentícia no formato NNNNN (sem casas decimais)."
+    tags:
+        - "cad:unico"
+        - "pessoa:cad:unico"
+-
+    name: "dim:cadunico:pessoa:renda:outras"
+    dataType: "integer"
+    description: "Valor recebido de outras fontes no formato NNNNN (sem casas decimais)."
+    tags:
+        - "cad:unico"
+        - "pessoa:cad:unico"
+-
+    name: "dim:cadunico:pessoa:peso"
+    dataType: "float"
+    description: "Peso calculado da pessoa"
+    tags:
+        - "cad:unico"
+        - "pessoa:cad:unico"
+-
+    name: "dim:cadunico:pessoa:censo:ano"
+    dataType: "integer"
+    description: "Ano de pesquisa"
+    tags:
+        - "cad:unico"
+        - "pessoa:cad:unico"
diff --git a/config/parse/dim_pnad.yaml b/config/parse/dim_pnad.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..77fc75814a56c4b8814acc3b659492ce162003b9
--- /dev/null
+++ b/config/parse/dim_pnad.yaml
@@ -0,0 +1,258 @@
+-
+    name: "dim:pnad:censo:ano"
+    dataType: "integer"
+    description: "Ano da coleta de dados"
+    tags:
+        - "pnad"
+-
+    name: "dim:pnad:sexo:cod"
+    dataType: "integer"
+    description: "Sexo"
+    tags:
+        - "pnad"
+-
+    name: "dim:pnad:condicao:unidade:domiciliar"
+    dataType: "integer"
+    description: "Condição na unidade domiciliar"
+    tags:
+        - "pnad"
+-
+    name: "dim:pnad:condicao:familia"
+    dataType: "integer"
+    description: "Condição na família"
+    tags:
+        - "pnad"
+-
+    name: "dim:pnad:raca:cod"
+    dataType: "integer"
+    description: "Cor ou Raça"
+    tags:
+        - "pnad"
+-
+    name: "dim:pnad:alfabetizado"
+    dataType: "integer"
+    description: "Sabe ler e escrever"
+    tags:
+        - "pnad"
+-
+    name: "dim:pnad:frequenta:escola:creche"
+    dataType: "integer"
+    description: "Frequenta escola ou creche"
+    tags:
+        - "pnad"
+-
+    name: "dim:pnad:nascimento:dia"
+    dataType: "integer"
+    description: "Dia de nascimento"
+    tags:
+        - "pnad"
+-
+    name: "dim:pnad:nascimento:mes"
+    dataType: "integer"
+    description: "Mês de nascimento"
+    tags:
+        - "pnad"
+-
+    name: "dim:pnad:nascimento:ano"
+    dataType: "integer"
+    description: "Ano de nascimento"
+    tags:
+        - "pnad"
+-
+    name: "dim:pnad:idade"
+    dataType: "integer"
+    description: "Idade do morador na data de referência"
+    tags:
+        - "pnad"
+-
+    name: "dim:pnad:ocupacao:trabalho:posicao"
+    dataType: "integer"
+    description: "Posição na ocupação no trabalho principal da semana de referência para pessoas de 10 anos ou mais de idade"
+    tags:
+        - "pnad"
+-
+    name: "dim:pnad:situacao:censitaria"
+    dataType: "integer"
+    description: "Código de situação censitária"
+    tags:
+        - "pnad"
+-
+    name: "dim:pnad:peso"
+    dataType: "integer"
+    description: "Peso da Pessoa"
+    tags:
+        - "pnad"
+-
+    name: "dim:pnad:renda:per:capita:domiciliar:mensal"
+    dataType: "float"
+    description: "Rendimento mensal domiciliar per capita"
+    tags:
+        - "pnad"
+-
+    name: "dim:pnad:renda:per:capita:domiciliar:mensal:faixa"
+    dataType: "integer"
+    description: "Faixa de rendimento mensal domiciliar per capita (em salários mínimos)"
+    tags:
+        - "pnad"
+-
+    name: "dim:pnad:escolaridade:familiar"
+    dataType: "integer"
+    description: "Nível de instrução mais elevado alcançado (todas as pessoas)"
+    tags:
+        - "pnad"
+-
+    name: "dim:pnad:renda:per:capita:familiar:mensal"
+    dataType: "float"
+    description: "Rendimento mensal familiar per capita"
+    tags:
+        - "pnad"
+-
+    name: "dim:pnad:nivel:ensino"
+    dataType: "integer"
+    description: "Nível de ensino e grupos de séries do ensino fundamental que frequentavam (todos os estudantes)"
+    tags:
+        - "pnad"
+-
+    name: "dim:pnad:quant:anos:estudo"
+    dataType: "integer"
+    description: "Anos de estudo (todas as pessoas)"
+    tags:
+        - "pnad"
+-
+    name: "dim:pnad:ocupacao:trabalho:condicao"
+    dataType: "boolean"
+    description: "Condição de ocupação na semana de referência para pessoas de 10 anos ou mais de idade"
+    tags:
+        - "pnad"
+-
+    name: "dim:pnad:rede:ensino"
+    dataType: "integer"
+    description: "Rede de ensino"
+    tags:
+        - "pnad"
+-
+    name: "dim:pnad:curso"
+    dataType: "integer"
+    description: "Curso que frequenta"
+    tags:
+        - "pnad"
+-
+    name: "dim:pnad:area:rede:publica:ensino"
+    dataType: "integer"
+    description: "Área da rede pública de ensino"
+    tags:
+        - "pnad"
+-
+    name: "dim:pnad:ocupacao:trabalho:cod"
+    dataType: "integer"
+    description: "Código da ocupação no trabalho principal da semana de referência"
+    tags:
+        - "pnad"
+-
+    name: "dim:pnad:trabalho:setor"
+    dataType: "integer"
+    description: "Setor do emprego no trabalho principal da semana de referência"
+    tags:
+        - "pnad"
+-
+    name: "dim:pnad:trabalho:area"
+    dataType: "integer"
+    description: "Área do emprego no trabalho principal da semana de referência"
+    tags:
+        - "pnad"
+-
+    name: "dim:pnad:trabalho:quant:horas:semanal"
+    dataType: "integer"
+    description: "Número de horas habitualmente trabalhadas por semana no trabalho principal da semana de referência"
+    tags:
+        - "pnad"
+-
+    name: "dim:pnad:trabalho:renda:mensal"
+    dataType: "float"
+    description: "Rendimento mensal em dinheiro que recebia normalmente, no mês de referência, no trabalho principal da semana de referência"
+    tags:
+        - "pnad"
+-
+    name: "dim:pnad:ocupacao:trabalho2:cod"
+    dataType: "integer"
+    description: "Código da ocupação no trabalho secundário da semana de referência"
+    tags:
+        - "pnad"
+-
+    name: "dim:pnad:trabalho2:setor"
+    dataType: "integer"
+    description: "Setor do emprego nesse trabalho secundário"
+    tags:
+        - "pnad"
+-
+    name: "dim:pnad:trabalho2:area"
+    dataType: "integer"
+    description: "Área do emprego nesse trabalho secundário"
+    tags:
+        - "pnad"
+-
+    name: "dim:pnad:trabalho2:funcionario:publico"
+    dataType: "integer"
+    description: "Era funcionário público estatutário nesse trabalho secundário"
+    tags:
+        - "pnad"
+-
+    name: "dim:pnad:trabalho2:carteira:assinada"
+    dataType: "integer"
+    description: "Tinha carteira de trabalho assinada nesse trabalho secundário"
+    tags:
+        - "pnad"
+-
+    name: "dim:pnad:trabalho2:renda:mensal"
+    dataType: "float"
+    description: "Rendimento mensal em dinheiro que recebia normalmente, no mês de referência, nesse trabalho secundário"
+    tags:
+        - "pnad"
+-
+    name: "dim:pnad:trabalho2:quant:horas:semanal"
+    dataType: "integer"
+    description: "Número de horas habitualmente trabalhadas por semana nesse trabalho secundário"
+    tags:
+        - "pnad"
+-
+    name: "dim:pnad:area:localidade"
+    dataType: "integer"
+    description: "Área da localidade"
+    tags:
+        - "pnad"
+-
+    name: "dim:pnad:faixa:etaria"
+    dataType: "integer"
+    description: "Faixa etária na data de referência"
+    tags:
+        - "pnad"
+-
+    name: "dim:pnad:professor:educacao:basica"
+    dataType: "boolean"
+    description: "É professor da educação básica?"
+    tags:
+        - "pnad"
+-
+    name: "dim:pnad:trabalho:renda:mensal:normalizada:40:horas"
+    dataType: "float"
+    description: "Rendimento mensal em dinheiro, no mês de referência, no trabalho principal -padronizado para jornada de 40 horas"
+    tags:
+        - "pnad"
+-
+    name: "dim:pnad:renda:per:capita:domiciliar:mensal:salarios"
+    dataType: "float"
+    description: "Rendimento mensal domiciliar per capita (em salários mínimos)"
+    tags:
+        - "pnad"
+-
+    name: "dim:pnad:renda:per:capita:domiciliar:mensal:quintil:nivel"
+    dataType: "integer"
+    description: "Nível de rendimento mensal domiciliar per capita (em quintos)"
+    tags:
+        - "pnad"
+-
+    name: "dim:pnad:renda:per:capita:domiciliar:mensal:nivel:extremo"
+    dataType: "integer"
+    description: "Nível de rendimento mensal domiciliar per capita (10% menores e maiores)"
+    tags:
+        - "pnad"
diff --git a/config/parse/dim_prouni.yaml b/config/parse/dim_prouni.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..b9170fec95abe84e9350c765d823f27e7ebf4902
--- /dev/null
+++ b/config/parse/dim_prouni.yaml
@@ -0,0 +1,77 @@
+-
+    name: "dim:es:prouni:censo:ano"
+    dataType: "integer"
+    description: "Ano da concessão da bolsa ProUni (início da vigência)."
+    tags:
+        - "superior"
+        - "prouni"
+-
+    name: "dim:es:prouni:bolsa:tipo"
+    dataType: "string"
+    description: "Descrição do tipo da bolsa concedida ao beneficiário do ProUni"
+    tags:
+        - "superior"
+        - "prouni"
+-
+    name: "dim:es:prouni:bolsa:modalidade:ensino"
+    dataType: "string"
+    description: "Descrição da modalidade de ensino da bolsa concedida ao beneficiário do ProUni"
+    tags:
+        - "superior"
+        - "prouni"
+-
+    name: "dim:es:prouni:bolsa:curso:nome"
+    dataType: "string"
+    description: "Nome do curso do beneficiário da bolsa ProUni"
+    tags:
+        - "superior"
+        - "prouni"
+-
+    name: "dim:es:prouni:bolsa:curso:turno"
+    dataType: "string"
+    description: "Descrição do turno do curso do beneficiário da bolsa ProUni"
+    tags:
+        - "superior"
+        - "prouni"
+-
+    name: "dim:es:prouni:beneficiario:cpf"
+    dataType: "string"
+    description: "CPF do beneficiário da bolsa ProUni"
+    tags:
+        - "superior"
+        - "prouni"
+-
+    name: "dim:es:prouni:beneficiario:sexo:nome"
+    dataType: "string"
+    description: "Sexo informado pelo beneficiário da bolsa ProUni"
+    tags:
+        - "superior"
+        - "prouni"
+-
+    name: "dim:es:prouni:beneficiario:raca:nome"
+    dataType: "string"
+    description: "Raça/Cor informado pelo beneficiário da bolsa ProUni"
+    tags:
+        - "superior"
+        - "prouni"
+-
+    name: "dim:es:prouni:beneficiario:data:nascimento"
+    dataType: "integer"
+    description: "Data de nascimento do beneficiário da bolsa ProUni"
+    tags:
+        - "superior"
+        - "prouni"
+-
+    name: "dim:es:prouni:beneficiario:deficiente"
+    dataType: "string"
+    description: "Indicação se o beneficiário da bolsa ProUni é portador de algum tipo de deficiência"
+    tags:
+        - "superior"
+        - "prouni"
+-
+    name: "dim:es:prouni:beneficiario:residencia:cidade:nome"
+    dataType: "string"
+    description: "Nome do Município de residência do beneficiário da bolsa ProUni"
+    tags:
+        - "superior"
+        - "prouni"
diff --git a/config/parse/dim_turma.yaml b/config/parse/dim_turma.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..74985582ab716951f378bf05e19f824e5163ed0b
--- /dev/null
+++ b/config/parse/dim_turma.yaml
@@ -0,0 +1,497 @@
+-
+    name: "dim:turma:autonomia:escolar"
+    dataType: "boolean"
+    description: "Tipo de Atendimento Educacional Especializado (AEE) - Estratégias para autonomia no ambiente escolar"
+    tags:
+        - "basico"
+        - "turma"
+-
+    name: "dim:turma:braile"
+    dataType: "boolean"
+    description: "Tipo de Atendimento Educacional Especializado (AEE) - Ensino do Sistema Braille"
+    tags:
+        - "basico"
+        - "turma"
+-
+    name: "dim:turma:censo:ano"
+    dataType: "integer"
+    description: "Ano do Censo"
+    tags:
+        - "basico"
+        - "turma"
+-
+    name: "dim:turma:codigo:atividade1:complementar"
+    dataType: "string"
+    description: "Código do tipo de Atividade Complementar - Atividade 1"
+    tags:
+        - "basico"
+        - "turma"
+-
+    name: "dim:turma:codigo:atividade2:complementar"
+    dataType: "string"
+    description: "Código do tipo de Atividade Complementar - Atividade 2"
+    tags:
+        - "basico"
+        - "turma"
+-
+    name: "dim:turma:codigo:atividade3:complementar"
+    dataType: "string"
+    description: "Código do tipo de Atividade Complementar - Atividade 3"
+    tags:
+        - "basico"
+        - "turma"
+-
+    name: "dim:turma:codigo:atividade4:complementar"
+    dataType: "string"
+    description: "Código do tipo de Atividade Complementar - Atividade 4"
+    tags:
+        - "basico"
+        - "turma"
+-
+    name: "dim:turma:codigo:atividade5:complementar"
+    dataType: "string"
+    description: "Código do tipo de Atividade Complementar - Atividade 5"
+    tags:
+        - "basico"
+        - "turma"
+-
+    name: "dim:turma:codigo:atividade6:complementar"
+    dataType: "string"
+    description: "Código do tipo de Atividade Complementar - Atividade 6"
+    tags:
+        - "basico"
+        - "turma"
+-
+    name: "dim:turma:comunicacao:alternativa:aumentativa"
+    dataType: "boolean"
+    description: "Tipo de Atendimento Educacional Especializado (AEE) - Ensino do uso da Comunicação Alternativa e Aumentativa (CAA)"
+    tags:
+        - "basico"
+        - "turma"
+-
+    name: "dim:turma:dia:domingo"
+    dataType: "boolean"
+    description: "Dias da semana da turma - Domingo"
+    tags:
+        - "basico"
+        - "turma"
+-
+    name: "dim:turma:dia:quarta"
+    dataType: "boolean"
+    description: "Dias da semana da turma - Quarta-Feira"
+    tags:
+        - "basico"
+        - "turma"
+-
+    name: "dim:turma:dia:quinta"
+    dataType: "boolean"
+    description: "Dias da semana da turma - Quinta-Feira"
+    tags:
+        - "basico"
+        - "turma"
+-
+    name: "dim:turma:dia:sabado"
+    dataType: "boolean"
+    description: "Dias da semana da turma - Sábado"
+    tags:
+        - "basico"
+        - "turma"
+-
+    name: "dim:turma:dia:segunda"
+    dataType: "boolean"
+    description: "Dias da semana da turma - Segunda-Feira"
+    tags:
+        - "basico"
+        - "turma"
+-
+    name: "dim:turma:dia:sexta"
+    dataType: "boolean"
+    description: "Dias da semana da turma - Sexta-Feira"
+    tags:
+        - "basico"
+        - "turma"
+-
+    name: "dim:turma:dia:terca"
+    dataType: "boolean"
+    description: "Dias da semana da turma - Terça-Feira"
+    tags:
+        - "basico"
+        - "turma"
+-
+    name: "dim:turma:dias:atividades"
+    dataType: "integer"
+    description: "Número de dias por semana em que são realizadas as atividades da turma"
+    tags:
+        - "basico"
+        - "turma"
+-
+    name: "dim:turma:disciplina:artes"
+    dataType: "boolean"
+    description: "Disciplinas - Artes (Educação Artística, Teatro, Dança, Música, Artes Plásticas e outras)"
+    tags:
+        - "basico"
+        - "turma"
+-
+    name: "dim:turma:disciplina:atendimento:especiais"
+    dataType: "boolean"
+    description: "Disciplinas - Disciplinas voltadas ao atendimento às necessidades educacionais específicas dos alunos que são público alvo da educação especial e às práticas educacionais inclusivas"
+    tags:
+        - "basico"
+        - "turma"
+-
+    name: "dim:turma:disciplina:biologia"
+    dataType: "boolean"
+    description: "Disciplinas - Biologia"
+    tags:
+        - "basico"
+        - "turma"
+-
+    name: "dim:turma:disciplina:ciencias"
+    dataType: "boolean"
+    description: "Disciplinas - Ciências"
+    tags:
+        - "basico"
+        - "turma"
+-
+    name: "dim:turma:disciplina:educacao:fisica"
+    dataType: "boolean"
+    description: "Disciplinas - Educação Física"
+    tags:
+        - "basico"
+        - "turma"
+-
+    name: "dim:turma:disciplina:ensino:religioso"
+    dataType: "boolean"
+    description: "Disciplinas - Ensino Religioso"
+    tags:
+        - "basico"
+        - "turma"
+-
+    name: "dim:turma:disciplina:espanhol"
+    dataType: "boolean"
+    description: "Disciplinas - Língua/ Literatura estrangeira - Espanhol"
+    tags:
+        - "basico"
+        - "turma"
+-
+    name: "dim:turma:disciplina:estudos:sociais"
+    dataType: "boolean"
+    description: "Disciplinas - Estudos Sociais"
+    tags:
+        - "basico"
+        - "turma"
+-
+    name: "dim:turma:disciplina:estudos:sociais:sociologia"
+    dataType: "boolean"
+    description: "Disciplinas - Estudos Sociais ou Sociologia"
+    tags:
+        - "basico"
+        - "turma"
+-
+    name: "dim:turma:disciplina:filosofia"
+    dataType: "boolean"
+    description: "Disciplinas - Filosofia"
+    tags:
+        - "basico"
+        - "turma"
+-
+    name: "dim:turma:disciplina:fisica"
+    dataType: "boolean"
+    description: "Disciplinas - Física"
+    tags:
+        - "basico"
+        - "turma"
+-
+    name: "dim:turma:disciplina:frances"
+    dataType: "boolean"
+    description: "Disciplinas - Língua/ Literatura estrangeira - Francês"
+    tags:
+        - "basico"
+        - "turma"
+-
+    name: "dim:turma:disciplina:geografia"
+    dataType: "boolean"
+    description: "Disciplinas - Geografia"
+    tags:
+        - "basico"
+        - "turma"
+-
+    name: "dim:turma:disciplina:historia"
+    dataType: "boolean"
+    description: "Disciplinas - História"
+    tags:
+        - "basico"
+        - "turma"
+-
+    name: "dim:turma:disciplina:informatica"
+    dataType: "boolean"
+    description: "Disciplinas - Informática/ Computação"
+    tags:
+        - "basico"
+        - "turma"
+-
+    name: "dim:turma:disciplina:ingles"
+    dataType: "boolean"
+    description: "Disciplinas - Língua/ Literatura estrangeira - Inglês"
+    tags:
+        - "basico"
+        - "turma"
+-
+    name: "dim:turma:disciplina:libras"
+    dataType: "boolean"
+    description: "Disciplinas - Libras"
+    tags:
+        - "basico"
+        - "turma"
+-
+    name: "dim:turma:disciplina:lingua:indigena"
+    dataType: "boolean"
+    description: "Disciplinas - Língua Indígena"
+    tags:
+        - "basico"
+        - "turma"
+-
+    name: "dim:turma:disciplina:lingua:portuguesa"
+    dataType: "boolean"
+    description: "Disciplinas - Língua/ Literatura Portuguesa"
+    tags:
+        - "basico"
+        - "turma"
+-
+    name: "dim:turma:disciplina:literatura:outras"
+    dataType: "boolean"
+    description: "Disciplinas - Língua/ Literatura estrangeira - Outra"
+    tags:
+        - "basico"
+        - "turma"
+-
+    name: "dim:turma:disciplina:matematica"
+    dataType: "boolean"
+    description: "Disciplinas - Matemática"
+    tags:
+        - "basico"
+        - "turma"
+-
+    name: "dim:turma:disciplina:outras"
+    dataType: "boolean"
+    description: "Disciplinas - Outras disciplinas"
+    tags:
+        - "basico"
+        - "turma"
+-
+    name: "dim:turma:disciplina:pedagogicas"
+    dataType: "boolean"
+    description: "Disciplinas - Disciplinas pedagógicas"
+    tags:
+        - "basico"
+        - "turma"
+-
+    name: "dim:turma:disciplina:profissionalizante"
+    dataType: "boolean"
+    description: "Educação Profissional"
+    tags:
+        - "basico"
+        - "turma"
+-
+    name: "dim:turma:disciplina:profissionalizante:id"
+    dataType: "integer"
+    description: "Curso da Educação Profissional Técnica"
+    tags:
+        - "basico"
+        - "turma"
+-
+    name: "dim:turma:disciplina:quimica"
+    dataType: "boolean"
+    description: "Disciplinas - Química"
+    tags:
+        - "basico"
+        - "turma"
+-
+    name: "dim:turma:disciplina:sociocultural"
+    dataType: "boolean"
+    description: "Disciplinas - Disciplinas voltadas à diversidade sociocultural (Disciplinas pedagógicas)"
+    tags:
+        - "basico"
+        - "turma"
+-
+    name: "dim:turma:disciplina:sociologia"
+    dataType: "boolean"
+    description: "Disciplinas - Sociologia"
+    tags:
+        - "basico"
+        - "turma"
+-
+    name: "dim:turma:duracao"
+    dataType: "integer"
+    description: "Tempo de permanência na turma da matrícula do aluno - Minutos"
+    tags:
+        - "basico"
+        - "turma"
+-
+    name: "dim:turma:enriquecimento:curricular"
+    dataType: "boolean"
+    description: "Tipo de Atendimento Educacional Especializado (AEE) - Estratégias para enriquecimento curricular"
+    tags:
+        - "basico"
+        - "turma"
+-
+    name: "dim:turma:etapa:ensino"
+    dataType: "integer"
+    description: "Etapa de ensino da turma"
+    tags:
+        - "basico"
+        - "turma"
+-
+    name: "dim:turma:etapa:ensino:segmento"
+    dataType: "integer"
+    description: "Etapas e modalidades de ensino por segmento"
+    tags:
+        - "basico"
+        - "turma"
+-
+    name: "dim:turma:etapa:ensino:segmento:resumido"
+    dataType: "integer"
+    description: "Etapas e modalidades de ensino por segmento resumido"
+    tags:
+        - "basico"
+        - "turma"
+-
+    name: "dim:turma:hora:inicio"
+    dataType: "integer"
+    description: "Hora inicial"
+    tags:
+        - "basico"
+        - "turma"
+-
+    name: "dim:turma:id"
+    dataType: "integer"
+    description: "Código único da turma"
+    tags:
+        - "basico"
+        - "turma"
+-
+    name: "dim:turma:id"
+    dataType: "integer"
+    description: "Código único da turma"
+    tags:
+        - "basico"
+        - "turma"
+-
+    name: "dim:turma:id"
+    dataType: "integer"
+    description: "Código único da turma"
+    tags:
+        - "basico"
+        - "turma"
+-
+    name: "dim:turma:informatica:acessivel"
+    dataType: "boolean"
+    description: "Tipo de Atendimento Educacional Especializado (AEE) - Ensino da usabilidade e da funcionalidade da informática acessível"
+    tags:
+        - "basico"
+        - "turma"
+-
+    name: "dim:turma:mais:educacao"
+    dataType: "boolean"
+    description: "Turma participante do Programa Mais Educação/ Ensino Médio Inovador"
+    tags:
+        - "basico"
+        - "turma"
+-
+    name: "dim:turma:matricula"
+    dataType: "integer"
+    description: "Número de Matrículas"
+    tags:
+        - "basico"
+        - "turma"
+-
+    name: "dim:turma:mediacao:didatico:pedagogica"
+    dataType: "integer"
+    description: "Tipo de mediação didático-pedagógica"
+    tags:
+        - "basico"
+        - "turma"
+-
+    name: "dim:turma:minuto:inicio"
+    dataType: "integer"
+    description: "Hora inicial - Minuto"
+    tags:
+        - "basico"
+        - "turma"
+-
+    name: "dim:turma:nome"
+    dataType: "string"
+    description: "Nome da turma"
+    tags:
+        - "basico"
+        - "turma"
+-
+    name: "dim:turma:orientacao:mobilidade"
+    dataType: "boolean"
+    description: "Tipo de Atendimento Educacional Especializado (AEE) - Técnicas de orientação e mobilidade"
+    tags:
+        - "basico"
+        - "turma"
+-
+    name: "dim:turma:portugues:escrita"
+    dataType: "boolean"
+    description: "Tipo de Atendimento Educacional Especializado (AEE) - Ensino da Língua Portuguesa na modalidade escrita"
+    tags:
+        - "basico"
+        - "turma"
+-
+    name: "dim:turma:processos:mentais"
+    dataType: "boolean"
+    description: "Tipo de Atendimento Educacional Especializado (AEE) - Estratégias para o desenvolvimento de processos mentais"
+    tags:
+        - "basico"
+        - "turma"
+-
+    name: "dim:turma:recursos:baixa:visao"
+    dataType: "boolean"
+    description: "Tipo de Atendimento Educacional Especializado (AEE) - Ensino do uso de recursos ópticos e não ópticos"
+    tags:
+        - "basico"
+        - "turma"
+-
+    name: "dim:turma:serie"
+    dataType: "integer"
+    description: "Etapas e modalidades por série/ano (e idade na Educação Infantil)"
+    tags:
+        - "basico"
+        - "turma"
+-
+    name: "dim:turma:sinais"
+    dataType: "boolean"
+    description: "Tipo de Atendimento Educacional Especializado (AEE) - Ensino da Língua Brasileira de Sinais - LIBRAS"
+    tags:
+        - "basico"
+        - "turma"
+-
+    name: "dim:turma:soroban"
+    dataType: "boolean"
+    description: "Tipo de Atendimento Educacional Especializado (AEE) - Ensino do uso do Soroban"
+    tags:
+        - "basico"
+        - "turma"
+-
+    name: "dim:turma:tempo:integral"
+    dataType: "boolean"
+    description: "Turma em Tempo Integral?"
+    tags:
+        - "basico"
+        - "turma"
+-
+    name: "dim:turma:tipo"
+    dataType: "integer"
+    description: "Tipo de atendimento"
+    tags:
+        - "basico"
+        - "turma"
+-
+    name: "dim:turma:turno"
+    dataType: "integer"
+    description: "Turno da Turma"
+    tags:
+        - "basico"
+        - "turma"
diff --git a/config/parse/met_ana_aluno.yaml b/config/parse/met_ana_aluno.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..c0b263e4ec88aa32ccd3ca0cdbf060118cbef45d
--- /dev/null
+++ b/config/parse/met_ana_aluno.yaml
@@ -0,0 +1,296 @@
+-
+    name: "met:count:ana:aluno:codigo:id"
+    dataType: "integer"
+    aggregation: "count"
+    description:
+    tags:
+        - "count"
+        - "ana"
+-
+    name: "met:min:ana:aluno:leitura:proficiencia:lp:escala:0"
+    dataType: "float"
+    aggregation: "min"
+    description:
+    tags:
+        - "min"
+        - "ana"
+-
+    name: "met:max:ana:aluno:leitura:proficiencia:lp:escala:0"
+    dataType: "float"
+    aggregation: "max"
+    description:
+    tags:
+        - "max"
+        - "ana"
+-
+    name: "met:avg:ana:aluno:leitura:proficiencia:lp:escala:0"
+    dataType: "float"
+    aggregation: "avg"
+    description:
+    tags:
+        - "avg"
+        - "ana"
+-
+    name: "met:min:ana:aluno:leitura:erro:padrao:lp"
+    dataType: "float"
+    aggregation: "min"
+    description:
+    tags:
+        - "min"
+        - "ana"
+-
+    name: "met:max:ana:aluno:leitura:erro:padrao:lp"
+    dataType: "float"
+    aggregation: "max"
+    description:
+    tags:
+        - "max"
+        - "ana"
+-
+    name: "met:avg:ana:aluno:leitura:erro:padrao:lp"
+    dataType: "float"
+    aggregation: "avg"
+    description:
+    tags:
+        - "avg"
+        - "ana"
+-
+    name: "met:min:ana:aluno:leitura:proficiencia:lp:escala:500"
+    dataType: "float"
+    aggregation: "min"
+    description:
+    tags:
+        - "min"
+        - "ana"
+-
+    name: "met:max:ana:aluno:leitura:proficiencia:lp:escala:500"
+    dataType: "float"
+    aggregation: "max"
+    description:
+    tags:
+        - "max"
+        - "ana"
+-
+    name: "met:avg:ana:aluno:leitura:proficiencia:lp:escala:500"
+    dataType: "float"
+    aggregation: "avg"
+    description:
+    tags:
+        - "avg"
+        - "ana"
+-
+    name: "met:min:ana:aluno:leitura:erro:padrao:lp:transformada"
+    dataType: "float"
+    aggregation: "min"
+    description:
+    tags:
+        - "min"
+        - "ana"
+-
+    name: "met:max:ana:aluno:leitura:erro:padrao:lp:transformada"
+    dataType: "float"
+    aggregation: "max"
+    description:
+    tags:
+        - "max"
+        - "ana"
+-
+    name: "met:avg:ana:aluno:leitura:erro:padrao:lp:transformada"
+    dataType: "float"
+    aggregation: "avg"
+    description:
+    tags:
+        - "avg"
+        - "ana"
+-
+    name: "met:min:ana:aluno:escrita:proficiencia:lp:escala:0"
+    dataType: "float"
+    aggregation: "min"
+    description:
+    tags:
+        - "min"
+        - "ana"
+-
+    name: "met:max:ana:aluno:escrita:proficiencia:lp:escala:0"
+    dataType: "float"
+    aggregation: "max"
+    description:
+    tags:
+        - "max"
+        - "ana"
+-
+    name: "met:avg:ana:aluno:escrita:proficiencia:lp:escala:0"
+    dataType: "float"
+    aggregation: "avg"
+    description:
+    tags:
+        - "avg"
+        - "ana"
+-
+    name: "met:min:ana:aluno:escrita:erro:padrao:lp"
+    dataType: "float"
+    aggregation: "min"
+    description:
+    tags:
+        - "min"
+        - "ana"
+-
+    name: "met:max:ana:aluno:escrita:erro:padrao:lp"
+    dataType: "float"
+    aggregation: "max"
+    description:
+    tags:
+        - "max"
+        - "ana"
+-
+    name: "met:avg:ana:aluno:escrita:erro:padrao:lp"
+    dataType: "float"
+    aggregation: "avg"
+    description:
+    tags:
+        - "avg"
+        - "ana"
+-
+    name: "met:min:ana:aluno:escrita:proficiencia:lp:escala:500"
+    dataType: "float"
+    aggregation: "min"
+    description:
+    tags:
+        - "min"
+        - "ana"
+-
+    name: "met:max:ana:aluno:escrita:proficiencia:lp:escala:500"
+    dataType: "float"
+    aggregation: "max"
+    description:
+    tags:
+        - "max"
+        - "ana"
+-
+    name: "met:avg:ana:aluno:escrita:proficiencia:lp:escala:500"
+    dataType: "float"
+    aggregation: "avg"
+    description:
+    tags:
+        - "avg"
+        - "ana"
+-
+    name: "met:min:ana:aluno:escrita:erro:padrao:lp:transformada"
+    dataType: "float"
+    aggregation: "min"
+    description:
+    tags:
+        - "min"
+        - "ana"
+-
+    name: "met:max:ana:aluno:escrita:erro:padrao:lp:transformada"
+    dataType: "float"
+    aggregation: "max"
+    description:
+    tags:
+        - "max"
+        - "ana"
+-
+    name: "met:avg:ana:aluno:escrita:erro:padrao:lp:transformada"
+    dataType: "float"
+    aggregation: "avg"
+    description:
+    tags:
+        - "avg"
+        - "ana"
+-
+    name: "met:min:ana:aluno:proficiencia:matematica:escala:0"
+    dataType: "float"
+    aggregation: "min"
+    description:
+    tags:
+        - "min"
+        - "ana"
+-
+    name: "met:max:ana:aluno:proficiencia:matematica:escala:0"
+    dataType: "float"
+    aggregation: "max"
+    description:
+    tags:
+        - "max"
+        - "ana"
+-
+    name: "met:avg:ana:aluno:proficiencia:matematica:escala:0"
+    dataType: "float"
+    aggregation: "avg"
+    description:
+    tags:
+        - "avg"
+        - "ana"
+-
+    name: "met:min:ana:aluno:erro:padrao:matematica"
+    dataType: "float"
+    aggregation: "min"
+    description:
+    tags:
+        - "min"
+        - "ana"
+-
+    name: "met:max:ana:aluno:erro:padrao:matematica"
+    dataType: "float"
+    aggregation: "max"
+    description:
+    tags:
+        - "max"
+        - "ana"
+-
+    name: "met:avg:ana:aluno:erro:padrao:matematica"
+    dataType: "float"
+    aggregation: "avg"
+    description:
+    tags:
+        - "avg"
+        - "ana"
+-
+    name: "met:min:ana:aluno:proficiencia:matematica:escala:500"
+    dataType: "float"
+    aggregation: "min"
+    description:
+    tags:
+        - "min"
+        - "ana"
+-
+    name: "met:max:ana:aluno:proficiencia:matematica:escala:500"
+    dataType: "float"
+    aggregation: "max"
+    description:
+    tags:
+        - "max"
+        - "ana"
+-
+    name: "met:avg:ana:aluno:proficiencia:matematica:escala:500"
+    dataType: "float"
+    aggregation: "avg"
+    description:
+    tags:
+        - "avg"
+        - "ana"
+-
+    name: "met:min:ana:aluno:erro:padrao:matematica:transformada"
+    dataType: "float"
+    aggregation: "min"
+    description:
+    tags:
+        - "min"
+        - "ana"
+-
+    name: "met:max:ana:aluno:erro:padrao:matematica:transformada"
+    dataType: "float"
+    aggregation: "max"
+    description:
+    tags:
+        - "max"
+        - "ana"
+-
+    name: "met:avg:ana:aluno:erro:padrao:matematica:transformada"
+    dataType: "float"
+    aggregation: "avg"
+    description:
+    tags:
+        - "avg"
+        - "ana"
\ No newline at end of file
diff --git a/config/parse/met_ana_escola.yaml b/config/parse/met_ana_escola.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..65abc710eee8de71a9b7780374d3025bae6c5e8f
--- /dev/null
+++ b/config/parse/met_ana_escola.yaml
@@ -0,0 +1,72 @@
+-
+    name: "met:min:ana:escola:leitura:media:lp"
+    dataType: "float"
+    aggregation: "min"
+    description: 
+    tags:
+        - "min"
+        - "ana" 
+-
+    name: "met:max:ana:escola:leitura:media:lp"
+    dataType: "float"
+    aggregation: "max"
+    description: 
+    tags:
+        - "max"
+        - "ana" 
+-
+    name: "met:avg:ana:escola:leitura:media:lp"
+    dataType: "float"
+    aggregation: "avg"
+    description: 
+    tags:
+        - "avg"
+        - "ana" 
+-
+    name: "met:min:ana:escola:leitura:escrita:media:lp"
+    dataType: "float"
+    aggregation: "min"
+    description: 
+    tags:
+        - "min"
+        - "ana" 
+-
+    name: "met:max:ana:escola:leitura:escrita:media:lp"
+    dataType: "float"
+    aggregation: "max"
+    description: 
+    tags:
+        - "max"
+        - "ana" 
+-
+    name: "met:avg:ana:escola:leitura:escrita:media:lp"
+    dataType: "float"
+    aggregation: "avg"
+    description: 
+    tags:
+        - "avg"
+        - "ana"
+-
+    name: "met:min:ana:escola:media:matematica"
+    dataType: "float"
+    aggregation: "min"
+    description: 
+    tags:
+        - "min"
+        - "ana" 
+-
+    name: "met:max:ana:escola:media:matematica"
+    dataType: "float"
+    aggregation: "max"
+    description: 
+    tags:
+        - "max"
+        - "ana" 
+-
+    name: "met:avg:ana:escola:media:matematica"
+    dataType: "float"
+    aggregation: "avg"
+    description: 
+    tags:
+        - "avg"
+        - "ana"  
diff --git a/config/parse/met_docente.yaml b/config/parse/met_docente.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..5f5bf74d3d91737b63290d2ae8fc75f1849ecc04
--- /dev/null
+++ b/config/parse/met_docente.yaml
@@ -0,0 +1,163 @@
+-
+    name: "met:avg:docente:idade"
+    dataType: "integer"
+    aggregation: "avg"
+    description: "Média da idade dos docentes"
+    tags:
+        - "basico"
+        - "docente"
+        - "avg"
+-
+    name: "met:count:docente:id"
+    dataType: "integer"
+    aggregation: "count"
+    description: "Quantidade de docentes"
+    tags:
+        - "basico"
+        - "docente"
+        - "count"
+-
+    name: "met:max:docente:curso1:ano:conclusao"
+    dataType: "integer"
+    aggregation: "max"
+    description: "Ano máximo da conclusão do primeiro curso"
+    tags:
+        - "basico"
+        - "docente"
+        - "max"
+-
+    name: "met:max:docente:curso1:ano:inicio"
+    dataType: "integer"
+    aggregation: "max"
+    description: "Ano máximo do início do primeiro curso"
+    tags:
+        - "basico"
+        - "docente"
+        - "max"
+-
+    name: "met:max:docente:curso2:ano:conclusao"
+    dataType: "integer"
+    aggregation: "max"
+    description: "Ano máximo da conclusão do segundo curso"
+    tags:
+        - "basico"
+        - "docente"
+        - "max"
+
+-
+    name: "met:max:docente:curso2:ano:inicio"
+    dataType: "integer"
+    aggregation: "max"
+    description: "Ano máximo do início do segundo curso"
+    tags:
+        - "basico"
+        - "docente"
+        - "max"
+-
+    name: "met:max:docente:curso3:ano:conclusao"
+    dataType: "integer"
+    aggregation: "max"
+    description: "Ano máximo da conclusão do terceiro curso "
+    tags:
+        - "basico"
+        - "docente"
+        - "max"
+-
+    name: "met:max:docente:curso3:ano:inicio"
+    dataType: "integer"
+    aggregation: "max"
+    description: "Ano máximo do início do terceiro curso"
+    tags:
+        - "basico"
+        - "docente"
+        - "max"
+-
+    name: "met:max:docente:idade"
+    dataType: "integer"
+    aggregation: "max"
+    description: "Idade máxima dos docentes"
+    tags:
+        - "basico"
+        - "docente"
+        - "max"
+-
+    name: "met:max:docente:nascimento:ano"
+    dataType: "integer"
+    aggregation: "max"
+    description: "Ano máximo de nascimento de docentes"
+    tags:
+        - "basico"
+        - "docente"
+        - "max"
+-
+    name: "met:min:docente:curso1:ano:conclusao"
+    dataType: "integer"
+    aggregation: "min"
+    description: "Ano mínimo da conclusão do primeiro curso"
+    tags:
+        - "basico"
+        - "docente"
+        - "min"
+-
+    name: "met:min:docente:curso1:ano:inicio"
+    dataType: "integer"
+    aggregation: "min"
+    description: "Ano mínimo do início do primeiro curso"
+    tags:
+        - "basico"
+        - "docente"
+        - "min"
+-
+    name: "met:min:docente:curso2:ano:conclusao"
+    dataType: "integer"
+    aggregation: "min"
+    description: "Ano mínimo da conclusão do segundo curso"
+    tags:
+        - "basico"
+        - "docente"
+        - "min"
+-
+    name: "met:min:docente:curso2:ano:inicio"
+    dataType: "integer"
+    aggregation: "min"
+    description: "Ano mínimo do início do segundo curso"
+    tags:
+        - "basico"
+        - "docente"
+        - "min"
+-
+    name: "met:min:docente:curso3:ano:conclusao"
+    dataType: "integer"
+    aggregation: "min"
+    description: "Ano mínimo da conclusão do terceiro curso"
+    tags:
+        - "basico"
+        - "docente"
+        - "min"
+-
+    name: "met:min:docente:curso3:ano:inicio"
+    dataType: "integer"
+    aggregation: "min"
+    description: "Ano mínimo do início do segundo curso"
+    tags:
+        - "basico"
+        - "docente"
+        - "min"
+-
+    name: "met:min:docente:idade"
+    dataType: "integer"
+    aggregation: "min"
+    description: "Idade mínima dos docentes"
+    tags:
+        - "basico"
+        - "docente"
+        - "min"
+-
+    name: "met:min:docente:nascimento:ano"
+    dataType: "integer"
+    aggregation: "min"
+    description: "Ano mínimo de nascimento de docentes"
+    tags:
+        - "basico"
+        - "docente"
+        - "min"
diff --git a/config/parse/met_es_aluno.yaml b/config/parse/met_es_aluno.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..e84866240edaebf058681afa2d126d5bdd97055f
--- /dev/null
+++ b/config/parse/met_es_aluno.yaml
@@ -0,0 +1,144 @@
+-
+    name: "met:count:es:aluno:id"
+    dataType: "integer"
+    aggregation: "count"
+    description: "Quantidade de alunos matriculados no ensino superior"
+    tags:
+        - "superior"
+        - "aluno"
+        - "count"
+-
+    name: "met:min:es:aluno:nascimento:ano"
+    dataType: "integer"
+    aggregation: "min"
+    description: "Ano mínimo de nascimento dos alunos"
+    tags:
+        - "superior"
+        - "aluno"
+        - "min"
+-
+    name: "met:max:es:aluno:nascimento:ano"
+    dataType: "integer"
+    aggregation: "max"
+    description: "Ano máximo de nascimento dos alunos"
+    tags:
+        - "superior"
+        - "aluno"
+        - "max"
+-
+    name: "met:avg:es:aluno:idade"
+    dataType: "integer"
+    aggregation: "avg"
+    description: "Média de idade dos alunos"
+    tags:
+        - "superior"
+        - "aluno"
+        - "avg"
+-
+    name: "met:min:es:aluno:idade"
+    dataType: "integer"
+    aggregation: "min"
+    description: "Idade mínima dos alunos"
+    tags:
+        - "superior"
+        - "aluno"
+        - "min"
+-
+    name: "met:max:es:aluno:idade"
+    dataType: "integer"
+    aggregation: "max"
+    description: "Idade máxima dos alunos"
+    tags:
+        - "superior"
+        - "aluno"
+        - "max"
+-
+    name: "met:min:es:aluno:ingresso:ano"
+    dataType: "integer"
+    aggregation: "min"
+    description: "Ano mínimo do ingresso dos alunos"
+    tags:
+        - "superior"
+        - "aluno"
+        - "min"
+-
+    name: "met:max:es:aluno:ingresso:ano"
+    dataType: "integer"
+    aggregation: "max"
+    description: "Ano máximo do ingresso dos alunos"
+    tags:
+        - "superior"
+        - "aluno"
+        - "max"
+-
+    name: "met:sum:es:aluno:quantidade:carga:horaria:total"
+    dataType: "integer"
+    aggregation: "sum"
+    description: "Soma da carga horária total dos alunos"
+    tags:
+        - "superior"
+        - "aluno"
+        - "sum"
+-
+    name: "met:avg:es:aluno:quantidade:carga:horaria:total"
+    dataType: "integer"
+    aggregation: "avg"
+    description: "Carga horária total média dos alunos"
+    tags:
+        - "superior"
+        - "aluno"
+        - "avg"
+-
+    name: "met:min:es:aluno:quantidade:carga:horaria:total"
+    dataType: "integer"
+    aggregation: "min"
+    description: "Carga horária total mínima dos alunos"
+    tags:
+        - "superior"
+        - "aluno"
+        - "min"
+-
+    name: "met:max:es:aluno:quantidade:carga:horaria:total"
+    dataType: "integer"
+    aggregation: "max"
+    description: "Carga horária total máxima dos alunos"
+    tags:
+        - "superior"
+        - "aluno"
+        - "max"
+-
+    name: "met:sum:es:aluno:quantidade:carga:horaria:integral"
+    dataType: "integer"
+    aggregation: "sum"
+    description: "Soma da carga horária integral dos alunos"
+    tags:
+        - "superior"
+        - "aluno"
+        - "sum"
+-
+    name: "met:avg:es:aluno:quantidade:carga:horaria:integral"
+    dataType: "integer"
+    aggregation: "avg"
+    description: "Carga horária integral média dos alunos"
+    tags:
+        - "superior"
+        - "aluno"
+        - "avg"
+-
+    name: "met:min:es:aluno:quantidade:carga:horaria:integral"
+    dataType: "integer"
+    aggregation: "min"
+    description: "Carga horária integral mínima dos alunos"
+    tags:
+        - "superior"
+        - "aluno"
+        - "min"
+-
+    name: "met:max:es:aluno:quantidade:carga:horaria:integral"
+    dataType: "integer"
+    aggregation: "max"
+    description: "Carga horária integral máxima dos alunos"
+    tags:
+        - "superior"
+        - "aluno"
+        - "max"
diff --git a/config/parse/met_es_curso.yaml b/config/parse/met_es_curso.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..6d8dd0a74a40eda9e0fd614102e904485119d770
--- /dev/null
+++ b/config/parse/met_es_curso.yaml
@@ -0,0 +1,2494 @@
+-
+    name: "met:count:es:curso:id"
+    dataType: "integer"
+    aggregation: "count"
+    description: "Quantidade de cursos de ensino superior"
+    tags:
+        - "superior"
+        - "curso"
+        - "count"
+-
+    name: "met:sum:es:curso:carga:horaria"
+    dataType: "integer"
+    aggregation: "sum"
+    description: "Soma da carga horária dos cursos"
+    tags:
+        - "superior"
+        - "curso"
+        - "sum"
+-
+    name: "met:avg:es:curso:carga:horaria"
+    dataType: "integer"
+    aggregation: "avg"
+    description: "Carga horária média dos cursos"
+    tags:
+        - "superior"
+        - "curso"
+        - "avg"
+-
+    name: "met:min:es:curso:carga:horaria"
+    dataType: "integer"
+    aggregation: "min"
+    description: "Carga horária mínima dos cursos"
+    tags:
+        - "superior"
+        - "curso"
+        - "min"
+-
+    name: "met:max:es:curso:carga:horaria"
+    dataType: "integer"
+    aggregation: "max"
+    description: "Carga horária máxima dos cursos"
+    tags:
+        - "superior"
+        - "curso"
+        - "max"
+-
+    name: "met:sum:es:curso:quant:matricula"
+    dataType: "integer"
+    aggregation: "sum"
+    description: "Soma de matriculas dos cursos"
+    tags:
+        - "superior"
+        - "curso"
+        - "sum"
+-
+    name: "met:avg:es:curso:quant:matricula"
+    dataType: "integer"
+    aggregation: "avg"
+    description: "Quantidade média de matriculas dos cursos"
+    tags:
+        - "superior"
+        - "curso"
+        - "avg"
+-
+    name: "met:min:es:curso:quant:matricula"
+    dataType: "integer"
+    aggregation: "min"
+    description: "Quantidade mínima de matriculas nos cursos"
+    tags:
+        - "superior"
+        - "curso"
+        - "min"
+-
+    name: "met:max:es:curso:quant:matricula"
+    dataType: "integer"
+    aggregation: "max"
+    description: "Quantidade máxima de matriculas nos cursos"
+    tags:
+        - "superior"
+        - "curso"
+        - "max"
+-
+    name: "met:sum:es:curso:quant:concluinte"
+    dataType: "integer"
+    aggregation: "sum"
+    description: "Soma de concluintes nos cursos"
+    tags:
+        - "superior"
+        - "curso"
+        - "sum"
+-
+    name: "met:avg:es:curso:quant:concluinte"
+    dataType: "integer"
+    aggregation: "avg"
+    description: "Quantidade média de concluintes nos cursos"
+    tags:
+        - "superior"
+        - "curso"
+        - "avg"
+-
+    name: "met:max:es:curso:quant:concluinte"
+    dataType: "integer"
+    aggregation: "max"
+    description: "Quantidade máxima de concluintes nos cursos"
+    tags:
+        - "superior"
+        - "curso"
+        - "max"
+-
+    name: "met:min:es:curso:quant:concluinte"
+    dataType: "integer"
+    aggregation: "min"
+    description: "Quantidade mínima de concluintes nos cursos"
+    tags:
+        - "superior"
+        - "curso"
+        - "min"
+-
+    name: "met:sum:es:curso:quant:ingresso"
+    dataType: "integer"
+    aggregation: "sum"
+    description: "Soma de ingressos nos cursos"
+    tags:
+        - "superior"
+        - "curso"
+        - "sum"
+-
+    name: "met:avg:es:curso:quant:ingresso"
+    dataType: "integer"
+    aggregation: "avg"
+    description: "Quantidade média de ingressos nos cursos"
+    tags:
+        - "superior"
+        - "curso"
+        - "avg"
+-
+    name: "met:max:es:curso:quant:ingresso"
+    dataType: "integer"
+    aggregation: "max"
+    description: "Quantidade máxima de ingressos nos cursos"
+    tags:
+        - "superior"
+        - "curso"
+        - "max"
+-
+    name: "met:min:es:curso:quant:ingresso"
+    dataType: "integer"
+    aggregation: "min"
+    description: "Quantidade mínima de ingressos nos cursos"
+    tags:
+        - "superior"
+        - "curso"
+        - "min"
+-
+    name: "met:min:es:curso:percentual:carga:horaria:distancia"
+    dataType: "integer"
+    aggregation: "min"
+    description: "Percentual mínimo de carga horária do curso a distância"
+    tags:
+        - "superior"
+        - "curso"
+        - "min"
+-
+    name: "met:max:es:curso:percentual:carga:horaria:distancia"
+    dataType: "integer"
+    aggregation: "max"
+    description: "Percentual máximo de carga horária do curso a distancia"
+    tags:
+        - "superior"
+        - "curso"
+        - "max"
+-
+    name: "met:sum:es:curso:ead:quant:inscritos:ies"
+    dataType: "integer"
+    aggregation: "sum"
+    description: "Soma de inscritos nos cursos ead"
+    tags:
+        - "superior"
+        - "curso"
+        - "sum"
+-
+    name: "met:avg:es:curso:ead:quant:inscritos:ies"
+    dataType: "integer"
+    aggregation: "avg"
+    description: "Quantidade média de inscritors nos cursos ead"
+    tags:
+        - "superior"
+        - "curso"
+        - "avg"
+-
+    name: "met:max:es:curso:ead:quant:inscritos:ies"
+    dataType: "integer"
+    aggregation: "max"
+    description: "Quantidade máxima de inscritors nos cursos ead"
+    tags:
+        - "superior"
+        - "curso"
+        - "max"
+
+-
+    name: "met:min:es:curso:ead:quant:inscritos:ies"
+    dataType: "integer"
+    aggregation: "min"
+    description: "Quantidade mínima de inscritors nos cursos ead"
+    tags:
+        - "superior"
+        - "curso"
+        - "min"
+
+-
+    name: "met:sum::es:curso:ead:quant:vagas"
+    dataType: "integer"
+    aggregation: "sum"
+    description: "Soma da quantidade de vagas nos cursos ead"
+    tags:
+        - "superior"
+        - "curso"
+        - "sum"
+-
+    name: "met:avg::es:curso:ead:quant:vagas"
+    dataType: "integer"
+    aggregation: "avg"
+    description: "Quantidade média de vagas nos cursos ead"
+    tags:
+        - "superior"
+        - "curso"
+        - "avg"
+-
+    name: "met:max::es:curso:ead:quant:vagas"
+    dataType: "integer"
+    aggregation: "max"
+    description: "Quantidade máxima de vagas nos cursos ead"
+    tags:
+        - "superior"
+        - "curso"
+        - "max"
+-
+    name: "met:min::es:curso:ead:quant:vagas"
+    dataType: "integer"
+    aggregation: "min"
+    description: "Quantidade mínima de vagas nos cursos ead"
+    tags:
+        - "superior"
+        - "curso"
+        - "min"
+-
+    name: "met:sum:es:curso:integral:quant:vagas"
+    dataType: "integer"
+    aggregation: "sum"
+    description: "Soma da quantidade de vagas nos cursos integrais"
+    tags:
+        - "superior"
+        - "curso"
+        - "sum"
+-
+    name: "met:avg:es:curso:integral:quant:vagas"
+    dataType: "integer"
+    aggregation: "avg"
+    description: "Quantidade média de vagas nos cursos integrais"
+    tags:
+        - "superior"
+        - "curso"
+        - "avg"
+-
+    name: "met:max:es:curso:integral:quant:vagas"
+    dataType: "integer"
+    aggregation: "max"
+    description: "Quantidade máxima de vagas nos cursos integrais"
+    tags:
+        - "superior"
+        - "curso"
+        - "max"
+-
+    name: "met:min:es:curso:integral:quant:vagas"
+    dataType: "integer"
+    aggregation: "min"
+    description: "Quantidade mínima de vagas nos cursos integrais"
+    tags:
+        - "superior"
+        - "curso"
+        - "min"
+-
+    name: "met:sum:es:curso:matutino:quant:vagas"
+    dataType: "integer"
+    aggregation: "sum"
+    description: "Soma da quantidade de vagas nos cursos matutinos"
+    tags:
+        - "superior"
+        - "curso"
+        - "sum"
+-
+    name: "met:avg:es:curso:matutino:quant:vagas"
+    dataType: "integer"
+    aggregation: "avg"
+    description: "Quantidade média de vagas nos cursos matutinos"
+    tags:
+        - "superior"
+        - "curso"
+        - "avg"
+-
+    name: "met:max:es:curso:matutino:quant:vagas"
+    dataType: "integer"
+    aggregation: "max"
+    description: "Quantidade máxima de vagas nos cursos matutinos"
+    tags:
+        - "superior"
+        - "curso"
+        - "max"
+-
+    name: "met:min:es:curso:matutino:quant:vagas"
+    dataType: "integer"
+    aggregation: "min"
+    description: "Quantidade mínima de vagas nos cursos matutinos"
+    tags:
+        - "superior"
+        - "curso"
+        - "min"
+-
+    name: "met:sum:es:curso:vespertino:quant:vagas"
+    dataType: "integer"
+    aggregation: "sum"
+    description: "Soma da quantidade de vagas nos cursos vespertinos"
+    tags:
+        - "superior"
+        - "curso"
+        - "sum"
+-
+    name: "met:avg:es:curso:vespertino:quant:vagas"
+    dataType: "integer"
+    aggregation: "avg"
+    description: "Quantidade média de vagas nos cursos vespertinos"
+    tags:
+        - "superior"
+        - "curso"
+        - "avg"
+-
+    name: "met:max:es:curso:vespertino:quant:vagas"
+    dataType: "integer"
+    aggregation: "max"
+    description: "Quantidade máxima de vagas nos cursos vespertinos"
+    tags:
+        - "superior"
+        - "curso"
+        - "max"
+-
+    name: "met:min:es:curso:vespertino:quant:vagas"
+    dataType: "integer"
+    aggregation: "min"
+    description: "Quantidade mínima de vagas nos cursos vespertinos"
+    tags:
+        - "superior"
+        - "curso"
+        - "min"
+-
+    name: "met:sum:es:curso:noturno:quant:vagas"
+    dataType: "integer"
+    aggregation: "sum"
+    description: "Soma da quantidade de vagas nos cursos noturnos"
+    tags:
+        - "superior"
+        - "curso"
+        - "sum"
+-
+    name: "met:avg:es:curso:noturno:quant:vagas"
+    dataType: "integer"
+    aggregation: "avg"
+    description: "Quantidade média de vagas nos cursos noturnos"
+    tags:
+        - "superior"
+        - "curso"
+        - "avg"
+-
+    name: "met:max:es:curso:noturno:quant:vagas"
+    dataType: "integer"
+    aggregation: "max"
+    description: "Quantidade máxima de vagas nos cursos noturnos"
+    tags:
+        - "superior"
+        - "curso"
+        - "max"
+-
+    name: "met:min:es:curso:noturno:quant:vagas"
+    dataType: "integer"
+    aggregation: "min"
+    description: "Quantidade mínima de vagas nos cursos noturnos"
+    tags:
+        - "superior"
+        - "curso"
+        - "min"
+-
+    name: "met:sum:es:curso:matutino:quant:inscritos"
+    dataType: "integer"
+    aggregation: "sum"
+    description: "Soma da quantidade de inscritos nos cursos matutinos"
+    tags:
+        - "superior"
+        - "curso"
+        - "sum"
+-
+    name: "met:avg:es:curso:matutino:quant:inscritos"
+    dataType: "integer"
+    aggregation: "avg"
+    description: "Quantidade média de inscritos nos cursos matutinos"
+    tags:
+        - "superior"
+        - "curso"
+        - "avg"
+-
+    name: "met:max:es:curso:matutino:quant:inscritos"
+    dataType: "integer"
+    aggregation: "max"
+    description: "Quantidade máxima de inscritos nos cursos matutinos"
+    tags:
+        - "superior"
+        - "curso"
+        - "max"
+-
+    name: "met:min:es:curso:matutino:quant:inscritos"
+    dataType: "integer"
+    aggregation: "min"
+    description: "Quantidade mínima de inscritos nos cursos matutinos"
+    tags:
+        - "superior"
+        - "curso"
+        - "min"
+-
+    name: "met:sum:es:curso:vespertino:quant:inscritos"
+    dataType: "integer"
+    aggregation: "sum"
+    description: "Soma da quantidade de inscritos nos cursos vespertinos"
+    tags:
+        - "superior"
+        - "curso"
+        - "sum"
+-
+    name: "met:avg:es:curso:vespertino:quant:inscritos"
+    dataType: "integer"
+    aggregation: "avg"
+    description: "Quantidade média de inscritos nos cursos vespertinos"
+    tags:
+        - "superior"
+        - "curso"
+        - "avg"
+-
+    name: "met:max:es:curso:vespertino:quant:inscritos"
+    dataType: "integer"
+    aggregation: "max"
+    description: "Quantidade máxima de inscritos nos cursos vespertinos"
+    tags:
+        - "superior"
+        - "curso"
+        - "max"
+-
+    name: "met:min:es:curso:vespertino:quant:inscritos"
+    dataType: "integer"
+    aggregation: "min"
+    description: "Quantidade mínima de inscritos nos cursos vespertinos"
+    tags:
+        - "superior"
+        - "curso"
+        - "min"
+-
+    name: "met:sum:es:curso:noturno:quant:inscritos"
+    dataType: "integer"
+    aggregation: "sum"
+    description: "Soma da quantidade de inscritos nos cursos noturnos"
+    tags:
+        - "superior"
+        - "curso"
+        - "sum"
+-
+    name: "met:avg:es:curso:noturno:quant:inscritos"
+    dataType: "integer"
+    aggregation: "avg"
+    description: "Quantidade média de inscritos nos cursos noturnos"
+    tags:
+        - "superior"
+        - "curso"
+        - "avg"
+-
+    name: "met:max:es:curso:noturno:quant:inscritos"
+    dataType: "integer"
+    aggregation: "max"
+    description: "Quantidade máxima de inscritos nos cursos noturnos"
+    tags:
+        - "superior"
+        - "curso"
+        - "max"
+-
+    name: "met:min:es:curso:noturno:quant:inscritos"
+    dataType: "integer"
+    aggregation: "min"
+    description: "Quantidade mínima de inscritos nos cursos noturnos"
+    tags:
+        - "superior"
+        - "curso"
+        - "min"
+-
+    name: "met:sum:es:curso:integral:quant:inscritos"
+    dataType: "integer"
+    aggregation: "sum"
+    description: "Soma da quantidade de inscritos nos cursos integrais"
+    tags:
+        - "superior"
+        - "curso"
+        - "sum"
+-
+    name: "met:avg:es:curso:integral:quant:inscritos"
+    dataType: "integer"
+    aggregation: "avg"
+    description: "Quantidade média de inscritos nos cursos integrais"
+    tags:
+        - "superior"
+        - "curso"
+        - "avg"
+-
+    name: "met:max:es:curso:integral:quant:inscritos"
+    dataType: "integer"
+    aggregation: "max"
+    description: "Quantidade máxima de inscritos nos cursos integrais"
+    tags:
+        - "superior"
+        - "curso"
+        - "max"
+-
+    name: "met:min:es:curso:integral:quant:inscritos"
+    dataType: "integer"
+    aggregation: "min"
+    description: "Quantidade mínima de inscritos nos cursos integrais"
+    tags:
+        - "superior"
+        - "curso"
+        - "min"
+-
+    name: "met:sum:es:curso:quant:ingresso:outra:forma"
+    dataType: "integer"
+    aggregation: "sum"
+    description: "Soma da quantidade de ingressos por outra forma nos cursos"
+    tags:
+        - "superior"
+        - "curso"
+        - "sum"
+-
+    name: "met:avg:es:curso:quant:ingresso:outra:forma"
+    dataType: "integer"
+    aggregation: "avg"
+    description: "Quantidade média de ingressos por outra forma nos cursos"
+    tags:
+        - "superior"
+        - "curso"
+        - "avg"
+-
+    name: "met:max:es:curso:quant:ingresso:outra:forma"
+    dataType: "integer"
+    aggregation: "max"
+    description: "Quantidade máxima de ingressos por outra forma nos cursos"
+    tags:
+        - "superior"
+        - "curso"
+        - "max"
+-
+    name: "met:min:es:curso:quant:ingresso:outra:forma"
+    dataType: "integer"
+    aggregation: "min"
+    description: "Quantidade mínima de ingressos por outra forma nos cursos"
+    tags:
+        - "superior"
+        - "curso"
+        - "min"
+-
+    name: "met:max:es:curso:percentual:carga:horaria:semi:presencial"
+    dataType: "integer"
+    aggregation: "max"
+    description: "Percentual máximo de carga horária semipresencial nos cursos"
+    tags:
+        - "superior"
+        - "curso"
+        - "max"
+-
+    name: "met:min:es:curso:percentual:carga:horaria:semi:presencial"
+    dataType: "integer"
+    aggregation: "min"
+    description: "Percentual mínimo de carga horária semipresencial nos cursos"
+    tags:
+        - "superior"
+        - "curso"
+        - "min"
+-
+    name: "met:sum:es:curso:ead:quant:inscritos:principal"
+    dataType: "integer"
+    aggregation: "sum"
+    description: "Soma da quantidade de inscritos principais nos cursos ead"
+    tags:
+        - "superior"
+        - "curso"
+        - "sum"
+-
+    name: "met:avg:es:curso:ead:quant:inscritos:principal"
+    dataType: "integer"
+    aggregation: "avg"
+    description: "Quantidade média de inscritos principais nos cursos ead"
+    tags:
+        - "superior"
+        - "curso"
+        - "avg"
+-
+    name: "met:max:es:curso:ead:quant:inscritos:principal"
+    dataType: "integer"
+    aggregation: "max"
+    description: "Quantidade máxima de inscritos principais nos cursos ead"
+    tags:
+        - "superior"
+        - "curso"
+        - "max"
+-
+    name: "met:min:es:curso:ead:quant:inscritos:principal"
+    dataType: "integer"
+    aggregation: "min"
+    description: "Quantidade mínima de inscritos principais nos cursos ead"
+    tags:
+        - "superior"
+        - "curso"
+        - "min"
+-
+    name: "met:sum:es:curso:ead:quant:vagas:principal"
+    dataType: "integer"
+    aggregation: "sum"
+    description: "Soma da quantidade de vagas principais nos cursos ead"
+    tags:
+        - "superior"
+        - "curso"
+        - "sum"
+-
+    name: "met:avg:es:curso:ead:quant:vagas:principal"
+    dataType: "integer"
+    aggregation: "avg"
+    description: "Quantidade média de vagas principais nos cursos ead"
+    tags:
+        - "superior"
+        - "curso"
+        - "avg"
+-
+    name: "met:max:es:curso:ead:quant:vagas:principal"
+    dataType: "integer"
+    aggregation: "max"
+    description: "Quantidade máxima de vagas principais nos cursos ead"
+    tags:
+        - "superior"
+        - "curso"
+        - "max"
+-
+    name: "met:min:es:curso:ead:quant:vagas:principal"
+    dataType: "integer"
+    aggregation: "min"
+    description: "Quantidade mínima de vagas principais nos cursos"
+    tags:
+        - "superior"
+        - "curso"
+        - "min"
+-
+    name: "met:sum:es:curso:integral:quant:vagas:principal"
+    dataType: "integer"
+    aggregation: "sum"
+    description: "Soma da quantidade de vagas principais nos cursos integrais"
+    tags:
+        - "superior"
+        - "curso"
+        - "sum"
+-
+    name: "met:avg:es:curso:integral:quant:vagas:principal"
+    dataType: "integer"
+    aggregation: "avg"
+    description: "Quantidade média de vagas principais nos cursos integrais"
+    tags:
+        - "superior"
+        - "curso"
+        - "avg"
+-
+    name: "met:max:es:curso:integral:quant:vagas:principal"
+    dataType: "integer"
+    aggregation: "max"
+    description: "Quantidade máxima de vagas principais nos cursos integrais"
+    tags:
+        - "superior"
+        - "curso"
+        - "max"
+-
+    name: "met:min:es:curso:integral:quant:vagas:principal"
+    dataType: "integer"
+    aggregation: "min"
+    description: "Quantidade mínima de vagas principais nos cursos integrais"
+    tags:
+        - "superior"
+        - "curso"
+        - "min"
+-
+    name: "met:sum:es:curso:matutino:quant:vagas:principal"
+    dataType: "integer"
+    aggregation: "sum"
+    description: "Soma da quantidade de vagas principais nos cursos matutinos"
+    tags:
+        - "superior"
+        - "curso"
+        - "sum"
+-
+    name: "met:avg:es:curso:matutino:quant:vagas:principal"
+    dataType: "integer"
+    aggregation: "avg"
+    description: "Quantidade média de vagas principais nos cursos matutinos"
+    tags:
+        - "superior"
+        - "curso"
+        - "avg"
+-
+    name: "met:max:es:curso:matutino:quant:vagas:principal"
+    dataType: "integer"
+    aggregation: "max"
+    description: "Quantidade máxima de vagas principais nos cursos matutinos"
+    tags:
+        - "superior"
+        - "curso"
+        - "max"
+-
+    name: "met:min:es:curso:matutino:quant:vagas:principal"
+    dataType: "integer"
+    aggregation: "min"
+    description: "Quantidade mínima de vagas principais nos cursos matutinos"
+    tags:
+        - "superior"
+        - "curso"
+        - "min"
+-
+    name: "met:sum:es:curso:noturno:quant:vagas:principal"
+    dataType: "integer"
+    aggregation: "sum"
+    description: "Soma da quantidade de vagas principais nos cursos noturnos"
+    tags:
+        - "superior"
+        - "curso"
+        - "sum"
+-
+    name: "met:avg:es:curso:noturno:quant:vagas:principal"
+    dataType: "integer"
+    aggregation: "avg"
+    description: "Quantidade média de vagas principais nos cursos noturnos"
+    tags:
+        - "superior"
+        - "curso"
+        - "avg"
+-
+    name: "met:max:es:curso:noturno:quant:vagas:principal"
+    dataType: "integer"
+    aggregation: "max"
+    description: "Quantidade máxima de vagas principais nos cursos noturnos"
+    tags:
+        - "superior"
+        - "curso"
+        - "max"
+-
+    name: "met:min:es:curso:noturno:quant:vagas:principal"
+    dataType: "integer"
+    aggregation: "min"
+    description: "Quantidade mínima de vagas principais nos cursos noturnos"
+    tags:
+        - "superior"
+        - "curso"
+        - "min"
+-
+    name: "met:sum:es:curso:vespertino:quant:vagas:principal"
+    dataType: "integer"
+    aggregation: "sum"
+    description: "Soma da quantidade de vagas principais nos cursos vespertinos"
+    tags:
+        - "superior"
+        - "curso"
+        - "sum"
+-
+    name: "met:avg:es:curso:vespertino:quant:vagas:principal"
+    dataType: "integer"
+    aggregation: "avg"
+    description: "Quantidade média de vagas principais nos cursos vespertinos"
+    tags:
+        - "superior"
+        - "curso"
+        - "avg"
+-
+    name: "met:max:es:curso:vespertino:quant:vagas:principal"
+    dataType: "integer"
+    aggregation: "max"
+    description: "Quantidade máxima de vagas principais nos cursos vespertinos"
+    tags:
+        - "superior"
+        - "curso"
+        - "max"
+-
+    name: "met:min:es:curso:vespertino:quant:vagas:principal"
+    dataType: "integer"
+    aggregation: "min"
+    description: "Quantidade mínima de vagas principais nos cursos vespertinos"
+    tags:
+        - "superior"
+        - "curso"
+        - "min"
+-
+    name: "met:sum:es:curso:matutino:quant:inscritos:principal"
+    dataType: "integer"
+    aggregation: "sum"
+    description: "Soma da quantidade de inscritos principais nos cursos matutinos"
+    tags:
+        - "superior"
+        - "curso"
+        - "sum"
+-
+    name: "met:avg:es:curso:matutino:quant:inscritos:principal"
+    dataType: "integer"
+    aggregation: "avg"
+    description: "Quantidade média de inscritos principais nos cursos matutinos"
+    tags:
+        - "superior"
+        - "curso"
+        - "avg"
+-
+    name: "met:max:es:curso:matutino:quant:inscritos:principal"
+    dataType: "integer"
+    aggregation: "max"
+    description: "Quantidade máxima de inscritos principais nos cursos matutinos"
+    tags:
+        - "superior"
+        - "curso"
+        - "max"
+-
+    name: "met:min:es:curso:matutino:quant:inscritos:principal"
+    dataType: "integer"
+    aggregation: "min"
+    description: "Quantidade mínima de inscritos principais nos cursos matutinos"
+    tags:
+        - "superior"
+        - "curso"
+        - "min"
+-
+    name: "met:sum:es:curso:vespertino:quant:inscritos:principal"
+    dataType: "integer"
+    aggregation: "sum"
+    description: "Soma da quantidade de inscritos principais nos cursos vespertinos" 
+    tags:
+        - "superior"
+        - "curso"
+        - "sum"
+-
+    name: "met:avg:es:curso:vespertino:quant:inscritos:principal"
+    dataType: "integer"
+    aggregation: "avg"
+    description: "Quantidade média de inscritos principais nos cursos vespertinos"
+    tags:
+        - "superior"
+        - "curso"
+        - "avg"
+-
+    name: "met:max:es:curso:vespertino:quant:inscritos:principal"
+    dataType: "integer"
+    aggregation: "max"
+    description: "Quantidade máxima de inscritos principais nos cursos vespertinos"
+    tags:
+        - "superior"
+        - "curso"
+        - "max"
+-
+    name: "met:min:es:curso:vespertino:quant:inscritos:principal"
+    dataType: "integer"
+    aggregation: "min"
+    description: "Quantidade mínima de inscritos principais nos cursos vespertinos"
+    tags:
+        - "superior"
+        - "curso"
+        - "min"
+-
+    name: "met:sum:es:curso:noturno:quant:inscritos:principal"
+    dataType: "integer"
+    aggregation: "sum"
+    description: "Soma da quantidade de inscritos principais nos cursos noturno"
+    tags:
+        - "superior"
+        - "curso"
+        - "sum"
+-
+    name: "met:avg:es:curso:noturno:quant:inscritos:principal"
+    dataType: "integer"
+    aggregation: "avg"
+    description: "Quantidade média de inscritos principais nos cursos noturnos"
+    tags:
+        - "superior"
+        - "curso"
+        - "avg"
+-
+    name: "met:max:es:curso:noturno:quant:inscritos:principal"
+    dataType: "integer"
+    aggregation: "max"
+    description: "Quantidade máxima de inscritos principais nos cursos noturnos"
+    tags:
+        - "superior"
+        - "curso"
+        - "max"
+-
+    name: "met:min:es:curso:noturno:quant:inscritos:principal"
+    dataType: "integer"
+    aggregation: "min"
+    description: "Quantidade mínima de inscritos principais nos cursos noturnos"
+    tags:
+        - "superior"
+        - "curso"
+        - "min"
+-
+    name: "met:sum:es:curso:integral:quant:inscritos:principal"
+    dataType: "integer"
+    aggregation: "sum"
+    description: "Soma da quantidade de inscritos principais nos cursos integrais"
+    tags:
+        - "superior"
+        - "curso"
+        - "sum"
+-
+    name: "met:avg:es:curso:integral:quant:inscritos:principal"
+    dataType: "integer"
+    aggregation: "avg"
+    description: "Quantidade média de inscritos principais nos cursos integrais"
+    tags:
+        - "superior"
+        - "curso"
+        - "avg"
+-
+    name: "met:max:es:curso:integral:quant:inscritos:principal"
+    dataType: "integer"
+    aggregation: "max"
+    description: "Quantidade máxima de inscritos principais nos cursos integrais"
+    tags:
+        - "superior"
+        - "curso"
+        - "max"
+-
+    name: "met:min:es:curso:integral:quant:inscritos:principal"
+    dataType: "integer"
+    aggregation: "min"
+    description: "Quantidade mínima de inscritos principais nos cursos integrais"
+    tags:
+        - "superior"
+        - "curso"
+        - "min"
+-
+    name: "met:sum:es:curso:ead:quant:inscritos:outras"
+    dataType: "integer"
+    aggregation: "sum"
+    description: "Soma da quantidade de outros inscritos nos cursos ead"
+    tags:
+        - "superior"
+        - "curso"
+        - "sum"
+-
+    name: "met:avg:es:curso:ead:quant:inscritos:outras"
+    dataType: "integer"
+    aggregation: "avg"
+    description: "Quantidade média de outros inscritos nos cursos ead"
+    tags:
+        - "superior"
+        - "curso"
+        - "avg"
+-
+    name: "met:max:es:curso:ead:quant:inscritos:outras"
+    dataType: "integer"
+    aggregation: "max"
+    description: "Quantidade máxima de outros inscritos nos cursos ead"
+    tags:
+        - "superior"
+        - "curso"
+        - "max"
+-
+    name: "met:min:es:curso:ead:quant:inscritos:outras"
+    dataType: "integer"
+    aggregation: "min"
+    description: "Quantidade mínima de outros inscritos nos cursos ead"
+    tags:
+        - "superior"
+        - "curso"
+        - "min"
+-
+    name: "met:sum:es:curso:ead:quant:vagas:outras"
+    dataType: "integer"
+    aggregation: "sum"
+    description: "Soma da quantidade de outras vagas nos cursos ead"
+    tags:
+        - "superior"
+        - "curso"
+        - "sum"
+-
+    name: "met:avg:es:curso:ead:quant:vagas:outras"
+    dataType: "integer"
+    aggregation: "avg"
+    description: "Quantidade média de outras vagas nos cursos ead"
+    tags:
+        - "superior"
+        - "curso"
+        - "avg"
+-
+    name: "met:max:es:curso:ead:quant:vagas:outras"
+    dataType: "integer"
+    aggregation: "max"
+    description: "Quantidade máxima de outras vagas nos cursos ead"
+    tags:
+        - "superior"
+        - "curso"
+        - "max"
+-
+    name: "met:min:es:curso:ead:quant:vagas:outras"
+    dataType: "integer"
+    aggregation: "min"
+    description: "Quantidade mínima de outras vagas nos cursos ead"
+    tags:
+        - "superior"
+        - "curso"
+        - "min"
+-
+    name: "met:sum:es:curso:integral:quant:vagas:outras"
+    dataType: "integer"
+    aggregation: "sum"
+    description: "Soma da quantidade de outras vagas nos cursos integrais"
+    tags:
+        - "superior"
+        - "curso"
+        - "sum"
+-
+    name: "met:avg:es:curso:integral:quant:vagas:outras"
+    dataType: "integer"
+    aggregation: "avg"
+    description: "Quantidade média de outras vagas nos cursos integrais"
+    tags:
+        - "superior"
+        - "curso"
+        - "avg"
+-
+    name: "met:max:es:curso:integral:quant:vagas:outras"
+    dataType: "integer"
+    aggregation: "max"
+    description: "Quantidade máxima de outras vagas nos cursos integrais"
+    tags:
+        - "superior"
+        - "curso"
+        - "max"
+-
+    name: "met:min:es:curso:integral:quant:vagas:outras"
+    dataType: "integer"
+    aggregation: "min"
+    description: "Quantidade mínima de outras vagas nos cursos integrais"
+    tags:
+        - "superior"
+        - "curso"
+        - "min"
+-
+    name: "met:sum:es:curso:matutino:quant:vagas:outras"
+    dataType: "integer"
+    aggregation: "sum"
+    description: "Soma da quantidade de outras vagas nos cursos matutinos"
+    tags:
+        - "superior"
+        - "curso"
+        - "sum"
+-
+    name: "met:avg:es:curso:matutino:quant:vagas:outras"
+    dataType: "integer"
+    aggregation: "avg"
+    description: "Quantidade média de outras vagas nos cursos matutinos"
+    tags:
+        - "superior"
+        - "curso"
+        - "avg"
+-
+    name: "met:max:es:curso:matutino:quant:vagas:outras"
+    dataType: "integer"
+    aggregation: "max"
+    description: "Quantidade máxima de outras vagas nos cursos matutinos"
+    tags:
+        - "superior"
+        - "curso"
+        - "max"
+-
+    name: "met:min:es:curso:matutino:quant:vagas:outras"
+    dataType: "integer"
+    aggregation: "min"
+    description: "Quantidade mínima de outras vagas nos cursos matutinos"
+    tags:
+        - "superior"
+        - "curso"
+        - "min"
+-
+    name: "met:sum:es:curso:noturno:quant:vagas:outras"
+    dataType: "integer"
+    aggregation: "sum"
+    description: "Soma da quantidade de outras vagas nos cursos noturnos"
+    tags:
+        - "superior"
+        - "curso"
+        - "sum"
+-
+    name: "met:avg:es:curso:noturno:quant:vagas:outras"
+    dataType: "integer"
+    aggregation: "avg"
+    description: "Quantidade média de outras vagas nos cursos noturnos"
+    tags:
+        - "superior"
+        - "curso"
+        - "avg"
+-
+    name: "met:max:es:curso:noturno:quant:vagas:outras"
+    dataType: "integer"
+    aggregation: "max"
+    description: "Quantidade máxima de outras vagas nos cursos noturnos"
+    tags:
+        - "superior"
+        - "curso"
+        - "max"
+-
+    name: "met:min:es:curso:noturno:quant:vagas:outras"
+    dataType: "integer"
+    aggregation: "min"
+    description: "Quantidade mínima de outras vagas nos cursos noturnos"
+    tags:
+        - "superior"
+        - "curso"
+        - "min"
+-
+    name: "met:sum:es:curso:vespertino:quant:vagas:outras"
+    dataType: "integer"
+    aggregation: "sum"
+    description: "Soma da quantidade de outras vagas nos cursos vespertinos"
+    tags:
+        - "superior"
+        - "curso"
+        - "sum"
+-
+    name: "met:avg:es:curso:vespertino:quant:vagas:outras"
+    dataType: "integer"
+    aggregation: "avg"
+    description: "Quantidade média de outras vagas nos cursos vespertinos"
+    tags:
+        - "superior"
+        - "curso"
+        - "avg"
+-
+    name: "met:max:es:curso:vespertino:quant:vagas:outras"
+    dataType: "integer"
+    aggregation: "max"
+    description: "Quantidade máxima de outras vagas nos cursos vespertinos"
+    tags:
+        - "superior"
+        - "curso"
+        - "max"
+-
+    name: "met:min:es:curso:vespertino:quant:vagas:outras"
+    dataType: "integer"
+    aggregation: "min"
+    description: "Quantidade mínima de outras vagas nos cursos vespertinos"
+    tags:
+        - "superior"
+        - "curso"
+        - "min"
+-
+    name: "met:sum:es:curso:matutino:quant:inscritos:outras"
+    dataType: "integer"
+    aggregation: "sum"
+    description: "Soma da quantidade de outros inscritos nos cursos matutinos"
+    tags:
+        - "superior"
+        - "curso"
+        - "sum"
+-
+    name: "met:avg:es:curso:matutino:quant:inscritos:outras"
+    dataType: "integer"
+    aggregation: "avg"
+    description: "Quantidade média de outros inscritos nos cursos matutinos"
+    tags:
+        - "superior"
+        - "curso"
+        - "avg"
+-
+    name: "met:max:es:curso:matutino:quant:inscritos:outras"
+    dataType: "integer"
+    aggregation: "max"
+    description: "Quantidade máxima de outros inscritos nos cursos matutinos"
+    tags:
+        - "superior"
+        - "curso"
+        - "max"
+-
+    name: "met:min:es:curso:matutino:quant:inscritos:outras"
+    dataType: "integer"
+    aggregation: "min"
+    description: "Quantidade mínima de outros inscritos nos cursos matutinos"
+    tags:
+        - "superior"
+        - "curso"
+        - "min"
+-
+    name: "met:sum:es:curso:vespertino:quant:inscritos:outras"
+    dataType: "integer"
+    aggregation: "sum"
+    description: "Soma da quantidade de outros inscritos nos cursos vespertinos"
+    tags:
+        - "superior"
+        - "curso"
+        - "sum"
+-
+    name: "met:avg:es:curso:vespertino:quant:inscritos:outras"
+    dataType: "integer"
+    aggregation: "avg"
+    description: "Quantidade média de outros inscritos nos cursos vespertinos"
+    tags:
+        - "superior"
+        - "curso"
+        - "avg"
+-
+    name: "met:max:es:curso:vespertino:quant:inscritos:outras"
+    dataType: "integer"
+    aggregation: "max"
+    description: "Quantidade máxima de outros inscritos nos cursos vespertinos"
+    tags:
+        - "superior"
+        - "curso"
+        - "max"
+-
+    name: "met:min:es:curso:vespertino:quant:inscritos:outras"
+    dataType: "integer"
+    aggregation: "min"
+    description: "Quantidade mínima de outros inscritos nos cursos vespertinos"
+    tags:
+        - "superior"
+        - "curso"
+        - "min"
+-
+    name: "met:sum:es:curso:noturno:quant:inscritos:outras"
+    dataType: "integer"
+    aggregation: "sum"
+    description: "Soma da quantidade de outros inscritos nos cursos noturnos"
+    tags:
+        - "superior"
+        - "curso"
+        - "sum"
+-
+    name: "met:avg:es:curso:noturno:quant:inscritos:outras"
+    dataType: "integer"
+    aggregation: "avg"
+    description: "Quantidade média de outros inscritos nos cursos noturnos"
+    tags:
+        - "superior"
+        - "curso"
+        - "avg"
+-
+    name: "met:max:es:curso:noturno:quant:inscritos:outras"
+    dataType: "integer"
+    aggregation: "max"
+    description: "Quantidade máxima de outros inscritos nos cursos noturnos"
+    tags:
+        - "superior"
+        - "curso"
+        - "max"
+-
+    name: "met:min:es:curso:noturno:quant:inscritos:outras"
+    dataType: "integer"
+    aggregation: "min"
+    description: "Quantidade mínima de outros inscritos nos cursos noturnos"
+    tags:
+        - "superior"
+        - "curso"
+        - "min"
+-
+    name: "met:sum:es:curso:integral:quant:inscritos:outras"
+    dataType: "integer"
+    aggregation: "sum"
+    description: "Soma da quantidade de outros inscritos nos cursos integrais"
+    tags:
+        - "superior"
+        - "curso"
+        - "sum"
+-
+    name: "met:avg:es:curso:integral:quant:inscritos:outras"
+    dataType: "integer"
+    aggregation: "avg"
+    description: "Quantidade média de outros inscritos nos cursos integrais"
+    tags:
+        - "superior"
+        - "curso"
+        - "avg"
+-
+    name: "met:max:es:curso:integral:quant:inscritos:outras"
+    dataType: "integer"
+    aggregation: "max"
+    description: "Quantidade máxima de outros inscritos nos cursos integrais"
+    tags:
+        - "superior"
+        - "curso"
+        - "max"
+-
+    name: "met:min:es:curso:integral:quant:inscritos:outras"
+    dataType: "integer"
+    aggregation: "min"
+    description: "Quantidade mínima de outros inscritos nos cursos integrais"
+    tags:
+        - "superior"
+        - "curso"
+        - "min"
+-
+    name: "met:sum:es:curso:quant:ingresso:processo:seletivo"
+    dataType: "integer"
+    aggregation: "sum"
+    description: "Soma da quantidade de ingressos por preocesso seletivo nos cursos" 
+    tags:
+        - "superior"
+        - "curso"
+        - "sum"
+-
+    name: "met:avg:es:curso:quant:ingresso:processo:seletivo"
+    dataType: "integer"
+    aggregation: "avg"
+    description: "Quantidade média de ingressos por processo seletivo nos cursos"
+    tags:
+        - "superior"
+        - "curso"
+        - "avg"
+-
+    name: "met:max:es:curso:quant:ingresso:processo:seletivo"
+    dataType: "integer"
+    aggregation: "max"
+    description: "Quantidade máxima de ingressos por processo seletivo nos cursos"
+    tags:
+        - "superior"
+        - "curso"
+        - "max"
+-
+    name: "met:min:es:curso:quant:ingresso:processo:seletivo"
+    dataType: "integer"
+    aggregation: "min"
+    description: "Quantidade mínima de ingressos por processo seletivo nos cursos"
+    tags:
+        - "superior"
+        - "curso"
+        - "min"
+-
+    name: "met:sum:es:curso:integral:quant:inscritos:vagas:novas"
+    dataType: "integer"
+    aggregation: "sum"
+    description: "Soma da quantidade de inscritos em vagas novas nos cursos integrais"
+    tags:
+        - "superior"
+        - "curso"
+        - "sum"
+-
+    name: "met:avg:es:curso:integral:quant:inscritos:vagas:novas"
+    dataType: "integer"
+    aggregation: "avg"
+    description: "Quantidade média de inscritos em vagas novas nos cursos integrais"
+    tags:
+        - "superior"
+        - "curso"
+        - "avg"
+-
+    name: "met:max:es:curso:integral:quant:inscritos:vagas:novas"
+    dataType: "integer"
+    aggregation: "max"
+    description: "Quantidade máxima de inscritos em vagas novas nos cursos integrais"
+    tags:
+        - "superior"
+        - "curso"
+        - "max"
+-
+    name: "met:min:es:curso:integral:quant:inscritos:vagas:novas"
+    dataType: "integer"
+    aggregation: "min"
+    description: "Quantidade mínima de inscritos em vagas novas nos cursos integrais"
+    tags:
+        - "superior"
+        - "curso"
+        - "min"
+-
+    name: "met:sum:es:curso:matutino:quant:inscritos:vagas:novas"
+    dataType: "integer"
+    aggregation: "sum"
+    description: "Soma da quantidade de inscritos em vagas novas nos cursos matutinos"
+    tags:
+        - "superior"
+        - "curso"
+        - "sum"
+-
+    name: "met:avg:es:curso:matutino:quant:inscritos:vagas:novas"
+    dataType: "integer"
+    aggregation: "avg"
+    description: "Quantidade média de inscritos em vagas novas nos cursos matutinos"
+    tags:
+        - "superior"
+        - "curso"
+        - "avg"
+-
+    name: "met:max:es:curso:matutino:quant:inscritos:vagas:novas"
+    dataType: "integer"
+    aggregation: "max"
+    description: "Quantidade máxima de inscritos em vagas novas nos cursos matutinos"
+    tags:
+        - "superior"
+        - "curso"
+        - "max"
+-
+    name: "met:min:es:curso:matutino:quant:inscritos:vagas:novas"
+    dataType: "integer"
+    aggregation: "min"
+    description: "Quantidade mínima de inscritos em vagas novas nos cursos matutinos"
+    tags:
+        - "superior"
+        - "curso"
+        - "min"
+-
+    name: "met:sum:es:curso:vespertino:quant:inscritos:vagas:novas"
+    dataType: "integer"
+    aggregation: "sum"
+    description: "Soma da quantidade de inscritos em vagas novas nos cursos vespertinos"
+    tags:
+        - "superior"
+        - "curso"
+        - "sum"
+-
+    name: "met:avg:es:curso:vespertino:quant:inscritos:vagas:novas"
+    dataType: "integer"
+    aggregation: "avg"
+    description: "Quantidade média de inscritos em vagas novas nos cursos vespertinos"
+    tags:
+        - "superior"
+        - "avg"
+-
+    name: "met:max:es:curso:vespertino:quant:inscritos:vagas:novas"
+    dataType: "integer"
+    aggregation: "max"
+    description: "Quantidade máxima de inscritos em vagas novas nos cursos vespertinos"
+    tags:
+        - "superior"
+        - "curso"
+        - "max"
+-
+    name: "met:min:es:curso:vespertino:quant:inscritos:vagas:novas"
+    dataType: "integer"
+    aggregation: "min"
+    description: "Quantidade mínima de inscritos em vagas novas nos cursos vespertinos"
+    tags:
+        - "superior"
+        - "curso"
+        - "min"
+-
+    name: "met:sum:es:curso:noturno:quant:inscritos:vagas:novas"
+    dataType: "integer"
+    aggregation: "sum"
+    description: "Soma da quantidade de inscritos em vagas novas nos cursos noturnos"
+    tags:
+        - "superior"
+        - "curso"
+        - "sum"
+-
+    name: "met:avg:es:curso:noturno:quant:inscritos:vagas:novas"
+    dataType: "integer"
+    aggregation: "avg"
+    description: "Quantidade média de inscritos em vagas novas nos cursos noturnos"
+    tags:
+        - "superior"
+        - "curso"
+        - "avg"
+-
+    name: "met:max:es:curso:noturno:quant:inscritos:vagas:novas"
+    dataType: "integer"
+    aggregation: "max"
+    description: "Quantidade máxima de inscritos em vagas novas nos cursos noturnos"
+    tags:
+        - "superior"
+        - "curso"
+        - "max"
+-
+    name: "met:min:es:curso:noturno:quant:inscritos:vagas:novas"
+    dataType: "integer"
+    aggregation: "min"
+    description: "Quantidade mínima de inscritos em vagas novas nos cursos noturnos"
+    tags:
+        - "superior"
+        - "curso"
+        - "min"
+-
+    name: "met:sum:es:curso:ead:quant:inscritos:vagas:novas"
+    dataType: "integer"
+    aggregation: "sum"
+    description: "Soma da quantidade de inscritos em vagas novas nos cursos ead"
+    tags:
+        - "superior"
+        - "curso"
+        - "sum"
+-
+    name: "met:avg:es:curso:ead:quant:inscritos:vagas:novas"
+    dataType: "integer"
+    aggregation: "avg"
+    description: "Quantidade média de inscritos em vagas novas nos cursos ead"
+    tags:
+        - "superior"
+        - "curso"
+        - "avg"
+-
+    name: "met:max:es:curso:ead:quant:inscritos:vagas:novas"
+    dataType: "integer"
+    aggregation: "max"
+    description: "Quantidade máxima de inscritos em vagas novas nos cursos ead"
+    tags:
+        - "superior"
+        - "curso"
+        - "max"
+-
+    name: "met:min:es:curso:ead:quant:inscritos:vagas:novas"
+    dataType: "integer"
+    aggregation: "min"
+    description: "Quantidade mínima de inscritos em vagas novas nos cursos ead"
+    tags:
+        - "superior"
+        - "curso"
+        - "min"
+-
+    name: "met:sum:es:curso:integral:quant:inscritos:remanescentes"
+    dataType: "integer"
+    aggregation: "sum"
+    description: "Soma da quantidade de inscritos remanescentes nos cursos integrais"
+    tags:
+        - "superior"
+        - "curso"
+        - "sum"
+-
+    name: "met:avg:es:curso:integral:quant:inscritos:remanescentes"
+    dataType: "integer"
+    aggregation: "avg"
+    description: "Quantidade média de inscritos remanescentes nos cursos integrais"
+    tags:
+        - "superior"
+        - "curso"
+        - "avg"
+-
+    name: "met:max:es:curso:integral:quant:inscritos:remanescentes"
+    dataType: "integer"
+    aggregation: "max"
+    description: "Quantidade máxima de inscritos remanescentes nos cursos integrais"
+    tags:
+        - "superior"
+        - "curso"
+        - "max"
+-
+    name: "met:min:es:curso:integral:quant:inscritos:remanescentes"
+    dataType: "integer"
+    aggregation: "min"
+    description: "Quantidade mínima de inscritos remanescentes nos cursos integrais"
+    tags:
+        - "superior"
+        - "curso"
+        - "min"
+-
+    name: "met:sum:es:curso:matutino:quant:inscritos:remanescentes"
+    dataType: "integer"
+    aggregation: "sum"
+    description: "Soma da quantidade de inscritos remanescentes nos cursos matutinos"
+    tags:
+        - "superior"
+        - "curso"
+        - "sum"
+-
+    name: "met:avg:es:curso:matutino:quant:inscritos:remanescentes"
+    dataType: "integer"
+    aggregation: "avg"
+    description: "Quantidade média de inscritos remanescentes nos cursos matutinos"
+    tags:
+        - "superior"
+        - "curso"
+        - "avg"
+-
+    name: "met:max:es:curso:matutino:quant:inscritos:remanescentes"
+    dataType: "integer"
+    aggregation: "max"
+    description: "Quantidade máxima de inscritos remanescentes nos cursos matutinos"
+    tags:
+        - "superior"
+        - "curso"
+        - "max"
+-
+    name: "met:min:es:curso:matutino:quant:inscritos:remanescentes"
+    dataType: "integer"
+    aggregation: "min"
+    description: "Quantidade mínima de inscritos remanescentes nos cursos matutinos"
+    tags:
+        - "superior"
+        - "curso"
+        - "min"
+-
+    name: "met:sum:es:curso:vespertino:quant:inscritos:remanescentes"
+    dataType: "integer"
+    aggregation: "sum"
+    description: "Soma da quantidade de inscritos remanescentes nos cursos vespertinos" 
+    tags:
+        - "superior"
+        - "curso"
+        - "sum"
+-
+    name: "met:avg:es:curso:vespertino:quant:inscritos:remanescentes"
+    dataType: "integer"
+    aggregation: "avg"
+    description: "Quantidade média de inscritos remanescentes nos cursos vespertinos"
+    tags:
+        - "superior"
+        - "curso"
+        - "avg"
+-
+    name: "met:max:es:curso:vespertino:quant:inscritos:remanescentes"
+    dataType: "integer"
+    aggregation: "max"
+    description: "Quantidade máxima de inscritos remanescentes nos cursos vespertinos"
+    tags:
+        - "superior"
+        - "curso"
+        - "max"
+-
+    name: "met:min:es:curso:vespertino:quant:inscritos:remanescentes"
+    dataType: "integer"
+    aggregation: "min"
+    description: "Quantidade mínima de inscritos remanescentes nos cursos vespertinos"
+    tags:
+        - "superior"
+        - "curso"
+        - "min"
+-
+    name: "met:sum:es:curso:noturno:quant:inscritos:remanescentes"
+    dataType: "integer"
+    aggregation: "sum"
+    description: "Soma da quantidade de inscritos remanescentes nos cursos noturnos" 
+    tags:
+        - "superior"
+        - "curso"
+        - "sum"
+-
+    name: "met:avg:es:curso:noturno:quant:inscritos:remanescentes"
+    dataType: "integer"
+    aggregation: "avg"
+    description: "Quantidade média de inscritos remanescentes nos cursos noturnos"
+    tags:
+        - "superior"
+        - "curso"
+        - "avg"
+-
+    name: "met:max:es:curso:noturno:quant:inscritos:remanescentes"
+    dataType: "integer"
+    aggregation: "max"
+    description: "Quantidade máxima de inscritos remanescentes nos cursos noturnos"
+    tags:
+        - "superior"
+        - "curso"
+        - "max"
+-
+    name: "met:min:es:curso:noturno:quant:inscritos:remanescentes"
+    dataType: "integer"
+    aggregation: "min"
+    description: "Quantidade mínima de inscritos remanescentes nos cursos noturnos"
+    tags:
+        - "superior"
+        - "curso"
+        - "min"
+-
+    name: "met:sum:es:curso:ead:quant:inscritos:remanescentes"
+    dataType: "integer"
+    aggregation: "sum"
+    description: "Soma da quantidade de inscritos remanescentes nos cursos ead"
+    tags:
+        - "superior"
+        - "curso"
+        - "sum"
+-
+    name: "met:avg:es:curso:ead:quant:inscritos:remanescentes"
+    dataType: "integer"
+    aggregation: "avg"
+    description: "Quantidade média de inscritos remanescentes nos cursos ead"
+    tags:
+        - "superior"
+        - "curso"
+        - "avg"
+-
+    name: "met:max:es:curso:ead:quant:inscritos:remanescentes"
+    dataType: "integer"
+    aggregation: "max"
+    description: "Quantidade máxima de inscritos remanescentes nos cursos ead"
+    tags:
+        - "superior"
+        - "curso"
+        - "max"
+-
+    name: "met:min:es:curso:ead:quant:inscritos:remanescentes"
+    dataType: "integer"
+    aggregation: "min"
+    description: "Quantidade mínima de inscritos remanescentes nos cursos ead"
+    tags:
+        - "superior"
+        - "curso"
+        - "min"
+-
+    name: "met:sum:es:curso:integral:quant:inscritos:programa:especial"
+    dataType: "integer"
+    aggregation: "sum"
+    description: "Soma da quantidade de inscritos por programa especial nos cursos integrais" 
+    tags:
+        - "superior"
+        - "curso"
+        - "sum"
+-
+    name: "met:avg:es:curso:integral:quant:inscritos:programa:especial"
+    dataType: "integer"
+    aggregation: "avg"
+    description: "Quantidade média de inscritos pelo programa especial nos cursos integrais"
+    tags:
+        - "superior"
+        - "curso"
+        - "avg"
+-
+    name: "met:max:es:curso:integral:quant:inscritos:programa:especial"
+    dataType: "integer"
+    aggregation: "max"
+    description: "Quantidade máxima de inscritos pelo programa especial nos cursos integrais"
+    tags:
+        - "superior"
+        - "curso"
+        - "max"
+-
+    name: "met:min:es:curso:integral:quant:inscritos:programa:especial"
+    dataType: "integer"
+    aggregation: "min"
+    description: "Quantidade mínima de inscritos pelo programa especial nos cursos integrais"
+    tags:
+        - "superior"
+        - "curso"
+        - "min"
+-
+    name: "met:sum:es:curso:matutino:quant:inscritos:programa:especial"
+    dataType: "integer"
+    aggregation: "sum"
+    description: "Soma da quantidade de inscritos por programa especial nos cursos matutinos"
+    tags:
+        - "superior"
+        - "curso"
+        - "sum"
+-
+    name: "met:avg:es:curso:matutino:quant:inscritos:programa:especial"
+    dataType: "integer"
+    aggregation: "avg"
+    description: "Quantidade média de inscritos pelo programa especial nos cursos matutinos"
+    tags:
+        - "superior"
+        - "curso"
+        - "avg"
+-
+    name: "met:max:es:curso:matutino:quant:inscritos:programa:especial"
+    dataType: "integer"
+    aggregation: "max"
+    description: "Quantidade máxima de inscritos pelo programa especial nos cursos matutinos"
+    tags:
+        - "superior"
+        - "curso"
+        - "max"
+-
+    name: "met:min:es:curso:matutino:quant:inscritos:programa:especial"
+    dataType: "integer"
+    aggregation: "min"
+    description: "Quantidade mínima de inscritos pelo programa especial nos cursos matutinos"
+    tags:
+        - "superior"
+        - "curso"
+        - "min"
+-
+    name: "met:sum:es:curso:vespertino:quant:inscritos:programa:especial"
+    dataType: "integer"
+    aggregation: "sum"
+    description: "Soma da quantidade de inscritos por programa especial nos cursos vespertinos"
+    tags:
+        - "superior"
+        - "curso"
+        - "sum"
+-
+    name: "met:avg:es:curso:vespertino:quant:inscritos:programa:especial"
+    dataType: "integer"
+    aggregation: "avg"
+    description: "Quantidade média de inscritos pelo programa especial nos cursos vespertinos"
+    tags:
+        - "superior"
+        - "curso"
+        - "avg"
+-
+    name: "met:max:es:curso:vespertino:quant:inscritos:programa:especial"
+    dataType: "integer"
+    aggregation: "max"
+    description: "Quantidade máxima de inscritos pelo programa especial nos cursos vespertinos"
+    tags:
+        - "superior"
+        - "curso"
+        - "max"
+-
+    name: "met:min:es:curso:vespertino:quant:inscritos:programa:especial"
+    dataType: "integer"
+    aggregation: "min"
+    description: "Quantidade mínima de inscritos pelo programa especial nos cursos vespertinos"
+    tags:
+        - "superior"
+        - "curso"
+        - "min"
+-
+    name: "met:sum:es:curso:noturno:quant:inscritos:programa:especial"
+    dataType: "integer"
+    aggregation: "sum"
+    description: "Soma da quantidade de inscritos por programa especial nos cursos noturnos"
+    tags:
+        - "superior"
+        - "curso"
+        - "sum"
+-
+    name: "met:avg:es:curso:noturno:quant:inscritos:programa:especial"
+    dataType: "integer"
+    aggregation: "avg"
+    description: "Quantidade média de inscritos pelo programa especial nos cursos noturnos"
+    tags:
+        - "superior"
+        - "curso"
+        - "avg"
+-
+    name: "met:max:es:curso:noturno:quant:inscritos:programa:especial"
+    dataType: "integer"
+    aggregation: "max"
+    description: "Quantidade máxima de inscritos pelo programa especial nos cursos noturnos"
+    tags:
+        - "superior"
+        - "curso"
+        - "max"
+-
+    name: "met:min:es:curso:noturno:quant:inscritos:programa:especial"
+    dataType: "integer"
+    aggregation: "min"
+    description: "Quantidade mínima de inscritos pelo programa especial nos cursos noturnos"
+    tags:
+        - "superior"
+        - "curso"
+        - "min"
+-
+    name: "met:sum:es:curso:ead:quant:inscritos:programa:especial"
+    dataType: "integer"
+    aggregation: "sum"
+    description: "Soma da quantidade de inscritos por programa especial nos cursos ead"
+    tags:
+        - "superior"
+        - "curso"
+        - "sum"
+-
+    name: "met:avg:es:curso:ead:quant:inscritos:programa:especial"
+    dataType: "integer"
+    aggregation: "avg"
+    description: "Quantidade média de inscritos pelo programa especial nos cursos ead"
+    tags:
+        - "superior"
+        - "curso"
+        - "avg"
+-
+    name: "met:max:es:curso:ead:quant:inscritos:programa:especial"
+    dataType: "integer"
+    aggregation: "max"
+    description: "Quantidade máxima de inscritos pelo programa especial nos cursos ead"
+    tags:
+        - "superior"
+        - "curso"
+        - "max"
+-
+    name: "met:min:es:curso:ead:quant:inscritos:programa:especial"
+    dataType: "integer"
+    aggregation: "min"
+    description: "Quantidade mínima de inscritos pelo programa especial nos cursos ead"
+    tags:
+        - "superior"
+        - "curso"
+        - "min"
+-
+    name: "met:sum:es:curso:integral:quant:vagas:novas"
+    dataType: "integer"
+    aggregation: "sum"
+    description: "Soma da quantidade de vagas novas nos cursos integrais"
+    tags:
+        - "superior"
+        - "curso"
+        - "sum"
+-
+    name: "met:avg:es:curso:integral:quant:vagas:novas"
+    dataType: "integer"
+    aggregation: "avg"
+    description: "Quantidade média de vagas novas nos cursos integrais"
+    tags:
+        - "superior"
+        - "curso"
+        - "avg"
+-
+    name: "met:max:es:curso:integral:quant:vagas:novas"
+    dataType: "integer"
+    aggregation: "max"
+    description: "Quantidade máxima de vagas novas nos cursos integrais"
+    tags:
+        - "superior"
+        - "curso"
+        - "max"
+-
+    name: "met:min:es:curso:integral:quant:vagas:novas"
+    dataType: "integer"
+    aggregation: "min"
+    description: "Quantidade mínima de vagas novas nos cursos integrais"
+    tags:
+        - "superior"
+        - "curso"
+        - "min"
+-
+    name: "met:sum:es:curso:matutino:quant:vagas:novas"
+    dataType: "integer"
+    aggregation: "sum"
+    description: "Soma da quantidade de vagas novas nos cursos matutino"
+    tags:
+        - "superior"
+        - "curso"
+        - "sum"
+-
+    name: "met:avg:es:curso:matutino:quant:vagas:novas"
+    dataType: "integer"
+    aggregation: "avg"
+    description: "Quantidade média de outras vagas nos cursos matutinos"
+    tags:
+        - "superior"
+        - "curso"
+        - "avg"
+-
+    name: "met:max:es:curso:matutino:quant:vagas:novas"
+    dataType: "integer"
+    aggregation: "max"
+    description: "Quantidade máxima de vagas novas nos cursos matutinos"
+    tags:
+        - "superior"
+        - "curso"
+        - "max"
+-
+    name: "met:min:es:curso:matutino:quant:vagas:novas"
+    dataType: "integer"
+    aggregation: "min"
+    description: "Quantidade mínima de vagas novas nos cursos matutinos"
+    tags:
+        - "superior"
+        - "curso"
+        - "min"
+-
+    name: "met:sum:es:curso:vespertino:quant:vagas:novas"
+    dataType: "integer"
+    aggregation: "sum"
+    description: "Soma da quantidade de vagas novas nos cursos vespertinos"
+    tags:
+        - "superior"
+        - "curso"
+        - "sum"
+-
+    name: "met:avg:es:curso:vespertino:quant:vagas:novas"
+    dataType: "integer"
+    aggregation: "avg"
+    description: "Quantidade média de vagas novas nos cursos vespertinos"
+    tags:
+        - "superior"
+        - "curso"
+        - "avg"
+-
+    name: "met:max:es:curso:vespertino:quant:vagas:novas"
+    dataType: "integer"
+    aggregation: "max"
+    description: "Quantidade máxima de vagas novas nos cursos vespertinos"
+    tags:
+        - "superior"
+        - "curso"
+        - "max"
+-
+    name: "met:min:es:curso:vespertino:quant:vagas:novas"
+    dataType: "integer"
+    aggregation: "min"
+    description: "Quantidade mínima de vagas novas nos cursos vespertinos"
+    tags:
+        - "superior"
+        - "curso"
+        - "min"
+-
+    name: "met:sum:es:curso:noturno:quant:vagas:novas"
+    dataType: "integer"
+    aggregation: "sum"
+    description: "Soma da quantidade de vagas novas nos cursos noturnos"
+    tags:
+        - "superior"
+        - "curso"
+        - "sum"
+-
+    name: "met:avg:es:curso:noturno:quant:vagas:novas"
+    dataType: "integer"
+    aggregation: "avg"
+    description: "Quantidade média de vagas novas nos cursos noturnos"
+    tags:
+        - "superior"
+        - "curso"
+        - "avg"
+-
+    name: "met:max:es:curso:noturno:quant:vagas:novas"
+    dataType: "integer"
+    aggregation: "max"
+    description: "Quantidade máxima de vagas novas nos cursos noturnos"
+    tags:
+        - "superior"
+        - "curso"
+        - "max"
+-
+    name: "met:min:es:curso:noturno:quant:vagas:novas"
+    dataType: "integer"
+    aggregation: "min"
+    description: "Quantidade mínima de vagas novas nos cursos noturnos"
+    tags:
+        - "superior"
+        - "curso"
+        - "min"
+-
+    name: "met:sum:es:curso:ead:quant:vagas:novas"
+    dataType: "integer"
+    aggregation: "sum"
+    description: "Soma da quantidade de vagas novas nos cursos ead"
+    tags:
+        - "superior"
+        - "curso"
+        - "sum"
+-
+    name: "met:avg:es:curso:ead:quant:vagas:novas"
+    dataType: "integer"
+    aggregation: "avg"
+    description: "Quantidade média de vagas novas nos cursos ead"
+    tags:
+        - "superior"
+        - "curso"
+        - "avg"
+-
+    name: "met:max:es:curso:ead:quant:vagas:novas"
+    dataType: "integer"
+    aggregation: "max"
+    description: "Quantidade máxima de vagas novas nos cursos ead"
+    tags:
+        - "superior"
+        - "curso"
+        - "max"
+-
+    name: "met:min:es:curso:ead:quant:vagas:novas"
+    dataType: "integer"
+    aggregation: "min"
+    description: "Quantidade mínima de vagas novas nos cursos ead"
+    tags:
+        - "superior"
+        - "curso"
+        - "min"
+-
+    name: "met:sum:es:curso:integral:quant:vagas:remanescentes"
+    dataType: "integer"
+    aggregation: "sum"
+    description: "Soma da quantidade de vagas remanescentes nos cursos integrais"
+    tags:
+        - "superior"
+        - "curso"
+        - "sum"
+-
+    name: "met:avg:es:curso:integral:quant:vagas:remanescentes"
+    dataType: "integer"
+    aggregation: "avg"
+    description: "Quantidade média de vagas remanescentes nos cursos integrais"
+    tags:
+        - "superior"
+        - "curso"
+        - "avg"
+-
+    name: "met:max:es:curso:integral:quant:vagas:remanescentes"
+    dataType: "integer"
+    aggregation: "max"
+    description: "Quantidade máxima de vagas remanescentes nos cursos integrais"
+    tags:
+        - "superior"
+        - "curso"
+        - "max"
+-
+    name: "met:min:es:curso:integral:quant:vagas:remanescentes"
+    dataType: "integer"
+    aggregation: "min"
+    description: "Quantidade mínima de vagas remanescentes nos cursos integrais"
+    tags:
+        - "superior"
+        - "curso"
+        - "min"
+-
+    name: "met:sum:es:curso:matutino:quant:vagas:remanescentes"
+    dataType: "integer"
+    aggregation: "sum"
+    description: "Soma da quantidade de vagas remanescentes nos cursos matutinos"
+    tags:
+        - "superior"
+        - "curso"
+        - "sum"
+-
+    name: "met:avg:es:curso:matutino:quant:vagas:remanescentes"
+    dataType: "integer"
+    aggregation: "avg"
+    description: "Quantidade média de vagas remanescentes nos cursos matutinos"
+    tags:
+        - "superior"
+        - "curso"
+        - "avg"
+-
+    name: "met:max:es:curso:matutino:quant:vagas:remanescentes"
+    dataType: "integer"
+    aggregation: "max"
+    description: "Quantidade máxima de vagas remanescentes nos cursos matutinos"
+    tags:
+        - "superior"
+        - "curso"
+        - "max"
+-
+    name: "met:min:es:curso:matutino:quant:vagas:remanescentes"
+    dataType: "integer"
+    aggregation: "min"
+    description: "Quantidade mínima de vagas remanescentes nos cursos matutinos"
+    tags:
+        - "superior"
+        - "curso"
+        - "min"
+-
+    name: "met:sum:es:curso:vespertino:quant:vagas:remanescentes"
+    dataType: "integer"
+    aggregation: "sum"
+    description: "Soma da quantidade de vagas remanescentes nos cursos vespertinos"
+    tags:
+        - "superior"
+        - "curso"
+        - "sum"
+-
+    name: "met:avg:es:curso:vespertino:quant:vagas:remanescentes"
+    dataType: "integer"
+    aggregation: "avg"
+    description: "Quantidade média de vagas remanescentes nos cursos vespertinos"
+    tags:
+        - "superior"
+        - "curso"
+        - "avg"
+-
+    name: "met:max:es:curso:vespertino:quant:vagas:remanescentes"
+    dataType: "integer"
+    aggregation: "max"
+    description: "Quantidade máxima de vagas remanescentes nos cursos vespertinos"
+    tags:
+        - "superior"
+        - "curso"
+        - "max"
+-
+    name: "met:min:es:curso:vespertino:quant:vagas:remanescentes"
+    dataType: "integer"
+    aggregation: "min"
+    description: "Quantidade mínima de vagas remanescentes nos cursos vespertinos"
+    tags:
+        - "superior"
+        - "curso"
+        - "min"
+-
+    name: "met:sum:es:curso:noturno:quant:vagas:remanescentes"
+    dataType: "integer"
+    aggregation: "sum"
+    description: "Soma da quantidade de vagas remanescentes nos cursos noturnos"
+    tags:
+        - "superior"
+        - "curso"
+        - "sum"
+-
+    name: "met:avg:es:curso:noturno:quant:vagas:remanescentes"
+    dataType: "integer"
+    aggregation: "avg"
+    description: "Quantidade média de vagas remanescentes nos cursos noturnos"
+    tags:
+        - "superior"
+        - "curso"
+        - "avg"
+-
+    name: "met:max:es:curso:noturno:quant:vagas:remanescentes"
+    dataType: "integer"
+    aggregation: "max"
+    description: "Quantidade máxima de vagas remanescentes nos cursos noturnos"
+    tags:
+        - "superior"
+        - "curso"
+        - "max"
+-
+    name: "met:min:es:curso:noturno:quant:vagas:remanescentes"
+    dataType: "integer"
+    aggregation: "min"
+    description: "Quantidade mínima de vagas remanescentes nos cursos noturnos"
+    tags:
+        - "superior"
+        - "curso"
+        - "min"
+-
+    name: "met:sum:es:curso:ead:quant:vagas:remanescentes"
+    dataType: "integer"
+    aggregation: "sum"
+    description: "Soma da quantidade de vagas remanescentes nos cursos ead"
+    tags:
+        - "superior"
+        - "curso"
+        - "sum"
+-
+    name: "met:avg:es:curso:ead:quant:vagas:remanescentes"
+    dataType: "integer"
+    aggregation: "avg"
+    description: "Quantidade média de vagas remanescentes nos cursos ead"
+    tags:
+        - "superior"
+        - "curso"
+        - "avg"
+-
+    name: "met:max:es:curso:ead:quant:vagas:remanescentes"
+    dataType: "integer"
+    aggregation: "max"
+    description: "Quantidade máxima de vagas remanescentes nos cursos ead"
+    tags:
+        - "superior"
+        - "curso"
+        - "max"
+-
+    name: "met:min:es:curso:ead:quant:vagas:remanescentes"
+    dataType: "integer"
+    aggregation: "min"
+    description: "Quantidade mínima de vagas remanescentes nos cursos ead"
+    tags:
+        - "superior"
+        - "curso"
+        - "min"
+-
+    name: "met:sum:es:curso:integral:quant:vagas:programa:especial"
+    dataType: "integer"
+    aggregation: "sum"
+    description: "Soma da quantidade de vagas por programa especial nos cursos integrais"
+    tags:
+        - "superior"
+        - "curso"
+        - "sum"
+-
+    name: "met:avg:es:curso:integral:quant:vagas:programa:especial"
+    dataType: "integer"
+    aggregation: "avg"
+    description: "Quantidade média de vagas pelo programa especial nos cursos integrais"
+    tags:
+        - "superior"
+        - "curso"
+        - "avg"
+-
+    name: "met:max:es:curso:integral:quant:vagas:programa:especial"
+    dataType: "integer"
+    aggregation: "max"
+    description: "Quantidade máxima de vagas pelo programa especial nos cursos integrais"
+    tags:
+        - "superior"
+        - "curso"
+        - "max"
+-
+    name: "met:min:es:curso:integral:quant:vagas:programa:especial"
+    dataType: "integer"
+    aggregation: "min"
+    description: "Quantidade mínima de vagas pelo programa especial nos cursos integrais"
+    tags:
+        - "superior"
+        - "curso"
+        - "min"
+-
+    name: "met:sum:es:curso:matutino:quant:vagas:programa:especial"
+    dataType: "integer"
+    aggregation: "sum"
+    description: "Soma da quantidade de vagas por programa especial nos cursos matutinos" 
+    tags:
+        - "superior"
+        - "curso"
+        - "sum"
+-
+    name: "met:avg:es:curso:matutino:quant:vagas:programa:especial"
+    dataType: "integer"
+    aggregation: "avg"
+    description: "Quantidade média de vagas pelo programa especial nos cursos matutinos"
+    tags:
+        - "superior"
+        - "curso"
+        - "avg"
+-
+    name: "met:max:es:curso:matutino:quant:vagas:programa:especial"
+    dataType: "integer"
+    aggregation: "max"
+    description: "Quantidade máxima de vagas pelo programa especial nos cursos matutinos"
+    tags:
+        - "superior"
+        - "curso"
+        - "max"
+-
+    name: "met:min:es:curso:matutino:quant:vagas:programa:especial"
+    dataType: "integer"
+    aggregation: "min"
+    description: "Quantidade mínima de vagas pelo programa especial nos cursos matutinos"
+    tags:
+        - "superior"
+        - "curso"
+        - "min"
+-
+    name: "met:sum:es:curso:vespertino:quant:vagas:programa:especial"
+    dataType: "integer"
+    aggregation: "sum"
+    description: "Soma da quantidade de vagas por programa especial nos cursos vespertinos" 
+    tags:
+        - "superior"
+        - "curso"
+        - "sum"
+-
+    name: "met:avg:es:curso:vespertino:quant:vagas:programa:especial"
+    dataType: "integer"
+    aggregation: "avg"
+    description: "Quantidade média de vagas pelo programa especial nos cursos vespertinos"
+    tags:
+        - "superior"
+        - "curso"
+        - "avg"
+-
+    name: "met:max:es:curso:vespertino:quant:vagas:programa:especial"
+    dataType: "integer"
+    aggregation: "max"
+    description: "Quantidade máxima de vagas pelo programa especial nos cursos vespertinos"
+    tags:
+        - "superior"
+        - "curso"
+        - "max"
+-
+    name: "met:min:es:curso:vespertino:quant:vagas:programa:especial"
+    dataType: "integer"
+    aggregation: "min"
+    description: "Quantidade mínima de vagas pelo programa especial nos cursos vespertinos"
+    tags:
+        - "superior"
+        - "curso"
+        - "min"
+-
+    name: "met:sum:es:curso:noturno:quant:vagas:programa:especial"
+    dataType: "integer"
+    aggregation: "sum"
+    description: "Soma da quantidade de vagas por programa especial nos cursos noturnos" 
+    tags:
+        - "superior"
+        - "curso"
+        - "sum"
+-
+    name: "met:avg:es:curso:noturno:quant:vagas:programa:especial"
+    dataType: "integer"
+    aggregation: "avg"
+    description: "Quantidade média de vagas pelo programa especial nos cursos noturnos"
+    tags:
+        - "superior"
+        - "curso"
+        - "avg"
+-
+    name: "met:max:es:curso:noturno:quant:vagas:programa:especial"
+    dataType: "integer"
+    aggregation: "max"
+    description: "Quantidade máxima de vagas pelo programa especial nos cursos noturnos"
+    tags:
+        - "superior"
+        - "curso"
+        - "max"
+-
+    name: "met:min:es:curso:noturno:quant:vagas:programa:especial"
+    dataType: "integer"
+    aggregation: "min"
+    description: "Quantidade mínima de vagas pelo programa especial nos cursos noturnos"
+    tags:
+        - "superior"
+        - "curso"
+        - "min"
+-
+    name: "met:sum:es:curso:ead:quant:vagas:programa:especial"
+    dataType: "integer"
+    aggregation: "sum"
+    description: "Soma da quantidade de vagas por programa especial nos cursos ead"
+    tags:
+        - "superior"
+        - "curso"
+        - "sum"
+-
+    name: "met:avg:es:curso:ead:quant:vagas:programa:especial"
+    dataType: "integer"
+    aggregation: "avg"
+    description: "Quantidade média de vagas pelo programa especial nos cursos ead"
+    tags:
+        - "superior"
+        - "curso"
+        - "avg"
+-
+    name: "met:max:es:curso:ead:quant:vagas:programa:especial"
+    dataType: "integer"
+    aggregation: "max"
+    description: "Quantidade máxima de vagas pelo programa especial nos cursos ead"
+    tags:
+        - "superior"
+        - "curso"
+        - "max"
+-
+    name: "met:min:es:curso:ead:quant:vagas:programa:especial"
+    dataType: "integer"
+    aggregation: "min"
+    description: "Quantidade mínima de vagas pelo programa especial nos cursos ead"
+    tags:
+        - "superior"
+        - "curso"
+        - "min"
+-
+    name: "met:sum:es:curso:quant:vagas:novas"
+    dataType: "integer"
+    aggregation: "sum"
+    description: "Soma da quantidade de vagas novas nos cursos"
+    tags:
+        - "superior"
+        - "curso"
+        - "sum"
+-
+    name: "met:avg:es:curso:quant:vagas:novas"
+    dataType: "integer"
+    aggregation: "avg"
+    description: "Quantidade média de vagas novas nos cursos"
+    tags:
+        - "superior"
+        - "curso"
+        - "avg"
+-
+    name: "met:max:es:curso:quant:vagas:novas"
+    dataType: "integer"
+    aggregation: "max"
+    description: "Quantidade máxima de vagas novas nos cursos"
+    tags:
+        - "superior"
+        - "curso"
+        - "max"
+-
+    name: "met:min:es:curso:quant:vagas:novas"
+    dataType: "integer"
+    aggregation: "min"
+    description: "Quantidade mínima de vagas novas nos cursos"
+    tags:
+        - "superior"
+        - "curso"
+        - "min"
+-
+    name: "met:sum:es:curso:quant:vagas:totais"
+    dataType: "integer"
+    aggregation: "sum"
+    description: "Soma da quantidade de vagas totais nos cursos"
+    tags:
+        - "superior"
+        - "curso"
+        - "sum"
+-
+    name: "met:avg:es:curso:quant:vagas:totais"
+    dataType: "integer"
+    aggregation: "avg"
+    description: "Quantidade média de vagas totais nos cursos"
+    tags:
+        - "superior"
+        - "curso"
+        - "avg"
+-
+    name: "met:max:es:curso:quant:vagas:totais"
+    dataType: "integer"
+    aggregation: "max"
+    description: "Quantidade máxima de vagas totais nos cursos"
+    tags:
+        - "superior"
+        - "curso"
+        - "max"
+-
+    name: "met:min:es:curso:quant:vagas:totais"
+    dataType: "integer"
+    aggregation: "min"
+    description: "Quantidade mínima de vagas totais nos cursos"
+    tags:
+        - "superior"
+        - "curso"
+        - "min"
diff --git a/config/parse/met_es_docente.yaml b/config/parse/met_es_docente.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..49fb33939791569f7ab657e325e09a695825bfaf
--- /dev/null
+++ b/config/parse/met_es_docente.yaml
@@ -0,0 +1,54 @@
+-
+    name: "met:count:es:docente:id"
+    dataType: "integer"
+    aggregation: "count"
+    description: "Quantidade de docentes do ensino superior"
+    tags:
+        - "superior"
+        - "docente"
+        - "count"
+-
+    name: "met:min:es:docente:nascimento:ano"
+    dataType: "integer"
+    aggregation: "min"
+    description: "Ano mínimo de nascimento dos docentes do ensino superior"
+    tags:
+        - "superior"
+        - "docente"
+        - "min"
+-
+    name: "met:max:es:docente:nascimento:ano"
+    dataType: "integer"
+    aggregation: "max"
+    description: "Ano máximo de nascimento dos docentes do ensino superior"
+    tags:
+        - "superior"
+        - "docente"
+        - "max"
+-
+    name: "met:avg:es:docente:idade"
+    dataType: "integer"
+    aggregation: "avg"
+    description: "Idade média dos docentes do ensino superior"
+    tags:
+        - "superior"
+        - "docente"
+        - "avg"
+-
+    name: "met:min:es:docente:idade"
+    dataType: "integer"
+    aggregation: "min"
+    description: "Idade mínima dos docentes do ensino superior"
+    tags:
+        - "superior"
+        - "docente"
+        - "min"
+-
+    name: "met:max:es:docente:idade"
+    dataType: "integer"
+    aggregation: "max"
+    description: "Idade máxima dos docentes do ensino superior"
+    tags:
+        - "superior"
+        - "docente"
+        - "max"
diff --git a/config/parse/met_es_instituicao.yaml b/config/parse/met_es_instituicao.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..cd36fe25b4cec23d02dc7a6cabc9601a93ab32e6
--- /dev/null
+++ b/config/parse/met_es_instituicao.yaml
@@ -0,0 +1,987 @@
+-
+    name: "met:count:es:instituicao:id"
+    dataType: "integer"
+    aggregation: "count"
+    description: "Quantidade de instituições do ensino superior"
+    tags:
+        - "superior"
+        - "instituicao"
+        - "count"
+-
+    name: "met:sum:es:instituicao:quant:func"
+    dataType: "integer"
+    aggregation: "sum"
+    description: "Soma da quantidade de funcionários"
+    tags:
+        - "superior"
+        - "instituicao"
+        - "sum"
+-
+    name: "met:avg:es:instituicao:quant:func"
+    dataType: "integer"
+    aggregation: "avg"
+    description: "Quantidade média de funcionários"
+    tags:
+        - "superior"
+        - "instituicao"
+        - "avg"
+-
+    name: "met:max:es:instituicao:quant:func"
+    dataType: "integer"
+    aggregation: "max"
+    description: "Quantidade máxima de funcionários"
+    tags:
+        - "superior"
+        - "instituicao"
+        - "max"
+-
+    name: "met:min:es:instituicao:quant:func"
+    dataType: "integer"
+    aggregation: "min"
+    description: "Quantidade mínima de funcionários"
+    tags:
+        - "superior"
+        - "instituicao"
+        - "min"
+-
+    name: "met:sum:es:instituicao:quant:func:masc:fundamental:incompleto"
+    dataType: "integer"
+    aggregation: "sum"
+    description: "Soma da quantidade de funcionários masculinos com fundamental incompleto"
+    tags:
+        - "superior"
+        - "instituicao"
+        - "sum"
+-
+    name: "met:avg:es:instituicao:quant:func:masc:fundamental:incompleto"
+    dataType: "integer"
+    aggregation: "avg"
+    description: "Quantidade média de funcionários masculinos com fundamental incompleto"
+    tags:
+        - "superior"
+        - "instituicao"
+        - "avg"
+-
+    name: "met:max:es:instituicao:quant:func:masc:fundamental:incompleto"
+    dataType: "integer"
+    aggregation: "max"
+    description: "Quantidade máxima de funcionários masculinos com fundamental incompleto"
+    tags:
+        - "superior"
+        - "instituicao"
+        - "max"
+-
+    name: "met:min:es:instituicao:quant:func:masc:fundamental:incompleto"
+    dataType: "integer"
+    aggregation: "min"
+    description: "Quantidade mínima de funcionários masculinos com fundamental incompleto"
+    tags:
+        - "superior"
+        - "instituicao"
+        - "min"
+-
+    name: "met:sum:es:instituicao:quant:func:fem:fundamental:incompleto"
+    dataType: "integer"
+    aggregation: "sum"
+    description: "Soma da quantidade de funcionários femininos com fundamental incompleto"
+    tags:
+        - "superior"
+        - "instituicao"
+        - "sum"
+-
+    name: "met:avg:es:instituicao:quant:func:fem:fundamental:incompleto"
+    dataType: "integer"
+    aggregation: "avg"
+    description: "Quantidade média de funcionários femininos com fundamental incompleto"
+    tags:
+        - "superior"
+        - "instituicao"
+        - "avg"
+-
+    name: "met:max:es:instituicao:quant:func:fem:fundamental:incompleto"
+    dataType: "integer"
+    aggregation: "max"
+    description: "Quantidade máxima de funcionários femininos com fundamental incompleto"
+    tags:
+        - "superior"
+        - "instituicao"
+        - "max"
+-
+    name: "met:min:es:instituicao:quant:func:fem:fundamental:incompleto"
+    dataType: "integer"
+    aggregation: "min"
+    description: "Quantidade mínima de funcionários femininos com fundamental incompleto"
+    tags:
+        - "superior"
+        - "instituicao"
+        - "min"
+-
+    name: "met:sum:es:instituicao:quant:func:masc:fundamental:completo"
+    dataType: "integer"
+    aggregation: "sum"
+    description: "Soma da quantidade de funcionários masculinos com fundamental completo"
+    tags:
+        - "superior"
+        - "instituicao"
+        - "sum"
+-
+    name: "met:avg:es:instituicao:quant:func:masc:fundamental:completo"
+    dataType: "integer"
+    aggregation: "avg"
+    description: "Quantidade média de funcionários masculinos com fundamental completo"
+    tags:
+        - "superior"
+        - "instituicao"
+        - "avg"
+-
+    name: "met:max:es:instituicao:quant:func:masc:fundamental:completo"
+    dataType: "integer"
+    aggregation: "max"
+    description: "Quantidade máxima de funcionários masculinos com fundamental completo"
+    tags:
+        - "superior"
+        - "instituicao"
+        - "max"
+-
+    name: "met:min:es:instituicao:quant:func:masc:fundamental:completo"
+    dataType: "integer"
+    aggregation: "min"
+    description: "Quantidade mínima de funcionários masculinos com fundamental completo"
+    tags:
+        - "superior"
+        - "instituicao"
+        - "min"
+-
+    name: "met:sum:es:instituicao:quant:func:fem:fundamental:completo"
+    dataType: "integer"
+    aggregation: "sum"
+    description: "Soma da quantidade de funcionários femininos com fundamental completo"
+    tags:
+        - "superior"
+        - "instituicao"
+        - "sum"
+-
+    name: "met:avg:es:instituicao:quant:func:fem:fundamental:completo"
+    dataType: "integer"
+    aggregation: "avg"
+    description: "Quantidade média de funcionários femininos com fundamental completo"
+    tags:
+        - "superior"
+        - "instituicao"
+        - "avg"
+-
+    name: "met:max:es:instituicao:quant:func:fem:fundamental:completo"
+    dataType: "integer"
+    aggregation: "max"
+    description: "Quantidade máxima de funcionários femininos com fundamental completo"
+    tags:
+        - "superior"
+        - "instituicao"
+        - "max"
+-
+    name: "met:min:es:instituicao:quant:func:fem:fundamental:completo"
+    dataType: "integer"
+    aggregation: "min"
+    description: "Quantidade mínima de funcionários femininos com fundamental completo"
+    tags:
+        - "superior"
+        - "instituicao"
+        - "min"
+-
+    name: "met:sum:es:instituicao:quant:func:masc:ensino:medio"
+    dataType: "integer"
+    aggregation: "sum"
+    description: "Soma da quantidade de funcionários masculinos com ensino médio"
+    tags:
+        - "superior"
+        - "instituicao"
+        - "sum"
+-
+    name: "met:avg:es:instituicao:quant:func:masc:ensino:medio"
+    dataType: "integer"
+    aggregation: "avg"
+    description: "Quantidade média de funcionários masculinos com ensino médio"
+    tags:
+        - "superior"
+        - "instituicao"
+        - "avg"
+-
+    name: "met:max:es:instituicao:quant:func:masc:ensino:medio"
+    dataType: "integer"
+    aggregation: "max"
+    description: "Quantidade máxima de funcionários masculinos com ensino médio"
+    tags:
+        - "superior"
+        - "instituicao"
+        - "max"
+-
+    name: "met:min:es:instituicao:quant:func:masc:ensino:medio"
+    dataType: "integer"
+    aggregation: "min"
+    description: "Quantidade mínima de funcionários masculinos com ensino médio"
+    tags:
+        - "superior"
+        - "instituicao"
+        - "min"
+-
+    name: "met:sum:es:instituicao:quant:func:fem:ensino:medio"
+    dataType: "integer"
+    aggregation: "sum"
+    description: "Soma da quantidade de funcionários femininos com ensino médio"
+    tags:
+        - "superior"
+        - "instituicao"
+        - "sum"
+-
+    name: "met:avg:es:instituicao:quant:func:fem:ensino:medio"
+    dataType: "integer"
+    aggregation: "avg"
+    description: "Quantidade média de funcionários femininos com ensino médio"
+    tags:
+        - "superior"
+        - "instituicao"
+        - "avg"
+-
+    name: "met:max:es:instituicao:quant:func:fem:ensino:medio"
+    dataType: "integer"
+    aggregation: "max"
+    description: "Quantidade máxima de funcionários femininos com ensino médio"
+    tags:
+        - "superior"
+        - "instituicao"
+        - "max"
+-
+    name: "met:min:es:instituicao:quant:func:fem:ensino:medio"
+    dataType: "integer"
+    aggregation: "min"
+    description: "Quantidade mínima de funcionários femininos com ensino médio"
+    tags:
+        - "superior"
+        - "instituicao"
+        - "min"
+-
+    name: "met:sum:es:instituicao:quant:func:masc:ensino:superior"
+    dataType: "integer"
+    aggregation: "sum"
+    description: "Soma da quantidade de funcionários masculinos com ensino superior"
+    tags:
+        - "superior"
+        - "instituicao"
+        - "sum"
+-
+    name: "met:avg:es:instituicao:quant:func:masc:ensino:superior"
+    dataType: "integer"
+    aggregation: "avg"
+    description: "Quantidade média de funcionários masculinos com ensino superior"
+    tags:
+        - "superior"
+        - "instituicao"
+        - "avg"
+-
+    name: "met:max:es:instituicao:quant:func:masc:ensino:superior"
+    dataType: "integer"
+    aggregation: "max"
+    description: "Quantidade máxima de funcionários masculinos com ensino superior"
+    tags:
+        - "superior"
+        - "instituicao"
+        - "max"
+-
+    name: "met:min:es:instituicao:quant:func:masc:ensino:superior"
+    dataType: "integer"
+    aggregation: "min"
+    description: "Quantidade mínima de funcionários masculinos com ensino superior"
+    tags:
+        - "superior"
+        - "instituicao"
+        - "min"
+-
+    name: "met:sum:es:instituicao:quant:func:fem:ensino:superior"
+    dataType: "integer"
+    aggregation: "sum"
+    description: "Soma da quantidade de funcionários femininos com ensino superior"
+    tags:
+        - "superior"
+        - "instituicao"
+        - "sum"
+-
+    name: "met:avg:es:instituicao:quant:func:fem:ensino:superior"
+    dataType: "integer"
+    aggregation: "avg"
+    description: "Quantidade média de funcionários femininos com ensino superior"
+    tags:
+        - "superior"
+        - "instituicao"
+        - "avg"
+-
+    name: "met:max:es:instituicao:quant:func:fem:ensino:superior"
+    dataType: "integer"
+    aggregation: "max"
+    description: "Quantidade máxima de funcionários femininos com ensino superior"
+    tags:
+        - "superior"
+        - "instituicao"
+        - "max"
+-
+    name: "met:min:es:instituicao:quant:func:fem:ensino:superior"
+    dataType: "integer"
+    aggregation: "min"
+    description: "Quantidade mínima de funcionários femininos com ensino superior"
+    tags:
+        - "superior"
+        - "instituicao"
+        - "min"
+-
+    name: "met:sum:es:instituicao:quant:func:masc:especializacao"
+    dataType: "integer"
+    aggregation: "sum"
+    description: "Soma da quantidade de funcionários masculinos com especialização"
+    tags:
+        - "superior"
+        - "instituicao"
+        - "sum"
+-
+    name: "met:avg:es:instituicao:quant:func:masc:especializacao"
+    dataType: "integer"
+    aggregation: "avg"
+    description: "Quantidade média de funcionários masculinos com especialização"
+    tags:
+        - "superior"
+        - "instituicao"
+        - "avg"
+-
+    name: "met:max:es:instituicao:quant:func:masc:especializacao"
+    dataType: "integer"
+    aggregation: "max"
+    description: "Quantidade máxima de funcionários masculinos com especialização"
+    tags:
+        - "superior"
+        - "instituicao"
+        - "max"
+-
+    name: "met:min:es:instituicao:quant:func:masc:especializacao"
+    dataType: "integer"
+    aggregation: "min"
+    description: "Quantidade mínima de funcionários masculinos com especialização"
+    tags:
+        - "superior"
+        - "instituicao"
+        - "min"
+-
+    name: "met:sum:es:instituicao:quant:func:fem:especializacao"
+    dataType: "integer"
+    aggregation: "sum"
+    description: "Soma da quantidade de funcionários femininos com especialização"
+    tags:
+        - "superior"
+        - "instituicao"
+        - "sum"
+-
+    name: "met:avg:es:instituicao:quant:func:fem:especializacao"
+    dataType: "integer"
+    aggregation: "avg"
+    description: "Quantidade média de funcionários femininos com especialização"
+    tags:
+        - "superior"
+        - "instituicao"
+        - "avg"
+-
+    name: "met:max:es:instituicao:quant:func:fem:especializacao"
+    dataType: "integer"
+    aggregation: "max"
+    description: "Quantidade máxima de funcionários femininos com especialização"
+    tags:
+        - "superior"
+        - "instituicao"
+        - "max"
+-
+    name: "met:min:es:instituicao:quant:func:fem:especializacao"
+    dataType: "integer"
+    aggregation: "min"
+    description: "Quantidade mínima de funcionários femininos com especialização"
+    tags:
+        - "superior"
+        - "instituicao"
+        - "min"
+-
+    name: "met:sum:es:instituicao:quant:func:masc:mestrado"
+    dataType: "integer"
+    aggregation: "sum"
+    description: "Soma da quantidade de funcionários masculinos com mestrado"
+    tags:
+        - "superior"
+        - "instituicao"
+        - "sum"
+-
+    name: "met:avg:es:instituicao:quant:func:masc:mestrado"
+    dataType: "integer"
+    aggregation: "avg"
+    description: "Quantidade média de funcionários masculinos com mestrado"
+    tags:
+        - "superior"
+        - "instituicao"
+        - "avg"
+-
+    name: "met:max:es:instituicao:quant:func:masc:mestrado"
+    dataType: "integer"
+    aggregation: "max"
+    description: "Quantidade máxima de funcionários masculinos com mestrado"
+    tags:
+        - "superior"
+        - "instituicao"
+        - "max"
+-
+    name: "met:min:es:instituicao:quant:func:masc:mestrado"
+    dataType: "integer"
+    aggregation: "min"
+    description: "Quantidade mínima de funcionários masculinos com mestrado"
+    tags:
+        - "superior"
+        - "instituicao"
+        - "min"
+-
+    name: "met:sum:es:instituicao:quant:func:fem:mestrado"
+    dataType: "integer"
+    aggregation: "sum"
+    description: "Soma da quantidade de funcionários femininos com mestrado"
+    tags:
+        - "superior"
+        - "instituicao"
+        - "sum"
+-
+    name: "met:avg:es:instituicao:quant:func:fem:mestrado"
+    dataType: "integer"
+    aggregation: "avg"
+    description: "Quantidade média de funcionários femininos com mestrado"
+    tags:
+        - "superior"
+        - "instituicao"
+        - "avg"
+-
+    name: "met:max:es:instituicao:quant:func:fem:mestrado"
+    dataType: "integer"
+    aggregation: "max"
+    description: "Quantidade máxima de funcionários femininos com mestrado"
+    tags:
+        - "superior"
+        - "instituicao"
+        - "max"
+-
+    name: "met:min:es:instituicao:quant:func:fem:mestrado"
+    dataType: "integer"
+    aggregation: "min"
+    description: "Quantidade mínima de funcionários femininos com mestrado"
+    tags:
+        - "superior"
+        - "instituicao"
+        - "min"
+-
+    name: "met:sum:es:instituicao:quant:func:masc:doutorado"
+    dataType: "integer"
+    aggregation: "sum"
+    description: "Soma da quantidade de funcionários masculinos com doutorado"
+    tags:
+        - "superior"
+        - "instituicao"
+        - "sum"
+-
+    name: "met:avg:es:instituicao:quant:func:masc:doutorado"
+    dataType: "integer"
+    aggregation: "avg"
+    description: "Quantidade média de funcionários masculinos com doutorado"
+    tags:
+        - "superior"
+        - "instituicao"
+        - "avg"
+-
+    name: "met:max:es:instituicao:quant:func:masc:doutorado"
+    dataType: "integer"
+    aggregation: "max"
+    description: "Quantidade máxima de funcionários masculinos com doutorado"
+    tags:
+        - "superior"
+        - "instituicao"
+        - "max"
+-
+    name: "met:min:es:instituicao:quant:func:masc:doutorado"
+    dataType: "integer"
+    aggregation: "min"
+    description: "Quantidade mínima de funcionários masculinos com doutorado"
+    tags:
+        - "superior"
+        - "instituicao"
+        - "min"
+-
+    name: "met:sum:es:instituicao:quant:func:fem:doutorado"
+    dataType: "integer"
+    aggregation: "sum"
+    description: "Soma da quantidade de funcionários femininos com doutorado"
+    tags:
+        - "superior"
+        - "instituicao"
+        - "sum"
+-
+    name: "met:avg:es:instituicao:quant:func:fem:doutorado"
+    dataType: "integer"
+    aggregation: "avg"
+    description: "Quantidade média de funcionários femininos com doutorado"
+    tags:
+        - "superior"
+        - "instituicao"
+        - "avg"
+-
+    name: "met:max:es:instituicao:quant:func:fem:doutorado"
+    dataType: "integer"
+    aggregation: "max"
+    description: "Quantidade máxima de funcionários femininos com doutorado"
+    tags:
+        - "superior"
+        - "instituicao"
+        - "max"
+-
+    name: "met:min:es:instituicao:quant:func:fem:doutorado"
+    dataType: "integer"
+    aggregation: "min"
+    description: "Quantidade mínima de funcionários femininos com doutorado"
+    tags:
+        - "superior"
+        - "instituicao"
+        - "min"
+-
+    name: "met:sum:es:instituicao:financeiro:valor:receita:propria"
+    dataType: "integer"
+    aggregation: "sum"
+    description: "Soma do valor da receita propria"
+    tags:
+        - "superior"
+        - "instituicao"
+        - "sum"
+-
+    name: "met:avg:es:instituicao:financeiro:valor:receita:propria"
+    dataType: "integer"
+    aggregation: "avg"
+    description: "Valor médio da receita propria"
+    tags:
+        - "superior"
+        - "instituicao"
+        - "avg"
+-
+    name: "met:max:es:instituicao:financeiro:valor:receita:propria"
+    dataType: "integer"
+    aggregation: "max"
+    description: "Valor máximo da receita propria"
+    tags:
+        - "superior"
+        - "instituicao"
+        - "max"
+-
+    name: "met:min:es:instituicao:financeiro:valor:receita:propria"
+    dataType: "integer"
+    aggregation: "min"
+    description: "Valor mínimo da receita propria"
+    tags:
+        - "superior"
+        - "instituicao"
+        - "min"
+-
+    name: "met:sum:es:instituicao:financeiro:valor:transferencia"
+    dataType: "integer"
+    aggregation: "sum"
+    description: "Soma do valor transferência"
+    tags:
+        - "superior"
+        - "instituicao"
+        - "sum"
+-
+    name: "met:avg:es:instituicao:financeiro:valor:transferencia"
+    dataType: "integer"
+    aggregation: "avg"
+    description: "Valor médio transferência"
+    tags:
+        - "superior"
+        - "instituicao"
+        - "avg"
+-
+    name: "met:max:es:instituicao:financeiro:valor:transferencia"
+    dataType: "integer"
+    aggregation: "max"
+    description: "Valor máximo transferência"
+    tags:
+        - "superior"
+        - "instituicao"
+        - "max"
+-
+    name: "met:min:es:instituicao:financeiro:valor:transferencia"
+    dataType: "integer"
+    aggregation: "min"
+    description: "Valor mínimo transferência"
+    tags:
+        - "superior"
+        - "instituicao"
+        - "min"
+-
+    name: "met:sum:es:instituicao:financeiro:valor:outra:receita"
+    dataType: "integer"
+    aggregation: "sum"
+    description: "Soma do valor  de outras receitas"
+    tags:
+        - "superior"
+        - "instituicao"
+        - "sum"
+-
+    name: "met:avg:es:instituicao:financeiro:valor:outra:receita"
+    dataType: "integer"
+    aggregation: "avg"
+    description: "Valor médio  de outras receitas"
+    tags:
+        - "superior"
+        - "instituicao"
+        - "avg"
+-
+    name: "met:max:es:instituicao:financeiro:valor:outra:receita"
+    dataType: "integer"
+    aggregation: "max"
+    description: "Valor máximo  de outras receitas"
+    tags:
+        - "superior"
+        - "instituicao"
+        - "max"
+-
+    name: "met:min:es:instituicao:financeiro:valor:outra:receita"
+    dataType: "integer"
+    aggregation: "min"
+    description: "Valor mínimo  de outras receitas"
+    tags:
+        - "superior"
+        - "instituicao"
+        - "min"
+-
+    name: "met:sum:es:instituicao:financeiro:despesas:remuneracao:docente"
+    dataType: "integer"
+    aggregation: "sum"
+    description: "Soma do valor de despesas com remuneração de docentes "
+    tags:
+        - "superior"
+        - "instituicao"
+        - "sum"
+-
+    name: "met:avg:es:instituicao:financeiro:despesas:remuneracao:docente"
+    dataType: "integer"
+    aggregation: "avg"
+    description: "Valor médio de despesas com remuneração de docentes "
+    tags:
+        - "superior"
+        - "instituicao"
+        - "avg"
+-
+    name: "met:max:es:instituicao:financeiro:despesas:remuneracao:docente"
+    dataType: "integer"
+    aggregation: "max"
+    description: "Valor máximo de despesas com remuneração de docentes "
+    tags:
+        - "superior"
+        - "instituicao"
+        - "max"
+-
+    name: "met:min:es:instituicao:financeiro:despesas:remuneracao:docente"
+    dataType: "integer"
+    aggregation: "min"
+    description: "Valor mínimo de despesas com remuneração de docentes "
+    tags:
+        - "superior"
+        - "instituicao"
+        - "min"
+-
+    name: "met:sum:es:instituicao:financeiro:despesas:remuneracao:tecnico"
+    dataType: "integer"
+    aggregation: "sum"
+    description: "Soma do valor de despesas com remuneração de técnicos"
+    tags:
+        - "superior"
+        - "instituicao"
+        - "sum"
+-
+    name: "met:avg:es:instituicao:financeiro:despesas:remuneracao:tecnico"
+    dataType: "integer"
+    aggregation: "avg"
+    description: "Valor médio de despesas com remuneração de técnicos"
+    tags:
+        - "superior"
+        - "instituicao"
+        - "avg"
+-
+    name: "met:max:es:instituicao:financeiro:despesas:remuneracao:tecnico"
+    dataType: "integer"
+    aggregation: "max"
+    description: "Valor máximo de despesas com remuneração de técnicos"
+    tags:
+        - "superior"
+        - "instituicao"
+        - "max"
+-
+    name: "met:min:es:instituicao:financeiro:despesas:remuneracao:tecnico"
+    dataType: "integer"
+    aggregation: "min"
+    description: "Valor mínimo de despesas com remuneração de técnicos"
+    tags:
+        - "superior"
+        - "instituicao"
+        - "min"
+-
+    name: "met:sum:es:instituicao:financeiro:despesas:encargos"
+    dataType: "integer"
+    aggregation: "sum"
+    description: "Soma do valor de despesas com encargos"
+    tags:
+        - "superior"
+        - "instituicao"
+        - "sum"
+-
+    name: "met:avg:es:instituicao:financeiro:despesas:encargos"
+    dataType: "integer"
+    aggregation: "avg"
+    description: "Valor médio de despesas com encargos"
+    tags:
+        - "superior"
+        - "instituicao"
+        - "avg"
+-
+    name: "met:max:es:instituicao:financeiro:despesas:encargos"
+    dataType: "integer"
+    aggregation: "max"
+    description: "Valor máximo de despesas com encargos"
+    tags:
+        - "superior"
+        - "instituicao"
+        - "max"
+-
+    name: "met:min:es:instituicao:financeiro:despesas:encargos"
+    dataType: "integer"
+    aggregation: "min"
+    description: "Valor mínimo de despesas com encargos"
+    tags:
+        - "superior"
+        - "instituicao"
+        - "min"
+-
+    name: "met:sum:es:instituicao:financeiro:despesas:custeio"
+    dataType: "integer"
+    aggregation: "sum"
+    description: "Soma do valor de despesas com custeios"
+    tags:
+        - "superior"
+        - "instituicao"
+        - "sum"
+-
+    name: "met:avg:es:instituicao:financeiro:despesas:custeio"
+    dataType: "integer"
+    aggregation: "avg"
+    description: "Valor médio de despesas com custeios"
+    tags:
+        - "superior"
+        - "instituicao"
+        - "avg"
+-
+    name: "met:max:es:instituicao:financeiro:despesas:custeio"
+    dataType: "integer"
+    aggregation: "max"
+    description: "Valor máximo de despesas com custeios"
+    tags:
+        - "superior"
+        - "instituicao"
+        - "max"
+-
+    name: "met:min:es:instituicao:financeiro:despesas:custeio"
+    dataType: "integer"
+    aggregation: "min"
+    description: "Valor mínimo de despesas com custeios"
+    tags:
+        - "superior"
+        - "instituicao"
+        - "min"
+-
+    name: "met:sum:es:instituicao:financeiro:despesas:investimento"
+    dataType: "integer"
+    aggregation: "sum"
+    description: "Soma do valor de despesas com investimentos"
+    tags:
+        - "superior"
+        - "instituicao"
+        - "sum"
+-
+    name: "met:avg:es:instituicao:financeiro:despesas:investimento"
+    dataType: "integer"
+    aggregation: "avg"
+    description: "Valor médio de despesas com investimentos"
+    tags:
+        - "superior"
+        - "instituicao"
+        - "avg"
+-
+    name: "met:max:es:instituicao:financeiro:despesas:investimento"
+    dataType: "integer"
+    aggregation: "max"
+    description: "Valor máximo de despesas com investimentos"
+    tags:
+        - "superior"
+        - "instituicao"
+        - "max"
+-
+    name: "met:min:es:instituicao:financeiro:despesas:investimento"
+    dataType: "integer"
+    aggregation: "min"
+    description: "Valor mínimo de despesas com investimentos"
+    tags:
+        - "superior"
+        - "instituicao"
+        - "min"
+-
+    name: "met:sum:es:instituicao:financeiro:despesas:pesquisa"
+    dataType: "integer"
+    aggregation: "sum"
+    description: "Soma do valor de despesas com pesquisa"
+    tags:
+        - "superior"
+        - "instituicao"
+        - "sum"
+-
+    name: "met:avg:es:instituicao:financeiro:despesas:pesquisa"
+    dataType: "integer"
+    aggregation: "avg"
+    description: "Valor médio de despesas com pesquisa"
+    tags:
+        - "superior"
+        - "instituicao"
+        - "avg"
+-
+    name: "met:max:es:instituicao:financeiro:despesas:pesquisa"
+    dataType: "integer"
+    aggregation: "max"
+    description: "Valor máximo de despesas com pesquisa"
+    tags:
+        - "superior"
+        - "instituicao"
+        - "max"
+-
+    name: "met:min:es:instituicao:financeiro:despesas:pesquisa"
+    dataType: "integer"
+    aggregation: "min"
+    description: "Valor mínimo de despesas com pesquisa"
+    tags:
+        - "superior"
+        - "instituicao"
+        - "min"
+-
+    name: "met:sum:es:instituicao:financeiro:despesas:outras"
+    dataType: "integer"
+    aggregation: "sum"
+    description: "Soma do valor com outras despesas"
+    tags:
+        - "superior"
+        - "instituicao"
+        - "sum"
+-
+    name: "met:avg:es:instituicao:financeiro:despesas:outras"
+    dataType: "integer"
+    aggregation: "avg"
+    description: "Valor médio com outras despesas"
+    tags:
+        - "superior"
+        - "instituicao"
+        - "avg"
+-
+    name: "met:max:es:instituicao:financeiro:despesas:outras"
+    dataType: "integer"
+    aggregation: "max"
+    description: "Valor máximo com outras despesas"
+    tags:
+        - "superior"
+        - "instituicao"
+        - "max"
+-
+    name: "met:min:es:instituicao:financeiro:despesas:outras"
+    dataType: "integer"
+    aggregation: "min"
+    description: "Valor mínimo com outras despesas"
+    tags:
+        - "superior"
+        - "instituicao"
+        - "min"
+-
+    name: "met:sum:es:instituicao:quantidade:periodico:eletronico"
+    dataType: "integer"
+    aggregation: "sum"
+    description: "Soma da quantidade de periódicos eletrônicos"
+    tags:
+        - "superior"
+        - "instituicao"
+        - "sum"
+-
+    name: "met:avg:es:instituicao:quantidade:periodico:eletronico"
+    dataType: "integer"
+    aggregation: "avg"
+    description: "Quantidade média de periódicos eletrônicos"
+    tags:
+        - "superior"
+        - "instituicao"
+        - "avg"
+
+-
+    name: "met:max:es:instituicao:quantidade:periodico:eletronico"
+    dataType: "integer"
+    aggregation: "max"
+    description: "Quantidade máxima de periódicos eletrônicos"
+    tags:
+        - "superior"
+        - "instituicao"
+        - "max"
+
+-
+    name: "met:min:es:instituicao:quantidade:periodico:eletronico"
+    dataType: "integer"
+    aggregation: "min"
+    description: "Quantidade mínima de periódicos eletrônicos"
+    tags:
+        - "superior"
+        - "instituicao"
+        - "min"
+
+-
+    name: "met:sum:es:instituicao:quantidade:livro:eletronico"
+    dataType: "integer"
+    aggregation: "sum"
+    description: "Soma da quantidade de livros eletrônicos"
+    tags:
+        - "superior"
+        - "instituicao"
+        - "sum"
+
+-
+    name: "met:avg:es:instituicao:quantidade:livro:eletronico"
+    dataType: "integer"
+    aggregation: "avg"
+    description: "Quantidade média de livros eletrônicos"
+    tags:
+        - "superior"
+        - "instituicao"
+        - "avg"
+
+-
+    name: "met:max:es:instituicao:quantidade:livro:eletronico"
+    dataType: "integer"
+    aggregation: "max"
+    description: "Quantidade máxima de livros eletrônicos"
+    tags:
+        - "superior"
+        - "instituicao"
+        - "max"
+
+-
+    name: "met:min:es:instituicao:quantidade:livro:eletronico"
+    dataType: "integer"
+    aggregation: "min"
+    description: "Quantidade mínima de livros eletrônicos"
+    tags:
+        - "superior"
+        - "instituicao"
+        - "min"
diff --git a/config/parse/met_es_ocde.yaml b/config/parse/met_es_ocde.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..2ff1ff9920f24d6ca2f99546a16e9167d7f44b2b
--- /dev/null
+++ b/config/parse/met_es_ocde.yaml
@@ -0,0 +1,10 @@
+-
+    name: "met:count:es:curso:ocde:cod"
+    dataType: "integer"
+    aggregation: "count"
+    description: "Quantidade de cursos de ensino superior pela ocde"
+    tags:
+        - "superior"
+        - "curso"
+        - "ocde"
+        - "count"
diff --git a/config/parse/met_escola.yaml b/config/parse/met_escola.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..124060c63e9ba85223d4ec068c03bc432137203d
--- /dev/null
+++ b/config/parse/met_escola.yaml
@@ -0,0 +1,657 @@
+-
+    name: "met:avg:escola:antena:parabolica"
+    dataType: "integer"
+    aggregation: "avg"
+    description: "Média de antenas parabólicas por escola"
+    tags:
+        - "basico"
+        - "escola"
+        - "avg"
+-
+    name: "met:avg:escola:computador"
+    dataType: "integer"
+    aggregation: "avg"
+    description: "Média de computadores por escola"
+    tags:
+        - "basico"
+        - "escola"
+        - "avg"
+-
+    name: "met:avg:escola:computador:administrativo"
+    dataType: "integer"
+    aggregation: "avg"
+    description: "Média de computadores administrativos por escola"
+    tags:
+        - "basico"
+        - "escola"
+        - "avg"
+-
+    name: "met:avg:escola:computador:aluno"
+    dataType: "integer"
+    aggregation: "avg"
+    description: "Média de computadores para alunos por escola"
+    tags:
+        - "basico"
+        - "escola"
+        - "avg"
+-
+    name: "met:avg:escola:copiadora"
+    dataType: "integer"
+    aggregation: "avg"
+    description: "média de copiadoras por escola"
+    tags:
+        - "basico"
+        - "escola"
+        - "avg"
+-
+    name: "met:avg:escola:dvd"
+    dataType: "integer"
+    aggregation: "avg"
+    description: "Média de dvd por escola"
+    tags:
+        - "basico"
+        - "escola"
+        - "avg"
+-
+    name: "met:avg:escola:fax"
+    dataType: "integer"
+    aggregation: "avg"
+    description: "Média de fax por escola"
+    tags:
+        - "basico"
+        - "escola"
+        - "avg"
+-
+    name: "met:avg:escola:funcionarios"
+    dataType: "integer"
+    aggregation: "avg"
+    description: "Média de funcionários por escola"
+    tags:
+        - "basico"
+        - "escola"
+        - "avg"
+-
+    name: "met:avg:escola:impressora"
+    dataType: "integer"
+    aggregation: "avg"
+    description: "Média de impressoras por escola"
+    tags:
+        - "basico"
+        - "escola"
+        - "avg"
+-
+    name: "met:avg:escola:impressora:multifuncional"
+    dataType: "integer"
+    aggregation: "avg"
+    description: "Média de impressoras multifuncional por escola"
+    tags:
+        - "basico"
+        - "escola"
+        - "avg"
+-
+    name: "met:avg:escola:maquina:fotografica"
+    dataType: "integer"
+    aggregation: "avg"
+    description: "Média de máquinas fotográficas por escola"
+    tags:
+        - "basico"
+        - "escola"
+        - "avg"
+-
+    name: "met:avg:escola:datashow"
+    dataType: "integer"
+    aggregation: "avg"
+    description: "Média de datashow por escola"
+    tags:
+        - "basico"
+        - "escola"
+        - "avg"
+-
+    name: "met:avg:escola:retroprojetor"
+    dataType: "integer"
+    aggregation: "avg"
+    description: "Média de retroprojetor por escola"
+    tags:
+        - "basico"
+        - "escola"
+        - "avg"
+-
+    name: "met:avg:escola:salas"
+    dataType: "integer"
+    aggregation: "avg"
+    description: "Média de salas por escola"
+    tags:
+        - "basico"
+        - "escola"
+        - "avg"
+-
+    name: "met:avg:escola:salas:utilizadas"
+    dataType: "integer"
+    aggregation: "avg"
+    description: "Média de salas utilizadas por escola"
+    tags:
+        - "basico"
+        - "escola"
+        - "avg"
+-
+    name: "met:avg:escola:som"
+    dataType: "integer"
+    aggregation: "avg"
+    description: "Média de aparelho de som por escola"
+    tags:
+        - "basico"
+        - "escola"
+        - "avg"
+-
+    name: "met:avg:escola:televisao"
+    dataType: "integer"
+    aggregation: "avg"
+    description: "Média de televisões por escola"
+    tags:
+        - "basico"
+        - "escola"
+        - "avg"
+-
+    name: "met:avg:escola:videocassete"
+    dataType: "integer"
+    aggregation: "avg"
+    description: "Média de videocassetes por escola"
+    tags:
+        - "basico"
+        - "escola"
+        - "avg"
+-
+    name: "met:count:escola:id"
+    dataType: "integer"
+    aggregation: "count"
+    description: "Quantidade de escolas"
+    tags:
+        - "basico"
+        - "escola"
+        - "count"
+-
+    name: "met:max:escola:antena:parabolica"
+    dataType: "integer"
+    aggregation: "max"
+    description: "Máximo de antenas parabólicas por escola"
+    tags:
+        - "basico"
+        - "escola"
+        - "max"
+-
+    name: "met:max:escola:computador"
+    dataType: "integer"
+    aggregation: "max"
+    description: "Máximo de computadores por escola"
+    tags:
+        - "basico"
+        - "escola"
+        - "max"
+-
+    name: "met:max:escola:computador:administrativo"
+    dataType: "integer"
+    aggregation: "max"
+    description: "Máximo de computadores administrativos por escola"
+    tags:
+        - "basico"
+        - "escola"
+        - "max"
+-
+    name: "met:max:escola:computador:aluno"
+    dataType: "integer"
+    aggregation: "max"
+    description: "Máximo de computadores para alunos por escola"
+    tags:
+        - "basico"
+        - "escola"
+        - "max"
+-
+    name: "met:max:escola:copiadora"
+    dataType: "integer"
+    aggregation: "max"
+    description: "Máximo de copiadoras por escola"
+    tags:
+        - "basico"
+        - "escola"
+        - "max"
+-
+    name: "met:max:escola:dvd"
+    dataType: "integer"
+    aggregation: "max"
+    description: "Máximo de dvd por escola"
+    tags:
+        - "basico"
+        - "escola"
+        - "max"
+-
+    name: "met:max:escola:fax"
+    dataType: "integer"
+    aggregation: "max"
+    description: "Máximo de fax por escola"
+    tags:
+        - "basico"
+        - "escola"
+        - "max"
+-
+    name: "met:max:escola:funcionarios"
+    dataType: "integer"
+    aggregation: "max"
+    description: "Máximo de funcionários por escola"
+    tags:
+        - "basico"
+        - "escola"
+        - "max"
+-
+    name: "met:max:escola:impressora"
+    dataType: "integer"
+    aggregation: "max"
+    description: "Máximo de impressoras por escola"
+    tags:
+        - "basico"
+        - "escola"
+        - "max"
+-
+    name: "met:max:escola:impressora:multifuncional"
+    dataType: "integer"
+    aggregation: "max"
+    description: "Máximo de impressoras multifuncionais por escola"
+    tags:
+        - "basico"
+        - "escola"
+        - "max"
+-
+    name: "met:max:escola:maquina:fotografica"
+    dataType: "integer"
+    aggregation: "max"
+    description: "Máximo de máquinas fotográficas por escola"
+    tags:
+        - "basico"
+        - "escola"
+        - "max"
+-
+    name: "met:max:escola:datashow"
+    dataType: "integer"
+    aggregation: "max"
+    description: "Máximo de datashow por escola"
+    tags:
+        - "basico"
+        - "escola"
+        - "max"
+-
+    name: "met:max:escola:retroprojetor"
+    dataType: "integer"
+    aggregation: "max"
+    description: "Máximo de retroprojetores por escola"
+    tags:
+        - "basico"
+        - "escola"
+        - "max"
+-
+    name: "met:max:escola:salas"
+    dataType: "integer"
+    aggregation: "max"
+    description: "Máximo de salas por escola"
+    tags:
+        - "basico"
+        - "escola"
+        - "max"
+-
+    name: "met:max:escola:salas:utilizadas"
+    dataType: "integer"
+    aggregation: "max"
+    description: "Máximo de salas utilizadas por escola"
+    tags:
+        - "basico"
+        - "escola"
+        - "max"
+-
+    name: "met:max:escola:som"
+    dataType: "integer"
+    aggregation: "max"
+    description: "Máximo de aparelhos de som por escola"
+    tags:
+        - "basico"
+        - "escola"
+        - "max"
+-
+    name: "met:max:escola:televisao"
+    dataType: "integer"
+    aggregation: "max"
+    description: "Máximo de televisões por escola"
+    tags:
+        - "basico"
+        - "escola"
+        - "max"
+-
+    name: "met:max:escola:videocassete"
+    dataType: "integer"
+    aggregation: "max"
+    description: "Máximo de videocassetes por escola"
+    tags:
+        - "basico"
+        - "escola"
+        - "max"
+-
+    name: "met:min:escola:antena:parabolica"
+    dataType: "integer"
+    aggregation: "min"
+    description: "Mínimo de antenas parabólicas por escola"
+    tags:
+        - "basico"
+        - "escola"
+        - "min"
+-
+    name: "met:min:escola:computador"
+    dataType: "integer"
+    aggregation: "min"
+    description: "Mínimo de computadores por escola"
+    tags:
+        - "basico"
+        - "escola"
+        - "min"
+-
+    name: "met:min:escola:computador:administrativo"
+    dataType: "integer"
+    aggregation: "min"
+    description: "Mínimo de computadores administrativos por escola"
+    tags:
+        - "basico"
+        - "escola"
+        - "min"
+-
+    name: "met:min:escola:computador:aluno"
+    dataType: "integer"
+    aggregation: "min"
+    description: "Mínimo de computadores para alunos por escola"
+    tags:
+        - "basico"
+        - "escola"
+        - "min"
+-
+    name: "met:min:escola:copiadora"
+    dataType: "integer"
+    aggregation: "min"
+    description: "Mínimo de copiadoras por escola"
+    tags:
+        - "basico"
+        - "escola"
+        - "min"
+-
+    name: "met:min:escola:dvd"
+    dataType: "integer"
+    aggregation: "min"
+    description: "Mínimo de dvd por escola"
+    tags:
+        - "basico"
+        - "escola"
+        - "min"
+-
+    name: "met:min:escola:fax"
+    dataType: "integer"
+    aggregation: "min"
+    description: "Mínimo de fax por escola"
+    tags:
+        - "basico"
+        - "escola"
+        - "min"
+-
+    name: "met:min:escola:funcionarios"
+    dataType: "integer"
+    aggregation: "min"
+    description: "Mínimo de funcionários por escola"
+    tags:
+        - "basico"
+        - "escola"
+        - "min"
+-
+    name: "met:min:escola:impressora"
+    dataType: "integer"
+    aggregation: "min"
+    description: "Mínimo de impressoras por escola"
+    tags:
+        - "basico"
+        - "escola"
+        - "min"
+-
+    name: "met:min:escola:impressora:multifuncional"
+    dataType: "integer"
+    aggregation: "min"
+    description: "Mínimo de impressoras multifuncionais por escola"
+    tags:
+        - "basico"
+        - "escola"
+        - "min"
+-
+    name: "met:min:escola:maquina:fotografica"
+    dataType: "integer"
+    aggregation: "min"
+    description: "Mínimo de máquinas fotográficas por escola"
+    tags:
+        - "basico"
+        - "escola"
+        - "min"
+-
+    name: "met:min:escola:datashow"
+    dataType: "integer"
+    aggregation: "min"
+    description: "Mínimo de datashow por escola"
+    tags:
+        - "basico"
+        - "escola"
+        - "min"
+-
+    name: "met:min:escola:retroprojetor"
+    dataType: "integer"
+    aggregation: "min"
+    description: "Mínimo de retroprojetores por escola"
+    tags:
+        - "basico"
+        - "escola"
+        - "min"
+-
+    name: "met:min:escola:salas"
+    dataType: "integer"
+    aggregation: "min"
+    description: "Mínimo de salas por escola"
+    tags:
+        - "basico"
+        - "escola"
+        - "min"
+-
+    name: "met:min:escola:salas:utilizadas"
+    dataType: "integer"
+    aggregation: "min"
+    description: "Mínimo de salas utilizadas por escola"
+    tags:
+        - "basico"
+        - "escola"
+        - "min"
+-
+    name: "met:min:escola:som"
+    dataType: "integer"
+    aggregation: "min"
+    description: "Mínimo de aparelhos de som por escola"
+    tags:
+        - "basico"
+        - "escola"
+        - "min"
+-
+    name: "met:min:escola:televisao"
+    dataType: "integer"
+    aggregation: "min"
+    description: "Mínimo de televisões por escola"
+    tags:
+        - "basico"
+        - "escola"
+        - "min"
+-
+    name: "met:min:escola:videocassete"
+    dataType: "integer"
+    aggregation: "min"
+    description: "Mínimo de videocassete por escola"
+    tags:
+        - "basico"
+        - "escola"
+        - "min"
+-
+    name: "met:sum:escola:antena:parabolica"
+    dataType: "integer"
+    aggregation: "sum"
+    description: "Soma de antenas parabólicas por escola"
+    tags:
+        - "basico"
+        - "escola"
+        - "sum"
+-
+    name: "met:sum:escola:computador"
+    dataType: "integer"
+    aggregation: "sum"
+    description: "Soma de computadores por escola"
+    tags:
+        - "basico"
+        - "escola"
+        - "sum"
+-
+    name: "met:sum:escola:computador:administrativo"
+    dataType: "integer"
+    aggregation: "sum"
+    description: "Soma de computadores administrativos por escola"
+    tags:
+        - "basico"
+        - "escola"
+        - "sum"
+-
+    name: "met:sum:escola:computador:aluno"
+    dataType: "integer"
+    aggregation: "sum"
+    description: "Soma de computadores para aluno por escola"
+    tags:
+        - "basico"
+        - "escola"
+        - "sum"
+-
+    name: "met:sum:escola:copiadora"
+    dataType: "integer"
+    aggregation: "sum"
+    description: "Soma de copiadoras por escola"
+    tags:
+        - "basico"
+        - "escola"
+        - "sum"
+-
+    name: "met:sum:escola:dvd"
+    dataType: "integer"
+    aggregation: "sum"
+    description: "Soma de dvd por escola"
+    tags:
+        - "basico"
+        - "escola"
+        - "sum"
+-
+    name: "met:sum:escola:fax"
+    dataType: "integer"
+    aggregation: "sum"
+    description: "Soma de fax por escola"
+    tags:
+        - "basico"
+        - "escola"
+        - "sum"
+-
+    name: "met:sum:escola:funcionarios"
+    dataType: "integer"
+    aggregation: "sum"
+    description: "Soma de funcionários por escola"
+    tags:
+        - "basico"
+        - "escola"
+        - "sum"
+-
+    name: "met:sum:escola:impressora"
+    dataType: "integer"
+    aggregation: "sum"
+    description: "Soma de impressoras por escola"
+    tags:
+        - "basico"
+        - "escola"
+        - "sum"
+-
+    name: "met:sum:escola:impressora:multifuncional"
+    dataType: "integer"
+    aggregation: "sum"
+    description: "Soma de impressoras multifuncionais por escola"
+    tags:
+        - "basico"
+        - "escola"
+        - "sum"
+-
+    name: "met:sum:escola:maquina:fotografica"
+    dataType: "integer"
+    aggregation: "sum"
+    description: "Soma de máquinas fotográficas por escola"
+    tags:
+        - "basico"
+        - "escola"
+        - "sum"
+-
+    name: "met:sum:escola:datashow"
+    dataType: "integer"
+    aggregation: "sum"
+    description: "Soma de datashow por escola"
+    tags:
+        - "basico"
+        - "escola"
+        - "sum"
+-
+    name: "met:sum:escola:retroprojetor"
+    dataType: "integer"
+    aggregation: "sum"
+    description: "Soma de retroprojetores por escola"
+    tags:
+        - "basico"
+        - "escola"
+        - "sum"
+-
+    name: "met:sum:escola:salas"
+    dataType: "integer"
+    aggregation: "sum"
+    description: "Soma de salas por escola"
+    tags:
+        - "basico"
+        - "escola"
+        - "sum"
+-
+    name: "met:sum:escola:salas:utilizadas"
+    dataType: "integer"
+    aggregation: "sum"
+    description: "Soma de salas utilizadas por escola"
+    tags:
+        - "basico"
+        - "escola"
+        - "sum"
+-
+    name: "met:sum:escola:som"
+    dataType: "integer"
+    aggregation: "sum"
+    description: "Soma de aparelhos de som por escola"
+    tags:
+        - "basico"
+        - "escola"
+        - "sum"
+-
+    name: "met:sum:escola:televisao"
+    dataType: "integer"
+    aggregation: "sum"
+    description: "Soma de televisões por escola"
+    tags:
+        - "basico"
+        - "escola"
+        - "sum"
+-
+    name: "met:sum:escola:videocassete"
+    dataType: "integer"
+    aggregation: "sum"
+    description: "Soma de videocassetes por escola"
+    tags:
+        - "basico"
+        - "escola"
+        - "sum"
diff --git a/config/parse/met_familia_cadunico.yaml b/config/parse/met_familia_cadunico.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..94407abe6bb5893b0a89236b12defea026b2f5e4
--- /dev/null
+++ b/config/parse/met_familia_cadunico.yaml
@@ -0,0 +1,162 @@
+-
+    name: "met:min:cadunico:familia:renda:media"
+    dataType: "integer"
+    aggregation: "min"
+    description: "Valor mínimo da renda média das famílias"
+    tags:
+        - "cad:unico"
+        - "familia:cad:unico"
+        - "min"
+-
+    name: "met:max:cadunico:familia:renda:media"
+    dataType: "integer"
+    aggregation: "max"
+    description: "Valor máximo da renda média das famílias"
+    tags:
+        - "cad:unico"
+        - "familia:cad:unico"
+        - "max"
+-
+    name: "met:avg:cadunico:familia:renda:media"
+    dataType: "integer"
+    aggregation: "avg"
+    description: "Valor médio da renda média das famílias"
+    tags:
+        - "cad:unico"
+        - "familia:cad:unico"
+        - "avg"
+-
+    name: "met:min:cadunico:familia:domicilio:quant:comodos"
+    dataType: "integer"
+    aggregation: "min"
+    description: "Quantidade mínima de comodos no domicílio"
+    tags:
+        - "cad:unico"
+        - "familia:cad:unico"
+        - "min"
+-
+    name: "met:max:cadunico:familia:domicilio:quant:comodos"
+    dataType: "integer"
+    aggregation: "max"
+    description: "Quantidade máxima de comodos no domicílio"
+    tags:
+        - "cad:unico"
+        - "familia:cad:unico"
+        - "max"
+-
+    name: "met:avg:cadunico:familia:domicilio:quant:comodos"
+    dataType: "integer"
+    aggregation: "avg"
+    description: "Quantidade média de comodos no domicílio"
+    tags:
+        - "cad:unico"
+        - "familia:cad:unico"
+        - "avg"
+-
+    name: "met:min:cadunico:familia:domicilio:quant:dormitorios"
+    dataType: "integer"
+    aggregation: "min"
+    description: "Quantidade mínima de dormitórios no domicílio"
+    tags:
+        - "cad:unico"
+        - "familia:cad:unico"
+        - "min"
+-
+    name: "met:max:cadunico:familia:domicilio:quant:dormitorios"
+    dataType: "integer"
+    aggregation: "max"
+    description: "Quantidade máxima de dormitórios no domicílio"
+    tags:
+        - "cad:unico"
+        - "familia:cad:unico"
+        - "max"
+-
+    name: "met:avg:cadunico:familia:domicilio:quant:dormitorios"
+    dataType: "integer"
+    aggregation: "avg"
+    description: "Quantidade média de dormitórios no domicílio"
+    tags:
+        - "cad:unico"
+        - "familia:cad:unico"
+        - "avg"
+-
+    name: "met:count:cadunico:familia:eas:cod"
+    dataType: "integer"
+    aggregation: "count"
+    description: "Quantidade de estabelecimentos de assitência à saúde"
+    tags:
+        - "cad:unico"
+        - "familia:cad:unico"
+        - "count"
+-
+    name: "met:count:cadunico:familia:cras:cod"
+    dataType: "integer"
+    aggregation: "count"
+    description: "Quantidade de centros de assistência cras"
+    tags:
+        - "cad:unico"
+        - "familia:cad:unico"
+        - "count"
+-
+    name: "met:min:cadunico:familia:quant:pessoas"
+    dataType: "integer"
+    aggregation: "min"
+    description: "Quantidade mínima de pessoas nas famílias"
+    tags:
+        - "cad:unico"
+        - "familia:cad:unico"
+        - "min"
+-
+    name: "met:max:cadunico:familia:quant:pessoas"
+    dataType: "integer"
+    aggregation: "max"
+    description: "Quantidade máxima de pessoas nas famílias"
+    tags:
+        - "cad:unico"
+        - "familia:cad:unico"
+        - "max"
+-
+    name: "met:sum:cadunico:familia:quant:pessoas"
+    dataType: "integer"
+    aggregation: "sum"
+    description: "Soma da quantidade de pessoas nas famílias"
+    tags:
+        - "cad:unico"
+        - "familia:cad:unico"
+        - "sum"
+-
+    name: "met:avg:cadunico:familia:quant:pessoas"
+    dataType: "integer"
+    aggregation: "avg"
+    description: "Quantidade média de pessoas nas famílias"
+    tags:
+        - "cad:unico"
+        - "familia:cad:unico"
+        - "avg"
+-
+    name: "met:min:cadunico:familia:peso"
+    dataType: "integer"
+    aggregation: "min"
+    description: "Peso mínimo das famílias"
+    tags:
+        - "cad:unico"
+        - "familia:cad:unico"
+        - "min"
+-
+    name: "met:max:cadunico:familia:peso"
+    dataType: "integer"
+    aggregation: "max"
+    description: "Peso máximo das famílias"
+    tags:
+        - "cad:unico"
+        - "familia:cad:unico"
+        - "max"
+-
+    name: "met:avg:cadunico:familia:peso"
+    dataType: "integer"
+    aggregation: "avg"
+    description: "Peso médio das famílias"
+    tags:
+        - "cad:unico"
+        - "familia:cad:unico"
+        - "avg"
diff --git a/config/parse/met_fies.yaml b/config/parse/met_fies.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..4b5b04fc12feca2feba967e7ed727a4ff9cab935
--- /dev/null
+++ b/config/parse/met_fies.yaml
@@ -0,0 +1,198 @@
+-
+    name: "met:count:es:fies:contrato:cod"
+    dataType: "integer"
+    aggregation: "count"
+    description: "Quantidade de contratos fies"
+    tags:
+        - "superior"
+        - "fies"
+        - "count"
+-
+    name: "met:min:es:fies:financimaneto:mensalidade:valor"
+    dataType: "integer"
+    aggregation: "min"
+    description: "Valor mínimo da mensalidade"
+    tags:
+        - "superior"
+        - "fies"
+        - "min"
+-
+    name: "met:max:es:fies:financimaneto:mensalidade:valor"
+    dataType: "integer"
+    aggregation: "max"
+    description: "Valor máximo da mensalidade"
+    tags:
+        - "superior"
+        - "fies"
+        - "max"
+-
+    name: "met:sum:es:fies:financimaneto:mensalidade:valor"
+    dataType: "integer"
+    aggregation: "sum"
+    description: "Soma do valor da mensalidade"
+    tags:
+        - "superior"
+        - "fies"
+        - "sum"
+-
+    name: "met:avg:es:fies:financimaneto:mensalidade:valor"
+    dataType: "integer"
+    aggregation: "avg"
+    description: "Valor médio da mensalidade"
+    tags:
+        - "superior"
+        - "fies"
+        - "avg"
+-
+    name: "met:min:es:fies:inscricao:ano:exercicio"
+    dataType: "integer"
+    aggregation: "min"
+    description: "Ano mínimo de exercício da inscrição"
+    tags:
+        - "superior"
+        - "fies"
+        - "min"
+-
+    name: "met:max:es:fies:inscricao:ano:exercicio"
+    dataType: "integer"
+    aggregation: "max"
+    description: "Ano máximo de exercício da inscrição"
+    tags:
+        - "superior"
+        - "fies"
+        - "max"
+-
+    name: "met:min:es:fies:bolsa:prouni:percentual"
+    dataType: "integer"
+    aggregation: "min"
+    description: "Percentual mínimo da bolsa prouni"
+    tags:
+        - "superior"
+        - "fies"
+        - "min"
+-
+    name: "met:max:es:fies:bolsa:prouni:percentual"
+    dataType: "integer"
+    aggregation: "max"
+    description: "Percentual máximo da bolsa prouni"
+    tags:
+        - "superior"
+        - "fies"
+        - "max"
+-
+    name: "met:min:es:fies:financiamento:solicitado:percentual"
+    dataType: "integer"
+    aggregation: "min"
+    description: "Percentual mínimo de financiamento solicitado"
+    tags:
+        - "superior"
+        - "fies"
+        - "min"
+-
+    name: "met:max:es:fies:financiamento:solicitado:percentual"
+    dataType: "integer"
+    aggregation: "max"
+    description: "Percentual máximo de financiamento solicitado"
+    tags:
+        - "superior"
+        - "fies"
+        - "max"
+-
+    name: "met:min:es:fies:financiamento:valor:total:geral"
+    dataType: "integer"
+    aggregation: "min"
+    description: "Valor mínimo do total geral do financiamento"
+    tags:
+        - "superior"
+        - "fies"
+        - "min"
+-
+    name: "met:max:es:fies:financiamento:valor:total:geral"
+    dataType: "integer"
+    aggregation: "max"
+    description: "Valor máximo do total geral do financiamento"
+    tags:
+        - "superior"
+        - "fies"
+        - "max"
+-
+    name: "met:sum:es:fies:financiamento:valor:total:geral"
+    dataType: "integer"
+    aggregation: "sum"
+    description: "Soma do valor total geral do financiamento"
+    tags:
+        - "superior"
+        - "fies"
+        - "sum"
+-
+    name: "met:avg:es:fies:financiamento:valor:total:geral"
+    dataType: "integer"
+    aggregation: "avg"
+    description: "Valor médio do total geral do financiamento"
+    tags:
+        - "superior"
+        - "fies"
+        - "avg"
+-
+    name: "met:min:es:fies:financiamento:semestre:quantidade:total"
+    dataType: "integer"
+    aggregation: "min"
+    description: "Quantidade total mínima de semestres financiados"
+    tags:
+        - "superior"
+        - "fies"
+        - "min"
+-
+    name: "met:max:es:fies:financiamento:semestre:quantidade:total"
+    dataType: "integer"
+    aggregation: "max"
+    description: "Quantidade total máxima de semestres financiados"
+    tags:
+        - "superior"
+        - "fies"
+        - "max"
+-
+    name: "met:avg:es:fies:financiamento:semestre:quantidade:total"
+    dataType: "integer"
+    aggregation: "avg"
+    description: "Quantidade total média de semestres financiados"
+    tags:
+        - "superior"
+        - "fies"
+        - "avg"
+-
+    name: "met:min:es:fies:financiamento:valor:total:semestral"
+    dataType: "integer"
+    aggregation: "min"
+    description: "Valor mínimo do financiamento total semestral"
+    tags:
+        - "superior"
+        - "fies"
+        - "min"
+-
+    name: "met:max:es:fies:financiamento:valor:total:semestral"
+    dataType: "integer"
+    aggregation: "max"
+    description: "Valor máximo do financiamento total semestral"
+    tags:
+        - "superior"
+        - "fies"
+        - "max"
+-
+    name: "met:sum:es:fies:financiamento:valor:total:semestral"
+    dataType: "integer"
+    aggregation: "sum"
+    description: "Soma do valor do financiamento total semestral"
+    tags:
+        - "superior"
+        - "fies"
+        - "sum"
+-
+    name: "met:avg:es:fies:financiamento:valor:total:semestral"
+    dataType: "integer"
+    aggregation: "avg"
+    description: "Valor médio do financiamento total semestral"
+    tags:
+        - "superior"
+        - "fies"
+        - "avg"
diff --git a/config/parse/met_ibge_pib.yaml b/config/parse/met_ibge_pib.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..f0c2845e412e75d8956345e00a4cfd57c65702f7
--- /dev/null
+++ b/config/parse/met_ibge_pib.yaml
@@ -0,0 +1,120 @@
+-
+    name: "met:min:ibge:pib"
+    dataType: "integer"
+    aggregation: "min"
+    description: "Valor mínimo de PIB"
+    tags:
+        - "ibge"
+        - "min"
+-
+    name: "met:max:ibge:pib"
+    dataType: "integer"
+    aggregation: "max"
+    description: "Valor máximo de PIB"
+    tags:
+        - "ibge"
+        - "max"
+-
+    name: "met:sum:ibge:pib"
+    dataType: "integer"
+    aggregation: "sum"
+    description: "Soma do valor do PIB"
+    tags:
+        - "ibge"
+        - "sum"
+-
+    name: "met:avg:ibge:pib"
+    dataType: "integer"
+    aggregation: "avg"
+    description: "Valor médio de PIB"
+    tags:
+        - "ibge"
+        - "avg"
+-
+    name: "met:min:ibge:populacao"
+    dataType: "integer"
+    aggregation: "min"
+    description: "Quantidade mínima da população"
+    tags:
+        - "ibge"
+        - "min"
+-
+    name: "met:max:ibge:populacao"
+    dataType: "integer"
+    aggregation: "max"
+    description: "Quantidade máxima da população"
+    tags:
+        - "ibge"
+        - "max"
+-
+    name: "met:sum:ibge:populacao"
+    dataType: "integer"
+    aggregation: "sum"
+    description: "soma da quantidade da população"
+    tags:
+        - "ibge"
+        - "sum"
+-
+    name: "met:avg:ibge:populacao"
+    dataType: "integer"
+    aggregation: "avg"
+    description: "Quantidade média da população"
+    tags:
+        - "ibge"
+        - "avg"
+-
+    name: "met:min:ibge:pib:per:capita"
+    dataType: "integer"
+    aggregation: "min"
+    description: "Valor mínimo do PIB per capita"
+    tags:
+        - "ibge"
+        - "min"
+-
+    name: "met:max:ibge:pib:per:capita"
+    dataType: "integer"
+    aggregation: "max"
+    description: "Valor máximo do PIB per capita"
+    tags:
+        - "ibge"
+        - "max"
+-
+    name: "met:sum:ibge:pib:per:capita"
+    dataType: "integer"
+    aggregation: "sum"
+    description: "Soma do valor do PIB per capita"
+    tags:
+        - "ibge"
+        - "sum"
+-
+    name: "met:avg:ibge:pib:per:capita"
+    dataType: "integer"
+    aggregation: "avg"
+    description: "Valor médio do PIB per capita"
+    tags:
+        - "ibge"
+        - "avg"
+-
+    name: "met:min:ibge:renda:per:capita:nivel"
+    dataType: "integer"
+    aggregation: "min"
+    description: "Valor mínimo do nível da renda per capita"
+    tags:
+        - "ibge"
+        - "min"
+-
+    name: "met:max:ibge:renda:per:capita:nivel"
+    dataType: "integer"
+    aggregation: "max"
+    description: "Valor máximo do nível da renda per capita"
+    tags:
+        - "ibge"
+        - "max"
+-
+    name: "met:avg:ibge:renda:per:capita:nivel"
+    dataType: "integer"
+    aggregation: "avg"
+    description: "Valor médio do nível da renda per capita"
+    tags:
+        - "ibge"
+        - "avg"
diff --git a/config/parse/met_matricula.yaml b/config/parse/met_matricula.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..6f29ceba4c70648b466611dadc32362f5cd2b33b
--- /dev/null
+++ b/config/parse/met_matricula.yaml
@@ -0,0 +1,198 @@
+-
+    name: "met:min:matricula:tempo:aee:mesma:rede"
+    dataType: "integer"
+    aggregation: "min"
+    description: "Mínimo de tempo(minutos) do aluno na mesma rede (AEE)"
+    tags:
+        - "basico"
+        - "matricula"
+        - "min"
+-
+    name: "met:min:matricula:tempo:aee:outras:redes"
+    dataType: "integer"
+    aggregation: "min"
+    description: "Mínimo de tempo(minutos) do aluno em outras redes (AEE)"
+    tags:
+        - "basico"
+        - "matricula"
+        - "min"
+-
+    name: "met:min:matricula:tempo:mesma:rede"
+    dataType: "integer"
+    aggregation: "min"
+    description: "Mínimo de tempo(minutos) do aluno na mesma rede"
+    tags:
+        - "basico"
+        - "matricula"
+        - "min"
+-
+    name: "met:min:matricula:tempo:outras:redes"
+    dataType: "integer"
+    aggregation: "min"
+    description: "Mínimo de tempo(minutos) do aluno em outras redes"
+    tags:
+        - "basico"
+        - "matricula"
+        - "min"
+-
+    name: "met:avg:matricula:idade"
+    dataType: "integer"
+    aggregation: "avg"
+    description: "Idade média dos alunos"
+    tags:
+        - "basico"
+        - "matricula"
+        - "avg"
+-
+    name: "met:avg:matricula:tempo:aee:mesma:rede"
+    dataType: "integer"
+    aggregation: "avg"
+    description: "Média de tempo(minutos) do aluno na mesma rede (AEE) "
+    tags:
+        - "basico"
+        - "matricula"
+        - "avg"
+-
+    name: "met:avg:matricula:tempo:aee:outras:redes"
+    dataType: "integer"
+    aggregation: "avg"
+    description: "Média de tempo(minutos) do aluno em outras redes (AEE)"
+    tags:
+        - "basico"
+        - "matricula"
+        - "avg"
+-
+    name: "met:avg:matricula:tempo:mesma:rede"
+    dataType: "integer"
+    aggregation: "avg"
+    description: "Média de tempo(minutos) do aluno na mesma rede"
+    tags:
+        - "basico"
+        - "matricula"
+        - "avg"
+-
+    name: "met:avg:matricula:tempo:outras:redes"
+    dataType: "integer"
+    aggregation: "avg"
+    description: "Média de tempo(minutos) do aluno em outras redes"
+    tags:
+        - "basico"
+        - "matricula"
+        - "avg"
+-
+    name: "met:count:matricula:id"
+    dataType: "integer"
+    aggregation: "count"
+    description: "Contagem de alunos"
+    tags:
+        - "basico"
+        - "matricula"
+        - "count"
+-
+    name: "met:max:matricula:idade"
+    dataType: "integer"
+    aggregation: "max"
+    description: "Idade máxima dos alunos"
+    tags:
+        - "basico"
+        - "matricula"
+        - "max"
+-
+    name: "met:max:matricula:nascimento:ano"
+    dataType: "integer"
+    aggregation: "max"
+    description: "Ano máximo de nascimento dos alunos"
+    tags:
+        - "basico"
+        - "matricula"
+        - "max"
+-
+    name: "met:max:matricula:tempo:aee:mesma:rede"
+    dataType: "integer"
+    aggregation: "max"
+    description: "Máximo de tempo(minutos) do aluno na mesma rede (AEE) "
+    tags:
+        - "basico"
+        - "matricula"
+        - "max"
+-
+    name: "met:max:matricula:tempo:aee:outras:redes"
+    dataType: "integer"
+    aggregation: "max"
+    description: "Máximo de tempo(minutos) do aluno em outras redes (AEE) "
+    tags:
+        - "basico"
+        - "matricula"
+        - "max"
+-
+    name: "met:max:matricula:tempo:mesma:rede"
+    dataType: "integer"
+    aggregation: "max"
+    description: "Máximo de tempo(minutos) do aluno na mesma rede"
+    tags:
+        - "basico"
+        - "matricula"
+        - "max"
+-
+    name: "met:max:matricula:tempo:outras:redes"
+    dataType: "integer"
+    aggregation: "max"
+    description: "Máximo de tempo(minutos) do aluno em outras redes (AEE)"
+    tags:
+        - "basico"
+        - "matricula"
+        - "max"
+-
+    name: "met:min:matricula:idade"
+    dataType: "integer"
+    aggregation: "min"
+    description: "Idade mínima dos alunos"
+    tags:
+        - "basico"
+        - "matricula"
+        - "min"
+-
+    name: "met:min:matricula:nascimento:ano"
+    dataType: "integer"
+    aggregation: "min"
+    description: "Ano mínimo de nascimento de alunos"
+    tags:
+        - "basico"
+        - "matricula"
+        - "min"
+-
+    name: "met:sum:matricula:tempo:aee:mesma:rede"
+    dataType: "integer"
+    aggregation: "sum"
+    description: "Mínimo de tempo(minutos) do aluno na mesma rede (AEE)"
+    tags:
+        - "basico"
+        - "matricula"
+        - "sum"
+-
+    name: "met:sum:matricula:tempo:aee:outras:redes"
+    dataType: "integer"
+    aggregation: "sum"
+    description: "Mínimo de tempo(minutos) do aluno em outras redes (AEE)"
+    tags:
+        - "basico"
+        - "matricula"
+        - "sum"
+-
+    name: "met:sum:matricula:tempo:mesma:rede"
+    dataType: "integer"
+    aggregation: "sum"
+    description: "Mínimo de tempo(minutos) do aluno na mesma rede"
+    tags:
+        - "basico"
+        - "matricula"
+        - "sum"
+-
+    name: "met:sum:matricula:tempo:outras:redes"
+    dataType: "integer"
+    aggregation: "sum"
+    description: "Mínimo de tempo(minutos) do aluno em outras redes"
+    tags:
+        - "basico"
+        - "matricula"
+        - "sum"
diff --git a/config/parse/met_pessoas_cadunico.yaml b/config/parse/met_pessoas_cadunico.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..7672b9fd2e40dddcf5979fbb892db0d3ff8a7f3b
--- /dev/null
+++ b/config/parse/met_pessoas_cadunico.yaml
@@ -0,0 +1,343 @@
+-
+    name: "met:count:cadunico:pessoa:id"
+    dataType: "integer"
+    aggregation: "count"
+    description: "Quantidade de pessoas no cadastro único para programas sociais"
+    tags:
+        - "cad:unico"
+        - "pessoa:cad:unico"
+        - "count"
+-
+    name: "met:min:cadunico:pessoa:idade"
+    dataType: "integer"
+    aggregation: "min"
+    description: "Idade mínima das pessoas no cadastro único"
+    tags:
+        - "cad:unico"
+        - "pessoa:cad:unico"
+        - "min"
+-
+    name: "met:max:cadunico:pessoa:idade"
+    dataType: "integer"
+    aggregation: "max"
+    description: "Idade máxima das pessoas no cadastro único"
+    tags:
+        - "cad:unico"
+        - "pessoa:cad:unico"
+        - "max"
+-
+    name: "met:avg:cadunico:pessoa:idade"
+    dataType: "integer"
+    aggregation: "avg"
+    description: "Idade média das pessoas no cadastro único"
+    tags:
+        - "cad:unico"
+        - "pessoa:cad:unico"
+        - "avg"
+-
+    name: "met:min:cadunico:pessoa:remuneracao"
+    dataType: "integer"
+    aggregation: "min"
+    description: "Remuneração mínima das pessoas no cadastro único"
+    tags:
+        - "cad:unico"
+        - "pessoa:cad:unico"
+        - "min"
+
+-
+    name: "met:max:cadunico:pessoa:remuneracao"
+    dataType: "integer"
+    aggregation: "max"
+    description: "Remuneração máxima das pessoas no cadastro único"
+    tags:
+        - "cad:unico"
+        - "pessoa:cad:unico"
+        - "max"
+-
+    name: "met:sum:cadunico:pessoa:remuneracao"
+    dataType: "integer"
+    aggregation: "sum"
+    description: "Soma da remuneração das pessoas no cadastro único"
+    tags:
+        - "cad:unico"
+        - "pessoa:cad:unico"
+        - "sum"
+-
+    name: "met:avg:cadunico:pessoa:remuneracao"
+    dataType: "integer"
+    aggregation: "avg"
+    description: "Soma da remuneração das pessoas no cadastro único"
+    tags:
+        - "cad:unico"
+        - "pessoa:cad:unico"
+        - "avg"
+-
+    name: "met:min:cadunico:pessoa:quant:meses:trabalhados:ultimos:12"
+    dataType: "integer"
+    aggregation: "min"
+    description: "Quantidade mínima de meses trabalhados nos útimos 12 meses"
+    tags:
+        - "cad:unico"
+        - "pessoa:cad:unico"
+        - "min"
+-
+    name: "met:max:cadunico:pessoa:quant:meses:trabalhados:ultimos:12"
+    dataType: "integer"
+    aggregation: "max"
+    description: "Quantidade máxima de meses trabalhados nos útimos 12 meses"
+    tags:
+        - "cad:unico"
+        - "pessoa:cad:unico"
+        - "max"
+-
+    name: "met:avg:cadunico:pessoa:quant:meses:trabalhados:ultimos:12"
+    dataType: "integer"
+    aggregation: "avg"
+    description: "Quantidade média de meses trabalhados nos útimos 12 meses"
+    tags:
+        - "cad:unico"
+        - "pessoa:cad:unico"
+        - "avg"
+-
+    name: "met:min:cadunico:pessoa:renda:bruta:ultimos:12:meses"
+    dataType: "integer"
+    aggregation: "min"
+    description: "Valor mínimo da renda bruta dos últimos 12 meses"
+    tags:
+        - "cad:unico"
+        - "pessoa:cad:unico"
+        - "min"
+-
+    name: "met:max:cadunico:pessoa:renda:bruta:ultimos:12:meses"
+    dataType: "integer"
+    aggregation: "max"
+    description: "Valor máximo da renda bruta dos últimos 12 meses"
+    tags:
+        - "cad:unico"
+        - "pessoa:cad:unico"
+        - "max"
+-
+    name: "met:sum:cadunico:pessoa:renda:bruta:ultimos:12:meses"
+    dataType: "integer"
+    aggregation: "sum"
+    description: "soma do valor da renda bruta dos últimos 12 meses"
+    tags:
+        - "cad:unico"
+        - "pessoa:cad:unico"
+        - "sum"
+-
+    name: "met:avg:cadunico:pessoa:renda:bruta:ultimos:12:meses"
+    dataType: "integer"
+    aggregation: "avg"
+    description: "Valor médio da renda bruta dos últimos 12 meses"
+    tags:
+        - "cad:unico"
+        - "pessoa:cad:unico"
+        - "avg"
+-
+    name: "met:min:cadunico:pessoa:renda:doacao"
+    dataType: "integer"
+    aggregation: "min"
+    description: "Valor mínimo da renda por doação"
+    tags:
+        - "cad:unico"
+        - "pessoa:cad:unico"
+        - "min"
+-
+    name: "met:max:cadunico:pessoa:renda:doacao"
+    dataType: "integer"
+    aggregation: "max"
+    description: "Valor máximo da renda por doação"
+    tags:
+        - "cad:unico"
+        - "pessoa:cad:unico"
+        - "max"
+-
+    name: "met:sum:cadunico:pessoa:renda:doacao"
+    dataType: "integer"
+    aggregation: "sum"
+    description: "soma do valor da renda por doação"
+    tags:
+        - "cad:unico"
+        - "pessoa:cad:unico"
+        - "sum"
+-
+    name: "met:avg:cadunico:pessoa:renda:doacao"
+    dataType: "integer"
+    aggregation: "avg"
+    description: "Valor médio da renda por doação"
+    tags:
+        - "cad:unico"
+        - "pessoa:cad:unico"
+        - "avg"
+-
+    name: "met:min:cadunico:pessoa:renda:aposentadoria"
+    dataType: "integer"
+    aggregation: "min"
+    description: "Valor mínimo da renda de aposentadoria"
+    tags:
+        - "cad:unico"
+        - "pessoa:cad:unico"
+        - "min"
+-
+    name: "met:max:cadunico:pessoa:renda:aposentadoria"
+    dataType: "integer"
+    aggregation: "max"
+    description: "Valor máximo da renda de aposentadoria"
+    tags:
+        - "cad:unico"
+        - "pessoa:cad:unico"
+        - "max"
+-
+    name: "met:sum:cadunico:pessoa:renda:aposentadoria"
+    dataType: "integer"
+    aggregation: "sum"
+    description: "Soma do valor da renda de aposentadoria"
+    tags:
+        - "cad:unico"
+        - "pessoa:cad:unico"
+        - "sum"
+-
+    name: "met:avg:cadunico:pessoa:renda:aposentadoria"
+    dataType: "integer"
+    aggregation: "avg"
+    description: "Valor médio da renda de aposentadoria"
+    tags:
+        - "cad:unico"
+        - "pessoa:cad:unico"
+        - "avg"
+-
+    name: "met:min:cadunico:pessoa:renda:seguro:desemprego"
+    dataType: "integer"
+    aggregation: "min"
+    description: "Valor mínimo da renda do seguro desemprego"
+    tags:
+        - "cad:unico"
+        - "pessoa:cad:unico"
+        - "min"
+-
+    name: "met:max:cadunico:pessoa:renda:seguro:desemprego"
+    dataType: "integer"
+    aggregation: "max"
+    description: "Valor máximo da renda do seguro desemprego"
+    tags:
+        - "cad:unico"
+        - "pessoa:cad:unico"
+        - "max"
+-
+    name: "met:sum:cadunico:pessoa:renda:seguro:desemprego"
+    dataType: "integer"
+    aggregation: "sum"
+    description: "Soma do valor da renda do seguro desemprego"
+    tags:
+        - "cad:unico"
+        - "pessoa:cad:unico"
+        - "sum"
+-
+    name: "met:avg:cadunico:pessoa:renda:seguro:desemprego"
+    dataType: "integer"
+    aggregation: "avg"
+    description: "Valor médio da renda do seguro desemprego"
+    tags:
+        - "cad:unico"
+        - "pessoa:cad:unico"
+        - "avg"
+-
+    name: "met:min:cadunico:pessoa:renda:pensao"
+    dataType: "integer"
+    aggregation: "min"
+    description: "Valor mínimo da renda de pensão"
+    tags:
+        - "cad:unico"
+        - "pessoa:cad:unico"
+        - "min"
+-
+    name: "met:max:cadunico:pessoa:renda:pensao"
+    dataType: "integer"
+    aggregation: "max"
+    description: "Valor máximo da renda de pensão"
+    tags:
+        - "cad:unico"
+        - "pessoa:cad:unico"
+        - "max"
+-
+    name: "met:sum:cadunico:pessoa:renda:pensao"
+    dataType: "integer"
+    aggregation: "sum"
+    description: "Soma do valor da renda de pensão"
+    tags:
+        - "cad:unico"
+        - "pessoa:cad:unico"
+        - "sum"
+-
+    name: "met:avg:cadunico:pessoa:renda:pensao"
+    dataType: "integer"
+    aggregation: "avg"
+    description: "Valor médio da renda de pensão"
+    tags:
+        - "cad:unico"
+        - "pessoa:cad:unico"
+        - "avg"
+-
+    name: "met:min:cadunico:pessoa:renda:outras"
+    dataType: "integer"
+    aggregation: "min"
+    description: "Valor mínimo de outras rendas"
+    tags:
+        - "cad:unico"
+        - "pessoa:cad:unico"
+        - "min"
+-
+    name: "met:max:cadunico:pessoa:renda:outras"
+    dataType: "integer"
+    aggregation: "max"
+    description: "Valor máximo de outras rendas"
+    tags:
+        - "cad:unico"
+        - "pessoa:cad:unico"
+        - "max"
+-
+    name: "met:sum:cadunico:pessoa:renda:outras"
+    dataType: "integer"
+    aggregation: "sum"
+    description: "Soma do valor de outras rendas"
+    tags:
+        - "cad:unico"
+        - "pessoa:cad:unico"
+        - "sum"
+-
+    name: "met:avg:cadunico:pessoa:renda:outras"
+    dataType: "integer"
+    aggregation: "avg"
+    description: "Valor médio de outras rendas"
+    tags:
+        - "cad:unico"
+        - "pessoa:cad:unico"
+        - "avg"
+-
+    name: "met:min:cadunico:pessoa:peso"
+    dataType: "integer"
+    aggregation: "min"
+    description: "Peso mínimo da pessoa no cadastro único"
+    tags:
+        - "cad:unico"
+        - "pessoa:cad:unico"
+        - "min"
+-
+    name: "met:max:cadunico:pessoa:peso"
+    dataType: "integer"
+    aggregation: "max"
+    description: "Peso máximo da pessoa no cadastro único"
+    tags:
+        - "cad:unico"
+        - "pessoa:cad:unico"
+        - "max"
+-
+    name: "met:avg:cadunico:pessoa:peso"
+    dataType: "integer"
+    aggregation: "avg"
+    description: "Peso médio da pessoa no cadastro único"
+    tags:
+        - "cad:unico"
+        - "pessoa:cad:unico"
+        - "avg"
diff --git a/config/parse/met_pnad.yaml b/config/parse/met_pnad.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..35e9625f35d5132fc323f3bc60ac2344904d639e
--- /dev/null
+++ b/config/parse/met_pnad.yaml
@@ -0,0 +1,288 @@
+-
+    name: "met:min:pnad:nascimento:ano"
+    dataType: "integer"
+    aggregation: "min"
+    description: "Ano mínimo de nascimento das pessoas do pnad"
+    tags:
+        - "pnad"
+        - "min"
+-
+    name: "met:max:pnad:nascimento:ano"
+    dataType: "integer"
+    aggregation: "max"
+    description: "Ano máximo de nascimento das pessoas do pnad"
+    tags:
+        - "pnad"
+        - "max"
+-
+    name: "met:min:pnad:idade"
+    dataType: "integer"
+    aggregation: "min"
+    description: "Idade mínima das pessoas do pnad"
+    tags:
+        - "pnad"
+        - "min"
+-
+    name: "met:max:pnad:idade"
+    dataType: "integer"
+    aggregation: "max"
+    description: "Idade máxima das pessoas do pnad"
+    tags:
+        - "pnad"
+        - "max"
+-
+    name: "met:avg:pnad:idade"
+    dataType: "integer"
+    aggregation: "avg"
+    description: "Idade média das pessoas do pnad"
+    tags:
+        - "pnad"
+        - "avg"
+-
+    name: "met:min:pnad:peso"
+    dataType: "integer"
+    aggregation: "min"
+    description: "Peso mínimo das pessoas do pnad"
+    tags:
+        - "pnad"
+        - "min"
+-
+    name: "met:max:pnad:peso"
+    dataType: "integer"
+    aggregation: "max"
+    description: "Peso máximo das pessoas do pnad"
+    tags:
+        - "pnad"
+        - "max"
+-
+    name: "met:avg:pnad:peso"
+    dataType: "integer"
+    aggregation: "avg"
+    description: "Peso médio das pessoas do pnad"
+    tags:
+        - "pnad"
+        - "avg"
+-
+    name: "met:min:pnad:renda:per:capita:domiciliar:mensal"
+    dataType: "integer"
+    aggregation: "min"
+    description: "Valor mínimo da renda per capita domiciliar mensal"
+    tags:
+        - "pnad"
+        - "min"
+-
+    name: "met:max:pnad:renda:per:capita:domiciliar:mensal"
+    dataType: "integer"
+    aggregation: "max"
+    description: "Valor máximo da renda per capita domiciliar mensal"
+    tags:
+        - "pnad"
+        - "max"
+-
+    name: "met:sum:pnad:renda:per:capita:domiciliar:mensal"
+    dataType: "integer"
+    aggregation: "sum"
+    description: "Soma do valor da renda per capita domiciliar mensal"
+    tags:
+        - "pnad"
+        - "sum"
+-
+    name: "met:avg:pnad:renda:per:capita:domiciliar:mensal"
+    dataType: "integer"
+    aggregation: "avg"
+    description: "Valor médio da renda per capita domiciliar mensal"
+    tags:
+        - "pnad"
+        - "avg"
+-
+    name: "met:min:pnad:renda:per:capita:familiar:mensal"
+    dataType: "integer"
+    aggregation: "min"
+    description: "Valor mínimo da renda per capita familiar mensal"
+    tags:
+        - "pnad"
+        - "min"
+-
+    name: "met:max:pnad:renda:per:capita:familiar:mensal"
+    dataType: "integer"
+    aggregation: "max"
+    description: "Valor máximo da renda per capita familiar mensal"
+    tags:
+        - "pnad"
+        - "max"
+-
+    name: "met:sum:pnad:renda:per:capita:familiar:mensal"
+    dataType: "integer"
+    aggregation: "sum"
+    description: "Soma do valor da renda per capita familiar mensal"
+    tags:
+        - "pnad"
+        - "sum"
+-
+    name: "met:avg:pnad:renda:per:capita:familiar:mensal"
+    dataType: "integer"
+    aggregation: "avg"
+    description: "Valor médio da renda per capita familiar mensal"
+    tags:
+        - "pnad"
+        - "avg"
+-
+    name: "met:min:pnad:quant:anos:estudo"
+    dataType: "integer"
+    aggregation: "min"
+    description: "Quantidade mínima de anos de estudo das pessoas do pnad"
+    tags:
+        - "pnad"
+        - "min"
+-
+    name: "met:max:pnad:quant:anos:estudo"
+    dataType: "integer"
+    aggregation: "max"
+    description: "Quantidade máxima de anos de estudo das pessoas do pnad"
+    tags:
+        - "pnad"
+        - "max"
+-
+    name: "met:avg:pnad:quant:anos:estudo"
+    dataType: "integer"
+    aggregation: "avg"
+    description: "Quantidade média de anos de estudo das pessoas do pnad"
+    tags:
+        - "pnad"
+        - "avg"
+-
+    name: "met:min:pnad:trabalho:quant:horas:semanal"
+    dataType: "integer"
+    aggregation: "min"
+    description: "Quantidade mínima de horas semanais de trabalho das pessoas do pnad"
+    tags:
+        - "pnad"
+        - "min"
+-
+    name: "met:max:pnad:trabalho:quant:horas:semanal"
+    dataType: "integer"
+    aggregation: "max"
+    description: "Quantidade máxima de horas semanais de trabalho das pessoas do pnad"
+    tags:
+        - "pnad"
+        - "max"
+-
+    name: "met:avg:pnad:trabalho:quant:horas:semanal"
+    dataType: "integer"
+    aggregation: "avg"
+    description: "Quantidade média de horas semanais de trabalho das pessoas do pnad"
+    tags:
+        - "pnad"
+        - "avg"
+-
+    name: "met:min:pnad:trabalho:renda:mensal"
+    dataType: "integer"
+    aggregation: "min"
+    description: "Valor mínimo da renda mensal das pessoas do pnad"
+    tags:
+        - "pnad"
+        - "min"
+-
+    name: "met:max:pnad:trabalho:renda:mensal"
+    dataType: "integer"
+    aggregation: "max"
+    description: "Valor máximo da renda mensal das pessoas do pnad"
+    tags:
+        - "pnad"
+        - "max"
+-
+    name: "met:avg:pnad:trabalho:renda:mensal"
+    dataType: "integer"
+    aggregation: "avg"
+    description: "Valor médio da renda mensal das pessoas do pnad"
+    tags:
+        - "pnad"
+        - "avg"
+-
+    name: "met:min:pnad:trabalho2:renda:mensal"
+    dataType: "integer"
+    aggregation: "min"
+    description: "Valor mínimo da renda mensal do segundo trabalho das pessoas do pnad"
+    tags:
+        - "pnad"
+        - "min"
+-
+    name: "met:max:pnad:trabalho2:renda:mensal"
+    dataType: "integer"
+    aggregation: "max"
+    description: "Valor máximo da renda mensal do segundo trabalho das pessoas do pnad"
+    tags:
+        - "pnad"
+        - "max"
+-
+    name: "met:avg:pnad:trabalho2:renda:mensal"
+    dataType: "integer"
+    aggregation: "avg"
+    description: "Valor médio da renda mensal do segundo trabalho das pessoas do pnad"
+    tags:
+        - "pnad"
+        - "avg"
+-
+    name: "met:min:pnad:trabalho2:quant:horas:semanal"
+    dataType: "integer"
+    aggregation: "min"
+    description: "Quantidade mínima de horas semanais do segundo trabalho das pessoas do pnad"
+    tags:
+        - "pnad"
+        - "min"
+-
+    name: "met:max:pnad:trabalho2:quant:horas:semanal"
+    dataType: "integer"
+    aggregation: "max"
+    description: "Quantidade máxima de horas semanais do segundo trabalho das pessoas do pnad"
+    tags:
+        - "pnad"
+        - "max"
+-
+    name: "met:avg:pnad:trabalho2:quant:horas:semanal"
+    dataType: "integer"
+    aggregation: "avg"
+    description: "Quantidade mínima de horas semanais do segundo trabalho das pessoas do pnad"
+    tags:
+        - "pnad"
+        - "avg"
+-
+    name: "met:min:pnad:trabalho:renda:mensal:normalizada:40:horas"
+    dataType: "integer"
+    aggregation: "min"
+    description: "Valor mínimo da renda mensal normalizada em 40 horas das pessoas do pnad"
+    tags:
+        - "pnad"
+        - "min"
+-
+    name: "met:max:pnad:trabalho:renda:mensal:normalizada:40:horas"
+    dataType: "integer"
+    aggregation: "max"
+    description: "Valor máximo da renda mensal normalizada em 40 horas das pessoas do pnad"
+    tags:
+        - "pnad"
+        - "max"
+-
+    name: "met:avg:pnad:trabalho:renda:mensal:normalizada:40:horas"
+    dataType: "integer"
+    aggregation: "avg"
+    description: "Valor médio da renda mensal normalizada em 40 horas das pessoas do pnad"
+    tags:
+        - "pnad"
+        - "avg"
+-
+    name: "met:min:pnad:renda:per:capita:domiciliar:mensal:salarios"
+    dataType: "integer"
+    aggregation: "min"
+    description: "Valor mínimo da renda per capita mensal domiciliar em salários das pessoas do pnad"
+    tags:
+        - "pnad"
+        - "min"
+-
+    name: "met:max:pnad:renda:per:capita:domiciliar:mensal:salarios"
+    dataType: "integer"
+    aggregation: "max"
+    description: "Valor máximo da renda per capita mensal domiciliar em salários das pessoas do pnad"
+    tags:
+        - "pnad"
+        - "max"
diff --git a/config/parse/met_prouni.yaml b/config/parse/met_prouni.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..d054bc19cbf4fb464885eb50beccc0e73f140a2d
--- /dev/null
+++ b/config/parse/met_prouni.yaml
@@ -0,0 +1,9 @@
+-
+    name: "met:count:es:prouni:beneficiario:cpf"
+    dataType: "integer"
+    aggregation: "count"
+    description: "Quantidade de beneficiários do prouni"
+    tags:
+        - "prouni"
+        - "superior"
+        - "count"
diff --git a/config/parse/met_turma.yaml b/config/parse/met_turma.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..cddbf16217243031c8a63e5b3955f17cf80c2d8b
--- /dev/null
+++ b/config/parse/met_turma.yaml
@@ -0,0 +1,153 @@
+-
+    name: "met:avg:turma:dias:atividades"
+    dataType: "integer"
+    aggregation: "avg"
+    description: "Média de dias com atividades por turma"
+    tags:
+        - "basico"
+        - "turma"
+        - "avg"
+-
+    name: "met:avg:turma:duracao"
+    dataType: "integer"
+    aggregation: "avg"
+    description: "Duração média de funcionamento(minutos) por turma "
+    tags:
+        - "basico"
+        - "turma"
+        - "avg"
+-
+    name: "met:avg:turma:hora:inicio"
+    dataType: "integer"
+    aggregation: "avg"
+    description: "Hora média de início"
+    tags:
+        - "basico"
+        - "turma"
+        - "avg"
+-
+    name: "met:avg:turma:matricula"
+    dataType: "integer"
+    aggregation: "avg"
+    description: "Média de aluno por turma"
+    tags:
+        - "basico"
+        - "turma"
+        - "avg"
+-
+    name: "met:avg:turma:minuto:inicio"
+    dataType: "integer"
+    aggregation: "avg"
+    description: "Minuto médio de início "
+    tags:
+        - "basico"
+        - "turma"
+        - "avg"
+-
+    name: "met:count:turma:id"
+    dataType: "integer"
+    aggregation: "count"
+    description: "Contagem de turmas"
+    tags:
+        - "basico"
+        - "turma"
+        - "count"
+-
+    name: "met:max:turma:dias:atividades"
+    dataType: "integer"
+    aggregation: "max"
+    description: "Máximo de dias com atividades por turma"
+    tags:
+        - "basico"
+        - "turma"
+        - "max"
+-
+    name: "met:max:turma:duracao"
+    dataType: "integer"
+    aggregation: "max"
+    description: "Duração máxima de funcionamento (minutos) por turma"
+    tags:
+        - "basico"
+        - "turma"
+        - "max"
+-
+    name: "met:max:turma:hora:inicio"
+    dataType: "integer"
+    aggregation: "max"
+    description: "Hora máxima de início"
+    tags:
+        - "basico"
+        - "turma"
+        - "max"
+-
+    name: "met:max:turma:matricula"
+    dataType: "integer"
+    aggregation: "max"
+    description: "Máximo de alunos por turma"
+    tags:
+        - "basico"
+        - "turma"
+        - "max"
+-
+    name: "met:max:turma:minuto:inicio"
+    dataType: "integer"
+    aggregation: "max"
+    description: "Minuto máximo de início"
+    tags:
+        - "basico"
+        - "turma"
+        - "max"
+-
+    name: "met:min:turma:dias:atividades"
+    dataType: "integer"
+    aggregation: "min"
+    description: "Mínimo de dias com atividades por turma"
+    tags:
+        - "basico"
+        - "turma"
+        - "min"
+-
+    name: "met:min:turma:duracao"
+    dataType: "integer"
+    aggregation: "min"
+    description: "Duração mínima de funcionamento (minutos) por turma"
+    tags:
+        - "basico"
+        - "turma"
+        - "min"
+-
+    name: "met:min:turma:hora:inicio"
+    dataType: "integer"
+    aggregation: "min"
+    description: "Hora mínima de início"
+    tags:
+        - "basico"
+        - "turma"
+        - "min"
+-
+    name: "met:min:turma:matricula"
+    dataType: "integer"
+    aggregation: "min"
+    description: "Mínimo de alunos por turma"
+    tags:
+        - "basico"
+        - "turma"
+        - "min"
+-
+    name: "met:min:turma:minuto:inicio"
+    dataType: "integer"
+    aggregation: "min"
+    description: "Minuto mínimo de início"
+    tags:
+        - "basico"
+        - "turma"
+        - "min"
+-
+    name: "met:sum:turma:matricula"
+    dataType: "integer"
+    aggregation: "sum"
+    description: "Soma de alunos por turma"
+    tags:
+        - "basico"
+        - "turma"
+        - "sum"
diff --git a/config/parse/view_ana_aluno.yaml b/config/parse/view_ana_aluno.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..9e4aae672ce81759da1abd14e07d24a4fbecd293
--- /dev/null
+++ b/config/parse/view_ana_aluno.yaml
@@ -0,0 +1,120 @@
+-
+    alias: "view:ana:aluno"
+    origin: true
+    aliasAsName: true
+    dimensions:
+        - "dim:ana:exame:ano"
+        - "dim:regiao:id"
+        - "dim:estado:sigla"
+        - "dim:cidade:id"
+        - "dim:ana:aluno:area"
+        - "dim:ana:aluno:escola:id"
+        - "dim:escola:dependencia:administrativa:id"
+        - "dim:escola:zona:residencial"
+        - "dim:ana:aluno:turma:id"
+        - "dim:turma:turno"
+        - "dim:ana:aluno:serie:id"
+        - "dim:ana:aluno:codigo:id"
+        - "dim:ana:aluno:situacao:censo"
+        - "dim:ana:aluno:presenca:lp"
+        - "dim:ana:aluno:presenca:matematica"
+        - "dim:ana:aluno:preenchimento:lp"
+        - "dim:ana:aluno:preenchimento:matematica"
+        - "dim:ana:aluno:tipo:presenca:lp"
+        - "dim:ana:aluno:tipo:presenca:matematica"
+        - "dim:ana:aluno:sala:exclusiva:lp"
+        - "dim:ana:aluno:sala:exclusiva:matematica"
+        - "dim:ana:aluno:recurso:leitura"
+        - "dim:ana:aluno:recurso:transcricao"
+        - "dim:ana:aluno:recurso:libras"
+        - "dim:ana:aluno:recurso:guia"
+        - "dim:ana:aluno:recurso:nenhum"
+        - "dim:ana:aluno:recurso:cd"
+        - "dim:ana:aluno:recurso:dvd"
+        - "dim:ana:aluno:recurso:computador"
+        - "dim:ana:aluno:recurso:maquina:escrever"
+        - "dim:ana:aluno:recurso:televisao"
+        - "dim:ana:aluno:recurso:puncao"
+        - "dim:ana:aluno:recurso:reglete"
+        - "dim:ana:aluno:recurso:sorabam"
+        - "dim:ana:aluno:recurso:software:tela"
+        - "dim:ana:aluno:recurso:inep:leitura"
+        - "dim:ana:aluno:recurso:inep:transcricao"
+        - "dim:ana:aluno:recurso:inep:libras"
+        - "dim:ana:aluno:recurso:inep:leitor:labial"
+        - "dim:ana:aluno:recurso:inep:guia:interprete"
+        - "dim:ana:aluno:recurso:inep:nenhum"
+        - "dim:ana:aluno:recurso:inep:aplicador:extra"
+        - "dim:ana:aluno:recurso:inep:adaptada:surdo"
+        - "dim:ana:aluno:recurso:inep:prova:ampliada:fote:18"
+        - "dim:ana:aluno:recurso:inep:prova:ampliada:fote:24"
+        - "dim:ana:aluno:recurso:inep:prova:braile"
+        - "dim:ana:aluno:codigo:caderno:lp:leitura"
+        - "dim:ana:aluno:codigo:caderno:lp:escrita"
+        - "dim:ana:aluno:codigo:caderno:matematica"
+        - "dim:ana:aluno:resposta:lp"
+        - "dim:ana:aluno:resposta:matematica"
+        - "dim:ana:aluno:conceito:q1:lp"
+        - "dim:ana:aluno:conceito:q2:lp"
+        - "dim:ana:aluno:conceito:q3:ortografia"
+        - "dim:ana:aluno:conceito:q3:coesao"
+        - "dim:ana:aluno:conceito:q3:segmentacao"
+        - "dim:ana:aluno:conceito:q3:pontuacao"
+        - "dim:ana:aluno:conceito:q3:progressao:tematica"
+        - "dim:ana:aluno:conceito:q3:elementos:narrativa"
+        - "dim:ana:aluno:leitura:peso:lp"
+        - "dim:ana:aluno:leitura:proficiencia:lp"
+        - "dim:ana:aluno:leitura:proficiencia:lp:escala:0"
+        - "dim:ana:aluno:leitura:erro:padrao:lp"
+        - "dim:ana:aluno:leitura:proficiencia:lp:escala:500"
+        - "dim:ana:aluno:leitura:erro:padrao:lp:transformada"
+        - "dim:ana:aluno:escrita:peso:lp"
+        - "dim:ana:aluno:escrita:proficiencia:lp"
+        - "dim:ana:aluno:escrita:proficiencia:lp:escala:0"
+        - "dim:ana:aluno:escrita:erro:padrao:lp"
+        - "dim:ana:aluno:escrita:proficiencia:lp:escala:500"
+        - "dim:ana:aluno:escrita:erro:padrao:lp:transformada"
+        - "dim:ana:aluno:peso:matematica"
+        - "dim:ana:aluno:proficiencia:matematica"
+        - "dim:ana:aluno:proficiencia:matematica:escala:0"
+        - "dim:ana:aluno:erro:padrao:matematica"
+        - "dim:ana:aluno:proficiencia:matematica:escala:500"
+        - "dim:ana:aluno:erro:padrao:matematica:transformada"
+    metrics:
+        - "met:count:ana:aluno:codigo:id"
+        - "met:min:ana:aluno:leitura:proficiencia:lp:escala:0"
+        - "met:max:ana:aluno:leitura:proficiencia:lp:escala:0"
+        - "met:avg:ana:aluno:leitura:proficiencia:lp:escala:0"
+        - "met:min:ana:aluno:leitura:erro:padrao:lp"
+        - "met:max:ana:aluno:leitura:erro:padrao:lp"
+        - "met:avg:ana:aluno:leitura:erro:padrao:lp"
+        - "met:min:ana:aluno:leitura:proficiencia:lp:escala:500"
+        - "met:max:ana:aluno:leitura:proficiencia:lp:escala:500"
+        - "met:avg:ana:aluno:leitura:proficiencia:lp:escala:500"
+        - "met:min:ana:aluno:leitura:erro:padrao:lp:transformada"
+        - "met:max:ana:aluno:leitura:erro:padrao:lp:transformada"
+        - "met:avg:ana:aluno:leitura:erro:padrao:lp:transformada"
+        - "met:min:ana:aluno:escrita:proficiencia:lp:escala:0"
+        - "met:max:ana:aluno:escrita:proficiencia:lp:escala:0"
+        - "met:avg:ana:aluno:escrita:proficiencia:lp:escala:0"
+        - "met:min:ana:aluno:escrita:erro:padrao:lp"
+        - "met:max:ana:aluno:escrita:erro:padrao:lp"
+        - "met:avg:ana:aluno:escrita:erro:padrao:lp"
+        - "met:min:ana:aluno:escrita:proficiencia:lp:escala:500"
+        - "met:max:ana:aluno:escrita:proficiencia:lp:escala:500"
+        - "met:avg:ana:aluno:escrita:proficiencia:lp:escala:500"
+        - "met:min:ana:aluno:escrita:erro:padrao:lp:transformada"
+        - "met:max:ana:aluno:escrita:erro:padrao:lp:transformada"
+        - "met:avg:ana:aluno:escrita:erro:padrao:lp:transformada"
+        - "met:min:ana:aluno:proficiencia:matematica:escala:0"
+        - "met:max:ana:aluno:proficiencia:matematica:escala:0"
+        - "met:avg:ana:aluno:proficiencia:matematica:escala:0"
+        - "met:min:ana:aluno:erro:padrao:matematica"
+        - "met:max:ana:aluno:erro:padrao:matematica"
+        - "met:avg:ana:aluno:erro:padrao:matematica"
+        - "met:min:ana:aluno:proficiencia:matematica:escala:500"
+        - "met:max:ana:aluno:proficiencia:matematica:escala:500"
+        - "met:avg:ana:aluno:proficiencia:matematica:escala:500"   
+        - "met:min:ana:aluno:erro:padrao:matematica:transformada"
+        - "met:max:ana:aluno:erro:padrao:matematica:transformada"
+        - "met:avg:ana:aluno:erro:padrao:matematica:transformada" 
\ No newline at end of file
diff --git a/config/parse/view_ana_escola.yaml b/config/parse/view_ana_escola.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..ee8c6c7c90bed8cb07c1f5f9c064fdf7374ba892
--- /dev/null
+++ b/config/parse/view_ana_escola.yaml
@@ -0,0 +1,60 @@
+-
+    alias: "view:ana:escola"
+    origin: true
+    aliasAsName: true
+    dimensions:
+        - "dim:ana:exame:ano"
+        - "dim:regiao:id"
+        - "dim:estado:sigla"
+        - "dim:cidade:id"
+        - "dim:ana:escola:codigo"
+        - "dim:ana:escola:area"
+        - "dim:escola:dependencia:administrativa:id"
+        - "dim:escola:zona:residencial"
+        - "dim:ana:escola:adequacao:formacao:docente"
+        - "dim:ana:escola:nivel:social:economico"
+        - "dim:ana:escola:numero:matriculas:terceiro:ano"
+        - "dim:ana:escola:numero:presenca:teste"
+        - "dim:ana:escola:numero:respostas:maior:3"
+        - "dim:ana:escola:taxa:participacao:matematica"
+        - "dim:ana:escola:leitura:media:lp"
+        - "dim:ana:escola:leitura:pp:menor:426"
+        - "dim:ana:escola:leitura:pp:maior:425:menor:526"
+        - "dim:ana:escola:leitura:pp:maior:526:menor:626"
+        - "dim:ana:escola:leitura:pp:maior:625"
+        - "dim:ana:escola:leitura:ps:pp:menor:426"
+        - "dim:ana:escola:leitura:ps:pp:maior:425:menor:526"
+        - "dim:ana:escola:leitura:ps:pp:maior:526:menor:626"
+        - "dim:ana:escola:leitura:ps:pp:maior:625"
+        - "dim:ana:escola:leitura:escrita:media:lp"
+        - "dim:ana:escola:escrita:pp:menor:350"
+        - "dim:ana:escola:escrita:pp:maior:349:menor:450"
+        - "dim:ana:escola:escrita:pp:maior:449:menor:500"
+        - "dim:ana:escola:escrita:pp:maior:499:menor:600"
+        - "dim:ana:escola:escrita:pp:maior:600"
+        - "dim:ana:escola:escrita:ps:pp:menor:350"
+        - "dim:ana:escola:escrita:ps:pp:maior:349:menor:450"
+        - "dim:ana:escola:escrita:ps:pp:maior:449:menor:500"
+        - "dim:ana:escola:escrita:ps:pp:maior:499:menor:600"
+        - "dim:ana:escola:escrita:ps:pp:maior:599"
+        - "dim:ana:escola:matematica:presenca:teste"
+        - "dim:ana:escola:matematica:respostas:maior:3"
+        - "dim:ana:escola:matematica:taxa:participacao"
+        - "dim:ana:escola:media:matematica"
+        - "dim:ana:escola:matematica:pp:menor:426"
+        - "dim:ana:escola:matematica:pp:maior:425:menor:526"
+        - "dim:ana:escola:matematica:pp:maior:525:menor:576"
+        - "dim:ana:escola:matematica:pp:maior:575"
+        - "dim:ana:escola:matematica:ps:pp:menor:426"
+        - "dim:ana:escola:matematica:ps:pp:maior:425:menor:526"
+        - "dim:ana:escola:matematica:ps:pp:maior:525:menor:576"
+    metrics:
+        - "met:min:ana:escola:leitura:media:lp"
+        - "met:max:ana:escola:leitura:media:lp"
+        - "met:avg:ana:escola:leitura:media:lp"
+        - "met:min:ana:escola:leitura:escrita:media:lp"
+        - "met:max:ana:escola:leitura:escrita:media:lp"
+        - "met:avg:ana:escola:leitura:escrita:media:lp"
+        - "met:min:ana:escola:media:matematica"
+        - "met:max:ana:escola:media:matematica"
+        - "met:avg:ana:escola:media:matematica"
\ No newline at end of file
diff --git a/config/parse/view_ana_item.yaml b/config/parse/view_ana_item.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..657e9ceaca56aa574f630efff485ba9a239561db
--- /dev/null
+++ b/config/parse/view_ana_item.yaml
@@ -0,0 +1,13 @@
+-
+    alias: "view:ana:item"
+    origin: true
+    aliasAsName: true
+    dimensions:
+        - "dim:ana:aluno:serie:id"
+        - "dim:ana:item:tipo:prova"
+        - "dim:ana:item:disciplina"
+        - "dim:ana:item:bloco:id"
+        - "dim:ana:item:posicao:id"
+        - "dim:ana:item:item:id"
+        - "dim:ana:item:descritor:habilidade"
+        - "dim:ana:item:gabarito"
diff --git a/config/parse/view_docente.yaml b/config/parse/view_docente.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..d97e30b1827025be3b8659e2fe1fe1beb6b676e0
--- /dev/null
+++ b/config/parse/view_docente.yaml
@@ -0,0 +1,95 @@
+-
+    alias: "view:docente"
+    origin: true
+    aliasAsName: true
+    dimensions:
+        - "dim:docente:censo:ano"
+        - "dim:docente:id"
+        - "dim:docente:nascimento:dia"
+        - "dim:docente:nascimento:mes"
+        - "dim:docente:nascimento:ano"
+        - "dim:docente:idade"
+        - "dim:docente:sexo"
+        - "dim:docente:raca"
+        - "dim:docente:nacionalidade"
+        - "dim:docente:pais:origem"
+        - "dim:docente:cidade:nascimento:id"
+        - "dim:docente:cidade:residencia:id"
+        - "dim:docente:zona:residencial"
+        - "dim:docente:necessidade:especial"
+        - "dim:docente:cegueira"
+        - "dim:docente:baixa:visao"
+        - "dim:docente:surdez"
+        - "dim:docente:deficiencia:auditiva"
+        - "dim:docente:surdocegueira"
+        - "dim:docente:deficiencia:fisica"
+        - "dim:docente:deficiencia:intelectual"
+        - "dim:docente:deficiencia:multipla"
+        - "dim:docente:curso1:situacao"
+        - "dim:docente:curso1:codigo"
+        - "dim:docente:curso1:licenciatura"
+        - "dim:docente:curso1:formacao:pedagogica"
+        - "dim:docente:curso1:ano:inicio"
+        - "dim:docente:curso1:ano:conclusao"
+        - "dim:docente:curso1:instituicao:id"
+        - "dim:docente:curso2:situacao"
+        - "dim:docente:curso2:codigo"
+        - "dim:docente:curso2:licenciatura"
+        - "dim:docente:curso2:formacao:pedagogica"
+        - "dim:docente:curso2:ano:inicio"
+        - "dim:docente:curso2:ano:conclusao"
+        - "dim:docente:curso2:instituicao:id"
+        - "dim:docente:curso3:situacao"
+        - "dim:docente:curso3:codigo"
+        - "dim:docente:curso3:licenciatura"
+        - "dim:docente:curso3:formacao:pedagogica"
+        - "dim:docente:curso3:ano:inicio"
+        - "dim:docente:curso3:ano:conclusao"
+        - "dim:docente:curso3:instituicao:id"
+        - "dim:docente:especializacao"
+        - "dim:docente:mestrado"
+        - "dim:docente:doutorado"
+        - "dim:docente:nenhuma:pos:graduacao"
+        - "dim:docente:especifico:creche"
+        - "dim:docente:especifico:pre:escola"
+        - "dim:docente:especifico:anos:iniciais"
+        - "dim:docente:especifico:anos:finais"
+        - "dim:docente:especifico:ensino:medio"
+        - "dim:docente:especifico:eja"
+        - "dim:docente:especifico:educacao:especial"
+        - "dim:docente:especifico:educacao:indigena"
+        - "dim:docente:especifico:campo"
+        - "dim:docente:especifico:ambiental"
+        - "dim:docente:especifico:direitos:humanos"
+        - "dim:docente:especifico:diversidade:sexual"
+        - "dim:docente:especifico:direito:infantil"
+        - "dim:docente:especifico:afro"
+        - "dim:docente:especifico:outros"
+        - "dim:docente:especifico:nenhum"
+        - "dim:docente:funcao"
+        - "dim:docente:contratacao"
+        - "dim:turma:id"
+        - "dim:escola:id"
+        - "dim:docente:ensino:medio:normal:magisterio"
+        - "dim:docente:etapa:ensino"
+        - "dim:docente:nivel:formacao"
+
+    metrics:
+        - "met:count:docente:id"
+        - "met:min:docente:nascimento:ano"
+        - "met:max:docente:nascimento:ano"
+        - "met:avg:docente:idade"
+        - "met:min:docente:idade"
+        - "met:max:docente:idade"
+        - "met:min:docente:curso1:ano:inicio"
+        - "met:max:docente:curso1:ano:inicio"
+        - "met:min:docente:curso1:ano:conclusao"
+        - "met:max:docente:curso1:ano:conclusao"
+        - "met:min:docente:curso2:ano:inicio"
+        - "met:max:docente:curso2:ano:inicio"
+        - "met:min:docente:curso2:ano:conclusao"
+        - "met:max:docente:curso2:ano:conclusao"
+        - "met:min:docente:curso3:ano:inicio"
+        - "met:max:docente:curso3:ano:inicio"
+        - "met:min:docente:curso3:ano:conclusao"
+        - "met:max:docente:curso3:ano:conclusao"
diff --git a/config/parse/view_es_aluno.yaml b/config/parse/view_es_aluno.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..9a4e847ca40d249af90c7cba6a15b68e808f74a7
--- /dev/null
+++ b/config/parse/view_es_aluno.yaml
@@ -0,0 +1,132 @@
+- 
+    alias: "view:es:aluno"
+    origin: true
+    aliasAsName: true
+    dimensions:
+        - "dim:es:curso:id"
+        - "dim:es:aluno:turno:cod"
+        - "dim:es:aluno:turno:nome"
+        - "dim:es:aluno:grau:academico:cod"
+        - "dim:es:aluno:grau:academico:nome"
+        - "dim:es:aluno:modalidade:ensino:cod"
+        - "dim:es:aluno:modalidade:ensino:nome"
+        - "dim:es:aluno:nivel:academico:cod"
+        - "dim:es:aluno:nivel:academico:nome"
+        - "dim:es:aluno:curso:cod"
+        - "dim:es:aluno:id"
+        - "dim:es:aluno:raca:cod"
+        - "dim:es:aluno:raca:nome"
+        - "dim:es:aluno:sexo:cod"
+        - "dim:es:aluno:sexo:nome"
+        - "dim:es:aluno:nascimento:ano"
+        - "dim:es:aluno:nascimento:mes"
+        - "dim:es:aluno:nascimento:dia"
+        - "dim:es:aluno:idade"
+        - "dim:es:aluno:nacionalidade:cod"
+        - "dim:es:aluno:nacionalidade:nome"
+        - "dim:es:aluno:pais:origem:cod"
+        - "dim:es:aluno:nascimento:estado:id"
+        - "dim:es:aluno:nascimento:cidade:id"
+        - "dim:es:aluno:situacao:cod"
+        - "dim:es:aluno:situacao:nome"
+        - "dim:es:aluno:situacao:intelectual"
+        - "dim:es:aluno:deficiencia:auditiva"
+        - "dim:es:aluno:deficiencia:fisica"
+        - "dim:es:aluno:deficiencia:intelectual"
+        - "dim:es:aluno:deficiencia:multipla"
+        - "dim:es:aluno:deficiencia:surdez"
+        - "dim:es:aluno:deficiencia:surdocegueira"
+        - "dim:es:aluno:deficiencia:baixa:visao"
+        - "dim:es:aluno:deficiencia:cegueira"
+        - "dim:es:aluno:deficiencia:superdotacao"
+        - "dim:es:aluno:transtorno:autismo:infantil"
+        - "dim:es:aluno:sindrome:asperger"
+        - "dim:es:aluno:sindrome:rett"
+        - "dim:es:aluno:transtorno:desintegrativo"
+        - "dim:es:aluno:ingresso:data"
+        - "dim:es:aluno:ingresso:reserva:vaga"
+        - "dim:es:aluno:bolsa:estudantil"
+        - "dim:es:aluno:ingresso:vestibular"
+        - "dim:es:aluno:ingresso:enem"
+        - "dim:es:aluno:ingresso:convenio:pecg"
+        - "dim:es:aluno:ingresso:reserva:vaga:etnico"
+        - "dim:es:aluno:ingresso:reserva:vaga:deficiencia"
+        - "dim:es:aluno:ingresso:reserva:vaga:ensino:publico"
+        - "dim:es:aluno:ingresso:reserva:vaga:renda:familiar"
+        - "dim:es:aluno:bolsa:reembolsavel:fies"
+        - "dim:es:aluno:bolsa:reembolsavel:estadual"
+        - "dim:es:aluno:bolsa:reembolsavel:municipal"
+        - "dim:es:aluno:bolsa:reembolsavel:prog:ies"
+        - "dim:es:aluno:bolsa:reembolsavel:entidade:externa"
+        - "dim:es:aluno:bolsa:nao:reembolsavel:prouni:integral"
+        - "dim:es:aluno:bolsa:nao:reembolsavel:prouni:parcial"
+        - "dim:es:aluno:bolsa:nao:reembolsavel:estadual"
+        - "dim:es:aluno:bolsa:nao:reembolsavel:municipal"
+        - "dim:es:aluno:bolsa:nao:reembolsavel:prog:ies"
+        - "dim:es:aluno:bolsa:nao:reembolsavel:entidade:externa"
+        - "dim:es:aluno:apoio:social"
+        - "dim:es:aluno:apoio:alimentacao"
+        - "dim:es:aluno:apoio:bolsa:permanencia"
+        - "dim:es:aluno:apoio:bolsa:trabalho"
+        - "dim:es:aluno:apoio:material:didatico"
+        - "dim:es:aluno:apoio:moradia"
+        - "dim:es:aluno:apoio:transporte"
+        - "dim:es:aluno:atividade:extracurricular"
+        - "dim:es:aluno:estagio:nao:obrigatorio"
+        - "dim:es:aluno:atividade:extracurricular:extensao"
+        - "dim:es:aluno:atividade:extracurricular:monitoria"
+        - "dim:es:aluno:atividade:extracurricular:pesquisa"
+        - "dim:es:aluno:bolsa:estagio"
+        - "dim:es:aluno:bolsa:extensao"
+        - "dim:es:aluno:bolsa:monitoria"
+        - "dim:es:aluno:bolsa:pesquisa"
+        - "dim:es:aluno:programa:especial:formacao:professor"
+        - "dim:es:aluno:matriculado"
+        - "dim:es:aluno:concluinte"
+        - "dim:es:aluno:ingressante"
+        - "dim:es:aluno:ingresso:ano"
+        - "dim:es:aluno:bolsa:reembolsavel:outra"
+        - "dim:es:aluno:bolsa:nao:reembolsavel:outra"
+        - "dim:es:aluno:ingresso:outras:formas"
+        - "dim:es:aluno:semestre:conclusao:cod"
+        - "dim:es:aluno:ingresso:avaliacao:seriada"
+        - "dim:es:aluno:ingresso:transferencia:exofficio"
+        - "dim:es:aluno:ingresso:decisao:judicial"
+        - "dim:es:aluno:pais:origem:nome"
+        - "dim:es:aluno:nascimento:estado:nome"
+        - "dim:es:aluno:nascimento:cidade:nome"
+        - "dim:es:aluno:ingresso:outra:selecao"
+        - "dim:es:aluno:ingresso:reserva:vaga:outro"
+        - "dim:es:aluno:tipo:escola:ensino:medio"
+        - "dim:es:aluno:ingresso:processo:seletivo"
+        - "dim:es:aluno:curso:origem:cod"
+        - "dim:es:aluno:ingresso:selecao:simplificada"
+        - "dim:es:aluno:ingresso:reserva:vaga:remanescente"
+        - "dim:es:aluno:ingresso:reserva:vaga:especiais"
+        - "dim:es:aluno:semestre:referencia"
+        - "dim:es:aluno:mobilidade:academica"
+        - "dim:es:aluno:mobilidade:academica:tipo"
+        - "dim:es:aluno:mobilidade:academica:internacional"
+        - "dim:es:aluno:mobilidade:academica:ies:destino"
+        - "dim:es:aluno:mobilidade:academica:pais:destino"
+        - "dim:es:aluno:ingresso:vaga:nova"
+        - "dim:es:aluno:quantidade:carga:horaria:total"
+        - "dim:es:aluno:quantidade:carga:horaria:integral"
+        - "dim:es:aluno:censo:ano"
+    metrics:
+        - "met:count:es:aluno:id"
+        - "met:min:es:aluno:nascimento:ano"
+        - "met:max:es:aluno:nascimento:ano"
+        - "met:avg:es:aluno:idade"
+        - "met:min:es:aluno:idade"
+        - "met:max:es:aluno:idade"
+        - "met:min:es:aluno:ingresso:ano"
+        - "met:max:es:aluno:ingresso:ano"
+        - "met:sum:es:aluno:quantidade:carga:horaria:total"
+        - "met:avg:es:aluno:quantidade:carga:horaria:total"
+        - "met:min:es:aluno:quantidade:carga:horaria:total"
+        - "met:max:es:aluno:quantidade:carga:horaria:total"
+        - "met:sum:es:aluno:quantidade:carga:horaria:integral"
+        - "met:avg:es:aluno:quantidade:carga:horaria:integral"
+        - "met:min:es:aluno:quantidade:carga:horaria:integral"
+        - "met:max:es:aluno:quantidade:carga:horaria:integral"
diff --git a/config/parse/view_es_curso.yaml b/config/parse/view_es_curso.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..a24f820a2a5dce470198687350c09b5d23be0339
--- /dev/null
+++ b/config/parse/view_es_curso.yaml
@@ -0,0 +1,398 @@
+-
+    alias: "view:es:curso"
+    origin: true
+    aliasAsName: true
+    dimensions:
+        - "dim:es:instituicao:id"
+        - "dim:es:curso:capital"
+        - "dim:es:curso:id"
+        - "dim:es:curso:nome"
+        - "dim:es:curso:ocde:cod"
+        - "dim:es:curso:ocde:grau:academico:cod"
+        - "dim:es:curso:ocde:grau:academico:nome"
+        - "dim:es:curso:ocde:modalidade:ensino:cod"
+        - "dim:es:curso:ocde:modalidade:ensino:nome"
+        - "dim:es:curso:ocde:nivel:academico:cod"
+        - "dim:es:curso:ocde:nivel:academico:nome"
+        - "dim:es:curso:gratuito"
+        - "dim:es:curso:tipo:ingresso"
+        - "dim:es:curso:carga:horaria"
+        - "dim:es:curso:data:inicio:funcionamento"
+        - "dim:es:curso:ajuda:deficiente"
+        - "dim:es:curso:material:digital"
+        - "dim:es:curso:material:ampliado"
+        - "dim:es:curso:material:tatil"
+        - "dim:es:curso:material:impresso"
+        - "dim:es:curso:material:audio"
+        - "dim:es:curso:material:braille"
+        - "dim:es:curso:disciplina:libras"
+        - "dim:es:curso:guia:interprete"
+        - "dim:es:curso:material:libras"
+        - "dim:es:curso:recursos:comunicacao"
+        - "dim:es:curso:recursos:informatica"
+        - "dim:es:curso:tradutor:libras"
+        - "dim:es:curso:integral"
+        - "dim:es:curso:matutino"
+        - "dim:es:curso:noturno"
+        - "dim:es:curso:vespertino"
+        - "dim:es:curso:matutino:prazo:integralizacao"
+        - "dim:es:curso:vespertino:prazo:integralizacao"
+        - "dim:es:curso:noturno:prazo:integralizacao"
+        - "dim:es:curso:integral:prazo:integralizacao"
+        - "dim:es:curso:ead:prazo:integralizacao"
+        - "dim:es:curso:possui:laboratorio"
+        - "dim:es:curso:quantidade:matricula"
+        - "dim:es:curso:quantidade:concluinte"
+        - "dim:es:curso:quantidade:ingresso"
+        - "dim:es:curso:autorizacao:data"
+        - "dim:es:curso:oferece:disciplina:distancia"
+        - "dim:es:curso:percentual:carga:horaria:distancia"
+        - "dim:es:curso:ead:quantidade:inscritos:ies"
+        - "dim:es:curso:ead:quantidade:vagas"
+        - "dim:es:curso:integral:quantidade:vagas"
+        - "dim:es:curso:matutino:quantidade:vagas"
+        - "dim:es:curso:vespertino:quantidade:vagas"
+        - "dim:es:curso:noturno:quantidade:vagas"
+        - "dim:es:curso:matutino:quantidade:inscritos"
+        - "dim:es:curso:vespertino:quantidade:inscritos"
+        - "dim:es:curso:noturno:quantidade:inscritos"
+        - "dim:es:curso:integral:quantidade:inscritos"
+        - "dim:es:curso:quantidade:ingresso:outra:forma"
+        - "dim:es:curso:situacao:cod"
+        - "dim:es:curso:situacao:nome"
+        - "dim:es:curso:oferece:disciplina:semi:presencial"
+        - "dim:es:curso:percentual:carga:horaria:semi:presencial"
+        - "dim:es:curso:ead:quantidade:inscritos:principal"
+        - "dim:es:curso:ead:quantidade:vagas:principal"
+        - "dim:es:curso:integral:quantidade:vagas:principal"
+        - "dim:es:curso:matutino:quantidade:vagas:principal"
+        - "dim:es:curso:noturno:quantidade:vagas:principal"
+        - "dim:es:curso:vespertino:quantidade:vagas:principal"
+        - "dim:es:curso:matutino:quantidade:inscritos:principal"
+        - "dim:es:curso:vespertino:quantidade:inscritos:principal"
+        - "dim:es:curso:noturno:quantidade:inscritos:principal"
+        - "dim:es:curso:integral:quantidade:inscritos:principal"
+        - "dim:es:curso:ead:quantidade:inscritos:outras"
+        - "dim:es:curso:ead:quantidade:vagas:outras"
+        - "dim:es:curso:integral:quantidade:vagas:outras"
+        - "dim:es:curso:matutino:quantidade:vagas:outras"
+        - "dim:es:curso:noturno:quantidade:vagas:outras"
+        - "dim:es:curso:vespertino:quantidade:vagas:outras"
+        - "dim:es:curso:matutino:quantidade:inscritos:outras"
+        - "dim:es:curso:vespertino:quantidade:inscritos:outras"
+        - "dim:es:curso:noturno:quantidade:inscritos:outras"
+        - "dim:es:curso:integral:quantidade:inscritos:outras"
+        - "dim:es:curso:quantidade:ingresso:processo:seletivo"
+        - "dim:es:curso:integral:quantidade:inscritos:vagas:novas"
+        - "dim:es:curso:matutino:quantidade:inscritos:vagas:novas"
+        - "dim:es:curso:vespertino:quantidade:inscritos:vagas:novas"
+        - "dim:es:curso:noturno:quantidade:inscritos:vagas:novas"
+        - "dim:es:curso:ead:quantidade:inscritos:vagas:novas"
+        - "dim:es:curso:integral:quantidade:inscritos:remanescentes"
+        - "dim:es:curso:matutino:quantidade:inscritos:remanescentes"
+        - "dim:es:curso:vespertino:quantidade:inscritos:remanescentes"
+        - "dim:es:curso:noturno:quantidade:inscritos:remanescentes"
+        - "dim:es:curso:ead:quantidade:inscritos:remanescentes"
+        - "dim:es:curso:integral:quantidade:inscritos:programa:especial"
+        - "dim:es:curso:matutino:quantidade:inscritos:programa:especial"
+        - "dim:es:curso:vespertino:quantidade:inscritos:programa:especial"
+        - "dim:es:curso:noturno:quantidade:inscritos:programa:especial"
+        - "dim:es:curso:ead:quantidade:inscritos:programa:especial"
+        - "dim:es:curso:integral:quantidade:vagas:novas"
+        - "dim:es:curso:matutino:quantidade:vagas:novas"
+        - "dim:es:curso:vespertino:quantidade:vagas:novas"
+        - "dim:es:curso:noturno:quantidade:vagas:novas"
+        - "dim:es:curso:ead:quantidade:vagas:novas"
+        - "dim:es:curso:integral:quantidade:vagas:remanescentes"
+        - "dim:es:curso:matutino:quantidade:vagas:remanescentes"
+        - "dim:es:curso:vespertino:quantidade:vagas:remanescentes"
+        - "dim:es:curso:noturno:quantidade:vagas:remanescentes"
+        - "dim:es:curso:ead:quantidade:vagas:remanescentes"
+        - "dim:es:curso:integral:quantidade:vagas:programa:especial"
+        - "dim:es:curso:matutino:quantidade:vagas:programa:especial"
+        - "dim:es:curso:vespertino:quantidade:vagas:programa:especial"
+        - "dim:es:curso:noturno:quantidade:vagas:programa:especial"
+        - "dim:es:curso:ead:quantidade:vagas:programa:especial"
+        - "dim:es:curso:quantidade:vagas:novas"
+        - "dim:es:curso:local:oferta:cod"
+        - "dim:es:curso:quantidade:vagas:totais"
+        - "dim:es:curso:sintese:voz"
+        - "dim:es:curso:censo:ano"
+    metrics:
+        - "met:count:es:curso:id"
+        - "met:sum:es:curso:carga:horaria"
+        - "met:avg:es:curso:carga:horaria"
+        - "met:min:es:curso:carga:horaria"
+        - "met:max:es:curso:carga:horaria"
+        - "met:sum:es:curso:quant:matricula"
+        - "met:avg:es:curso:quant:matricula"
+        - "met:min:es:curso:quant:matricula"
+        - "met:max:es:curso:quant:matricula"
+        - "met:sum:es:curso:quant:concluinte"
+        - "met:avg:es:curso:quant:concluinte"
+        - "met:max:es:curso:quant:concluinte"
+        - "met:min:es:curso:quant:concluinte"
+        - "met:sum:es:curso:quant:ingresso"
+        - "met:avg:es:curso:quant:ingresso"
+        - "met:max:es:curso:quant:ingresso"
+        - "met:min:es:curso:quant:ingresso"
+        - "met:min:es:curso:percentual:carga:horaria:distancia"
+        - "met:max:es:curso:percentual:carga:horaria:distancia"
+        - "met:sum:es:curso:ead:quant:inscritos:ies"
+        - "met:avg:es:curso:ead:quant:inscritos:ies"
+        - "met:max:es:curso:ead:quant:inscritos:ies"
+        - "met:min:es:curso:ead:quant:inscritos:ies"
+        - "met:sum::es:curso:ead:quant:vagas"
+        - "met:avg::es:curso:ead:quant:vagas"
+        - "met:max::es:curso:ead:quant:vagas"
+        - "met:min::es:curso:ead:quant:vagas"
+        - "met:sum:es:curso:integral:quant:vagas"
+        - "met:avg:es:curso:integral:quant:vagas"
+        - "met:max:es:curso:integral:quant:vagas"
+        - "met:min:es:curso:integral:quant:vagas"
+        - "met:sum:es:curso:matutino:quant:vagas"
+        - "met:avg:es:curso:matutino:quant:vagas"
+        - "met:max:es:curso:matutino:quant:vagas"
+        - "met:min:es:curso:matutino:quant:vagas"
+        - "met:sum:es:curso:vespertino:quant:vagas"
+        - "met:avg:es:curso:vespertino:quant:vagas"
+        - "met:max:es:curso:vespertino:quant:vagas"
+        - "met:min:es:curso:vespertino:quant:vagas"
+        - "met:sum:es:curso:noturno:quant:vagas"
+        - "met:avg:es:curso:noturno:quant:vagas"
+        - "met:max:es:curso:noturno:quant:vagas"
+        - "met:min:es:curso:noturno:quant:vagas"
+        - "met:sum:es:curso:matutino:quant:inscritos"
+        - "met:avg:es:curso:matutino:quant:inscritos"
+        - "met:max:es:curso:matutino:quant:inscritos"
+        - "met:min:es:curso:matutino:quant:inscritos"
+        - "met:sum:es:curso:vespertino:quant:inscritos"
+        - "met:avg:es:curso:vespertino:quant:inscritos"
+        - "met:max:es:curso:vespertino:quant:inscritos"
+        - "met:min:es:curso:vespertino:quant:inscritos"
+        - "met:sum:es:curso:noturno:quant:inscritos"
+        - "met:avg:es:curso:noturno:quant:inscritos"
+        - "met:max:es:curso:noturno:quant:inscritos"
+        - "met:min:es:curso:noturno:quant:inscritos"
+        - "met:sum:es:curso:integral:quant:inscritos"
+        - "met:avg:es:curso:integral:quant:inscritos"
+        - "met:max:es:curso:integral:quant:inscritos"
+        - "met:min:es:curso:integral:quant:inscritos"
+        - "met:sum:es:curso:quant:ingresso:outra:forma"
+        - "met:avg:es:curso:quant:ingresso:outra:forma"
+        - "met:max:es:curso:quant:ingresso:outra:forma"
+        - "met:min:es:curso:quant:ingresso:outra:forma"
+        - "met:max:es:curso:percentual:carga:horaria:semi:presencial"
+        - "met:min:es:curso:percentual:carga:horaria:semi:presencial"
+        - "met:sum:es:curso:ead:quant:inscritos:principal"
+        - "met:avg:es:curso:ead:quant:inscritos:principal"
+        - "met:max:es:curso:ead:quant:inscritos:principal"
+        - "met:min:es:curso:ead:quant:inscritos:principal"
+        - "met:sum:es:curso:ead:quant:vagas:principal"
+        - "met:avg:es:curso:ead:quant:vagas:principal"
+        - "met:max:es:curso:ead:quant:vagas:principal"
+        - "met:min:es:curso:ead:quant:vagas:principal"
+        - "met:sum:es:curso:integral:quant:vagas:principal"
+        - "met:avg:es:curso:integral:quant:vagas:principal"
+        - "met:max:es:curso:integral:quant:vagas:principal"
+        - "met:min:es:curso:integral:quant:vagas:principal"
+        - "met:sum:es:curso:matutino:quant:vagas:principal"
+        - "met:avg:es:curso:matutino:quant:vagas:principal"
+        - "met:max:es:curso:matutino:quant:vagas:principal"
+        - "met:min:es:curso:matutino:quant:vagas:principal"
+        - "met:sum:es:curso:noturno:quant:vagas:principal"
+        - "met:avg:es:curso:noturno:quant:vagas:principal"
+        - "met:max:es:curso:noturno:quant:vagas:principal"
+        - "met:min:es:curso:noturno:quant:vagas:principal"
+        - "met:sum:es:curso:vespertino:quant:vagas:principal"
+        - "met:avg:es:curso:vespertino:quant:vagas:principal"
+        - "met:max:es:curso:vespertino:quant:vagas:principal"
+        - "met:min:es:curso:vespertino:quant:vagas:principal"
+        - "met:sum:es:curso:matutino:quant:inscritos:principal"
+        - "met:avg:es:curso:matutino:quant:inscritos:principal"
+        - "met:max:es:curso:matutino:quant:inscritos:principal"
+        - "met:min:es:curso:matutino:quant:inscritos:principal"
+        - "met:sum:es:curso:vespertino:quant:inscritos:principal"
+        - "met:avg:es:curso:vespertino:quant:inscritos:principal"
+        - "met:max:es:curso:vespertino:quant:inscritos:principal"
+        - "met:min:es:curso:vespertino:quant:inscritos:principal"
+        - "met:sum:es:curso:noturno:quant:inscritos:principal"
+        - "met:avg:es:curso:noturno:quant:inscritos:principal"
+        - "met:max:es:curso:noturno:quant:inscritos:principal"
+        - "met:min:es:curso:noturno:quant:inscritos:principal"
+        - "met:sum:es:curso:integral:quant:inscritos:principal"
+        - "met:avg:es:curso:integral:quant:inscritos:principal"
+        - "met:max:es:curso:integral:quant:inscritos:principal"
+        - "met:min:es:curso:integral:quant:inscritos:principal"
+        - "met:sum:es:curso:ead:quant:inscritos:outras"
+        - "met:avg:es:curso:ead:quant:inscritos:outras"
+        - "met:max:es:curso:ead:quant:inscritos:outras"
+        - "met:min:es:curso:ead:quant:inscritos:outras"
+        - "met:sum:es:curso:ead:quant:vagas:outras"
+        - "met:avg:es:curso:ead:quant:vagas:outras"
+        - "met:max:es:curso:ead:quant:vagas:outras"
+        - "met:min:es:curso:ead:quant:vagas:outras"
+        - "met:sum:es:curso:integral:quant:vagas:outras"
+        - "met:avg:es:curso:integral:quant:vagas:outras"
+        - "met:max:es:curso:integral:quant:vagas:outras"
+        - "met:min:es:curso:integral:quant:vagas:outras"
+        - "met:sum:es:curso:matutino:quant:vagas:outras"
+        - "met:avg:es:curso:matutino:quant:vagas:outras"
+        - "met:max:es:curso:matutino:quant:vagas:outras"
+        - "met:min:es:curso:matutino:quant:vagas:outras"
+        - "met:sum:es:curso:noturno:quant:vagas:outras"
+        - "met:avg:es:curso:noturno:quant:vagas:outras"
+        - "met:max:es:curso:noturno:quant:vagas:outras"
+        - "met:min:es:curso:noturno:quant:vagas:outras"
+        - "met:sum:es:curso:vespertino:quant:vagas:outras"
+        - "met:avg:es:curso:vespertino:quant:vagas:outras"
+        - "met:max:es:curso:vespertino:quant:vagas:outras"
+        - "met:min:es:curso:vespertino:quant:vagas:outras"
+        - "met:sum:es:curso:matutino:quant:inscritos:outras"
+        - "met:avg:es:curso:matutino:quant:inscritos:outras"
+        - "met:max:es:curso:matutino:quant:inscritos:outras"
+        - "met:min:es:curso:matutino:quant:inscritos:outras"
+        - "met:sum:es:curso:vespertino:quant:inscritos:outras"
+        - "met:avg:es:curso:vespertino:quant:inscritos:outras"
+        - "met:max:es:curso:vespertino:quant:inscritos:outras"
+        - "met:min:es:curso:vespertino:quant:inscritos:outras"
+        - "met:sum:es:curso:noturno:quant:inscritos:outras"
+        - "met:avg:es:curso:noturno:quant:inscritos:outras"
+        - "met:max:es:curso:noturno:quant:inscritos:outras"
+        - "met:min:es:curso:noturno:quant:inscritos:outras"
+        - "met:sum:es:curso:integral:quant:inscritos:outras"
+        - "met:avg:es:curso:integral:quant:inscritos:outras"
+        - "met:max:es:curso:integral:quant:inscritos:outras"
+        - "met:min:es:curso:integral:quant:inscritos:outras"
+        - "met:sum:es:curso:quant:ingresso:processo:seletivo"
+        - "met:avg:es:curso:quant:ingresso:processo:seletivo"
+        - "met:max:es:curso:quant:ingresso:processo:seletivo"
+        - "met:min:es:curso:quant:ingresso:processo:seletivo"
+        - "met:sum:es:curso:integral:quant:inscritos:vagas:novas"
+        - "met:avg:es:curso:integral:quant:inscritos:vagas:novas"
+        - "met:max:es:curso:integral:quant:inscritos:vagas:novas"
+        - "met:min:es:curso:integral:quant:inscritos:vagas:novas"
+        - "met:sum:es:curso:matutino:quant:inscritos:vagas:novas"
+        - "met:avg:es:curso:matutino:quant:inscritos:vagas:novas"
+        - "met:max:es:curso:matutino:quant:inscritos:vagas:novas"
+        - "met:min:es:curso:matutino:quant:inscritos:vagas:novas"
+        - "met:sum:es:curso:vespertino:quant:inscritos:vagas:novas"
+        - "met:avg:es:curso:vespertino:quant:inscritos:vagas:novas"
+        - "met:max:es:curso:vespertino:quant:inscritos:vagas:novas"
+        - "met:min:es:curso:vespertino:quant:inscritos:vagas:novas"
+        - "met:sum:es:curso:noturno:quant:inscritos:vagas:novas"
+        - "met:avg:es:curso:noturno:quant:inscritos:vagas:novas"
+        - "met:max:es:curso:noturno:quant:inscritos:vagas:novas"
+        - "met:min:es:curso:noturno:quant:inscritos:vagas:novas"
+        - "met:sum:es:curso:ead:quant:inscritos:vagas:novas"
+        - "met:avg:es:curso:ead:quant:inscritos:vagas:novas"
+        - "met:max:es:curso:ead:quant:inscritos:vagas:novas"
+        - "met:min:es:curso:ead:quant:inscritos:vagas:novas"
+        - "met:sum:es:curso:integral:quant:inscritos:remanescentes"
+        - "met:avg:es:curso:integral:quant:inscritos:remanescentes"
+        - "met:max:es:curso:integral:quant:inscritos:remanescentes"
+        - "met:min:es:curso:integral:quant:inscritos:remanescentes"
+        - "met:sum:es:curso:matutino:quant:inscritos:remanescentes"
+        - "met:avg:es:curso:matutino:quant:inscritos:remanescentes"
+        - "met:max:es:curso:matutino:quant:inscritos:remanescentes"
+        - "met:min:es:curso:matutino:quant:inscritos:remanescentes"
+        - "met:sum:es:curso:vespertino:quant:inscritos:remanescentes"
+        - "met:avg:es:curso:vespertino:quant:inscritos:remanescentes"
+        - "met:max:es:curso:vespertino:quant:inscritos:remanescentes"
+        - "met:min:es:curso:vespertino:quant:inscritos:remanescentes"
+        - "met:sum:es:curso:noturno:quant:inscritos:remanescentes"
+        - "met:avg:es:curso:noturno:quant:inscritos:remanescentes"
+        - "met:max:es:curso:noturno:quant:inscritos:remanescentes"
+        - "met:min:es:curso:noturno:quant:inscritos:remanescentes"
+        - "met:sum:es:curso:ead:quant:inscritos:remanescentes"
+        - "met:avg:es:curso:ead:quant:inscritos:remanescentes"
+        - "met:max:es:curso:ead:quant:inscritos:remanescentes"
+        - "met:min:es:curso:ead:quant:inscritos:remanescentes"
+        - "met:sum:es:curso:integral:quant:inscritos:programa:especial"
+        - "met:avg:es:curso:integral:quant:inscritos:programa:especial"
+        - "met:max:es:curso:integral:quant:inscritos:programa:especial"
+        - "met:min:es:curso:integral:quant:inscritos:programa:especial"
+        - "met:sum:es:curso:matutino:quant:inscritos:programa:especial"
+        - "met:avg:es:curso:matutino:quant:inscritos:programa:especial"
+        - "met:max:es:curso:matutino:quant:inscritos:programa:especial"
+        - "met:min:es:curso:matutino:quant:inscritos:programa:especial"
+        - "met:sum:es:curso:vespertino:quant:inscritos:programa:especial"
+        - "met:avg:es:curso:vespertino:quant:inscritos:programa:especial"
+        - "met:max:es:curso:vespertino:quant:inscritos:programa:especial"
+        - "met:min:es:curso:vespertino:quant:inscritos:programa:especial"
+        - "met:sum:es:curso:noturno:quant:inscritos:programa:especial"
+        - "met:avg:es:curso:noturno:quant:inscritos:programa:especial"
+        - "met:max:es:curso:noturno:quant:inscritos:programa:especial"
+        - "met:min:es:curso:noturno:quant:inscritos:programa:especial"
+        - "met:sum:es:curso:ead:quant:inscritos:programa:especial"
+        - "met:avg:es:curso:ead:quant:inscritos:programa:especial"
+        - "met:max:es:curso:ead:quant:inscritos:programa:especial"
+        - "met:min:es:curso:ead:quant:inscritos:programa:especial"
+        - "met:sum:es:curso:integral:quant:vagas:novas"
+        - "met:avg:es:curso:integral:quant:vagas:novas"
+        - "met:max:es:curso:integral:quant:vagas:novas"
+        - "met:min:es:curso:integral:quant:vagas:novas"
+        - "met:sum:es:curso:matutino:quant:vagas:novas"
+        - "met:avg:es:curso:matutino:quant:vagas:novas"
+        - "met:max:es:curso:matutino:quant:vagas:novas"
+        - "met:min:es:curso:matutino:quant:vagas:novas"
+        - "met:sum:es:curso:vespertino:quant:vagas:novas"
+        - "met:avg:es:curso:vespertino:quant:vagas:novas"
+        - "met:max:es:curso:vespertino:quant:vagas:novas"
+        - "met:min:es:curso:vespertino:quant:vagas:novas"
+        - "met:sum:es:curso:noturno:quant:vagas:novas"
+        - "met:avg:es:curso:noturno:quant:vagas:novas"
+        - "met:max:es:curso:noturno:quant:vagas:novas"
+        - "met:min:es:curso:noturno:quant:vagas:novas"
+        - "met:sum:es:curso:ead:quant:vagas:novas"
+        - "met:avg:es:curso:ead:quant:vagas:novas"
+        - "met:max:es:curso:ead:quant:vagas:novas"
+        - "met:min:es:curso:ead:quant:vagas:novas"
+        - "met:sum:es:curso:integral:quant:vagas:remanescentes"
+        - "met:avg:es:curso:integral:quant:vagas:remanescentes"
+        - "met:max:es:curso:integral:quant:vagas:remanescentes"
+        - "met:min:es:curso:integral:quant:vagas:remanescentes"
+        - "met:sum:es:curso:matutino:quant:vagas:remanescentes"
+        - "met:avg:es:curso:matutino:quant:vagas:remanescentes"
+        - "met:max:es:curso:matutino:quant:vagas:remanescentes"
+        - "met:min:es:curso:matutino:quant:vagas:remanescentes"
+        - "met:sum:es:curso:vespertino:quant:vagas:remanescentes"
+        - "met:avg:es:curso:vespertino:quant:vagas:remanescentes"
+        - "met:max:es:curso:vespertino:quant:vagas:remanescentes"
+        - "met:min:es:curso:vespertino:quant:vagas:remanescentes"
+        - "met:sum:es:curso:noturno:quant:vagas:remanescentes"
+        - "met:avg:es:curso:noturno:quant:vagas:remanescentes"
+        - "met:max:es:curso:noturno:quant:vagas:remanescentes"
+        - "met:min:es:curso:noturno:quant:vagas:remanescentes"
+        - "met:sum:es:curso:ead:quant:vagas:remanescentes"
+        - "met:avg:es:curso:ead:quant:vagas:remanescentes"
+        - "met:max:es:curso:ead:quant:vagas:remanescentes"
+        - "met:min:es:curso:ead:quant:vagas:remanescentes"
+        - "met:sum:es:curso:integral:quant:vagas:programa:especial"
+        - "met:avg:es:curso:integral:quant:vagas:programa:especial"
+        - "met:max:es:curso:integral:quant:vagas:programa:especial"
+        - "met:min:es:curso:integral:quant:vagas:programa:especial"
+        - "met:sum:es:curso:matutino:quant:vagas:programa:especial"
+        - "met:avg:es:curso:matutino:quant:vagas:programa:especial"
+        - "met:max:es:curso:matutino:quant:vagas:programa:especial"
+        - "met:min:es:curso:matutino:quant:vagas:programa:especial"
+        - "met:sum:es:curso:vespertino:quant:vagas:programa:especial"
+        - "met:avg:es:curso:vespertino:quant:vagas:programa:especial"
+        - "met:max:es:curso:vespertino:quant:vagas:programa:especial"
+        - "met:min:es:curso:vespertino:quant:vagas:programa:especial"
+        - "met:sum:es:curso:noturno:quant:vagas:programa:especial"
+        - "met:avg:es:curso:noturno:quant:vagas:programa:especial"
+        - "met:max:es:curso:noturno:quant:vagas:programa:especial"
+        - "met:min:es:curso:noturno:quant:vagas:programa:especial"
+        - "met:sum:es:curso:ead:quant:vagas:programa:especial"
+        - "met:avg:es:curso:ead:quant:vagas:programa:especial"
+        - "met:max:es:curso:ead:quant:vagas:programa:especial"
+        - "met:min:es:curso:ead:quant:vagas:programa:especial"
+        - "met:sum:es:curso:quant:vagas:novas"
+        - "met:avg:es:curso:quant:vagas:novas"
+        - "met:max:es:curso:quant:vagas:novas"
+        - "met:min:es:curso:quant:vagas:novas"
+        - "met:sum:es:curso:quant:vagas:totais"
+        - "met:avg:es:curso:quant:vagas:totais"
+        - "met:max:es:curso:quant:vagas:totais"
+        - "met:min:es:curso:quant:vagas:totais"
diff --git a/config/parse/view_es_curso_local_oferta.yaml b/config/parse/view_es_curso_local_oferta.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..500c58a8adbcb2c0e2d526de2c892f9a33d0518a
--- /dev/null
+++ b/config/parse/view_es_curso_local_oferta.yaml
@@ -0,0 +1,18 @@
+- 
+    alias: "view:es:curso:local:oferta"
+    origin: false
+    aliasAsName: true
+    dimensions:
+        - "dim:es:instituicao:id"
+        - "dim:es:instituicao:sede"
+        - "dim:es:curso:polo:cod"
+        - "dim:es:curso:id"
+        - "dim:es:curso:nucleo:local:oferta:educacao:adistancia"
+        - "dim:es:curso:local:oferta:universidade:aberta:do:brasil"
+        - "dim:es:curso:local:oferta:reitoria"
+        - "dim:es:curso:local:oferta:polo:de:apoio:presencial"
+        - "dim:es:curso:local:oferta:unidade:academica"
+        - "dim:es:curso:local:oferta:nome"
+        - "dim:es:curso:local:oferta:data:inicio:funcionamento"
+        - "dim:es:curso:local:oferta:cod"
+    metrics:
diff --git a/config/parse/view_es_docente.yaml b/config/parse/view_es_docente.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..c9690844ad76b0581077dae69a2134f7d11b238a
--- /dev/null
+++ b/config/parse/view_es_docente.yaml
@@ -0,0 +1,58 @@
+- 
+    alias: "view:es:docente"
+    origin: true
+    aliasAsName: true
+    dimensions:
+        - "dim:es:instituicao:id"
+        - "dim:es:docente:ies:cod"
+        - "dim:es:docente:id"
+        - "dim:es:docente:situacao:cod"
+        - "dim:es:docente:situacao:nome"
+        - "dim:es:docente:escolaridade:cod"
+        - "dim:es:docente:escolaridade:nome"
+        - "dim:es:docente:regime:trabalho:cod"
+        - "dim:es:docente:regime:trabalho:nome"
+        - "dim:es:docente:sexo:cod"
+        - "dim:es:docente:sexo:nome"
+        - "dim:es:docente:nascimento:ano"
+        - "dim:es:docente:nascimento:mes"
+        - "dim:es:docente:nascimento:dia"
+        - "dim:es:docente:idade"
+        - "dim:es:docente:raca:cod"
+        - "dim:es:docente:raca:nome"
+        - "dim:es:docente:pais:cod"
+        - "dim:es:docente:nacionalidade:cod"
+        - "dim:es:docente:nascimento:estado:id"
+        - "dim:es:docente:nascimento:cidade:id"
+        - "dim:es:docente:deficiencia"
+        - "dim:es:docente:ministra:aula:ead"
+        - "dim:es:docente:atua:atividade:extensao"
+        - "dim:es:docente:atua:atividade:gestao"
+        - "dim:es:docente:atua:atividade:graduacao:presencial"
+        - "dim:es:docente:atua:atividade:posgraduacao:distancia"
+        - "dim:es:docente:atua:atividade:posgraduacao:presencial"
+        - "dim:es:docente:atua:atividade:formacao:especifica"
+        - "dim:es:docente:atua:pesquisa"
+        - "dim:es:docente:possui:bolsa:pesquisa"
+        - "dim:es:docente:substituto"
+        - "dim:es:docente:esteve:exercicio"
+        - "dim:es:docente:visitante"
+        - "dim:es:docente:visitante:vinculo"
+        - "dim:es:docente:cegueira"
+        - "dim:es:docente:baixa:visao"
+        - "dim:es:docente:surdez"
+        - "dim:es:docente:deficiencia:auditiva"
+        - "dim:es:docente:deficiencia:fisica"
+        - "dim:es:docente:surdocegueira"
+        - "dim:es:docente:deficiencia:multipla"
+        - "dim:es:docente:deficiencia:intelectual"
+        - "dim:es:docente:nacionalidade:nome"
+        - "dim:es:docente:data:cadastro"
+        - "dim:es:docente:censo:ano"
+    metrics:
+        - "met:count:es:docente:id"
+        - "met:min:es:docente:nascimento:ano"
+        - "met:max:es:docente:nascimento:ano"
+        - "met:avg:es:docente:idade"
+        - "met:min:es:docente:idade"
+        - "met:max:es:docente:idade"
diff --git a/config/parse/view_es_instituicao.yaml b/config/parse/view_es_instituicao.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..76e04f9519c48b39bfe099cf221ec75adf8300a9
--- /dev/null
+++ b/config/parse/view_es_instituicao.yaml
@@ -0,0 +1,162 @@
+- 
+    alias: "view:es:instituicao"
+    origin: true
+    aliasAsName: true
+    dimensions:
+        - "dim:es:instituicao:id"
+        - "dim:es:instituicao:nome"
+        - "dim:es:instituicao:matenedora:id"
+        - "dim:es:instituicao:matenedora:nome"
+        - "dim:es:instituicao:categoria:administrativa:id"
+        - "dim:es:inctituicao:categoria:administrativa:nome"
+        - "dim:es:instituicao:organizacao:academica:id"
+        - "dim:es:instituicao:organizacao:academica:nome"
+        - "dim:cidade:id"
+        - "dim:es:instituicao:capital"
+        - "dim:es:instituicao:quant:funcionarios"
+        - "dim:es:instituicao:quant:funcionarios:masc:fundamental:incompleto"
+        - "dim:es:instituicao:quant:funcionarios:fem:fundamental:incompleto"
+        - "dim:es:instituicao:quant:funcionarios:masc:fundamental:completo"
+        - "dim:es:instituicao:quant:funcionarios:fem:fundamental:completo"
+        - "dim:es:instituicao:quant:funcionarios:masc:ensino:medio"
+        - "dim:es:instituicao:quant:funcionarios:fem:ensino:medio"
+        - "dim:es:instituicao:quant:funcionarios:masc:ensino:superior"
+        - "dim:es:instituicao:quant:funcionarios:fem:ensino:superior"
+        - "dim:es:instituicao:quant:funcionarios:masc:especializacao"
+        - "dim:es:instituicao:quant:funcionarios:fem:especializacao"
+        - "dim:es:instituicao:quant:funcionarios:masc:mestrado"
+        - "dim:es:instituicao:quant:funcionarios:fem:mestrado"
+        - "dim:es:instituicao:quant:funcionarios:masc:doutorado"
+        - "dim:es:instituicao:quant:funcionarios:fem:doutorado"
+        - "dim:es:instituicao:acesso:portal:capes"
+        - "dim:es:instituicao:acesso:outras:bases"
+        - "dim:es:instituicao:financeiro:referente:matenedora:ies"
+        - "dim:es:instituicao:financeiro:valor:receita:propria"
+        - "dim:es:instituicao:financeiro:valor:transferencia"
+        - "dim:es:instituicao:financeiro:valor:outra:receita"
+        - "dim:es:instituicao:financeiro:despesas:remuneracao:docente"
+        - "dim:es:instituicao:financeiro:despesas:remuneracao:tecnico"
+        - "dim:es:instituicao:financeiro:despesas:encargos"
+        - "dim:es:instituicao:financeiro:despesas:custeio"
+        - "dim:es:instituicao:financeiro:despesas:investimento"
+        - "dim:es:instituicao:financeiro:despesas:pesquisa"
+        - "dim:es:instituicao:financeiro:despesas:outras"
+        - "dim:es:instituicao:sigla"
+        - "dim:es:instituicao:repositorio:institucional"
+        - "dim:es:instituicao:busca:integrada"
+        - "dim:es:instituicao:servico:internet"
+        - "dim:es:instituicao:participa:rede:social"
+        - "dim:es:instituicao:catalogo:online"
+        - "dim:es:instituicao:quantidade:periodico:eletronico"
+        - "dim:es:instituicao:quantidade:livro:eletronico"
+        - "dim:es:instituicao:censo:ano"
+    metrics:
+        - "met:count:es:instituicao:id"
+        - "met:sum:es:instituicao:quant:func"
+        - "met:avg:es:instituicao:quant:func"
+        - "met:max:es:instituicao:quant:func"
+        - "met:min:es:instituicao:quant:func"
+        - "met:sum:es:instituicao:quant:func:masc:fundamental:incompleto"
+        - "met:avg:es:instituicao:quant:func:masc:fundamental:incompleto"
+        - "met:max:es:instituicao:quant:func:masc:fundamental:incompleto"
+        - "met:min:es:instituicao:quant:func:masc:fundamental:incompleto"
+        - "met:sum:es:instituicao:quant:func:fem:fundamental:incompleto"
+        - "met:avg:es:instituicao:quant:func:fem:fundamental:incompleto"
+        - "met:max:es:instituicao:quant:func:fem:fundamental:incompleto"
+        - "met:min:es:instituicao:quant:func:fem:fundamental:incompleto"
+        - "met:sum:es:instituicao:quant:func:masc:fundamental:completo"
+        - "met:avg:es:instituicao:quant:func:masc:fundamental:completo"
+        - "met:max:es:instituicao:quant:func:masc:fundamental:completo"
+        - "met:min:es:instituicao:quant:func:masc:fundamental:completo"
+        - "met:sum:es:instituicao:quant:func:fem:fundamental:completo"
+        - "met:avg:es:instituicao:quant:func:fem:fundamental:completo"
+        - "met:max:es:instituicao:quant:func:fem:fundamental:completo"
+        - "met:min:es:instituicao:quant:func:fem:fundamental:completo"
+        - "met:sum:es:instituicao:quant:func:masc:ensino:medio"
+        - "met:avg:es:instituicao:quant:func:masc:ensino:medio"
+        - "met:max:es:instituicao:quant:func:masc:ensino:medio"
+        - "met:min:es:instituicao:quant:func:masc:ensino:medio"
+        - "met:sum:es:instituicao:quant:func:fem:ensino:medio"
+        - "met:avg:es:instituicao:quant:func:fem:ensino:medio"
+        - "met:max:es:instituicao:quant:func:fem:ensino:medio"
+        - "met:min:es:instituicao:quant:func:fem:ensino:medio"
+        - "met:sum:es:instituicao:quant:func:masc:ensino:superior"
+        - "met:avg:es:instituicao:quant:func:masc:ensino:superior"
+        - "met:max:es:instituicao:quant:func:masc:ensino:superior"
+        - "met:min:es:instituicao:quant:func:masc:ensino:superior"
+        - "met:sum:es:instituicao:quant:func:fem:ensino:superior"
+        - "met:avg:es:instituicao:quant:func:fem:ensino:superior"
+        - "met:max:es:instituicao:quant:func:fem:ensino:superior"
+        - "met:min:es:instituicao:quant:func:fem:ensino:superior"
+        - "met:sum:es:instituicao:quant:func:masc:especializacao"
+        - "met:avg:es:instituicao:quant:func:masc:especializacao"
+        - "met:max:es:instituicao:quant:func:masc:especializacao"
+        - "met:min:es:instituicao:quant:func:masc:especializacao"
+        - "met:sum:es:instituicao:quant:func:fem:especializacao"
+        - "met:avg:es:instituicao:quant:func:fem:especializacao"
+        - "met:max:es:instituicao:quant:func:fem:especializacao"
+        - "met:min:es:instituicao:quant:func:fem:especializacao"
+        - "met:sum:es:instituicao:quant:func:masc:mestrado"
+        - "met:avg:es:instituicao:quant:func:masc:mestrado"
+        - "met:max:es:instituicao:quant:func:masc:mestrado"
+        - "met:min:es:instituicao:quant:func:masc:mestrado"
+        - "met:sum:es:instituicao:quant:func:fem:mestrado"
+        - "met:avg:es:instituicao:quant:func:fem:mestrado"
+        - "met:max:es:instituicao:quant:func:fem:mestrado"
+        - "met:min:es:instituicao:quant:func:fem:mestrado"
+        - "met:sum:es:instituicao:quant:func:masc:doutorado"
+        - "met:avg:es:instituicao:quant:func:masc:doutorado"
+        - "met:max:es:instituicao:quant:func:masc:doutorado"
+        - "met:min:es:instituicao:quant:func:masc:doutorado"
+        - "met:sum:es:instituicao:quant:func:fem:doutorado"
+        - "met:avg:es:instituicao:quant:func:fem:doutorado"
+        - "met:max:es:instituicao:quant:func:fem:doutorado"
+        - "met:min:es:instituicao:quant:func:fem:doutorado"
+        - "met:sum:es:instituicao:financeiro:valor:receita:propria"
+        - "met:avg:es:instituicao:financeiro:valor:receita:propria"
+        - "met:max:es:instituicao:financeiro:valor:receita:propria"
+        - "met:min:es:instituicao:financeiro:valor:receita:propria"
+        - "met:sum:es:instituicao:financeiro:valor:transferencia"
+        - "met:avg:es:instituicao:financeiro:valor:transferencia"
+        - "met:max:es:instituicao:financeiro:valor:transferencia"
+        - "met:min:es:instituicao:financeiro:valor:transferencia"
+        - "met:sum:es:instituicao:financeiro:valor:outra:receita"
+        - "met:avg:es:instituicao:financeiro:valor:outra:receita"
+        - "met:max:es:instituicao:financeiro:valor:outra:receita"
+        - "met:min:es:instituicao:financeiro:valor:outra:receita"
+        - "met:sum:es:instituicao:financeiro:despesas:remuneracao:docente"
+        - "met:avg:es:instituicao:financeiro:despesas:remuneracao:docente"
+        - "met:max:es:instituicao:financeiro:despesas:remuneracao:docente"
+        - "met:min:es:instituicao:financeiro:despesas:remuneracao:docente"
+        - "met:sum:es:instituicao:financeiro:despesas:remuneracao:tecnico"
+        - "met:avg:es:instituicao:financeiro:despesas:remuneracao:tecnico"
+        - "met:max:es:instituicao:financeiro:despesas:remuneracao:tecnico"
+        - "met:min:es:instituicao:financeiro:despesas:remuneracao:tecnico"
+        - "met:sum:es:instituicao:financeiro:despesas:encargos"
+        - "met:avg:es:instituicao:financeiro:despesas:encargos"
+        - "met:max:es:instituicao:financeiro:despesas:encargos"
+        - "met:min:es:instituicao:financeiro:despesas:encargos"
+        - "met:sum:es:instituicao:financeiro:despesas:custeio"
+        - "met:avg:es:instituicao:financeiro:despesas:custeio"
+        - "met:max:es:instituicao:financeiro:despesas:custeio"
+        - "met:min:es:instituicao:financeiro:despesas:custeio"
+        - "met:sum:es:instituicao:financeiro:despesas:investimento"
+        - "met:avg:es:instituicao:financeiro:despesas:investimento"
+        - "met:max:es:instituicao:financeiro:despesas:investimento"
+        - "met:min:es:instituicao:financeiro:despesas:investimento"
+        - "met:sum:es:instituicao:financeiro:despesas:pesquisa"
+        - "met:avg:es:instituicao:financeiro:despesas:pesquisa"
+        - "met:max:es:instituicao:financeiro:despesas:pesquisa"
+        - "met:min:es:instituicao:financeiro:despesas:pesquisa"
+        - "met:sum:es:instituicao:financeiro:despesas:outras"
+        - "met:avg:es:instituicao:financeiro:despesas:outras"
+        - "met:max:es:instituicao:financeiro:despesas:outras"
+        - "met:min:es:instituicao:financeiro:despesas:outras"
+        - "met:sum:es:instituicao:quantidade:periodico:eletronico"
+        - "met:avg:es:instituicao:quantidade:periodico:eletronico"
+        - "met:max:es:instituicao:quantidade:periodico:eletronico"
+        - "met:min:es:instituicao:quantidade:periodico:eletronico"
+        - "met:sum:es:instituicao:quantidade:livro:eletronico"
+        - "met:avg:es:instituicao:quantidade:livro:eletronico"
+        - "met:max:es:instituicao:quantidade:livro:eletronico"
+        - "met:min:es:instituicao:quantidade:livro:eletronico"
diff --git a/config/parse/view_es_ocde.yaml b/config/parse/view_es_ocde.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..9e1819060fb9c1cdba746f17c923c708b152de49
--- /dev/null
+++ b/config/parse/view_es_ocde.yaml
@@ -0,0 +1,15 @@
+- 
+    alias: "view:es:ocde"
+    origin: true
+    aliasAsName: true
+    dimensions:
+        - "dim:es:curso:ocde:area:geral:cod"
+        - "dim:es:curso:ocde:area:geral:nome"
+        - "dim:es:curso:ocde:area:especifica:cod"
+        - "dim:es:curso:ocde:area:especifica:nome"
+        - "dim:es:curso:ocde:area:detalhada:cod"
+        - "dim:es:curso:ocde:area:detalhada:nome"
+        - "dim:es:curso:ocde:cod"
+        - "dim:es:curso:ocde:nome"
+    metrics:
+        - "met:count:es:curso:ocde:cod"
diff --git a/config/parse/view_escola.yaml b/config/parse/view_escola.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..630d68ad6d62344c7107e4ffcaab1f6b14b30cdf
--- /dev/null
+++ b/config/parse/view_escola.yaml
@@ -0,0 +1,262 @@
+-
+    alias: "view:escola"
+    origin: true
+    aliasAsName: true
+    dimensions:
+        - "dim:escola:censo:ano"
+        - "dim:escola:id"
+        - "dim:escola:nome"
+        - "dim:escola:codigo:orgao:regional:inep"
+        - "dim:escola:situacao:funcionamento"
+        - "dim:escola:inicio:ano:letivo"
+        - "dim:escola:termino:ano:letivo"
+        - "dim:cidade:id"
+        - "dim:escola:distrito"
+        - "dim:escola:dependencia:administrativa:id"
+        - "dim:escola:zona:residencial"
+        - "dim:escola:privada:categoria"
+        - "dim:escola:privada:conveniada:poder:publico"
+        - "dim:escola:privada:conveniada:poder:publico:tipo"
+        - "dim:escola:privada:mantenedora:empresa"
+        - "dim:escola:privada:mantenedora:ong"
+        - "dim:escola:privada:mantenedora:sindicato"
+        - "dim:escola:privada:mantenedora:sistema:s"
+        - "dim:escola:privada:mantenedora:sem:fins"
+        - "dim:escola:documento:regulamentacao"
+        - "dim:escola:funcionamento:predio:escolar:tipo"
+        - "dim:escola:funcionamento:salas:empresa"
+        - "dim:escola:funcionamento:socioeducativa"
+        - "dim:escola:funcionamento:unidade:prisional"
+        - "dim:escola:funcionamento:templo:igreja"
+        - "dim:escola:funcionamento:casa:professor"
+        - "dim:escola:funcionamento:galpao:tipo"
+        - "dim:escola:funcionamento:outros"
+        - "dim:escola:funcionamento:salas:outras:escolas"
+        - "dim:escola:predio:compartilhado"
+        - "dim:escola:agua:filtrada"
+        - "dim:escola:agua:rede:publica"
+        - "dim:escola:agua:poco:artesiano"
+        - "dim:escola:agua:cacimba"
+        - "dim:escola:agua:fonte:rio"
+        - "dim:escola:agua:inexistente"
+        - "dim:escola:energia:rede:publica"
+        - "dim:escola:energia:gerador"
+        - "dim:escola:energia:outros"
+        - "dim:escola:energia:inexistente"
+        - "dim:escola:esgoto:rede:publica"
+        - "dim:escola:esgoto:fossa"
+        - "dim:escola:esgoto:inexistente"
+        - "dim:escola:lixo:coleta"
+        - "dim:escola:lixo:queima"
+        - "dim:escola:lixo:joga:outra:area"
+        - "dim:escola:lixo:recicla"
+        - "dim:escola:lixo:enterra"
+        - "dim:escola:lixo:outros"
+        - "dim:escola:sala:diretoria"
+        - "dim:escola:sala:professor"
+        - "dim:escola:laboratorio:informatica"
+        - "dim:escola:laboratorio:ciencias"
+        - "dim:escola:sala:atendimento:especial"
+        - "dim:escola:quadra:esporte:coberta"
+        - "dim:escola:quadra:esporte:descoberta"
+        - "dim:escola:cozinha"
+        - "dim:escola:biblioteca"
+        - "dim:escola:sala:leitura"
+        - "dim:escola:parque:infantil"
+        - "dim:escola:bercario"
+        - "dim:escola:sanitario:fora:predio"
+        - "dim:escola:sanitario:dentro:predio"
+        - "dim:escola:sanitario:educacao:infantil"
+        - "dim:escola:sanitario:alunos:deficiencia"
+        - "dim:escola:dependecia:alunos:deficiencia"
+        - "dim:escola:sala:secretaria"
+        - "dim:escola:banheiro:chuveiro"
+        - "dim:escola:refeitorio"
+        - "dim:escola:despensa"
+        - "dim:escola:almoxarifado"
+        - "dim:escola:auditorio"
+        - "dim:escola:patio:coberto"
+        - "dim:escola:patio:descoberto"
+        - "dim:escola:alojamento:aluno"
+        - "dim:escola:alojamento:professor"
+        - "dim:escola:area:verde"
+        - "dim:escola:lavanderia"
+        - "dim:escola:dependencia:outras"
+        - "dim:escola:salas:quantidade"
+        - "dim:escola:salas:utilizadas:quantidade"
+        - "dim:escola:televisao:quantidade"
+        - "dim:escola:videocassete:quantidade"
+        - "dim:escola:dvd:quantidade"
+        - "dim:escola:antena:parabolica:quantidade"
+        - "dim:escola:copiadora:quantidade"
+        - "dim:escola:retroprojetor:quantidade"
+        - "dim:escola:impressora:quantidade"
+        - "dim:escola:aparelho:som:quantidade"
+        - "dim:escola:datashow:quantidade"
+        - "dim:escola:fax:quantidade"
+        - "dim:escola:maquina:fotografica:quantidade"
+        - "dim:escola:computador:quantidade"
+        - "dim:escola:computador:administrativo:quantidade"
+        - "dim:escola:computador:aluno:quantidade"
+        - "dim:escola:internet"
+        - "dim:escola:internet:banda:larga"
+        - "dim:escola:funcionarios"
+        - "dim:escola:alimentacao"
+        - "dim:escola:atendimento:educacional:especializado"
+        - "dim:escola:atividade:complementar"
+        - "dim:escola:creche"
+        - "dim:escola:pre:escola"
+        - "dim:escola:ensino:medio:propedeutico"
+        - "dim:escola:ensino:tecnico:integrado"
+        - "dim:escola:ensino:medio:normal"
+        - "dim:escola:ensino:profissional"
+        - "dim:escola:creche:especial"
+        - "dim:escola:pre:escola:especial"
+        - "dim:escola:ensino:medio:propedeutico:especial"
+        - "dim:escola:ensino:tecnico:integrado:especial"
+        - "dim:escola:ensino:medio:normal:especial"
+        - "dim:escola:ensino:fundamental:eja:especial"
+        - "dim:escola:ensino:medio:eja:especial"
+        - "dim:escola:ensino:fundamental:eja"
+        - "dim:escola:ensino:medio:eja"
+        - "dim:escola:ensino:fundamental:ciclos"
+        - "dim:escola:localizacao:diferenciada"
+        - "dim:escola:material:especial:nao:utiliza"
+        - "dim:escola:material:especial:quilombola"
+        - "dim:escola:material:especial:indigena"
+        - "dim:escola:educacao:indigena"
+        - "dim:escola:educacao:indigena:lingua:id"
+        - "dim:escola:espaco:turma:pba"
+        - "dim:escola:abre:final:de:semana"
+        - "dim:escola:eja:projovem"
+        - "dim:escola:ensino:fundamental:8anos:especial"
+        - "dim:escola:ensino:fundamantal:9anos:especial"
+        - "dim:escola:educacao:indigena:lingua:indigena"
+        - "dim:escola:educacao:indigena:lingua:portuguesa"
+        - "dim:escola:ensino:fundamental:8anos:regular"
+        - "dim:escola:ensino:fundamental:9anos:regular"
+        - "dim:escola:mesorregiao"
+        - "dim:escola:microrregiao"
+        - "dim:escola:sede:vinculada:id"
+        - "dim:escola:ies:vinculada:id"
+        - "dim:escola:funcionamento:predio:escolar"
+        - "dim:escola:funcionamento:unidade:prisional:socioeducativo"
+        - "dim:escola:funcionamento:galpao"
+        - "dim:escola:quadra:esportes"
+        - "dim:escola:biblioteca:sala:leitura"
+        - "dim:escola:televisao"
+        - "dim:escola:videocassete"
+        - "dim:escola:dvd"
+        - "dim:escola:antena:parabolica"
+        - "dim:escola:copiadora"
+        - "dim:escola:retroprojetor"
+        - "dim:escola:impressora"
+        - "dim:escola:impressora:multifuncional"
+        - "dim:escola:aparelho:som"
+        - "dim:escola:datashow"
+        - "dim:escola:fax"
+        - "dim:escola:maquina:fotografica"
+        - "dim:escola:computador"
+        - "dim:escola:impressora:multifuncional:quantidade"
+        - "dim:escola:educacao:indigena:lingua:tipo"
+        - "dim:escola:mediacao:presencial"
+        - "dim:escola:mediacao:semi:presencial"
+        - "dim:escola:mediacao:ead"
+        - "dim:escola:ensino:fundamental:anos:iniciais"
+        - "dim:escola:ensino:fundamental:anos:finais"
+        - "dim:escola:ensino:fundamental:anos:iniciais:especial"
+        - "dim:escola:ensino:fundamental:anos:finais:especial"
+        - "dim:escola:ensino:profissional:eja"
+        - "dim:escola:ensino:profissional:eja:especial"
+        - "dim:escola:privada:dependencia:administrativa"
+        - "dim:escola:fornecimento:agua"
+        - "dim:escola:fornecimento:energia"
+        - "dim:escola:ensino:regular"
+        - "dim:escola:esgotamento:sanitario"
+        - "dim:escola:ensino:especial"
+        - "dim:escola:localidade:area:rural"
+        - "dim:escola:eja"
+        - "dim:escola:ensino:profissional:especial"
+        - "dim:escola:profissionalizante"
+        - "dim:escola:proposta:pedagogica:alternativa"
+        - "dim:escola:patio"
+        - "dim:escola:creche:transformada"
+        - "dim:escola:pre:escola:transformada"
+        - "dim:escola:ensino:medio:transformada"
+        - "dim:escola:ensino:fundamental:anos:iniciais:transformada"
+        - "dim:escola:ensino:fundamental:anos:finais:transformada"
+
+    metrics:
+        - "met:count:escola:id"
+        - "met:min:escola:salas"
+        - "met:max:escola:salas"
+        - "met:sum:escola:salas"
+        - "met:avg:escola:salas"
+        - "met:min:escola:salas:utilizadas"
+        - "met:max:escola:salas:utilizadas"
+        - "met:sum:escola:salas:utilizadas"
+        - "met:avg:escola:salas:utilizadas"
+        - "met:min:escola:televisao"
+        - "met:max:escola:televisao"
+        - "met:sum:escola:televisao"
+        - "met:avg:escola:televisao"
+        - "met:min:escola:videocassete"
+        - "met:max:escola:videocassete"
+        - "met:sum:escola:videocassete"
+        - "met:avg:escola:videocassete"
+        - "met:min:escola:dvd"
+        - "met:max:escola:dvd"
+        - "met:sum:escola:dvd"
+        - "met:avg:escola:dvd"
+        - "met:min:escola:antena:parabolica"
+        - "met:max:escola:antena:parabolica"
+        - "met:sum:escola:antena:parabolica"
+        - "met:avg:escola:antena:parabolica"
+        - "met:min:escola:copiadora"
+        - "met:max:escola:copiadora"
+        - "met:sum:escola:copiadora"
+        - "met:avg:escola:copiadora"
+        - "met:min:escola:retroprojetor"
+        - "met:max:escola:retroprojetor"
+        - "met:sum:escola:retroprojetor"
+        - "met:avg:escola:retroprojetor"
+        - "met:min:escola:impressora"
+        - "met:max:escola:impressora"
+        - "met:sum:escola:impressora"
+        - "met:avg:escola:impressora"
+        - "met:min:escola:som"
+        - "met:max:escola:som"
+        - "met:sum:escola:som"
+        - "met:avg:escola:som"
+        - "met:min:escola:datashow"
+        - "met:max:escola:datashow"
+        - "met:sum:escola:datashow"
+        - "met:avg:escola:datashow"
+        - "met:min:escola:fax"
+        - "met:max:escola:fax"
+        - "met:sum:escola:fax"
+        - "met:avg:escola:fax"
+        - "met:min:escola:maquina:fotografica"
+        - "met:max:escola:maquina:fotografica"
+        - "met:sum:escola:maquina:fotografica"
+        - "met:avg:escola:maquina:fotografica"
+        - "met:min:escola:computador"
+        - "met:max:escola:computador"
+        - "met:sum:escola:computador"
+        - "met:avg:escola:computador"
+        - "met:min:escola:computador:administrativo"
+        - "met:max:escola:computador:administrativo"
+        - "met:sum:escola:computador:administrativo"
+        - "met:avg:escola:computador:administrativo"
+        - "met:min:escola:computador:aluno"
+        - "met:max:escola:computador:aluno"
+        - "met:sum:escola:computador:aluno"
+        - "met:avg:escola:computador:aluno"
+        - "met:min:escola:funcionarios"
+        - "met:max:escola:funcionarios"
+        - "met:sum:escola:funcionarios"
+        - "met:avg:escola:funcionarios"
+        - "met:min:escola:impressora:multifuncional"
+        - "met:max:escola:impressora:multifuncional"
+        - "met:sum:escola:impressora:multifuncional"
+        - "met:avg:escola:impressora:multifuncional"
diff --git a/config/parse/view_familia_cadunico.yaml b/config/parse/view_familia_cadunico.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..0b2fc15e37e4eda614b91caca19c864cb28cfef0
--- /dev/null
+++ b/config/parse/view_familia_cadunico.yaml
@@ -0,0 +1,56 @@
+- 
+    alias: "view:familia:cad:unico"
+    origin: true
+    aliasAsName: true
+    dimensions:
+        - "dim:cidade:id"
+        - "dim:cadunico:familia:estrato"
+        - "dim:cadunico:familia:divisao:administrativa:uf"
+        - "dim:cadunico:familia:id"
+        - "dim:cadunico:familia:data:cadastramento"
+        - "dim:cadunico:familia:data:alteracao"
+        - "dim:cadunico:familia:renda:media"
+        - "dim:cadunico:familia:data:atualizacao"
+        - "dim:cadunico:familia:domicilio:local"
+        - "dim:cadunico:familia:domicilio:especie"
+        - "dim:cadunico:familia:domicilio:quantidade:comodos"
+        - "dim:cadunico:familia:domicilio:quantidade:dormitorios"
+        - "dim:cadunico:familia:domicilio:material:piso"
+        - "dim:cadunico:familia:domicilio:material:paredes"
+        - "dim:cadunico:familia:domicilio:agua:encanada"
+        - "dim:cadunico:familia:domicilio:abastecimento:agua"
+        - "dim:cadunico:familia:domicilio:banheiro"
+        - "dim:cadunico:familia:domicilio:escoamento:sanitario"
+        - "dim:cadunico:familia:domicilio:coleta:lixo"
+        - "dim:cadunico:familia:domicilio:iluminacao"
+        - "dim:cadunico:familia:domicilio:calcamento"
+        - "dim:cadunico:familia:indigena"
+        - "dim:cadunico:familia:quilombola"
+        - "dim:cadunico:familia:eas:nome"
+        - "dim:cadunico:familia:eas:cod"
+        - "dim:cadunico:familia:cras:nome"
+        - "dim:cadunico:familia:cras:cod"
+        - "dim:cadunico:familia:grupo"
+        - "dim:cadunico:familia:quantidade:pessoas"
+        - "dim:cadunico:familia:peso"
+        - "dim:cadunico:familia:bolsa:familia"
+        - "dim:cadunico:familia:censo:ano"
+    metrics:
+        - "met:min:cadunico:familia:renda:media"
+        - "met:max:cadunico:familia:renda:media"
+        - "met:avg:cadunico:familia:renda:media"
+        - "met:min:cadunico:familia:domicilio:quant:comodos"
+        - "met:max:cadunico:familia:domicilio:quant:comodos"
+        - "met:avg:cadunico:familia:domicilio:quant:comodos"
+        - "met:min:cadunico:familia:domicilio:quant:dormitorios"
+        - "met:max:cadunico:familia:domicilio:quant:dormitorios"
+        - "met:avg:cadunico:familia:domicilio:quant:dormitorios"
+        - "met:count:cadunico:familia:eas:cod"
+        - "met:count:cadunico:familia:cras:cod"
+        - "met:min:cadunico:familia:quant:pessoas"
+        - "met:max:cadunico:familia:quant:pessoas"
+        - "met:sum:cadunico:familia:quant:pessoas"
+        - "met:avg:cadunico:familia:quant:pessoas"
+        - "met:min:cadunico:familia:peso"
+        - "met:max:cadunico:familia:peso"
+        - "met:avg:cadunico:familia:peso"
diff --git a/config/parse/view_fies.yaml b/config/parse/view_fies.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..a6ab2223a31dfc8ee04f5defef2cf18793bc5681
--- /dev/null
+++ b/config/parse/view_fies.yaml
@@ -0,0 +1,65 @@
+- 
+    alias: "view:fies"
+    origin: true
+    aliasAsName: true
+    dimensions:
+        - "dim:es:instituicao:matenedora:id"
+        - "dim:es:fies:mantenedora:cnpj"
+        - "dim:es:fies:mantenedora:cidade"
+        - "dim:es:instituicao:id"
+        - "dim:es:fies:processo:cod"
+        - "dim:es:fies:contrato:cod"
+        - "dim:es:fies:aditamento:cod"
+        - "dim:es:fies:agente:financeiro:cod"
+        - "dim:es:fies:agente:financeiro:nome"
+        - "dim:es:fies:agente:financeiro:sigla"
+        - "dim:es:fies:financiamento:mes"
+        - "dim:es:fies:financiamento:semestre"
+        - "dim:es:fies:financiamento:mensalidade:valor"
+        - "dim:es:fies:inscricao"
+        - "dim:es:fies:fianca:tipo"
+        - "dim:es:fies:inscricao:ano:exercicio"
+        - "dim:es:fies:bolsa:prouni:percentual"
+        - "dim:es:fies:financiamento:solicitado:percentual"
+        - "dim:es:fies:financiamento:valor:total:geral"
+        - "dim:es:fies:aluno:data:nascimento"
+        - "dim:es:fies:aluno:deficiencia"
+        - "dim:es:fies:aluno:estudou:escola:publica"
+        - "dim:es:fies:aluno:residencia:cidade:id"
+        - "dim:es:fies:aluno:sexo:sigla"
+        - "dim:es:fies:aluno:sexo:nome"
+        - "dim:es:fies:aluno:estado:civil:cod"
+        - "dim:es:fies:aluno:estado:civil:nome"
+        - "dim:es:fies:aluno:raca:sigla"
+        - "dim:es:fies:aluno:raca:nome"
+        - "dim:es:fies:financiamento:semestre:quantidade:total"
+        - "dim:es:curso:id"
+        - "dim:es:curso:periodicidade:cod"
+        - "dim:es:curso:periodicidade:nome"
+        - "dim:es:fies:financiamento:valor:total:semestral"
+        - "dim:es:fies:processo:ano"
+        - "dim:es:fies:processo:mes"
+        - "dim:es:fies:censo:ano"
+    metrics:
+        - "met:count:es:fies:contrato:cod"
+        - "met:min:es:fies:financimaneto:mensalidade:valor"
+        - "met:max:es:fies:financimaneto:mensalidade:valor"
+        - "met:sum:es:fies:financimaneto:mensalidade:valor"
+        - "met:avg:es:fies:financimaneto:mensalidade:valor"
+        - "met:min:es:fies:inscricao:ano:exercicio"
+        - "met:max:es:fies:inscricao:ano:exercicio"
+        - "met:min:es:fies:bolsa:prouni:percentual"
+        - "met:max:es:fies:bolsa:prouni:percentual"
+        - "met:min:es:fies:financiamento:solicitado:percentual"
+        - "met:max:es:fies:financiamento:solicitado:percentual"
+        - "met:min:es:fies:financiamento:valor:total:geral"
+        - "met:max:es:fies:financiamento:valor:total:geral"
+        - "met:sum:es:fies:financiamento:valor:total:geral"
+        - "met:avg:es:fies:financiamento:valor:total:geral"
+        - "met:min:es:fies:financiamento:semestre:quantidade:total"
+        - "met:max:es:fies:financiamento:semestre:quantidade:total"
+        - "met:avg:es:fies:financiamento:semestre:quantidade:total"
+        - "met:min:es:fies:financiamento:valor:total:semestral"
+        - "met:max:es:fies:financiamento:valor:total:semestral"
+        - "met:sum:es:fies:financiamento:valor:total:semestral"
+        - "met:avg:es:fies:financiamento:valor:total:semestral"
diff --git a/config/parse/view_ibge_pib.yaml b/config/parse/view_ibge_pib.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..a37b668b3c03c88c2910146a4e887404f789e192
--- /dev/null
+++ b/config/parse/view_ibge_pib.yaml
@@ -0,0 +1,27 @@
+- 
+    alias: "view:ibge:pib"
+    origin: true
+    aliasAsName: true
+    dimensions:
+        - "dim:ibge:censo:ano"
+        - "dim:cidade:id"
+        - "dim:ibge:pib"
+        - "dim:ibge:populacao"
+        - "dim:ibge:pib:per:capita"
+        - "dim:ibge:renda:per:capita:nivel"
+    metrics:
+        - "met:min:ibge:pib"
+        - "met:max:ibge:pib"
+        - "met:sum:ibge:pib"
+        - "met:avg:ibge:pib"
+        - "met:min:ibge:populacao"
+        - "met:max:ibge:populacao"
+        - "met:sum:ibge:populacao"
+        - "met:avg:ibge:populacao"
+        - "met:min:ibge:pib:per:capita"
+        - "met:max:ibge:pib:per:capita"
+        - "met:sum:ibge:pib:per:capita"
+        - "met:avg:ibge:pib:per:capita"
+        - "met:min:ibge:renda:per:capita:nivel"
+        - "met:max:ibge:renda:per:capita:nivel"
+        - "met:avg:ibge:renda:per:capita:nivel"
diff --git a/config/parse/view_matricula.yaml b/config/parse/view_matricula.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..3cb5f5ba66aeea7571c5dfa2342d1b1f05c2585c
--- /dev/null
+++ b/config/parse/view_matricula.yaml
@@ -0,0 +1,96 @@
+-
+    alias: "view:matricula"
+    origin: true
+    aliasAsName: true
+    dimensions:
+        - "dim:matricula:censo:ano"
+        - "dim:matricula:id"
+        - "dim:matricula:codigo:aluno"
+        - "dim:matricula:nascimento:dia"
+        - "dim:matricula:nascimento:mes"
+        - "dim:matricula:nascimento:ano"
+        - "dim:matricula:idade"
+        - "dim:matricula:tempo:mesma:rede"
+        - "dim:matricula:tempo:outras:redes"
+        - "dim:matricula:tempo:aee:mesma:rede"
+        - "dim:matricula:tempo:aee:outras:redes"
+        - "dim:matricula:sexo"
+        - "dim:matricula:raca"
+        - "dim:matricula:nacionalidade"
+        - "dim:matricula:pais:origen"
+        - "dim:matricula:cidade:nascimento:id"
+        - "dim:matricula:cidade:atual:id"
+        - "dim:matricula:zona:residencial"
+        - "dim:matricula:aula:outro:local"
+        - "dim:matricula:transporte:escolar:publico"
+        - "dim:matricula:responsavel:transporte"
+        - "dim:matricula:transporte:vans:kombi"
+        - "dim:matricula:transporte:micro:onibus"
+        - "dim:matricula:transporte:onibus"
+        - "dim:matricula:transporte:bicicleta"
+        - "dim:matricula:transporte:tracao:animal"
+        - "dim:matricula:transporte:outro"
+        - "dim:matricula:transporte:aquaviario:maximo5"
+        - "dim:matricula:transporte:aquaviario:maximo15"
+        - "dim:matricula:transporte:aquaviario:maximo35"
+        - "dim:matricula:transporte:aquaviario:maior35"
+        - "dim:matricula:transporte:trem:metro"
+        - "dim:matricula:necessidade:especial"
+        - "dim:matricula:cegueira"
+        - "dim:matricula:baixa:visao"
+        - "dim:matricula:surdez"
+        - "dim:matricula:deficiencia:auditiva"
+        - "dim:matricula:surdo:cegueira"
+        - "dim:matricula:deficiencia:fisica"
+        - "dim:matricula:deficiencia:intelectual"
+        - "dim:matricula:deficiencia:multipla"
+        - "dim:matricula:autismo"
+        - "dim:matricula:sindrome:asperger"
+        - "dim:matricula:sindrome:rett"
+        - "dim:matricula:transtorno:desintegrativo:infancia"
+        - "dim:matricula:superdotado"
+        - "dim:matricula:recurso:auxilio:ledor"
+        - "dim:matricula:recurso:auxilio:transcricao"
+        - "dim:matricula:recurso:guia:interprete"
+        - "dim:matricula:recurso:libras"
+        - "dim:matricula:recurso:leitura:labial"
+        - "dim:matricula:recurso:prova:braile"
+        - "dim:matricula:recurso:prova:ampliada:fonte16"
+        - "dim:matricula:recurso:prova:ampliada:fonte20"
+        - "dim:matricula:recurso:prova:ampliada:fonte24"
+        - "dim:matricula:recurso:nenhum"
+        - "dim:matricula:forma:ingresso"
+        - "dim:matricula:modalidade:ensino"
+        - "dim:matricula:etapa:ensino"
+        - "dim:matricula:etapa:ensino:agregada"
+        - "dim:turma:id"
+        - "dim:matricula:unificada"
+        - "dim:escola:id"
+        - "dim:turma:serie"
+        - "dim:matricula:faixa:etaria"
+        - "dim:matricula:ensino:fundamental:af"
+        - "dim:matricula:ensino:fundamental:ai"
+
+    metrics:
+        - "met:count:matricula:id"
+        - "met:min:matricula:nascimento:ano"
+        - "met:max:matricula:nascimento:ano"
+        - "met:avg:matricula:idade"
+        - "met:min:matricula:idade"
+        - "met:max:matricula:idade"
+        - "met:min:matricula:tempo:mesma:rede"
+        - "met:max:matricula:tempo:mesma:rede"
+        - "met:sum:matricula:tempo:mesma:rede"
+        - "met:avg:matricula:tempo:mesma:rede"
+        - "met:min:matricula:tempo:outras:redes"
+        - "met:max:matricula:tempo:outras:redes"
+        - "met:sum:matricula:tempo:outras:redes"
+        - "met:avg:matricula:tempo:outras:redes"
+        - "met:min:matricula:tempo:aee:mesma:rede"
+        - "met:max:matricula:tempo:aee:mesma:rede"
+        - "met:sum:matricula:tempo:aee:mesma:rede"
+        - "met:avg:matricula:tempo:aee:mesma:rede"
+        - "met:min:matricula:tempo:aee:outras:redes"
+        - "met:max:matricula:tempo:aee:outras:redes"
+        - "met:sum:matricula:tempo:aee:outras:redes"
+        - "met:avg:matricula:tempo:aee:outras:redes"
diff --git a/config/parse/view_pessoas_cadunico.yaml b/config/parse/view_pessoas_cadunico.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..463391965de730640a74cc34c92d480514fd05c3
--- /dev/null
+++ b/config/parse/view_pessoas_cadunico.yaml
@@ -0,0 +1,79 @@
+-
+    alias: "view:pessoas:cad:unico"
+    origin: true
+    aliasAsName: true
+    dimensions:
+        - "dim:cidade:id"
+        - "dim:cadunico:familia:estrato"
+        - "dim:cadunico:familia:divisao:administrativa:uf"
+        - "dim:cadunico:familia:id"
+        - "dim:cadunico:pessoa:id"
+        - "dim:cadunico:pessoa:genero:cod"
+        - "dim:cadunico:pessoa:idade"
+        - "dim:cadunico:pessoa:relacao:parentesco"
+        - "dim:cadunico:pessoa:raca:cod"
+        - "dim:cadunico:pessoa:local:nascimento:cod"
+        - "dim:cadunico:pessoa:certidao:registrada"
+        - "dim:cadunico:pessoa:deficiencia"
+        - "dim:cadunico:pessoa:alfabetizado"
+        - "dim:cadunico:pessoa:frequenta:escola"
+        - "dim:cadunico:pessoa:local:escola"
+        - "dim:cadunico:pessoa:curso:frequenta"
+        - "dim:cadunico:pessoa:serie:frequenta"
+        - "dim:cadunico:pessoa:curso:frequentou"
+        - "dim:cadunico:pessoa:serie:frequentou"
+        - "dim:cadunico:pessoa:curso:conclusao"
+        - "dim:cadunico:pessoa:trabalhou:semana:passada"
+        - "dim:cadunico:pessoa:nao:trabalhou:semana:passada"
+        - "dim:cadunico:pessoa:atividade:extrativista"
+        - "dim:cadunico:pessoa:funcao:principal"
+        - "dim:cadunico:pessoa:remuneracao"
+        - "dim:cadunico:pessoa:trabalhou:ultimos:12:meses"
+        - "dim:cadunico:pessoa:quant:meses:trabalhados:ultimos:12"
+        - "dim:cadunico:pessoa:renda:bruta:ultimos:12:meses"
+        - "dim:cadunico:pessoa:renda:doacao"
+        - "dim:cadunico:pessoa:renda:aposentadoria"
+        - "dim:cadunico:pessoa:renda:seguro:desemprego"
+        - "dim:cadunico:pessoa:renda:pensao"
+        - "dim:cadunico:pessoa:renda:outras"
+        - "dim:cadunico:pessoa:peso"
+        - "dim:cadunico:pessoa:censo:ano"
+    metrics:
+        - "met:count:cadunico:pessoa:id"
+        - "met:min:cadunico:pessoa:idade"
+        - "met:max:cadunico:pessoa:idade"
+        - "met:avg:cadunico:pessoa:idade"
+        - "met:min:cadunico:pessoa:remuneracao"
+        - "met:max:cadunico:pessoa:remuneracao"
+        - "met:sum:cadunico:pessoa:remuneracao"
+        - "met:avg:cadunico:pessoa:remuneracao"
+        - "met:min:cadunico:pessoa:quant:meses:trabalhados:ultimos:12"
+        - "met:max:cadunico:pessoa:quant:meses:trabalhados:ultimos:12"
+        - "met:avg:cadunico:pessoa:quant:meses:trabalhados:ultimos:12"
+        - "met:min:cadunico:pessoa:renda:bruta:ultimos:12:meses"
+        - "met:max:cadunico:pessoa:renda:bruta:ultimos:12:meses"
+        - "met:sum:cadunico:pessoa:renda:bruta:ultimos:12:meses"
+        - "met:avg:cadunico:pessoa:renda:bruta:ultimos:12:meses"
+        - "met:min:cadunico:pessoa:renda:doacao"
+        - "met:max:cadunico:pessoa:renda:doacao"
+        - "met:sum:cadunico:pessoa:renda:doacao"
+        - "met:avg:cadunico:pessoa:renda:doacao"
+        - "met:min:cadunico:pessoa:renda:aposentadoria"
+        - "met:max:cadunico:pessoa:renda:aposentadoria"
+        - "met:sum:cadunico:pessoa:renda:aposentadoria"
+        - "met:avg:cadunico:pessoa:renda:aposentadoria"
+        - "met:min:cadunico:pessoa:renda:seguro:desemprego"
+        - "met:max:cadunico:pessoa:renda:seguro:desemprego"
+        - "met:sum:cadunico:pessoa:renda:seguro:desemprego"
+        - "met:avg:cadunico:pessoa:renda:seguro:desemprego"
+        - "met:min:cadunico:pessoa:renda:pensao"
+        - "met:max:cadunico:pessoa:renda:pensao"
+        - "met:sum:cadunico:pessoa:renda:pensao"
+        - "met:avg:cadunico:pessoa:renda:pensao"
+        - "met:min:cadunico:pessoa:renda:outras"
+        - "met:max:cadunico:pessoa:renda:outras"
+        - "met:sum:cadunico:pessoa:renda:outras"
+        - "met:avg:cadunico:pessoa:renda:outras"
+        - "met:min:cadunico:pessoa:peso"
+        - "met:max:cadunico:pessoa:peso"
+        - "met:avg:cadunico:pessoa:peso"
diff --git a/config/parse/view_pnad.yaml b/config/parse/view_pnad.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..bfd87df7aca2dbc63b573b90ea7286612c99fb52
--- /dev/null
+++ b/config/parse/view_pnad.yaml
@@ -0,0 +1,86 @@
+- 
+    alias: "view:pnad"
+    origin: true
+    aliasAsName: true
+    dimensions:
+        - "dim:pnad:censo:ano"
+        - "dim:estado:id"
+        - "dim:pnad:sexo:cod"
+        - "dim:pnad:condicao:unidade:domiciliar"
+        - "dim:pnad:condicao:familia"
+        - "dim:pnad:raca:cod"
+        - "dim:pnad:alfabetizado"
+        - "dim:pnad:frequenta:escola:creche"
+        - "dim:pnad:nascimento:dia"
+        - "dim:pnad:nascimento:mes"
+        - "dim:pnad:nascimento:ano"
+        - "dim:pnad:idade"
+        - "dim:pnad:ocupacao:trabalho:posicao"
+        - "dim:pnad:situacao:censitaria"
+        - "dim:pnad:peso"
+        - "dim:pnad:renda:per:capita:domiciliar:mensal"
+        - "dim:pnad:renda:per:capita:domiciliar:mensal:faixa"
+        - "dim:pnad:escolaridade:familiar"
+        - "dim:pnad:renda:per:capita:familiar:mensal"
+        - "dim:pnad:nivel:ensino"
+        - "dim:pnad:quant:anos:estudo"
+        - "dim:pnad:ocupacao:trabalho:condicao"
+        - "dim:pnad:rede:ensino"
+        - "dim:pnad:curso"
+        - "dim:pnad:area:rede:publica:ensino"
+        - "dim:pnad:ocupacao:trabalho:cod"
+        - "dim:pnad:trabalho:setor"
+        - "dim:pnad:trabalho:area"
+        - "dim:pnad:trabalho:quant:horas:semanal"
+        - "dim:pnad:trabalho:renda:mensal"
+        - "dim:pnad:ocupacao:trabalho2:cod"
+        - "dim:pnad:trabalho2:setor"
+        - "dim:pnad:trabalho2:area"
+        - "dim:pnad:trabalho2:funcionario:publico"
+        - "dim:pnad:trabalho2:carteira:assinada"
+        - "dim:pnad:trabalho2:renda:mensal"
+        - "dim:pnad:trabalho2:quant:horas:semanal"
+        - "dim:pnad:area:localidade"
+        - "dim:pnad:faixa:etaria"
+        - "dim:pnad:professor:educacao:basica"
+        - "dim:pnad:trabalho:renda:mensal:normalizada:40:horas"
+        - "dim:pnad:renda:per:capita:domiciliar:mensal:salarios"
+        - "dim:pnad:renda:per:capita:domiciliar:mensal:quintil:nivel"
+        - "dim:pnad:renda:per:capita:domiciliar:mensal:nivel:extremo"
+    metrics:
+        - "met:min:pnad:nascimento:ano"
+        - "met:max:pnad:nascimento:ano"
+        - "met:min:pnad:idade"
+        - "met:max:pnad:idade"
+        - "met:avg:pnad:idade"
+        - "met:min:pnad:peso"
+        - "met:max:pnad:peso"
+        - "met:avg:pnad:peso"
+        - "met:min:pnad:renda:per:capita:domiciliar:mensal"
+        - "met:max:pnad:renda:per:capita:domiciliar:mensal"
+        - "met:sum:pnad:renda:per:capita:domiciliar:mensal"
+        - "met:avg:pnad:renda:per:capita:domiciliar:mensal"
+        - "met:min:pnad:renda:per:capita:familiar:mensal"
+        - "met:max:pnad:renda:per:capita:familiar:mensal"
+        - "met:sum:pnad:renda:per:capita:familiar:mensal"
+        - "met:avg:pnad:renda:per:capita:familiar:mensal"
+        - "met:min:pnad:quant:anos:estudo"
+        - "met:max:pnad:quant:anos:estudo"
+        - "met:avg:pnad:quant:anos:estudo"
+        - "met:min:pnad:trabalho:quant:horas:semanal"
+        - "met:max:pnad:trabalho:quant:horas:semanal"
+        - "met:avg:pnad:trabalho:quant:horas:semanal"
+        - "met:min:pnad:trabalho:renda:mensal"
+        - "met:max:pnad:trabalho:renda:mensal"
+        - "met:avg:pnad:trabalho:renda:mensal"
+        - "met:min:pnad:trabalho2:renda:mensal"
+        - "met:max:pnad:trabalho2:renda:mensal"
+        - "met:avg:pnad:trabalho2:renda:mensal"
+        - "met:min:pnad:trabalho2:quant:horas:semanal"
+        - "met:max:pnad:trabalho2:quant:horas:semanal"
+        - "met:avg:pnad:trabalho2:quant:horas:semanal"
+        - "met:min:pnad:trabalho:renda:mensal:normalizada:40:horas"
+        - "met:max:pnad:trabalho:renda:mensal:normalizada:40:horas"
+        - "met:avg:pnad:trabalho:renda:mensal:normalizada:40:horas"
+        - "met:min:pnad:renda:per:capita:domiciliar:mensal:salarios"
+        - "met:max:pnad:renda:per:capita:domiciliar:mensal:salarios"
diff --git a/config/parse/view_prouni.yaml b/config/parse/view_prouni.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..9b2f7583a1a475dcf8611038a3c4ae7cd44484ee
--- /dev/null
+++ b/config/parse/view_prouni.yaml
@@ -0,0 +1,19 @@
+- 
+    alias: "view:prouni"
+    origin: true
+    aliasAsName: true
+    dimensions:
+        - "dim:es:prouni:censo:ano"
+        - "dim:es:instituicao:id"
+        - "dim:es:prouni:bolsa:tipo"
+        - "dim:es:prouni:bolsa:modalidade:ensino"
+        - "dim:es:prouni:bolsa:curso:nome"
+        - "dim:es:prouni:bolsa:curso:turno"
+        - "dim:es:prouni:beneficiario:cpf"
+        - "dim:es:prouni:beneficiario:sexo:nome"
+        - "dim:es:prouni:beneficiario:raca:nome"
+        - "dim:es:prouni:beneficiario:data:nascimento"
+        - "dim:es:prouni:beneficiario:deficiente"
+        - "dim:es:prouni:beneficiario:residencia:cidade:nome"
+    metrics:
+        - "met:count:es:prouni:beneficiario:cpf"
diff --git a/config/parse/view_turma.yaml b/config/parse/view_turma.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..8193681d5f95b08aaf453bc3cde8647349bdba74
--- /dev/null
+++ b/config/parse/view_turma.yaml
@@ -0,0 +1,93 @@
+-
+    alias: "view:turma"
+    origin: true
+    aliasAsName: true
+    dimensions:
+        - "dim:turma:censo:ano"
+        - "dim:turma:id"
+        - "dim:turma:nome"
+        - "dim:turma:hora:inicio"
+        - "dim:turma:minuto:inicio"
+        - "dim:turma:duracao"
+        - "dim:turma:matricula"
+        - "dim:turma:etapa:ensino"
+        - "dim:turma:disciplina:profissionalizante:id"
+        - "dim:turma:tipo"
+        - "dim:turma:mais:educacao"
+        - "dim:turma:dia:domingo"
+        - "dim:turma:dia:segunda"
+        - "dim:turma:dia:terca"
+        - "dim:turma:dia:quarta"
+        - "dim:turma:dia:quinta"
+        - "dim:turma:dia:sexta"
+        - "dim:turma:dia:sabado"
+        - "dim:turma:codigo:atividade1:complementar"
+        - "dim:turma:codigo:atividade2:complementar"
+        - "dim:turma:codigo:atividade3:complementar"
+        - "dim:turma:codigo:atividade4:complementar"
+        - "dim:turma:codigo:atividade5:complementar"
+        - "dim:turma:codigo:atividade6:complementar"
+        - "dim:turma:braile"
+        - "dim:turma:recursos:baixa:visao"
+        - "dim:turma:processos:mentais"
+        - "dim:turma:orientacao:mobilidade"
+        - "dim:turma:sinais"
+        - "dim:turma:comunicacao:alternativa:aumentativa"
+        - "dim:turma:enriquecimento:curricular"
+        - "dim:turma:soroban"
+        - "dim:turma:informatica:acessivel"
+        - "dim:turma:portugues:escrita"
+        - "dim:turma:autonomia:escolar"
+        - "dim:turma:disciplina:quimica"
+        - "dim:turma:disciplina:fisica"
+        - "dim:turma:disciplina:matematica"
+        - "dim:turma:disciplina:biologia"
+        - "dim:turma:disciplina:ciencias"
+        - "dim:turma:disciplina:lingua:portuguesa"
+        - "dim:turma:disciplina:ingles"
+        - "dim:turma:disciplina:espanhol"
+        - "dim:turma:disciplina:frances"
+        - "dim:turma:disciplina:literatura:outras"
+        - "dim:turma:disciplina:lingua:indigena"
+        - "dim:turma:disciplina:artes"
+        - "dim:turma:disciplina:educacao:fisica"
+        - "dim:turma:disciplina:historia"
+        - "dim:turma:disciplina:geografia"
+        - "dim:turma:disciplina:filosofia"
+        - "dim:turma:disciplina:ensino:religioso"
+        - "dim:turma:disciplina:estudos:sociais"
+        - "dim:turma:disciplina:sociologia"
+        - "dim:turma:disciplina:informatica"
+        - "dim:turma:disciplina:profissionalizante"
+        - "dim:turma:disciplina:atendimento:especiais"
+        - "dim:turma:disciplina:sociocultural"
+        - "dim:turma:disciplina:libras"
+        - "dim:turma:disciplina:pedagogicas"
+        - "dim:turma:disciplina:outras"
+        - "dim:escola:id"
+        - "dim:turma:mediacao:didatico:pedagogica"
+        - "dim:turma:dias:atividades"
+        - "dim:turma:disciplina:estudos:sociais:sociologia"
+        - "dim:turma:turno"
+        - "dim:turma:etapa:ensino:segmento"
+        - "dim:turma:tempo:integral"
+        - "dim:turma:etapa:ensino:segmento:resumido"
+
+    metrics:
+        - "met:count:turma:id"
+        - "met:min:turma:hora:inicio"
+        - "met:max:turma:hora:inicio"
+        - "met:avg:turma:hora:inicio"
+        - "met:min:turma:minuto:inicio"
+        - "met:max:turma:minuto:inicio"
+        - "met:avg:turma:minuto:inicio"
+        - "met:min:turma:duracao"
+        - "met:max:turma:duracao"
+        - "met:avg:turma:duracao"
+        - "met:min:turma:matricula"
+        - "met:max:turma:matricula"
+        - "met:avg:turma:matricula"
+        - "met:sum:turma:matricula"
+        - "met:min:turma:dias:atividades"
+        - "met:max:turma:dias:atividades"
+        - "met:avg:turma:dias:atividades"
diff --git a/config/source_test_only.yaml.example b/config/source_test_only.yaml.example
deleted file mode 100644
index 02a89e58853841fe3dad433609578f34e5ea33da..0000000000000000000000000000000000000000
--- a/config/source_test_only.yaml.example
+++ /dev/null
@@ -1,8 +0,0 @@
--
-    name: "test"
-    description:
-    fields:
-    -
-        name: "noDescriptionString"
-        description:
-        dataType: "string"
diff --git a/config/test.env.example b/config/test.env.example
deleted file mode 100644
index 6c2daa608b56c7b956b68811543f5c9e0dddaebd..0000000000000000000000000000000000000000
--- a/config/test.env.example
+++ /dev/null
@@ -1,17 +0,0 @@
-PORT=3000
-BLENDB_N_DB=2
-BLENDB_LOG_FILE=/var/log/blendb.log
-BLENDB_LOG_LEVEL=debug
-BLENDB_DB0_USER=runner
-BLENDB_DB0_NAME=blendb_fixture
-BLENDB_DB0_PASSWORD=
-BLENDB_DB0_HOST=postgres
-BLENDB_DB0_PORT=5432
-BLENDB_DB0_ADAPTER=postgres
-BLENDB_DB1_USER=monetdb
-BLENDB_DB1_NAME=blendb_fixture
-BLENDB_DB1_PASSWORD=monetdb
-BLENDB_DB1_HOST=monet
-BLENDB_DB1_PORT=50000
-BLENDB_DB1_ADAPTER=monet
-BLENDB_SCHEMA_FILE=config/ci_test.yaml.example
diff --git a/package-lock.json b/package-lock.json
new file mode 100644
index 0000000000000000000000000000000000000000..0a3c3dfc11039ad8a2292e757194ae30fc3ff622
--- /dev/null
+++ b/package-lock.json
@@ -0,0 +1,5469 @@
+{
+  "name": "blendb",
+  "version": "0.0.1",
+  "lockfileVersion": 1,
+  "requires": true,
+  "dependencies": {
+    "@babel/code-frame": {
+      "version": "7.12.11",
+      "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz",
+      "integrity": "sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==",
+      "dev": true,
+      "requires": {
+        "@babel/highlight": "^7.10.4"
+      }
+    },
+    "@babel/generator": {
+      "version": "7.12.11",
+      "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.12.11.tgz",
+      "integrity": "sha512-Ggg6WPOJtSi8yYQvLVjG8F/TlpWDlKx0OpS4Kt+xMQPs5OaGYWy+v1A+1TvxI6sAMGZpKWWoAQ1DaeQbImlItA==",
+      "dev": true,
+      "requires": {
+        "@babel/types": "^7.12.11",
+        "jsesc": "^2.5.1",
+        "source-map": "^0.5.0"
+      },
+      "dependencies": {
+        "source-map": {
+          "version": "0.5.7",
+          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
+          "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
+          "dev": true
+        }
+      }
+    },
+    "@babel/helper-function-name": {
+      "version": "7.12.11",
+      "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.12.11.tgz",
+      "integrity": "sha512-AtQKjtYNolKNi6nNNVLQ27CP6D9oFR6bq/HPYSizlzbp7uC1M59XJe8L+0uXjbIaZaUJF99ruHqVGiKXU/7ybA==",
+      "dev": true,
+      "requires": {
+        "@babel/helper-get-function-arity": "^7.12.10",
+        "@babel/template": "^7.12.7",
+        "@babel/types": "^7.12.11"
+      }
+    },
+    "@babel/helper-get-function-arity": {
+      "version": "7.12.10",
+      "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.12.10.tgz",
+      "integrity": "sha512-mm0n5BPjR06wh9mPQaDdXWDoll/j5UpCAPl1x8fS71GHm7HA6Ua2V4ylG1Ju8lvcTOietbPNNPaSilKj+pj+Ag==",
+      "dev": true,
+      "requires": {
+        "@babel/types": "^7.12.10"
+      }
+    },
+    "@babel/helper-split-export-declaration": {
+      "version": "7.12.11",
+      "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.12.11.tgz",
+      "integrity": "sha512-LsIVN8j48gHgwzfocYUSkO/hjYAOJqlpJEc7tGXcIm4cubjVUf8LGW6eWRyxEu7gA25q02p0rQUWoCI33HNS5g==",
+      "dev": true,
+      "requires": {
+        "@babel/types": "^7.12.11"
+      }
+    },
+    "@babel/helper-validator-identifier": {
+      "version": "7.12.11",
+      "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz",
+      "integrity": "sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw==",
+      "dev": true
+    },
+    "@babel/highlight": {
+      "version": "7.10.4",
+      "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz",
+      "integrity": "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==",
+      "dev": true,
+      "requires": {
+        "@babel/helper-validator-identifier": "^7.10.4",
+        "chalk": "^2.0.0",
+        "js-tokens": "^4.0.0"
+      }
+    },
+    "@babel/parser": {
+      "version": "7.12.11",
+      "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.12.11.tgz",
+      "integrity": "sha512-N3UxG+uuF4CMYoNj8AhnbAcJF0PiuJ9KHuy1lQmkYsxTer/MAH9UBNHsBoAX/4s6NvlDD047No8mYVGGzLL4hg==",
+      "dev": true
+    },
+    "@babel/template": {
+      "version": "7.12.7",
+      "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.12.7.tgz",
+      "integrity": "sha512-GkDzmHS6GV7ZeXfJZ0tLRBhZcMcY0/Lnb+eEbXDBfCAcZCjrZKe6p3J4we/D24O9Y8enxWAg1cWwof59yLh2ow==",
+      "dev": true,
+      "requires": {
+        "@babel/code-frame": "^7.10.4",
+        "@babel/parser": "^7.12.7",
+        "@babel/types": "^7.12.7"
+      }
+    },
+    "@babel/traverse": {
+      "version": "7.12.12",
+      "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.12.12.tgz",
+      "integrity": "sha512-s88i0X0lPy45RrLM8b9mz8RPH5FqO9G9p7ti59cToE44xFm1Q+Pjh5Gq4SXBbtb88X7Uy7pexeqRIQDDMNkL0w==",
+      "dev": true,
+      "requires": {
+        "@babel/code-frame": "^7.12.11",
+        "@babel/generator": "^7.12.11",
+        "@babel/helper-function-name": "^7.12.11",
+        "@babel/helper-split-export-declaration": "^7.12.11",
+        "@babel/parser": "^7.12.11",
+        "@babel/types": "^7.12.12",
+        "debug": "^4.1.0",
+        "globals": "^11.1.0",
+        "lodash": "^4.17.19"
+      },
+      "dependencies": {
+        "debug": {
+          "version": "4.3.1",
+          "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz",
+          "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==",
+          "dev": true,
+          "requires": {
+            "ms": "2.1.2"
+          }
+        },
+        "ms": {
+          "version": "2.1.2",
+          "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+          "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
+          "dev": true
+        }
+      }
+    },
+    "@babel/types": {
+      "version": "7.12.12",
+      "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.12.tgz",
+      "integrity": "sha512-lnIX7piTxOH22xE7fDXDbSHg9MM1/6ORnafpJmov5rs0kX5g4BZxeXNJLXsMRiO0U5Rb8/FvMS6xlTnTHvxonQ==",
+      "dev": true,
+      "requires": {
+        "@babel/helper-validator-identifier": "^7.12.11",
+        "lodash": "^4.17.19",
+        "to-fast-properties": "^2.0.0"
+      }
+    },
+    "@types/async": {
+      "version": "3.2.5",
+      "resolved": "https://registry.npmjs.org/@types/async/-/async-3.2.5.tgz",
+      "integrity": "sha512-fdtHUdfIxSfU6crUgUOEb6vxdquAOa75bh1sQVL/ePkmQDNo8Aj1056eGGI9cPls5tLRhnAyfoXljEk+hmhbxg=="
+    },
+    "@types/body-parser": {
+      "version": "1.19.0",
+      "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.0.tgz",
+      "integrity": "sha512-W98JrE0j2K78swW4ukqMleo8R7h/pFETjM2DQ90MF6XK2i4LO4W3gQ71Lt4w3bfm2EvVSyWHplECvB5sK22yFQ==",
+      "requires": {
+        "@types/connect": "*",
+        "@types/node": "*"
+      }
+    },
+    "@types/chai": {
+      "version": "4.2.14",
+      "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.2.14.tgz",
+      "integrity": "sha512-G+ITQPXkwTrslfG5L/BksmbLUA0M1iybEsmCWPqzSxsRRhJZimBKJkoMi8fr/CPygPTj4zO5pJH7I2/cm9M7SQ=="
+    },
+    "@types/connect": {
+      "version": "3.4.34",
+      "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.34.tgz",
+      "integrity": "sha512-ePPA/JuI+X0vb+gSWlPKOY0NdNAie/rPUqX2GUPpbZwiKTkSPhjXWuee47E4MtE54QVzGCQMQkAL6JhV2E1+cQ==",
+      "requires": {
+        "@types/node": "*"
+      }
+    },
+    "@types/cookiejar": {
+      "version": "2.1.2",
+      "resolved": "https://registry.npmjs.org/@types/cookiejar/-/cookiejar-2.1.2.tgz",
+      "integrity": "sha512-t73xJJrvdTjXrn4jLS9VSGRbz0nUY3cl2DMGDU48lKl+HR9dbbjW2A9r3g40VA++mQpy6uuHg33gy7du2BKpog==",
+      "dev": true
+    },
+    "@types/express": {
+      "version": "4.17.11",
+      "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.11.tgz",
+      "integrity": "sha512-no+R6rW60JEc59977wIxreQVsIEOAYwgCqldrA/vkpCnbD7MqTefO97lmoBe4WE0F156bC4uLSP1XHDOySnChg==",
+      "requires": {
+        "@types/body-parser": "*",
+        "@types/express-serve-static-core": "^4.17.18",
+        "@types/qs": "*",
+        "@types/serve-static": "*"
+      }
+    },
+    "@types/express-serve-static-core": {
+      "version": "4.17.18",
+      "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.18.tgz",
+      "integrity": "sha512-m4JTwx5RUBNZvky/JJ8swEJPKFd8si08pPF2PfizYjGZOKr/svUWPcoUmLow6MmPzhasphB7gSTINY67xn3JNA==",
+      "requires": {
+        "@types/node": "*",
+        "@types/qs": "*",
+        "@types/range-parser": "*"
+      }
+    },
+    "@types/js-yaml": {
+      "version": "3.12.6",
+      "resolved": "https://registry.npmjs.org/@types/js-yaml/-/js-yaml-3.12.6.tgz",
+      "integrity": "sha512-cK4XqrLvP17X6c0C8n4iTbT59EixqyXL3Fk8/Rsk4dF3oX4dg70gYUXrXVUUHpnsGMPNlTQMqf+TVmNPX6FmSQ=="
+    },
+    "@types/mime": {
+      "version": "1.3.2",
+      "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.2.tgz",
+      "integrity": "sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw=="
+    },
+    "@types/minimatch": {
+      "version": "3.0.3",
+      "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.3.tgz",
+      "integrity": "sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA==",
+      "dev": true
+    },
+    "@types/mocha": {
+      "version": "5.2.7",
+      "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-5.2.7.tgz",
+      "integrity": "sha512-NYrtPht0wGzhwe9+/idPaBB+TqkY9AhTvOLMkThm0IoEfLaiVQZwBwyJ5puCkO3AUCWrmcoePjp2mbFocKy4SQ==",
+      "dev": true
+    },
+    "@types/node": {
+      "version": "14.14.21",
+      "resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.21.tgz",
+      "integrity": "sha512-cHYfKsnwllYhjOzuC5q1VpguABBeecUp24yFluHpn/BQaVxB1CuQ1FSRZCzrPxrkIfWISXV2LbeoBthLWg0+0A=="
+    },
+    "@types/pg": {
+      "version": "7.14.8",
+      "resolved": "https://registry.npmjs.org/@types/pg/-/pg-7.14.8.tgz",
+      "integrity": "sha512-ZOpHcmngTbd7fXS+wMM4SpYDQYDddzR9KfkDu1yPcEKWcHMAFT1T1oTB3X2Ip1dBIfeNY4eQEKsWLt74+TGq6A==",
+      "requires": {
+        "@types/node": "*",
+        "pg-types": "^2.2.0"
+      }
+    },
+    "@types/qs": {
+      "version": "6.9.5",
+      "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.5.tgz",
+      "integrity": "sha512-/JHkVHtx/REVG0VVToGRGH2+23hsYLHdyG+GrvoUGlGAd0ErauXDyvHtRI/7H7mzLm+tBCKA7pfcpkQ1lf58iQ=="
+    },
+    "@types/range-parser": {
+      "version": "1.2.3",
+      "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.3.tgz",
+      "integrity": "sha512-ewFXqrQHlFsgc09MK5jP5iR7vumV/BYayNC6PgJO2LPe8vrnNFyjQjSppfEngITi0qvfKtzFvgKymGheFM9UOA=="
+    },
+    "@types/serve-static": {
+      "version": "1.13.9",
+      "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.13.9.tgz",
+      "integrity": "sha512-ZFqF6qa48XsPdjXV5Gsz0Zqmux2PerNd3a/ktL45mHpa19cuMi/cL8tcxdAx497yRh+QtYPuofjT9oWw9P7nkA==",
+      "requires": {
+        "@types/mime": "^1",
+        "@types/node": "*"
+      }
+    },
+    "@types/superagent": {
+      "version": "4.1.10",
+      "resolved": "https://registry.npmjs.org/@types/superagent/-/superagent-4.1.10.tgz",
+      "integrity": "sha512-xAgkb2CMWUMCyVc/3+7iQfOEBE75NvuZeezvmixbUw3nmENf2tCnQkW5yQLTYqvXUQ+R6EXxdqKKbal2zM5V/g==",
+      "dev": true,
+      "requires": {
+        "@types/cookiejar": "*",
+        "@types/node": "*"
+      }
+    },
+    "@types/supertest": {
+      "version": "2.0.10",
+      "resolved": "https://registry.npmjs.org/@types/supertest/-/supertest-2.0.10.tgz",
+      "integrity": "sha512-Xt8TbEyZTnD5Xulw95GLMOkmjGICrOQyJ2jqgkSjAUR3mm7pAIzSR0NFBaMcwlzVvlpCjNwbATcWWwjNiZiFrQ==",
+      "dev": true,
+      "requires": {
+        "@types/superagent": "*"
+      }
+    },
+    "a-sync-waterfall": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/a-sync-waterfall/-/a-sync-waterfall-1.0.1.tgz",
+      "integrity": "sha512-RYTOHHdWipFUliRFMCS4X2Yn2X8M87V/OpSqWzKKOGhzqyUxzyVmhHDH9sAvG+ZuQf/TAOFsLCpMw09I1ufUnA==",
+      "dev": true
+    },
+    "abbrev": {
+      "version": "1.1.1",
+      "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz",
+      "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==",
+      "dev": true
+    },
+    "accepts": {
+      "version": "1.3.7",
+      "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz",
+      "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==",
+      "requires": {
+        "mime-types": "~2.1.24",
+        "negotiator": "0.6.2"
+      }
+    },
+    "ajv": {
+      "version": "4.11.8",
+      "resolved": "https://registry.npmjs.org/ajv/-/ajv-4.11.8.tgz",
+      "integrity": "sha1-gv+wKynmYq5TvcIK8VlHcGc5xTY=",
+      "requires": {
+        "co": "^4.6.0",
+        "json-stable-stringify": "^1.0.1"
+      }
+    },
+    "amdefine": {
+      "version": "0.0.8",
+      "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-0.0.8.tgz",
+      "integrity": "sha1-NNyMmB5qyzvhhTvvjw7JSjnVW6A=",
+      "dev": true
+    },
+    "ansi-colors": {
+      "version": "3.2.3",
+      "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.3.tgz",
+      "integrity": "sha512-LEHHyuhlPY3TmuUYMh2oz89lTShfvgbmzaBcxve9t/9Wuy7Dwf4yoAKcND7KFT1HAQfqZ12qtc+DUrBMeKF9nw==",
+      "dev": true
+    },
+    "ansi-regex": {
+      "version": "2.1.1",
+      "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
+      "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8="
+    },
+    "ansi-styles": {
+      "version": "3.2.1",
+      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
+      "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
+      "dev": true,
+      "requires": {
+        "color-convert": "^1.9.0"
+      }
+    },
+    "anymatch": {
+      "version": "3.1.1",
+      "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz",
+      "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==",
+      "dev": true,
+      "optional": true,
+      "requires": {
+        "normalize-path": "^3.0.0",
+        "picomatch": "^2.0.4"
+      }
+    },
+    "append-transform": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/append-transform/-/append-transform-1.0.0.tgz",
+      "integrity": "sha512-P009oYkeHyU742iSZJzZZywj4QRJdnTWffaKuJQLablCZ1uz6/cW4yaRgcDaoQ+uwOxxnt0gRUcwfsNP2ri0gw==",
+      "dev": true,
+      "requires": {
+        "default-require-extensions": "^2.0.0"
+      }
+    },
+    "archy": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz",
+      "integrity": "sha1-+cjBN1fMHde8N5rHeyxipcKGjEA=",
+      "dev": true
+    },
+    "arg": {
+      "version": "4.1.3",
+      "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz",
+      "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==",
+      "dev": true
+    },
+    "argh": {
+      "version": "0.1.4",
+      "resolved": "https://registry.npmjs.org/argh/-/argh-0.1.4.tgz",
+      "integrity": "sha1-PrTWEpc/xrbcbvM49W91nyrFw6Y=",
+      "dev": true
+    },
+    "argparse": {
+      "version": "1.0.10",
+      "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz",
+      "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==",
+      "requires": {
+        "sprintf-js": "~1.0.2"
+      }
+    },
+    "array-flatten": {
+      "version": "1.1.1",
+      "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz",
+      "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI="
+    },
+    "arrify": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz",
+      "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0="
+    },
+    "asap": {
+      "version": "2.0.6",
+      "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz",
+      "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=",
+      "dev": true
+    },
+    "assertion-error": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz",
+      "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==",
+      "dev": true
+    },
+    "async": {
+      "version": "3.2.0",
+      "resolved": "https://registry.npmjs.org/async/-/async-3.2.0.tgz",
+      "integrity": "sha512-TR2mEZFVOj2pLStYxLht7TyfuRzaydfpxr3k9RpHIzMgw7A64dzsdqCxH1WJyQdoe8T10nDXd9wnEigmiuHIZw=="
+    },
+    "asynckit": {
+      "version": "0.4.0",
+      "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
+      "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=",
+      "dev": true
+    },
+    "backbone": {
+      "version": "1.4.0",
+      "resolved": "https://registry.npmjs.org/backbone/-/backbone-1.4.0.tgz",
+      "integrity": "sha512-RLmDrRXkVdouTg38jcgHhyQ/2zjg7a8E6sz2zxfz21Hh17xDJYUHBZimVIt5fUyS8vbfpeSmTL3gUjTEvUV3qQ==",
+      "dev": true,
+      "requires": {
+        "underscore": ">=1.8.3"
+      }
+    },
+    "balanced-match": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",
+      "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=",
+      "dev": true
+    },
+    "bignumber.js": {
+      "version": "9.0.0",
+      "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.0.0.tgz",
+      "integrity": "sha512-t/OYhhJ2SD+YGBQcjY8GzzDHEk9f3nerxjtfa6tlMXfe7frs/WozhvCNoGvpM0P3bNf3Gq5ZRMlGr5f3r4/N8A=="
+    },
+    "binary-extensions": {
+      "version": "2.2.0",
+      "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz",
+      "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==",
+      "dev": true,
+      "optional": true
+    },
+    "body-parser": {
+      "version": "1.19.0",
+      "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz",
+      "integrity": "sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==",
+      "requires": {
+        "bytes": "3.1.0",
+        "content-type": "~1.0.4",
+        "debug": "2.6.9",
+        "depd": "~1.1.2",
+        "http-errors": "1.7.2",
+        "iconv-lite": "0.4.24",
+        "on-finished": "~2.3.0",
+        "qs": "6.7.0",
+        "raw-body": "2.4.0",
+        "type-is": "~1.6.17"
+      }
+    },
+    "brace-expansion": {
+      "version": "1.1.11",
+      "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
+      "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
+      "dev": true,
+      "requires": {
+        "balanced-match": "^1.0.0",
+        "concat-map": "0.0.1"
+      }
+    },
+    "braces": {
+      "version": "3.0.2",
+      "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
+      "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
+      "dev": true,
+      "optional": true,
+      "requires": {
+        "fill-range": "^7.0.1"
+      }
+    },
+    "browser-stdout": {
+      "version": "1.3.1",
+      "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz",
+      "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==",
+      "dev": true
+    },
+    "buffer-from": {
+      "version": "1.1.1",
+      "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz",
+      "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==",
+      "dev": true
+    },
+    "buffer-writer": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/buffer-writer/-/buffer-writer-2.0.0.tgz",
+      "integrity": "sha512-a7ZpuTZU1TRtnwyCNW3I5dc0wWNC3VR9S++Ewyk2HHZdrO3CQJqSpd+95Us590V6AL7JqUAH2IwZ/398PmNFgw=="
+    },
+    "builtin-modules": {
+      "version": "1.1.1",
+      "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz",
+      "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=",
+      "dev": true
+    },
+    "busboy": {
+      "version": "0.2.14",
+      "resolved": "https://registry.npmjs.org/busboy/-/busboy-0.2.14.tgz",
+      "integrity": "sha1-bCpiLvz0fFe7vh4qnDetNseSVFM=",
+      "requires": {
+        "dicer": "0.2.5",
+        "readable-stream": "1.1.x"
+      }
+    },
+    "bytes": {
+      "version": "3.1.0",
+      "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz",
+      "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg=="
+    },
+    "caching-transform": {
+      "version": "3.0.2",
+      "resolved": "https://registry.npmjs.org/caching-transform/-/caching-transform-3.0.2.tgz",
+      "integrity": "sha512-Mtgcv3lh3U0zRii/6qVgQODdPA4G3zhG+jtbCWj39RXuUFTMzH0vcdMtaJS1jPowd+It2Pqr6y3NJMQqOqCE2w==",
+      "dev": true,
+      "requires": {
+        "hasha": "^3.0.0",
+        "make-dir": "^2.0.0",
+        "package-hash": "^3.0.0",
+        "write-file-atomic": "^2.4.2"
+      }
+    },
+    "call-bind": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz",
+      "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==",
+      "dev": true,
+      "requires": {
+        "function-bind": "^1.1.1",
+        "get-intrinsic": "^1.0.2"
+      }
+    },
+    "call-me-maybe": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/call-me-maybe/-/call-me-maybe-1.0.1.tgz",
+      "integrity": "sha1-JtII6onje1y95gJQoV8DHBak1ms="
+    },
+    "camel-case": {
+      "version": "4.1.2",
+      "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-4.1.2.tgz",
+      "integrity": "sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==",
+      "dev": true,
+      "requires": {
+        "pascal-case": "^3.1.2",
+        "tslib": "^2.0.3"
+      }
+    },
+    "camelcase": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz",
+      "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo="
+    },
+    "capital-case": {
+      "version": "1.0.4",
+      "resolved": "https://registry.npmjs.org/capital-case/-/capital-case-1.0.4.tgz",
+      "integrity": "sha512-ds37W8CytHgwnhGGTi88pcPyR15qoNkOpYwmMMfnWqqWgESapLqvDx6huFjQ5vqWSn2Z06173XNA7LtMOeUh1A==",
+      "dev": true,
+      "requires": {
+        "no-case": "^3.0.4",
+        "tslib": "^2.0.3",
+        "upper-case-first": "^2.0.2"
+      }
+    },
+    "chai": {
+      "version": "4.2.0",
+      "resolved": "https://registry.npmjs.org/chai/-/chai-4.2.0.tgz",
+      "integrity": "sha512-XQU3bhBukrOsQCuwZndwGcCVQHyZi53fQ6Ys1Fym7E4olpIqqZZhhoFJoaKVvV17lWQoXYwgWN2nF5crA8J2jw==",
+      "dev": true,
+      "requires": {
+        "assertion-error": "^1.1.0",
+        "check-error": "^1.0.2",
+        "deep-eql": "^3.0.1",
+        "get-func-name": "^2.0.0",
+        "pathval": "^1.1.0",
+        "type-detect": "^4.0.5"
+      }
+    },
+    "chalk": {
+      "version": "2.4.2",
+      "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
+      "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
+      "dev": true,
+      "requires": {
+        "ansi-styles": "^3.2.1",
+        "escape-string-regexp": "^1.0.5",
+        "supports-color": "^5.3.0"
+      },
+      "dependencies": {
+        "supports-color": {
+          "version": "5.5.0",
+          "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
+          "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
+          "dev": true,
+          "requires": {
+            "has-flag": "^3.0.0"
+          }
+        }
+      }
+    },
+    "change-case": {
+      "version": "4.1.2",
+      "resolved": "https://registry.npmjs.org/change-case/-/change-case-4.1.2.tgz",
+      "integrity": "sha512-bSxY2ws9OtviILG1EiY5K7NNxkqg/JnRnFxLtKQ96JaviiIxi7djMrSd0ECT9AC+lttClmYwKw53BWpOMblo7A==",
+      "dev": true,
+      "requires": {
+        "camel-case": "^4.1.2",
+        "capital-case": "^1.0.4",
+        "constant-case": "^3.0.4",
+        "dot-case": "^3.0.4",
+        "header-case": "^2.0.4",
+        "no-case": "^3.0.4",
+        "param-case": "^3.0.4",
+        "pascal-case": "^3.1.2",
+        "path-case": "^3.0.4",
+        "sentence-case": "^3.0.4",
+        "snake-case": "^3.0.4",
+        "tslib": "^2.0.3"
+      }
+    },
+    "check-error": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.2.tgz",
+      "integrity": "sha1-V00xLt2Iu13YkS6Sht1sCu1KrII=",
+      "dev": true
+    },
+    "chokidar": {
+      "version": "3.5.1",
+      "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.1.tgz",
+      "integrity": "sha512-9+s+Od+W0VJJzawDma/gvBNQqkTiqYTWLuZoyAsivsI4AaWTCzHG06/TMjsf1cYe9Cb97UCEhjz7HvnPk2p/tw==",
+      "dev": true,
+      "optional": true,
+      "requires": {
+        "anymatch": "~3.1.1",
+        "braces": "~3.0.2",
+        "fsevents": "~2.3.1",
+        "glob-parent": "~5.1.0",
+        "is-binary-path": "~2.1.0",
+        "is-glob": "~4.0.1",
+        "normalize-path": "~3.0.0",
+        "readdirp": "~3.5.0"
+      }
+    },
+    "cli-color": {
+      "version": "1.4.0",
+      "resolved": "https://registry.npmjs.org/cli-color/-/cli-color-1.4.0.tgz",
+      "integrity": "sha512-xu6RvQqqrWEo6MPR1eixqGPywhYBHRs653F9jfXB2Hx4jdM/3WxiNE1vppRmxtMIfl16SFYTpYlrnqH/HsK/2w==",
+      "dev": true,
+      "requires": {
+        "ansi-regex": "^2.1.1",
+        "d": "1",
+        "es5-ext": "^0.10.46",
+        "es6-iterator": "^2.0.3",
+        "memoizee": "^0.4.14",
+        "timers-ext": "^0.1.5"
+      }
+    },
+    "cliui": {
+      "version": "3.2.0",
+      "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz",
+      "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=",
+      "requires": {
+        "string-width": "^1.0.1",
+        "strip-ansi": "^3.0.1",
+        "wrap-ansi": "^2.0.0"
+      }
+    },
+    "co": {
+      "version": "4.6.0",
+      "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz",
+      "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ="
+    },
+    "code-point-at": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz",
+      "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c="
+    },
+    "color": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/color/-/color-3.0.0.tgz",
+      "integrity": "sha512-jCpd5+s0s0t7p3pHQKpnJ0TpQKKdleP71LWcA0aqiljpiuAkOSUFN/dyH8ZwF0hRmFlrIuRhufds1QyEP9EB+w==",
+      "dev": true,
+      "requires": {
+        "color-convert": "^1.9.1",
+        "color-string": "^1.5.2"
+      }
+    },
+    "color-convert": {
+      "version": "1.9.3",
+      "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
+      "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
+      "dev": true,
+      "requires": {
+        "color-name": "1.1.3"
+      }
+    },
+    "color-name": {
+      "version": "1.1.3",
+      "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
+      "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=",
+      "dev": true
+    },
+    "color-string": {
+      "version": "1.5.4",
+      "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.5.4.tgz",
+      "integrity": "sha512-57yF5yt8Xa3czSEW1jfQDE79Idk0+AkN/4KWad6tbdxUmAs3MvjxlWSWD4deYytcRfoZ9nhKyFl1kj5tBvidbw==",
+      "dev": true,
+      "requires": {
+        "color-name": "^1.0.0",
+        "simple-swizzle": "^0.2.2"
+      }
+    },
+    "colornames": {
+      "version": "1.1.1",
+      "resolved": "https://registry.npmjs.org/colornames/-/colornames-1.1.1.tgz",
+      "integrity": "sha1-+IiQMGhcfE/54qVZ9Qd+t2qBb5Y=",
+      "dev": true
+    },
+    "colorspace": {
+      "version": "1.1.2",
+      "resolved": "https://registry.npmjs.org/colorspace/-/colorspace-1.1.2.tgz",
+      "integrity": "sha512-vt+OoIP2d76xLhjwbBaucYlNSpPsrJWPlBTtwCpQKIu6/CSMutyzX93O/Do0qzpH3YoHEes8YEFXyZ797rEhzQ==",
+      "dev": true,
+      "requires": {
+        "color": "3.0.x",
+        "text-hex": "1.0.x"
+      }
+    },
+    "combined-stream": {
+      "version": "1.0.8",
+      "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
+      "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
+      "requires": {
+        "delayed-stream": "~1.0.0"
+      }
+    },
+    "commander": {
+      "version": "2.20.3",
+      "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz",
+      "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ=="
+    },
+    "commondir": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz",
+      "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=",
+      "dev": true
+    },
+    "component-emitter": {
+      "version": "1.3.0",
+      "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz",
+      "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==",
+      "dev": true
+    },
+    "compose-middleware": {
+      "version": "2.2.0",
+      "resolved": "https://registry.npmjs.org/compose-middleware/-/compose-middleware-2.2.0.tgz",
+      "integrity": "sha1-boMLHFwWjTvx/sYuOpZMLdNhzsM=",
+      "requires": {
+        "array-flatten": "^2.1.0"
+      },
+      "dependencies": {
+        "array-flatten": {
+          "version": "2.1.2",
+          "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz",
+          "integrity": "sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ=="
+        }
+      }
+    },
+    "compressible": {
+      "version": "2.0.18",
+      "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz",
+      "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==",
+      "requires": {
+        "mime-db": ">= 1.43.0 < 2"
+      }
+    },
+    "compression": {
+      "version": "1.7.4",
+      "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz",
+      "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==",
+      "requires": {
+        "accepts": "~1.3.5",
+        "bytes": "3.0.0",
+        "compressible": "~2.0.16",
+        "debug": "2.6.9",
+        "on-headers": "~1.0.2",
+        "safe-buffer": "5.1.2",
+        "vary": "~1.1.2"
+      },
+      "dependencies": {
+        "bytes": {
+          "version": "3.0.0",
+          "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz",
+          "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg="
+        }
+      }
+    },
+    "concat-map": {
+      "version": "0.0.1",
+      "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
+      "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=",
+      "dev": true
+    },
+    "condense-newlines": {
+      "version": "0.2.1",
+      "resolved": "https://registry.npmjs.org/condense-newlines/-/condense-newlines-0.2.1.tgz",
+      "integrity": "sha1-PemFVTE5R10yUCyDsC9gaE0kxV8=",
+      "dev": true,
+      "requires": {
+        "extend-shallow": "^2.0.1",
+        "is-whitespace": "^0.3.0",
+        "kind-of": "^3.0.2"
+      }
+    },
+    "config-chain": {
+      "version": "1.1.12",
+      "resolved": "https://registry.npmjs.org/config-chain/-/config-chain-1.1.12.tgz",
+      "integrity": "sha512-a1eOIcu8+7lUInge4Rpf/n4Krkf3Dd9lqhljRzII1/Zno/kRtUWnznPO3jOKBmTEktkt3fkxisUcivoj0ebzoA==",
+      "dev": true,
+      "requires": {
+        "ini": "^1.3.4",
+        "proto-list": "~1.2.1"
+      }
+    },
+    "constant-case": {
+      "version": "3.0.4",
+      "resolved": "https://registry.npmjs.org/constant-case/-/constant-case-3.0.4.tgz",
+      "integrity": "sha512-I2hSBi7Vvs7BEuJDr5dDHfzb/Ruj3FyvFyh7KLilAjNQw3Be+xgqUBA2W6scVEcL0hL1dwPRtIqEPVUCKkSsyQ==",
+      "dev": true,
+      "requires": {
+        "no-case": "^3.0.4",
+        "tslib": "^2.0.3",
+        "upper-case": "^2.0.2"
+      }
+    },
+    "content-disposition": {
+      "version": "0.5.3",
+      "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz",
+      "integrity": "sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==",
+      "requires": {
+        "safe-buffer": "5.1.2"
+      }
+    },
+    "content-type": {
+      "version": "1.0.4",
+      "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz",
+      "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA=="
+    },
+    "convert-source-map": {
+      "version": "1.7.0",
+      "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz",
+      "integrity": "sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==",
+      "dev": true,
+      "requires": {
+        "safe-buffer": "~5.1.1"
+      }
+    },
+    "cookie": {
+      "version": "0.4.0",
+      "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz",
+      "integrity": "sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg=="
+    },
+    "cookie-session": {
+      "version": "1.4.0",
+      "resolved": "https://registry.npmjs.org/cookie-session/-/cookie-session-1.4.0.tgz",
+      "integrity": "sha512-0hhwD+BUIwMXQraiZP/J7VP2YFzqo6g4WqZlWHtEHQ22t0MeZZrNBSCxC1zcaLAs8ApT3BzAKizx9gW/AP9vNA==",
+      "requires": {
+        "cookies": "0.8.0",
+        "debug": "2.6.9",
+        "on-headers": "~1.0.2"
+      }
+    },
+    "cookie-signature": {
+      "version": "1.0.6",
+      "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz",
+      "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw="
+    },
+    "cookiejar": {
+      "version": "2.1.2",
+      "resolved": "https://registry.npmjs.org/cookiejar/-/cookiejar-2.1.2.tgz",
+      "integrity": "sha512-Mw+adcfzPxcPeI+0WlvRrr/3lGVO0bD75SxX6811cxSh1Wbxx7xZBGK1eVtDf6si8rg2lhnUjsVLMFMfbRIuwA==",
+      "dev": true
+    },
+    "cookies": {
+      "version": "0.8.0",
+      "resolved": "https://registry.npmjs.org/cookies/-/cookies-0.8.0.tgz",
+      "integrity": "sha512-8aPsApQfebXnuI+537McwYsDtjVxGm8gTIzQI3FDW6t5t/DAhERxtnbEPN/8RX+uZthoz4eCOgloXaE5cYyNow==",
+      "requires": {
+        "depd": "~2.0.0",
+        "keygrip": "~1.1.0"
+      },
+      "dependencies": {
+        "depd": {
+          "version": "2.0.0",
+          "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz",
+          "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw=="
+        }
+      }
+    },
+    "core-util-is": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
+      "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac="
+    },
+    "cors": {
+      "version": "2.8.5",
+      "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz",
+      "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==",
+      "requires": {
+        "object-assign": "^4",
+        "vary": "^1"
+      }
+    },
+    "cp-file": {
+      "version": "6.2.0",
+      "resolved": "https://registry.npmjs.org/cp-file/-/cp-file-6.2.0.tgz",
+      "integrity": "sha512-fmvV4caBnofhPe8kOcitBwSn2f39QLjnAnGq3gO9dfd75mUytzKNZB1hde6QHunW2Rt+OwuBOMc3i1tNElbszA==",
+      "dev": true,
+      "requires": {
+        "graceful-fs": "^4.1.2",
+        "make-dir": "^2.0.0",
+        "nested-error-stacks": "^2.0.0",
+        "pify": "^4.0.1",
+        "safe-buffer": "^5.0.1"
+      },
+      "dependencies": {
+        "pify": {
+          "version": "4.0.1",
+          "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz",
+          "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==",
+          "dev": true
+        }
+      }
+    },
+    "cross-spawn": {
+      "version": "4.0.2",
+      "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-4.0.2.tgz",
+      "integrity": "sha1-e5JHYhwjrf3ThWAEqCPL45dCTUE=",
+      "dev": true,
+      "requires": {
+        "lru-cache": "^4.0.1",
+        "which": "^1.2.9"
+      }
+    },
+    "d": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/d/-/d-1.0.1.tgz",
+      "integrity": "sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==",
+      "dev": true,
+      "requires": {
+        "es5-ext": "^0.10.50",
+        "type": "^1.0.1"
+      }
+    },
+    "datatype-expansion": {
+      "version": "0.4.1",
+      "resolved": "https://registry.npmjs.org/datatype-expansion/-/datatype-expansion-0.4.1.tgz",
+      "integrity": "sha512-KI80twJSPaoNJn6AsQStuL+4ipTKT4AtW+bAKEObQ5ZMqQM6Atzquh9Nu+hj488PQfKKAzuVodOrp7C7P+oItQ==",
+      "dev": true,
+      "requires": {
+        "lodash": "^4.17.19"
+      }
+    },
+    "date-and-time": {
+      "version": "0.11.1",
+      "resolved": "https://registry.npmjs.org/date-and-time/-/date-and-time-0.11.1.tgz",
+      "integrity": "sha512-+1JkWME+UWRpCfvE1T0Vfbw629Ego0IcfHH0qtP4KhAXs7IJT2qsg1hNePqZhyD8Wby46HlW393lSL5PZSzDsA=="
+    },
+    "date-format": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/date-format/-/date-format-2.1.0.tgz",
+      "integrity": "sha512-bYQuGLeFxhkxNOF3rcMtiZxvCBAquGzZm6oWA1oZ0g2THUzivaRhv8uOhdr19LmoobSOLoIAxeUK2RdbM8IFTA=="
+    },
+    "debug": {
+      "version": "2.6.9",
+      "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+      "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+      "requires": {
+        "ms": "2.0.0"
+      }
+    },
+    "decamelize": {
+      "version": "1.2.0",
+      "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz",
+      "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA="
+    },
+    "deeks": {
+      "version": "2.3.0",
+      "resolved": "https://registry.npmjs.org/deeks/-/deeks-2.3.0.tgz",
+      "integrity": "sha512-mrNI+TSdnK5s2Gal4Fv3/RGcrYGtB4NC3tTXU1hu74tYsG9JS6SzNKLD8doq6UWsglouGwC86kXqB1pdO+9hyA=="
+    },
+    "deep-eql": {
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-3.0.1.tgz",
+      "integrity": "sha512-+QeIQyN5ZuO+3Uk5DYh6/1eKO0m0YmJFGNmFHGACpf1ClL1nmlV/p4gNgbl2pJGxgXb4faqo6UE+M5ACEMyVcw==",
+      "dev": true,
+      "requires": {
+        "type-detect": "^4.0.0"
+      }
+    },
+    "default-require-extensions": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/default-require-extensions/-/default-require-extensions-2.0.0.tgz",
+      "integrity": "sha1-9fj7sYp9bVCyH2QfZJ67Uiz+JPc=",
+      "dev": true,
+      "requires": {
+        "strip-bom": "^3.0.0"
+      },
+      "dependencies": {
+        "strip-bom": {
+          "version": "3.0.0",
+          "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz",
+          "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=",
+          "dev": true
+        }
+      }
+    },
+    "define-properties": {
+      "version": "1.1.3",
+      "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz",
+      "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==",
+      "dev": true,
+      "requires": {
+        "object-keys": "^1.0.12"
+      }
+    },
+    "delayed-stream": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
+      "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk="
+    },
+    "depd": {
+      "version": "1.1.2",
+      "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz",
+      "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak="
+    },
+    "destroy": {
+      "version": "1.0.4",
+      "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz",
+      "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA="
+    },
+    "diagnostics": {
+      "version": "1.1.1",
+      "resolved": "https://registry.npmjs.org/diagnostics/-/diagnostics-1.1.1.tgz",
+      "integrity": "sha512-8wn1PmdunLJ9Tqbx+Fx/ZEuHfJf4NKSN2ZBj7SJC/OWRWha843+WsTjqMe1B5E3p28jqBlp+mJ2fPVxPyNgYKQ==",
+      "dev": true,
+      "requires": {
+        "colorspace": "1.1.x",
+        "enabled": "1.0.x",
+        "kuler": "1.0.x"
+      }
+    },
+    "dicer": {
+      "version": "0.2.5",
+      "resolved": "https://registry.npmjs.org/dicer/-/dicer-0.2.5.tgz",
+      "integrity": "sha1-WZbAhrszIYyBLAkL3cCc0S+stw8=",
+      "requires": {
+        "readable-stream": "1.1.x",
+        "streamsearch": "0.1.2"
+      }
+    },
+    "diff": {
+      "version": "4.0.2",
+      "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz",
+      "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==",
+      "dev": true
+    },
+    "doc-path": {
+      "version": "2.3.0",
+      "resolved": "https://registry.npmjs.org/doc-path/-/doc-path-2.3.0.tgz",
+      "integrity": "sha512-RMZA8AXl0I78jI9odw0kFzOfQvBcCFLI6/ZtOs9PwogcL4DHc+sCUZQ34fkealJyqErJryYODVBOtO2IzU/CSw=="
+    },
+    "dom-serializer": {
+      "version": "0.2.2",
+      "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz",
+      "integrity": "sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==",
+      "dev": true,
+      "requires": {
+        "domelementtype": "^2.0.1",
+        "entities": "^2.0.0"
+      },
+      "dependencies": {
+        "domelementtype": {
+          "version": "2.1.0",
+          "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.1.0.tgz",
+          "integrity": "sha512-LsTgx/L5VpD+Q8lmsXSHW2WpA+eBlZ9HPf3erD1IoPF00/3JKHZ3BknUVA2QGDNu69ZNmyFmCWBSO45XjYKC5w==",
+          "dev": true
+        },
+        "entities": {
+          "version": "2.1.0",
+          "resolved": "https://registry.npmjs.org/entities/-/entities-2.1.0.tgz",
+          "integrity": "sha512-hCx1oky9PFrJ611mf0ifBLBRW8lUUVRlFolb5gWRfIELabBlbp9xZvrqZLZAs+NxFnbfQoeGd8wDkygjg7U85w==",
+          "dev": true
+        }
+      }
+    },
+    "domelementtype": {
+      "version": "1.3.1",
+      "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz",
+      "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==",
+      "dev": true
+    },
+    "domhandler": {
+      "version": "2.4.2",
+      "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.4.2.tgz",
+      "integrity": "sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA==",
+      "dev": true,
+      "requires": {
+        "domelementtype": "1"
+      }
+    },
+    "domutils": {
+      "version": "1.7.0",
+      "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz",
+      "integrity": "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==",
+      "dev": true,
+      "requires": {
+        "dom-serializer": "0",
+        "domelementtype": "1"
+      }
+    },
+    "dot-case": {
+      "version": "3.0.4",
+      "resolved": "https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz",
+      "integrity": "sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==",
+      "dev": true,
+      "requires": {
+        "no-case": "^3.0.4",
+        "tslib": "^2.0.3"
+      }
+    },
+    "duplexify": {
+      "version": "3.7.1",
+      "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz",
+      "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==",
+      "requires": {
+        "end-of-stream": "^1.0.0",
+        "inherits": "^2.0.1",
+        "readable-stream": "^2.0.0",
+        "stream-shift": "^1.0.0"
+      },
+      "dependencies": {
+        "isarray": {
+          "version": "1.0.0",
+          "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
+          "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE="
+        },
+        "readable-stream": {
+          "version": "2.3.7",
+          "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
+          "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
+          "requires": {
+            "core-util-is": "~1.0.0",
+            "inherits": "~2.0.3",
+            "isarray": "~1.0.0",
+            "process-nextick-args": "~2.0.0",
+            "safe-buffer": "~5.1.1",
+            "string_decoder": "~1.1.1",
+            "util-deprecate": "~1.0.1"
+          }
+        },
+        "string_decoder": {
+          "version": "1.1.1",
+          "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
+          "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
+          "requires": {
+            "safe-buffer": "~5.1.0"
+          }
+        }
+      }
+    },
+    "editorconfig": {
+      "version": "0.15.3",
+      "resolved": "https://registry.npmjs.org/editorconfig/-/editorconfig-0.15.3.tgz",
+      "integrity": "sha512-M9wIMFx96vq0R4F+gRpY3o2exzb8hEj/n9S8unZtHSvYjibBp/iMufSzvmOcV/laG0ZtuTVGtiJggPOSW2r93g==",
+      "dev": true,
+      "requires": {
+        "commander": "^2.19.0",
+        "lru-cache": "^4.1.5",
+        "semver": "^5.6.0",
+        "sigmund": "^1.0.1"
+      }
+    },
+    "ee-first": {
+      "version": "1.1.1",
+      "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
+      "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0="
+    },
+    "emits": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/emits/-/emits-3.0.0.tgz",
+      "integrity": "sha1-MnUrupXhcHshlWI4Srm7ix/WL3A=",
+      "dev": true
+    },
+    "emoji-regex": {
+      "version": "7.0.3",
+      "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz",
+      "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==",
+      "dev": true
+    },
+    "enabled": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/enabled/-/enabled-1.0.2.tgz",
+      "integrity": "sha1-ll9lE9LC0cX0ZStkouM5ZGf8L5M=",
+      "dev": true,
+      "requires": {
+        "env-variable": "0.0.x"
+      }
+    },
+    "encodeurl": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
+      "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k="
+    },
+    "end-of-stream": {
+      "version": "1.4.4",
+      "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz",
+      "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==",
+      "requires": {
+        "once": "^1.4.0"
+      }
+    },
+    "entities": {
+      "version": "1.1.2",
+      "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz",
+      "integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==",
+      "dev": true
+    },
+    "env-variable": {
+      "version": "0.0.6",
+      "resolved": "https://registry.npmjs.org/env-variable/-/env-variable-0.0.6.tgz",
+      "integrity": "sha512-bHz59NlBbtS0NhftmR8+ExBEekE7br0e01jw+kk0NDro7TtZzBYZ5ScGPs3OmwnpyfHTHOtr1Y6uedCdrIldtg==",
+      "dev": true
+    },
+    "error-ex": {
+      "version": "1.3.2",
+      "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz",
+      "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==",
+      "requires": {
+        "is-arrayish": "^0.2.1"
+      }
+    },
+    "es-abstract": {
+      "version": "1.18.0-next.2",
+      "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.0-next.2.tgz",
+      "integrity": "sha512-Ih4ZMFHEtZupnUh6497zEL4y2+w8+1ljnCyaTa+adcoafI1GOvMwFlDjBLfWR7y9VLfrjRJe9ocuHY1PSR9jjw==",
+      "dev": true,
+      "requires": {
+        "call-bind": "^1.0.2",
+        "es-to-primitive": "^1.2.1",
+        "function-bind": "^1.1.1",
+        "get-intrinsic": "^1.0.2",
+        "has": "^1.0.3",
+        "has-symbols": "^1.0.1",
+        "is-callable": "^1.2.2",
+        "is-negative-zero": "^2.0.1",
+        "is-regex": "^1.1.1",
+        "object-inspect": "^1.9.0",
+        "object-keys": "^1.1.1",
+        "object.assign": "^4.1.2",
+        "string.prototype.trimend": "^1.0.3",
+        "string.prototype.trimstart": "^1.0.3"
+      },
+      "dependencies": {
+        "object.assign": {
+          "version": "4.1.2",
+          "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz",
+          "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==",
+          "dev": true,
+          "requires": {
+            "call-bind": "^1.0.0",
+            "define-properties": "^1.1.3",
+            "has-symbols": "^1.0.1",
+            "object-keys": "^1.1.1"
+          }
+        }
+      }
+    },
+    "es-to-primitive": {
+      "version": "1.2.1",
+      "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz",
+      "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==",
+      "dev": true,
+      "requires": {
+        "is-callable": "^1.1.4",
+        "is-date-object": "^1.0.1",
+        "is-symbol": "^1.0.2"
+      }
+    },
+    "es5-ext": {
+      "version": "0.10.53",
+      "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.53.tgz",
+      "integrity": "sha512-Xs2Stw6NiNHWypzRTY1MtaG/uJlwCk8kH81920ma8mvN8Xq1gsfhZvpkImLQArw8AHnv8MT2I45J3c0R8slE+Q==",
+      "dev": true,
+      "requires": {
+        "es6-iterator": "~2.0.3",
+        "es6-symbol": "~3.1.3",
+        "next-tick": "~1.0.0"
+      }
+    },
+    "es6-error": {
+      "version": "4.1.1",
+      "resolved": "https://registry.npmjs.org/es6-error/-/es6-error-4.1.1.tgz",
+      "integrity": "sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==",
+      "dev": true
+    },
+    "es6-iterator": {
+      "version": "2.0.3",
+      "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz",
+      "integrity": "sha1-p96IkUGgWpSwhUQDstCg+/qY87c=",
+      "dev": true,
+      "requires": {
+        "d": "1",
+        "es5-ext": "^0.10.35",
+        "es6-symbol": "^3.1.1"
+      }
+    },
+    "es6-promise": {
+      "version": "4.2.8",
+      "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.8.tgz",
+      "integrity": "sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w=="
+    },
+    "es6-symbol": {
+      "version": "3.1.3",
+      "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.3.tgz",
+      "integrity": "sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==",
+      "dev": true,
+      "requires": {
+        "d": "^1.0.1",
+        "ext": "^1.1.2"
+      }
+    },
+    "es6-weak-map": {
+      "version": "2.0.3",
+      "resolved": "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.3.tgz",
+      "integrity": "sha512-p5um32HOTO1kP+w7PRnB+5lQ43Z6muuMuIMffvDN8ZB4GcnjLBV6zGStpbASIMk4DCAvEaamhe2zhyCb/QXXsA==",
+      "dev": true,
+      "requires": {
+        "d": "1",
+        "es5-ext": "^0.10.46",
+        "es6-iterator": "^2.0.3",
+        "es6-symbol": "^3.1.1"
+      }
+    },
+    "escape-html": {
+      "version": "1.0.3",
+      "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
+      "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg="
+    },
+    "escape-string-regexp": {
+      "version": "1.0.5",
+      "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
+      "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
+      "dev": true
+    },
+    "esprima": {
+      "version": "4.0.1",
+      "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz",
+      "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A=="
+    },
+    "etag": {
+      "version": "1.8.1",
+      "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz",
+      "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc="
+    },
+    "event-emitter": {
+      "version": "0.3.5",
+      "resolved": "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.5.tgz",
+      "integrity": "sha1-34xp7vFkeSPHFXuc6DhAYQsCzDk=",
+      "dev": true,
+      "requires": {
+        "d": "1",
+        "es5-ext": "~0.10.14"
+      }
+    },
+    "express": {
+      "version": "4.17.1",
+      "resolved": "https://registry.npmjs.org/express/-/express-4.17.1.tgz",
+      "integrity": "sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==",
+      "requires": {
+        "accepts": "~1.3.7",
+        "array-flatten": "1.1.1",
+        "body-parser": "1.19.0",
+        "content-disposition": "0.5.3",
+        "content-type": "~1.0.4",
+        "cookie": "0.4.0",
+        "cookie-signature": "1.0.6",
+        "debug": "2.6.9",
+        "depd": "~1.1.2",
+        "encodeurl": "~1.0.2",
+        "escape-html": "~1.0.3",
+        "etag": "~1.8.1",
+        "finalhandler": "~1.1.2",
+        "fresh": "0.5.2",
+        "merge-descriptors": "1.0.1",
+        "methods": "~1.1.2",
+        "on-finished": "~2.3.0",
+        "parseurl": "~1.3.3",
+        "path-to-regexp": "0.1.7",
+        "proxy-addr": "~2.0.5",
+        "qs": "6.7.0",
+        "range-parser": "~1.2.1",
+        "safe-buffer": "5.1.2",
+        "send": "0.17.1",
+        "serve-static": "1.14.1",
+        "setprototypeof": "1.1.1",
+        "statuses": "~1.5.0",
+        "type-is": "~1.6.18",
+        "utils-merge": "1.0.1",
+        "vary": "~1.1.2"
+      }
+    },
+    "ext": {
+      "version": "1.4.0",
+      "resolved": "https://registry.npmjs.org/ext/-/ext-1.4.0.tgz",
+      "integrity": "sha512-Key5NIsUxdqKg3vIsdw9dSuXpPCQ297y6wBjL30edxwPgt2E44WcWBZey/ZvUc6sERLTxKdyCu4gZFmUbk1Q7A==",
+      "dev": true,
+      "requires": {
+        "type": "^2.0.0"
+      },
+      "dependencies": {
+        "type": {
+          "version": "2.1.0",
+          "resolved": "https://registry.npmjs.org/type/-/type-2.1.0.tgz",
+          "integrity": "sha512-G9absDWvhAWCV2gmF1zKud3OyC61nZDwWvBL2DApaVFogI07CprggiQAOOjvp2NRjYWFzPyu7vwtDrQFq8jeSA==",
+          "dev": true
+        }
+      }
+    },
+    "extend": {
+      "version": "3.0.2",
+      "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz",
+      "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==",
+      "dev": true
+    },
+    "extend-shallow": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+      "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+      "dev": true,
+      "requires": {
+        "is-extendable": "^0.1.0"
+      }
+    },
+    "fill-range": {
+      "version": "7.0.1",
+      "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
+      "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
+      "dev": true,
+      "optional": true,
+      "requires": {
+        "to-regex-range": "^5.0.1"
+      }
+    },
+    "finalhandler": {
+      "version": "1.1.2",
+      "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz",
+      "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==",
+      "requires": {
+        "debug": "2.6.9",
+        "encodeurl": "~1.0.2",
+        "escape-html": "~1.0.3",
+        "on-finished": "~2.3.0",
+        "parseurl": "~1.3.3",
+        "statuses": "~1.5.0",
+        "unpipe": "~1.0.0"
+      }
+    },
+    "find-cache-dir": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz",
+      "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==",
+      "dev": true,
+      "requires": {
+        "commondir": "^1.0.1",
+        "make-dir": "^2.0.0",
+        "pkg-dir": "^3.0.0"
+      }
+    },
+    "find-up": {
+      "version": "1.1.2",
+      "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz",
+      "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=",
+      "requires": {
+        "path-exists": "^2.0.0",
+        "pinkie-promise": "^2.0.0"
+      }
+    },
+    "findup-sync": {
+      "version": "0.2.1",
+      "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-0.2.1.tgz",
+      "integrity": "sha1-4KkKRQB1xJRm7lE3MgV1FLgeh4w=",
+      "dev": true,
+      "requires": {
+        "glob": "~4.3.0"
+      },
+      "dependencies": {
+        "glob": {
+          "version": "4.3.5",
+          "resolved": "https://registry.npmjs.org/glob/-/glob-4.3.5.tgz",
+          "integrity": "sha1-gPuwjKVA8jiszl0R0em8QedRc9M=",
+          "dev": true,
+          "requires": {
+            "inflight": "^1.0.4",
+            "inherits": "2",
+            "minimatch": "^2.0.1",
+            "once": "^1.3.0"
+          }
+        },
+        "minimatch": {
+          "version": "2.0.10",
+          "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-2.0.10.tgz",
+          "integrity": "sha1-jQh8OcazjAAbl/ynzm0OHoCvusc=",
+          "dev": true,
+          "requires": {
+            "brace-expansion": "^1.0.0"
+          }
+        }
+      }
+    },
+    "flat": {
+      "version": "4.1.1",
+      "resolved": "https://registry.npmjs.org/flat/-/flat-4.1.1.tgz",
+      "integrity": "sha512-FmTtBsHskrU6FJ2VxCnsDb84wu9zhmO3cUX2kGFb5tuwhfXxGciiT0oRY+cck35QmG+NmGh5eLz6lLCpWTqwpA==",
+      "dev": true,
+      "requires": {
+        "is-buffer": "~2.0.3"
+      }
+    },
+    "flatted": {
+      "version": "2.0.2",
+      "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.2.tgz",
+      "integrity": "sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA=="
+    },
+    "foreground-child": {
+      "version": "1.5.6",
+      "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-1.5.6.tgz",
+      "integrity": "sha1-T9ca0t/elnibmApcCilZN8svXOk=",
+      "dev": true,
+      "requires": {
+        "cross-spawn": "^4",
+        "signal-exit": "^3.0.0"
+      }
+    },
+    "form-data": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/form-data/-/form-data-1.0.1.tgz",
+      "integrity": "sha1-rjFduaSQf6BlUCMEpm13M0de43w=",
+      "requires": {
+        "async": "^2.0.1",
+        "combined-stream": "^1.0.5",
+        "mime-types": "^2.1.11"
+      },
+      "dependencies": {
+        "async": {
+          "version": "2.6.3",
+          "resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz",
+          "integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==",
+          "requires": {
+            "lodash": "^4.17.14"
+          }
+        }
+      }
+    },
+    "format-util": {
+      "version": "1.0.5",
+      "resolved": "https://registry.npmjs.org/format-util/-/format-util-1.0.5.tgz",
+      "integrity": "sha512-varLbTj0e0yVyRpqQhuWV+8hlePAgaoFRhNFj50BNjEIrw1/DphHSObtqwskVCPWNgzwPoQrZAbfa/SBiicNeg=="
+    },
+    "formidable": {
+      "version": "1.2.2",
+      "resolved": "https://registry.npmjs.org/formidable/-/formidable-1.2.2.tgz",
+      "integrity": "sha512-V8gLm+41I/8kguQ4/o1D3RIHRmhYFG4pnNyonvua+40rqcEmT4+V71yaZ3B457xbbgCsCfjSPi65u/W6vK1U5Q==",
+      "dev": true
+    },
+    "forwarded": {
+      "version": "0.1.2",
+      "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz",
+      "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ="
+    },
+    "fresh": {
+      "version": "0.5.2",
+      "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz",
+      "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac="
+    },
+    "fs-extra": {
+      "version": "8.1.0",
+      "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz",
+      "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==",
+      "requires": {
+        "graceful-fs": "^4.2.0",
+        "jsonfile": "^4.0.0",
+        "universalify": "^0.1.0"
+      }
+    },
+    "fs.realpath": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
+      "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=",
+      "dev": true
+    },
+    "fsevents": {
+      "version": "2.3.1",
+      "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.1.tgz",
+      "integrity": "sha512-YR47Eg4hChJGAB1O3yEAOkGO+rlzutoICGqGo9EZ4lKWokzZRSyIW1QmTzqjtw8MJdj9srP869CuWw/hyzSiBw==",
+      "dev": true,
+      "optional": true
+    },
+    "function-bind": {
+      "version": "1.1.1",
+      "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
+      "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A=="
+    },
+    "get-caller-file": {
+      "version": "1.0.3",
+      "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz",
+      "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w=="
+    },
+    "get-func-name": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.0.tgz",
+      "integrity": "sha1-6td0q+5y4gQJQzoGY2YCPdaIekE=",
+      "dev": true
+    },
+    "get-intrinsic": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.0.2.tgz",
+      "integrity": "sha512-aeX0vrFm21ILl3+JpFFRNe9aUvp6VFZb2/CTbgLb8j75kOhvoNYjt9d8KA/tJG4gSo8nzEDedRl0h7vDmBYRVg==",
+      "dev": true,
+      "requires": {
+        "function-bind": "^1.1.1",
+        "has": "^1.0.3",
+        "has-symbols": "^1.0.1"
+      }
+    },
+    "glob": {
+      "version": "7.1.3",
+      "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz",
+      "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==",
+      "dev": true,
+      "requires": {
+        "fs.realpath": "^1.0.0",
+        "inflight": "^1.0.4",
+        "inherits": "2",
+        "minimatch": "^3.0.4",
+        "once": "^1.3.0",
+        "path-is-absolute": "^1.0.0"
+      }
+    },
+    "glob-parent": {
+      "version": "5.1.1",
+      "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz",
+      "integrity": "sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==",
+      "dev": true,
+      "optional": true,
+      "requires": {
+        "is-glob": "^4.0.1"
+      }
+    },
+    "globals": {
+      "version": "11.12.0",
+      "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz",
+      "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==",
+      "dev": true
+    },
+    "got": {
+      "version": "2.4.0",
+      "resolved": "https://registry.npmjs.org/got/-/got-2.4.0.tgz",
+      "integrity": "sha1-5Ah6LNWbXSDy0WnchdIWntnon1Y=",
+      "requires": {
+        "duplexify": "^3.2.0",
+        "infinity-agent": "^1.0.0",
+        "is-stream": "^1.0.0",
+        "lowercase-keys": "^1.0.0",
+        "object-assign": "^2.0.0",
+        "prepend-http": "^1.0.0",
+        "read-all-stream": "^1.0.0",
+        "statuses": "^1.2.1",
+        "timed-out": "^2.0.0"
+      },
+      "dependencies": {
+        "object-assign": {
+          "version": "2.1.1",
+          "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-2.1.1.tgz",
+          "integrity": "sha1-Q8NuXVaf+OSBbE76i+AtJpZ8GKo="
+        }
+      }
+    },
+    "graceful-fs": {
+      "version": "4.2.4",
+      "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz",
+      "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw=="
+    },
+    "growl": {
+      "version": "1.10.5",
+      "resolved": "https://registry.npmjs.org/growl/-/growl-1.10.5.tgz",
+      "integrity": "sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA==",
+      "dev": true
+    },
+    "handlebars": {
+      "version": "4.7.6",
+      "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.6.tgz",
+      "integrity": "sha512-1f2BACcBfiwAfStCKZNrUCgqNZkGsAT7UM3kkYtXuLo0KnaVfjKOyf7PRzB6++aK9STyT1Pd2ZCPe3EGOXleXA==",
+      "dev": true,
+      "requires": {
+        "minimist": "^1.2.5",
+        "neo-async": "^2.6.0",
+        "source-map": "^0.6.1",
+        "uglify-js": "^3.1.4",
+        "wordwrap": "^1.0.0"
+      },
+      "dependencies": {
+        "wordwrap": {
+          "version": "1.0.0",
+          "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz",
+          "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=",
+          "dev": true
+        }
+      }
+    },
+    "has": {
+      "version": "1.0.3",
+      "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
+      "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
+      "requires": {
+        "function-bind": "^1.1.1"
+      }
+    },
+    "has-ansi": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz",
+      "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=",
+      "dev": true,
+      "requires": {
+        "ansi-regex": "^2.0.0"
+      }
+    },
+    "has-flag": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
+      "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
+      "dev": true
+    },
+    "has-symbols": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz",
+      "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==",
+      "dev": true
+    },
+    "hasha": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/hasha/-/hasha-3.0.0.tgz",
+      "integrity": "sha1-UqMvq4Vp1BymmmH/GiFPjrfIvTk=",
+      "dev": true,
+      "requires": {
+        "is-stream": "^1.0.1"
+      }
+    },
+    "he": {
+      "version": "1.2.0",
+      "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz",
+      "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==",
+      "dev": true
+    },
+    "header-case": {
+      "version": "2.0.4",
+      "resolved": "https://registry.npmjs.org/header-case/-/header-case-2.0.4.tgz",
+      "integrity": "sha512-H/vuk5TEEVZwrR0lp2zed9OCo1uAILMlx0JEMgC26rzyJJ3N1v6XkwHHXJQdR2doSjcGPM6OKPYoJgf0plJ11Q==",
+      "dev": true,
+      "requires": {
+        "capital-case": "^1.0.4",
+        "tslib": "^2.0.3"
+      }
+    },
+    "highlight.js": {
+      "version": "9.18.5",
+      "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-9.18.5.tgz",
+      "integrity": "sha512-a5bFyofd/BHCX52/8i8uJkjr9DYwXIPnM/plwI6W7ezItLGqzt7X2G2nXuYSfsIJdkwwj/g9DG1LkcGJI/dDoA==",
+      "dev": true
+    },
+    "hosted-git-info": {
+      "version": "2.8.8",
+      "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.8.tgz",
+      "integrity": "sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg=="
+    },
+    "html-escaper": {
+      "version": "2.0.2",
+      "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz",
+      "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==",
+      "dev": true
+    },
+    "htmlparser2": {
+      "version": "3.10.1",
+      "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.10.1.tgz",
+      "integrity": "sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ==",
+      "dev": true,
+      "requires": {
+        "domelementtype": "^1.3.1",
+        "domhandler": "^2.3.0",
+        "domutils": "^1.5.1",
+        "entities": "^1.1.1",
+        "inherits": "^2.0.1",
+        "readable-stream": "^3.1.1"
+      },
+      "dependencies": {
+        "readable-stream": {
+          "version": "3.6.0",
+          "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
+          "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
+          "dev": true,
+          "requires": {
+            "inherits": "^2.0.3",
+            "string_decoder": "^1.1.1",
+            "util-deprecate": "^1.0.1"
+          }
+        },
+        "safe-buffer": {
+          "version": "5.2.1",
+          "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
+          "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
+          "dev": true
+        },
+        "string_decoder": {
+          "version": "1.3.0",
+          "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz",
+          "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==",
+          "dev": true,
+          "requires": {
+            "safe-buffer": "~5.2.0"
+          }
+        }
+      }
+    },
+    "http-errors": {
+      "version": "1.7.2",
+      "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz",
+      "integrity": "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==",
+      "requires": {
+        "depd": "~1.1.2",
+        "inherits": "2.0.3",
+        "setprototypeof": "1.1.1",
+        "statuses": ">= 1.5.0 < 2",
+        "toidentifier": "1.0.0"
+      }
+    },
+    "http-response-object": {
+      "version": "3.0.2",
+      "resolved": "https://registry.npmjs.org/http-response-object/-/http-response-object-3.0.2.tgz",
+      "integrity": "sha512-bqX0XTF6fnXSQcEJ2Iuyr75yVakyjIDCqroJQ/aHfSdlM743Cwqoi2nDYMzLGWUcuTWGWy8AAvOKXTfiv6q9RA==",
+      "dev": true,
+      "requires": {
+        "@types/node": "^10.0.3"
+      },
+      "dependencies": {
+        "@types/node": {
+          "version": "10.17.51",
+          "resolved": "https://registry.npmjs.org/@types/node/-/node-10.17.51.tgz",
+          "integrity": "sha512-KANw+MkL626tq90l++hGelbl67irOJzGhUJk6a1Bt8QHOeh9tztJx+L0AqttraWKinmZn7Qi5lJZJzx45Gq0dg==",
+          "dev": true
+        }
+      }
+    },
+    "iconv-lite": {
+      "version": "0.4.24",
+      "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
+      "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
+      "requires": {
+        "safer-buffer": ">= 2.1.2 < 3"
+      }
+    },
+    "imurmurhash": {
+      "version": "0.1.4",
+      "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
+      "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=",
+      "dev": true
+    },
+    "infinity-agent": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/infinity-agent/-/infinity-agent-1.0.2.tgz",
+      "integrity": "sha1-Lp2iwHC5hkqLxmwBlOF5HtgFgCU="
+    },
+    "inflight": {
+      "version": "1.0.6",
+      "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
+      "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
+      "dev": true,
+      "requires": {
+        "once": "^1.3.0",
+        "wrappy": "1"
+      }
+    },
+    "inherits": {
+      "version": "2.0.3",
+      "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+      "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4="
+    },
+    "ini": {
+      "version": "1.3.8",
+      "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz",
+      "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==",
+      "dev": true
+    },
+    "interpret": {
+      "version": "1.4.0",
+      "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz",
+      "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==",
+      "dev": true
+    },
+    "invariant": {
+      "version": "2.2.4",
+      "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz",
+      "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==",
+      "requires": {
+        "loose-envify": "^1.0.0"
+      }
+    },
+    "invert-kv": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz",
+      "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY="
+    },
+    "ipaddr.js": {
+      "version": "1.9.1",
+      "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz",
+      "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g=="
+    },
+    "is-arrayish": {
+      "version": "0.2.1",
+      "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz",
+      "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0="
+    },
+    "is-binary-path": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz",
+      "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==",
+      "dev": true,
+      "optional": true,
+      "requires": {
+        "binary-extensions": "^2.0.0"
+      }
+    },
+    "is-buffer": {
+      "version": "2.0.5",
+      "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz",
+      "integrity": "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==",
+      "dev": true
+    },
+    "is-callable": {
+      "version": "1.2.2",
+      "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.2.tgz",
+      "integrity": "sha512-dnMqspv5nU3LoewK2N/y7KLtxtakvTuaCsU9FU50/QDmdbHNy/4/JuRtMHqRU22o3q+W89YQndQEeCVwK+3qrA==",
+      "dev": true
+    },
+    "is-core-module": {
+      "version": "2.2.0",
+      "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.2.0.tgz",
+      "integrity": "sha512-XRAfAdyyY5F5cOXn7hYQDqh2Xmii+DEfIcQGxK/uNwMHhIkPWO0g8msXcbzLe+MpGoR951MlqM/2iIlU4vKDdQ==",
+      "requires": {
+        "has": "^1.0.3"
+      }
+    },
+    "is-date-object": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.2.tgz",
+      "integrity": "sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g==",
+      "dev": true
+    },
+    "is-extendable": {
+      "version": "0.1.1",
+      "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz",
+      "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=",
+      "dev": true
+    },
+    "is-extglob": {
+      "version": "2.1.1",
+      "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
+      "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=",
+      "dev": true,
+      "optional": true
+    },
+    "is-fullwidth-code-point": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz",
+      "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=",
+      "requires": {
+        "number-is-nan": "^1.0.0"
+      }
+    },
+    "is-glob": {
+      "version": "4.0.1",
+      "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz",
+      "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==",
+      "dev": true,
+      "optional": true,
+      "requires": {
+        "is-extglob": "^2.1.1"
+      }
+    },
+    "is-negative-zero": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.1.tgz",
+      "integrity": "sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w==",
+      "dev": true
+    },
+    "is-number": {
+      "version": "7.0.0",
+      "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
+      "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
+      "dev": true,
+      "optional": true
+    },
+    "is-promise": {
+      "version": "2.2.2",
+      "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.2.2.tgz",
+      "integrity": "sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ==",
+      "dev": true
+    },
+    "is-regex": {
+      "version": "1.1.1",
+      "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.1.tgz",
+      "integrity": "sha512-1+QkEcxiLlB7VEyFtyBg94e08OAsvq7FUBgApTq/w2ymCLyKJgDPsybBENVtA7XCQEgEXxKPonG+mvYRxh/LIg==",
+      "dev": true,
+      "requires": {
+        "has-symbols": "^1.0.1"
+      }
+    },
+    "is-stream": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz",
+      "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ="
+    },
+    "is-symbol": {
+      "version": "1.0.3",
+      "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.3.tgz",
+      "integrity": "sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ==",
+      "dev": true,
+      "requires": {
+        "has-symbols": "^1.0.1"
+      }
+    },
+    "is-utf8": {
+      "version": "0.2.1",
+      "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz",
+      "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI="
+    },
+    "is-whitespace": {
+      "version": "0.3.0",
+      "resolved": "https://registry.npmjs.org/is-whitespace/-/is-whitespace-0.3.0.tgz",
+      "integrity": "sha1-Fjnssb4DauxppUy7QBz77XEUq38=",
+      "dev": true
+    },
+    "isarray": {
+      "version": "0.0.1",
+      "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
+      "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8="
+    },
+    "isexe": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
+      "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=",
+      "dev": true
+    },
+    "istanbul-lib-coverage": {
+      "version": "2.0.5",
+      "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.5.tgz",
+      "integrity": "sha512-8aXznuEPCJvGnMSRft4udDRDtb1V3pkQkMMI5LI+6HuQz5oQ4J2UFn1H82raA3qJtyOLkkwVqICBQkjnGtn5mA==",
+      "dev": true
+    },
+    "istanbul-lib-hook": {
+      "version": "2.0.7",
+      "resolved": "https://registry.npmjs.org/istanbul-lib-hook/-/istanbul-lib-hook-2.0.7.tgz",
+      "integrity": "sha512-vrRztU9VRRFDyC+aklfLoeXyNdTfga2EI3udDGn4cZ6fpSXpHLV9X6CHvfoMCPtggg8zvDDmC4b9xfu0z6/llA==",
+      "dev": true,
+      "requires": {
+        "append-transform": "^1.0.0"
+      }
+    },
+    "istanbul-lib-instrument": {
+      "version": "3.3.0",
+      "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-3.3.0.tgz",
+      "integrity": "sha512-5nnIN4vo5xQZHdXno/YDXJ0G+I3dAm4XgzfSVTPLQpj/zAV2dV6Juy0yaf10/zrJOJeHoN3fraFe+XRq2bFVZA==",
+      "dev": true,
+      "requires": {
+        "@babel/generator": "^7.4.0",
+        "@babel/parser": "^7.4.3",
+        "@babel/template": "^7.4.0",
+        "@babel/traverse": "^7.4.3",
+        "@babel/types": "^7.4.0",
+        "istanbul-lib-coverage": "^2.0.5",
+        "semver": "^6.0.0"
+      },
+      "dependencies": {
+        "semver": {
+          "version": "6.3.0",
+          "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
+          "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
+          "dev": true
+        }
+      }
+    },
+    "istanbul-lib-report": {
+      "version": "2.0.8",
+      "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-2.0.8.tgz",
+      "integrity": "sha512-fHBeG573EIihhAblwgxrSenp0Dby6tJMFR/HvlerBsrCTD5bkUuoNtn3gVh29ZCS824cGGBPn7Sg7cNk+2xUsQ==",
+      "dev": true,
+      "requires": {
+        "istanbul-lib-coverage": "^2.0.5",
+        "make-dir": "^2.1.0",
+        "supports-color": "^6.1.0"
+      },
+      "dependencies": {
+        "supports-color": {
+          "version": "6.1.0",
+          "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz",
+          "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==",
+          "dev": true,
+          "requires": {
+            "has-flag": "^3.0.0"
+          }
+        }
+      }
+    },
+    "istanbul-lib-source-maps": {
+      "version": "3.0.6",
+      "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-3.0.6.tgz",
+      "integrity": "sha512-R47KzMtDJH6X4/YW9XTx+jrLnZnscW4VpNN+1PViSYTejLVPWv7oov+Duf8YQSPyVRUvueQqz1TcsC6mooZTXw==",
+      "dev": true,
+      "requires": {
+        "debug": "^4.1.1",
+        "istanbul-lib-coverage": "^2.0.5",
+        "make-dir": "^2.1.0",
+        "rimraf": "^2.6.3",
+        "source-map": "^0.6.1"
+      },
+      "dependencies": {
+        "debug": {
+          "version": "4.3.1",
+          "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz",
+          "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==",
+          "dev": true,
+          "requires": {
+            "ms": "2.1.2"
+          }
+        },
+        "ms": {
+          "version": "2.1.2",
+          "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+          "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
+          "dev": true
+        }
+      }
+    },
+    "istanbul-reports": {
+      "version": "2.2.7",
+      "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-2.2.7.tgz",
+      "integrity": "sha512-uu1F/L1o5Y6LzPVSVZXNOoD/KXpJue9aeLRd0sM9uMXfZvzomB0WxVamWb5ue8kA2vVWEmW7EG+A5n3f1kqHKg==",
+      "dev": true,
+      "requires": {
+        "html-escaper": "^2.0.0"
+      }
+    },
+    "jju": {
+      "version": "1.2.1",
+      "resolved": "https://registry.npmjs.org/jju/-/jju-1.2.1.tgz",
+      "integrity": "sha1-7fbsINXWaMgMLADOpj+KlCKktSg="
+    },
+    "jquery": {
+      "version": "3.5.1",
+      "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.5.1.tgz",
+      "integrity": "sha512-XwIBPqcMn57FxfT+Go5pzySnm4KWkT1Tv7gjrpT1srtf8Weynl6R273VJ5GjkRb51IzMp5nbaPjJXMWeju2MKg==",
+      "dev": true
+    },
+    "js-beautify": {
+      "version": "1.13.4",
+      "resolved": "https://registry.npmjs.org/js-beautify/-/js-beautify-1.13.4.tgz",
+      "integrity": "sha512-M5yEWwonlEO3kPcCZ3K3KBSpFRZAEO3FAWC6wtbIGeyg7dusStxvF0WG+HRLBoMZqREXSRSxkkqClDE865x1sg==",
+      "dev": true,
+      "requires": {
+        "config-chain": "^1.1.12",
+        "editorconfig": "^0.15.3",
+        "glob": "^7.1.3",
+        "mkdirp": "^1.0.4",
+        "nopt": "^5.0.0"
+      },
+      "dependencies": {
+        "mkdirp": {
+          "version": "1.0.4",
+          "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz",
+          "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==",
+          "dev": true
+        }
+      }
+    },
+    "js-tokens": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
+      "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ=="
+    },
+    "js-yaml": {
+      "version": "3.14.1",
+      "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz",
+      "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==",
+      "requires": {
+        "argparse": "^1.0.7",
+        "esprima": "^4.0.0"
+      }
+    },
+    "jsesc": {
+      "version": "2.5.2",
+      "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz",
+      "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==",
+      "dev": true
+    },
+    "json-2-csv": {
+      "version": "3.10.2",
+      "resolved": "https://registry.npmjs.org/json-2-csv/-/json-2-csv-3.10.2.tgz",
+      "integrity": "sha512-ebRs6nAM2OcDw9g9hZ3F0DKkUTTy9DnyduF3mWLF0XEImv/Du3GGgyOWBpoqWuZjCWstQvPOKl50Ts/GhfSZOA==",
+      "requires": {
+        "deeks": "2.3.0",
+        "doc-path": "2.3.0"
+      }
+    },
+    "json-parse-better-errors": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz",
+      "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==",
+      "dev": true
+    },
+    "json-path": {
+      "version": "0.1.3",
+      "resolved": "https://registry.npmjs.org/json-path/-/json-path-0.1.3.tgz",
+      "integrity": "sha1-3OYTV7OygbKKxkfsCnCbxYoVW/g=",
+      "dev": true,
+      "requires": {
+        "json-ptr": "~0.1.1"
+      }
+    },
+    "json-ptr": {
+      "version": "0.1.1",
+      "resolved": "https://registry.npmjs.org/json-ptr/-/json-ptr-0.1.1.tgz",
+      "integrity": "sha1-urgqMeKSznr54/x/1lrNG7uSSOg=",
+      "dev": true
+    },
+    "json-schema-compatibility": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/json-schema-compatibility/-/json-schema-compatibility-1.1.0.tgz",
+      "integrity": "sha1-GomBd4zaDDgYcpjZmdCJ5Rrygt8="
+    },
+    "json-schema-ref-parser": {
+      "version": "3.3.1",
+      "resolved": "https://registry.npmjs.org/json-schema-ref-parser/-/json-schema-ref-parser-3.3.1.tgz",
+      "integrity": "sha512-stQTMhec2R/p2L9dH4XXRlpNCP0mY8QrLd/9Kl+8SHJQmwHtE1nDfXH4wbsSM+GkJMl8t92yZbI0OIol432CIQ==",
+      "requires": {
+        "call-me-maybe": "^1.0.1",
+        "debug": "^3.0.0",
+        "es6-promise": "^4.1.1",
+        "js-yaml": "^3.9.1",
+        "ono": "^4.0.2",
+        "z-schema": "^3.18.2"
+      },
+      "dependencies": {
+        "debug": {
+          "version": "3.2.7",
+          "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz",
+          "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==",
+          "requires": {
+            "ms": "^2.1.1"
+          }
+        },
+        "ms": {
+          "version": "2.1.3",
+          "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
+          "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA=="
+        }
+      }
+    },
+    "json-stable-stringify": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz",
+      "integrity": "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=",
+      "requires": {
+        "jsonify": "~0.0.0"
+      }
+    },
+    "json-to-ast": {
+      "version": "2.0.0-alpha1.3",
+      "resolved": "https://registry.npmjs.org/json-to-ast/-/json-to-ast-2.0.0-alpha1.3.tgz",
+      "integrity": "sha1-aQqngDXTp7ctUZPxtMCPm7DX4sg="
+    },
+    "jsonfile": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz",
+      "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=",
+      "requires": {
+        "graceful-fs": "^4.1.6"
+      }
+    },
+    "jsonify": {
+      "version": "0.0.0",
+      "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz",
+      "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM="
+    },
+    "keygrip": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/keygrip/-/keygrip-1.1.0.tgz",
+      "integrity": "sha512-iYSchDJ+liQ8iwbSI2QqsQOvqv58eJCEanyJPJi+Khyu8smkcKSFUCbPwzFcL7YVtZ6eONjqRX/38caJ7QjRAQ==",
+      "requires": {
+        "tsscmp": "1.0.6"
+      }
+    },
+    "kind-of": {
+      "version": "3.2.2",
+      "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+      "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+      "dev": true,
+      "requires": {
+        "is-buffer": "^1.1.5"
+      },
+      "dependencies": {
+        "is-buffer": {
+          "version": "1.1.6",
+          "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",
+          "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==",
+          "dev": true
+        }
+      }
+    },
+    "know-your-http-well": {
+      "version": "0.5.0",
+      "resolved": "https://registry.npmjs.org/know-your-http-well/-/know-your-http-well-0.5.0.tgz",
+      "integrity": "sha1-XQOQAxBHmanXf8KZjP1TlnWyVr4=",
+      "dev": true,
+      "requires": {
+        "amdefine": "~0.0.4"
+      }
+    },
+    "kuler": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/kuler/-/kuler-1.0.1.tgz",
+      "integrity": "sha512-J9nVUucG1p/skKul6DU3PUZrhs0LPulNaeUOox0IyXDi8S4CztTHs1gQphhuZmzXG7VOQSf6NJfKuzteQLv9gQ==",
+      "dev": true,
+      "requires": {
+        "colornames": "^1.1.1"
+      }
+    },
+    "lcid": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz",
+      "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=",
+      "requires": {
+        "invert-kv": "^1.0.0"
+      }
+    },
+    "load-json-file": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz",
+      "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=",
+      "requires": {
+        "graceful-fs": "^4.1.2",
+        "parse-json": "^2.2.0",
+        "pify": "^2.0.0",
+        "pinkie-promise": "^2.0.0",
+        "strip-bom": "^2.0.0"
+      }
+    },
+    "locate-path": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz",
+      "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==",
+      "dev": true,
+      "requires": {
+        "p-locate": "^3.0.0",
+        "path-exists": "^3.0.0"
+      },
+      "dependencies": {
+        "path-exists": {
+          "version": "3.0.0",
+          "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz",
+          "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=",
+          "dev": true
+        }
+      }
+    },
+    "lodash": {
+      "version": "4.17.20",
+      "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz",
+      "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA=="
+    },
+    "lodash.assign": {
+      "version": "4.2.0",
+      "resolved": "https://registry.npmjs.org/lodash.assign/-/lodash.assign-4.2.0.tgz",
+      "integrity": "sha1-DZnzzNem0mHRm9rrkkUAXShYCOc="
+    },
+    "lodash.flattendeep": {
+      "version": "4.4.0",
+      "resolved": "https://registry.npmjs.org/lodash.flattendeep/-/lodash.flattendeep-4.4.0.tgz",
+      "integrity": "sha1-+wMJF/hqMTTlvJvsDWngAT3f7bI=",
+      "dev": true
+    },
+    "lodash.get": {
+      "version": "4.4.2",
+      "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz",
+      "integrity": "sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk="
+    },
+    "lodash.isequal": {
+      "version": "4.5.0",
+      "resolved": "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz",
+      "integrity": "sha1-QVxEePK8wwEgwizhDtMib30+GOA="
+    },
+    "log-symbols": {
+      "version": "2.2.0",
+      "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-2.2.0.tgz",
+      "integrity": "sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==",
+      "dev": true,
+      "requires": {
+        "chalk": "^2.0.1"
+      }
+    },
+    "log4js": {
+      "version": "5.3.0",
+      "resolved": "https://registry.npmjs.org/log4js/-/log4js-5.3.0.tgz",
+      "integrity": "sha512-PZHXaXJKMKEscvQxSnTjM4UosQalSDlNpMw63eCKW+/DiAFKIZPW1jGyIPXZDjiEYFusMfiI7zzvnxeGozUcAw==",
+      "requires": {
+        "date-format": "^2.1.0",
+        "debug": "^4.1.1",
+        "flatted": "^2.0.1",
+        "rfdc": "^1.1.4",
+        "streamroller": "^2.2.2"
+      },
+      "dependencies": {
+        "debug": {
+          "version": "4.3.1",
+          "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz",
+          "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==",
+          "requires": {
+            "ms": "2.1.2"
+          }
+        },
+        "ms": {
+          "version": "2.1.2",
+          "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+          "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
+        }
+      }
+    },
+    "loophole": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/loophole/-/loophole-1.1.0.tgz",
+      "integrity": "sha1-N5Sf6kU7YlasxyXDIM4MWn9wor0=",
+      "dev": true
+    },
+    "loose-envify": {
+      "version": "1.4.0",
+      "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz",
+      "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==",
+      "requires": {
+        "js-tokens": "^3.0.0 || ^4.0.0"
+      }
+    },
+    "lower-case": {
+      "version": "2.0.2",
+      "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz",
+      "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==",
+      "dev": true,
+      "requires": {
+        "tslib": "^2.0.3"
+      }
+    },
+    "lowercase-keys": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz",
+      "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA=="
+    },
+    "lru-cache": {
+      "version": "4.1.5",
+      "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz",
+      "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==",
+      "dev": true,
+      "requires": {
+        "pseudomap": "^1.0.2",
+        "yallist": "^2.1.2"
+      }
+    },
+    "lru-queue": {
+      "version": "0.1.0",
+      "resolved": "https://registry.npmjs.org/lru-queue/-/lru-queue-0.1.0.tgz",
+      "integrity": "sha1-Jzi9nw089PhEkMVzbEhpmsYyzaM=",
+      "dev": true,
+      "requires": {
+        "es5-ext": "~0.10.2"
+      }
+    },
+    "lrucache": {
+      "version": "1.0.3",
+      "resolved": "https://registry.npmjs.org/lrucache/-/lrucache-1.0.3.tgz",
+      "integrity": "sha1-Ox3tDRuoLhiLm9q6nu5khvhkpDQ="
+    },
+    "lunr": {
+      "version": "2.3.9",
+      "resolved": "https://registry.npmjs.org/lunr/-/lunr-2.3.9.tgz",
+      "integrity": "sha512-zTU3DaZaF3Rt9rhN3uBMGQD3dD2/vFQqnvZCDv4dl5iOzq2IZQqTxu90r4E5J+nP70J3ilqVCrbho2eWaeW8Ow==",
+      "dev": true
+    },
+    "make-dir": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz",
+      "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==",
+      "dev": true,
+      "requires": {
+        "pify": "^4.0.1",
+        "semver": "^5.6.0"
+      },
+      "dependencies": {
+        "pify": {
+          "version": "4.0.1",
+          "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz",
+          "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==",
+          "dev": true
+        }
+      }
+    },
+    "make-error": {
+      "version": "1.3.6",
+      "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz",
+      "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==",
+      "dev": true
+    },
+    "marked": {
+      "version": "0.6.3",
+      "resolved": "https://registry.npmjs.org/marked/-/marked-0.6.3.tgz",
+      "integrity": "sha512-Fqa7eq+UaxfMriqzYLayfqAE40WN03jf+zHjT18/uXNuzjq3TY0XTbrAoPeqSJrAmPz11VuUA+kBPYOhHt9oOQ==",
+      "dev": true
+    },
+    "media-typer": {
+      "version": "0.3.0",
+      "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
+      "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g="
+    },
+    "memoizee": {
+      "version": "0.4.15",
+      "resolved": "https://registry.npmjs.org/memoizee/-/memoizee-0.4.15.tgz",
+      "integrity": "sha512-UBWmJpLZd5STPm7PMUlOw/TSy972M+z8gcyQ5veOnSDRREz/0bmpyTfKt3/51DhEBqCZQn1udM/5flcSPYhkdQ==",
+      "dev": true,
+      "requires": {
+        "d": "^1.0.1",
+        "es5-ext": "^0.10.53",
+        "es6-weak-map": "^2.0.3",
+        "event-emitter": "^0.3.5",
+        "is-promise": "^2.2.2",
+        "lru-queue": "^0.1.0",
+        "next-tick": "^1.1.0",
+        "timers-ext": "^0.1.7"
+      },
+      "dependencies": {
+        "next-tick": {
+          "version": "1.1.0",
+          "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.1.0.tgz",
+          "integrity": "sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==",
+          "dev": true
+        }
+      }
+    },
+    "merge-descriptors": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz",
+      "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E="
+    },
+    "merge-source-map": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/merge-source-map/-/merge-source-map-1.1.0.tgz",
+      "integrity": "sha512-Qkcp7P2ygktpMPh2mCQZaf3jhN6D3Z/qVZHSdWvQ+2Ef5HgRAPBO57A77+ENm0CPx2+1Ce/MYKi3ymqdfuqibw==",
+      "dev": true,
+      "requires": {
+        "source-map": "^0.6.1"
+      }
+    },
+    "methods": {
+      "version": "1.1.2",
+      "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz",
+      "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4="
+    },
+    "mime": {
+      "version": "1.6.0",
+      "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz",
+      "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg=="
+    },
+    "mime-db": {
+      "version": "1.45.0",
+      "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.45.0.tgz",
+      "integrity": "sha512-CkqLUxUk15hofLoLyljJSrukZi8mAtgd+yE5uO4tqRZsdsAJKv0O+rFMhVDRJgozy+yG6md5KwuXhD4ocIoP+w=="
+    },
+    "mime-types": {
+      "version": "2.1.28",
+      "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.28.tgz",
+      "integrity": "sha512-0TO2yJ5YHYr7M2zzT7gDU1tbwHxEUWBCLt0lscSNpcdAfFyJOVEpRYNS7EXVcTLNj/25QO8gulHC5JtTzSE2UQ==",
+      "requires": {
+        "mime-db": "1.45.0"
+      }
+    },
+    "minimatch": {
+      "version": "3.0.4",
+      "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
+      "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
+      "dev": true,
+      "requires": {
+        "brace-expansion": "^1.1.7"
+      }
+    },
+    "minimist": {
+      "version": "1.2.5",
+      "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
+      "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==",
+      "dev": true
+    },
+    "minimize": {
+      "version": "2.2.0",
+      "resolved": "https://registry.npmjs.org/minimize/-/minimize-2.2.0.tgz",
+      "integrity": "sha512-IxR2XMbw9pXCxApkdD9BTcH2U4XlXhbeySUrv71rmMS9XDA8BVXEsIuFu24LtwCfBgfbL7Fuh8/ZzkO5DaTLlQ==",
+      "dev": true,
+      "requires": {
+        "argh": "^0.1.4",
+        "async": "^2.1.5",
+        "cli-color": "^1.2.0",
+        "diagnostics": "^1.1.0",
+        "emits": "^3.0.0",
+        "htmlparser2": "^3.9.2",
+        "uuid": "^3.0.0"
+      },
+      "dependencies": {
+        "async": {
+          "version": "2.6.3",
+          "resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz",
+          "integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==",
+          "dev": true,
+          "requires": {
+            "lodash": "^4.17.14"
+          }
+        }
+      }
+    },
+    "mkdirp": {
+      "version": "0.5.4",
+      "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.4.tgz",
+      "integrity": "sha512-iG9AK/dJLtJ0XNgTuDbSyNS3zECqDlAhnQW4CsNxBG3LQJBbHmRX1egw39DmtOdCAqY+dKXV+sgPgilNWUKMVw==",
+      "dev": true,
+      "requires": {
+        "minimist": "^1.2.5"
+      }
+    },
+    "mocha": {
+      "version": "6.2.3",
+      "resolved": "https://registry.npmjs.org/mocha/-/mocha-6.2.3.tgz",
+      "integrity": "sha512-0R/3FvjIGH3eEuG17ccFPk117XL2rWxatr81a57D+r/x2uTYZRbdZ4oVidEUMh2W2TJDa7MdAb12Lm2/qrKajg==",
+      "dev": true,
+      "requires": {
+        "ansi-colors": "3.2.3",
+        "browser-stdout": "1.3.1",
+        "debug": "3.2.6",
+        "diff": "3.5.0",
+        "escape-string-regexp": "1.0.5",
+        "find-up": "3.0.0",
+        "glob": "7.1.3",
+        "growl": "1.10.5",
+        "he": "1.2.0",
+        "js-yaml": "3.13.1",
+        "log-symbols": "2.2.0",
+        "minimatch": "3.0.4",
+        "mkdirp": "0.5.4",
+        "ms": "2.1.1",
+        "node-environment-flags": "1.0.5",
+        "object.assign": "4.1.0",
+        "strip-json-comments": "2.0.1",
+        "supports-color": "6.0.0",
+        "which": "1.3.1",
+        "wide-align": "1.1.3",
+        "yargs": "13.3.2",
+        "yargs-parser": "13.1.2",
+        "yargs-unparser": "1.6.0"
+      },
+      "dependencies": {
+        "ansi-regex": {
+          "version": "4.1.0",
+          "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz",
+          "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==",
+          "dev": true
+        },
+        "camelcase": {
+          "version": "5.3.1",
+          "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz",
+          "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==",
+          "dev": true
+        },
+        "cliui": {
+          "version": "5.0.0",
+          "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz",
+          "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==",
+          "dev": true,
+          "requires": {
+            "string-width": "^3.1.0",
+            "strip-ansi": "^5.2.0",
+            "wrap-ansi": "^5.1.0"
+          }
+        },
+        "debug": {
+          "version": "3.2.6",
+          "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz",
+          "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==",
+          "dev": true,
+          "requires": {
+            "ms": "^2.1.1"
+          }
+        },
+        "diff": {
+          "version": "3.5.0",
+          "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz",
+          "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==",
+          "dev": true
+        },
+        "find-up": {
+          "version": "3.0.0",
+          "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz",
+          "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==",
+          "dev": true,
+          "requires": {
+            "locate-path": "^3.0.0"
+          }
+        },
+        "get-caller-file": {
+          "version": "2.0.5",
+          "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
+          "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==",
+          "dev": true
+        },
+        "is-fullwidth-code-point": {
+          "version": "2.0.0",
+          "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
+          "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
+          "dev": true
+        },
+        "js-yaml": {
+          "version": "3.13.1",
+          "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz",
+          "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==",
+          "dev": true,
+          "requires": {
+            "argparse": "^1.0.7",
+            "esprima": "^4.0.0"
+          }
+        },
+        "ms": {
+          "version": "2.1.1",
+          "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz",
+          "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==",
+          "dev": true
+        },
+        "require-main-filename": {
+          "version": "2.0.0",
+          "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz",
+          "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==",
+          "dev": true
+        },
+        "string-width": {
+          "version": "3.1.0",
+          "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz",
+          "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==",
+          "dev": true,
+          "requires": {
+            "emoji-regex": "^7.0.1",
+            "is-fullwidth-code-point": "^2.0.0",
+            "strip-ansi": "^5.1.0"
+          }
+        },
+        "strip-ansi": {
+          "version": "5.2.0",
+          "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz",
+          "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
+          "dev": true,
+          "requires": {
+            "ansi-regex": "^4.1.0"
+          }
+        },
+        "which-module": {
+          "version": "2.0.0",
+          "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz",
+          "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=",
+          "dev": true
+        },
+        "wrap-ansi": {
+          "version": "5.1.0",
+          "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz",
+          "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==",
+          "dev": true,
+          "requires": {
+            "ansi-styles": "^3.2.0",
+            "string-width": "^3.0.0",
+            "strip-ansi": "^5.0.0"
+          }
+        },
+        "y18n": {
+          "version": "4.0.1",
+          "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.1.tgz",
+          "integrity": "sha512-wNcy4NvjMYL8gogWWYAO7ZFWFfHcbdbE57tZO8e4cbpj8tfUcwrwqSl3ad8HxpYWCdXcJUCeKKZS62Av1affwQ==",
+          "dev": true
+        },
+        "yargs": {
+          "version": "13.3.2",
+          "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz",
+          "integrity": "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==",
+          "dev": true,
+          "requires": {
+            "cliui": "^5.0.0",
+            "find-up": "^3.0.0",
+            "get-caller-file": "^2.0.1",
+            "require-directory": "^2.1.1",
+            "require-main-filename": "^2.0.0",
+            "set-blocking": "^2.0.0",
+            "string-width": "^3.0.0",
+            "which-module": "^2.0.0",
+            "y18n": "^4.0.0",
+            "yargs-parser": "^13.1.2"
+          }
+        },
+        "yargs-parser": {
+          "version": "13.1.2",
+          "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz",
+          "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==",
+          "dev": true,
+          "requires": {
+            "camelcase": "^5.0.0",
+            "decamelize": "^1.2.0"
+          }
+        }
+      }
+    },
+    "monetdb": {
+      "version": "1.3.3",
+      "resolved": "https://registry.npmjs.org/monetdb/-/monetdb-1.3.3.tgz",
+      "integrity": "sha512-y77+yaffPSBLzA9L3XPQp0l0bbHZIvH9rPwnb0Klml49KXyiQjXfs26YxeXQ6bK/mhMAxD4bNK3e4gxOLaFDXg==",
+      "requires": {
+        "q": "^1.4.1"
+      }
+    },
+    "ms": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+      "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
+    },
+    "mustache": {
+      "version": "4.1.0",
+      "resolved": "https://registry.npmjs.org/mustache/-/mustache-4.1.0.tgz",
+      "integrity": "sha512-0FsgP/WVq4mKyjolIyX+Z9Bd+3WS8GOwoUTyKXT5cTYMGeauNTi2HPCwERqseC1IHAy0Z7MDZnJBfjabd4O8GQ=="
+    },
+    "negotiator": {
+      "version": "0.6.2",
+      "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz",
+      "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw=="
+    },
+    "neo-async": {
+      "version": "2.6.2",
+      "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz",
+      "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==",
+      "dev": true
+    },
+    "nested-error-stacks": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/nested-error-stacks/-/nested-error-stacks-2.1.0.tgz",
+      "integrity": "sha512-AO81vsIO1k1sM4Zrd6Hu7regmJN1NSiAja10gc4bX3F0wd+9rQmcuHQaHVQCYIEC8iFXnE+mavh23GOt7wBgug==",
+      "dev": true
+    },
+    "next-tick": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.0.0.tgz",
+      "integrity": "sha1-yobR/ogoFpsBICCOPchCS524NCw=",
+      "dev": true
+    },
+    "no-case": {
+      "version": "3.0.4",
+      "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz",
+      "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==",
+      "dev": true,
+      "requires": {
+        "lower-case": "^2.0.2",
+        "tslib": "^2.0.3"
+      }
+    },
+    "node-environment-flags": {
+      "version": "1.0.5",
+      "resolved": "https://registry.npmjs.org/node-environment-flags/-/node-environment-flags-1.0.5.tgz",
+      "integrity": "sha512-VNYPRfGfmZLx0Ye20jWzHUjyTW/c+6Wq+iLhDzUI4XmhrDd9l/FozXV3F2xOaXjvp0co0+v1YSR3CMP6g+VvLQ==",
+      "dev": true,
+      "requires": {
+        "object.getownpropertydescriptors": "^2.0.3",
+        "semver": "^5.7.0"
+      }
+    },
+    "nopt": {
+      "version": "5.0.0",
+      "resolved": "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz",
+      "integrity": "sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==",
+      "dev": true,
+      "requires": {
+        "abbrev": "1"
+      }
+    },
+    "normalize-package-data": {
+      "version": "2.5.0",
+      "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz",
+      "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==",
+      "requires": {
+        "hosted-git-info": "^2.1.4",
+        "resolve": "^1.10.0",
+        "semver": "2 || 3 || 4 || 5",
+        "validate-npm-package-license": "^3.0.1"
+      }
+    },
+    "normalize-path": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
+      "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
+      "dev": true,
+      "optional": true
+    },
+    "number-is-nan": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz",
+      "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0="
+    },
+    "nunjucks": {
+      "version": "3.2.2",
+      "resolved": "https://registry.npmjs.org/nunjucks/-/nunjucks-3.2.2.tgz",
+      "integrity": "sha512-KUi85OoF2NMygwODAy28Lh9qHmq5hO3rBlbkYoC8v377h4l8Pt5qFjILl0LWpMbOrZ18CzfVVUvIHUIrtED3sA==",
+      "dev": true,
+      "requires": {
+        "a-sync-waterfall": "^1.0.0",
+        "asap": "^2.0.3",
+        "chokidar": "^3.3.0",
+        "commander": "^5.1.0"
+      },
+      "dependencies": {
+        "commander": {
+          "version": "5.1.0",
+          "resolved": "https://registry.npmjs.org/commander/-/commander-5.1.0.tgz",
+          "integrity": "sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==",
+          "dev": true
+        }
+      }
+    },
+    "nunjucks-markdown": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/nunjucks-markdown/-/nunjucks-markdown-2.0.1.tgz",
+      "integrity": "sha1-1V51Qzo1hQ4sNFZR/j+THtmxVqI=",
+      "dev": true
+    },
+    "nyc": {
+      "version": "14.1.1",
+      "resolved": "https://registry.npmjs.org/nyc/-/nyc-14.1.1.tgz",
+      "integrity": "sha512-OI0vm6ZGUnoGZv/tLdZ2esSVzDwUC88SNs+6JoSOMVxA+gKMB8Tk7jBwgemLx4O40lhhvZCVw1C+OYLOBOPXWw==",
+      "dev": true,
+      "requires": {
+        "archy": "^1.0.0",
+        "caching-transform": "^3.0.2",
+        "convert-source-map": "^1.6.0",
+        "cp-file": "^6.2.0",
+        "find-cache-dir": "^2.1.0",
+        "find-up": "^3.0.0",
+        "foreground-child": "^1.5.6",
+        "glob": "^7.1.3",
+        "istanbul-lib-coverage": "^2.0.5",
+        "istanbul-lib-hook": "^2.0.7",
+        "istanbul-lib-instrument": "^3.3.0",
+        "istanbul-lib-report": "^2.0.8",
+        "istanbul-lib-source-maps": "^3.0.6",
+        "istanbul-reports": "^2.2.4",
+        "js-yaml": "^3.13.1",
+        "make-dir": "^2.1.0",
+        "merge-source-map": "^1.1.0",
+        "resolve-from": "^4.0.0",
+        "rimraf": "^2.6.3",
+        "signal-exit": "^3.0.2",
+        "spawn-wrap": "^1.4.2",
+        "test-exclude": "^5.2.3",
+        "uuid": "^3.3.2",
+        "yargs": "^13.2.2",
+        "yargs-parser": "^13.0.0"
+      },
+      "dependencies": {
+        "ansi-regex": {
+          "version": "4.1.0",
+          "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz",
+          "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==",
+          "dev": true
+        },
+        "camelcase": {
+          "version": "5.3.1",
+          "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz",
+          "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==",
+          "dev": true
+        },
+        "cliui": {
+          "version": "5.0.0",
+          "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz",
+          "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==",
+          "dev": true,
+          "requires": {
+            "string-width": "^3.1.0",
+            "strip-ansi": "^5.2.0",
+            "wrap-ansi": "^5.1.0"
+          }
+        },
+        "find-up": {
+          "version": "3.0.0",
+          "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz",
+          "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==",
+          "dev": true,
+          "requires": {
+            "locate-path": "^3.0.0"
+          }
+        },
+        "get-caller-file": {
+          "version": "2.0.5",
+          "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
+          "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==",
+          "dev": true
+        },
+        "is-fullwidth-code-point": {
+          "version": "2.0.0",
+          "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
+          "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
+          "dev": true
+        },
+        "require-main-filename": {
+          "version": "2.0.0",
+          "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz",
+          "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==",
+          "dev": true
+        },
+        "string-width": {
+          "version": "3.1.0",
+          "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz",
+          "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==",
+          "dev": true,
+          "requires": {
+            "emoji-regex": "^7.0.1",
+            "is-fullwidth-code-point": "^2.0.0",
+            "strip-ansi": "^5.1.0"
+          }
+        },
+        "strip-ansi": {
+          "version": "5.2.0",
+          "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz",
+          "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
+          "dev": true,
+          "requires": {
+            "ansi-regex": "^4.1.0"
+          }
+        },
+        "which-module": {
+          "version": "2.0.0",
+          "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz",
+          "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=",
+          "dev": true
+        },
+        "wrap-ansi": {
+          "version": "5.1.0",
+          "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz",
+          "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==",
+          "dev": true,
+          "requires": {
+            "ansi-styles": "^3.2.0",
+            "string-width": "^3.0.0",
+            "strip-ansi": "^5.0.0"
+          }
+        },
+        "y18n": {
+          "version": "4.0.1",
+          "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.1.tgz",
+          "integrity": "sha512-wNcy4NvjMYL8gogWWYAO7ZFWFfHcbdbE57tZO8e4cbpj8tfUcwrwqSl3ad8HxpYWCdXcJUCeKKZS62Av1affwQ==",
+          "dev": true
+        },
+        "yargs": {
+          "version": "13.3.2",
+          "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz",
+          "integrity": "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==",
+          "dev": true,
+          "requires": {
+            "cliui": "^5.0.0",
+            "find-up": "^3.0.0",
+            "get-caller-file": "^2.0.1",
+            "require-directory": "^2.1.1",
+            "require-main-filename": "^2.0.0",
+            "set-blocking": "^2.0.0",
+            "string-width": "^3.0.0",
+            "which-module": "^2.0.0",
+            "y18n": "^4.0.0",
+            "yargs-parser": "^13.1.2"
+          }
+        },
+        "yargs-parser": {
+          "version": "13.1.2",
+          "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz",
+          "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==",
+          "dev": true,
+          "requires": {
+            "camelcase": "^5.0.0",
+            "decamelize": "^1.2.0"
+          }
+        }
+      }
+    },
+    "oauth2orize": {
+      "version": "1.11.0",
+      "resolved": "https://registry.npmjs.org/oauth2orize/-/oauth2orize-1.11.0.tgz",
+      "integrity": "sha1-eTzvJR1F696sMq5AqLaBT6qx1IM=",
+      "requires": {
+        "debug": "2.x.x",
+        "uid2": "0.0.x",
+        "utils-merge": "1.x.x"
+      }
+    },
+    "object-assign": {
+      "version": "4.1.1",
+      "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
+      "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM="
+    },
+    "object-inspect": {
+      "version": "1.9.0",
+      "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.9.0.tgz",
+      "integrity": "sha512-i3Bp9iTqwhaLZBxGkRfo5ZbE07BQRT7MGu8+nNgwW9ItGp1TzCTw2DLEoWwjClxBjOFI/hWljTAmYGCEwmtnOw==",
+      "dev": true
+    },
+    "object-keys": {
+      "version": "1.1.1",
+      "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz",
+      "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==",
+      "dev": true
+    },
+    "object-values": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/object-values/-/object-values-1.0.0.tgz",
+      "integrity": "sha1-cq+DljARnluYw7AruMJ+MjcVgQU="
+    },
+    "object.assign": {
+      "version": "4.1.0",
+      "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.0.tgz",
+      "integrity": "sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==",
+      "dev": true,
+      "requires": {
+        "define-properties": "^1.1.2",
+        "function-bind": "^1.1.1",
+        "has-symbols": "^1.0.0",
+        "object-keys": "^1.0.11"
+      }
+    },
+    "object.getownpropertydescriptors": {
+      "version": "2.1.1",
+      "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.1.tgz",
+      "integrity": "sha512-6DtXgZ/lIZ9hqx4GtZETobXLR/ZLaa0aqV0kzbn80Rf8Z2e/XFnhA0I7p07N2wH8bBBltr2xQPi6sbKWAY2Eng==",
+      "dev": true,
+      "requires": {
+        "call-bind": "^1.0.0",
+        "define-properties": "^1.1.3",
+        "es-abstract": "^1.18.0-next.1"
+      }
+    },
+    "on-finished": {
+      "version": "2.3.0",
+      "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz",
+      "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=",
+      "requires": {
+        "ee-first": "1.1.1"
+      }
+    },
+    "on-headers": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz",
+      "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA=="
+    },
+    "once": {
+      "version": "1.4.0",
+      "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
+      "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
+      "requires": {
+        "wrappy": "1"
+      }
+    },
+    "ono": {
+      "version": "4.0.11",
+      "resolved": "https://registry.npmjs.org/ono/-/ono-4.0.11.tgz",
+      "integrity": "sha512-jQ31cORBFE6td25deYeD80wxKBMj+zBmHTrVxnc6CKhx8gho6ipmWM5zj/oeoqioZ99yqBls9Z/9Nss7J26G2g==",
+      "requires": {
+        "format-util": "^1.0.3"
+      }
+    },
+    "optimist": {
+      "version": "0.6.1",
+      "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz",
+      "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=",
+      "dev": true,
+      "requires": {
+        "minimist": "~0.0.1",
+        "wordwrap": "~0.0.2"
+      },
+      "dependencies": {
+        "minimist": {
+          "version": "0.0.10",
+          "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz",
+          "integrity": "sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8=",
+          "dev": true
+        }
+      }
+    },
+    "os-homedir": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz",
+      "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=",
+      "dev": true
+    },
+    "os-locale": {
+      "version": "1.4.0",
+      "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz",
+      "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=",
+      "requires": {
+        "lcid": "^1.0.0"
+      }
+    },
+    "osprey": {
+      "version": "0.3.2",
+      "resolved": "https://registry.npmjs.org/osprey/-/osprey-0.3.2.tgz",
+      "integrity": "sha1-u9548qIT5LihH3H93/qPNRy4lzw=",
+      "requires": {
+        "arrify": "^1.0.0",
+        "body-parser": "^1.13.3",
+        "compose-middleware": "^2.0.1",
+        "compression": "^1.5.2",
+        "cookie-session": "^1.2.0",
+        "cors": "^2.7.1",
+        "debug": "^2.2.0",
+        "finalhandler": "^0.4.0",
+        "form-data": "^1.0.0-rc3",
+        "http-errors": "^1.3.1",
+        "invariant": "^2.1.0",
+        "oauth2orize": "^1.0.1",
+        "osprey-method-handler": "^0.10.0",
+        "osprey-resources": "^0.7.0",
+        "osprey-router": "^0.4.0",
+        "parseurl": "^1.3.0",
+        "passport": "^0.3.0",
+        "passport-http": "^0.3.0",
+        "passport-http-bearer": "^1.0.1",
+        "passport-oauth2-client-password": "^0.1.2",
+        "raml-parser": "^0.8.10",
+        "request-error-handler": "^1.0.0",
+        "type-is": "^1.5.5",
+        "xtend": "^4.0.0",
+        "yargs": "^4.1.0"
+      },
+      "dependencies": {
+        "finalhandler": {
+          "version": "0.4.1",
+          "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-0.4.1.tgz",
+          "integrity": "sha1-haF8bFmpRxfSYtYSMNSw6+PUoU0=",
+          "requires": {
+            "debug": "~2.2.0",
+            "escape-html": "~1.0.3",
+            "on-finished": "~2.3.0",
+            "unpipe": "~1.0.0"
+          },
+          "dependencies": {
+            "debug": {
+              "version": "2.2.0",
+              "resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz",
+              "integrity": "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo=",
+              "requires": {
+                "ms": "0.7.1"
+              }
+            }
+          }
+        },
+        "ms": {
+          "version": "0.7.1",
+          "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz",
+          "integrity": "sha1-nNE8A62/8ltl7/3nzoZO6VIBcJg="
+        }
+      }
+    },
+    "osprey-method-handler": {
+      "version": "0.10.3",
+      "resolved": "https://registry.npmjs.org/osprey-method-handler/-/osprey-method-handler-0.10.3.tgz",
+      "integrity": "sha1-9KEbg+Gc2MiSHmo9OprRFHRFyAg=",
+      "requires": {
+        "ajv": "^4.0.0",
+        "body-parser": "^1.10.2",
+        "busboy": "^0.2.9",
+        "compose-middleware": "^2.0.0",
+        "debug": "^2.2.0",
+        "http-errors": "^1.2.8",
+        "is-stream": "^1.0.1",
+        "json-schema-compatibility": "^1.0.1",
+        "lowercase-keys": "^1.0.0",
+        "negotiator": "^0.6.0",
+        "object-values": "^1.0.0",
+        "parseurl": "^1.3.0",
+        "raml-sanitize": "^1.1.2",
+        "raml-validate": "^1.0.6",
+        "standard-headers": "^0.1.0",
+        "stream-equal": "^0.1.5",
+        "type-is": "^1.5.5",
+        "xtend": "^4.0.0"
+      }
+    },
+    "osprey-resources": {
+      "version": "0.7.1",
+      "resolved": "https://registry.npmjs.org/osprey-resources/-/osprey-resources-0.7.1.tgz",
+      "integrity": "sha1-pRw9XT98IdRD7FZbRFZoI/PQXNA=",
+      "requires": {
+        "osprey-router": "^0.5.1",
+        "xtend": "^4.0.1"
+      },
+      "dependencies": {
+        "array-flatten": {
+          "version": "2.1.2",
+          "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz",
+          "integrity": "sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ=="
+        },
+        "osprey-router": {
+          "version": "0.5.1",
+          "resolved": "https://registry.npmjs.org/osprey-router/-/osprey-router-0.5.1.tgz",
+          "integrity": "sha1-qNG8gXYgSekRAR5Bu693SSjDMEU=",
+          "requires": {
+            "array-flatten": "^2.0.0",
+            "methods": "^1.1.1",
+            "raml-path-match": "^2.1.2",
+            "router": "github:blakeembrey/router#router-engine",
+            "xtend": "^4.0.1"
+          }
+        }
+      }
+    },
+    "osprey-router": {
+      "version": "0.4.0",
+      "resolved": "https://registry.npmjs.org/osprey-router/-/osprey-router-0.4.0.tgz",
+      "integrity": "sha1-EyxNwVlfHSgrICBk1D+08YGDkLs=",
+      "requires": {
+        "array-flatten": "^2.0.0",
+        "methods": "^1.1.1",
+        "raml-path-match": "^2.0.0",
+        "router": "github:blakeembrey/router#router-engine",
+        "xtend": "^4.0.1"
+      },
+      "dependencies": {
+        "array-flatten": {
+          "version": "2.1.2",
+          "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz",
+          "integrity": "sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ=="
+        },
+        "debug": {
+          "version": "3.2.7",
+          "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz",
+          "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==",
+          "requires": {
+            "ms": "^2.1.1"
+          }
+        },
+        "ms": {
+          "version": "2.1.3",
+          "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
+          "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA=="
+        },
+        "router": {
+          "version": "github:blakeembrey/router#5eb68560e91b302251ff17a70cd1b6af1fc36d30",
+          "from": "github:blakeembrey/router#router-engine",
+          "requires": {
+            "array-flatten": "2.0.0",
+            "debug": "^3.1.0",
+            "methods": "~1.1.2",
+            "parseurl": "~1.3.1",
+            "path-to-regexp": "0.1.7",
+            "setprototypeof": "1.0.0",
+            "utils-merge": "1.0.0"
+          },
+          "dependencies": {
+            "array-flatten": {
+              "version": "2.0.0",
+              "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.0.0.tgz",
+              "integrity": "sha1-JN2Ys4uRlLWbIIe6QMIThNa4qNw="
+            }
+          }
+        },
+        "setprototypeof": {
+          "version": "1.0.0",
+          "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.0.0.tgz",
+          "integrity": "sha1-1fr8oB4RdNAHm9G/iB8JyKM5eUw="
+        },
+        "utils-merge": {
+          "version": "1.0.0",
+          "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.0.tgz",
+          "integrity": "sha1-ApT7kiu5N1FTVBxPcJYjHyh8ivg="
+        }
+      }
+    },
+    "p-limit": {
+      "version": "2.3.0",
+      "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
+      "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
+      "dev": true,
+      "requires": {
+        "p-try": "^2.0.0"
+      }
+    },
+    "p-locate": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz",
+      "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==",
+      "dev": true,
+      "requires": {
+        "p-limit": "^2.0.0"
+      }
+    },
+    "p-try": {
+      "version": "2.2.0",
+      "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
+      "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==",
+      "dev": true
+    },
+    "package-hash": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/package-hash/-/package-hash-3.0.0.tgz",
+      "integrity": "sha512-lOtmukMDVvtkL84rJHI7dpTYq+0rli8N2wlnqUcBuDWCfVhRUfOmnR9SsoHFMLpACvEV60dX7rd0rFaYDZI+FA==",
+      "dev": true,
+      "requires": {
+        "graceful-fs": "^4.1.15",
+        "hasha": "^3.0.0",
+        "lodash.flattendeep": "^4.4.0",
+        "release-zalgo": "^1.0.0"
+      }
+    },
+    "packet-reader": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/packet-reader/-/packet-reader-1.0.0.tgz",
+      "integrity": "sha512-HAKu/fG3HpHFO0AA8WE8q2g+gBJaZ9MG7fcKk+IJPLTGAD6Psw4443l+9DGRbOIh3/aXr7Phy0TjilYivJo5XQ=="
+    },
+    "param-case": {
+      "version": "3.0.4",
+      "resolved": "https://registry.npmjs.org/param-case/-/param-case-3.0.4.tgz",
+      "integrity": "sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==",
+      "dev": true,
+      "requires": {
+        "dot-case": "^3.0.4",
+        "tslib": "^2.0.3"
+      }
+    },
+    "parse-json": {
+      "version": "2.2.0",
+      "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz",
+      "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=",
+      "requires": {
+        "error-ex": "^1.2.0"
+      }
+    },
+    "parseurl": {
+      "version": "1.3.3",
+      "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz",
+      "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ=="
+    },
+    "pascal-case": {
+      "version": "3.1.2",
+      "resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz",
+      "integrity": "sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==",
+      "dev": true,
+      "requires": {
+        "no-case": "^3.0.4",
+        "tslib": "^2.0.3"
+      }
+    },
+    "passport": {
+      "version": "0.3.2",
+      "resolved": "https://registry.npmjs.org/passport/-/passport-0.3.2.tgz",
+      "integrity": "sha1-ndAJ+RXo/glbASSgG4+C2gdRAQI=",
+      "requires": {
+        "passport-strategy": "1.x.x",
+        "pause": "0.0.1"
+      }
+    },
+    "passport-http": {
+      "version": "0.3.0",
+      "resolved": "https://registry.npmjs.org/passport-http/-/passport-http-0.3.0.tgz",
+      "integrity": "sha1-juU9Q4C+nGDfIVGSUCmCb3cRVgM=",
+      "requires": {
+        "passport-strategy": "1.x.x"
+      }
+    },
+    "passport-http-bearer": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/passport-http-bearer/-/passport-http-bearer-1.0.1.tgz",
+      "integrity": "sha1-FHRp6jZp4qhMYWfvmdu3fh8AmKg=",
+      "requires": {
+        "passport-strategy": "1.x.x"
+      }
+    },
+    "passport-oauth2-client-password": {
+      "version": "0.1.2",
+      "resolved": "https://registry.npmjs.org/passport-oauth2-client-password/-/passport-oauth2-client-password-0.1.2.tgz",
+      "integrity": "sha1-TzeLZ4uS0W270jOmxwZSAJPlYbo=",
+      "requires": {
+        "passport-strategy": "1.x.x"
+      }
+    },
+    "passport-strategy": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/passport-strategy/-/passport-strategy-1.0.0.tgz",
+      "integrity": "sha1-tVOaqPwiWj0a0XlHbd8ja0QPUuQ="
+    },
+    "path-case": {
+      "version": "3.0.4",
+      "resolved": "https://registry.npmjs.org/path-case/-/path-case-3.0.4.tgz",
+      "integrity": "sha512-qO4qCFjXqVTrcbPt/hQfhTQ+VhFsqNKOPtytgNKkKxSoEp3XPUQ8ObFuePylOIok5gjn69ry8XiULxCwot3Wfg==",
+      "dev": true,
+      "requires": {
+        "dot-case": "^3.0.4",
+        "tslib": "^2.0.3"
+      }
+    },
+    "path-exists": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz",
+      "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=",
+      "requires": {
+        "pinkie-promise": "^2.0.0"
+      }
+    },
+    "path-is-absolute": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
+      "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=",
+      "dev": true
+    },
+    "path-parse": {
+      "version": "1.0.6",
+      "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz",
+      "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw=="
+    },
+    "path-to-regexp": {
+      "version": "0.1.7",
+      "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz",
+      "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w="
+    },
+    "path-type": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz",
+      "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=",
+      "requires": {
+        "graceful-fs": "^4.1.2",
+        "pify": "^2.0.0",
+        "pinkie-promise": "^2.0.0"
+      }
+    },
+    "pathval": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.0.tgz",
+      "integrity": "sha1-uULm1L3mUwBe9rcTYd74cn0GReA=",
+      "dev": true
+    },
+    "pause": {
+      "version": "0.0.1",
+      "resolved": "https://registry.npmjs.org/pause/-/pause-0.0.1.tgz",
+      "integrity": "sha1-HUCLP9t2kjuVQ9lvtMnf1TXZy10="
+    },
+    "pg": {
+      "version": "7.18.2",
+      "resolved": "https://registry.npmjs.org/pg/-/pg-7.18.2.tgz",
+      "integrity": "sha512-Mvt0dGYMwvEADNKy5PMQGlzPudKcKKzJds/VbOeZJpb6f/pI3mmoXX0JksPgI3l3JPP/2Apq7F36O63J7mgveA==",
+      "requires": {
+        "buffer-writer": "2.0.0",
+        "packet-reader": "1.0.0",
+        "pg-connection-string": "0.1.3",
+        "pg-packet-stream": "^1.1.0",
+        "pg-pool": "^2.0.10",
+        "pg-types": "^2.1.0",
+        "pgpass": "1.x",
+        "semver": "4.3.2"
+      },
+      "dependencies": {
+        "semver": {
+          "version": "4.3.2",
+          "resolved": "https://registry.npmjs.org/semver/-/semver-4.3.2.tgz",
+          "integrity": "sha1-x6BxWKgL7dBSNVt3DYLWZA+AO+c="
+        }
+      }
+    },
+    "pg-connection-string": {
+      "version": "0.1.3",
+      "resolved": "https://registry.npmjs.org/pg-connection-string/-/pg-connection-string-0.1.3.tgz",
+      "integrity": "sha1-2hhHsglA5C7hSSvq9l1J2RskXfc="
+    },
+    "pg-int8": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/pg-int8/-/pg-int8-1.0.1.tgz",
+      "integrity": "sha512-WCtabS6t3c8SkpDBUlb1kjOs7l66xsGdKpIPZsg4wR+B3+u9UAum2odSsF9tnvxg80h4ZxLWMy4pRjOsFIqQpw=="
+    },
+    "pg-packet-stream": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/pg-packet-stream/-/pg-packet-stream-1.1.0.tgz",
+      "integrity": "sha512-kRBH0tDIW/8lfnnOyTwKD23ygJ/kexQVXZs7gEyBljw4FYqimZFxnMMx50ndZ8In77QgfGuItS5LLclC2TtjYg=="
+    },
+    "pg-pool": {
+      "version": "2.0.10",
+      "resolved": "https://registry.npmjs.org/pg-pool/-/pg-pool-2.0.10.tgz",
+      "integrity": "sha512-qdwzY92bHf3nwzIUcj+zJ0Qo5lpG/YxchahxIN8+ZVmXqkahKXsnl2aiJPHLYN9o5mB/leG+Xh6XKxtP7e0sjg=="
+    },
+    "pg-types": {
+      "version": "2.2.0",
+      "resolved": "https://registry.npmjs.org/pg-types/-/pg-types-2.2.0.tgz",
+      "integrity": "sha512-qTAAlrEsl8s4OiEQY69wDvcMIdQN6wdz5ojQiOy6YRMuynxenON0O5oCpJI6lshc6scgAY8qvJ2On/p+CXY0GA==",
+      "requires": {
+        "pg-int8": "1.0.1",
+        "postgres-array": "~2.0.0",
+        "postgres-bytea": "~1.0.0",
+        "postgres-date": "~1.0.4",
+        "postgres-interval": "^1.1.0"
+      }
+    },
+    "pgpass": {
+      "version": "1.0.4",
+      "resolved": "https://registry.npmjs.org/pgpass/-/pgpass-1.0.4.tgz",
+      "integrity": "sha512-YmuA56alyBq7M59vxVBfPJrGSozru8QAdoNlWuW3cz8l+UX3cWge0vTvjKhsSHSJpo3Bom8/Mm6hf0TR5GY0+w==",
+      "requires": {
+        "split2": "^3.1.1"
+      }
+    },
+    "picomatch": {
+      "version": "2.2.2",
+      "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz",
+      "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==",
+      "dev": true,
+      "optional": true
+    },
+    "pify": {
+      "version": "2.3.0",
+      "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
+      "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw="
+    },
+    "pinkie": {
+      "version": "2.0.4",
+      "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz",
+      "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA="
+    },
+    "pinkie-promise": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz",
+      "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=",
+      "requires": {
+        "pinkie": "^2.0.0"
+      }
+    },
+    "pkg-dir": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz",
+      "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==",
+      "dev": true,
+      "requires": {
+        "find-up": "^3.0.0"
+      },
+      "dependencies": {
+        "find-up": {
+          "version": "3.0.0",
+          "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz",
+          "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==",
+          "dev": true,
+          "requires": {
+            "locate-path": "^3.0.0"
+          }
+        }
+      }
+    },
+    "pluralize": {
+      "version": "1.1.6",
+      "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-1.1.6.tgz",
+      "integrity": "sha1-5L9dazayr8IsgB98Nyk2F+C9xW0="
+    },
+    "postgres-array": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/postgres-array/-/postgres-array-2.0.0.tgz",
+      "integrity": "sha512-VpZrUqU5A69eQyW2c5CA1jtLecCsN2U/bD6VilrFDWq5+5UIEVO7nazS3TEcHf1zuPYO/sqGvUvW62g86RXZuA=="
+    },
+    "postgres-bytea": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/postgres-bytea/-/postgres-bytea-1.0.0.tgz",
+      "integrity": "sha1-AntTPAqokOJtFy1Hz5zOzFIazTU="
+    },
+    "postgres-date": {
+      "version": "1.0.7",
+      "resolved": "https://registry.npmjs.org/postgres-date/-/postgres-date-1.0.7.tgz",
+      "integrity": "sha512-suDmjLVQg78nMK2UZ454hAG+OAW+HQPZ6n++TNDUX+L0+uUlLywnoxJKDou51Zm+zTCjrCl0Nq6J9C5hP9vK/Q=="
+    },
+    "postgres-interval": {
+      "version": "1.2.0",
+      "resolved": "https://registry.npmjs.org/postgres-interval/-/postgres-interval-1.2.0.tgz",
+      "integrity": "sha512-9ZhXKM/rw350N1ovuWHbGxnGh/SNJ4cnxHiM0rxE4VN41wsg8P8zWn9hv/buK00RP4WvlOyr/RBDiptyxVbkZQ==",
+      "requires": {
+        "xtend": "^4.0.0"
+      }
+    },
+    "prepend-http": {
+      "version": "1.0.4",
+      "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz",
+      "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw="
+    },
+    "pretty": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/pretty/-/pretty-2.0.0.tgz",
+      "integrity": "sha1-rbx5YLe7/iiaVX3F9zdhmiINBqU=",
+      "dev": true,
+      "requires": {
+        "condense-newlines": "^0.2.1",
+        "extend-shallow": "^2.0.1",
+        "js-beautify": "^1.6.12"
+      }
+    },
+    "process-nextick-args": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz",
+      "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag=="
+    },
+    "progress": {
+      "version": "2.0.3",
+      "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz",
+      "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==",
+      "dev": true
+    },
+    "promise-polyfill": {
+      "version": "8.1.3",
+      "resolved": "https://registry.npmjs.org/promise-polyfill/-/promise-polyfill-8.1.3.tgz",
+      "integrity": "sha512-MG5r82wBzh7pSKDRa9y+vllNHz3e3d4CNj1PQE4BQYxLme0gKYYBm9YENq+UkEikyZ0XbiGWxYlVw3Rl9O/U8g==",
+      "dev": true
+    },
+    "proto-list": {
+      "version": "1.2.4",
+      "resolved": "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz",
+      "integrity": "sha1-IS1b/hMYMGpCD2QCuOJv85ZHqEk=",
+      "dev": true
+    },
+    "proxy-addr": {
+      "version": "2.0.6",
+      "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.6.tgz",
+      "integrity": "sha512-dh/frvCBVmSsDYzw6n926jv974gddhkFPfiN8hPOi30Wax25QZyZEGveluCgliBnqmuM+UJmBErbAUFIoDbjOw==",
+      "requires": {
+        "forwarded": "~0.1.2",
+        "ipaddr.js": "1.9.1"
+      }
+    },
+    "pseudomap": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz",
+      "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=",
+      "dev": true
+    },
+    "q": {
+      "version": "1.5.1",
+      "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz",
+      "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc="
+    },
+    "qs": {
+      "version": "6.7.0",
+      "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz",
+      "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ=="
+    },
+    "raml-1-parser": {
+      "version": "1.1.67",
+      "resolved": "https://registry.npmjs.org/raml-1-parser/-/raml-1-parser-1.1.67.tgz",
+      "integrity": "sha512-3dcGepRbixHoQyQZ8WvLajgK3lfcyvWynU38PdkZGM/9r6KXXSCmxNypu+zwDOBT1V5O3swREIiBN5KgD91sTA==",
+      "dev": true,
+      "requires": {
+        "change-case": "^4.1.1",
+        "fs-extra": "8.1.0",
+        "http-response-object": "3.0.2",
+        "invariant": "2.2.4",
+        "json-path": "0.1.3",
+        "json-schema-compatibility": "1.1.0",
+        "json-stable-stringify": "1.0.1",
+        "loophole": "1.1.0",
+        "lrucache": "1.0.3",
+        "media-typer": "1.1.0",
+        "mkdirp": "^1.0.3",
+        "pluralize": "8.0.0",
+        "promise-polyfill": "8.1.3",
+        "q": "1.5.1",
+        "raml-definition-system": "^0.0.94",
+        "ts-model": "0.0.18",
+        "underscore": "^1.10.2",
+        "upper-case-first": "^2.0.1",
+        "urlsafe-base64": "1.0.0",
+        "xhr2": "0.2.0",
+        "xmldom-alpha": "^0.1.28",
+        "xmlhttprequest": "1.8.0",
+        "yaml-ast-parser": "0.0.43",
+        "z-schema": "^4.2.2"
+      },
+      "dependencies": {
+        "media-typer": {
+          "version": "1.1.0",
+          "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-1.1.0.tgz",
+          "integrity": "sha512-aisnrDP4GNe06UcKFnV5bfMNPBUw4jsLGaWwWfnH3v02GnBuXX2MCVn5RbrWo0j3pczUilYblq7fQ7Nw2t5XKw==",
+          "dev": true
+        },
+        "mkdirp": {
+          "version": "1.0.4",
+          "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz",
+          "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==",
+          "dev": true
+        },
+        "pluralize": {
+          "version": "8.0.0",
+          "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-8.0.0.tgz",
+          "integrity": "sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==",
+          "dev": true
+        },
+        "validator": {
+          "version": "12.2.0",
+          "resolved": "https://registry.npmjs.org/validator/-/validator-12.2.0.tgz",
+          "integrity": "sha512-jJfE/DW6tIK1Ek8nCfNFqt8Wb3nzMoAbocBF6/Icgg1ZFSBpObdnwVY2jQj6qUqzhx5jc71fpvBWyLGO7Xl+nQ==",
+          "dev": true
+        },
+        "z-schema": {
+          "version": "4.2.3",
+          "resolved": "https://registry.npmjs.org/z-schema/-/z-schema-4.2.3.tgz",
+          "integrity": "sha512-zkvK/9TC6p38IwcrbnT3ul9in1UX4cm1y/VZSs4GHKIiDCrlafc+YQBgQBUdDXLAoZHf2qvQ7gJJOo6yT1LH6A==",
+          "dev": true,
+          "requires": {
+            "commander": "^2.7.1",
+            "lodash.get": "^4.4.2",
+            "lodash.isequal": "^4.5.0",
+            "validator": "^12.0.0"
+          }
+        }
+      }
+    },
+    "raml-definition-system": {
+      "version": "0.0.94",
+      "resolved": "https://registry.npmjs.org/raml-definition-system/-/raml-definition-system-0.0.94.tgz",
+      "integrity": "sha512-KawJ4uEncArvhyXThSFVN8PEbQN66rQVXX88uocaLB+MBBCduvDsVtMxAfpv5mFYXfmI/Wqgvn4CPFw6qJ9T4g==",
+      "dev": true,
+      "requires": {
+        "know-your-http-well": "0.5.0",
+        "raml-typesystem": "^0.0.96",
+        "ts-structure-model": "0.0.1",
+        "underscore": "^1.9.2"
+      }
+    },
+    "raml-json-validation": {
+      "version": "0.0.18",
+      "resolved": "https://registry.npmjs.org/raml-json-validation/-/raml-json-validation-0.0.18.tgz",
+      "integrity": "sha512-U43jM2+2203s59jMWlNQIc1SmQ4B8rJKJXL5bQJdFHVyr2W9ImLJOmDCSpkKHKlM24f72iRbU/aVupjpWY8fBA==",
+      "optional": true,
+      "requires": {
+        "z-schema": "3.21.0"
+      }
+    },
+    "raml-parser": {
+      "version": "0.8.18",
+      "resolved": "https://registry.npmjs.org/raml-parser/-/raml-parser-0.8.18.tgz",
+      "integrity": "sha1-CHM3UDT4uKHSDBDjFHtiebM0l6g=",
+      "requires": {
+        "got": "~2.4.0",
+        "jju": "~1.2.0",
+        "json-schema-ref-parser": "^3.1.2",
+        "object-assign": "^4.1.0",
+        "pluralize": "~1.1.1",
+        "q": "0.9.7",
+        "uritemplate": "~0.3.4"
+      },
+      "dependencies": {
+        "q": {
+          "version": "0.9.7",
+          "resolved": "https://registry.npmjs.org/q/-/q-0.9.7.tgz",
+          "integrity": "sha1-TeLmyzspCIyeTLwDv51C+5bOL3U="
+        }
+      }
+    },
+    "raml-path-match": {
+      "version": "2.3.1",
+      "resolved": "https://registry.npmjs.org/raml-path-match/-/raml-path-match-2.3.1.tgz",
+      "integrity": "sha512-OZfa/yXxyMBOqndqQiRgitbWz0KzhU75fNt2wCWKUwVKlnC9VYTt+qryjQR3N9JDASLIajCXilreGJnQmiN9Zg==",
+      "requires": {
+        "raml-sanitize": "^1.4.0",
+        "raml-validate": "^1.3.0",
+        "xtend": "^4.0.1"
+      }
+    },
+    "raml-sanitize": {
+      "version": "1.4.0",
+      "resolved": "https://registry.npmjs.org/raml-sanitize/-/raml-sanitize-1.4.0.tgz",
+      "integrity": "sha512-1kLwLOSkaBAS1JQSskD3QgOTd9WJ82kmi39vNpKNfj0oHZwwheCpPJd99KqYMlgPuscCkv6vPSr991w5LDoY5Q=="
+    },
+    "raml-typesystem": {
+      "version": "0.0.96",
+      "resolved": "https://registry.npmjs.org/raml-typesystem/-/raml-typesystem-0.0.96.tgz",
+      "integrity": "sha512-hf9/XlrV73ouELMe/LbwRubsNHt16/xJd7zWUuurumq2Vv6w8nxmWH0d/RImQ9Uylv80u02pcIEGKeYahdDZiA==",
+      "requires": {
+        "bignumber.js": "9.0.0",
+        "date-and-time": "^0.11.1",
+        "escape-html": "1.0.3",
+        "json-schema-compatibility": "1.1.0",
+        "json-to-ast": "2.0.0-alpha1.3",
+        "lrucache": "1.0.3",
+        "raml-json-validation": "0.0.18",
+        "raml-xml-validation": "0.0.15",
+        "underscore": "^1.10.2",
+        "xml2js": "^0.4.23",
+        "xmldom-alpha": "^0.1.28"
+      }
+    },
+    "raml-validate": {
+      "version": "1.3.0",
+      "resolved": "https://registry.npmjs.org/raml-validate/-/raml-validate-1.3.0.tgz",
+      "integrity": "sha512-TCqj0fPhaz5KqXQXeTDc5R0Joi7CB9K/8MQ1Af//xH+o9v/2+Vb/+NckQmdYixsVOt4WW0JOhGs7W4vi0dqFHQ==",
+      "requires": {
+        "raml-typesystem": "0.0.96"
+      }
+    },
+    "raml-xml-validation": {
+      "version": "0.0.15",
+      "resolved": "https://registry.npmjs.org/raml-xml-validation/-/raml-xml-validation-0.0.15.tgz",
+      "integrity": "sha512-ixkKvCc2b/R7WkPxhFDT7Bg7HLRyzXGp/2UrGFJfkxvsAEMC5JZ2b7LEpmrx6JGzLaHFA01KJ/IBNoZdxvM2xw==",
+      "optional": true,
+      "requires": {
+        "xmllint-jsparser": "0.0.3"
+      }
+    },
+    "raml2html": {
+      "version": "7.6.0",
+      "resolved": "https://registry.npmjs.org/raml2html/-/raml2html-7.6.0.tgz",
+      "integrity": "sha512-3XKZOU0TJctcgvGh4Hco1ZUkq8FWh2UqrRsGRAEx28sWCsy1yL3+McfDGAetvV/7izUq1EKndlCccQdcV5z55w==",
+      "dev": true,
+      "requires": {
+        "chalk": "^2.4.2",
+        "marked": "^0.6.3",
+        "minimize": "2.2.x",
+        "nunjucks": "^3.2.1",
+        "nunjucks-markdown": "2.0.x",
+        "pretty": "^2.0.0",
+        "raml2html-default-theme": "^2.9.3",
+        "raml2obj": "^6.7.0",
+        "yargs": "^14.2.3"
+      },
+      "dependencies": {
+        "ansi-regex": {
+          "version": "4.1.0",
+          "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz",
+          "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==",
+          "dev": true
+        },
+        "camelcase": {
+          "version": "5.3.1",
+          "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz",
+          "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==",
+          "dev": true
+        },
+        "cliui": {
+          "version": "5.0.0",
+          "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz",
+          "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==",
+          "dev": true,
+          "requires": {
+            "string-width": "^3.1.0",
+            "strip-ansi": "^5.2.0",
+            "wrap-ansi": "^5.1.0"
+          }
+        },
+        "find-up": {
+          "version": "3.0.0",
+          "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz",
+          "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==",
+          "dev": true,
+          "requires": {
+            "locate-path": "^3.0.0"
+          }
+        },
+        "get-caller-file": {
+          "version": "2.0.5",
+          "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
+          "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==",
+          "dev": true
+        },
+        "is-fullwidth-code-point": {
+          "version": "2.0.0",
+          "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
+          "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
+          "dev": true
+        },
+        "require-main-filename": {
+          "version": "2.0.0",
+          "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz",
+          "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==",
+          "dev": true
+        },
+        "string-width": {
+          "version": "3.1.0",
+          "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz",
+          "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==",
+          "dev": true,
+          "requires": {
+            "emoji-regex": "^7.0.1",
+            "is-fullwidth-code-point": "^2.0.0",
+            "strip-ansi": "^5.1.0"
+          }
+        },
+        "strip-ansi": {
+          "version": "5.2.0",
+          "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz",
+          "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
+          "dev": true,
+          "requires": {
+            "ansi-regex": "^4.1.0"
+          }
+        },
+        "which-module": {
+          "version": "2.0.0",
+          "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz",
+          "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=",
+          "dev": true
+        },
+        "wrap-ansi": {
+          "version": "5.1.0",
+          "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz",
+          "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==",
+          "dev": true,
+          "requires": {
+            "ansi-styles": "^3.2.0",
+            "string-width": "^3.0.0",
+            "strip-ansi": "^5.0.0"
+          }
+        },
+        "y18n": {
+          "version": "4.0.1",
+          "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.1.tgz",
+          "integrity": "sha512-wNcy4NvjMYL8gogWWYAO7ZFWFfHcbdbE57tZO8e4cbpj8tfUcwrwqSl3ad8HxpYWCdXcJUCeKKZS62Av1affwQ==",
+          "dev": true
+        },
+        "yargs": {
+          "version": "14.2.3",
+          "resolved": "https://registry.npmjs.org/yargs/-/yargs-14.2.3.tgz",
+          "integrity": "sha512-ZbotRWhF+lkjijC/VhmOT9wSgyBQ7+zr13+YLkhfsSiTriYsMzkTUFP18pFhWwBeMa5gUc1MzbhrO6/VB7c9Xg==",
+          "dev": true,
+          "requires": {
+            "cliui": "^5.0.0",
+            "decamelize": "^1.2.0",
+            "find-up": "^3.0.0",
+            "get-caller-file": "^2.0.1",
+            "require-directory": "^2.1.1",
+            "require-main-filename": "^2.0.0",
+            "set-blocking": "^2.0.0",
+            "string-width": "^3.0.0",
+            "which-module": "^2.0.0",
+            "y18n": "^4.0.0",
+            "yargs-parser": "^15.0.1"
+          }
+        },
+        "yargs-parser": {
+          "version": "15.0.1",
+          "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-15.0.1.tgz",
+          "integrity": "sha512-0OAMV2mAZQrs3FkNpDQcBk1x5HXb8X4twADss4S0Iuk+2dGnLOE/fRHrsYm542GduMveyA77OF4wrNJuanRCWw==",
+          "dev": true,
+          "requires": {
+            "camelcase": "^5.0.0",
+            "decamelize": "^1.2.0"
+          }
+        }
+      }
+    },
+    "raml2html-default-theme": {
+      "version": "2.9.3",
+      "resolved": "https://registry.npmjs.org/raml2html-default-theme/-/raml2html-default-theme-2.9.3.tgz",
+      "integrity": "sha512-NQq5qa1M9SfDhKGoWOmTdGU5WwKZnEuHSH7O/tMPiMgU9+DkLEM7IIrs0/ETwyqlnkv4PJE1R75fOq84T4tbDg==",
+      "dev": true
+    },
+    "raml2obj": {
+      "version": "6.7.0",
+      "resolved": "https://registry.npmjs.org/raml2obj/-/raml2obj-6.7.0.tgz",
+      "integrity": "sha512-VPpRbhtsAK7039pEg30JgReLoMEa5Qjay2d3Awa1UsyilNqGFAoa8sgDYHY5/POihsX9GNH5+5Lt/qWv7HDdsA==",
+      "dev": true,
+      "requires": {
+        "datatype-expansion": "^0.4.1",
+        "raml-1-parser": "^1.1.67"
+      }
+    },
+    "range-parser": {
+      "version": "1.2.1",
+      "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz",
+      "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg=="
+    },
+    "raw-body": {
+      "version": "2.4.0",
+      "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.0.tgz",
+      "integrity": "sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==",
+      "requires": {
+        "bytes": "3.1.0",
+        "http-errors": "1.7.2",
+        "iconv-lite": "0.4.24",
+        "unpipe": "1.0.0"
+      }
+    },
+    "read-all-stream": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/read-all-stream/-/read-all-stream-1.0.2.tgz",
+      "integrity": "sha1-03jPTvbiNrGI6kLRNeWxgKiePpI="
+    },
+    "read-pkg": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz",
+      "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=",
+      "requires": {
+        "load-json-file": "^1.0.0",
+        "normalize-package-data": "^2.3.2",
+        "path-type": "^1.0.0"
+      }
+    },
+    "read-pkg-up": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz",
+      "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=",
+      "requires": {
+        "find-up": "^1.0.0",
+        "read-pkg": "^1.0.0"
+      }
+    },
+    "readable-stream": {
+      "version": "1.1.14",
+      "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz",
+      "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=",
+      "requires": {
+        "core-util-is": "~1.0.0",
+        "inherits": "~2.0.1",
+        "isarray": "0.0.1",
+        "string_decoder": "~0.10.x"
+      }
+    },
+    "readdirp": {
+      "version": "3.5.0",
+      "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.5.0.tgz",
+      "integrity": "sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ==",
+      "dev": true,
+      "optional": true,
+      "requires": {
+        "picomatch": "^2.2.1"
+      }
+    },
+    "rechoir": {
+      "version": "0.6.2",
+      "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz",
+      "integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=",
+      "dev": true,
+      "requires": {
+        "resolve": "^1.1.6"
+      }
+    },
+    "release-zalgo": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/release-zalgo/-/release-zalgo-1.0.0.tgz",
+      "integrity": "sha1-CXALflB0Mpc5Mw5TXFqQ+2eFFzA=",
+      "dev": true,
+      "requires": {
+        "es6-error": "^4.0.1"
+      }
+    },
+    "request-error-handler": {
+      "version": "1.3.2",
+      "resolved": "https://registry.npmjs.org/request-error-handler/-/request-error-handler-1.3.2.tgz",
+      "integrity": "sha512-mBMY+kFw8hdJWKz/ts09U9maBPqyZfQFWNBKisJUk33VDtya4P/6LgJA7viRGGDcc5Wu2HvGEW6xXogQKIvy2w==",
+      "requires": {
+        "debug": "^4.1.1",
+        "escape-html": "^1.0.2",
+        "invariant": "^2.1.0",
+        "mustache": "^4.0.1",
+        "negotiator": "^0.6.2",
+        "xtend": "^4.0.0"
+      },
+      "dependencies": {
+        "debug": {
+          "version": "4.3.1",
+          "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz",
+          "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==",
+          "requires": {
+            "ms": "2.1.2"
+          }
+        },
+        "ms": {
+          "version": "2.1.2",
+          "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+          "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
+        }
+      }
+    },
+    "require-directory": {
+      "version": "2.1.1",
+      "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
+      "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I="
+    },
+    "require-main-filename": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz",
+      "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE="
+    },
+    "resolve": {
+      "version": "1.19.0",
+      "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.19.0.tgz",
+      "integrity": "sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg==",
+      "requires": {
+        "is-core-module": "^2.1.0",
+        "path-parse": "^1.0.6"
+      }
+    },
+    "resolve-from": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz",
+      "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==",
+      "dev": true
+    },
+    "rfdc": {
+      "version": "1.2.0",
+      "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.2.0.tgz",
+      "integrity": "sha512-ijLyszTMmUrXvjSooucVQwimGUk84eRcmCuLV8Xghe3UO85mjUtRAHRyoMM6XtyqbECaXuBWx18La3523sXINA=="
+    },
+    "rimraf": {
+      "version": "2.7.1",
+      "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz",
+      "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==",
+      "dev": true,
+      "requires": {
+        "glob": "^7.1.3"
+      }
+    },
+    "router": {
+      "version": "github:blakeembrey/router#5eb68560e91b302251ff17a70cd1b6af1fc36d30",
+      "from": "github:blakeembrey/router#router-engine",
+      "requires": {
+        "array-flatten": "2.0.0",
+        "debug": "^3.1.0",
+        "methods": "~1.1.2",
+        "parseurl": "~1.3.1",
+        "path-to-regexp": "0.1.7",
+        "setprototypeof": "1.0.0",
+        "utils-merge": "1.0.0"
+      },
+      "dependencies": {
+        "array-flatten": {
+          "version": "2.0.0",
+          "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.0.0.tgz",
+          "integrity": "sha1-JN2Ys4uRlLWbIIe6QMIThNa4qNw="
+        },
+        "debug": {
+          "version": "3.2.7",
+          "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz",
+          "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==",
+          "requires": {
+            "ms": "^2.1.1"
+          }
+        },
+        "ms": {
+          "version": "2.1.3",
+          "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
+          "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA=="
+        },
+        "setprototypeof": {
+          "version": "1.0.0",
+          "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.0.0.tgz",
+          "integrity": "sha1-1fr8oB4RdNAHm9G/iB8JyKM5eUw="
+        },
+        "utils-merge": {
+          "version": "1.0.0",
+          "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.0.tgz",
+          "integrity": "sha1-ApT7kiu5N1FTVBxPcJYjHyh8ivg="
+        }
+      }
+    },
+    "safe-buffer": {
+      "version": "5.1.2",
+      "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
+      "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
+    },
+    "safer-buffer": {
+      "version": "2.1.2",
+      "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
+      "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
+    },
+    "sax": {
+      "version": "1.2.4",
+      "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz",
+      "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw=="
+    },
+    "semver": {
+      "version": "5.7.1",
+      "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
+      "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ=="
+    },
+    "send": {
+      "version": "0.17.1",
+      "resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz",
+      "integrity": "sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==",
+      "requires": {
+        "debug": "2.6.9",
+        "depd": "~1.1.2",
+        "destroy": "~1.0.4",
+        "encodeurl": "~1.0.2",
+        "escape-html": "~1.0.3",
+        "etag": "~1.8.1",
+        "fresh": "0.5.2",
+        "http-errors": "~1.7.2",
+        "mime": "1.6.0",
+        "ms": "2.1.1",
+        "on-finished": "~2.3.0",
+        "range-parser": "~1.2.1",
+        "statuses": "~1.5.0"
+      },
+      "dependencies": {
+        "ms": {
+          "version": "2.1.1",
+          "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz",
+          "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg=="
+        }
+      }
+    },
+    "sentence-case": {
+      "version": "3.0.4",
+      "resolved": "https://registry.npmjs.org/sentence-case/-/sentence-case-3.0.4.tgz",
+      "integrity": "sha512-8LS0JInaQMCRoQ7YUytAo/xUu5W2XnQxV2HI/6uM6U7CITS1RqPElr30V6uIqyMKM9lJGRVFy5/4CuzcixNYSg==",
+      "dev": true,
+      "requires": {
+        "no-case": "^3.0.4",
+        "tslib": "^2.0.3",
+        "upper-case-first": "^2.0.2"
+      }
+    },
+    "serve-static": {
+      "version": "1.14.1",
+      "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz",
+      "integrity": "sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==",
+      "requires": {
+        "encodeurl": "~1.0.2",
+        "escape-html": "~1.0.3",
+        "parseurl": "~1.3.3",
+        "send": "0.17.1"
+      }
+    },
+    "set-blocking": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz",
+      "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc="
+    },
+    "setprototypeof": {
+      "version": "1.1.1",
+      "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz",
+      "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw=="
+    },
+    "shelljs": {
+      "version": "0.8.4",
+      "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.4.tgz",
+      "integrity": "sha512-7gk3UZ9kOfPLIAbslLzyWeGiEqx9e3rxwZM0KE6EL8GlGwjym9Mrlx5/p33bWTu9YG6vcS4MBxYZDHYr5lr8BQ==",
+      "dev": true,
+      "requires": {
+        "glob": "^7.0.0",
+        "interpret": "^1.0.0",
+        "rechoir": "^0.6.2"
+      }
+    },
+    "sigmund": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.1.tgz",
+      "integrity": "sha1-P/IfGYytIXX587eBhT/ZTQ0ZtZA=",
+      "dev": true
+    },
+    "signal-exit": {
+      "version": "3.0.3",
+      "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz",
+      "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==",
+      "dev": true
+    },
+    "simple-swizzle": {
+      "version": "0.2.2",
+      "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz",
+      "integrity": "sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo=",
+      "dev": true,
+      "requires": {
+        "is-arrayish": "^0.3.1"
+      },
+      "dependencies": {
+        "is-arrayish": {
+          "version": "0.3.2",
+          "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz",
+          "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==",
+          "dev": true
+        }
+      }
+    },
+    "snake-case": {
+      "version": "3.0.4",
+      "resolved": "https://registry.npmjs.org/snake-case/-/snake-case-3.0.4.tgz",
+      "integrity": "sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg==",
+      "dev": true,
+      "requires": {
+        "dot-case": "^3.0.4",
+        "tslib": "^2.0.3"
+      }
+    },
+    "source-map": {
+      "version": "0.6.1",
+      "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+      "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+      "dev": true
+    },
+    "source-map-support": {
+      "version": "0.5.19",
+      "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz",
+      "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==",
+      "dev": true,
+      "requires": {
+        "buffer-from": "^1.0.0",
+        "source-map": "^0.6.0"
+      }
+    },
+    "spawn-wrap": {
+      "version": "1.4.3",
+      "resolved": "https://registry.npmjs.org/spawn-wrap/-/spawn-wrap-1.4.3.tgz",
+      "integrity": "sha512-IgB8md0QW/+tWqcavuFgKYR/qIRvJkRLPJDFaoXtLLUaVcCDK0+HeFTkmQHj3eprcYhc+gOl0aEA1w7qZlYezw==",
+      "dev": true,
+      "requires": {
+        "foreground-child": "^1.5.6",
+        "mkdirp": "^0.5.0",
+        "os-homedir": "^1.0.1",
+        "rimraf": "^2.6.2",
+        "signal-exit": "^3.0.2",
+        "which": "^1.3.0"
+      }
+    },
+    "spdx-correct": {
+      "version": "3.1.1",
+      "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz",
+      "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==",
+      "requires": {
+        "spdx-expression-parse": "^3.0.0",
+        "spdx-license-ids": "^3.0.0"
+      }
+    },
+    "spdx-exceptions": {
+      "version": "2.3.0",
+      "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz",
+      "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A=="
+    },
+    "spdx-expression-parse": {
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz",
+      "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==",
+      "requires": {
+        "spdx-exceptions": "^2.1.0",
+        "spdx-license-ids": "^3.0.0"
+      }
+    },
+    "spdx-license-ids": {
+      "version": "3.0.7",
+      "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.7.tgz",
+      "integrity": "sha512-U+MTEOO0AiDzxwFvoa4JVnMV6mZlJKk2sBLt90s7G0Gd0Mlknc7kxEn3nuDPNZRta7O2uy8oLcZLVT+4sqNZHQ=="
+    },
+    "split2": {
+      "version": "3.2.2",
+      "resolved": "https://registry.npmjs.org/split2/-/split2-3.2.2.tgz",
+      "integrity": "sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg==",
+      "requires": {
+        "readable-stream": "^3.0.0"
+      },
+      "dependencies": {
+        "readable-stream": {
+          "version": "3.6.0",
+          "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
+          "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
+          "requires": {
+            "inherits": "^2.0.3",
+            "string_decoder": "^1.1.1",
+            "util-deprecate": "^1.0.1"
+          }
+        },
+        "safe-buffer": {
+          "version": "5.2.1",
+          "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
+          "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ=="
+        },
+        "string_decoder": {
+          "version": "1.3.0",
+          "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz",
+          "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==",
+          "requires": {
+            "safe-buffer": "~5.2.0"
+          }
+        }
+      }
+    },
+    "sprintf-js": {
+      "version": "1.0.3",
+      "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
+      "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw="
+    },
+    "standard-headers": {
+      "version": "0.1.1",
+      "resolved": "https://registry.npmjs.org/standard-headers/-/standard-headers-0.1.1.tgz",
+      "integrity": "sha1-9/K6xKFq4S/Dn/aoTkwjukq+T7k="
+    },
+    "statuses": {
+      "version": "1.5.0",
+      "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz",
+      "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow="
+    },
+    "stream-equal": {
+      "version": "0.1.13",
+      "resolved": "https://registry.npmjs.org/stream-equal/-/stream-equal-0.1.13.tgz",
+      "integrity": "sha1-F8LXz43lVw0P+5njpRQqWMdrxK4=",
+      "requires": {
+        "@types/node": "*"
+      }
+    },
+    "stream-shift": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz",
+      "integrity": "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ=="
+    },
+    "streamroller": {
+      "version": "2.2.4",
+      "resolved": "https://registry.npmjs.org/streamroller/-/streamroller-2.2.4.tgz",
+      "integrity": "sha512-OG79qm3AujAM9ImoqgWEY1xG4HX+Lw+yY6qZj9R1K2mhF5bEmQ849wvrb+4vt4jLMLzwXttJlQbOdPOQVRv7DQ==",
+      "requires": {
+        "date-format": "^2.1.0",
+        "debug": "^4.1.1",
+        "fs-extra": "^8.1.0"
+      },
+      "dependencies": {
+        "debug": {
+          "version": "4.3.1",
+          "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz",
+          "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==",
+          "requires": {
+            "ms": "2.1.2"
+          }
+        },
+        "ms": {
+          "version": "2.1.2",
+          "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+          "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
+        }
+      }
+    },
+    "streamsearch": {
+      "version": "0.1.2",
+      "resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-0.1.2.tgz",
+      "integrity": "sha1-gIudDlb8Jz2Am6VzOOkpkZoanxo="
+    },
+    "string-width": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
+      "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
+      "requires": {
+        "code-point-at": "^1.0.0",
+        "is-fullwidth-code-point": "^1.0.0",
+        "strip-ansi": "^3.0.0"
+      }
+    },
+    "string.prototype.trimend": {
+      "version": "1.0.3",
+      "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.3.tgz",
+      "integrity": "sha512-ayH0pB+uf0U28CtjlLvL7NaohvR1amUvVZk+y3DYb0Ey2PUV5zPkkKy9+U1ndVEIXO8hNg18eIv9Jntbii+dKw==",
+      "dev": true,
+      "requires": {
+        "call-bind": "^1.0.0",
+        "define-properties": "^1.1.3"
+      }
+    },
+    "string.prototype.trimstart": {
+      "version": "1.0.3",
+      "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.3.tgz",
+      "integrity": "sha512-oBIBUy5lea5tt0ovtOFiEQaBkoBBkyJhZXzJYrSmDo5IUUqbOPvVezuRs/agBIdZ2p2Eo1FD6bD9USyBLfl3xg==",
+      "dev": true,
+      "requires": {
+        "call-bind": "^1.0.0",
+        "define-properties": "^1.1.3"
+      }
+    },
+    "string_decoder": {
+      "version": "0.10.31",
+      "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
+      "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ="
+    },
+    "strip-ansi": {
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
+      "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
+      "requires": {
+        "ansi-regex": "^2.0.0"
+      }
+    },
+    "strip-bom": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz",
+      "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=",
+      "requires": {
+        "is-utf8": "^0.2.0"
+      }
+    },
+    "strip-json-comments": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz",
+      "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=",
+      "dev": true
+    },
+    "superagent": {
+      "version": "3.8.3",
+      "resolved": "https://registry.npmjs.org/superagent/-/superagent-3.8.3.tgz",
+      "integrity": "sha512-GLQtLMCoEIK4eDv6OGtkOoSMt3D+oq0y3dsxMuYuDvaNUvuT8eFBuLmfR0iYYzHC1e8hpzC6ZsxbuP6DIalMFA==",
+      "dev": true,
+      "requires": {
+        "component-emitter": "^1.2.0",
+        "cookiejar": "^2.1.0",
+        "debug": "^3.1.0",
+        "extend": "^3.0.0",
+        "form-data": "^2.3.1",
+        "formidable": "^1.2.0",
+        "methods": "^1.1.1",
+        "mime": "^1.4.1",
+        "qs": "^6.5.1",
+        "readable-stream": "^2.3.5"
+      },
+      "dependencies": {
+        "debug": {
+          "version": "3.2.7",
+          "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz",
+          "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==",
+          "dev": true,
+          "requires": {
+            "ms": "^2.1.1"
+          }
+        },
+        "form-data": {
+          "version": "2.5.1",
+          "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.5.1.tgz",
+          "integrity": "sha512-m21N3WOmEEURgk6B9GLOE4RuWOFf28Lhh9qGYeNlGq4VDXUlJy2th2slBNU8Gp8EzloYZOibZJ7t5ecIrFSjVA==",
+          "dev": true,
+          "requires": {
+            "asynckit": "^0.4.0",
+            "combined-stream": "^1.0.6",
+            "mime-types": "^2.1.12"
+          }
+        },
+        "isarray": {
+          "version": "1.0.0",
+          "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
+          "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
+          "dev": true
+        },
+        "ms": {
+          "version": "2.1.3",
+          "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
+          "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
+          "dev": true
+        },
+        "readable-stream": {
+          "version": "2.3.7",
+          "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
+          "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
+          "dev": true,
+          "requires": {
+            "core-util-is": "~1.0.0",
+            "inherits": "~2.0.3",
+            "isarray": "~1.0.0",
+            "process-nextick-args": "~2.0.0",
+            "safe-buffer": "~5.1.1",
+            "string_decoder": "~1.1.1",
+            "util-deprecate": "~1.0.1"
+          }
+        },
+        "string_decoder": {
+          "version": "1.1.1",
+          "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
+          "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
+          "dev": true,
+          "requires": {
+            "safe-buffer": "~5.1.0"
+          }
+        }
+      }
+    },
+    "supertest": {
+      "version": "4.0.2",
+      "resolved": "https://registry.npmjs.org/supertest/-/supertest-4.0.2.tgz",
+      "integrity": "sha512-1BAbvrOZsGA3YTCWqbmh14L0YEq0EGICX/nBnfkfVJn7SrxQV1I3pMYjSzG9y/7ZU2V9dWqyqk2POwxlb09duQ==",
+      "dev": true,
+      "requires": {
+        "methods": "^1.1.2",
+        "superagent": "^3.8.3"
+      }
+    },
+    "supports-color": {
+      "version": "6.0.0",
+      "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.0.0.tgz",
+      "integrity": "sha512-on9Kwidc1IUQo+bQdhi8+Tijpo0e1SS6RoGo2guUwn5vdaxw8RXOF9Vb2ws+ihWOmh4JnCJOvaziZWP1VABaLg==",
+      "dev": true,
+      "requires": {
+        "has-flag": "^3.0.0"
+      }
+    },
+    "test-exclude": {
+      "version": "5.2.3",
+      "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-5.2.3.tgz",
+      "integrity": "sha512-M+oxtseCFO3EDtAaGH7iiej3CBkzXqFMbzqYAACdzKui4eZA+pq3tZEwChvOdNfa7xxy8BfbmgJSIr43cC/+2g==",
+      "dev": true,
+      "requires": {
+        "glob": "^7.1.3",
+        "minimatch": "^3.0.4",
+        "read-pkg-up": "^4.0.0",
+        "require-main-filename": "^2.0.0"
+      },
+      "dependencies": {
+        "find-up": {
+          "version": "3.0.0",
+          "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz",
+          "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==",
+          "dev": true,
+          "requires": {
+            "locate-path": "^3.0.0"
+          }
+        },
+        "load-json-file": {
+          "version": "4.0.0",
+          "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz",
+          "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=",
+          "dev": true,
+          "requires": {
+            "graceful-fs": "^4.1.2",
+            "parse-json": "^4.0.0",
+            "pify": "^3.0.0",
+            "strip-bom": "^3.0.0"
+          }
+        },
+        "parse-json": {
+          "version": "4.0.0",
+          "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz",
+          "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=",
+          "dev": true,
+          "requires": {
+            "error-ex": "^1.3.1",
+            "json-parse-better-errors": "^1.0.1"
+          }
+        },
+        "path-type": {
+          "version": "3.0.0",
+          "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz",
+          "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==",
+          "dev": true,
+          "requires": {
+            "pify": "^3.0.0"
+          }
+        },
+        "pify": {
+          "version": "3.0.0",
+          "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz",
+          "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=",
+          "dev": true
+        },
+        "read-pkg": {
+          "version": "3.0.0",
+          "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz",
+          "integrity": "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=",
+          "dev": true,
+          "requires": {
+            "load-json-file": "^4.0.0",
+            "normalize-package-data": "^2.3.2",
+            "path-type": "^3.0.0"
+          }
+        },
+        "read-pkg-up": {
+          "version": "4.0.0",
+          "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-4.0.0.tgz",
+          "integrity": "sha512-6etQSH7nJGsK0RbG/2TeDzZFa8shjQ1um+SwQQ5cwKy0dhSXdOncEhb1CPpvQG4h7FyOV6EB6YlV0yJvZQNAkA==",
+          "dev": true,
+          "requires": {
+            "find-up": "^3.0.0",
+            "read-pkg": "^3.0.0"
+          }
+        },
+        "require-main-filename": {
+          "version": "2.0.0",
+          "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz",
+          "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==",
+          "dev": true
+        },
+        "strip-bom": {
+          "version": "3.0.0",
+          "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz",
+          "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=",
+          "dev": true
+        }
+      }
+    },
+    "text-hex": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/text-hex/-/text-hex-1.0.0.tgz",
+      "integrity": "sha512-uuVGNWzgJ4yhRaNSiubPY7OjISw4sw4E5Uv0wbjp+OzcbmVU/rsT8ujgcXJhn9ypzsgr5vlzpPqP+MBBKcGvbg==",
+      "dev": true
+    },
+    "text-table": {
+      "version": "0.2.0",
+      "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz",
+      "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=",
+      "dev": true
+    },
+    "timed-out": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/timed-out/-/timed-out-2.0.0.tgz",
+      "integrity": "sha1-84sK6B03R9YoAB9B2vxlKs5nHAo="
+    },
+    "timers-ext": {
+      "version": "0.1.7",
+      "resolved": "https://registry.npmjs.org/timers-ext/-/timers-ext-0.1.7.tgz",
+      "integrity": "sha512-b85NUNzTSdodShTIbky6ZF02e8STtVVfD+fu4aXXShEELpozH+bCpJLYMPZbsABN2wDH7fJpqIoXxJpzbf0NqQ==",
+      "dev": true,
+      "requires": {
+        "es5-ext": "~0.10.46",
+        "next-tick": "1"
+      }
+    },
+    "to-fast-properties": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz",
+      "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=",
+      "dev": true
+    },
+    "to-regex-range": {
+      "version": "5.0.1",
+      "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
+      "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
+      "dev": true,
+      "optional": true,
+      "requires": {
+        "is-number": "^7.0.0"
+      }
+    },
+    "toidentifier": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz",
+      "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw=="
+    },
+    "ts-model": {
+      "version": "0.0.18",
+      "resolved": "https://registry.npmjs.org/ts-model/-/ts-model-0.0.18.tgz",
+      "integrity": "sha512-wIBuWYxYES3m0JNT8nnPTo3GgH+Xa2NGig2GWGGTryMVPiME/Tg5DQrcydBfLjf/cWcPMn9uxgANiQWaGTyFDg==",
+      "dev": true,
+      "requires": {
+        "underscore": "1.9.1"
+      },
+      "dependencies": {
+        "underscore": {
+          "version": "1.9.1",
+          "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.9.1.tgz",
+          "integrity": "sha512-5/4etnCkd9c8gwgowi5/om/mYO5ajCaOgdzj/oW+0eQV9WxKBDZw5+ycmKmeaTXjInS/W0BzpGLo2xR2aBwZdg==",
+          "dev": true
+        }
+      }
+    },
+    "ts-node": {
+      "version": "8.10.2",
+      "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-8.10.2.tgz",
+      "integrity": "sha512-ISJJGgkIpDdBhWVu3jufsWpK3Rzo7bdiIXJjQc0ynKxVOVcg2oIrf2H2cejminGrptVc6q6/uynAHNCuWGbpVA==",
+      "dev": true,
+      "requires": {
+        "arg": "^4.1.0",
+        "diff": "^4.0.1",
+        "make-error": "^1.1.1",
+        "source-map-support": "^0.5.17",
+        "yn": "3.1.1"
+      }
+    },
+    "ts-structure-model": {
+      "version": "0.0.1",
+      "resolved": "https://registry.npmjs.org/ts-structure-model/-/ts-structure-model-0.0.1.tgz",
+      "integrity": "sha512-7hqYQx4kPWUkJXTVsZe++1IMd63jZAjW6O00+kHJf9/DcNaxCJxNjsQhLVcC57HZhK4SUPSxMZd+AnGrLA6Itw==",
+      "dev": true
+    },
+    "tslib": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.1.0.tgz",
+      "integrity": "sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A==",
+      "dev": true
+    },
+    "tslint": {
+      "version": "5.20.1",
+      "resolved": "https://registry.npmjs.org/tslint/-/tslint-5.20.1.tgz",
+      "integrity": "sha512-EcMxhzCFt8k+/UP5r8waCf/lzmeSyVlqxqMEDQE7rWYiQky8KpIBz1JAoYXfROHrPZ1XXd43q8yQnULOLiBRQg==",
+      "dev": true,
+      "requires": {
+        "@babel/code-frame": "^7.0.0",
+        "builtin-modules": "^1.1.1",
+        "chalk": "^2.3.0",
+        "commander": "^2.12.1",
+        "diff": "^4.0.1",
+        "glob": "^7.1.1",
+        "js-yaml": "^3.13.1",
+        "minimatch": "^3.0.4",
+        "mkdirp": "^0.5.1",
+        "resolve": "^1.3.2",
+        "semver": "^5.3.0",
+        "tslib": "^1.8.0",
+        "tsutils": "^2.29.0"
+      },
+      "dependencies": {
+        "tslib": {
+          "version": "1.14.1",
+          "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
+          "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==",
+          "dev": true
+        }
+      }
+    },
+    "tslint-stylish": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/tslint-stylish/-/tslint-stylish-2.1.0.tgz",
+      "integrity": "sha1-jNo8OMnKtU57It989CuO8RXc2V8=",
+      "dev": true,
+      "requires": {
+        "chalk": "^1.1.1",
+        "lodash": "^3.10.1",
+        "log-symbols": "^1.0.2",
+        "text-table": "^0.2.0",
+        "tslint": "^2.5.0"
+      },
+      "dependencies": {
+        "ansi-styles": {
+          "version": "2.2.1",
+          "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
+          "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=",
+          "dev": true
+        },
+        "chalk": {
+          "version": "1.1.3",
+          "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
+          "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
+          "dev": true,
+          "requires": {
+            "ansi-styles": "^2.2.1",
+            "escape-string-regexp": "^1.0.2",
+            "has-ansi": "^2.0.0",
+            "strip-ansi": "^3.0.0",
+            "supports-color": "^2.0.0"
+          }
+        },
+        "lodash": {
+          "version": "3.10.1",
+          "resolved": "https://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz",
+          "integrity": "sha1-W/Rejkm6QYnhfUgnid/RW9FAt7Y=",
+          "dev": true
+        },
+        "log-symbols": {
+          "version": "1.0.2",
+          "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-1.0.2.tgz",
+          "integrity": "sha1-N2/3tY6jCGoPCfrMdGF+ylAeGhg=",
+          "dev": true,
+          "requires": {
+            "chalk": "^1.0.0"
+          }
+        },
+        "supports-color": {
+          "version": "2.0.0",
+          "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
+          "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
+          "dev": true
+        },
+        "tslint": {
+          "version": "2.5.1",
+          "resolved": "https://registry.npmjs.org/tslint/-/tslint-2.5.1.tgz",
+          "integrity": "sha1-veTJnpfNXRxvuzAz9kt9iX/UGpI=",
+          "dev": true,
+          "requires": {
+            "findup-sync": "~0.2.1",
+            "optimist": "~0.6.0",
+            "underscore.string": "~3.1.1"
+          }
+        }
+      }
+    },
+    "tsscmp": {
+      "version": "1.0.6",
+      "resolved": "https://registry.npmjs.org/tsscmp/-/tsscmp-1.0.6.tgz",
+      "integrity": "sha512-LxhtAkPDTkVCMQjt2h6eBVY28KCjikZqZfMcC15YBeNjkgUpdCfBu5HoiOTDu86v6smE8yOjyEktJ8hlbANHQA=="
+    },
+    "tsutils": {
+      "version": "2.29.0",
+      "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-2.29.0.tgz",
+      "integrity": "sha512-g5JVHCIJwzfISaXpXE1qvNalca5Jwob6FjI4AoPlqMusJ6ftFE7IkkFoMhVLRgK+4Kx3gkzb8UZK5t5yTTvEmA==",
+      "dev": true,
+      "requires": {
+        "tslib": "^1.8.1"
+      },
+      "dependencies": {
+        "tslib": {
+          "version": "1.14.1",
+          "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
+          "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==",
+          "dev": true
+        }
+      }
+    },
+    "type": {
+      "version": "1.2.0",
+      "resolved": "https://registry.npmjs.org/type/-/type-1.2.0.tgz",
+      "integrity": "sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==",
+      "dev": true
+    },
+    "type-detect": {
+      "version": "4.0.8",
+      "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz",
+      "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==",
+      "dev": true
+    },
+    "type-is": {
+      "version": "1.6.18",
+      "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz",
+      "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==",
+      "requires": {
+        "media-typer": "0.3.0",
+        "mime-types": "~2.1.24"
+      }
+    },
+    "typedoc": {
+      "version": "0.15.8",
+      "resolved": "https://registry.npmjs.org/typedoc/-/typedoc-0.15.8.tgz",
+      "integrity": "sha512-a0zypcvfIFsS7Gqpf2MkC1+jNND3K1Om38pbDdy/gYWX01NuJZhC5+O0HkIp0oRIZOo7PWrA5+fC24zkANY28Q==",
+      "dev": true,
+      "requires": {
+        "@types/minimatch": "3.0.3",
+        "fs-extra": "^8.1.0",
+        "handlebars": "^4.7.0",
+        "highlight.js": "^9.17.1",
+        "lodash": "^4.17.15",
+        "marked": "^0.8.0",
+        "minimatch": "^3.0.0",
+        "progress": "^2.0.3",
+        "shelljs": "^0.8.3",
+        "typedoc-default-themes": "^0.6.3",
+        "typescript": "3.7.x"
+      },
+      "dependencies": {
+        "marked": {
+          "version": "0.8.2",
+          "resolved": "https://registry.npmjs.org/marked/-/marked-0.8.2.tgz",
+          "integrity": "sha512-EGwzEeCcLniFX51DhTpmTom+dSA/MG/OBUDjnWtHbEnjAH180VzUeAw+oE4+Zv+CoYBWyRlYOTR0N8SO9R1PVw==",
+          "dev": true
+        },
+        "typescript": {
+          "version": "3.7.5",
+          "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.7.5.tgz",
+          "integrity": "sha512-/P5lkRXkWHNAbcJIiHPfRoKqyd7bsyCma1hZNUGfn20qm64T6ZBlrzprymeu918H+mB/0rIg2gGK/BXkhhYgBw==",
+          "dev": true
+        }
+      }
+    },
+    "typedoc-default-themes": {
+      "version": "0.6.3",
+      "resolved": "https://registry.npmjs.org/typedoc-default-themes/-/typedoc-default-themes-0.6.3.tgz",
+      "integrity": "sha512-rouf0TcIA4M2nOQFfC7Zp4NEwoYiEX4vX/ZtudJWU9IHA29MPC+PPgSXYLPESkUo7FuB//GxigO3mk9Qe1xp3Q==",
+      "dev": true,
+      "requires": {
+        "backbone": "^1.4.0",
+        "jquery": "^3.4.1",
+        "lunr": "^2.3.8",
+        "underscore": "^1.9.1"
+      }
+    },
+    "typescript": {
+      "version": "3.9.7",
+      "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.9.7.tgz",
+      "integrity": "sha512-BLbiRkiBzAwsjut4x/dsibSTB6yWpwT5qWmC2OfuCg3GgVQCSgMs4vEctYPhsaGtd0AeuuHMkjZ2h2WG8MSzRw==",
+      "dev": true
+    },
+    "uglify-js": {
+      "version": "3.12.4",
+      "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.12.4.tgz",
+      "integrity": "sha512-L5i5jg/SHkEqzN18gQMTWsZk3KelRsfD1wUVNqtq0kzqWQqcJjyL8yc1o8hJgRrWqrAl2mUFbhfznEIoi7zi2A==",
+      "dev": true,
+      "optional": true
+    },
+    "uid2": {
+      "version": "0.0.3",
+      "resolved": "https://registry.npmjs.org/uid2/-/uid2-0.0.3.tgz",
+      "integrity": "sha1-SDEm4Rd03y9xuLY53NeZw3YWK4I="
+    },
+    "underscore": {
+      "version": "1.12.0",
+      "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.12.0.tgz",
+      "integrity": "sha512-21rQzss/XPMjolTiIezSu3JAjgagXKROtNrYFEOWK109qY1Uv2tVjPTZ1ci2HgvQDA16gHYSthQIJfB+XId/rQ=="
+    },
+    "underscore.string": {
+      "version": "3.1.1",
+      "resolved": "https://registry.npmjs.org/underscore.string/-/underscore.string-3.1.1.tgz",
+      "integrity": "sha1-DN1rytDARv12Y9MF2KeFtdoQ8zU=",
+      "dev": true
+    },
+    "universalify": {
+      "version": "0.1.2",
+      "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz",
+      "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg=="
+    },
+    "unpipe": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz",
+      "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw="
+    },
+    "upper-case": {
+      "version": "2.0.2",
+      "resolved": "https://registry.npmjs.org/upper-case/-/upper-case-2.0.2.tgz",
+      "integrity": "sha512-KgdgDGJt2TpuwBUIjgG6lzw2GWFRCW9Qkfkiv0DxqHHLYJHmtmdUIKcZd8rHgFSjopVTlw6ggzCm1b8MFQwikg==",
+      "dev": true,
+      "requires": {
+        "tslib": "^2.0.3"
+      }
+    },
+    "upper-case-first": {
+      "version": "2.0.2",
+      "resolved": "https://registry.npmjs.org/upper-case-first/-/upper-case-first-2.0.2.tgz",
+      "integrity": "sha512-514ppYHBaKwfJRK/pNC6c/OxfGa0obSnAl106u97Ed0I625Nin96KAjttZF6ZL3e1XLtphxnqrOi9iWgm+u+bg==",
+      "dev": true,
+      "requires": {
+        "tslib": "^2.0.3"
+      }
+    },
+    "uritemplate": {
+      "version": "0.3.4",
+      "resolved": "https://registry.npmjs.org/uritemplate/-/uritemplate-0.3.4.tgz",
+      "integrity": "sha1-BdCoU/+8iw9Jqj1NKtd3sNHuBww="
+    },
+    "urlsafe-base64": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/urlsafe-base64/-/urlsafe-base64-1.0.0.tgz",
+      "integrity": "sha1-I/iQaabGL0bPOh07ABac77kL4MY=",
+      "dev": true
+    },
+    "util-deprecate": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
+      "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8="
+    },
+    "utils-merge": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz",
+      "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM="
+    },
+    "uuid": {
+      "version": "3.4.0",
+      "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz",
+      "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==",
+      "dev": true
+    },
+    "validate-npm-package-license": {
+      "version": "3.0.4",
+      "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz",
+      "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==",
+      "requires": {
+        "spdx-correct": "^3.0.0",
+        "spdx-expression-parse": "^3.0.0"
+      }
+    },
+    "validator": {
+      "version": "10.11.0",
+      "resolved": "https://registry.npmjs.org/validator/-/validator-10.11.0.tgz",
+      "integrity": "sha512-X/p3UZerAIsbBfN/IwahhYaBbY68EN/UQBWHtsbXGT5bfrH/p4NQzUCG1kF/rtKaNpnJ7jAu6NGTdSNtyNIXMw=="
+    },
+    "vary": {
+      "version": "1.1.2",
+      "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz",
+      "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw="
+    },
+    "which": {
+      "version": "1.3.1",
+      "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
+      "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
+      "dev": true,
+      "requires": {
+        "isexe": "^2.0.0"
+      }
+    },
+    "which-module": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/which-module/-/which-module-1.0.0.tgz",
+      "integrity": "sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8="
+    },
+    "wide-align": {
+      "version": "1.1.3",
+      "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz",
+      "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==",
+      "dev": true,
+      "requires": {
+        "string-width": "^1.0.2 || 2"
+      }
+    },
+    "window-size": {
+      "version": "0.2.0",
+      "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.2.0.tgz",
+      "integrity": "sha1-tDFbtCFKPXBY6+7okuE/ok2YsHU="
+    },
+    "wordwrap": {
+      "version": "0.0.3",
+      "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz",
+      "integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc=",
+      "dev": true
+    },
+    "wrap-ansi": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz",
+      "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=",
+      "requires": {
+        "string-width": "^1.0.1",
+        "strip-ansi": "^3.0.1"
+      }
+    },
+    "wrappy": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
+      "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8="
+    },
+    "write-file-atomic": {
+      "version": "2.4.3",
+      "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.4.3.tgz",
+      "integrity": "sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ==",
+      "dev": true,
+      "requires": {
+        "graceful-fs": "^4.1.11",
+        "imurmurhash": "^0.1.4",
+        "signal-exit": "^3.0.2"
+      }
+    },
+    "xhr2": {
+      "version": "0.2.0",
+      "resolved": "https://registry.npmjs.org/xhr2/-/xhr2-0.2.0.tgz",
+      "integrity": "sha512-BDtiD0i2iKPK/S8OAZfpk6tyzEDnKKSjxWHcMBVmh+LuqJ8A32qXTyOx+TVOg2dKvq6zGBq2sgKPkEeRs1qTRA==",
+      "dev": true
+    },
+    "xml2js": {
+      "version": "0.4.23",
+      "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.23.tgz",
+      "integrity": "sha512-ySPiMjM0+pLDftHgXY4By0uswI3SPKLDw/i3UXbnO8M/p28zqexCUoPmQFrYD+/1BzhGJSs2i1ERWKJAtiLrug==",
+      "requires": {
+        "sax": ">=0.6.0",
+        "xmlbuilder": "~11.0.0"
+      }
+    },
+    "xmlbuilder": {
+      "version": "11.0.1",
+      "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-11.0.1.tgz",
+      "integrity": "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA=="
+    },
+    "xmldom-alpha": {
+      "version": "0.1.28",
+      "resolved": "https://registry.npmjs.org/xmldom-alpha/-/xmldom-alpha-0.1.28.tgz",
+      "integrity": "sha1-ToRR2N9Ne7MDuq4L3ngwYvnT1gA="
+    },
+    "xmlhttprequest": {
+      "version": "1.8.0",
+      "resolved": "https://registry.npmjs.org/xmlhttprequest/-/xmlhttprequest-1.8.0.tgz",
+      "integrity": "sha1-Z/4HXFwk/vOfnWX197f+dRcZaPw=",
+      "dev": true
+    },
+    "xmllint-jsparser": {
+      "version": "0.0.3",
+      "resolved": "https://registry.npmjs.org/xmllint-jsparser/-/xmllint-jsparser-0.0.3.tgz",
+      "integrity": "sha1-aLBRNDkX2pX3e3oMeg+7QAF142Y=",
+      "optional": true
+    },
+    "xtend": {
+      "version": "4.0.2",
+      "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz",
+      "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ=="
+    },
+    "y18n": {
+      "version": "3.2.2",
+      "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.2.tgz",
+      "integrity": "sha512-uGZHXkHnhF0XeeAPgnKfPv1bgKAYyVvmNL1xlKsPYZPaIHxGti2hHqvOCQv71XMsLxu1QjergkqogUnms5D3YQ=="
+    },
+    "yallist": {
+      "version": "2.1.2",
+      "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz",
+      "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=",
+      "dev": true
+    },
+    "yaml-ast-parser": {
+      "version": "0.0.43",
+      "resolved": "https://registry.npmjs.org/yaml-ast-parser/-/yaml-ast-parser-0.0.43.tgz",
+      "integrity": "sha512-2PTINUwsRqSd+s8XxKaJWQlUuEMHJQyEuh2edBbW8KNJz0SJPwUSD2zRWqezFEdN7IzAgeuYHFUCF7o8zRdZ0A==",
+      "dev": true
+    },
+    "yargs": {
+      "version": "4.8.1",
+      "resolved": "https://registry.npmjs.org/yargs/-/yargs-4.8.1.tgz",
+      "integrity": "sha1-wMQpJMpKqmsObaFznfshZDn53cA=",
+      "requires": {
+        "cliui": "^3.2.0",
+        "decamelize": "^1.1.1",
+        "get-caller-file": "^1.0.1",
+        "lodash.assign": "^4.0.3",
+        "os-locale": "^1.4.0",
+        "read-pkg-up": "^1.0.1",
+        "require-directory": "^2.1.1",
+        "require-main-filename": "^1.0.1",
+        "set-blocking": "^2.0.0",
+        "string-width": "^1.0.1",
+        "which-module": "^1.0.0",
+        "window-size": "^0.2.0",
+        "y18n": "^3.2.1",
+        "yargs-parser": "^2.4.1"
+      }
+    },
+    "yargs-parser": {
+      "version": "2.4.1",
+      "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-2.4.1.tgz",
+      "integrity": "sha1-hVaN488VD/SfpRgl8DqMiA3cxcQ=",
+      "requires": {
+        "camelcase": "^3.0.0",
+        "lodash.assign": "^4.0.6"
+      }
+    },
+    "yargs-unparser": {
+      "version": "1.6.0",
+      "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-1.6.0.tgz",
+      "integrity": "sha512-W9tKgmSn0DpSatfri0nx52Joq5hVXgeLiqR/5G0sZNDoLZFOr/xjBUDcShCOGNsBnEMNo1KAMBkTej1Hm62HTw==",
+      "dev": true,
+      "requires": {
+        "flat": "^4.1.0",
+        "lodash": "^4.17.15",
+        "yargs": "^13.3.0"
+      },
+      "dependencies": {
+        "ansi-regex": {
+          "version": "4.1.0",
+          "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz",
+          "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==",
+          "dev": true
+        },
+        "camelcase": {
+          "version": "5.3.1",
+          "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz",
+          "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==",
+          "dev": true
+        },
+        "cliui": {
+          "version": "5.0.0",
+          "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz",
+          "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==",
+          "dev": true,
+          "requires": {
+            "string-width": "^3.1.0",
+            "strip-ansi": "^5.2.0",
+            "wrap-ansi": "^5.1.0"
+          }
+        },
+        "find-up": {
+          "version": "3.0.0",
+          "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz",
+          "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==",
+          "dev": true,
+          "requires": {
+            "locate-path": "^3.0.0"
+          }
+        },
+        "get-caller-file": {
+          "version": "2.0.5",
+          "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
+          "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==",
+          "dev": true
+        },
+        "is-fullwidth-code-point": {
+          "version": "2.0.0",
+          "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
+          "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
+          "dev": true
+        },
+        "require-main-filename": {
+          "version": "2.0.0",
+          "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz",
+          "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==",
+          "dev": true
+        },
+        "string-width": {
+          "version": "3.1.0",
+          "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz",
+          "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==",
+          "dev": true,
+          "requires": {
+            "emoji-regex": "^7.0.1",
+            "is-fullwidth-code-point": "^2.0.0",
+            "strip-ansi": "^5.1.0"
+          }
+        },
+        "strip-ansi": {
+          "version": "5.2.0",
+          "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz",
+          "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
+          "dev": true,
+          "requires": {
+            "ansi-regex": "^4.1.0"
+          }
+        },
+        "which-module": {
+          "version": "2.0.0",
+          "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz",
+          "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=",
+          "dev": true
+        },
+        "wrap-ansi": {
+          "version": "5.1.0",
+          "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz",
+          "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==",
+          "dev": true,
+          "requires": {
+            "ansi-styles": "^3.2.0",
+            "string-width": "^3.0.0",
+            "strip-ansi": "^5.0.0"
+          }
+        },
+        "y18n": {
+          "version": "4.0.1",
+          "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.1.tgz",
+          "integrity": "sha512-wNcy4NvjMYL8gogWWYAO7ZFWFfHcbdbE57tZO8e4cbpj8tfUcwrwqSl3ad8HxpYWCdXcJUCeKKZS62Av1affwQ==",
+          "dev": true
+        },
+        "yargs": {
+          "version": "13.3.2",
+          "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz",
+          "integrity": "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==",
+          "dev": true,
+          "requires": {
+            "cliui": "^5.0.0",
+            "find-up": "^3.0.0",
+            "get-caller-file": "^2.0.1",
+            "require-directory": "^2.1.1",
+            "require-main-filename": "^2.0.0",
+            "set-blocking": "^2.0.0",
+            "string-width": "^3.0.0",
+            "which-module": "^2.0.0",
+            "y18n": "^4.0.0",
+            "yargs-parser": "^13.1.2"
+          }
+        },
+        "yargs-parser": {
+          "version": "13.1.2",
+          "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz",
+          "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==",
+          "dev": true,
+          "requires": {
+            "camelcase": "^5.0.0",
+            "decamelize": "^1.2.0"
+          }
+        }
+      }
+    },
+    "yn": {
+      "version": "3.1.1",
+      "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz",
+      "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==",
+      "dev": true
+    },
+    "z-schema": {
+      "version": "3.21.0",
+      "resolved": "https://registry.npmjs.org/z-schema/-/z-schema-3.21.0.tgz",
+      "integrity": "sha512-+MXJmBRZvqn+LInpJBSSETK1XLQqyhKCCNqc7MY7FqiqWCTQddAahg5i0jlfX5dli7gvIfpJvijV3ZlAJRtZ1Q==",
+      "requires": {
+        "commander": "^2.7.1",
+        "lodash.get": "^4.0.0",
+        "lodash.isequal": "^4.0.0",
+        "validator": "^10.0.0"
+      }
+    }
+  }
+}
diff --git a/package.json b/package.json
index 32c49a8feccad31d6f03079bdb009ba2fd6d2fac..02b4389c7941724ccbebbd0e99765388526c9137 100644
--- a/package.json
+++ b/package.json
@@ -52,9 +52,7 @@
     "monetdb": "^1.1.4",
     "osprey": "^0.3.2",
     "pg": "^7.12.1",
-    "raml-parser": "^0.8.18",
-    "ts-node": "^8.3.0",
-    "typescript": "^3.5.3"
+    "raml-parser": "^0.8.18"
   },
   "devDependencies": {
     "@types/mocha": "^5.2.7",
@@ -64,12 +62,13 @@
     "nyc": "^14.1.1",
     "raml2html": "^7.4.0",
     "supertest": "^4.0.2",
+    "ts-node": "^8.10.2",
     "tslint": "^5.19.0",
     "tslint-stylish": "^2.1.0",
-    "typedoc": "^0.15.0"
+    "typedoc": "^0.15.0",
+    "typescript": "^3.9.7"
   },
   "engines": {
     "node": "^10.16.3"
   }
-  
 }
diff --git a/src/api/controllers/collect.ts b/src/api/controllers/collect.ts
index 3e0680885c8df42f2232e4e5f66bb61756dc5495..4939c3d9bc72c7dc8e699da9afa0e4b4f4530714 100644
--- a/src/api/controllers/collect.ts
+++ b/src/api/controllers/collect.ts
@@ -19,7 +19,7 @@
  */
 
 import * as express from "express";
-import { Request } from "../types";
+import Request from "../types";
 import { Source, Field } from "../../core/source";
 import { EnumType } from "../../core/enumType";
 import { DataType } from "../../common/types";
@@ -31,7 +31,7 @@ import { EnumHandler } from "../../util/enumHandler";
  * objetct is a valid object of that type
  * or false otherwise.
  */
-interface Valid{
+interface Valid {
     [key: string]: (value: any) => boolean;
 }
 
@@ -47,71 +47,64 @@ export class CollectCtrl {
      * @param next - Call next middleware or controller. Not used but required
      * by typescript definition of route.
      */
-    public static write(req: Request, res: express.Response, next: express.NextFunction) {
-
+    public static write(
+        req: Request,
+        res: express.Response,
+        next: express.NextFunction
+    ) {
         const validador: Valid = {
-            "integer": function(value: any) {
+            integer: function (value: any) {
                 let test = parseInt(value, 10);
-                if (test === undefined || isNaN(value) ) {
+                if (test === undefined || isNaN(value)) {
                     return false;
-                }
-
-                else {
+                } else {
                     return true;
                 }
             },
-            "float": function(value: any) {
+            float: function (value: any) {
                 let test = parseFloat(value);
-                if (test === undefined || isNaN(value) ) {
+                if (test === undefined || isNaN(value)) {
                     return false;
-                }
-
-                else {
+                } else {
                     return true;
                 }
             },
-            "string": function(value: any) {
-                let test = typeof(value);
+            string: function (value: any) {
+                let test = typeof value;
                 if (test === "string") {
                     return true;
-                }
-
-                else{
+                } else {
                     return false;
                 }
             },
-            "date": function(value: any) {
-
+            date: function (value: any) {
                 let test: string[] = [];
                 let date = new Date(value);
                 try {
                     test = date.toISOString().split("T");
-                }
-                catch (e) {
+                } catch (e) {
                     return false;
                 }
-                if (test[0] === value){
+                if (test[0] === value) {
                     return true;
-                }
-                else{
+                } else {
                     return false;
                 }
-
             },
-            "boolean": function(value: any) {
-                let test = typeof(value);
-                if(test === "boolean"){
+            boolean: function (value: any) {
+                let test = typeof value;
+                if (test === "boolean") {
                     return true;
-                }else{
+                } else {
                     let test: string = value;
                     test = test.toLocaleLowerCase();
-                    if (test === "true" || test === "false"){
+                    if (test === "true" || test === "false") {
                         return true;
-                    }else{
+                    } else {
                         return false;
                     }
                 }
-            }
+            },
         };
 
         let fields: Field[] = [];
@@ -127,76 +120,103 @@ export class CollectCtrl {
 
             fields = source.fields;
 
-            for (let i = 0; i < fields.length; i++){
+            for (let i = 0; i < fields.length; i++) {
                 data[i] = req.body[fields[i].name];
                 // check if the data is empty, however since data may be
                 // true/false, it must guarantee that it isn't a boolean
                 // then it'll test if it's empty
-                if (!(typeof(data[i]) === "boolean") && !data[i]){
-                    const message = "[Collect error] '" + fields[i].name + 
-                    "' is mandatory, but no data was received. Review the data sent."
+                if (!(typeof data[i] === "boolean") && !data[i]) {
+                    const message =
+                        "[Collect error] '" +
+                        fields[i].name +
+                        "' is mandatory, but no data was received. Review the data sent.";
                     throw new Error(message);
                 }
-                req.log.debug("Sucessfuly accepted the data: " + data[i] + " from source: ",source.name);
+                req.log.debug(
+                    "Sucessfuly accepted the data: " +
+                        data[i] +
+                        " from source: ",
+                    source.name
+                );
             }
 
-            for (let i = 0; i < fields.length; i++){
+            for (let i = 0; i < fields.length; i++) {
                 // check if it's a valid enumtype
-                if (fields[i].dataType === DataType.ENUMTYPE){
+                if (fields[i].dataType === DataType.ENUMTYPE) {
                     enumType = req.engine.getEnumTypeByName(fields[i].enumType);
                     types = enumType.values;
                     let found: boolean = false;
-                    for (let j = 0; j < types.length; j++){
-                        if (data[i] === types[j]){
-                        found = true;
-                        break;
+                    for (let j = 0; j < types.length; j++) {
+                        if (data[i] === types[j]) {
+                            found = true;
+                            break;
                         }
                     }
                     if (!found) {
-                        const message = "[Collect error] EnumType: '" +  data[i] + "' from '" + fields[i].name +
-                        "' isn't allowed on " + fields[i].enumType + 
-                        ". Review configuration files."                        
+                        const message =
+                            "[Collect error] EnumType: '" +
+                            data[i] +
+                            "' from '" +
+                            fields[i].name +
+                            "' isn't allowed on " +
+                            fields[i].enumType +
+                            ". Review configuration files.";
                         throw new Error(message);
                     }
-                }else if (!validador[EnumHandler.stringfyDataType(fields[i].dataType)](data[i]) === true){
-                        const message = "[Collect error] Datatype: '" +  data[i] + "' from '" + fields[i].name +
-                        "' could not be converted to type: " + [EnumHandler.stringfyDataType(fields[i].dataType)] +
-                        ". Review configuration files."
-                        throw new Error(message);
+                } else if (
+                    !validador[
+                        EnumHandler.stringfyDataType(fields[i].dataType)
+                    ](data[i]) === true
+                ) {
+                    const message =
+                        "[Collect error] Datatype: '" +
+                        data[i] +
+                        "' from '" +
+                        fields[i].name +
+                        "' could not be converted to type: " +
+                        [EnumHandler.stringfyDataType(fields[i].dataType)] +
+                        ". Review configuration files.";
+                    throw new Error(message);
                 }
-                req.log.debug("Sucessfuly accepted the enumType data: " + data[i] + " from source: ",source.name);
+                req.log.debug(
+                    "Sucessfuly accepted the enumType data: " +
+                        data[i] +
+                        " from source: ",
+                    source.name
+                );
             }
-        }
-
-        catch (e) {
-            const message = "Query execution failed: " +
-            "Could not construct query with the given parameters."
+        } catch (e) {
+            const message =
+                "Query execution failed: " +
+                "Could not construct query with the given parameters.";
             req.log.warn(message);
             res.status(500).json({
                 message: message,
-                error: e.message
-             });
+                error: e.message,
+            });
             return;
         }
 
-        req.adapter.insertIntoSource(source, req.body, (err: Error, result: any[]) => {
-            if (err) {
-                const message = "Insertion has failed";
-                req.log.error(message,err);
-                res.status(500).json({
-                    message: message,
-                    error: err
-                });
-                return;
-            }
-            else{
-                const message = "Data has been successfully received and stored by the server";
-                req.log.info(message);
-                res.status(200).json({message: message});
-                return;
+        req.adapter.insertIntoSource(
+            source,
+            req.body,
+            (err: Error, result: any[]) => {
+                if (err) {
+                    const message = "Insertion has failed";
+                    req.log.error(message, err);
+                    res.status(500).json({
+                        message: message,
+                        error: err,
+                    });
+                    return;
+                } else {
+                    const message =
+                        "Data has been successfully received and stored by the server";
+                    req.log.info(message);
+                    res.status(200).json({ message: message });
+                    return;
+                }
             }
-
-        });
-
+        );
     }
 }
diff --git a/src/api/controllers/data.ts b/src/api/controllers/data.ts
index 2dbd01b6d9bdf0775c02709f29029cff78f5d9ff..d332d0c4277b9b77be6d3ae96179d741c5c62c66 100644
--- a/src/api/controllers/data.ts
+++ b/src/api/controllers/data.ts
@@ -19,7 +19,7 @@
  */
 
 import * as express from "express";
-import { Request } from "../types";
+import Request from "../types";
 import { Query, QueryOpts } from "../../common/query";
 
 /**
@@ -34,34 +34,49 @@ export class DataCtrl {
      * @param next - Call next middleware or controller. Not used but required
      * by typescript definition of route.
      */
-    public static read(req: Request, res: express.Response, next: express.NextFunction) {
-        req.log.info("Query: ",req.query);
-        let metrics = req.query.metrics.split(",").filter((item: string) => item !== "");
-        let dimensions = req.query.dimensions.split(",").filter((item: string) => item !== "");
-        let clauses = [];
+    public static read(
+        req: Request,
+        res: express.Response,
+        next: express.NextFunction
+    ) {
+        req.log.info("Query: ", req.query);
+        let metrics = (<string>req.query.metrics)
+            .split(",")
+            .filter((item: string) => item !== "");
+        let dimensions = (<string>req.query.dimensions)
+            .split(",")
+            .filter((item: string) => item !== "");
+        let clauses: string[] = [];
+
         let sort: string[] = [];
         if (req.query.filters) {
-            clauses = req.query.filters.split(";").filter((item: string) => item !== "");
+            clauses = (<string>req.query.filters)
+                .split(";")
+                .filter((item: string) => item !== "");
         }
         if (req.query.sort) {
-            sort = req.query.sort.split(",").filter((item: string) => item !== "");
+            sort = (<string>req.query.sort)
+                .split(",")
+                .filter((item: string) => item !== "");
         }
         let format = "json";
         if (req.query.format) {
-            format = req.query.format;
+            format = <string>req.query.format;
         }
 
         let view;
 
         try {
-            const qOpt: QueryOpts = { metrics: [], dimensions: []};
+            const qOpt: QueryOpts = { metrics: [], dimensions: [] };
             let query = new Query(qOpt);
             for (let i = 0; i < metrics.length; ++i) {
                 query.metrics.push(req.engine.getMetricByName(metrics[i]));
             }
 
             for (let i = 0; i < dimensions.length; ++i) {
-                query.dimensions.push(req.engine.getDimensionByName(dimensions[i]));
+                query.dimensions.push(
+                    req.engine.getDimensionByName(dimensions[i])
+                );
             }
 
             for (let i = 0; i < clauses.length; ++i) {
@@ -71,68 +86,70 @@ export class DataCtrl {
             for (let i = 0; i < sort.length; ++i) {
                 const m = query.metrics.find((item) => item.name === sort[i]);
                 if (!m) {
-                    const d = query.dimensions.find((item) => item.name === sort[i]);
+                    const d = query.dimensions.find(
+                        (item) => item.name === sort[i]
+                    );
                     if (!d) {
                         throw new Error(
-                            "The item '" +  sort[i] +
-                            "' is not present in neither metrics nor dimensions list");
-                    }
-                    else {
+                            "The item '" +
+                                sort[i] +
+                                "' is not present in neither metrics nor dimensions list"
+                        );
+                    } else {
                         query.sort.push(d);
                     }
-                }
-
-                else {
+                } else {
                     query.sort.push(m);
                 }
-
             }
             view = req.engine.query(query);
-        }
-        catch (e) {
-            const message = "Query execution failed: " +
-            "Could not construct query with the given parameters."
-            req.log.warn(message,e);
+        } catch (e) {
+            const message =
+                "Query execution failed: " +
+                "Could not construct query with the given parameters.";
+            req.log.warn(message, e);
             res.status(500).json({
                 message: message,
-                error: e.message
-             });
+                error: e.message,
+            });
             return;
         }
 
         req.adapter.getDataFromView(view, (err: Error, result: any[]) => {
             if (err) {
-                const message = "Query execution failed " +
-                "failed on execute query on database."
-                req.log.error(message,err);
+                const message =
+                    "Query execution failed " +
+                    "failed on execute query on database.";
+                req.log.error(message, err);
                 res.status(500).json({
                     message: message,
-                    error: err
-                 });
+                    error: err,
+                });
                 return;
             }
 
             if (format === "json") {
                 req.log.info("Response (json) send with success");
                 res.status(200).json(result);
-            }
-
-            else {
+            } else {
                 req.csvParser(result, format, (error: Error, csv: string) => {
                     if (error) {
-                        const message = "Error generating csv file. " +
-                        "Try json format."
-                        req.log.error(message,error);
+                        const message =
+                            "Error generating csv file. " + "Try json format.";
+                        req.log.error(message, error);
                         res.status(500).json({
                             message: message,
-                            error: error
+                            error: error,
                         });
                         return;
                     }
 
                     req.log.info("Response (csv) send with success");
                     res.setHeader("Content-Type", "text/csv");
-                    res.setHeader("Content-disposition", "attachment;filename=data.csv");
+                    res.setHeader(
+                        "Content-disposition",
+                        "attachment;filename=data.csv"
+                    );
                     res.status(200).send(csv);
                 });
             }
diff --git a/src/api/controllers/engine.ts b/src/api/controllers/engine.ts
index 998c14e3bf645e892f9bdfd8f7352d1c2bff8aa7..1a34762efaaac6fb8c03e50e0e9be682de4cc99d 100644
--- a/src/api/controllers/engine.ts
+++ b/src/api/controllers/engine.ts
@@ -19,7 +19,7 @@
  */
 
 import * as express from "express";
-import { Request } from "../types";
+import Request from "../types";
 
 /**
  * Constroller responsable for the static part from the API. In other
@@ -35,25 +35,29 @@ export class EngineCtrl {
      * @param next - Call next middleware or controller. Not used but required
      * by typescript definition of route.
      */
-    private static respondList(list: any[], fileName: string, req: Request, res: express.Response, next: express.NextFunction) {
+    private static respondList(
+        list: any[],
+        fileName: string,
+        req: Request,
+        res: express.Response,
+        next: express.NextFunction
+    ) {
         let format = "json";
         if (req.query.format) {
-            format = req.query.format;
+            format = <string>req.query.format;
         }
 
         if (format === "json") {
             req.log.info("Response (json) send with success");
             res.status(200).json(list);
-        }
-
-        else {
+        } else {
             req.csvParser(list, format, (error: Error, csv: string) => {
                 if (error) {
-                    req.log.error("Error generating csv file: ",error);
+                    req.log.error("Error generating csv file: ", error);
                     res.status(500).json({
-                        message: "Error generating csv file. " +
-                        "Try json format.",
-                        error: error
+                        message:
+                            "Error generating csv file. " + "Try json format.",
+                        error: error,
                     });
                     return;
                 }
@@ -74,8 +78,14 @@ export class EngineCtrl {
      * @param next - Call next middleware or controller. Not used but required
      * by typescript definition of route.
      */
-    public static metrics(req: Request, res: express.Response, next: express.NextFunction) {
-        const metrics = req.engine.getMetricsDescription(req.query.tags);
+    public static metrics(
+        req: Request,
+        res: express.Response,
+        next: express.NextFunction
+    ) {
+        const metrics = req.engine.getMetricsDescription(
+            <string>req.query.tags
+        );
         EngineCtrl.respondList(metrics, "metrics", req, res, next);
     }
 
@@ -86,8 +96,14 @@ export class EngineCtrl {
      * @param next - Call next middleware or controller. Not used but required
      * by typescript definition of route.
      */
-    public static dimensions(req: Request, res: express.Response, next: express.NextFunction) {
-        const dimensions = req.engine.getDimensionsDescription(req.query.tags);
+    public static dimensions(
+        req: Request,
+        res: express.Response,
+        next: express.NextFunction
+    ) {
+        const dimensions = req.engine.getDimensionsDescription(
+            <string>req.query.tags
+        );
         EngineCtrl.respondList(dimensions, "dimensions", req, res, next);
     }
 
@@ -98,7 +114,11 @@ export class EngineCtrl {
      * @param next - Call next middleware or controller. Not used but required
      * by typescript definition of route.
      */
-    public static enumTypes(req: Request, res: express.Response, next: express.NextFunction) {
+    public static enumTypes(
+        req: Request,
+        res: express.Response,
+        next: express.NextFunction
+    ) {
         const enumTypes = req.engine.getEnumTypesDescription();
         EngineCtrl.respondList(enumTypes, "enums", req, res, next);
     }
@@ -110,9 +130,13 @@ export class EngineCtrl {
      * @param next - Call next middleware or controller. Not used but required
      * by typescript definition of route.
      */
-    public static sources(req: Request, res: express.Response, next: express.NextFunction) {
-       const sources = req.engine.getSourcesDescription();
-       EngineCtrl.respondList(sources, "sources", req, res, next);
+    public static sources(
+        req: Request,
+        res: express.Response,
+        next: express.NextFunction
+    ) {
+        const sources = req.engine.getSourcesDescription();
+        EngineCtrl.respondList(sources, "sources", req, res, next);
     }
 
     /**
@@ -122,8 +146,12 @@ export class EngineCtrl {
      * @param next - Call next middleware or controller. Not used but required
      * by typescript definition of route.
      */
-    public static tags(req: Request, res: express.Response, next: express.NextFunction) {
-       const tags = req.engine.getTagsDescription();
-       EngineCtrl.respondList(tags, "tags", req, res, next);
+    public static tags(
+        req: Request,
+        res: express.Response,
+        next: express.NextFunction
+    ) {
+        const tags = req.engine.getTagsDescription();
+        EngineCtrl.respondList(tags, "tags", req, res, next);
     }
 }
diff --git a/src/api/types.ts b/src/api/types.ts
index a0fb52a912895ed41a8afa4b411481cf89ac04b1..563e21dfc937989713014a476540d247dcda5ad5 100644
--- a/src/api/types.ts
+++ b/src/api/types.ts
@@ -31,7 +31,7 @@ import { Log } from "../core/log";
  * to the Request object. To typescript compiler do not
  * return a error the extension must be made.
  */
-export interface Request extends express.Request {
+export default interface Request extends express.Request {
     /** A engine object. Represents the database in BlenDB perspective. */
     engine: Engine;
     /** A adapter object. Used to communicate with the database in use. */
diff --git a/src/common/query.ts b/src/common/query.ts
index b0d3112695e626601c20447f063fcdacda21b782..03a40234330bd3abee548c3de9cfefc59681c844 100644
--- a/src/common/query.ts
+++ b/src/common/query.ts
@@ -33,7 +33,7 @@ export interface QueryOpts {
     /** Set of clauses of the query. */
     clauses?: Clause[];
     /** List of metrics and dimensions to sort the query. */
-    sort?: (Metric|Dimension)[];
+    sort?: (Metric | Dimension)[];
 }
 
 export class Query {
@@ -44,15 +44,15 @@ export class Query {
     /** Set of clauses of the query. */
     public readonly clauses: Clause[];
     /** List of metrics and dimensions to sort the query. */
-    public readonly sort: (Metric|Dimension)[];
+    public readonly sort: (Metric | Dimension)[];
     /**
      * Create Query
      * @param opts - Parameters required to create a query.
      */
-    constructor(opts: QueryOpts){
+    constructor(opts: QueryOpts) {
         this.metrics = opts.metrics.map((i) => i);
         this.dimensions = opts.dimensions.map((i) => i);
-        this.clauses = (opts.clauses) ? opts.clauses.map((i) => i) : [];
-        this.sort = (opts.sort) ? opts.sort.map((i) => i) : [];
+        this.clauses = opts.clauses ? opts.clauses.map((i) => i) : [];
+        this.sort = opts.sort ? opts.sort.map((i) => i) : [];
     }
 }